:root{--ink:#2b2a26;--muted:#7a766c;--bg:#f8f5ef;--paper:#fffdf8;--line:#e4ddd0;--accent:#8c2f24;--code:1rem}
*{box-sizing:border-box}
body{margin:0;font-family:"Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;background:var(--bg);color:var(--ink);line-height:1.9}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
.site-head{background:var(--paper);border-bottom:1px solid var(--line);padding:28px 0 18px;margin-bottom:26px}
.site-head h1{margin:0;font-size:1.6em;letter-spacing:.1em}
.site-head .tagline{margin:.3em 0 0;color:var(--muted);font-size:.95em}
.site-head.slim{padding:14px 0;margin-bottom:14px}.site-head.slim p{margin:0;font-size:.92em}
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.book-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:20px;color:inherit}
.book-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px);transition:.15s}
.book-title{font-size:1.35em;font-weight:700;letter-spacing:.06em}
.book-sub{color:var(--muted);font-size:.88em;margin:4px 0 10px}
.book-intro{font-size:.9em;color:#55524a;line-height:1.7}
.book-meta{margin-top:10px;font-size:.85em;color:var(--accent)}
.book-page h1,.chapter-page h1{letter-spacing:.05em}
.intro{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px 18px;font-size:.95em}
.toc-box{margin-top:20px}
.toc-box summary{cursor:pointer;font-weight:700;padding:6px 0}
.toc{columns:2;column-gap:40px;padding-left:22px;font-size:.95em;list-style-position:inside}
.toc li{margin:3px 0;break-inside:avoid}
.chapter-page{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:26px 30px 34px;margin:14px auto 40px}
.reader-bar{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.reader-bar button{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:3px 12px;cursor:pointer;font-size:.9em;color:var(--ink)}
.reader-bar button:hover{border-color:var(--accent)}
.progress{margin-left:auto;color:var(--muted);font-size:.85em}
.stale-flag{font-size:.8em;color:var(--accent);border:1px dashed var(--accent);border-radius:4px;padding:1px 8px}
.ch-title{text-align:center;font-size:1.3em;margin:14px 0 26px}
#ch-content{font-size:var(--code)}
#ch-content p{margin:0 0 1.1em;text-indent:2em}
#ch-content p.dia{text-indent:0;padding-left:2em}
.ch-nav{display:flex;justify-content:space-between;margin-top:30px;border-top:1px solid var(--line);padding-top:16px}
.ch-nav a.disabled{color:var(--muted);pointer-events:none}
.site-footer{border-top:1px solid var(--line);margin-top:30px;padding:20px 0 40px;color:var(--muted);font-size:.85em}
body.dark{--ink:#c9c4b8;--muted:#8a8578;--bg:#171512;--paper:#201d19;--line:#3a352c;--accent:#d0836f}
body.dark a{color:var(--accent)}
@media(max-width:640px){.toc{columns:1}.chapter-page{padding:18px 16px 26px}}
@media print{.no-print,.site-footer{display:none}body{background:#fff}}
.toc li.read > a{font-weight:700}
.last-read{font-size:.78em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:0 6px;margin-left:6px}
/* 搜索 */
.head-search{margin-top:10px;display:flex;gap:6px;max-width:340px}
.head-search input{flex:1;padding:6px 10px;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--bg);color:var(--ink)}
.head-search button{padding:6px 14px;border:1px solid var(--line);border-radius:6px;background:var(--paper);cursor:pointer;font:inherit}
.search-form{display:flex;gap:8px;margin:10px 0 16px}
.search-form input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--paper);color:var(--ink)}
.search-form button{padding:10px 22px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;font:inherit}
.search-note{color:var(--muted);font-size:.85em}
.search-count{font-weight:700;margin:14px 0 8px}
.search-results{list-style:none;padding:0}
.search-results li{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:10px 0}
.search-results .r-book{color:var(--muted);font-size:.88em}
.r-snippet{margin-top:6px;font-size:.9em;color:#55524a}
mark{background:#ffe9a8;padding:0 2px}
body.dark mark{background:#5a4a1e;color:inherit}
/* 分类 */
.cat-section{margin:26px 0}
.cat-title{font-size:1.15em;letter-spacing:.08em;border-left:4px solid var(--accent);padding-left:10px}
.cat-title a{color:inherit;text-decoration:none}
