:root{--bg:#f6f1e7;--card:#fffdf8;--ink:#2b2622;--sub:#8a7f72;--line:#e4dccb;--red:var(--acc,#b23a2e);--redt:var(--acc,#b23a2e);--sh:0 6px 20px rgba(80,60,30,.10)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1c1a17;--card:#26231f;--ink:#e8e0d2;--sub:#9a9082;--line:#3a352e;--redt:color-mix(in srgb,var(--acc) 65%,#fff);--sh:0 6px 20px rgba(0,0,0,.4)}}
:root[data-theme="dark"]{--bg:#1c1a17;--card:#26231f;--ink:#e8e0d2;--sub:#9a9082;--line:#3a352e;--redt:color-mix(in srgb,var(--acc) 65%,#fff);--sh:0 6px 20px rgba(0,0,0,.4)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);background-image:radial-gradient(circle at 20% 0,rgba(178,58,46,.06),transparent 40%);color:var(--ink);font-family:"Songti SC","Noto Serif SC","Source Han Serif SC",STSong,SimSun,serif;line-height:1.7}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:780px;margin:0 auto;padding:20px 16px 40px}.wrap.narrow{max-width:700px}.wrap.wide{max-width:1000px}
.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.brand{display:flex;align-items:center;gap:12px}
.brand b{display:block;font-size:26px;letter-spacing:6px;line-height:1.2}
.brand small{color:var(--sub);font-size:13px;letter-spacing:1px}
.seal{width:46px;height:46px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:26px;border-radius:7px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35);flex:none;transform:rotate(-3deg)}
.seal.big{width:64px;height:64px;font-size:36px;margin:0 auto 10px}
.btn{display:inline-block;border:1px solid var(--line);background:var(--card);padding:6px 14px;border-radius:9px;cursor:pointer;font-size:15px}
.btn:hover{border-color:var(--red)}.btn.red{background:var(--red);border-color:var(--red);color:#fff}
.btn.s{padding:2px 10px;font-size:13px}.btn.danger{color:#c0392b}
.sf{display:flex;gap:8px;margin-bottom:12px}
.sf input,.fl input,.fl select{flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);outline:none}
.sf input:focus,.fm input:focus,.fm textarea:focus{border-color:var(--red)}
.notice{background:var(--card);border-left:4px solid var(--red);padding:10px 14px;border-radius:6px;margin-bottom:12px;font-size:15px}
.chips,.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.chip{border:1px solid var(--line);border-radius:99px;padding:2px 14px;font-size:14px;background:var(--card)}
.chip i{font-style:normal;color:var(--sub);font-size:12px}
.chip.on{background:var(--red);border-color:var(--red);color:#fff}.chip.on i{color:#fff}
.tag{font-size:13px;color:var(--redt)}.tags.s{margin:6px 0 0;gap:4px 10px}.tag.on{font-weight:bold;text-decoration:underline}
.count{color:var(--sub);font-size:13px;margin:6px 2px 12px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:14px 18px;margin-bottom:14px;transition:.2s}
.card:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.card h2{margin:0 0 2px;font-size:20px}
em{font-style:normal;background:var(--red);color:#fff;font-size:11px;padding:0 5px;border-radius:3px;margin-right:6px;vertical-align:2px}
.meta{font-size:13px;color:var(--sub)}.meta.c{text-align:center;margin-bottom:26px}
.ex{margin:8px 0 0;font-size:15px;opacity:.85}
mark{background:rgba(178,58,46,.22);color:inherit;border-radius:2px}
.empty{text-align:center;color:var(--sub);padding:40px 0}
.pg{display:flex;gap:6px;justify-content:center;margin:24px 0;flex-wrap:wrap}
.pg a,.pg b,.pg span{min-width:34px;padding:2px 10px;text-align:center;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.pg b{background:var(--red);border-color:var(--red);color:#fff}.pg span{border:0;background:none}
.ft{text-align:center;color:var(--sub);font-size:13px;padding:20px 0 30px}.ft a{text-decoration:underline}
.bar{display:flex;gap:8px;align-items:center;position:sticky;top:0;background:var(--bg);padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:10px;z-index:2}
.grow{flex:1}
.at{font-size:30px;text-align:center;letter-spacing:3px;margin:24px 0 6px}
.read{line-height:2.05;text-align:justify}.read p{margin:0 0 .9em;text-indent:2em}
.note{margin:30px 0 16px;border-left:3px solid var(--red);background:var(--card);padding:10px 16px;font-size:15px;border-radius:0 8px 8px 0}
.pn{display:flex;justify-content:space-between;gap:12px;margin-top:30px;font-size:14px;color:var(--sub)}.pn a:hover{color:var(--redt)}
@media (max-width:520px){.at{font-size:24px}.brand b{font-size:22px}}
