:root{--bg:#15110f;--panel:#211a16;--text:#eee;--muted:#aaa;--line:#3a302a;--accent:#d89b61;--reader-size:20px}
html[data-theme="light"]{--bg:#f6f1e8;--panel:#fff;--text:#26211d;--muted:#6d655e;--line:#d7cfc4;--accent:#8c4e24}
html[data-theme="sepia"]{--bg:#f0e2c6;--panel:#f8ecd3;--text:#3b2c20;--muted:#756251;--line:#cfb994;--accent:#8b4b24}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Georgia,"Times New Roman",serif;line-height:1.8}.topbar{position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid var(--line);padding:10px 16px}.topbar-inner{max-width:900px;margin:auto;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.topbar a,.tool{color:var(--accent);text-decoration:none;background:none;border:1px solid var(--line);border-radius:6px;padding:6px 10px;cursor:pointer}.book-name{margin-right:auto;font-weight:bold}.progress-track{position:fixed;top:0;left:0;right:0;height:4px;z-index:40}.progress-fill{height:100%;width:0;background:var(--accent)}.reader{max-width:760px;margin:auto;padding:48px 24px 80px}.chapter-number{text-align:center;text-transform:uppercase;letter-spacing:3px;font:13px Arial,sans-serif;color:var(--muted)}h1{text-align:center;font-size:38px;line-height:1.2;margin:10px 0 45px}.chapter-content{font-size:var(--reader-size)}.chapter-content p{margin:0 0 1.35em}.chapter-content img{max-width:100%;height:auto}.locked,.end-card,.notice{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:10px;text-align:center}.chapter-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:55px;padding-top:24px}.chapter-nav a,.end-card a{color:var(--accent);text-decoration:none}.next{text-align:right;margin-left:auto}.locked-note{color:var(--muted)}.percent{font:12px Arial,sans-serif;color:var(--muted);margin-left:auto}@media(max-width:600px){.reader{padding:32px 18px 60px}h1{font-size:30px}.chapter-content{font-size:calc(var(--reader-size) - 2px)}.chapter-nav{flex-direction:column}.next{text-align:left;margin-left:0}.topbar-inner{gap:6px}.tool,.topbar a{padding:5px 8px}}
