:root { color-scheme: light; --ink:#222; --muted:#667085; --line:#d9dee7; --bg:#faf9f6; --paper:#fffdf8; --accent:#1f6feb; }
* { box-sizing: border-box; }
body { margin:0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); background:var(--bg); line-height:1.72; }
.topbar { position:sticky; top:0; z-index:5; display:flex; gap:14px; align-items:center; padding:12px 18px; background:rgba(250,249,246,.94); border-bottom:1px solid var(--line); backdrop-filter: blur(8px); }
.topbar a, .topbar button { color:var(--ink); text-decoration:none; border:1px solid var(--line); background:var(--paper); border-radius:6px; padding:6px 10px; font-size:14px; }
.reader { max-width: 880px; margin:0 auto; padding:32px 22px 72px; background:var(--paper); min-height:100vh; }
h1 { font-size:32px; line-height:1.25; margin:14px 0 28px; }
h2 { font-size:24px; margin:34px 0 14px; border-top:1px solid var(--line); padding-top:22px; }
h3 { font-size:19px; margin:26px 0 10px; }
p, li { font-size:17px; }
blockquote { margin:18px 0; padding:10px 14px; color:var(--muted); border-left:4px solid var(--accent); background:#f5f8ff; }
table { width:100%; border-collapse:collapse; margin:22px 0; font-size:14px; display:block; overflow-x:auto; }
th, td { border:1px solid var(--line); padding:8px 10px; vertical-align:top; }
th { background:#f3f6fa; text-align:left; }
.toc-list { display:grid; gap:10px; padding:0; list-style:none; }
.toc-list a { display:block; padding:12px 14px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); text-decoration:none; }
.chapter-nav { display:flex; justify-content:space-between; gap:12px; margin-top:44px; padding-top:22px; border-top:1px solid var(--line); }
.chapter-nav a { color:var(--accent); text-decoration:none; }
.progress-note { color:var(--muted); font-size:14px; }
@media (max-width: 640px) { .reader { padding:24px 16px 60px; } h1 { font-size:26px; } h2 { font-size:21px; } p, li { font-size:16px; } }
