/* Palette and reader layout adapted from the user's local reference. */
:root{--bg:#f8fafc;--surface:#fff;--ink:#0f172a;--muted:#526277;--line:#e2e8f0;--accent:#2563eb;--tint:#eff6ff;--read:#fff}
:root[data-theme=dark]{--bg:#111827;--surface:#1f2937;--ink:#f9fafb;--muted:#b3bdce;--line:#374151;--accent:#60a5fa;--tint:#25344e;--read:#1a202c}
:root[data-theme=sepia]{color-scheme:light;--bg:#f4ecd8;--surface:#fcf6ea;--ink:#382d1f;--muted:#746149;--line:#dfcea9;--accent:#a14d11;--tint:#ebdcb9;--read:#f8f1e3}
:root[data-theme=midnight]{color-scheme:dark;--bg:#000;--surface:#0a0a0a;--ink:#ededed;--muted:#a1a1aa;--line:#27272a;--accent:#7dd3fc;--tint:#122331;--read:#000}
button,.button{color:#fff;border-radius:8px}button.quiet,.button.quiet{color:var(--ink)}:root[data-theme=dark] button:not(.quiet),:root[data-theme=dark] .button:not(.quiet),:root[data-theme=midnight] button:not(.quiet),:root[data-theme=midnight] .button:not(.quiet){color:#0f172a}h1,h2,h3{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:-.025em}.header{position:sticky;top:0;z-index:20}.header-inner{padding:12px 24px}.brand{font-family:system-ui,sans-serif;font-size:1.15rem}.brand-mark{background:var(--accent);color:#fff;border-radius:8px}.header nav{gap:14px}.search-bar,.book-card,.book-detail,.auth-panel,.vip-gate{border-radius:12px}.catalog-heading h1{font-size:clamp(2rem,5vw,3rem)}.book-card h3{font-size:1.2rem}.book-spine{background:#1e40af;border-color:#172554}.book-card:nth-child(even) .book-spine{background:#334155;border-color:#1e293b}.tags span,.tags a{border-radius:6px}.chapter-list{border-radius:12px}.chapter-list li a:hover{background:var(--tint)}.auth-panel{margin:32px auto;box-shadow:0 8px 30px #0f172a08}.auth-panel h1{font-size:1.8rem}.auth-panel input{border-radius:8px}.member-heading{margin-bottom:28px}.member-heading h1{font-size:2.25rem;margin-bottom:12px}.member-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:24px}.member-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;margin-bottom:24px;min-width:0}.member-avatar{width:60px;height:60px;border-radius:50%;background:var(--tint);color:var(--accent);display:grid;place-items:center;font-size:24px;font-weight:750;margin-bottom:20px}.member-card .badge{margin-bottom:16px}.vip-card{border-color:var(--accent)}.vip-card h2{font-size:1.65rem;margin-bottom:16px}.benefits{padding-left:22px;line-height:2;margin-bottom:24px}.theme-options{display:flex;flex-wrap:wrap;gap:12px}.theme-options button{min-width:100px}.request-row{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:12px 0}.vip-page{max-width:680px;margin:auto}.vip-page h1{font-size:2.3rem}.vip-page textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:16px}.reader-shell{background:var(--read);padding:28px 24px 96px;border-radius:12px;max-width:816px}.chapter-heading{text-align:left;border-bottom:1px dashed var(--line);padding-bottom:24px;margin-top:20px}.chapter-heading h1{font-family:system-ui,sans-serif;font-weight:750}.reader-pages{max-width:720px;margin:24px auto;image-rendering:auto}.reader-pages img{image-rendering:auto;transform:none;max-width:100%;filter:none}:root[data-theme=dark] .reader-pages img,:root[data-theme=midnight] .reader-pages img{filter:invert(1)}.reader-controls{border:0;background:transparent;padding:0}.reading-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:30;background:var(--accent)}.reader-dock{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 25px #0002;z-index:25}.reader-dock button,.reader-dock a{font-size:14px;min-height:44px;padding:8px 16px;border-radius:999px;white-space:nowrap}.reader-dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;max-width:560px;width:calc(100% - 32px);padding:24px;max-height:80vh;overflow:auto}.reader-dialog::backdrop{background:#0f172a88}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.dialog-heading h2{margin:0}.dialog-heading button{padding:8px 12px}.reader-dialog .chapter-list a{padding:12px;font-size:15px}.reader-dialog .reader-controls{display:flex;flex-wrap:wrap}.reader-dialog .reader-controls>div{flex:1;min-width:180px}.reader-dialog .theme-options{margin-top:24px}.footer{padding-bottom:100px}
@media(max-width:600px){.shell{padding:20px 16px 48px}.header-inner{padding:10px 16px}.header nav{gap:8px;font-size:14px}.header .quiet{padding:8px;font-size:13px}.member-grid{grid-template-columns:1fr;gap:0}.member-card{padding:22px}.member-heading h1{font-size:1.8rem}.theme-options{gap:8px}.theme-options button{min-width:calc(50% - 4px)}.reader-shell{padding:16px 0 96px;border-radius:0;background:transparent}.reader-pages{width:100%;max-width:100%;margin-left:0}.chapter-heading{padding:0 0 24px}.chapter-heading h1{font-size:1.8rem}.reader-dock{bottom:calc(12px + env(safe-area-inset-bottom));gap:4px;padding:6px 8px;max-width:calc(100% - 16px)}.reader-dock button,.reader-dock a{padding:8px 12px;font-size:13px}.vip-page h1{font-size:2rem}.reader-nav{font-size:13px}.reader-nav .button{padding:10px}.request-row{font-size:14px}}

.reader-skeleton {padding: 24px 0; opacity: .35;}
.reader-skeleton span {display:block; height:14px; margin:0 0 22px; border-radius:6px; background:var(--muted, #8b96a7);}
.reader-skeleton span:nth-child(3n) {width:82%;}
.reader-skeleton span:last-child {width:64%;}

.vip-summary{margin:24px 0;border:1px solid var(--accent);border-radius:12px;background:var(--surface);overflow:hidden}
.vip-summary summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:16px;cursor:pointer;font-weight:650;list-style:none}
.vip-summary summary::-webkit-details-marker{display:none}
.vip-summary summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.vip-summary summary .badge{flex-shrink:0}
.summary-toggle{margin-left:auto;font-size:24px;line-height:1}
.vip-summary[open] .summary-toggle{transform:rotate(45deg)}
.vip-summary-content{border-top:1px solid var(--line);padding:16px;line-height:1.8;overflow-wrap:anywhere}
.vip-summary-content p:last-child{margin-bottom:0}
.ad-slot{margin:24px auto;padding:24px;max-width:720px;min-height:100px;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted);background:var(--surface)}

.brand .brand-mark{display:block;width:40px;height:40px;flex-shrink:0;background:transparent;border-radius:10px}
/* Reading preferences are confined to the chapter panel and its dialogs. */
.reader-shell{color:var(--ink)}
:root[data-reading-theme=dark] .reader-shell{color-scheme:dark;--bg:#111827;--surface:#1f2937;--ink:#f9fafb;--muted:#b3bdce;--line:#374151;--accent:#60a5fa;--tint:#25344e;--read:#1a202c;background:var(--read)}
:root[data-reading-theme=sepia] .reader-shell{color-scheme:light;--bg:#f4ecd8;--surface:#fcf6ea;--ink:#382d1f;--muted:#746149;--line:#dfcea9;--accent:#a14d11;--tint:#ebdcb9;--read:#f8f1e3;background:var(--read)}
:root[data-reading-theme=midnight] .reader-shell{color-scheme:dark;--bg:#000;--surface:#0a0a0a;--ink:#ededed;--muted:#a1a1aa;--line:#27272a;--accent:#7dd3fc;--tint:#122331;--read:#000;background:var(--read)}
:root[data-reading-theme=dark] .reader-shell .reader-pages img,:root[data-reading-theme=midnight] .reader-shell .reader-pages img{filter:invert(1)}
:root[data-reading-theme=dark] .reader-shell button:not(.quiet),:root[data-reading-theme=dark] .reader-shell .button:not(.quiet),:root[data-reading-theme=midnight] .reader-shell button:not(.quiet),:root[data-reading-theme=midnight] .reader-shell .button:not(.quiet){color:#0f172a}
.theme-options [aria-pressed=true]{border-color:var(--accent);background:var(--tint)}
.brand-mark img{display:block;width:100%;height:100%}
.brand-wordmark{display:grid;gap:4px;font-size:1.2rem;font-weight:750;line-height:1.1;letter-spacing:-.025em}
.brand-wordmark small{font-size:.6rem;font-weight:550;line-height:1;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.footer a{font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
@media(max-width:380px){.header nav{gap:6px;font-size:13px}.header .quiet{padding:8px 6px;font-size:12px}}
