._page_n5c0i_4{max-width:880px;font-family:var(--font-serif);color:var(--ink);margin:0 auto;padding:32px 24px 96px}._muted_n5c0i_12{color:var(--ink-3);text-align:center;padding:60px 0;font-style:italic}._error_n5c0i_18{background:color-mix(in oklab, var(--accent-soft), white 40%);border:1px solid color-mix(in oklab, var(--accent), red 40%);border-radius:var(--radius-sm);color:var(--ink);padding:16px}._sectionLabel_n5c0i_27{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:11px;font-weight:500;display:block}._header_n5c0i_39{border-bottom:1px solid var(--rule);grid-template-columns:140px 1fr;align-items:start;gap:28px;margin-bottom:40px;padding-bottom:28px;display:grid}@media (width<=640px){._header_n5c0i_39{grid-template-columns:1fr;gap:20px}._coverWrap_n5c0i_53{max-width:160px}}._coverWrap_n5c0i_53{width:100%}._headInfo_n5c0i_57{flex-direction:column;gap:6px;display:flex}._eyebrow_n5c0i_59{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500;text-decoration:none}a._eyebrow_n5c0i_59:hover{color:var(--accent)}._title_n5c0i_70{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:4px 0 0;font-size:38px;font-style:italic;font-weight:400;line-height:1.1}._subline_n5c0i_80{font-family:var(--font-sans);color:var(--ink-3);margin-top:6px;font-size:13px}._progressTrack_n5c0i_87{background:var(--rule-soft,var(--rule));border-radius:999px;height:4px;margin:14px 0 16px;overflow:hidden}._progressFill_n5c0i_94{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}._ctaRow_n5c0i_101{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}._cta_n5c0i_101{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);font-family:var(--font-sans);letter-spacing:-.005em;padding:9px 18px;font-size:13px;font-weight:500;text-decoration:none;transition:filter .15s;display:inline-block}._cta_n5c0i_101:hover{filter:brightness(.95);color:var(--accent-ink)}._pillPaused_n5c0i_123,._pillDone_n5c0i_123{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:11px}._pillPaused_n5c0i_123{background:var(--bg-warm);color:var(--ink-3)}._pillDone_n5c0i_123{color:#1f6433;background:oklab(91.0553% -.0228612 .0137309)}._dates_n5c0i_140{font-family:var(--font-sans);color:var(--ink-3);font-size:12px}._sep_n5c0i_145{color:var(--ink-4);margin:0 8px}._explore_n5c0i_148{margin-bottom:40px}._exploreGrid_n5c0i_151{grid-template-columns:1fr 1fr;gap:18px;margin-top:12px;display:grid}@media (width<=640px){._exploreGrid_n5c0i_151{grid-template-columns:1fr}}._exploreCard_n5c0i_160{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);color:inherit;grid-template-columns:96px 1fr;gap:14px;padding:14px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}._exploreCard_n5c0i_160:hover{border-color:var(--accent);transform:translateY(-1px)}._exploreThumb_n5c0i_176{background:var(--bg-warm);border-radius:var(--radius-sm);width:96px;height:96px;overflow:hidden}._exploreThumb_n5c0i_176 img{object-fit:cover;width:100%;height:100%;display:block}._exploreInitials_n5c0i_189{background:var(--bg-warm);border-radius:var(--radius-sm);width:96px;height:96px;font-family:var(--font-display);color:var(--ink-3);letter-spacing:-.01em;place-items:center;font-size:32px;font-style:italic;display:grid}._exploreCopy_n5c0i_202{flex-direction:column;justify-content:center;gap:4px;display:flex}._exploreCopy_n5c0i_202 h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:18px;font-style:italic;font-weight:400}._exploreCopy_n5c0i_202 p{font-family:var(--font-serif);color:var(--ink-3);margin:0;font-size:13px;font-style:italic;line-height:1.45}._exploreCta_n5c0i_224{font-family:var(--font-sans);color:var(--accent);margin-top:4px;font-size:12px;font-weight:500}._installments_n5c0i_233{flex-direction:column;gap:12px;display:flex}._list_n5c0i_238{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._row_n5c0i_246{border-bottom:1px solid var(--rule-soft,var(--rule))}._rowLink_n5c0i_249,._rowLocked_n5c0i_249{color:inherit;border-radius:var(--radius-sm);grid-template-columns:36px 88px 60px 1fr auto;align-items:center;gap:14px;padding:14px 6px;text-decoration:none;transition:background .12s;display:grid}._rowLink_n5c0i_249:hover{background:var(--bg-elev);color:inherit}._rowLocked_n5c0i_249{cursor:default}@media (width<=640px){._rowLink_n5c0i_249,._rowLocked_n5c0i_249{grid-template-columns:28px 60px 48px 1fr}._rowAction_n5c0i_267{display:none}}._rowSeq_n5c0i_270{font-family:var(--font-mono,ui-monospace, monospace);color:var(--ink-4);font-size:12px}._rowDate_n5c0i_275{font-family:var(--font-sans);letter-spacing:.04em;color:var(--ink-3);font-size:11px}._row_today_n5c0i_281 ._rowDate_n5c0i_275{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-weight:600}._row_today_n5c0i_281{background:var(--bg-warm);border-radius:var(--radius-sm)}._row_today_n5c0i_281 ._rowLink_n5c0i_249:hover{background:color-mix(in oklab, var(--bg-warm), var(--accent-soft) 20%)}._row_next_n5c0i_289 ._rowDate_n5c0i_275{color:var(--accent-2,var(--ink-2));font-weight:500}._row_future_n5c0i_290 ._rowDate_n5c0i_275{color:var(--ink-4)}._row_read_n5c0i_291 ._rowDate_n5c0i_275{color:var(--ink-3)}._thumb_n5c0i_293{border-radius:var(--radius-sm);background:var(--bg-warm);width:60px;height:60px;display:block;overflow:hidden}._thumb_n5c0i_293 img{object-fit:cover;width:100%;height:100%;display:block}._thumbEmpty_n5c0i_307{border:1px dotted var(--rule);background:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in oklab, var(--bg-warm), white 15%) 6px 7px), var(--bg-warm)}@media (width<=640px){._thumb_n5c0i_293{width:48px;height:48px}}._rowBody_n5c0i_321{flex-direction:column;gap:4px;min-width:0;display:flex}._rowTitle_n5c0i_322{font-family:var(--font-display);letter-spacing:-.005em;color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;font-size:17px;font-style:italic;font-weight:400;display:flex}._row_today_n5c0i_281 ._rowTitle_n5c0i_322{color:var(--ink);font-size:18px}._row_read_n5c0i_291 ._rowTitle_n5c0i_322{color:var(--ink-2)}._row_future_n5c0i_290 ._rowTitle_n5c0i_322{color:var(--ink-3)}._titleBlurred_n5c0i_338{filter:blur(4px);-webkit-user-select:none;user-select:none}._partLabel_n5c0i_343{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-warm);border-radius:999px;padding:1px 7px;font-size:10.5px;font-style:normal}._rowSummary_n5c0i_355{font-family:var(--font-serif);color:var(--ink-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13.5px;line-height:1.5;display:-webkit-box;overflow:hidden}._row_today_n5c0i_281 ._rowSummary_n5c0i_355{color:var(--ink-2)}._rowMeta_n5c0i_368{font-family:var(--font-sans);color:var(--ink-4);letter-spacing:-.005em;font-size:11.5px}._rowAction_n5c0i_267{font-family:var(--font-sans);text-align:right;white-space:nowrap;font-size:12.5px;font-weight:500}._actNow_n5c0i_382{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);padding:6px 12px;font-weight:500}._actAhead_n5c0i_389{color:var(--accent)}._actMuted_n5c0i_390{color:var(--ink-3);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}._actLocked_n5c0i_391{color:var(--ink-4);font-style:italic}._tier_n5c0i_394{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}._tier_hero_n5c0i_401{background:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab, var(--accent-soft), white 10%)}._tier_enriched_n5c0i_405{background:color-mix(in oklab, var(--accent), white 50%)}._tier_standard_n5c0i_408{border:1px solid var(--ink-4);background:0 0}:root,:root[data-theme=modern]{--bg:#fafaf8;--bg-elev:#fff;--bg-warm:#f5f2eb;--bg-sink:#f3f1eb;--ink:#13131a;--ink-2:#3a3a43;--ink-3:#6a6a74;--ink-4:#9a9aa2;--rule:#e5e3dd;--rule-soft:#eeece6;--rule-warm:#ddd6c5;--accent:#5b3b7a;--accent-2:#452a5d;--accent-soft:#efe8f4;--accent-ink:#fafaf8;--danger:#8a1f2e;--flame:#c9432a}:root[data-theme=paper]{--bg:#f9f5ec;--bg-elev:#fffaef;--bg-warm:#efe8d7;--bg-sink:#ece5d1;--ink:#1f1a14;--ink-2:#3b352b;--ink-3:#706857;--ink-4:#a39a85;--rule:#d9cfb7;--rule-soft:#e7dfc9;--rule-warm:#cdbf9f;--accent:#6b4a2f;--accent-2:#513820;--accent-soft:#ece0cc;--accent-ink:#f9f5ec;--danger:#8a2e2e;--flame:#b55a2a}:root[data-theme=sepia]{--bg:#f4efe4;--bg-elev:#fbf6ea;--bg-warm:#ebe3cf;--bg-sink:#e6dcc3;--ink:#1a1612;--ink-2:#3a3127;--ink-3:#6b5f4d;--ink-4:#a0927a;--rule:#d4c7a8;--rule-soft:#e0d5ba;--rule-warm:#c7b892;--accent:#8a1a1a;--accent-2:#6a1212;--accent-soft:#efd8d5;--accent-ink:#f4efe4;--danger:#8a1a1a;--flame:#c9432a}:root[data-theme=academia]{--bg:#1b1f1a;--bg-elev:#242823;--bg-warm:#2d3229;--bg-sink:#15181400;--ink:#ede3cc;--ink-2:#c7bfa5;--ink-3:#8d8876;--ink-4:#5e5a4f;--rule:#343a30;--rule-soft:#2a2e27;--rule-warm:#3d4437;--accent:#c9a14a;--accent-2:#b08a35;--accent-soft:#3a3220;--accent-ink:#1b1f1a;--danger:#d06a5b;--flame:#e48a4b}:root[data-theme=sage]{--bg:#eef0e8;--bg-elev:#f6f7f1;--bg-warm:#e2e6da;--bg-sink:#dde2d3;--ink:#1a201a;--ink-2:#36402f;--ink-3:#62695a;--ink-4:#95998b;--rule:#c9d0bf;--rule-soft:#d8ddcc;--rule-warm:#b8c0a8;--accent:#3f6b48;--accent-2:#2e5235;--accent-soft:#d4e3d3;--accent-ink:#f6f7f1;--danger:#8a2e2e;--flame:#c9432a}:root[data-theme=dark]{--bg:#0e0f12;--bg-elev:#16181c;--bg-warm:#1c1f24;--bg-sink:#0a0b0e;--ink:#e8e6e2;--ink-2:#c2c0bc;--ink-3:#8a8884;--ink-4:#5a5854;--rule:#2a2d33;--rule-soft:#1f2228;--rule-warm:#33363d;--accent:#a78bfa;--accent-2:#8b6df0;--accent-soft:#2a2440;--accent-ink:#0e0f12;--danger:#f87171;--flame:#fb923c}:root{--radius:14px;--radius-sm:8px;--radius-lg:20px;--font-serif:"Newsreader", Georgia, serif;--font-sans:"Instrument Sans", system-ui, -apple-system, sans-serif;--font-display:"Instrument Serif", Georgia, serif;--font-hyperlegible:"Atkinson Hyperlegible", system-ui, sans-serif;--font-dyslexic:"OpenDyslexic", Georgia, serif;--font-lexend:"Lexend", system-ui, -apple-system, sans-serif;--font-body:var(--font-serif);--font-ui:var(--font-sans);--shadow-sm:0 1px 2px #13131a0a;--shadow:0 1px 2px #13131a0a, 0 16px 40px -22px #13131a26;--shadow-lg:0 4px 12px #13131a0f, 0 24px 48px -20px #13131a33;--transition:.2s cubic-bezier(.2, .7, .2, 1);--transition-fast:.12s cubic-bezier(.2, .7, .2, 1);--pad-sm:16px;--pad-md:24px;--pad-lg:48px;--pad-xl:96px;--reader-col:68ch;--reader-col-wide:80ch;--max-page:1200px}:root[data-theme=academia],:root[data-theme=dark]{--shadow-sm:0 1px 2px #00000040;--shadow:0 1px 2px #00000040, 0 16px 40px -22px #0009;--shadow-lg:0 4px 12px #0000004d, 0 24px 48px -20px #000000b3}:root[data-face=hyperlegible]{--font-body:var(--font-hyperlegible)}:root[data-face=dyslexic]{--font-body:var(--font-dyslexic)}:root[data-face=lexend]{--font-body:var(--font-lexend)}:root[data-size=sm]{--reader-font-size:16px}:root[data-size=md]{--reader-font-size:18px}:root[data-size=lg]{--reader-font-size:21px}:root[data-size=xl]{--reader-font-size:24px}:root[data-size=xxl]{--reader-font-size:28px}:root[data-size=huge]{--reader-font-size:32px}:root{--reader-font-size:18px}:root[data-line=tight]{--reader-line:1.55}:root[data-line=comfort]{--reader-line:1.75}:root[data-line=loose]{--reader-line:1.95}:root[data-line=spacious]{--reader-line:2.2}:root{--reader-line:1.75;--reader-letter-spacing:normal}:root[data-char-spacing=wide]{--reader-letter-spacing:.03em}:root[data-col=wide]{--reader-col:var(--reader-col-wide)}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-height:100vh;margin:0;padding:0}body{overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-2);text-underline-offset:2px;text-decoration:underline}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}h1,h2,h3,h4,h5,h6,p,ul,ol,dl,figure{margin:0;padding:0}ul,ol{list-style:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.skip-to-content{z-index:200;background:var(--ink);color:var(--bg);font-family:var(--font-sans);border-radius:6px;padding:10px 16px;font-size:13px;text-decoration:none;transition:transform .12s;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-to-content:focus,.skip-to-content:focus-visible{color:var(--bg);outline:2px solid var(--accent);outline-offset:2px;text-decoration:none;transform:translateY(0)}.muted{color:var(--ink-3)}.muted-2{color:var(--ink-4)}.eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.page{max-width:var(--max-page);padding:var(--pad-lg) var(--pad-md);margin:0 auto}@media (width<=720px){.page{padding:32px 16px}}.page-head{margin-bottom:48px}.page-head h1{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(36px,5vw,56px);font-style:italic;font-weight:400;line-height:1.08}.page-head p{font-family:var(--font-serif);color:var(--ink-3);max-width:52ch;font-size:17px;line-height:1.5}.brand{color:var(--ink);font-family:var(--font-sans);letter-spacing:-.005em;align-items:center;gap:9px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink);text-decoration:none}.brand-mark{background:var(--ink);width:24px;height:24px;color:var(--bg);font-family:var(--font-display);border-radius:5px;place-items:center;font-size:16px;font-style:italic;line-height:1;display:grid}.btn{border:1px solid var(--rule);background:var(--bg-elev);color:var(--ink);font-family:var(--font-sans);letter-spacing:-.005em;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-4);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-accent:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--accent-ink)}.btn-ghost{border-color:var(--rule-warm);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--bg-elev)}.btn-ink{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn-ink:hover{background:var(--ink-2);color:var(--bg);border-color:var(--ink-2)}.btn-lg{padding:14px 24px;font-size:15px}.btn-sm{padding:6px 12px;font-size:12px}.btn-block{width:100%}.btn-link{color:var(--accent);font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.btn-link:hover{color:var(--accent-2);text-decoration:underline}.nav{z-index:40;background:color-mix(in oklab, var(--bg), transparent 12%);-webkit-backdrop-filter:saturate(1.1)blur(8px);border-bottom:1px solid var(--rule);position:sticky;top:0}.nav-inner{max-width:var(--max-page);align-items:center;gap:24px;margin:0 auto;padding:14px 24px;display:flex}.nav-links{align-items:center;gap:22px;margin-left:auto;display:flex}.nav-link{font-family:var(--font-sans);color:var(--ink-3);letter-spacing:-.005em;padding:6px 2px;font-size:13px;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--ink);text-decoration:none}.nav-link.active{color:var(--ink)}.nav-right{align-items:center;gap:10px;display:flex}.nav-menu{position:relative}.nav-avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);font-family:var(--font-display);border:1px solid var(--rule);cursor:pointer;border-radius:50%;place-items:center;font-size:15px;font-style:italic;display:grid}.nav-menu-panel{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow-lg);font-family:var(--font-sans);z-index:50;padding:6px;font-size:13px;position:absolute;top:calc(100% + 10px);right:0}.nav-menu-item{text-align:left;width:100%;color:var(--ink-2);border-radius:8px;padding:10px 12px;text-decoration:none;display:flex}.nav-menu-item:hover{background:var(--bg-warm);color:var(--ink);text-decoration:none}.nav-menu-divider{border-top:1px solid var(--rule-soft);margin:6px 0}.nav-menu-email{color:var(--ink-3);word-break:break-all;padding:10px 12px;font-size:12px}@media (width<=720px){.nav-inner{gap:12px;padding:12px 16px}.nav-links{gap:14px}.nav-link-extra{display:none}}.streak-pip{background:var(--bg-warm);border:1px solid var(--rule);font-family:var(--font-sans);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 7px;font-size:12px;font-weight:500;display:inline-flex}.streak-pip .flame{color:var(--flame);font-size:13px}.footer{border-top:1px solid var(--rule);background:var(--bg-warm);margin-top:120px}.footer-grid{max-width:var(--max-page);grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin:0 auto;padding:64px 24px 40px;display:grid}.footer h4{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px;font-size:11px;font-weight:500}.footer ul{flex-direction:column;gap:10px;display:flex}.footer li a{font-family:var(--font-sans);color:var(--ink-2);font-size:13px}.footer li a:hover{color:var(--ink)}.footer-blurb{font-family:var(--font-serif);color:var(--ink-3);max-width:320px;margin-top:14px;font-size:14px;line-height:1.55}.footer-bottom{max-width:var(--max-page);font-family:var(--font-sans);color:var(--ink-3);border-top:1px solid var(--rule-soft);justify-content:space-between;margin:0 auto;padding:20px 24px 40px;font-size:12px;display:flex}@media (width<=720px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px;padding:40px 16px 24px}.footer-bottom{flex-direction:column;gap:6px;padding:16px 16px 32px}}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{font-family:var(--font-sans);color:var(--ink-3);letter-spacing:.04em;font-size:12px;font-weight:500}.field input,.field select,.field textarea{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-sm);width:100%;color:var(--ink);font-family:var(--font-sans);transition:border-color var(--transition-fast);padding:12px 14px;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field-error{font-family:var(--font-sans);color:var(--danger);margin-top:8px;font-size:13px}.field-hint{font-family:var(--font-sans);color:var(--ink-3);margin-top:6px;font-size:12px}.skeleton{background:linear-gradient(90deg, var(--bg-warm) 0%, var(--bg-sink) 50%, var(--bg-warm) 100%);border-radius:var(--radius-sm);background-size:200% 100%;min-height:14px;animation:1.4s linear infinite sk-shimmer}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-wrap{z-index:100;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--ink);color:var(--bg);border-radius:var(--radius-sm);font-family:var(--font-sans);box-shadow:var(--shadow-lg);max-width:360px;padding:12px 16px;font-size:13px}.toast.error{background:var(--danger);color:#fff}.stub-wrap{text-align:center;max-width:640px;margin:120px auto;padding:0 24px}.stub-wrap h1{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:12px;font-size:44px;font-style:italic}.stub-wrap p{font-family:var(--font-serif);color:var(--ink-3);font-size:17px;line-height:1.5}.admin-nav{background:var(--bg-warm);border:1px solid var(--rule);width:fit-content;font-family:var(--font-sans);border-radius:999px;gap:4px;margin:0 0 16px;padding:8px 12px;font-size:13px;display:flex}.admin-nav-link{color:var(--ink-3);letter-spacing:-.005em;border-radius:999px;padding:5px 14px;text-decoration:none;transition:background .1s,color .1s}.admin-nav-link:hover{color:var(--ink)}.admin-nav-link.active{background:var(--ink);color:var(--bg)}.author-page{max-width:880px;margin:0 auto;padding:56px 24px 96px}.author-skeleton{text-align:center;font-family:var(--font-display);color:var(--ink-3);padding:80px 0;font-style:italic}.author-head{border-bottom:1px solid var(--rule);grid-template-columns:1fr 200px;align-items:flex-start;gap:32px;margin-bottom:40px;padding-bottom:28px;display:grid}@media (width<=720px){.author-head{grid-template-columns:1fr;gap:24px}}.author-head .eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px;font-size:11px;font-weight:500;display:block}.author-head h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(40px,6vw,64px);font-style:italic;font-weight:400;line-height:1.05}.author-meta{font-family:var(--font-sans);letter-spacing:.06em;color:var(--ink-3);align-items:center;gap:10px;margin-top:12px;font-size:12px;display:inline-flex}.author-meta .dot{background:var(--ink-3);border-radius:50%;width:3px;height:3px}.author-portrait{aspect-ratio:3/4;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--bg-warm);width:100%;margin:0;overflow:hidden}.author-portrait img{object-fit:cover;width:100%;height:100%;display:block}.author-portrait-placeholder{width:100%;height:100%;font-family:var(--font-display);color:var(--ink-4);letter-spacing:-.02em;place-items:center;font-size:clamp(48px,6vw,72px);font-style:italic;display:grid}.author-bio{flex-direction:column;gap:16px;max-width:60ch;margin:0 0 48px;display:flex}.author-bio p{font-family:var(--font-serif);color:var(--ink-2);margin:0;font-size:17px;line-height:1.65}.author-bio em{font-style:italic}.author-section{max-width:720px;margin:0 0 48px}.author-section h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0 0 18px;font-size:28px;font-style:italic;font-weight:400}.author-facts{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.author-facts li{font-family:var(--font-serif);color:var(--ink-2);background:var(--bg-warm);border-radius:var(--radius-sm);padding:14px 16px;font-size:16px;line-height:1.6}.author-works{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.author-work{border-bottom:1px dashed var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.author-work:last-child{border-bottom:0}.author-work-meta{flex-wrap:wrap;align-items:baseline;gap:12px;display:inline-flex}.author-work-meta .title{font-family:var(--font-display);color:var(--ink);font-size:18px}.author-work-meta .year{font-family:var(--font-sans);color:var(--ink-3);letter-spacing:.06em;font-size:12px}.author-work-cta{font-family:var(--font-sans);color:var(--accent);font-size:13px;text-decoration:none}.author-work-cta:hover{text-decoration:underline}.author-library-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px;display:grid}.author-library-card{color:inherit;flex-direction:column;gap:8px;text-decoration:none;display:flex}.author-library-card:hover .author-library-meta .title{color:var(--accent)}.author-library-meta{font-family:var(--font-sans);color:var(--ink-3);flex-direction:column;gap:2px;font-size:12px;display:flex}.author-library-meta .title{font-family:var(--font-display);color:var(--ink);font-size:15px;font-style:italic;line-height:1.2;transition:color .12s}.author-external-links{font-family:var(--font-sans);color:var(--ink-3);margin:24px 0 0;font-size:12px}.author-external-links a{color:var(--ink-3);text-underline-offset:3px;text-decoration:underline}.author-external-links a:hover{color:var(--accent)}.author-external-links .sep{color:var(--ink-4)}.author-back-link{font-family:var(--font-sans);margin:56px 0 0;font-size:13px}.author-back-link a{color:var(--ink-3);text-decoration:none}.author-back-link a:hover{color:var(--accent)}.auth-split{background:var(--bg);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}@media (width<=960px){.auth-split{grid-template-columns:1fr}}.auth-left{background:var(--bg-warm);flex-direction:column;justify-content:space-between;padding:40px;display:flex;position:relative}@media (width<=960px){.auth-left{min-height:auto;padding:18px 20px}.auth-left .auth-quote,.auth-left .auth-social-proof{display:none}}.auth-quote{flex-direction:column;flex:1;justify-content:center;max-width:540px;margin:0 auto;padding:80px 20px 40px;display:flex}.auth-quote .est{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:28px;font-size:11px;font-weight:500}.auth-quote blockquote{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);text-wrap:pretty;margin:0 0 32px;font-size:44px;font-style:italic;font-weight:400;line-height:1.18}@media (width<=1180px) and (width>=961px){.auth-quote blockquote{font-size:36px}}.auth-quote .attribution{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:14px;font-style:italic}.auth-social-proof{font-family:var(--font-sans);color:var(--ink-3);font-size:12px}.auth-right{background:var(--bg);justify-content:center;align-items:center;padding:48px 20px;display:flex}@media (width<=960px){.auth-right{padding:32px 20px 80px}}.auth-card-wrap{width:100%;max-width:440px}.auth-card-brand{justify-content:center;align-items:center;gap:8px;margin-bottom:28px;display:flex}@media (width<=960px){.auth-card-brand{display:none}}.auth-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 36px 32px}@media (width<=520px){.auth-card{padding:32px 24px 24px}}.auth-card h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-bottom:10px;font-size:34px;font-style:italic;font-weight:400;line-height:1.15}.auth-card .auth-sub{font-family:var(--font-serif);color:var(--ink-3);margin-bottom:28px;font-size:16px;line-height:1.5}.auth-card .auth-tab-row{border-bottom:1px solid var(--rule);margin-bottom:24px;display:flex}.auth-card .auth-tab{font-family:var(--font-sans);color:var(--ink-3);text-align:center;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:12px 0;font-size:13px;text-decoration:none}.auth-card .auth-tab.active{color:var(--ink);border-bottom-color:var(--accent)}.auth-google{border-radius:var(--radius-sm);border:1px solid var(--rule-warm);background:var(--bg);width:100%;color:var(--ink);font-family:var(--font-sans);cursor:not-allowed;opacity:.65;justify-content:center;align-items:center;gap:10px;margin-bottom:20px;padding:13px 16px;font-size:14px;font-weight:500;display:flex}.auth-google .coming-soon{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);font-size:11px}.auth-divider{color:var(--ink-4);font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:12px;margin:12px 0 20px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--rule);flex:1;height:1px}.auth-legal{font-family:var(--font-sans);color:var(--ink-4);text-align:center;margin-top:20px;font-size:12px;line-height:1.5}.auth-legal a{color:var(--ink-3);text-underline-offset:2px;text-decoration:underline}.auth-confirm{text-align:center}.auth-confirm .auth-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 20px;font-size:26px;display:grid}.auth-confirm h2{font-family:var(--font-display);color:var(--ink);margin-bottom:10px;font-size:28px;font-style:italic;font-weight:400}.auth-confirm p{font-family:var(--font-serif);color:var(--ink-3);margin-bottom:22px;font-size:15px;line-height:1.55}.auth-confirm strong{color:var(--ink);font-weight:500}.auth-resend{font-family:var(--font-sans);color:var(--ink-3);justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.auth-resend button{color:var(--accent);font-family:inherit;font-size:inherit;cursor:pointer;font-weight:500}.auth-resend button:hover{text-decoration:underline}.auth-resend button:disabled{color:var(--ink-4);cursor:not-allowed;text-decoration:none}.cover{aspect-ratio:2/3;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px #00000014, inset -8px 0 16px -8px #0000002e, var(--shadow);font-family:var(--font-display);color:var(--cover-ink,#f2e8d4);--cover-bg:#2a2a2a;--cover-ink:#f2e8d4;background:radial-gradient(ellipse at 30% 20%, #ffdca040, transparent 55%), radial-gradient(ellipse at 80% 80%, #7828288c, transparent 60%), linear-gradient(140deg, var(--cover-bg) 0%, color-mix(in oklab, var(--cover-bg) 70%, black) 100%);transition:transform var(--transition);flex-direction:column;justify-content:space-between;padding:12%;text-decoration:none;display:flex;position:relative;overflow:hidden;container-type:inline-size}.cover:hover{color:var(--cover-ink,#f2e8d4);text-decoration:none}.cover-sm{border-radius:2px;padding:10%}.cover-top,.cover-bot{flex-direction:column;gap:4px;display:flex}.cover-author{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;opacity:.78;font-size:clamp(9px,1cqw,12px)}.cover-rule{opacity:.35;background:currentColor;width:40%;height:1px;margin:6px 0}.cover-title{letter-spacing:-.01em;font-size:clamp(14px,2.1cqw,32px);font-style:italic;font-weight:500;line-height:1.05}.cover-ornament{font-family:var(--font-display);opacity:.55;align-self:flex-end;font-size:clamp(16px,2.4cqw,28px);font-style:italic}.cover[data-book=dracula]{--cover-bg:#2a0e0e;--cover-ink:#f0d68a}.cover[data-book=frankenstein]{--cover-bg:#152424;--cover-ink:#d8e8d6}.cover[data-book=moby-dick],.cover[data-book=moby]{--cover-bg:#0f2438;--cover-ink:#e6d8b8}.cover[data-book=monte-cristo],.cover[data-book=monte]{--cover-bg:#3a1f0a;--cover-ink:#f0d68a}.cover[data-book=jane-eyre]{--cover-bg:#2a1818;--cover-ink:#ead0c0}.cover[data-book=dorian-gray],.cover[data-book=dorian]{--cover-bg:#1a2e1a;--cover-ink:#e8c878}.cover[data-book=pride-prejudice],.cover[data-book=pride]{--cover-bg:#2a2438;--cover-ink:#f0e0d0}.cover[data-book=odyssey]{--cover-bg:#1a3848;--cover-ink:#f0d890}.cover[data-book=yellow-wallpaper]{--cover-bg:#4a3a18;--cover-ink:#f0e0a8}.cover[data-book=great-expectations]{--cover-bg:#1c1818;--cover-ink:#d8c8a0}a.cover,button.cover{cursor:pointer;display:flex}a.cover:hover,button.cover:hover{transform:translateY(-2px)}.book-card{color:var(--ink);cursor:pointer;flex-direction:column;gap:14px;text-decoration:none;display:flex}.book-card:hover{color:var(--ink);text-decoration:none}.book-card:hover .cover{transform:translateY(-4px)}.book-card-meta h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:21px;font-style:italic;font-weight:400;line-height:1.15}.book-card-meta .author{font-family:var(--font-sans);color:var(--ink-3);margin-top:2px;font-size:12px}.book-card-meta .author .author-link{color:var(--ink-2);cursor:pointer;text-decoration:none}.book-card-meta .author .author-link:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.book-card-stats{font-family:var(--font-sans);color:var(--ink-3);letter-spacing:-.005em;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.book-card-stats .sep{color:var(--ink-4)}.mood-tag{text-transform:capitalize;font-style:italic;font-family:var(--font-display);color:var(--accent);font-size:13px}.progress-track{background:var(--rule-soft);border-radius:999px;height:3px;overflow:hidden}.progress-fill{background:var(--ink-2);height:100%;transition:width var(--transition);border-radius:999px}.progress-fill.accent{background:var(--accent)}.current-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);cursor:pointer;transition:border-color var(--transition-fast), transform var(--transition-fast);grid-template-columns:72px 1fr;gap:18px;padding:20px;text-decoration:none;display:grid}.current-card:hover{border-color:var(--ink-4);color:var(--ink);text-decoration:none}.current-card .meta h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-style:italic;font-weight:400}.current-card .current-card-title-link{cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);border-bottom:1px dotted #0000}.current-card:hover .current-card-title-link,.current-card .current-card-title-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.current-card .meta .author{font-family:var(--font-sans);color:var(--ink-3);margin-top:2px;font-size:12px}.current-card .progress-row{flex-direction:column;gap:6px;margin-top:14px;display:flex}.current-card .progress-stat{font-family:var(--font-sans);color:var(--ink-3);justify-content:space-between;font-size:12px;display:flex}.current-card .next-line{font-family:var(--font-sans);color:var(--accent);letter-spacing:-.005em;margin-top:12px;font-size:12px}.streak-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);padding:28px}.streak-num{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);align-items:baseline;gap:8px;margin-top:8px;font-size:64px;line-height:1;display:flex}.streak-num small{font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:14px;font-weight:500}.streak-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:20px;display:grid}.streak-day{border-radius:var(--radius-sm);background:var(--bg-warm);font-family:var(--font-sans);flex-direction:column;align-items:center;gap:6px;padding:10px 0;display:flex}.streak-day .lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);font-size:10px}.streak-day .dot{background:var(--bg);width:22px;height:22px;color:var(--ink-4);border:1px solid var(--rule);border-radius:50%;place-items:center;font-size:12px;display:grid}.streak-day.done .dot{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.streak-day.today{background:var(--accent-soft)}.streak-day.today .dot{background:var(--bg-elev);color:var(--accent);border-color:var(--accent)}.streak-day.frozen .dot{background:color-mix(in oklab, var(--accent-soft), white 40%);border-color:var(--accent-soft);color:var(--accent-2)}.library-header{grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:32px;display:grid}@media (width<=720px){.library-header{grid-template-columns:1fr}}.library-header .page-head{margin-bottom:0}.search-bar{background:var(--bg-elev);border:1px solid var(--rule);min-width:260px;transition:border-color var(--transition-fast);border-radius:999px;align-items:center;gap:10px;padding:12px 16px;display:flex}.search-bar:focus-within{border-color:var(--accent)}.search-bar input{font-family:var(--font-serif);color:var(--ink);background:0 0;border:0;flex:1;font-size:15px}.search-bar input::placeholder{color:var(--ink-4);font-style:italic}.search-bar input:focus{outline:none}.filters-row{border-top:1px dashed var(--rule-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.filters-row:first-of-type{border-top:0}.filter-label{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);min-width:64px;margin-right:8px;font-size:11px}.chip{border:1px solid var(--rule);background:var(--bg-elev);font-family:var(--font-sans);color:var(--ink-2);cursor:pointer;transition:all var(--transition-fast);text-transform:capitalize;border-radius:999px;padding:6px 12px;font-size:12px}.chip:hover{border-color:var(--ink-4);color:var(--ink)}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.library-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:32px;margin-top:40px;display:grid}@media (width<=720px){.library-grid{grid-template-columns:repeat(2,1fr);gap:20px}}.library-empty{text-align:center;border:1px dashed var(--rule);border-radius:var(--radius);font-family:var(--font-serif);color:var(--ink-3);margin:60px 0;padding:40px;font-style:italic}.dash-hero{grid-template-columns:1.3fr 1fr;align-items:start;gap:48px;padding-top:48px;padding-bottom:60px;display:grid}@media (width<=960px){.dash-hero{grid-template-columns:1fr;gap:32px;padding-top:32px}}.dash-welcome h1{font-family:var(--font-display);letter-spacing:-.02em;margin-top:12px;font-size:clamp(36px,4.5vw,56px);font-weight:400;line-height:1.08}.dash-welcome h1 em{color:var(--accent);font-style:italic}.dash-welcome .teaser{font-family:var(--font-display);color:var(--ink-2);border-left:2px solid var(--accent-soft);max-width:54ch;margin-top:24px;padding-left:18px;font-size:22px;font-style:italic;line-height:1.4}.dash-welcome .sub{font-family:var(--font-serif);color:var(--ink-3);max-width:58ch;margin-top:20px;font-size:16px;line-height:1.55}.dash-cta-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.dash-done-badge{background:var(--accent-soft);color:var(--accent);font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:6px 14px 6px 10px;font-size:12px;font-weight:500;display:inline-flex}.dash-done-badge .check{background:var(--accent);width:18px;height:18px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:11px;display:grid}.dash-section{border-top:1px solid var(--rule);margin-top:72px;padding-top:36px}.dash-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.dash-section-head h2{font-family:var(--font-display);letter-spacing:-.015em;font-size:28px;font-weight:400}.dash-section-head .annot{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:500}.current-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.stats-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px;display:grid}@media (width<=720px){.stats-row{grid-template-columns:repeat(2,1fr)}}.stat-cell{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);text-align:left;padding:24px}.stat-cell .n{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin-bottom:6px;font-size:40px;line-height:1}.stat-cell .l{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.path-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-elev);grid-template-columns:1fr auto;align-items:center;gap:40px;padding:32px;display:grid}@media (width<=720px){.path-card{grid-template-columns:1fr;gap:24px}}.path-card h3{font-family:var(--font-display);letter-spacing:-.01em;margin-top:8px;font-size:28px;font-weight:400}.path-card p{font-family:var(--font-serif);color:var(--ink-2);max-width:500px;margin-top:10px;font-size:15px;line-height:1.55}.path-covers{gap:8px;display:flex}.path-covers .cover-slot{width:72px}.path-covers .cover-slot+.cover-slot{margin-top:14px}.recent-strip{-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.recent-slot{width:160px;color:var(--ink);flex-direction:column;flex:none;gap:10px;text-decoration:none;display:flex}.recent-slot:hover{color:var(--ink);text-decoration:none}.recent-slot h4{font-family:var(--font-display);font-size:15px;font-style:italic;line-height:1.2}.recent-slot .author{font-family:var(--font-sans);color:var(--ink-3);font-size:11px}.dash-empty{border:1px dashed var(--rule);border-radius:var(--radius);text-align:center;font-family:var(--font-serif);color:var(--ink-3);padding:40px;font-style:italic}.today-page{max-width:880px;margin:0 auto;padding:56px 24px 96px}.today-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.today-header .eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:11px;font-weight:500;display:block}.today-switcher select{background:var(--bg-elev);border:1px solid var(--rule);font-family:var(--font-sans);color:var(--ink);appearance:none;cursor:pointer;border-radius:999px;padding:8px 28px 8px 14px;font-size:13px}.today-switcher select:focus{border-color:var(--accent);outline:none}.today-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:minmax(160px,220px) 1fr;align-items:start;gap:40px;padding:36px;display:grid}@media (width<=720px){.today-card{grid-template-columns:1fr;gap:24px;padding:28px 24px}}.today-card-body{flex-direction:column;gap:14px;min-width:0;display:flex}.today-card-body .genre-line{font-family:var(--font-sans);letter-spacing:.06em;color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:inline-flex}.today-card-body .genre-line .dot{background:var(--ink-3);border-radius:50%;width:3px;height:3px}.today-card-body h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.1}.today-card-body h1 em{color:var(--accent);font-style:italic}.today-chapter{font-family:var(--font-display);color:var(--ink-2);margin:0;font-size:18px;font-style:italic}.today-summary{font-family:var(--font-serif);color:var(--ink-3);max-width:56ch;margin:0;font-size:16px;font-style:italic;line-height:1.55}.today-progress{flex-direction:column;gap:6px;margin-top:8px;display:flex}.today-progress-text{font-family:var(--font-sans);color:var(--ink-3);justify-content:space-between;font-size:12px;display:flex}.today-cta-row{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.today-done-badge{background:var(--accent-soft);color:var(--accent);font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:4px 12px;font-size:11px;font-weight:500;display:inline-flex}.today-done-badge .check{background:var(--accent);width:18px;height:18px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:10px;display:grid}.today-empty{justify-content:center;align-items:center;min-height:60vh;display:flex}.today-empty-card{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:520px;display:flex}.today-empty-card .eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.today-empty-card h1{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(28px,3.5vw,40px);font-style:italic;font-weight:400;line-height:1.15}.today-empty-card p{font-family:var(--font-serif);color:var(--ink-3);max-width:44ch;margin:0;font-size:17px;line-height:1.55}.book-hero{grid-template-columns:260px 1fr;align-items:start;gap:56px;padding:48px 0 60px;display:grid}@media (width<=720px){.book-hero{grid-template-columns:160px 1fr;gap:24px;padding:32px 0 36px}}.book-hero .cover{position:sticky;top:80px}.book-hero-meta{min-width:0}.book-hero-meta .genre-line{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;margin-bottom:14px;font-size:11px;font-weight:500;display:flex}.book-hero-meta .genre-line .dot{background:var(--ink-4);border-radius:50%;width:3px;height:3px}.book-hero-meta h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-bottom:6px;font-size:clamp(40px,5vw,64px);font-weight:400;line-height:1.08}.book-hero-meta h1 em{font-style:italic}.book-hero-meta .author{font-family:var(--font-sans);color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:24px;font-size:14px;display:inline-flex}.book-hero-meta .author .author-link{font-family:var(--font-sans);letter-spacing:.02em;text-transform:none;color:var(--accent);font-size:12px;text-decoration:none}.book-hero-meta .author .author-link:hover{text-decoration:underline}.book-hero-meta .blurb{font-family:var(--font-serif);color:var(--ink-2);max-width:60ch;margin-bottom:28px;font-size:17px;line-height:1.6}.book-meta-grid{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px;padding:20px 0;display:grid}@media (width<=720px){.book-meta-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.book-meta-grid>div{flex-direction:column;gap:4px;display:flex}.book-meta-grid .k{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:500}.book-meta-grid .v{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:22px;line-height:1}.book-meta-grid .v-sub{font-family:var(--font-sans);color:var(--ink-3);font-size:11px}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.share-btn{border:1px solid var(--rule);background:var(--bg-elev);width:40px;height:40px;color:var(--ink-2);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.share-btn:hover{background:var(--bg-warm);color:var(--ink);border-color:var(--ink-4)}.share-btn.copied{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.cw-banner{border:1px solid var(--rule);border-left:3px solid var(--danger);border-radius:var(--radius-sm);background:var(--bg-elev);font-family:var(--font-sans);color:var(--ink-2);align-items:start;gap:12px;margin-bottom:24px;padding:16px 18px;font-size:13px;line-height:1.5;display:flex}.cw-banner .ico{color:var(--danger);font-size:14px}.cw-banner .lbl{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:10px;font-weight:500;display:block}.cw-banner button{color:var(--ink-3);margin-left:auto;font-family:inherit;font-size:12px}.cw-banner button:hover{color:var(--ink)}.subscribe-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);margin:32px 0 64px;padding:32px}.subscribe-card.idle{grid-template-columns:1fr auto;align-items:center;gap:32px;display:grid}@media (width<=720px){.subscribe-card.idle{grid-template-columns:1fr;gap:20px}}.subscribe-card h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:8px 0 0;font-size:26px;font-weight:400}.subscribe-card .sub-copy{font-family:var(--font-serif);color:var(--ink-3);max-width:52ch;margin-top:10px;font-size:15px;line-height:1.5}.subscribe-card.configure{flex-direction:column;gap:36px;display:flex}.sub-step{flex-direction:column;gap:16px;display:flex}.cadence-options{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=720px){.cadence-options{grid-template-columns:repeat(2,1fr)}}.cadence-opt{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);text-align:left;font-family:var(--font-sans);flex-direction:column;gap:4px;padding:16px 14px;display:flex}.cadence-opt:hover{border-color:var(--ink-4)}.cadence-opt.active{border-color:var(--accent);background:var(--accent-soft)}.cadence-opt .name{color:var(--ink);font-size:14px;font-weight:500}.cadence-opt .sub{color:var(--ink-3);font-size:11px}.delivery-time{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.delivery-time select{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--ink);min-width:220px;padding:12px 14px;font-size:14px}.delivery-time select:focus{border-color:var(--accent);outline:none}.tz-hint{font-family:var(--font-sans);color:var(--ink-3);font-size:12px}.tz-hint strong{color:var(--ink-2);font-weight:500}.method-options{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.method-opt{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-family:var(--font-sans);transition:border-color var(--transition-fast), background var(--transition-fast);flex-direction:column;gap:4px;padding:14px;display:flex}.method-opt:hover{border-color:var(--ink-4)}.method-opt.active{border-color:var(--accent);background:var(--accent-soft)}.method-opt .name{color:var(--ink);font-size:14px;font-weight:500}.method-opt .sub{color:var(--ink-3);font-size:11px}.kindle-config{flex-direction:column;gap:10px;margin-top:4px;display:flex}.kindle-field{flex-direction:column;gap:6px;display:flex}.kindle-field .lbl{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.kindle-field input{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--ink);transition:border-color var(--transition-fast);outline:none;padding:12px 14px;font-size:14px}.kindle-field input:focus{border-color:var(--accent)}.kindle-also-email{font-family:var(--font-sans);color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.kindle-also-email input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;margin:0}.kindle-guide-toggle{appearance:none;font-family:var(--font-sans);color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;padding:0;font-size:12px;text-decoration:underline}.kindle-guide{background:var(--bg-warm);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--ink-3);padding:14px 16px;font-size:12px;line-height:1.55}.kindle-guide p{margin:0 0 8px}.kindle-guide ol{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.kindle-guide li strong{color:var(--ink-2);font-weight:500}.kindle-guide a{color:var(--accent)}.kindle-guide code{background:var(--bg);border:1px solid var(--rule);color:var(--ink);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.sub-preview{background:var(--bg-warm);border-radius:var(--radius-sm);font-family:var(--font-serif);color:var(--ink-3);padding:16px 20px;font-size:14px;line-height:1.55}.sub-preview b{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:11px;font-weight:500;display:block}.sub-preview .em{color:var(--ink);font-weight:500;font-family:var(--font-sans)}.sub-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.subscribe-card.confirmed{text-align:left}.sub-check{background:var(--accent);width:48px;height:48px;color:var(--accent-ink);border-radius:50%;place-items:center;margin-bottom:18px;font-size:24px;display:grid}.enrolled-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:center;gap:28px;margin:32px 0 64px;padding:28px 32px;display:grid}@media (width<=720px){.enrolled-card{grid-template-columns:1fr;gap:20px}}.enrolled-card .progress-block{flex-direction:column;gap:10px;display:flex}.enrolled-card h3{font-family:var(--font-display);letter-spacing:-.015em;font-size:22px;font-weight:400}.enrolled-card .progress-text{font-family:var(--font-sans);color:var(--ink-3);justify-content:space-between;font-size:13px;display:flex}.book-enroll{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:28px;margin:32px 0 56px;padding:32px;display:flex}.book-enroll .eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.book-enroll h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:4px 0 0;font-size:24px;font-weight:400}.enroll-step{flex-direction:column;gap:14px;display:flex}.enroll-preview{background:var(--bg-warm);border-radius:var(--radius-sm);font-family:var(--font-serif);color:var(--ink-3);padding:16px 20px;font-size:14px;line-height:1.55}.enroll-preview b{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:11px;font-weight:500;display:block}.enroll-preview .em{color:var(--ink);font-weight:500;font-family:var(--font-sans)}.enroll-defaults-preview{font-family:var(--font-serif);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;line-height:1.55;display:flex}.enroll-defaults-preview em{color:var(--ink);font-style:italic;font-weight:500}.enroll-change-btn{appearance:none;font-family:var(--font-sans);color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.enroll-cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.enroll-email-form{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.enroll-email-field{flex:240px;min-width:200px;display:flex}.enroll-email-field input{border:1px solid var(--rule);background:var(--bg);color:var(--ink);font-family:var(--font-sans);border-radius:999px;outline:none;flex:1;padding:13px 16px;font-size:15px;transition:border-color .12s}.enroll-email-field input:focus{border-color:var(--accent)}.enroll-email-sent{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--ink);padding:20px 24px}.enroll-email-sent h3{margin-bottom:6px}.enroll-email-sent p{font-family:var(--font-serif);color:var(--ink-2);font-size:15px;line-height:1.55}.enroll-error{font-family:var(--font-sans);color:var(--danger,#b3261e);font-size:13px}.enrolled-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}@media (width<=720px){.enrolled-actions{align-items:stretch}}.adjust-link{font-family:var(--font-sans);color:var(--ink-3);text-underline-offset:3px;font-size:12px;text-decoration:underline}.adjust-link:hover{color:var(--ink)}.completed-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:14px;margin:32px 0 56px;padding:28px 32px;display:flex}.completed-badge{background:var(--accent-soft);color:var(--accent);font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:11px;font-weight:500}.completed-card h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:26px;font-style:italic;font-weight:400}.completed-actions{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.book-back-link{margin:24px 0 56px}.reader-root{font-family:var(--font-body);font-size:var(--reader-font-size);line-height:var(--reader-line);padding-bottom:env(safe-area-inset-bottom)}.scroll-progress{z-index:60;pointer-events:none;background:0 0;height:2px;position:fixed;top:0;left:0;right:0}.scroll-progress .fill{background:var(--accent);transform-origin:0;height:100%;transition:width 60ms linear}.reader-topbar{z-index:50;background:color-mix(in oklab, var(--bg), transparent 6%);-webkit-backdrop-filter:saturate(1.1)blur(8px);border-bottom:1px solid var(--rule);transition:transform var(--transition);position:sticky;top:0}.reader-topbar-inner{max-width:var(--max-page);align-items:center;gap:16px;margin:0 auto;padding:10px 24px;display:flex}@media (width<=720px){.reader-topbar-inner{gap:10px;padding:10px 14px}}.reader-breadcrumb{min-width:0;font-family:var(--font-sans);color:var(--ink-3);letter-spacing:-.005em;flex:1;align-items:center;gap:10px;font-size:12px;display:flex}.reader-breadcrumb .book-title{font-family:var(--font-display);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-style:italic;overflow:hidden}.reader-breadcrumb .sep{color:var(--ink-4);font-size:10px}.reader-breadcrumb .crumb{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}@media (width<=720px){.reader-breadcrumb .crumb.truncate-mobile{display:none}}.reader-topbar-actions{align-items:center;gap:6px;display:flex}.icon-btn{width:34px;height:34px;color:var(--ink-2);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--bg-warm);color:var(--ink);border-color:var(--rule)}.icon-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}.reader-inline-progress{font-family:var(--font-sans);color:var(--ink-3);align-items:center;gap:6px;font-size:11px;display:inline-flex}.reader-inline-progress .mini-track{background:var(--rule);border-radius:999px;width:60px;height:2px;overflow:hidden}.reader-inline-progress .mini-fill{background:var(--accent);height:100%}@media (width<=720px){.reader-inline-progress{display:none}}.reader-shell{max-width:var(--max-page);margin:0 auto;padding:40px 24px 120px}.reader-main{max-width:var(--reader-col);margin:0 auto}.reader-head{border-bottom:1px solid var(--rule);margin-bottom:28px;padding-bottom:28px}.reader-meta{font-family:var(--font-sans);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-size:11px;display:flex}.reader-meta .dot{background:var(--ink-4);border-radius:50%;width:3px;height:3px}.reader-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-bottom:8px;font-size:clamp(34px,4.2vw,52px);font-weight:400;line-height:1.08}.reader-title em{color:var(--accent);font-style:italic}.reader-sub{font-family:var(--font-display);color:var(--ink-3);font-size:17px;font-style:italic}.reader-author-link{font-family:var(--font-display);color:var(--ink-3);border-bottom:1px dotted var(--rule);margin-top:8px;padding-bottom:1px;font-size:14px;font-style:italic;text-decoration:none;display:inline-block}.reader-author-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.reader-allinst-link{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--ink-3);margin-top:8px;margin-right:14px;font-size:12px;text-decoration:none;display:inline-block}.reader-allinst-link:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.author-callout{background:var(--bg-warm);border-left:2px solid var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;max-width:var(--reader-col);margin:18px 0 0;padding:14px 16px}.author-callout .eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:11px;font-weight:500;display:block}.author-callout p{font-family:var(--font-serif);color:var(--ink-2);margin:0 0 10px;font-size:14px;line-height:1.6}.author-callout-link{font-family:var(--font-sans);color:var(--accent);font-size:12px;text-decoration:none}.author-callout-link:hover{text-underline-offset:3px;text-decoration:underline}.reader-prose{max-width:var(--reader-col);margin:0 auto;position:relative}.reader-prose p{font-family:var(--font-body);font-size:var(--reader-font-size);line-height:var(--reader-line);letter-spacing:var(--reader-letter-spacing,normal);color:var(--ink);text-wrap:pretty;margin:0 0 1.2em}.focus-fixation{font-weight:700}.ruler-dim{background:var(--bg);opacity:.65;pointer-events:none;will-change:top, height, bottom;transition:top .2s cubic-bezier(.2,.7,.2,1),height .2s cubic-bezier(.2,.7,.2,1),bottom .2s cubic-bezier(.2,.7,.2,1);position:absolute;left:0;right:0}.ruler-band-tint{background:color-mix(in oklab, var(--accent-soft), transparent 65%);border-left:2px solid var(--accent);pointer-events:none;will-change:top, height;border-radius:3px;transition:top .2s cubic-bezier(.2,.7,.2,1),height .2s cubic-bezier(.2,.7,.2,1);position:absolute;left:-8px;right:-8px}.ruler-hint{z-index:80;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--font-sans);color:var(--ink-2);align-items:center;gap:10px;max-width:320px;padding:10px 8px 10px 16px;font-size:13px;animation:.32s cubic-bezier(.2,.7,.2,1) ruler-hint-in;display:flex;position:fixed;bottom:24px;right:24px}.ruler-hint-text{line-height:1.45}.ruler-hint-dismiss{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:4px 8px;font-size:14px;line-height:1}.ruler-hint-dismiss:hover{color:var(--ink);background:var(--bg-warm)}@keyframes ruler-hint-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.ruler-hint{max-width:none;bottom:16px;left:16px;right:16px}}@media (prefers-reduced-motion:reduce){.ruler-dim,.ruler-band-tint{transition:none}.ruler-hint{animation:none}}.reader-prose p.heading{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:20px;font-size:13px}.reader-prose p.note{font-family:var(--font-display);color:var(--ink-3);margin-bottom:24px;font-style:italic}.reader-prose p.drop:first-letter{float:left;font-family:var(--font-display);color:var(--accent);margin-top:.08em;margin-right:.08em;font-size:5.4em;font-style:italic;line-height:.88}.reader-prose em{font-style:italic}.reader-prose .scene-break{text-align:center;letter-spacing:1em;color:var(--ink-4);font-family:var(--font-display);margin:1.6em 0;font-size:1.2em}.reader-banners{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.previously{background:var(--bg-warm);border-left:2px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-family:var(--font-serif);color:var(--ink-3);cursor:pointer;transition:background var(--transition-fast);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 18px;font-size:14px;display:grid}.previously:hover{background:var(--bg-sink)}.previously .eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;font-size:10px;font-weight:500}.previously .tease{color:var(--ink-2);font-style:italic;line-height:1.55}.previously.expanded .tease{color:var(--ink-2);font-style:normal}.previously .recap-btn{font-family:var(--font-sans);color:var(--accent);white-space:nowrap;cursor:pointer;background:0 0;border:0;font-size:12px}.previously .recap-btn:hover{text-decoration:underline}.where-was-i{background:var(--accent-soft);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--accent-2);align-items:center;gap:14px;padding:14px 18px;font-size:13px;display:flex}.where-was-i .label{font-family:var(--font-serif);color:var(--ink-2);flex:1;font-size:14px;font-style:italic}.where-was-i button{color:var(--accent);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:500}.where-was-i button:hover{background:var(--bg-elev);border-color:var(--accent)}.where-was-i button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.where-was-i button.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.cw-reader{background:var(--bg-elev);border:1px solid var(--rule);border-left:3px solid var(--danger);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--ink-2);align-items:start;gap:12px;padding:14px 18px;font-size:13px;line-height:1.5;display:flex}.cw-reader .ico{color:var(--danger);font-size:14px}.cw-reader .lbl{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:10px;font-weight:500;display:block}.cw-reader button{color:var(--ink-3);cursor:pointer;margin-left:auto;font-family:inherit;font-size:12px}.cw-reader button:hover{color:var(--ink)}.paused-banner{background:var(--bg-warm);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--ink-2);justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;font-size:13px;line-height:1.5;display:flex}.paused-banner strong{color:var(--ink);font-family:var(--font-display);font-size:15px;font-style:italic;font-weight:500}.paused-banner-btn{background:var(--accent);color:var(--accent-ink);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;border:0;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:500}.paused-banner-btn:hover{background:var(--accent-2)}.paused-banner-btn:disabled{opacity:.6;cursor:not-allowed}.offline-banner{background:color-mix(in oklab, var(--danger), white 88%);border:1px solid color-mix(in oklab, var(--danger), white 70%);border-left:3px solid var(--danger);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--ink-2);align-items:start;gap:12px;padding:14px 18px;font-size:13px;line-height:1.5;display:flex}.offline-banner .ico{color:var(--danger);font-size:16px}.offline-banner strong{color:var(--ink);font-weight:500}.mark-complete{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:64px 0 0;padding:28px 32px;display:flex}.mark-complete .lead{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:500}.mark-complete .sub{font-family:var(--font-display);color:var(--ink-3);margin-top:2px;font-size:17px;font-style:italic}.mark-complete .done-state{font-family:var(--font-sans);color:var(--ink-3);align-items:center;gap:8px;font-size:13px;display:inline-flex}.mark-complete .done-state .check{background:var(--accent);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:13px;display:grid}.anon-signup{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);opacity:1;max-width:640px;margin:72px auto 32px;padding:40px 32px;scroll-margin-top:120px;transition:opacity .32s,transform .32s;transform:translateY(0)}.anon-signup.anon-signup-dim{opacity:.18;pointer-events:none;transform:translateY(8px)}.anon-signup-body{flex-direction:column;gap:14px;display:flex}.anon-signup-eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:500}.anon-signup h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:clamp(26px,3.2vw,34px);font-style:italic;font-weight:400;line-height:1.15}.anon-signup p{font-family:var(--font-serif);color:var(--ink-2);margin:0;font-size:16px;line-height:1.55}.anon-signup-form{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.anon-signup-field{flex:240px;min-width:200px;display:flex}.anon-signup-field input{border:1px solid var(--rule);background:var(--bg);color:var(--ink);font-family:var(--font-sans);letter-spacing:-.005em;border-radius:999px;outline:none;flex:1;padding:13px 16px;font-size:15px;transition:border-color .12s}.anon-signup-field input:focus{border-color:var(--accent)}.anon-signup-field input[aria-invalid=true]{border-color:var(--danger,#b3261e)}.anon-signup-error{font-family:var(--font-sans);color:var(--danger,#b3261e);margin-top:4px;font-size:13px}.anon-signup-fine{font-family:var(--font-sans);color:var(--ink-3);margin-top:6px;font-size:12px}.anon-signup-resend{appearance:none;color:var(--accent);font-family:var(--font-sans);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;text-decoration:underline}.anon-signup-sent h2{color:var(--ink)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reader-state{text-align:center;max-width:520px;margin:120px auto;padding:0 24px}.reader-state h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin-bottom:8px;font-size:34px;font-style:italic}.reader-state p{font-family:var(--font-serif);color:var(--ink-3);margin-bottom:20px;font-size:16px;line-height:1.55}.reader-state .unlock-time{font-family:var(--font-sans);color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase;margin-top:16px;font-size:12px}.glossary-term{border-bottom:1px dashed;border-bottom-color:color-mix(in oklab, currentColor, transparent 55%);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);outline-offset:3px;padding-bottom:0}.glossary-term:hover,.glossary-term:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}.character-ref{border-bottom:1px dotted;border-bottom-color:color-mix(in oklab, currentColor, transparent 40%);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);outline-offset:3px;border-bottom-width:2px}.character-ref:hover,.character-ref:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}.popover{z-index:70;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-sm);width:320px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);font-family:var(--font-sans);animation:pop-in .14s var(--transition,.2s cubic-bezier(.2,.7,.2,1));padding:16px 18px}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.popover-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.popover-label{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:500}.popover-term{font-family:var(--font-display);color:var(--ink);margin-bottom:8px;font-size:20px;font-style:italic;line-height:1.2}.popover-body{font-family:var(--font-serif);color:var(--ink-2);font-size:14px;line-height:1.55}.popover-context{border-top:1px dashed var(--rule);font-family:var(--font-serif);color:var(--ink-3);margin-top:10px;padding-top:10px;font-size:13px;font-style:italic;line-height:1.5}.first-badge{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:auto;padding:3px 8px;font-size:10px;font-weight:500}.popover-modal-backdrop{z-index:69;background:#00000080;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.popover-modal{width:100%;max-width:420px;padding:24px 22px 20px;animation:.18s cubic-bezier(.2,.7,.2,1) modal-in;position:relative}.popover-close{width:30px;height:30px;color:var(--ink-3);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.popover-close:hover{background:var(--bg-warm);color:var(--ink)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.popover-bottom:before,.popover-top:before{content:"";background:var(--bg-elev);border:1px solid var(--rule);width:10px;height:10px;position:absolute;transform:rotate(45deg)}.popover-bottom:before{border-bottom:0;border-right:0;margin-left:-5px;top:-6px;left:50%}.popover-top:before{border-top:0;border-left:0;margin-left:-5px;bottom:-6px;left:50%}.reader-prose blockquote.pullquote{border-left:2px solid var(--accent);font-family:var(--font-display);color:var(--ink);margin:32px 0;padding:6px 0 6px 20px;font-size:1.35em;font-style:italic;line-height:1.35}.reader-prose blockquote.pullquote p{font:inherit;margin:0}.reader-prose blockquote.pullquote cite{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:10px;font-size:12px;font-style:normal;display:block}.inline-artwork{cursor:zoom-in;max-width:480px;margin:40px auto}.inline-artwork .thumb{border-radius:var(--radius-sm);border:1px solid var(--rule);box-shadow:var(--shadow);aspect-ratio:3/2;transition:transform var(--transition-fast);position:relative;overflow:hidden}.inline-artwork:hover .thumb{transform:translateY(-2px)}.inline-artwork .thumb img{object-fit:cover;width:100%;height:100%;display:block}.inline-artwork .expand-hint{color:#fff;font-family:var(--font-sans);letter-spacing:.06em;opacity:0;transition:opacity var(--transition-fast);background:#0000008c;border-radius:999px;padding:4px 10px;font-size:11px;position:absolute;bottom:10px;right:10px}.inline-artwork:hover .expand-hint{opacity:1}.inline-artwork .caption{font-family:var(--font-sans);color:var(--ink-3);margin-top:12px;font-size:13px;line-height:1.5}.inline-artwork .caption em{font-family:var(--font-display);color:var(--ink-2);font-size:15px;font-style:italic}.inline-artwork .caption .meta{color:var(--ink-3);margin-top:2px;display:block}.inline-artwork .caption .note{color:var(--ink-3);font-family:var(--font-serif);margin-top:6px;font-style:italic;display:block}.artwork-placeholder{background:radial-gradient(at 30% 20%,#ffdca073,#0000 55%),radial-gradient(at 80% 80%,#7828288c,#0000 60%),linear-gradient(140deg,#2a2a2a 0%,#0f1518 100%);width:100%;height:100%}.artwork-placeholder.hero{aspect-ratio:21/9}.hero-artwork{max-width:var(--max-page);cursor:zoom-in;margin:0 auto 48px}.hero-artwork .frame{border-radius:0;max-height:clamp(280px,50vh,540px);overflow:hidden}.hero-artwork .frame img,.hero-artwork .frame .artwork-placeholder{object-fit:cover;width:100%;height:100%;max-height:clamp(280px,50vh,540px);display:block}.hero-artwork .caption{max-width:var(--reader-col);font-family:var(--font-sans);color:var(--ink-3);flex-direction:column;gap:2px;margin:14px auto 0;font-size:12px;line-height:1.55;display:flex}.hero-artwork .caption .title em{font-family:var(--font-display);color:var(--ink-2);font-size:16px;font-style:italic}.hero-artwork .caption .note{font-family:var(--font-serif);color:var(--ink-3);margin-top:6px;font-style:italic}.reader-prose.tier-hero p.drop:first-letter{font-size:6.4em}.reader-prose.tier-hero{font-size:calc(var(--reader-font-size) + 1px)}.reader-head.tier-hero .reader-title{letter-spacing:-.02em;font-size:clamp(36px,4.6vw,60px);line-height:1.05}.lightbox{z-index:90;background:#08080cd1;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.lightbox-inner{color:#f4f2ed;flex-direction:column;gap:16px;max-width:min(1100px,100%);max-height:100%;display:flex;position:relative}.lightbox-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:40px;height:40px;transition:background var(--transition-fast);z-index:1;background:#ffffff26;border-radius:50%;place-items:center;display:grid;position:absolute;top:-4px;right:-4px}.lightbox-close:hover{background:#ffffff47}.lightbox-image{border-radius:var(--radius-sm);max-height:80vh;overflow:hidden;box-shadow:0 40px 80px -20px #0009}.lightbox-image img{object-fit:contain;max-width:100%;max-height:80vh;display:block}.lightbox-placeholder{width:min(1100px,80vw);height:60vh;min-height:320px}.lightbox-caption{max-width:700px;font-family:var(--font-sans);color:#f4f2edd9;font-size:14px;line-height:1.55}.lightbox-caption .title{font-family:var(--font-display);color:#fff;margin-bottom:6px;font-size:22px;font-style:italic}.lightbox-caption .meta{color:#f4f2eda6;margin-bottom:12px}.lightbox-caption .note{font-family:var(--font-serif);color:#f4f2ede6;font-size:15px;line-height:1.55}.lightbox-caption .src{letter-spacing:.08em;color:#f4f2edbf;text-underline-offset:3px;margin-top:10px;font-size:12px;text-decoration:underline;display:inline-block}.lightbox-caption .src:hover{color:#fff}@media (prefers-reduced-motion:reduce){.popover,.popover-modal{animation:none}.inline-artwork:hover .thumb{transform:none}}.reader-layout{max-width:var(--max-page);grid-template-columns:minmax(0,1fr) 380px;gap:48px;margin:0 auto;padding:40px 24px 120px;transition:grid-template-columns .28s cubic-bezier(.2,.7,.2,1),gap .28s cubic-bezier(.2,.7,.2,1);display:grid}.reader-layout.companion-closed{grid-template-columns:minmax(0,1fr) 0fr;gap:0}@media (width<=960px){.reader-layout{grid-template-columns:1fr;gap:0;padding:24px 16px 140px}}.reader-layout .reader-main{max-width:var(--reader-col);width:100%;min-width:0;margin:0 auto}.reader-layout.companion-closed .reader-main{margin:0 auto}.companion-wrap{background:var(--bg-elev);color:var(--ink);font-family:var(--font-sans)}.companion-head{border-bottom:1px dashed var(--rule);flex:none;align-items:center;gap:10px;padding:16px 20px;display:flex;position:relative}.companion-handle{background:var(--rule-warm);border-radius:999px;width:40px;height:3px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.companion-label{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.companion-close{width:30px;height:30px;color:var(--ink-3);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:50%;place-items:center;margin-left:auto;display:grid}.companion-close:hover{background:var(--bg-warm);color:var(--ink)}.companion-tabs{border-bottom:1px solid var(--rule);scrollbar-width:thin;flex:none;padding:0 12px;display:flex;overflow:auto hidden}.companion-tabs::-webkit-scrollbar{height:4px}.companion-tabs::-webkit-scrollbar-track{background:0 0}.companion-tabs::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:2px}.companion-tab{color:var(--ink-3);font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:14px 12px;font-size:10px;font-weight:500;display:inline-flex;position:relative}.companion-tab:hover{color:var(--ink)}.companion-tab.active{color:var(--ink);border-bottom-color:var(--accent)}.companion-tab .pin-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.pin-menu{z-index:80;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-sm);min-width:180px;box-shadow:var(--shadow-lg);font-family:var(--font-sans);padding:6px;font-size:13px;position:fixed}.pin-menu button{width:100%;color:var(--ink-2);text-align:left;cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;display:flex}.pin-menu button:hover{background:var(--bg-warm);color:var(--ink)}.pin-menu .dot{border:1.5px solid var(--ink-4);border-radius:50%;width:8px;height:8px}.pin-menu .dot.filled{background:var(--accent);border-color:var(--accent)}.companion-body{padding:20px;overflow-y:auto}.companion-empty{text-align:center;font-family:var(--font-serif);color:var(--ink-3);padding:40px 20px;font-style:italic;line-height:1.55}.companion-sections{flex-direction:column;gap:24px;display:flex}.companion-section{border-bottom:1px dashed var(--rule);padding-bottom:20px}.companion-section:last-child{border-bottom:0;padding-bottom:0}.companion-section h4{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin-top:6px;margin-bottom:8px;font-size:18px;font-style:italic;font-weight:400}.companion-section p{font-family:var(--font-serif);color:var(--ink-2);font-size:14px;line-height:1.6}.editor-note{background:var(--bg-warm);border-radius:var(--radius-sm);font-family:var(--font-serif);color:var(--ink-2);margin-top:16px;padding:14px 16px;font-size:13px;font-style:italic;line-height:1.6}.editor-note .lbl{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:10px;font-style:normal;font-weight:500;display:block}.companion-context-stack{flex-direction:column;gap:32px;display:flex}.context-section,.editor-notes-section,.geographic-section,.concepts-section,.dated-debated-section,.book-map-section{flex-direction:column;gap:12px;display:flex}.context-section .eyebrow,.editor-notes-section .eyebrow,.geographic-section .eyebrow,.concepts-section .eyebrow,.dated-debated-section .eyebrow,.book-map-section .eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.context-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:22px;font-style:italic;font-weight:400}.context-block,.editor-note-block,.geographic-block,.concept-block,.dated-debated-block{flex-direction:column;gap:10px;display:flex}.context-block p,.editor-note-block p,.geographic-blurb,.concept-block p,.dated-debated-block p{font-family:var(--font-serif);color:var(--ink-2);margin:0;font-size:15px;line-height:1.65}.context-block p+p{margin-top:0}.editor-notes-section .editor-note-block p{color:var(--ink-2);border-left:2px solid var(--accent-soft);padding-left:14px;font-size:14px;font-style:italic}.dashed-divider{border:0;border-top:1px dashed var(--rule);margin:6px 0}.geographic-map{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);width:100%;margin:4px 0 12px;padding:16px;overflow:hidden}.geographic-map svg,.geographic-map img{width:100%;height:auto;max-height:480px;display:block}.geographic-map img{object-fit:contain}.dated-debated-block{background:var(--bg-warm);border-left:2px solid var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:14px 16px}.dated-debated-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.dated-debated-claim{font-family:var(--font-display);color:var(--ink);font-size:16px;font-style:italic}.dated-debated-status{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:500}.dated-debated-block p{color:var(--ink-3);font-style:italic}.geographic-places{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.geographic-places li{font-family:var(--font-display);color:var(--ink);align-items:center;gap:10px;font-size:15px;font-style:italic;display:flex}.place-marker{color:var(--accent);font-size:12px}.place-name{letter-spacing:-.005em}.glossary-list{flex-direction:column;gap:16px;margin-top:14px;display:flex}.glossary-row{border-bottom:1px dashed var(--rule);padding-bottom:16px}.glossary-row:last-child{border-bottom:0;padding-bottom:0}.glossary-row dt{font-family:var(--font-display);color:var(--ink);margin-bottom:4px;font-size:17px;font-style:italic}.glossary-row dd{font-family:var(--font-serif);color:var(--ink-2);margin-left:0;font-size:14px;line-height:1.55}.glossary-row .ctx{font-family:var(--font-serif);color:var(--ink-3);margin-top:8px;font-size:13px;font-style:italic;line-height:1.5}.character-list{flex-direction:column;gap:18px;margin-top:14px;display:flex}.char-card{border-bottom:1px dashed var(--rule);grid-template-columns:40px 1fr;align-items:start;gap:14px;padding-bottom:18px;display:grid}.char-card:last-child{border-bottom:0;padding-bottom:0}.char-avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:18px;font-style:italic;line-height:1;display:grid}.char-name{font-family:var(--font-display);color:var(--ink);font-size:17px;font-style:italic;font-weight:400}.char-dates{font-family:var(--font-display);color:var(--ink-3);margin-top:2px;font-size:13px;font-style:italic}.char-role{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-top:2px;font-size:10px;font-weight:500}.char-desc{font-family:var(--font-serif);color:var(--ink-2);margin-top:8px;font-size:14px;line-height:1.55}.notes-list{flex-direction:column;gap:20px;margin-top:14px;display:flex}.note-card{border-bottom:1px dashed var(--rule);padding-bottom:18px}.note-card:last-child{border-bottom:0;padding-bottom:0}.note-card .kind{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:10px;font-weight:500}.note-card h4{font-family:var(--font-display);color:var(--ink);margin-bottom:6px;font-size:17px;font-style:italic;font-weight:400}.note-card p{font-family:var(--font-serif);color:var(--ink-2);font-size:14px;line-height:1.6}.note-card.kind-quote p{color:var(--ink);border-left:2px solid var(--accent-soft);padding-left:12px;font-style:italic}.companion-artwork-grid{grid-template-columns:1fr;gap:20px;display:grid}.companion-art-thumb{cursor:zoom-in;text-align:left;background:0 0;border:0;flex-direction:column;gap:10px;padding:0;display:flex}.companion-art-thumb .thumb-frame{aspect-ratio:3/2;border-radius:var(--radius-sm);border:1px solid var(--rule);box-shadow:var(--shadow);transition:transform var(--transition-fast);overflow:hidden}.companion-art-thumb:hover .thumb-frame{transform:translateY(-2px)}.companion-art-thumb .thumb-frame img{object-fit:cover;width:100%;height:100%;display:block}.companion-art-thumb .cap{font-family:var(--font-sans);color:var(--ink-3);flex-direction:column;gap:2px;font-size:12px;line-height:1.5;display:flex}.companion-art-thumb .cap em{font-family:var(--font-display);color:var(--ink-2);font-size:14px;font-style:italic}.companion-art-thumb .cap .src{color:var(--ink-4);font-size:11px}.companion-art-attached{background:0 0;border:0;flex-direction:column;gap:10px;padding:0;display:flex}.companion-art-attached .companion-art-thumb{margin:0}.companion-art-attached .art-desc{font-family:var(--font-serif);color:var(--ink-2);margin:0;font-size:13px;line-height:1.55}.companion-art-placeholder{flex-direction:column;gap:10px;display:flex}.companion-art-placeholder .thumb-frame{aspect-ratio:3/2;border-radius:var(--radius-sm);border:1px dashed var(--rule);background:var(--bg-warm);place-items:center;display:grid;position:relative;overflow:hidden}.companion-art-placeholder .artwork-placeholder{background:repeating-linear-gradient(135deg,#0000 0 14px,#0000000a 14px 15px);place-items:center;width:100%;height:100%;display:grid}.companion-art-placeholder .curating{font-family:var(--font-display);color:var(--ink-3);letter-spacing:.02em;background:var(--bg-elev);border:1px solid var(--rule);border-radius:999px;padding:4px 12px;font-size:13px;font-style:italic}.companion-art-placeholder .cap{font-family:var(--font-sans);color:var(--ink-3);flex-direction:column;gap:8px;font-size:12px;line-height:1.5;display:flex}.companion-art-placeholder .era-label{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-warm);border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:10px;font-weight:500}.companion-art-placeholder .art-desc{font-family:var(--font-serif);color:var(--ink-2);margin:0;font-size:13px;line-height:1.55}.companion-art-placeholder .art-tags{flex-wrap:wrap;gap:4px 6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.companion-art-placeholder .art-tags li{font-family:var(--font-sans);color:var(--ink-3);border:1px solid var(--rule);letter-spacing:.02em;background:0 0;border-radius:999px;padding:2px 8px;font-size:10px}.companion-sidebar{border-left:1px solid var(--rule);flex-direction:column;align-self:start;max-height:calc(100vh - 60px);display:flex;position:sticky;top:60px;overflow:hidden}.companion-sidebar .companion-body{flex:1;min-height:0;overflow-y:auto}@media (width<=960px){.companion-sidebar{display:none}}.companion-sheet{z-index:55;border-top:1px solid var(--rule);max-height:70vh;padding-bottom:env(safe-area-inset-bottom);border-top-left-radius:18px;border-top-right-radius:18px;flex-direction:column;transition:transform .26s cubic-bezier(.2,.7,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -10px 40px #0003}.companion-sheet.open{transform:translateY(0)}.companion-sheet .companion-body{flex:1;overflow-y:auto}@media (width>=961px){.companion-sheet,.companion-backdrop{display:none!important}}.companion-backdrop{opacity:0;pointer-events:none;z-index:54;background:#00000073;transition:opacity .2s;position:fixed;inset:0}.companion-backdrop.on{opacity:1;pointer-events:auto}.companion-inline{border-top:1px solid var(--rule);background:0 0;margin:64px 0 0;padding-top:40px}.companion-inline .companion-head{border-bottom:0;padding:0 0 10px}.companion-inline .companion-tabs{padding-left:0;padding-right:0}.companion-inline .companion-body{padding:20px 0 0}.open-companion{z-index:45;background:var(--bg-elev);border:1px solid var(--rule);color:var(--ink-2);font-family:var(--font-sans);cursor:pointer;box-shadow:var(--shadow);transition:transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast);border-radius:999px;align-items:center;gap:8px;padding:10px 14px 10px 12px;font-size:12px;display:inline-flex;position:fixed;top:90px;right:20px}.open-companion:hover{background:var(--bg-warm);color:var(--ink);transform:translateY(-1px)}@media (width<=960px){.open-companion{top:auto;bottom:24px;right:20px}}.settings-backdrop{opacity:0;pointer-events:none;z-index:80;background:#0a0a1080;transition:opacity .2s;position:fixed;inset:0}.settings-backdrop.on{opacity:1;pointer-events:auto}.settings-tray{background:var(--bg-elev);border-left:1px solid var(--rule);z-index:81;width:350px;max-width:100vw;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;transition:transform .26s cubic-bezier(.2,.7,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-20px 0 60px -20px #0003}.settings-tray.on{transform:translate(0)}@media (width<=720px){.settings-tray{width:100vw}}.settings-head{border-bottom:1px solid var(--rule);align-items:center;padding:20px 22px;display:flex}.settings-head h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);flex:1;font-size:22px;font-style:italic;font-weight:400}.settings-close{width:32px;height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid}.settings-close:hover{background:var(--bg-warm);color:var(--ink)}.settings-body{flex-direction:column;flex:1;gap:28px;padding:8px 22px 32px;display:flex;overflow-y:auto}.settings-section{flex-direction:column;gap:10px;display:flex}.settings-section .lbl{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:500}.theme-swatches{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.theme-swatch{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:border-color var(--transition-fast);flex-direction:column;gap:6px;padding:10px;display:flex}.theme-swatch:hover{border-color:var(--ink-4)}.theme-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft) inset}.swatch-preview{aspect-ratio:2;font-family:var(--font-display);letter-spacing:-.01em;border-radius:4px;place-items:center;font-size:24px;font-style:italic;display:grid}.swatch-preview.theme-modern{color:#13131a;background:#fafaf8}.swatch-preview.theme-modern .swatch-letter{color:#5b3b7a}.swatch-preview.theme-paper{color:#1f1a14;background:#f9f5ec}.swatch-preview.theme-paper .swatch-letter{color:#6b4a2f}.swatch-preview.theme-sepia{color:#1a1612;background:#f4efe4}.swatch-preview.theme-sepia .swatch-letter{color:#8a1a1a}.swatch-preview.theme-academia{color:#ede3cc;background:#1b1f1a}.swatch-preview.theme-academia .swatch-letter{color:#c9a14a}.swatch-preview.theme-sage{color:#1a201a;background:#eef0e8}.swatch-preview.theme-sage .swatch-letter{color:#3f6b48}.swatch-preview.theme-dark{color:#e8e6e2;background:#0e0f12}.swatch-preview.theme-dark .swatch-letter{color:#a78bfa}.swatch-label{font-family:var(--font-sans);color:var(--ink);font-size:13px;font-weight:500}.swatch-desc{font-family:var(--font-sans);color:var(--ink-3);font-size:11px}.seg{background:var(--bg-warm);border-radius:var(--radius-sm);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg-scroll{overflow-x:auto}.seg-btn{border-radius:calc(var(--radius-sm) - 2px);color:var(--ink-2);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px;font-size:13px;display:flex}.seg-btn:hover{color:var(--ink)}.seg-btn.active{background:var(--bg-elev);color:var(--accent);box-shadow:var(--shadow-sm);font-weight:500}.seg-btn .seg-top{font-size:13px;font-weight:500}.seg-btn .seg-bot{color:var(--ink-3);letter-spacing:.04em;font-size:10px}.seg-btn.active .seg-bot{color:var(--accent-2)}.face-opts{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.face-opt{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--rule);cursor:pointer;transition:border-color var(--transition-fast);flex-direction:column;align-items:center;gap:4px;padding:12px;display:flex}.face-opt:hover{border-color:var(--ink-4)}.face-opt.active{border-color:var(--accent);background:var(--accent-soft)}.face-aa{color:var(--ink);font-size:28px;line-height:1}.face-name{font-family:var(--font-sans);color:var(--ink-3);letter-spacing:.06em;font-size:11px}.face-opt.active .face-name{color:var(--accent)}.placement-opts{flex-direction:column;gap:6px;display:flex}.placement-opt{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--rule);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.placement-opt:hover{border-color:var(--ink-4)}.placement-opt.active{border-color:var(--accent);background:var(--accent-soft)}.ruler-band-height{border-left:2px solid var(--rule);flex-direction:column;gap:6px;margin-top:4px;padding-left:12px;display:flex}.ruler-band-height-lbl{font-family:var(--font-sans);letter-spacing:.06em;color:var(--ink-3);font-size:11px}.bionic-preview{background:var(--bg-warm);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--ink-2);margin-top:4px;padding:12px 14px;font-size:14px;line-height:1.55}.bionic-preview .focus-fixation{font-weight:700}.settings-reset{align-items:flex-start}.settings-reset-btn{font-family:var(--font-sans);letter-spacing:.06em;color:var(--ink-3);cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);background:0 0;border:0;padding:4px 0;font-size:12px}.settings-reset-btn:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.placement-opt .name{font-family:var(--font-sans);color:var(--ink);font-size:14px;font-weight:500}.placement-opt .desc{font-family:var(--font-sans);color:var(--ink-3);font-size:11px}.df-active .scroll-progress,.df-active .reader-topbar,.df-active .open-companion,.df-active .companion-sidebar,.df-active .companion-sheet,.df-active .companion-backdrop{display:none!important}.exit-df{bottom:calc(20px + env(safe-area-inset-bottom));z-index:65;background:var(--bg-elev);border:1px solid var(--rule);color:var(--ink-3);font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:.55;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:6px;padding:10px 14px 10px 12px;font-size:11px;transition:opacity .2s;display:inline-flex;position:fixed;right:20px}.exit-df:hover,.exit-df:focus-visible{opacity:1;color:var(--ink)}@media (prefers-reduced-motion:reduce){.reader-layout{transition:none}.companion-sheet,.settings-tray{opacity:0;pointer-events:none;transition:opacity .15s;transform:none}.companion-sheet.open,.settings-tray.on{opacity:1;pointer-events:auto}}.book-map-card{color:inherit;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--bg-elev);cursor:pointer;text-decoration:none;transition:border-color .15s,transform .15s;display:block;overflow:hidden}.book-map-card:hover{border-color:var(--accent);transform:translateY(-1px)}.book-map-image{background:var(--bg);width:100%;height:auto;display:block}.book-map-caption{font-family:var(--font-serif);color:var(--ink-3);padding:12px 16px 8px;font-size:13px;font-style:italic;line-height:1.5}.book-map-cta{font-family:var(--font-sans);color:var(--accent);letter-spacing:.01em;padding:0 16px 14px;font-size:12px;font-weight:500}.completion-block{flex-direction:column;gap:24px;margin-top:48px;display:flex}.celebration{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);text-align:center;padding:40px 36px;animation:.3s cubic-bezier(.2,.7,.2,1) cel-rise}@keyframes cel-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.celebration-check{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);border-radius:50%;place-items:center;margin:0 auto 20px;font-size:26px;display:grid}.celebration-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-bottom:8px;font-size:clamp(32px,4vw,42px);font-style:italic;font-weight:400;line-height:1.1}.celebration-sub{font-family:var(--font-serif);color:var(--ink-3);max-width:50ch;margin:0 auto 28px;font-size:16px;line-height:1.55}.celebration-stats{grid-template-columns:repeat(4,1fr);gap:12px;max-width:640px;margin:28px auto 0;display:grid}@media (width<=720px){.celebration-stats{grid-template-columns:repeat(2,1fr)}}.cel-stat{background:var(--bg-warm);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:6px;padding:16px 12px;display:flex}.cel-stat .n{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);align-items:baseline;gap:6px;font-size:28px;line-height:1;display:inline-flex}.cel-stat .n .flame{color:var(--flame);font-size:22px;line-height:1}.cel-stat .l{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:500}.nextup{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:center;gap:28px;padding:28px 32px;animation:.36s cubic-bezier(.2,.7,.2,1) .12s both cel-rise;display:grid}@media (width<=720px){.nextup{grid-template-columns:1fr;gap:20px;padding:24px 22px}}.nextup .eyebrow{margin-bottom:6px;display:block}.nextup h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:24px;font-style:italic;font-weight:400}.nextup-tease{font-family:var(--font-serif);color:var(--ink-2);max-width:56ch;margin-top:10px;font-size:15px;line-height:1.6}.nextup-rhythm{font-family:var(--font-sans);color:var(--ink-3);margin-top:14px;font-size:12px;font-style:italic}.nextup-end h3,.nextup-fallback h3{font-size:22px}.completion-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.reader-topbar{padding-top:env(safe-area-inset-top)}.reader-main{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.exit-df{bottom:calc(20px + env(safe-area-inset-bottom))}.companion-sheet{padding-bottom:env(safe-area-inset-bottom)}@media (prefers-reduced-motion:reduce){.celebration,.nextup{animation:none}}.preferences-page{max-width:780px;margin:0 auto;padding:48px 24px 160px}@media (width<=720px){.preferences-page{padding:32px 16px 140px}}.preferences-page .page-head{margin-bottom:48px}.prefs-section{border-top:1px dashed var(--rule);padding:40px 0}.prefs-section:first-of-type{border-top:0;padding-top:0}.prefs-section-copy{font-family:var(--font-serif);color:var(--ink-3);max-width:58ch;margin:-12px 0 24px;font-size:15px;line-height:1.55}.prefs-disclaimer{background:var(--bg-warm);border-left:2px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-family:var(--font-sans);color:var(--ink-3);margin:-6px 0 24px;padding:12px 16px;font-size:12px;line-height:1.55}.prefs-error,.prefs-empty,.prefs-loading{border:1px dashed var(--rule);border-radius:var(--radius-sm);font-family:var(--font-serif);color:var(--ink-3);text-align:center;padding:24px;font-size:15px;line-height:1.55}.prefs-error{color:var(--danger)}.reader-defaults{flex-direction:column;gap:28px;display:flex}.reader-defaults-compact{gap:18px}.reader-defaults-compact .settings-section{gap:6px}.reader-defaults-compact .settings-section .lbl{letter-spacing:.2em;font-size:10px}.reader-defaults-compact .theme-swatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reader-defaults-compact .theme-swatch{gap:4px;padding:6px}.reader-defaults-compact .swatch-preview{aspect-ratio:3;font-size:16px}.reader-defaults-compact .swatch-label{font-size:12px}.reader-defaults-compact .swatch-desc{display:none}@media (width<=540px){.reader-defaults-compact .theme-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}}.reader-defaults-compact .face-opt{padding:8px}.reader-defaults-compact .face-aa{font-size:22px}.reader-defaults-compact .placement-opts{flex-direction:row;gap:8px}.reader-defaults-compact .placement-opt{flex:1;padding:8px 10px}.reader-defaults-compact .placement-opt .desc{display:none}@media (width<=540px){.reader-defaults-compact .placement-opts{flex-direction:column}.reader-defaults-compact .placement-opt .desc{display:block}}.reader-defaults-compact .seg-btn{padding:6px}.reader-defaults-compact .seg-btn .seg-bot{display:none}.toggle-row{cursor:pointer;align-items:flex-start;gap:16px;padding:12px 0;display:flex}.toggle-copy{flex-direction:column;flex:1;gap:4px;display:flex}.toggle-copy .name{font-family:var(--font-sans);color:var(--ink);font-size:14px;font-weight:500}.toggle-copy .desc{font-family:var(--font-serif);color:var(--ink-3);max-width:52ch;font-size:13px;line-height:1.5}.toggle-switch{background:var(--rule-warm);cursor:pointer;width:44px;height:24px;transition:background var(--transition-fast);border:0;border-radius:999px;flex:none;position:relative}.toggle-switch .toggle-knob{background:var(--bg);width:20px;height:20px;transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.toggle-switch.on{background:var(--accent)}.toggle-switch.on .toggle-knob{background:var(--accent-ink);transform:translate(20px)}.toggle-switch.disabled{opacity:.55;cursor:not-allowed}.book-delivery-list{flex-direction:column;gap:20px;display:flex}.book-delivery-row{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:20px;padding:24px;display:flex}.book-delivery-row.status-paused,.book-delivery-row.status-abandoned{background:var(--bg-warm)}.bdr-book{grid-template-columns:56px 1fr;align-items:start;gap:16px;display:grid}.bdr-cover-link{display:block}.bdr-cover-link .cover{width:56px}.bdr-meta{min-width:0}.bdr-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:2px;display:flex}.bdr-title-row h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:20px;font-style:italic;font-weight:400}.bdr-title-row h3 a{color:inherit;text-decoration:none}.bdr-title-row h3 a:hover{color:var(--accent)}.bdr-status{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;background:var(--bg-warm);color:var(--ink-3);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:500}.bdr-status.status-active{background:var(--accent-soft);color:var(--accent)}.bdr-status.status-paused{background:var(--bg-warm);color:var(--ink-3)}.bdr-status.status-completed{background:var(--accent-soft);color:var(--accent-2)}.bdr-status.status-email-paused{background:color-mix(in oklab, var(--danger), white 85%);color:var(--danger)}.resume-global-card{background:color-mix(in oklab, var(--accent-soft), white 30%);border:1px solid var(--accent-soft);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:center;gap:24px;margin-bottom:24px;padding:24px;display:grid}@media (width<=720px){.resume-global-card{grid-template-columns:1fr}}.resume-global-card h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin-top:6px;font-size:20px;font-style:italic;font-weight:400}.resume-global-card p{font-family:var(--font-serif);color:var(--ink-2);max-width:54ch;margin-top:8px;font-size:14px;line-height:1.55}.save-pill{font-family:var(--font-sans);color:var(--ink-3);background:var(--bg-warm);letter-spacing:.06em;border-radius:999px;padding:2px 8px;font-size:11px}.save-pill.ok{background:var(--accent-soft);color:var(--accent)}.save-pill.err{background:color-mix(in oklab, var(--danger), white 75%);color:var(--danger)}.bdr-author{font-family:var(--font-sans);color:var(--ink-3);margin-bottom:6px;font-size:12px}.bdr-progress{font-family:var(--font-sans);color:var(--ink-3);font-size:12px}.bdr-disabled-note{background:var(--bg-warm);border-radius:var(--radius-sm);font-family:var(--font-serif);color:var(--ink-3);padding:10px 14px;font-size:13px;font-style:italic;line-height:1.5}.bdr-controls{flex-direction:column;gap:18px;display:flex}.bdr-controls.disabled{opacity:.55;pointer-events:none}.bdr-field{flex-direction:column;gap:10px;display:flex}.bdr-field-label{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:500}.bdr-field .cadence-options{grid-template-columns:repeat(2,1fr);gap:8px}@media (width>=720px){.bdr-field .cadence-options{grid-template-columns:repeat(4,1fr)}}.bdr-field .method-options{grid-template-columns:repeat(2,1fr);gap:8px}.bdr-actions{border-top:1px dashed var(--rule);flex-wrap:wrap;align-items:center;gap:12px;padding-top:16px;display:flex}.btn-danger-link{color:var(--danger);font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #0000;padding:6px 4px;font-size:13px}.btn-danger-link:hover{border-bottom-color:var(--danger)}.btn-danger-link:disabled{opacity:.55;cursor:not-allowed}.bdr-confirm{font-family:var(--font-sans);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.bdr-confirm em{font-family:var(--font-display);font-size:14px}.notif-list{flex-direction:column;gap:4px;display:flex}.notif-row{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--bg-elev);cursor:pointer;align-items:flex-start;gap:20px;padding:16px 18px;display:flex}.notif-row+.notif-row{margin-top:8px}.notif-copy{flex-direction:column;flex:1;gap:4px;display:flex}.notif-copy .name{font-family:var(--font-sans);color:var(--ink);font-size:14px;font-weight:500}.notif-copy .desc{font-family:var(--font-serif);color:var(--ink-3);font-size:13px;line-height:1.5}.account-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:20px;padding:24px;display:flex}.account-row{border-bottom:1px dashed var(--rule);justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;display:flex}.account-row .label{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.account-row .value{font-family:var(--font-sans);color:var(--ink);word-break:break-all;font-size:14px}.account-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn-danger{border:1px solid color-mix(in oklab, var(--danger), transparent 55%);color:var(--danger);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:500}.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.delete-backdrop{z-index:95;background:#0a0a108c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.delete-modal{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow-lg);padding:36px 32px 28px;animation:.22s cubic-bezier(.2,.7,.2,1) cel-rise;position:relative}.delete-close{width:30px;height:30px;color:var(--ink-3);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.delete-close:hover{background:var(--bg-warm);color:var(--ink)}.delete-modal h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin-bottom:10px;padding-right:32px;font-size:28px;font-style:italic;font-weight:400;line-height:1.2}.delete-sub{font-family:var(--font-serif);color:var(--ink-3);margin-bottom:24px;font-size:15px;line-height:1.55}.delete-reasons{flex-direction:column;gap:8px;margin-top:16px;display:flex}.reason-btn{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--ink-2);text-align:left;cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);padding:12px 16px;font-size:14px}.reason-btn:hover{border-color:var(--ink-4);color:var(--ink)}.reason-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}.delete-modal textarea{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);width:100%;font-family:var(--font-serif);color:var(--ink);resize:vertical;padding:12px 14px;font-size:14px}.delete-modal textarea:focus{border-color:var(--accent);outline:none}.delete-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}@media (prefers-reduced-motion:reduce){.delete-modal{animation:none}}.paywall{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);max-width:560px;box-shadow:var(--shadow);margin:40px auto 80px;padding:40px 36px 36px}@media (width<=640px){.paywall{margin:16px auto 48px;padding:28px 24px}}.paywall-eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;font-size:11px;font-weight:500}.paywall-heading{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin-bottom:14px;font-size:30px;font-style:italic;font-weight:400;line-height:1.15}.paywall-heading em{color:var(--accent);font-style:italic}.paywall-sub{font-family:var(--font-serif);color:var(--ink-2);margin-bottom:24px;font-size:16px;line-height:1.6}.paywall-sub em{font-style:italic}.paywall-founders-note{background:var(--accent-soft);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--accent-2);margin-bottom:20px;padding:14px 16px;font-size:13px;line-height:1.55}.paywall-plans{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px;display:grid}.paywall-plan{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);flex-direction:column;gap:4px;padding:16px 14px;display:flex}.paywall-plan:hover{border-color:var(--ink-4)}.paywall-plan.active{border-color:var(--accent);background:var(--accent-soft)}.paywall-plan .plan-title{font-family:var(--font-sans);color:var(--ink);font-size:14px;font-weight:500}.paywall-plan .plan-subtitle{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.paywall-plan .plan-prices{font-family:var(--font-display);color:var(--ink-2);align-items:baseline;gap:6px;margin-top:6px;font-size:15px;font-style:italic;display:flex}.paywall-plan .plan-sep{color:var(--ink-4)}.paywall-interval{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 24px;display:grid}.paywall-interval-btn{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.paywall-interval-btn:hover{border-color:var(--ink-4)}.paywall-interval-btn.active{border-color:var(--accent);background:var(--accent-soft)}.paywall-interval-btn .label{font-family:var(--font-sans);color:var(--ink);font-size:13px;font-weight:500}.paywall-interval-btn .price{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:20px;font-style:italic}.paywall-interval-btn .save{font-family:var(--font-sans);color:var(--accent);letter-spacing:.04em;font-size:11px}.paywall-error{background:color-mix(in oklab, var(--danger), white 85%);border-radius:var(--radius-sm);font-family:var(--font-sans);color:var(--danger);margin-bottom:14px;padding:10px 14px;font-size:13px}.paywall-soft{font-family:var(--font-serif);color:var(--ink-3);text-align:center;margin-top:18px;font-size:14px;font-style:italic}.paywall-fine{font-family:var(--font-sans);color:var(--ink-4);text-align:center;margin-top:14px;font-size:12px}.home-page{max-width:var(--max-page);margin:0 auto;padding:0 24px}@media (width<=720px){.home-page{padding:0 16px}}.home-hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:72px;padding:56px 0 64px;display:grid}@media (width<=960px){.home-hero{grid-template-columns:1fr;gap:40px;padding:40px 0 48px}}.home-hero-copy{min-width:0}.home-eyebrow{border:1px solid var(--rule);background:var(--bg-elev);font-family:var(--font-sans);color:var(--ink-2);letter-spacing:-.005em;border-radius:100px;align-items:center;gap:10px;margin-bottom:28px;padding:5px 14px 5px 5px;font-size:12px;display:inline-flex}.home-eyebrow .dot{background:var(--accent);width:20px;height:20px;color:var(--accent-ink);font-size:11px;font-family:var(--font-display);letter-spacing:0;border-radius:100px;place-items:center;font-style:italic;display:grid}.home-hero-copy h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);margin-bottom:28px;font-size:clamp(44px,6.2vw,84px);font-weight:400;line-height:1.02}.home-hero-copy h1 em{color:var(--accent);font-style:italic}.home-hero-sub{font-family:var(--font-serif);color:var(--ink-2);max-width:56ch;margin-bottom:36px;font-size:19px;line-height:1.55}.home-ctas{flex-wrap:wrap;gap:12px;margin-bottom:40px;display:flex}.home-trust-bar{border-top:1px solid var(--rule);font-family:var(--font-sans);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:14px;padding-top:24px;font-size:14px;line-height:1.5;display:flex}.home-trust-item{flex-wrap:wrap;align-items:baseline;gap:6px;display:inline-flex}.home-trust-item b{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:20px;font-style:italic;font-weight:500}.home-trust-sep{color:var(--ink-3);font-size:16px}.home-trust-price{align-items:baseline}.home-price-old{font-family:var(--font-display);color:var(--ink-3);font-size:18px;font-style:italic;text-decoration:line-through}.home-price-new{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:22px;font-style:italic;font-weight:500}.home-price-unit{font-family:var(--font-sans);color:var(--ink-3);margin-left:-4px;font-size:13px}.home-founder-badge{background:var(--accent-soft);color:var(--accent);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;margin-left:6px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-block}.home-hero-art{justify-content:center;align-items:center;min-height:380px;display:flex;position:relative}.home-hero-stack{aspect-ratio:1;width:100%;max-width:420px;position:relative}.home-hero-stack .cover{width:48%;position:absolute;box-shadow:0 18px 48px -16px #00000059}.home-hero-stack .cover:first-child{top:0;left:0;transform:rotate(-4deg)}.home-hero-stack .cover:nth-child(2){top:12%;right:4%;transform:rotate(3deg)}.home-hero-stack .cover:nth-child(3){bottom:0;left:18%;transform:rotate(-1deg)}.home-envelope{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);width:44%;box-shadow:var(--shadow);padding:14px 16px;position:absolute;bottom:0;right:0;transform:rotate(2deg)}.home-envelope .eyebrow{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:10px}.home-envelope .time{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:19px;font-style:italic;line-height:1.15}.home-envelope .muted{font-family:var(--font-serif);color:var(--ink-3);margin-top:6px;font-size:12px;line-height:1.3}@media (width<=480px){.home-hero-stack{max-width:320px}.home-hero-art{min-height:300px}}.home-how{border-top:1px solid var(--rule);padding:72px 0}.home-how-header{max-width:640px;margin-bottom:36px}.home-how-header h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-bottom:14px;font-size:clamp(34px,4vw,52px);font-weight:400;line-height:1.1}.home-how-header p{font-family:var(--font-serif);color:var(--ink-3);max-width:58ch;font-size:17px;line-height:1.6}.home-how-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}@media (width<=800px){.home-how-grid{grid-template-columns:1fr;gap:24px}}.home-how-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);padding:32px 28px}.home-how-card .num{font-family:var(--font-display);color:var(--accent);letter-spacing:-.01em;margin-bottom:14px;font-size:22px;font-style:italic}.home-how-card h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin-bottom:10px;font-size:22px;font-style:italic;font-weight:400}.home-how-card p{font-family:var(--font-serif);color:var(--ink-2);font-size:15px;line-height:1.6}.home-diff{border-top:1px solid var(--rule);grid-template-columns:1fr 1.1fr;align-items:start;gap:64px;padding:72px 0;display:grid}@media (width<=960px){.home-diff{grid-template-columns:1fr;gap:32px;padding:56px 0}}.home-diff-left .eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.home-diff-left h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:14px 0 20px;font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.1}.home-diff-left h2 em{color:var(--accent);font-style:italic}.home-diff-left p{font-family:var(--font-serif);color:var(--ink-3);max-width:44ch;font-size:16px;line-height:1.65}.home-diff-list{grid-template-columns:1fr 1fr;gap:20px 28px;margin:0;padding:0;list-style:none;display:grid}@media (width<=640px){.home-diff-list{grid-template-columns:1fr}}.home-diff-list li{grid-template-columns:auto 1fr;align-items:start;gap:14px;display:grid}.home-diff-list .ico{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-sm);width:36px;height:36px;font-family:var(--font-display);color:var(--accent);place-items:center;font-size:18px;font-style:italic;display:grid}.home-diff-list .label{font-family:var(--font-sans);color:var(--ink);margin-bottom:4px;font-size:14px;font-weight:500}.home-diff-list .meta{font-family:var(--font-serif);color:var(--ink-3);font-size:13px;line-height:1.5}.home-diff-soon{opacity:.72}.home-diff-soon .ico{color:var(--ink-3);background:0 0;border-style:dashed}.home-diff-soon .label{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.home-diff-soon .meta{font-style:italic}.home-diff-soon-badge{border:1px solid var(--rule);color:var(--ink-3);font-family:var(--font-display);letter-spacing:.02em;text-transform:none;background:0 0;border-radius:999px;padding:2px 8px;font-size:11px;font-style:italic;font-weight:400;display:inline-block}.home-pricing{border-top:1px solid var(--rule);text-align:center;padding:72px 0 80px}.home-pricing-header{max-width:640px;margin:0 auto 36px}.home-pricing-header h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-bottom:14px;font-size:clamp(30px,3.8vw,46px);font-weight:400;line-height:1.1}.home-pricing-header p{font-family:var(--font-serif);color:var(--ink-3);max-width:52ch;margin:0 auto;font-size:17px;line-height:1.55}.home-plans{text-align:left;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:780px;margin:0 auto;display:grid}.home-plan{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:8px;padding:32px 28px;display:flex}.home-plan-featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:var(--bg-elev)}.home-plan-name{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:11px;font-weight:500}.home-plan-price{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:56px;font-style:italic;line-height:1}.home-plan-price sup{vertical-align:super;color:var(--ink-3);margin-right:2px;font-size:22px;font-style:italic}.home-plan-price small{color:var(--ink-3);margin-left:4px;font-size:16px;font-style:italic}.home-plan-or{font-family:var(--font-sans);color:var(--ink-3);margin-top:4px;font-size:12px}.home-plan-badge{background:var(--accent-soft);width:fit-content;color:var(--accent);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-top:8px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}.home-billing-toggle{border:1px solid var(--rule);background:var(--bg-elev);border-radius:999px;gap:2px;margin-top:24px;padding:4px;display:inline-flex}.home-billing-opt{appearance:none;font-family:var(--font-sans);color:var(--ink-3);cursor:pointer;letter-spacing:-.005em;background:0 0;border:0;border-radius:999px;padding:7px 18px;font-size:13px;transition:background .12s,color .12s}.home-billing-opt.active{background:var(--ink);color:var(--bg)}.home-plan-badge-row{margin-bottom:8px}.home-plan-tag{background:var(--accent-soft);color:var(--accent);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}.home-plan-tag-muted{color:var(--ink-3);border:1px solid var(--rule);background:0 0}.home-plan-amount{font-family:var(--font-display);letter-spacing:-.03em;font-size:56px;font-style:italic}.home-plan-sub{font-family:var(--font-serif);color:var(--ink-3);margin-top:6px;font-size:14px}.home-plan-dim{opacity:.62;background:0 0}.home-plan-price-dim,.home-plan-price-dim sup,.home-plan-price-dim small,.home-plan-list-dim,.home-plan-list-dim li:before{color:var(--ink-3)}.home-plan-coming{text-align:center;font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:auto;padding:12px 0 0;font-size:12px}.home-pricing-gift{text-align:center;margin-top:40px}.home-gift-link{font-family:var(--font-serif);color:var(--accent);border-bottom:1px solid var(--accent-soft);padding-bottom:2px;font-size:17px;font-style:italic;text-decoration:none;transition:border-color .12s;display:inline-block}.home-gift-link:hover{border-bottom-color:var(--accent)}.home-plan-list{font-family:var(--font-serif);color:var(--ink-2);flex-direction:column;gap:8px;margin:20px 0;padding:0;font-size:15px;line-height:1.5;list-style:none;display:flex}.home-plan-list li{padding-left:18px;position:relative}.home-plan-list li:before{content:"·";color:var(--accent);font-size:22px;line-height:1;position:absolute;top:-2px;left:4px}.btn.btn-block{width:100%}.home-pricing-fine{font-family:var(--font-sans);color:var(--ink-3);max-width:52ch;margin-top:28px;margin-left:auto;margin-right:auto;font-size:13px}.home-pricing-fine strong{color:var(--accent);letter-spacing:.04em;font-weight:500}.journey-pin .pin-circle{font-family:var(--font-sans);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-weight:600;transition:transform .18s,box-shadow .18s;display:flex}.journey-pin-primary .pin-circle{background:var(--accent);color:var(--accent-ink);border:2px solid #fff;font-size:13px;box-shadow:0 2px 4px #0000002e}.journey-pin-secondary .pin-circle{color:var(--ink-3);border:1.5px solid var(--accent);background:#fff;font-size:10px;box-shadow:0 1px 2px #0000001a}.journey-pin-active .pin-circle{box-shadow:0 4px 12px color-mix(in oklab, var(--accent), transparent 60%);z-index:1000;transform:scale(1.3)}.journey-pin-current{position:relative}.journey-pin-current:before{content:"";background:var(--accent);opacity:.3;pointer-events:none;border-radius:50%;animation:2s ease-in-out infinite journey-pin-pulse;position:absolute;inset:-10px}@keyframes journey-pin-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.05;transform:scale(1.5)}}.leaflet-control-attribution{font-family:var(--font-sans);font-size:10px;background:#ffffffd9!important}.leaflet-control-attribution a{color:var(--accent)}
