@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-var-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-var-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/cormorant-garamond-var-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/cormorant-garamond-var-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/cormorant-garamond-var-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/cormorant-garamond-var-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-400-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-400-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-400-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-400-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/spectral-500-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/spectral-500-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/spectral-500-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/spectral-500-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spectral;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/spectral-600-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Spectral;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/spectral-600-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/spectral-600-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/spectral-600-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/hanken-grotesk-var-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/hanken-grotesk-var-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/hanken-grotesk-var-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/public-sans-var-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/public-sans-var-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-var-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-var-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-var-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-var-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--font-serif:"Newsreader",Georgia,serif;--font-sans:"Hanken Grotesk",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--ease-standard:cubic-bezier(0.22,1,0.36,1);--dur-quick:180ms;--dur-standard:280ms;--dur-screen:340ms;--dur-flip:550ms}@media (prefers-reduced-motion:reduce){:root{--dur-quick:0.01ms;--dur-standard:0.01ms;--dur-screen:0.01ms;--dur-flip:0.01ms}}body,html{height:100%;margin:0;padding:0;background:#efe7d4}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none;overflow:hidden}.app[data-theme=light]{--paper:oklch(0.948 0.020 86);--paper-deep:oklch(0.928 0.026 84);--surface:oklch(0.978 0.012 90);--surface-2:oklch(0.935 0.022 86);--ink:oklch(0.305 0.022 66);--ink-soft:oklch(0.452 0.020 68);--ink-mute:oklch(0.518 0.016 70);--line:oklch(0.305 0.022 66/0.13);--line-soft:oklch(0.305 0.022 66/0.07);--line-strong:oklch(0.305 0.022 66/0.22);--gold:oklch(0.620 0.098 76);--gold-deep:oklch(0.520 0.090 70);--gold-soft:color-mix(in oklch,var(--gold) 16%,transparent);--waiting:oklch(0.520 0.060 285);--waiting-soft:color-mix(in oklch,var(--waiting) 15%,transparent);--danger:oklch(0.545 0.150 28);--danger-soft:color-mix(in oklch,var(--danger) 11%,transparent);--shadow:0 1px 2px oklch(0.30 0.02 66/0.05),0 8px 24px oklch(0.30 0.02 66/0.08);--shadow-lg:0 4px 12px oklch(0.30 0.02 66/0.08),0 24px 48px oklch(0.30 0.02 66/0.12);--glass:oklch(0.978 0.012 90/0.72);--modal-backdrop:oklch(0.305 0.022 66/0.52);--statusbar:#2a2519}.app[data-theme=dark]{--paper:oklch(0.205 0.026 268);--paper-deep:oklch(0.175 0.024 268);--surface:oklch(0.255 0.028 266);--surface-2:oklch(0.300 0.030 266);--ink:oklch(0.935 0.016 86);--ink-soft:oklch(0.780 0.020 86);--ink-mute:oklch(0.620 0.022 86);--line:oklch(0.935 0.016 86/0.13);--line-soft:oklch(0.935 0.016 86/0.07);--line-strong:oklch(0.935 0.016 86/0.24);--gold:oklch(0.770 0.110 82);--gold-deep:oklch(0.680 0.105 78);--gold-soft:color-mix(in oklch,var(--gold) 18%,transparent);--waiting:oklch(0.700 0.070 282);--waiting-soft:color-mix(in oklch,var(--waiting) 18%,transparent);--danger:oklch(0.700 0.140 28);--danger-soft:color-mix(in oklch,var(--danger) 18%,transparent);--shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 24px rgba(0,0,0,0.4);--shadow-lg:0 4px 12px rgba(0,0,0,0.4),0 24px 56px rgba(0,0,0,0.55);--glass:oklch(0.255 0.028 266/0.72);--modal-backdrop:oklch(0.100 0.010 268/0.68);--statusbar:#f3ecdb}.viewport{position:fixed;inset:0;display:grid;place-items:center;transition:background .5s ease}.viewport[data-theme=light]{background:radial-gradient(120% 120% at 50% 0,#efe7d4 0,#e3d8c1 75%)}.viewport[data-theme=dark]{background:radial-gradient(120% 120% at 50% 0,#15131c 0,#0b0a0f 70%)}.app-frame{position:relative;width:100%;max-width:440px;height:100vh;height:100dvh;overflow:hidden}@media (min-width:480px){.app-frame{height:min(92dvh,940px);border-radius:30px;box-shadow:0 50px 100px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.06)}}html.has-app-banner .viewport{top:var(--app-banner-h,0)}html.has-app-banner .app-frame{height:calc(100dvh - var(--app-banner-h, 0px))}@media (min-width:480px){html.has-app-banner .app-frame{height:min(92dvh,940px,calc(100dvh - var(--app-banner-h, 0px)))}}.app{width:100%;height:100%;background:var(--paper);color:var(--ink);font-family:var(--font-sans);position:relative;overflow:hidden;transition:background .5s ease,color .5s ease}.app ::selection{background:var(--gold-soft)}.app :where(a[href],button,input,select,textarea,[contenteditable=true],[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--gold-deep)!important;outline-offset:3px}.screen-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none;padding-bottom:env(safe-area-inset-bottom,0)}@media (prefers-reduced-motion:no-preference){.screen-scroll{scroll-behavior:smooth}}.screen-scroll::-webkit-scrollbar{display:none}.serif{font-family:var(--font-serif)}.sans{font-family:var(--font-sans)}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute)}.eyebrow-gold{color:var(--gold-deep)}.wordmark{font-family:var(--font-serif);font-weight:500;letter-spacing:.01em;white-space:nowrap}h1,h2,h3,h4{margin:0;font-weight:500}.card{background:var(--surface);border-radius:22px;box-shadow:var(--shadow);border:.5px solid var(--line-soft)}.hairline{height:.5px;background:var(--line);border:0;margin:0}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;background:var(--surface-2);color:var(--ink-soft);border:.5px solid var(--line);white-space:nowrap}.chip-gold{background:var(--gold-soft);color:var(--gold-deep)}.chip-gold,.chip-wait{border-color:transparent}.chip-wait{background:var(--waiting-soft);color:var(--waiting)}.btn{font-family:var(--font-sans);font-size:16px;font-weight:600;border:none;cursor:pointer;border-radius:16px;padding:15px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--dur-quick) var(--ease-standard),opacity .2s ease}.btn:active{transform:scale(.975)}.btn-gold{background:var(--gold-deep);color:oklch(.98 .01 90)}.app[data-theme=dark] .btn-gold{color:oklch(.18 .02 268)}.btn-ghost{background:var(--surface-2);color:var(--ink)}.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}.btn:disabled{cursor:default;opacity:.55;transform:none}.custom-plan-card-actions{display:flex;flex-wrap:wrap;gap:8px}.custom-plan-card-actions>.btn{flex:1 1 150px}.reading-plan-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:end center;background:var(--modal-backdrop);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.reading-plan-confirm-sheet,.reading-plan-editor-sheet{width:min(100%,440px);border-radius:24px 24px 0 0;box-shadow:var(--shadow-lg);overflow:hidden}.reading-plan-editor-sheet{max-height:calc(100dvh - max(12px, env(safe-area-inset-top, 0px)));display:flex;flex-direction:column}.reading-plan-confirm-sheet{padding:20px 18px calc(20px + env(safe-area-inset-bottom, 0px))}.reading-plan-editor-header{position:relative;flex:0 0 auto;padding:16px 18px 13px;border-bottom:1px solid var(--line);background:var(--surface)}.reading-plan-close-button{position:absolute;top:10px;right:10px;width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:999px;background:var(--surface-2);color:var(--ink);font:400 28px/1 var(--font-sans);cursor:pointer}.reading-plan-editor-form{min-height:0;flex:1 1 auto;display:flex;flex-direction:column}.reading-plan-editor-body{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:17px 18px 20px}.reading-plan-editor-footer{flex:0 0 auto;padding:12px 18px calc(14px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -8px 20px color-mix(in oklch,var(--ink) 6%,transparent)}.reading-plan-editor-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.reading-plan-editor-actions .btn{padding-inline:10px;font-size:14px}.reading-plan-field-group{margin-bottom:15px}.reading-plan-label{display:block;margin-bottom:6px;font-family:var(--font-sans);font-size:13px;font-weight:700;line-height:1.35;color:var(--ink)}.reading-plan-required{font-weight:500;color:var(--ink-mute)}.reading-plan-field{display:block;width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--line-strong);border-radius:13px;background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.4}textarea.reading-plan-field{resize:vertical}.reading-plan-field::placeholder{color:var(--ink-mute);opacity:.9}.reading-plan-field[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.reading-plan-field-error{margin-bottom:15px;padding:13px 14px;border:1px solid var(--danger);border-radius:15px;background:var(--danger-soft);color:var(--ink)}.reading-plan-days,.reading-plan-pacing{min-width:0;margin:0;padding:0;border:0}.reading-plan-pacing{margin-bottom:17px}.reading-plan-pacing-options{display:grid;gap:8px}.reading-plan-pacing-options>label{min-height:54px;padding:9px 11px;display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);cursor:pointer}.reading-plan-pacing-options>label.is-selected{border-color:var(--gold-deep);background:var(--gold-soft)}.reading-plan-pacing-options input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--gold-deep)}.reading-plan-pacing-options span{display:grid;gap:2px}.reading-plan-pacing-options strong{font-size:13px;color:var(--ink)}.reading-plan-pacing-options small{font-size:11.5px;line-height:1.35;color:var(--ink-mute)}.reading-plan-day-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}.reading-plan-day-card{padding:13px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2)}.reading-plan-day-heading{min-height:44px;margin-bottom:8px;display:flex;align-items:center;gap:10px}.reading-plan-day-heading h4{flex:1 1 auto;font-size:19px}.reading-plan-day-order{display:flex;gap:6px}.reading-plan-day-order .btn{width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;font-size:18px}.reading-plan-reference-field{min-height:72px}.reading-plan-remove-day{width:100%;min-height:44px;margin-top:10px;padding:9px 12px;border-radius:12px;font-size:13px}.reading-plan-add-day{width:100%;min-height:48px;margin-top:11px;border-style:dashed;font-size:14px}@media (min-width:480px){.reading-plan-dialog-backdrop{inset:auto;left:50%;top:50%;width:min(440px,100vw);height:min(92dvh,940px);transform:translate(-50%,-50%);overflow:hidden;border-radius:30px}.reading-plan-editor-sheet{max-height:calc(100% - 12px)}}@media (max-width:340px){.reading-plan-editor-actions{grid-template-columns:1fr}}.btn,.tap,[role=button],a,button{touch-action:manipulation}.tap{cursor:pointer;transition:background .15s ease}.tap:active{background:var(--surface-2)}.tap-44{position:relative}.tap-44:after{content:"";top:-2px;bottom:-2px}.tabbar,.tap-44:after{position:absolute;left:0;right:0}.tabbar{bottom:0;height:calc(92px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(26px + env(safe-area-inset-bottom, 0px));display:flex;align-items:flex-start;justify-content:space-around;padding-top:10px;background:var(--glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:.5px solid var(--line);z-index:30}.tab-item{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;flex:1 1;padding-top:4px;background:none;border:none;color:var(--ink-mute);transition:color .2s ease}.tab-item.active{color:var(--gold-deep)}.tab-label{font-size:10px;font-weight:600;letter-spacing:.03em}.tab-item{transition:color .2s ease,transform var(--dur-quick) var(--ease-standard)}.tab-item:active{transform:scale(.92)}.tab-fade{position:absolute;inset:0;animation:tabFade var(--dur-standard) var(--ease-standard) both}@keyframes tabFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.965)}to{opacity:1;transform:none}}@keyframes drawRing{0%{stroke-dashoffset:var(--dash)}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:no-preference){.app.is-ready .anim-up{animation:fadeUp .55s var(--ease-standard) both}.app.is-ready .anim-in{animation:fadeIn .55s ease both}.app.is-ready .anim-scale{animation:scaleIn .55s var(--ease-standard) both}}.overlay-screen{position:absolute;inset:0;z-index:40;background:var(--paper);display:flex;flex-direction:column}@media (prefers-reduced-motion:no-preference){.slide-in{animation:slideIn var(--dur-screen) var(--ease-standard) both}.sheet-in{animation:sheetUp var(--dur-screen) var(--ease-standard) both}}@keyframes slideIn{0%{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}@keyframes sheetUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}.scroll-pane{scrollbar-width:none}.scroll-pane::-webkit-scrollbar{display:none}@keyframes scroll-thread-kindle{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:no-preference){.scroll-kindle-loading{stroke-dasharray:56;stroke-dashoffset:56;animation:scroll-thread-kindle .9s var(--ease-standard) .12s forwards}}.bounded-preview-screen{min-height:0}.fallen-preview-stage{--fallen-handoff-reservation:218px}.fallen-bounded-preview{padding-bottom:var(--fallen-handoff-reservation)}.fallen-bounded-preview>.bounded-preview-intro{flex:0 1 auto;min-height:0;max-height:min(34%,190px);overflow-y:auto;overscroll-behavior:contain}.bounded-preview-intro{flex:0 0 auto;padding:8px 14px 6px;border-bottom:.5px solid var(--line-soft);background:color-mix(in oklch,var(--paper) 94%,transparent)}.bounded-preview-intro>p{margin:0;font:12px/1.45 var(--font-sans);color:var(--ink-mute)}.bounded-filter-row,.bounded-ledger-row{display:flex;align-items:center;gap:7px;margin-top:7px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.bounded-filter-row::-webkit-scrollbar,.bounded-ledger-row::-webkit-scrollbar{display:none}.bounded-filter-chip,.bounded-ledger-row>button{min-height:44px;flex:0 0 auto}.bounded-ledger-row>button{border:.5px solid var(--line);border-radius:999px;padding:7px 12px;background:var(--surface-2);color:var(--ink-soft);font:600 11px/1.1 var(--font-sans)}.bounded-scroll-shell{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;position:relative;background:radial-gradient(circle at 30% 20%,color-mix(in oklch,var(--gold-soft) 52%,transparent),transparent 32%),var(--paper)}.bounded-scroll-tools{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 14px 7px;position:relative;z-index:18;background:var(--paper);border-bottom:.5px solid var(--line-soft)}.bounded-search-wrap{position:relative;min-width:0}.bounded-search{width:100%;min-height:44px;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:13px;padding:9px 12px;background:var(--surface);color:var(--ink);font:16px/1.2 var(--font-sans)}.bounded-search-results{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:240px;overflow-y:auto;border-radius:14px;padding:4px 0}.bounded-search-result{width:100%;min-height:48px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border:0;background:transparent;color:var(--ink);text-align:left}.bounded-search-result .serif{font-size:15px}.bounded-empty-result,.bounded-search-result .sans{font-size:11px;color:var(--ink-mute)}.bounded-empty-result{padding:12px}.bounded-zoom-controls{display:grid;grid-template-columns:44px 58px 44px;border:.5px solid var(--line);border-radius:13px;overflow:hidden;background:var(--surface)}.bounded-zoom-controls>button{min-width:44px;min-height:44px;border:0;border-left:.5px solid var(--line);background:transparent;color:var(--ink);font:600 19px/1 var(--font-sans)}.bounded-zoom-controls>button:first-child{border-left:0}.bounded-zoom-controls>button:disabled{opacity:.38;cursor:default}.bounded-zoom-controls>.bounded-scale-toggle{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bounded-search-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bounded-scroll-stage{flex:1 1 auto;min-height:0;position:relative}.bounded-scroll-host{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;background:repeating-linear-gradient(0deg,transparent 0 118px,color-mix(in oklch,var(--line-soft) 38%,transparent) 119px 120px)}.bounded-scroll-world{position:relative;transform-origin:0 0;isolation:isolate}.bounded-scroll-ink{position:absolute;inset:0;overflow:visible;pointer-events:none}.bounded-landmark-heading{position:absolute;left:50%;z-index:3;width:390px;transform:translateX(-50%);text-align:center;pointer-events:none}.bounded-landmark-heading .eyebrow{font-size:9px}.bounded-landmark-heading h2{margin-top:7px;font-size:30px;line-height:1.05;color:var(--ink)}.bounded-landmark-heading p{margin:6px auto 0;max-width:360px;font-size:12px;line-height:1.45;color:var(--ink-mute)}.bounded-link-list,.bounded-node-list{margin:0;padding:0;list-style:none}.bounded-link-item,.bounded-node-item{position:absolute;z-index:7;transition:opacity .15s ease}.bounded-node{width:100%;min-height:76px;display:grid;grid-template-columns:25px minmax(0,1fr);grid-template-areas:"star name" "star kind";align-items:center;column-gap:7px;padding:10px 12px;border:.5px solid var(--line-strong);border-radius:18px;background:color-mix(in oklch,var(--surface) 94%,transparent);color:var(--ink);box-shadow:var(--shadow);text-align:left;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.bounded-node-major{min-height:90px;border-color:color-mix(in oklch,var(--gold-deep) 58%,var(--line))}.bounded-node.is-selected{border:2px solid var(--gold-deep);box-shadow:0 0 0 5px var(--gold-soft),var(--shadow-lg)}.bounded-node-star{grid-area:star;color:var(--gold-deep);font-size:22px;text-align:center}.bounded-node-major .bounded-node-star{font-size:28px;text-shadow:0 0 12px var(--gold-soft)}.bounded-node-name{grid-area:name;font-size:16px;line-height:1.15}.bounded-node-major .bounded-node-name{font-size:20px}.bounded-node-kind{grid-area:kind;margin-top:4px;font-size:7.5px;line-height:1.25;letter-spacing:.15em}.bounded-link-item{z-index:8;width:140px;min-height:44px}.bounded-link-label{width:140px;min-height:44px;padding:5px 9px;border:1px solid var(--line-strong);border-radius:999px;background:color-mix(in oklch,var(--paper) 91%,transparent);color:var(--ink-soft);font:650 10px/1.2 var(--font-sans);box-shadow:var(--shadow);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.bounded-link-label.warrant-text{border-style:solid;border-color:var(--gold-deep)}.bounded-link-label.warrant-tradition{border-style:dashed}.bounded-link-label.warrant-inference{border-style:dotted}.bounded-link-label.warrant-disputed{border-style:double;border-color:var(--danger)}.bounded-link-label.warrant-unknown{opacity:.7;border-style:dotted}.bounded-link-label.is-selected{background:var(--gold-soft);color:var(--gold-deep);box-shadow:0 0 0 4px color-mix(in oklch,var(--gold-soft) 72%,transparent)}.bounded-landmark-rail{position:absolute;z-index:14;top:10px;right:max(5px,env(safe-area-inset-right,0px));bottom:10px;width:74px;display:flex;flex-direction:column;justify-content:space-evenly;align-items:stretch;pointer-events:none}.bounded-rail-line{position:absolute;top:12px;bottom:12px;right:13px;width:2px;background:color-mix(in oklch,var(--gold) 70%,transparent)}.bounded-rail-button{position:relative;min-height:44px;padding:5px 19px 5px 3px;border:0;border-radius:10px;background:color-mix(in oklch,var(--paper) 78%,transparent);color:var(--ink-mute);font:650 8px/1.15 var(--font-sans);text-align:right;pointer-events:auto;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.bounded-rail-dot{position:absolute;top:50%;right:8px;width:10px;height:10px;border:2px solid var(--gold-deep);border-radius:999px;background:var(--paper);transform:translate(50%,-50%)}.bounded-rail-button.is-current{color:var(--gold-deep);background:color-mix(in oklch,var(--gold-soft) 78%,transparent)}.bounded-rail-button.is-current .bounded-rail-dot{background:var(--gold-deep);box-shadow:0 0 0 4px var(--gold-soft)}.bounded-unlock-bar{flex:0 0 auto;min-height:92px;display:grid;grid-template-columns:minmax(0,1fr) minmax(138px,auto);gap:12px;align-items:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px));border-top:.5px solid var(--line);background:color-mix(in oklch,var(--surface) 96%,transparent);box-shadow:0 -9px 30px color-mix(in oklch,var(--ink) 8%,transparent);z-index:20}.bounded-unlock-copy{min-width:0}.bounded-unlock-copy .serif{font-size:17px;color:var(--ink)}.bounded-unlock-copy p{margin:3px 0 0;font-size:11px;line-height:1.35;color:var(--ink-mute)}.bounded-unlock-bar .btn{min-height:48px;padding:10px 14px;font-size:13px}.bounded-sheet-backdrop{position:absolute;z-index:32;inset:0;display:grid;place-items:end center;background:var(--modal-backdrop);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.bounded-preview-sheet{width:min(100%,560px);max-height:min(68%,620px);display:flex;flex-direction:column;border-radius:24px 24px 0 0;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0)}.bounded-preview-sheet>header{flex:0 0 auto;display:flex;align-items:flex-start;gap:12px;padding:16px 16px 11px;border-bottom:.5px solid var(--line)}.bounded-preview-sheet>header>div{min-width:0;flex:1 1}.bounded-preview-sheet h2{margin-top:4px;font-size:24px;line-height:1.15;color:var(--ink)}.bounded-sheet-close{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:999px;background:var(--surface-2);color:var(--ink);font:300 28px/1 var(--font-sans)}.bounded-sheet-body{min-height:0;overflow-y:auto;padding:13px 16px 20px}.bounded-sheet-body p{margin:0 0 12px;font:13.5px/1.55 var(--font-sans);color:var(--ink-soft)}.bounded-sheet-section{border-top:.5px solid var(--line-soft);padding-top:11px;margin-top:11px}.bounded-sheet-section:first-child{border-top:0;padding-top:0;margin-top:0}.bounded-sheet-section h3{margin:0 0 6px;font:600 10px/1.2 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}.bounded-source-chips{display:flex;gap:6px;flex-wrap:wrap}.bounded-source-chips .chip{white-space:normal;font-size:10px;line-height:1.3}.bounded-related-buttons{display:flex;gap:7px;flex-wrap:wrap}.bounded-related-buttons>button{min-height:44px}.bounded-ledger-entry{padding:12px 0;border-top:.5px solid var(--line-soft)}.bounded-ledger-entry:first-child{border-top:0;padding-top:0}.bounded-ledger-entry .serif{font-size:17px;line-height:1.3;color:var(--ink)}.bounded-ledger-entry .eyebrow{margin-bottom:5px}.bounded-ledger-entry p:last-child{margin-bottom:0}.fallen-locked-panel{bottom:14px;box-sizing:border-box;max-height:calc(var(--fallen-handoff-reservation) - 12px);overflow-y:auto;padding:20px 20px 18px;text-align:center}@media (prefers-reduced-motion:no-preference){.bounded-spine-kindle{stroke-dasharray:1180;stroke-dashoffset:1180;animation:scroll-thread-kindle .9s var(--ease-standard) .1s forwards}.bounded-trace-kindle{animation:bounded-trace-pulse .55s var(--ease-standard) both}.bounded-node.is-kindled{animation:bounded-node-kindle .55s var(--ease-standard) both}}@keyframes bounded-trace-pulse{0%{stroke-dashoffset:110;opacity:.35}to{stroke-dashoffset:0;opacity:1}}@keyframes bounded-node-kindle{0%{transform:scale(.98)}55%{transform:scale(1.025)}to{transform:none}}@media (prefers-reduced-motion:reduce){.bounded-claim-transition,.bounded-node-item{transition-duration:0s!important}}@media (max-height:760px){.fallen-preview-stage{--fallen-handoff-reservation:96px}.fallen-bounded-preview>.bounded-preview-intro{max-height:min(36%,140px)}.fallen-locked-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;text-align:left}.fallen-locked-body,.fallen-locked-icon{display:none!important}.fallen-locked-title{font-size:16px!important}.fallen-locked-panel>.btn{width:auto!important;min-height:44px}}@media (max-height:640px){.fallen-bounded-preview>.bounded-preview-intro{max-height:92px}}@media (max-height:480px){.fallen-preview-stage{--fallen-handoff-reservation:68px}.fallen-bounded-preview>.bounded-preview-intro{max-height:52px}.fallen-bounded-preview .bounded-scroll-tools{padding-block:4px}.fallen-locked-panel{bottom:6px;gap:6px;padding:4px 8px}}@media (max-height:480px) and (orientation:landscape){html.has-app-banner .fallen-overlay-screen>.overlay-header{padding-top:24px!important;padding-bottom:8px!important}}@media (max-width:374px){.bounded-scroll-tools{padding-inline:8px;gap:5px}.bounded-zoom-controls{grid-template-columns:44px 48px 44px}.bounded-preview-intro{padding-inline:10px}.bounded-unlock-bar{grid-template-columns:minmax(0,1fr) 126px;gap:8px;padding-inline:10px}.bounded-unlock-copy p{display:none}.bounded-unlock-bar .btn{font-size:12px;padding-inline:8px}}@media (min-width:700px){.bounded-preview-intro,.bounded-scroll-tools{padding-inline:22px}.bounded-search-wrap{max-width:520px}.bounded-unlock-bar{padding-inline:22px}.bounded-preview-sheet{border-radius:24px;margin-bottom:18px}.bounded-sheet-backdrop{place-items:center}}.fade-content{animation:fadeContent var(--dur-standard) var(--ease-standard) both}@keyframes fadeContent{0%{opacity:0}to{opacity:1}}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-divider{display:flex;align-items:center;gap:10px;color:var(--ink-mute)}.dash-divider:after,.dash-divider:before{content:"";flex:1 1;height:.5px;background:var(--line)}.dial-carousel-track::-webkit-scrollbar{display:none}.app[data-theme=light]{--manna-back:#F7F2E4;--manna-front:#ECE3CC;--manna-emblem:#9C7C3C;--manna-wordmark-ink:#2B2A28;--manna-wordmark-gold:#C49A4A;--manna-rule:#C49A4A;--manna-theme:#A39E8F;--manna-hint:#8B8470;--manna-front-ink:#2B2A28;--manna-front-soft:#5C564A;--manna-card-line:rgba(43,42,40,0.10);--manna-glow:rgba(255,224,138,0.85)}.app[data-theme=dark]{--manna-back:#1A1722;--manna-front:#14111B;--manna-emblem:#D9B768;--manna-wordmark-ink:#EDE7DC;--manna-wordmark-gold:#E0BD6A;--manna-rule:#E0BD6A;--manna-theme:#8E886F;--manna-hint:#7C765F;--manna-front-ink:#EDE7DC;--manna-front-soft:#B6AE99;--manna-card-line:rgba(237,231,220,0.10);--manna-glow:rgba(224,189,106,0.55)}.manna-deck{position:relative;width:min(78vw,332px);margin:8px auto 4px;height:calc((min(78vw, 332px) * 4.35 / 3) + 64px);touch-action:pan-y}.manna-deck-glow{position:absolute;left:50%;top:44%;width:78%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--manna-glow) 0,color-mix(in srgb,var(--manna-glow) 30%,transparent) 45%,transparent 70%);filter:blur(14px);pointer-events:none;z-index:0}.manna-slide{position:absolute;left:0;right:0;top:14px;margin:0 auto;width:100%;touch-action:none;user-select:none;-webkit-user-select:none;will-change:transform,opacity}.manna-slide.is-front{cursor:grab}.manna-slide.is-front:active{cursor:grabbing}.manna-card{position:relative;display:block;width:100%;aspect-ratio:3/4.35;perspective:1400px;cursor:inherit;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-quick) var(--ease-standard)}.manna-slide.is-front .manna-card:not(.is-turned):active{transform:scale(.97)}.manna-card-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform var(--dur-flip) var(--ease-standard);will-change:transform}.manna-card.is-turned .manna-card-inner{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.manna-card-inner{transition:none}}.manna-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);border-radius:26px;box-shadow:var(--shadow-lg);border:.5px solid var(--manna-card-line);display:flex;flex-direction:column;overflow:hidden}.manna-back{background:var(--manna-back);align-items:center;padding:30px 22px 26px}.manna-emblem-hero{flex:1 1;display:grid;place-items:center;width:100%}.manna-footer{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%}.manna-wordmark{font-family:var(--font-serif);font-weight:500;font-size:25px;letter-spacing:.01em;line-height:1}.manna-wordmark,.manna-wordmark .ink{color:var(--manna-wordmark-ink)}.manna-wordmark .gold{color:var(--manna-wordmark-gold)}.manna-rule{width:34px;height:2px;border-radius:1px;background:var(--manna-rule)}.manna-theme-name{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--manna-theme);text-align:center}.manna-hint,.manna-locked{font-family:var(--font-sans);font-size:12.5px;font-weight:500;color:var(--manna-hint);display:inline-flex;align-items:center;gap:6px;margin-top:2px}.manna-front{background:var(--manna-front);transform:rotateY(180deg);padding:28px 24px 24px}.manna-front-eyebrow{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--manna-wordmark-gold)}.manna-context{font-family:var(--font-sans);font-size:12px;line-height:1.45;color:var(--manna-front-soft);margin-top:7px}.manna-verse{font-family:var(--font-serif);font-weight:500;color:var(--manna-front-ink);line-height:1.18;letter-spacing:-.01em;margin-top:18px}.manna-verse-text{line-height:1.46;letter-spacing:normal;margin-top:16px;flex:1 1 auto;min-height:0;overflow-y:auto;text-wrap:pretty;scrollbar-width:none}.manna-verse-text::-webkit-scrollbar{display:none}.manna-christ{font-family:var(--font-serif);font-style:italic;font-size:15px;line-height:1.5;color:var(--manna-front-soft);margin-top:14px}.manna-reference{font-family:var(--font-sans);font-size:14.5px;font-weight:600;color:var(--manna-front-soft);margin-top:12px}.manna-encouragement{font-family:var(--font-serif);font-size:13px;font-style:italic;line-height:1.5;color:var(--ink-soft);text-align:center;margin-top:8px}.manna-follow{font-family:var(--font-sans);font-size:11px;font-style:italic;color:var(--manna-front-soft);opacity:.85;margin-top:auto;padding-top:16px}.manna-dots{display:flex;justify-content:center;gap:7px;margin-top:4px}.manna-dot{width:6px;height:6px;border-radius:999px;background:var(--line-strong);transition:background var(--dur-quick) var(--ease-standard),width var(--dur-quick) var(--ease-standard)}.manna-dot.on{background:var(--gold-deep);width:18px}