
:root{--bg:#f4efe4;--paper:#fffaf0;--ink:#34342e;--muted:#847d6f;--line:#e5dccc;--accent:#956a42;--size:19px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Serif SC","Songti SC","SimSun",serif}
body.dark{--bg:#171b20;--paper:#22272d;--ink:#d9d5ca;--muted:#9ba1a3;--line:#3c4349;--accent:#d1a97a}
button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 900px)/2));border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}
.brand{font-size:17px;font-weight:700;letter-spacing:.14em}.header-actions{display:flex;gap:8px}
.btn{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:8px 12px}
.btn:hover{border-color:var(--accent)}main{max-width:760px;margin:auto;padding:35px 22px 100px}
.hero{text-align:center;padding:48px 0 42px}.eyebrow{font:12px system-ui;color:var(--accent);letter-spacing:.3em}
h1{font-size:clamp(40px,8vw,68px);margin:14px 0;font-weight:600;letter-spacing:.15em}
.tagline{color:var(--muted);font-size:15px;line-height:2}
.rule{height:1px;background:var(--line);margin:25px 0}
h2{font-size:22px;font-weight:600}.chapter-list{display:grid;gap:10px}
.chapter-item{display:flex;justify-content:space-between;align-items:center;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:17px 20px;color:var(--ink);width:100%;font-size:17px}
.chapter-item span:last-child{color:var(--accent)}.chapter-item:hover{border-color:var(--accent)}
.reader{display:none}.reader.on{display:block}.home.hidden{display:none}
.reader-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted);font:13px system-ui;margin-bottom:38px}
.reader h2{text-align:center;font-size:clamp(24px,5vw,34px);margin-bottom:45px;line-height:1.5}
.prose{font-size:var(--size);line-height:2.12;letter-spacing:.025em;overflow-wrap:anywhere}
.prose p{margin:0 0 1.1em;text-indent:2em}.reader-nav{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:30px;margin-top:48px}
.reader-nav button{flex:1}.settings{display:none;position:fixed;right:16px;top:72px;z-index:8;background:var(--paper);padding:18px;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #0002;width:min(300px,calc(100vw - 32px))}
.settings.on{display:block}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}
footer{text-align:center;color:var(--muted);font:12px system-ui;padding:35px 10px;border-top:1px solid var(--line)}
@media(max-width:550px){header{height:58px;padding:0 12px}.brand{font-size:15px}.btn{padding:8px 9px;font-size:13px}main{padding:20px 20px 80px}.hero{padding:38px 0}.prose{line-height:2.0}}
