/* The reader and its contents share a paper palette; settings remain dark. */
.reader,.toc-dialog{--paper:#eddfc4;--reader-ink:#433727;--reader-muted:#796548;--reader-soft:#8b7552;--reader-rule:#9c805b40;--reader-accent:#9b743d;--reader-hover:#9e7b4910;--reader-selected:#d4bd8b55;--reader-toolbar:#eddfc4;--reader-shadow:#211a1355}
[data-paper="plain"]{--paper:#f5f0e5;--reader-ink:#40392e;--reader-muted:#766b59;--reader-soft:#8a7d67;--reader-rule:#9c8e7040;--reader-accent:#9b7b49;--reader-hover:#99866b10;--reader-selected:#d6cbb74d;--reader-toolbar:#f5f0e5}
[data-paper="night"]{--paper:#211b18;--reader-ink:#d9cbb6;--reader-muted:#b6a38a;--reader-soft:#aa9373;--reader-rule:#bba38128;--reader-accent:#c9ac72;--reader-hover:#cfb3800b;--reader-selected:#6f543943;--reader-toolbar:#211b18;--reader-shadow:#0009;color-scheme:dark}
.reader{background:var(--paper);color:var(--reader-ink)}
.reader-toolbar,.reader-bottom{background:var(--reader-toolbar);border-color:var(--reader-rule)}
.reader .reader-tool,.toc-dialog .reader-tool{color:var(--reader-muted)}
.reader-tool svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.reader .reader-tool:hover,.toc-dialog .reader-tool:hover{background:var(--reader-hover);border-color:var(--reader-rule)}
.reader-book h1{color:var(--reader-ink)}.reader-book>span{color:var(--reader-soft)}
.reader-scroll,.toc-list{scrollbar-color:var(--reader-soft) var(--paper)}
.chapter-volume,.chapter-heading>p:last-child{color:var(--reader-muted)}
.chapter-ornament{color:var(--reader-accent)}.chapter-heading,.chapter-navigation{border-color:var(--reader-rule)}
.chapter-navigation button{color:var(--reader-ink)}.chapter-navigation small,.reader-colophon{color:var(--reader-muted)}
.chapter-navigation button:hover{background:var(--reader-hover)}
.reader-progress{width:210px;text-align:right;color:var(--reader-muted)}.progress-track{background:var(--reader-rule)}.progress-track i{background:var(--reader-accent)}
.reader-toc-trigger{margin-left:-12px;min-width:80px;justify-content:flex-start}
.reader button:focus-visible,.toc-dialog button:focus-visible{outline-color:var(--reader-accent)}
.reader button:active,.toc-dialog button:active{background-color:var(--reader-hover)}
.reader-status,.book-end,.book-end small{color:var(--reader-muted)}.book-end>span{color:var(--reader-accent)}
.toc-dialog{background:var(--paper);color:var(--reader-ink);border-color:var(--reader-rule);box-shadow:0 18px 90px var(--reader-shadow)}
.toc-header,.toc-note,.toc-group h3{border-color:var(--reader-rule)}.toc-header p,.toc-group h3,.toc-note{color:var(--reader-soft)}.toc-group button{color:var(--reader-ink)}.toc-group button>span{color:var(--reader-soft)}.toc-group button:hover{background:var(--reader-hover)}.toc-group button[aria-current]{color:var(--reader-ink);background:var(--reader-selected);box-shadow:inset 2px 0 var(--reader-accent)}
.reader[data-paper="night"]:before{opacity:.06}.reader[data-paper="night"] ::selection{color:#f5e8d3;background:#ac8b5460}

.reading-settings{position:fixed;inset:0 0 0 auto;margin:0;width:min(420px,88vw);max-width:none;height:100dvh;max-height:none;padding:0 30px;padding-top:max(30px,env(safe-area-inset-top));border:0;border-left:1px solid #9e8a6b3d;border-radius:0;background:#211a17;color:#e4d9c7;box-shadow:-18px 0 65px #0003;color-scheme:dark;overflow-y:auto;overscroll-behavior:contain}
.reading-settings::backdrop{background:#08070699;backdrop-filter:blur(3px)}
.reading-settings[open]{animation:settings-arrive .24s var(--ease)}
.settings-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:27px;border-bottom:1px solid #a793752d;margin-bottom:32px}
.settings-header p{font:12px system-ui,sans-serif;letter-spacing:.27em;color:#bca370;margin:1px 0 12px}
.settings-header h2{font-size:27px;font-weight:400;letter-spacing:.035em;line-height:1.5}
.settings-header>button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;margin:-9px -10px 0 0;background:transparent;color:#b6a898;font:32px Georgia,serif;border-radius:3px}
.settings-header>button:hover{color:#f0e0c4;background:#cfb68b0c}
.settings-group{border:0;margin:0 0 34px;padding:0;min-width:0}
.settings-group legend{padding:0;margin-bottom:17px;color:#ac9e8c;font-size:17px;line-height:1.5}
.size-options{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border:1px solid #a793752d;border-radius:13px}
.size-options button{min-height:48px;border-radius:10px;background:transparent;color:#b4a898;font-size:18px;transition:background .15s,color .15s}
.size-options button[aria-pressed="true"]{background:#3b2e25;color:#f3e5cf}
.paper-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.paper-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:93px;padding:12px 5px;border:1px solid #a7937536;border-radius:10px;background:transparent;color:#b4a898;font-size:13px}
.paper-options button[aria-pressed="true"]{border-color:#c5aa74;color:#efe2ca;box-shadow:inset 0 0 0 1px #c5aa7410}
.paper-swatch{display:block;width:33px;height:33px;border-radius:50%;box-shadow:inset 0 0 0 1px #00000012}
.swatch-plain{background:#f5f0e5}.swatch-antique{background:#eddfc4}.swatch-night{background:#25201c;box-shadow:inset 0 0 0 1px #ffffff06}
.reading-settings button:focus-visible{outline:2px solid #d7bc83;outline-offset:3px}.size-options button:hover,.paper-options button:hover{background:#cfb68b0c}.size-options button[aria-pressed="true"]:hover{background:#403127}
@keyframes settings-arrive{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:700px){.reader-progress{width:178px;font-size:11px}.reader-bottom{padding-right:23px}.reading-settings{padding-left:25px;padding-right:25px;padding-top:max(27px,env(safe-area-inset-top))}.settings-header{padding-bottom:26px;margin-bottom:30px}.settings-header h2{font-size:25px}.settings-group{margin-bottom:32px}.settings-group legend{font-size:16px}.size-options button{min-height:45px}.paper-options{gap:8px}.paper-options button{min-height:83px}.paper-swatch{width:31px;height:31px}}
@media(max-width:360px){.reading-settings{padding-left:21px;padding-right:21px}.settings-header h2{font-size:24px}.paper-options{gap:7px}.paper-options button{font-size:12px}.reader-progress{width:162px;font-size:10px}.reader-bottom{padding-right:19px}}
@media(prefers-reduced-motion:reduce){.reading-settings[open]{animation:none}.size-options button{transition:none}}
.no-motion .reading-settings[open]{animation:none}
