:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14120f;--bg-raise:#1e1a16;--ink:#f4efe6;--muted:#b7ab9c;--faint:#8c8174;--line:#f4efe61f;--accent:#e07a5f;--reading-size:19px;--shadow:0 18px 50px #00000047;background:var(--bg);color:var(--ink);font-family:Outfit,sans-serif}:root[data-theme=paper]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4efe6;--bg-raise:#fffaf3;--ink:#2a241c;--muted:#5e554b;--faint:#7a7066;--line:#2a241c1f;--shadow:0 18px 40px #46301c1f}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(900px 420px at 10% -10%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 60%), var(--bg);margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}.shelf{width:min(1080px,100% - 32px);padding:36px 0 calc(64px + env(safe-area-inset-bottom));margin:0 auto}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem}.shelf-head h1,.reader h1{letter-spacing:-.03em;margin:0;font-family:Fraunces,serif;font-weight:560}.shelf-head h1{font-size:clamp(2.6rem,6vw,4.6rem)}.home-tools,.series-head,.offline-status,.continue-card{align-items:center;gap:12px;display:flex}.home-tools{flex-wrap:wrap;margin-top:14px}.home-tools .mode-switch{margin-top:0}.back-link{color:var(--muted);background:0 0;border:0;align-items:center;gap:4px;margin-bottom:12px;padding:0;display:inline-flex}.series-credit{max-width:42rem;color:var(--muted);margin:8px 0 0}.shelf-list{gap:18px;margin-top:26px;display:grid}.series-board{border:1px solid var(--line);background:var(--bg-raise);border-radius:22px;gap:14px;padding:14px;display:grid}.series-open{text-align:left;background:0 0;border:0;gap:14px;width:100%;padding:0;display:grid}.cover-row{width:min(100%, calc(var(--covers,4) * 112px + (var(--covers,4) - 1) * 8px));grid-template-columns:repeat(var(--covers,4), minmax(0, 1fr));border-bottom:8px solid color-mix(in srgb, var(--ink) 14%, var(--bg));border-radius:0 0 6px 6px;align-items:end;gap:8px;padding:4px 4px 12px;display:grid}.cover-row img{aspect-ratio:2/3;object-fit:cover;border-radius:8px 8px 2px 2px;width:100%;box-shadow:0 8px 16px #00000047}.series-copy{gap:2px;min-width:0;display:grid}.series-copy h2{margin:0;font-family:Fraunces,serif;font-size:clamp(1.35rem,4.4vw,2rem);line-height:1.15}.series-copy p,.series-copy small{color:var(--muted);margin:0}.series-copy small{font-size:.85rem}.series-board .offline-status{margin:0}.bookmark-link,.offline-status button{border:1px solid var(--line);background:var(--bg-raise);border-radius:999px;padding:8px 14px}.bookmark-link{align-items:center;gap:8px;display:inline-flex}.continue-card{text-align:left;border:1px solid var(--line);background:var(--bg-raise);border-radius:18px;gap:2px;width:min(640px,100%);margin:22px 0 8px;padding:16px 18px;display:grid}.continue-card span{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}.continue-card strong{font-family:Fraunces,serif;font-size:1.4rem}.continue-card em{font-style:normal}.continue-card small,.series-head p{color:var(--muted)}.series-shelf{margin-top:36px}.series-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.series-head h2{margin:0;font-family:Fraunces,serif;font-size:clamp(1.6rem,3vw,2.2rem)}.series-head p,.offline-status{margin:4px 0 0}.offline-status{color:var(--muted);font-size:.85rem}.credit,.fine,.player-note,.status-copy{color:var(--muted);line-height:1.5}.shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.book-card{text-align:left;background:var(--bg-raise);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:0;overflow:hidden}.book-card img{aspect-ratio:2/3;object-fit:cover;width:100%}.badge{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:10px 10px 0;font-size:.72rem;display:inline-block}.card-body{gap:6px;padding:8px 10px 12px;display:grid}.card-body h2{margin:0;font-size:1.05rem}.card-body p,.meta{color:var(--muted);margin:0}.card-body p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.meta{font-size:.8rem}.progress{background:var(--line);border-radius:99px;height:4px;display:block;overflow:hidden}.progress span{background:var(--accent);height:100%;display:block}.mode-switch{border:1px solid var(--line);background:var(--bg-raise);border-radius:999px;gap:6px;margin-top:18px;padding:4px;display:inline-flex}.mode-switch button{background:0 0;border:0;border-radius:999px;padding:8px 16px}.mode-switch button.current,.topbar button.mode-on{background:var(--accent);color:#1a120f}.app-shell{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid;overflow:hidden}.topbar{z-index:2;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex;position:sticky;top:0}.topbar button,.drawer header button,.choice-grid button,.choice-row button{border:1px solid var(--line);background:var(--bg-raise);border-radius:999px}.topbar button,.drawer header button{flex:none;place-items:center;width:38px;height:38px;display:grid}.topbar-title{flex:1;min-width:0;display:grid}.topbar-title strong,.topbar-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-title span{color:var(--muted);font-size:.82rem}.reader{min-height:0;padding:16px 16px 8px;overflow:auto}.reader article{width:min(680px,100%);margin:0 auto 24px}.reader h1{margin:4px 0 14px;font-size:clamp(1.6rem,5.4vw,2.35rem);line-height:1.15}.prose,.heading{font-family:Literata,serif;font-size:var(--reading-size);border-radius:12px;margin:0 0 .95em;padding:2px 32px 2px 8px;line-height:1.7;position:relative}.para-mark{width:32px;height:32px;color:var(--faint);opacity:0;pointer-events:none;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:2px;right:0}.prose:hover .para-mark,.heading:hover .para-mark,.speaking .para-mark,.in-view .para-mark,.bookmarked .para-mark{opacity:1;pointer-events:auto}.bookmarked .para-mark{color:var(--accent)}.section-marks{gap:6px;margin:4px 0 12px;padding:0 0 0 12px;list-style:none;display:grid}.section-marks .mark-row button:first-child span{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.heading{font-family:Fraunces,serif;font-size:1.25rem}.speaking{background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:inset 3px 0 0 var(--accent)}.inline-art,.gallery{gap:12px;margin:8px 0 22px;display:grid}.inline-art img,.gallery img{background:var(--bg-raise);border-radius:16px;width:100%}.inline-art img{object-fit:contain;max-height:280px}.follow{background:var(--accent);color:#1a120f;border:0;border-radius:999px;padding:10px 14px;font-weight:600;position:sticky;bottom:12px}.player{padding:8px 14px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg-raise) 94%, transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:6px;display:grid;position:sticky;bottom:0}.player-top,.player-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.player-top p{margin:0;font-size:.92rem;font-weight:600}.player-top span,.player-note{color:var(--muted);font-size:.85rem}.player-note,.text-button{margin:0}.player-controls button{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.player-controls .play{background:var(--accent);color:#1a120f;border:0}.player-controls button:disabled{opacity:.4}.rate{text-align:right;min-width:48px;color:var(--muted)}.scrub{width:100%;accent-color:var(--accent)}.text-button{color:var(--accent);background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.drawer-backdrop{z-index:5;background:#00000073;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--bg);width:min(420px,100%);height:100%;box-shadow:var(--shadow);padding:18px 16px 32px;overflow:auto}.drawer header,.choice-row{align-items:center;gap:8px;display:flex}.drawer header{justify-content:space-between}.drawer h2,.drawer h3{font-family:Fraunces,serif}.drawer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mark-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.drawer .mark-row .text-button{width:auto;color:var(--muted);border-radius:999px;padding:8px 12px}.drawer li button,.choice-grid button{text-align:left;border-radius:14px;gap:4px;width:100%;padding:12px;display:grid}.drawer li button.current,.choice-grid button.current,.choice-row button.current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.drawer small,.choice-grid small{color:var(--muted)}.choice-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice-row{flex-wrap:wrap;margin-bottom:8px}.choice-row button{padding:8px 12px}.settings .fine{margin-top:18px}.sign-out{margin-top:22px}.sign-in{flex-direction:column;justify-content:center;max-width:420px;min-height:100dvh;display:flex}.sign-in form{gap:12px;margin-top:28px;display:grid}.sign-in label{color:var(--muted);gap:6px;font-size:.9rem;display:grid}.sign-in input{border:1px solid var(--line);background:var(--bg-raise);border-radius:14px;padding:14px 16px;font-size:1.05rem}.sign-in button[type=submit]{background:var(--accent);color:#1a120f;border:0;border-radius:999px;padding:12px 18px;font-weight:600}.sign-in button[type=submit]:disabled{opacity:.6}.sign-error{color:#e07a5f;margin:0}.sign-in .fine{margin-top:22px}.slider{gap:6px;margin-bottom:12px;display:grid}@media (width<=640px){.shelf{width:min(1080px,100% - 20px);padding-top:20px}.shelf-head h1{font-size:2rem}.topbar{gap:6px;padding-left:8px;padding-right:8px}.topbar button{width:34px;height:34px}.continue-card strong{font-size:1.2rem}}@media (width>=760px){.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.card-body{padding:8px 14px 16px}.card-body h2{font-size:1.25rem}.cover-row{grid-template-columns:repeat(var(--covers,4), 112px);justify-content:start}.series-open{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:18px}.series-board .offline-status{justify-content:flex-end}}
