:root{--bg:#0f0e0d;--bg-rgb:15, 14, 13;--bg-secondary:#131211;--bg-secondary-rgb:19, 18, 17;--bg-elevated:#1c1a18;--bg-elevated-rgb:28, 26, 24;--surface:#171514;--surface-rgb:23, 21, 20;--surface-elevated:#1c1a18;--surface-elevated-rgb:28, 26, 24;--surface-secondary:var(--surface-elevated);--surface-secondary-rgb:var(--surface-elevated-rgb);--shadow-rgb:0, 0, 0;--surface-hover:rgba(var(--text-secondary-rgb), .08);--text-primary:#f6f2eb;--text-primary-rgb:246, 242, 235;--text-secondary:#ddd2c4;--text-secondary-rgb:221, 210, 196;--text-muted:#a99d8f;--text-muted-rgb:169, 157, 143;--text-inverse:#2e241d;--border-soft:rgba(var(--gold-rgb), .1);--border:rgba(var(--gold-rgb), .18);--border-strong:rgba(var(--gold-rgb), .3);--divider:#ffffff14;--separator:var(--divider);--gold:#d6b98a;--gold-rgb:214, 185, 138;--gold-soft:#b99561;--gold-soft-rgb:185, 149, 97;--accent:var(--gold);--photo-overlay-top:rgba(var(--bg-rgb), .14);--photo-overlay-mid:rgba(var(--bg-rgb), .34);--photo-overlay-bottom:rgba(var(--bg-rgb), .94);--photo-overlay-side:rgba(var(--bg-rgb), .56);--photo-text-primary:var(--text-primary);--photo-text-secondary:var(--text-secondary);--chapter-hero-blend:var(--surface);--hero-overlay:linear-gradient(180deg, rgba(var(--bg-rgb), .08) 0%, rgba(var(--bg-rgb), .26) 36%, rgba(var(--bg-rgb), .9) 100%), linear-gradient(90deg, rgba(var(--bg-rgb), .5), transparent 50%, rgba(var(--bg-rgb), .18));--hero-overlay-soft:linear-gradient(180deg, rgba(var(--bg-rgb), 0) 0%, rgba(var(--bg-rgb), .05) 32%, rgba(var(--bg-rgb), .16) 56%, rgba(var(--bg-rgb), .3) 72%, rgba(var(--bg-rgb), .5) 88%, rgba(var(--bg-rgb), .6) 100%);--hero-overlay-mobile:radial-gradient(ellipse 88% 44% at 50% 33%, rgba(var(--bg-rgb), .42) 0%, rgba(var(--bg-rgb), .26) 36%, rgba(var(--bg-rgb), .1) 60%, rgba(var(--bg-rgb), 0) 85%), var(--hero-overlay-soft);--page-gradient:linear-gradient(180deg, var(--surface) 0%, var(--bg) 48%, var(--bg) 100%), var(--bg);--chapter-page-gradient:linear-gradient(180deg, var(--surface) 0%, var(--bg) 46%, var(--bg) 100%), var(--bg);--index-atmosphere:linear-gradient(180deg, rgba(var(--surface-rgb), .5), rgba(var(--bg-rgb), .86)), linear-gradient(135deg, rgba(var(--gold-rgb), .04), transparent 52%), var(--bg);--modal-surface:linear-gradient(180deg, rgba(var(--surface-rgb), .9), rgba(var(--bg-rgb), .94)), rgba(var(--bg-rgb), .88);--glass-bg:rgba(var(--surface-rgb), .72);--glass-border:var(--border);--input-bg:rgba(var(--text-primary-rgb), .06);--input-border:rgba(var(--text-secondary-rgb), .22);--input-text:var(--text-primary);--shadow-soft:0 10px 30px -18px rgba(var(--shadow-rgb,0, 0, 0), .52);--shadow-lift:0 20px 48px -28px rgba(var(--shadow-rgb,0, 0, 0), .68);--shadow-cinematic:0 36px 90px -64px rgba(var(--shadow-rgb,0, 0, 0), .95);--focus-ring:rgba(var(--gold-rgb), .52);--hover-quiet:rgba(var(--text-primary-rgb), .06);--color-ivory:var(--text-primary);--color-sand:var(--surface);--color-gold:var(--gold);--color-gold-soft:var(--gold-soft);--color-charcoal:var(--text-primary);--color-taupe:var(--text-muted);--color-ink:var(--text-secondary);--color-line:var(--border);--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-body:-apple-system, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--space-1:.4rem;--space-2:.75rem;--space-3:1.25rem;--space-4:2rem;--space-5:3.25rem;--space-6:4.5rem;--radius-soft:14px;--radius-pill:999px}.aurora-theme-light{--bg:#f7f3ec;--bg-rgb:247, 243, 236;--bg-secondary:#f2ece3;--bg-secondary-rgb:242, 236, 227;--bg-elevated:#efe6da;--bg-elevated-rgb:239, 230, 218;--surface:#fbf8f3;--surface-rgb:251, 248, 243;--surface-elevated:#efe6da;--surface-elevated-rgb:239, 230, 218;--surface-secondary:var(--surface-elevated);--surface-secondary-rgb:var(--surface-elevated-rgb);--shadow-rgb:46, 36, 29;--surface-hover:rgba(var(--text-primary-rgb), .05);--text-primary:#2e241d;--text-primary-rgb:46, 36, 29;--text-secondary:#55453a;--text-secondary-rgb:85, 69, 58;--text-muted:#7a695b;--text-muted-rgb:122, 105, 91;--text-inverse:#f5f1ea;--border-soft:rgba(var(--text-primary-rgb), .08);--border:rgba(var(--text-primary-rgb), .12);--border-strong:rgba(var(--text-primary-rgb), .2);--divider:rgba(var(--text-primary-rgb), .08);--separator:var(--divider);--gold:#b58d54;--gold-rgb:181, 141, 84;--gold-soft:#b58d54;--gold-soft-rgb:181, 141, 84;--accent:var(--gold);--photo-overlay-top:rgba(var(--bg-rgb), .06);--photo-overlay-mid:rgba(var(--bg-rgb), .26);--photo-overlay-bottom:rgba(var(--bg-rgb), .95);--photo-overlay-side:rgba(var(--bg-rgb), .42);--photo-text-primary:var(--text-primary);--photo-text-secondary:var(--text-secondary);--chapter-hero-blend:var(--bg);--hero-overlay:linear-gradient(180deg, rgba(var(--bg-rgb), .02) 0%, rgba(var(--bg-rgb), .24) 36%, rgba(var(--bg-rgb), .92) 100%), linear-gradient(90deg, rgba(var(--bg-rgb), .36), transparent 52%, rgba(var(--bg-rgb), .2));--hero-overlay-soft:linear-gradient(180deg, rgba(var(--bg-rgb), 0) 0%, rgba(var(--bg-rgb), .06) 32%, rgba(var(--bg-rgb), .18) 56%, rgba(var(--bg-rgb), .34) 72%, rgba(var(--bg-rgb), .54) 88%, rgba(var(--bg-rgb), .68) 100%);--hero-overlay-mobile:radial-gradient(ellipse 88% 44% at 50% 33%, rgba(var(--bg-rgb), .42) 0%, rgba(var(--bg-rgb), .26) 36%, rgba(var(--bg-rgb), .1) 60%, rgba(var(--bg-rgb), 0) 85%), var(--hero-overlay-soft);--page-gradient:linear-gradient(180deg, var(--surface) 0%, var(--bg) 48%, var(--bg) 100%), var(--bg);--chapter-page-gradient:linear-gradient(180deg, var(--surface) 0%, var(--bg) 46%, var(--bg) 100%), var(--bg);--index-atmosphere:linear-gradient(180deg, rgba(var(--surface-rgb), .42), rgba(var(--bg-rgb), .86)), linear-gradient(135deg, rgba(var(--gold-rgb), .06), transparent 52%), var(--bg);--modal-surface:linear-gradient(180deg, rgba(var(--surface-rgb), .94), rgba(var(--bg-rgb), .94)), rgba(var(--surface-rgb), .9);--glass-bg:rgba(var(--surface-rgb), .72);--glass-border:var(--border);--input-bg:rgba(var(--surface-rgb), .82);--input-border:rgba(var(--text-primary-rgb), .16);--input-text:var(--text-primary);--shadow-soft:0 10px 30px -20px rgba(var(--text-primary-rgb), .28);--shadow-lift:0 20px 48px -30px rgba(var(--text-primary-rgb), .34);--shadow-cinematic:0 36px 90px -66px rgba(var(--text-primary-rgb), .45);--focus-ring:rgba(var(--gold-rgb), .46);--hover-quiet:rgba(var(--text-primary-rgb), .055)}@keyframes fadeInSoft{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:1.4s cubic-bezier(.16,1,.3,1) both fadeInSoft}.reveal-1{animation-delay:.8s}.reveal-2{animation-delay:1.8s}.reveal-3{animation-delay:2.8s}.reveal-4{animation-delay:3.8s}.reveal-5{animation-delay:5.1s}.reveal-6{animation-delay:6s}@media (prefers-reduced-motion:reduce){.reveal,.install-banner,.notification-prompt{animation:none}}html{background:var(--bg);overscroll-behavior-x:none;overflow-x:hidden}body{background:var(--bg);min-height:100vh;color:var(--text-primary);font-family:var(--font-body);overscroll-behavior-x:none;touch-action:pan-y;justify-content:center;align-items:center;margin:0;padding:2rem 1.25rem;display:flex;overflow-x:hidden}body:has(.book){padding:0;overflow:hidden}body:has(.aurora-theme-dark){background:#0f0e0d}body:has(.aurora-theme-light){background:#f7f3ec}#app{text-align:center;width:100%;max-width:560px;overflow-x:hidden}:is(#app:has(.book),#app:has(.cover-index-stage)){background:var(--bg);width:100%;max-width:none;height:100dvh}#app:has(.aurora-theme-light){background:#f7f3ec}#app:has(.aurora-theme-dark){background:#0f0e0d}.theme-switch{z-index:80;border:0;border-bottom:1px solid rgba(var(--text-secondary-rgb), .22);min-height:2rem;color:rgba(var(--text-secondary-rgb), .72);font:italic 400 .86rem/1 var(--font-display);letter-spacing:.01em;cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:.38rem;padding:.15rem 0;transition:opacity .24s,color .24s,border-color .24s,transform .24s;display:inline-flex}.aurora-experience>.theme-switch{top:calc(env(safe-area-inset-top,0px) + .88rem);right:calc(env(safe-area-inset-right,0px) + .9rem);background:rgba(var(--surface-secondary-rgb), .2);border:1px solid rgba(var(--text-secondary-rgb), .2);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:.42rem .72rem;position:fixed}.theme-switch:hover,.theme-switch:focus-visible{opacity:1;border-color:rgba(var(--text-secondary-rgb), .46);color:rgba(var(--text-primary-rgb), .84);transform:translateY(-1px)}.aurora-experience>.theme-switch:hover,.aurora-experience>.theme-switch:focus-visible{background:rgba(var(--surface-secondary-rgb), .3)}.theme-switch:focus-visible{outline:1px solid rgba(var(--text-secondary-rgb), .54);outline-offset:4px}.theme-switch-icon{transform:translateY(-.02rem)}.theme-switch-label{white-space:nowrap}.reading-topbar{box-sizing:border-box;justify-content:space-between;align-items:center;gap:1rem;width:100%;margin:0 0 1.1rem;display:flex}.reading-topbar .book-back-link{margin:0}.reading-topbar .theme-switch{flex:none}.aurora-theme-light .theme-switch{color:rgba(var(--gold-rgb), .68)}.aurora-theme-light .theme-switch:hover,.aurora-theme-light .theme-switch:focus-visible{color:var(--gold)}#app:has(.cover-index-stage.is-video-running) .theme-switch{opacity:0;pointer-events:none}body:has(.aurora-experience.is-reading-index){background:#0f0e0d}#app:has(.aurora-experience.is-reading-index){background:#0f0e0d}.aurora-experience.is-reading-index .theme-switch{opacity:0;pointer-events:none}.book{scroll-snap-type:y mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-y;height:100dvh;overflow:hidden auto}.book-page{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box}.page-index,.page-prep{justify-content:center;align-items:center;gap:var(--space-3);height:100dvh;padding:var(--space-4) 1.75rem;text-align:center;flex-direction:column;display:flex;overflow:hidden}.page-chapter,.page-epilogue,.page-memory,.page-album{max-width:560px;min-height:100dvh;padding:var(--space-5) 1.75rem;margin:0 auto}@media (prefers-reduced-motion:reduce){.book{scroll-behavior:auto}}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-taupe);margin-bottom:.5rem;font-size:.75rem}h1{font-family:var(--font-display);margin:0 0 1.25rem;font-size:1.9rem;font-weight:500}.welcome,.open,.letter{margin-bottom:1.5rem;font-size:1.05rem;line-height:1.7}body:has(.cover):not(:has(.book)){padding:0;overflow:auto}body:has(.cover-index-stage){background:var(--page-gradient);padding:0}:is(body:has(.cover-index-stage.is-video-running),body:has(.cover-index-stage.is-index-writing)){overflow:hidden}.cover-index-stage{touch-action:pan-y;background:var(--page-gradient);width:100%;min-height:100dvh;position:relative;overflow-x:hidden}.cover{width:100%;height:100dvh;position:relative;overflow:hidden}.cover-photo{object-fit:cover;object-position:var(--cover-photo-focus,10% 60%);filter:sepia(.16)saturate(1.35)brightness(1.16)contrast(.9)blur(.5px);width:100%;height:100%;animation:34s ease-in-out infinite alternate coverBreathe;position:absolute;inset:0;transform:scale(1.04)}@keyframes coverBreathe{0%{transform:scale(1.04)translate(0,0)}to{transform:scale(1.06)translate(-.6%,-.4%)}}.cover-tint{background:linear-gradient(160deg, rgba(var(--gold-rgb), .19), rgba(var(--surface-secondary-rgb), .07));mix-blend-mode:soft-light;position:absolute;inset:0}.cover-scrim{background:var(--hero-overlay-soft);position:absolute;inset:0}@media (width<=640px){.cover-scrim{background:var(--hero-overlay-mobile)}.cover-content{transform:translateY(-28px)}}@media (prefers-reduced-motion:reduce){.cover-photo{animation:none}}.cover-content{z-index:1;box-sizing:border-box;width:100%;height:100%;color:var(--color-ivory);text-align:center;text-shadow:0 2px 20px rgba(var(--bg-rgb), .55);flex-direction:column;justify-content:center;align-items:center;padding:clamp(1.25rem,5svh,2.5rem) clamp(1.25rem,6vw,3rem);display:flex;position:relative}.cover-header{flex-direction:column;align-items:center;width:100%;margin-bottom:clamp(1.75rem,5svh,3rem);display:flex}.cover-eyebrow{color:var(--color-gold-soft);text-shadow:0 1px 3px rgba(var(--bg-rgb), .65), 0 2px 20px rgba(var(--bg-rgb), .55);margin-bottom:.5rem}.cover-title{color:var(--color-ivory);text-shadow:0 1px 3px rgba(var(--bg-rgb), .75), 0 2px 22px rgba(var(--bg-rgb), .6);margin-bottom:.4rem;font-size:clamp(1.4rem,6svh + 2vw,2.3rem)}.cover-promise{max-width:min(28ch,80vw);color:rgba(var(--text-primary-rgb), .88);letter-spacing:.01em;text-shadow:0 1px 3px rgba(var(--bg-rgb), .5), 0 2px 20px rgba(var(--bg-rgb), .55);margin:0 auto clamp(2.5rem,8svh,4.5rem);font-size:clamp(.82rem,3svh + .4vw,1.05rem);font-style:italic;line-height:1.7}.cover-countdown-group{flex-direction:column;align-items:center;display:flex}.cover-divider{background:linear-gradient(90deg, transparent, var(--color-gold-soft), transparent);opacity:.6;width:26px;height:1px;margin:clamp(.6rem,2svh,1rem) auto 0}.travel-line{font-family:var(--font-display);color:rgba(var(--text-primary-rgb), .85);justify-content:center;align-items:center;gap:.85rem;margin:.4rem 0 0;font-size:.9rem;font-style:italic;display:flex}.travel-line-route{width:96px;height:1.2rem;position:relative}.travel-line-svg{width:100%;height:100%}.travel-line-stroke{stroke:var(--color-gold-soft);stroke-width:1px;fill:none;stroke-dasharray:232;stroke-dashoffset:232px;animation:1.8s cubic-bezier(.16,1,.3,1) 2.1s forwards drawTravelLine}@keyframes drawTravelLine{to{stroke-dashoffset:0}}.travel-line-plane{font-size:.8rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}@media (prefers-reduced-motion:reduce){.travel-line-stroke{stroke-dashoffset:0;animation:none}}.countdown-hero{justify-content:center;align-items:baseline;gap:.5rem;display:flex}.countdown-number{font-family:var(--font-display);color:var(--color-ivory);text-shadow:0 1px 4px rgba(var(--bg-rgb), .5), 0 0 48px rgba(var(--gold-rgb), .45);font-size:clamp(3rem,11svh + 1.5vw,6.5rem);font-weight:400;line-height:1}.countdown-label{text-transform:uppercase;letter-spacing:.12em;color:var(--color-gold-soft);text-shadow:0 1px 3px rgba(var(--bg-rgb), .55), 0 2px 20px rgba(var(--bg-rgb), .55);font-size:.9rem}.countdown-today{color:var(--color-gold-soft);margin-bottom:clamp(.75rem,2.5dvh,1.25rem);font-size:1.05rem}.intro-video-shell{z-index:50;background:var(--bg);color:var(--color-ivory);position:fixed;inset:0;overflow:hidden}.intro-video-shell .cover-tint,.intro-video-shell .cover-scrim,.intro-video-shell .cover-content,.intro-dark-overlay,.intro-particles{position:absolute;inset:0}.intro-video{object-fit:cover;object-position:var(--intro-video-position-x,18%) center;background:var(--bg);width:100%;height:100%;display:block;position:absolute;inset:0;transform:scale(1.12)}@media (width<=640px){.intro-video{object-position:var(--intro-video-position-x-mobile,30%) center}}.intro-replay-button{top:max(.85rem, env(safe-area-inset-top));right:max(.85rem, env(safe-area-inset-right));z-index:40;border:1px solid rgba(var(--text-secondary-rgb), .38);background:rgba(var(--surface-secondary-rgb), .34);width:2.35rem;height:2.35rem;color:rgba(var(--text-primary-rgb), .82);font-family:var(--font-body);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 32px -18px rgba(var(--shadow-rgb,0, 0, 0), .65);opacity:.25;border-radius:999px;place-items:center;font-size:1.1rem;line-height:1;transition:opacity .25s,background .25s,border-color .25s,color .25s,transform .25s;display:grid;position:fixed}.intro-replay-button:hover,.intro-replay-button:focus-visible{opacity:1}.intro-replay-button:hover{background:rgba(var(--surface-secondary-rgb), .58);border-color:rgba(var(--text-secondary-rgb), .62);color:var(--color-ivory);transform:translateY(-1px)}.intro-replay-button:focus-visible{outline:2px solid var(--color-gold-soft);outline-offset:3px}.intro-video-shell .cover-tint,.intro-video-shell .cover-scrim{z-index:1}.intro-video-shell .cover-content{z-index:2;transition:opacity .6s,transform .6s}.cover-index-stage.is-video-ending .intro-video-shell .cover-content{opacity:0;transform:translateY(-8px)}.intro-dark-overlay{z-index:3;pointer-events:none;background:var(--index-atmosphere);opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1) 1.6s}.cover-index-stage.is-video-ending .intro-dark-overlay{opacity:1}.cover-index-stage.is-video-ending .intro-video{filter:saturate(.35)brightness(.55);transition:transform 1.4s ease-out 1.6s,filter 1.4s ease-out 1.6s;transform:scale(1.15)}.intro-video-shell{transition:opacity 1.3s 2.4s}.cover-index-stage.is-video-ending .intro-video-shell{opacity:0}.intro-particles{z-index:4;pointer-events:none;opacity:0;mix-blend-mode:screen;transition:opacity 1.4s .6s;overflow:hidden}.cover-index-stage.is-video-ending .intro-video-shell>.intro-particles,.cover-index-stage.is-index-writing .index-particles,.cover-index-stage.is-index-done .index-particles{opacity:1}.intro-particle{left:var(--p-left);width:calc(var(--p-size) * 1.28);height:calc(var(--p-size) * 1.28);background:radial-gradient(circle, rgba(var(--gold-rgb), 1) 0%, rgba(var(--gold-rgb), .72) 42%, rgba(var(--gold-rgb), 0) 74%);box-shadow:0 0 14px rgba(var(--gold-rgb), .38);filter:blur(var(--p-blur,.15px));border-radius:999px;position:absolute}.intro-particle-rise{animation:introParticleRise var(--p-duration) var(--p-delay) linear infinite;bottom:-8%}.intro-particle-glint{top:var(--p-top);animation:introParticleGlint var(--p-duration) var(--p-delay) ease-in-out infinite;transform:translate(-50%)scale(.7)}@keyframes introParticleRise{0%{opacity:0;transform:translate(0,0)scale(.7)}16%{opacity:calc(.5 * var(--p-opacity,1))}72%{opacity:calc(.26 * var(--p-opacity,1))}to{opacity:0;transform:translate3d(var(--p-drift,12px), -112dvh, 0) scale(.88)}}@keyframes introParticleGlint{0%,to{opacity:calc(.04 * var(--p-opacity,1));transform:translate(-50%)scale(.72)}42%{opacity:calc(.48 * var(--p-opacity,1));transform:translate(-50%)scale(1.12)}58%{opacity:calc(.18 * var(--p-opacity,1));transform:translate(-50%)scale(.92)}}@media (prefers-reduced-motion:reduce){.intro-particle{animation:none}}.activities,.chapter-list,.prompts{margin:0 0 var(--space-4);text-align:left;padding:0;list-style:none}.activities li,.prompts li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-line)}.activities li:last-child,.prompts li:last-child{border-bottom:none}.activities .time{color:var(--color-taupe);font-variant-numeric:tabular-nums;margin-right:.5rem;font-style:italic}.activity-card{padding:var(--space-3) 0!important}.activity-photo{object-fit:cover;border-radius:var(--radius-soft);width:100%;height:180px;margin-bottom:var(--space-2);display:block}.chapter-hero{margin:0 calc(var(--chapter-page-pad,1.75rem) * -1) clamp(2.4rem, 7vw, 4rem);text-align:left;--photo-text-primary:#f6f2eb;--photo-text-secondary:#ddd2c4;--shadow-rgb:0, 0, 0;--hero-overlay:linear-gradient(180deg, #0f0e0d08 0%, #0f0e0d14 42%, #0f0e0d75 78%, #0f0e0dad 100%), linear-gradient(90deg, #0f0e0d52 0%, #0f0e0d0a 48%, #0f0e0d24 100%)}.chapter-topbar{z-index:10;box-sizing:border-box;min-height:2.55rem;padding:max(.36rem, env(safe-area-inset-top)) var(--chapter-page-pad,1.75rem) .42rem;pointer-events:auto;background:linear-gradient(#0f0e0da3 0%,#0f0e0d42 62%,#0f0e0d00 100%);margin:0;position:absolute;top:0;left:0;right:0}.chapter-topbar .book-back-link{color:#f6f2ebe0;text-shadow:0 8px 24px #000000b8;border-color:#ddd2c45c;margin:0}.chapter-topbar .theme-switch{color:#f6f2ebdb;text-shadow:0 8px 24px #000000b8;border-color:#ddd2c457;flex:none}.chapter-topbar .theme-switch:hover,.chapter-topbar .theme-switch:focus-visible,.chapter-topbar .book-back-link:hover,.chapter-topbar .book-back-link:focus-visible{color:#f6f2eb;border-color:#ddd2c49e}.chapter-hero-frame{background:var(--bg);width:100%;height:clamp(345px,56svh,465px);min-height:345px;box-shadow:none;position:relative;overflow:hidden}.chapter-hero-frame:before{content:"";z-index:2;background:linear-gradient(180deg, transparent 0%, transparent 42%, var(--chapter-hero-blend,var(--surface)) 100%);pointer-events:none;height:12%;position:absolute;bottom:-1px;left:0;right:0}.chapter-hero-frame:after{content:"";background:var(--hero-overlay);pointer-events:none;z-index:1;position:absolute;inset:0}.chapter-hero-image{object-fit:cover;width:100%;height:100%;display:block;transform:scale(1.015)}.chapter-hero-copy{z-index:3;max-width:38rem;padding:0 var(--chapter-page-pad,1.75rem) clamp(.75rem, 3svh, 1.25rem);position:absolute;bottom:0;left:0;right:0}.chapter-hero-kicker{color:color-mix(in srgb, var(--photo-text-secondary) 68%, transparent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .42rem;font-size:.68rem;font-weight:600}.chapter-hero h1{color:color-mix(in srgb, var(--photo-text-primary) 92%, transparent);text-shadow:0 12px 34px rgba(var(--shadow-rgb,0, 0, 0), .52);margin-bottom:.55rem;font-size:clamp(2.25rem,11vw,4rem);line-height:.98}.chapter-hero .open{max-width:30ch;color:color-mix(in srgb, var(--photo-text-secondary) 82%, transparent);font-family:var(--font-display);text-wrap:balance;text-shadow:0 9px 26px rgba(var(--shadow-rgb,0, 0, 0), .56);margin-bottom:0;font-style:italic}.activity-head{gap:.6rem;margin-bottom:.35rem;font-size:.85rem;display:flex}.activity-head .category{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.activity-title{font-family:var(--font-display);color:var(--color-charcoal);margin:0 0 .35rem;font-size:1.15rem;font-weight:500}.activity-description,.recommendation{color:var(--color-ink);margin:0 0 .35rem;font-size:.92rem;line-height:1.6}.location{color:var(--color-taupe);margin:0 0 .3rem;font-size:.85rem}.links{margin:.3rem 0 0;font-size:.85rem}.links a{color:var(--gold);text-decoration:underline}.related-places,.photo-spots,.collection-items,.traditions,.micro-discoveries,.night-note{text-align:left;margin-bottom:1.5rem}.related-places ul,.photo-spots ul,.collection-items ul,.traditions ul,.micro-discoveries ul{margin:0;padding:0;list-style:none}.related-places li,.photo-spots li,.collection-items li,.traditions li,.micro-discoveries li{border-bottom:1px solid var(--separator);padding:.5rem 0;font-size:.9rem}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .4rem;font-size:.72rem}.page-chapter{--chapter-page-pad:1.75rem;--chapter-hero-blend:var(--bg);max-width:none;padding:0 var(--chapter-page-pad) var(--space-5);color:rgba(var(--text-primary-rgb), .88);background:linear-gradient(180deg, var(--bg) 0%, var(--bg) 58%, var(--bg-secondary) 100%)}.page-chapter .eyebrow{color:rgba(var(--text-secondary-rgb), .74)}.page-chapter .activities{margin-top:0}.page-chapter [data-reveal-on-scroll]{opacity:0;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);transition-delay:var(--scroll-reveal-delay,0s);transform:translateY(10px)}.page-chapter [data-reveal-on-scroll].is-visible{opacity:1;transform:translateY(0)}.page-chapter .activities li,.page-chapter .prompts li{border-bottom-color:rgba(var(--text-secondary-rgb), .1)}.page-chapter .activity-head,.page-chapter .activities .time,.page-chapter .activity-head .category,.page-chapter .location,.page-chapter .spot-time,.page-chapter .memory-invitation-hint,.page-chapter .memory-slot .memory-invitation-hint{color:rgba(var(--text-secondary-rgb), .72)}.page-chapter .activity-head .category{letter-spacing:.075em}.page-chapter .activity-card{padding:clamp(1.25rem,4vw,1.8rem) 0!important}.page-chapter .activity-title,.page-chapter .place-name,.page-chapter .spot-title,.page-chapter .item-name,.page-chapter .memory-invitation-question{color:rgba(var(--text-primary-rgb), .94)}.page-chapter .activity-description,.page-chapter .recommendation,.page-chapter .spot-tip,.page-chapter .item-description,.page-chapter .memory-note{color:rgba(var(--text-primary-rgb), .82)}.page-chapter .activity-description,.page-chapter .recommendation,.page-chapter .spot-tip,.page-chapter .item-description,.page-chapter .night-note .item-description{line-height:1.62}.page-chapter .related-places li,.page-chapter .photo-spots li,.page-chapter .collection-items li,.page-chapter .traditions li,.page-chapter .micro-discoveries li{border-bottom-color:rgba(var(--text-secondary-rgb), .09);color:rgba(var(--text-primary-rgb), .84)}.page-chapter .section-title{color:rgba(var(--text-secondary-rgb), .84);letter-spacing:.095em;font-weight:600}.page-chapter .links a,.page-chapter .album-link button,.page-chapter .add-photos-label{color:rgba(var(--text-secondary-rgb), .86)}.page-chapter .memory-slot{background:rgba(var(--text-primary-rgb), .055);border:1px solid rgba(var(--text-secondary-rgb), .12);box-shadow:none}.page-chapter .memory-slot textarea,.page-chapter .memory-slot select{border-color:rgba(var(--text-secondary-rgb), .18);background:rgba(var(--text-primary-rgb), .08);color:rgba(var(--text-primary-rgb), .9)}.page-chapter .memory-slot textarea::placeholder{color:rgba(var(--text-primary-rgb), .42)}@media (width<=430px){.reading-topbar{gap:.75rem}.reading-topbar .theme-switch{font-size:.82rem}.reading-topbar .theme-switch-label{text-overflow:ellipsis;max-width:6.5rem;overflow:hidden}.page-chapter{--chapter-page-pad:1.35rem;padding:0 var(--chapter-page-pad) var(--space-4)}.chapter-hero-frame{height:clamp(340px,58svh,435px);min-height:340px}.chapter-hero-copy{padding-bottom:clamp(.75rem,3svh,1.2rem)}.page-chapter .activities{margin-top:0}.chapter-hero h1{font-size:clamp(2.15rem,13vw,3.15rem)}.page-chapter .activity-description,.page-chapter .recommendation,.page-chapter .spot-tip,.page-chapter .item-description{font-size:.94rem}.page-chapter .section-title{font-size:.74rem}.page-chapter .related-places,.page-chapter .photo-spots,.page-chapter .collection-items,.page-chapter .traditions,.page-chapter .micro-discoveries,.page-chapter .night-note,.page-chapter .chapter-memories-general,.page-chapter .chapter-album{margin-bottom:1.25rem}}@media (width>=768px){.page-chapter{--chapter-page-pad:clamp(2rem, 5vw, 4.5rem);width:100%;max-width:none;padding:0 var(--chapter-page-pad) clamp(4rem, 8vh, 6rem)}.page-chapter .chapter{max-width:none;margin:0 auto}.chapter-hero{margin:0 calc(var(--chapter-page-pad) * -1) clamp(1.4rem, 4vh, 2.4rem)}.chapter-hero-frame{background:#0f0e0d;border-radius:0 0 18px 18px;height:clamp(620px,78vh,780px);min-height:620px}.chapter-topbar{padding:max(1.05rem, env(safe-area-inset-top)) var(--chapter-page-pad) 1.05rem;background:linear-gradient(#0f0e0dc2 0%,#0f0e0d47 68%,#0f0e0d00 100%)}.chapter-topbar .book-back-link,.chapter-topbar .theme-switch{font-size:.95rem}.chapter-hero-copy{left:var(--chapter-page-pad);width:min(50rem,58vw);padding:0;top:clamp(5.25rem,9vh,6.75rem);bottom:auto;right:auto}.chapter-hero h1{max-width:15ch;font-size:clamp(3rem,5.8vw,5.1rem)}.chapter-hero .open{max-width:34ch;font-size:clamp(1.02rem,1.35vw,1.2rem)}.page-chapter .activities,.page-chapter .related-places,.page-chapter .photo-spots,.page-chapter .collection-items,.page-chapter .traditions,.page-chapter .micro-discoveries,.page-chapter .night-note,.page-chapter .chapter-memories-general,.page-chapter .chapter-album,.page-chapter .actions,.page-chapter .album-link{max-width:min(860px,100%);margin-left:auto;margin-right:auto}.page-chapter .activities{margin-top:clamp(1.1rem,3vh,2rem)}.page-chapter .activity-card{padding:clamp(1.65rem,3vh,2.25rem) 0!important}.page-chapter .activity-photo{border-radius:18px;height:clamp(220px,28vw,320px)}.page-chapter .activity-title{font-size:clamp(1.25rem,1.6vw,1.48rem)}.page-chapter .activity-description,.page-chapter .recommendation,.page-chapter .spot-tip,.page-chapter .item-description{font-size:1rem}.page-chapter .section-title{margin-top:clamp(1rem,2.5vh,1.8rem)}}@media (width>=1180px){.page-chapter{max-width:none}.chapter-hero-frame{height:clamp(640px,80vh,820px)}}.chapter-memories-general{text-align:left;margin-bottom:1.5rem}.chapter-memories-general .memory-invitation-hint{color:var(--text-muted);margin:0 0 .5rem;font-size:.85rem;font-style:italic}.memory-slot{background:var(--surface);text-align:left;border-radius:12px;margin-top:.75rem;padding:.85rem 1rem}.memory-invitation-question{margin:0 0 .3rem;font-size:.92rem;font-weight:600}.memory-slot .memory-invitation-hint{color:var(--text-muted);margin:0 0 .5rem;font-size:.82rem;font-style:italic}.memory-slot textarea,.memory-slot select{border:1px solid var(--input-border);box-sizing:border-box;border-radius:6px;width:100%;margin-bottom:.5rem;padding:.5rem;font-family:inherit;font-size:.92rem;display:block}.memory-slot textarea{resize:vertical;min-height:3.5rem}.memory-slot-invitation button{border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:.45rem 1rem;font-family:inherit;font-size:.85rem}.memory-note{margin:0 0 .5rem;font-size:.9rem}.memory-actions button{border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text-primary);cursor:pointer;border-radius:999px;margin-right:.4rem;padding:.35rem .8rem;font-family:inherit;font-size:.8rem}.memory-slot-quiet{background:0 0;padding:.5rem 0}.memory-photos{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.memory-photo-primary{object-fit:cover;border-radius:calc(var(--radius-soft) - 4px);width:100%;max-height:220px;box-shadow:var(--shadow-soft)}.memory-photo-thumb{object-fit:cover;border-radius:8px;width:64px;height:64px}.photo-staging{margin:.5rem 0}.staged-photos{flex-wrap:wrap;gap:.6rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.staged-photo{text-align:center;width:88px}.staged-photo img{object-fit:cover;border-radius:8px;width:88px;height:88px;display:block}.staged-photo.is-primary img{outline:2px solid var(--gold);outline-offset:2px}.staged-photo-actions{margin-top:.3rem;font-size:.72rem}.staged-photo-actions button{border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text-primary);cursor:pointer;border-radius:999px;margin:.15rem .15rem 0 0;padding:.2rem .5rem;font-family:inherit;font-size:.72rem}.staged-photo-label{color:var(--text-muted);font-size:.72rem;font-style:italic}.add-photos-label{color:var(--gold);cursor:pointer;font-size:.85rem;text-decoration:underline;display:inline-block}.chapter-album{text-align:left;margin-bottom:1.5rem}.memory-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0;padding:0;list-style:none;display:grid}.memory-card{background:var(--color-ivory);border-radius:var(--radius-soft);box-shadow:var(--shadow-soft);padding:var(--space-2);transition:transform .3s,box-shadow .3s;position:relative}.memory-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.memory-card-favorite{top:var(--space-2);right:var(--space-2);color:var(--accent);text-shadow:0 1px 6px rgba(var(--shadow-rgb,0, 0, 0), .25);position:absolute}.memory-card-note{font-family:var(--font-display);color:var(--color-ink);margin:.4rem 0 0;font-size:.85rem;font-style:italic}.album-link{text-align:center;margin:.5rem 0 1.5rem}.album-link button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.82rem;text-decoration:underline}.page-album{text-align:center}.album-chapter{text-align:left;margin-bottom:var(--space-6)}.album-chapter .section-title{font-family:var(--font-display);text-transform:none;letter-spacing:.02em;color:var(--color-taupe);border-bottom:1px solid var(--color-line);padding-bottom:var(--space-2);margin-bottom:var(--space-3);font-size:1.05rem;font-style:italic}.album-empty{color:var(--color-taupe);margin:var(--space-4) 0;font-style:italic}.album-back{margin-top:var(--space-4)}.album-back button{border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:.5rem 1.2rem;font-family:inherit;font-size:.9rem}.photo-pick-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.photo-pick-option{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;padding:0}.photo-pick-option:hover{border-color:var(--gold)}.photo-pick-option img{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%;display:block}.actions{text-align:center;margin-top:1rem}.actions button{border:1px solid var(--color-gold);border-radius:var(--radius-pill);background:var(--color-ivory);color:var(--color-charcoal);cursor:pointer;padding:.7rem 1.6rem;font-family:inherit;font-size:.95rem}.actions button,.memory-slot-invitation button,.memory-actions button,.staged-photo-actions button,.confirm-buttons button,.album-back button,.install-banner button,.notification-prompt button{transition:box-shadow .25s,transform .25s,background .25s}.actions button:hover,.memory-slot-invitation button:hover,.memory-actions button:hover,.confirm-buttons button:hover,.album-back button:hover{background:var(--color-sand);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.actions-confirm .confirm-question{color:var(--text-secondary);margin-bottom:.75rem;font-size:.95rem}.confirm-buttons{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.confirm-buttons button{border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:.55rem 1.2rem;font-family:inherit;font-size:.9rem}.chapter-closing{text-align:center;margin:3rem 0}.chapter-index{text-align:left;margin:0;padding:0;list-style:none}.chapter-index-item{border-bottom:1px solid rgba(var(--gold-rgb), .25);align-items:baseline;gap:.9rem;padding:.7rem 0;display:flex}.chapter-index-item:last-child{border-bottom:none}.chapter-index-number{font-family:var(--font-display);color:var(--color-gold);min-width:1.4rem;font-size:.95rem;font-style:italic}.chapter-index-text{flex-direction:column;gap:.15rem;display:flex}.chapter-index-title{font-family:var(--font-display);font-size:1rem}.chapter-index-status{color:var(--color-taupe);font-size:.78rem;font-style:italic}.page-index{--bg:#0f0e0d;--bg-rgb:15, 14, 13;--bg-secondary:#131211;--bg-secondary-rgb:19, 18, 17;--bg-elevated:#1c1a18;--bg-elevated-rgb:28, 26, 24;--surface:#171514;--surface-rgb:23, 21, 20;--surface-elevated:#1c1a18;--surface-elevated-rgb:28, 26, 24;--surface-secondary:var(--surface-elevated);--surface-secondary-rgb:var(--surface-elevated-rgb);--shadow-rgb:0, 0, 0;--text-primary:#f6f2eb;--text-primary-rgb:246, 242, 235;--text-secondary:#ddd2c4;--text-secondary-rgb:221, 210, 196;--text-muted:#a99d8f;--text-muted-rgb:169, 157, 143;--gold:#d6b98a;--gold-rgb:214, 185, 138;--gold-soft:#b99561;--gold-soft-rgb:185, 149, 97;--border:rgba(var(--gold-rgb), .18);--divider:#ffffff14;--page-gradient:linear-gradient(180deg, var(--surface) 0%, var(--bg) 48%, var(--bg) 100%), var(--bg);--index-atmosphere:linear-gradient(180deg, rgba(var(--surface-rgb), .5), rgba(var(--bg-rgb), .86)), linear-gradient(135deg, rgba(var(--gold-rgb), .04), transparent 52%), var(--bg);--color-ivory:var(--text-primary);--color-sand:var(--surface);--color-gold:var(--gold);--color-gold-soft:var(--gold-soft);--color-charcoal:var(--text-primary);--color-taupe:var(--text-muted);--color-ink:var(--text-secondary);--color-line:var(--border);padding-block:clamp(1.35rem, 4dvh, var(--space-4));color:var(--color-ivory);background:var(--page-gradient);gap:clamp(.55rem,1.8dvh,1rem);position:relative}.page-index .eyebrow{color:var(--color-gold-soft)}.page-index:before{content:"";background:var(--index-atmosphere);z-index:0;position:absolute;inset:0}.page-index>*{z-index:2;position:relative}.page-index>.index-particles{z-index:1;position:absolute;inset:0}.page-index-ritual{min-height:100dvh}.cover-index-stage.is-video-running .page-index{opacity:0;pointer-events:none}.cover-index-stage.is-video-ending .page-index{opacity:1;transition:opacity 1.3s 2.4s}.cover-index-stage.is-index-writing .page-index,.cover-index-stage.is-index-done .page-index{opacity:1}.page-index-title{font-family:var(--font-display);color:var(--color-ivory);margin:clamp(.25rem,1dvh,.6rem) 0 clamp(.85rem,2.7dvh,1.45rem);font-size:clamp(1.08rem,3.4dvh,1.45rem);font-weight:500}.page-index .chapter-index{flex-direction:column;gap:clamp(.78rem,2.8dvh,1.35rem);max-width:360px;display:flex}.preparation-index-entry{text-align:center;width:min(100%,360px);margin:0 auto}.preparation-index-link{all:unset;cursor:pointer;border-radius:999px;flex-direction:column;align-items:center;gap:.24rem;margin:-.28rem -.75rem;padding:.28rem .75rem;transition:background .25s,box-shadow .25s,transform .25s;display:inline-flex}.preparation-index-link:hover{background:rgba(var(--text-primary-rgb), .045);box-shadow:0 12px 34px -28px rgba(var(--text-secondary-rgb), .4);transform:translateY(-1px)}.preparation-index-link:focus-visible{outline:1px solid rgba(var(--text-secondary-rgb), .62);outline-offset:5px}.preparation-index-title{font-family:var(--font-display);color:var(--color-ivory);font-size:clamp(.98rem,2.6dvh,1.08rem)}.preparation-index-status,.preparation-index-action{color:var(--color-gold-soft);font-size:.76rem;font-style:italic}.preparation-index-progress,.preparation-page-progress{width:min(190px,56vw);color:rgba(var(--text-secondary-rgb), .75);font-family:var(--font-display);flex-direction:column;align-items:center;gap:.32rem;font-size:.82rem;font-style:italic;display:flex}.preparation-progress-line{background:rgba(var(--text-secondary-rgb), .16);width:100%;height:1px;overflow:hidden}.preparation-progress-line span{background:linear-gradient(90deg, transparent, rgba(var(--text-secondary-rgb), .72), transparent);height:100%;transition:width .45s;display:block}.index-section-divider{background:linear-gradient(90deg, transparent, rgba(var(--text-secondary-rgb), .28), transparent);width:min(190px,50vw);height:1px;margin:clamp(.25rem,1.2dvh,.55rem) 0 0}.page-index .chapter-index-item{text-align:center;border-bottom:none;flex-direction:column;align-items:center;gap:.22rem;padding:0}.chapter-index-lock,.chapter-index-open{all:unset;cursor:pointer;flex-direction:column;align-items:center;gap:.3rem;margin:-.24rem -.45rem;padding:.24rem .45rem;transition:color .25s,opacity .25s,transform .25s;display:flex}.chapter-index-lock:hover,.chapter-index-open:hover{transform:translateY(-1px)}.chapter-index-lock:focus-visible,.chapter-index-open:focus-visible{outline:1px solid rgba(var(--text-secondary-rgb), .62);outline-offset:5px}.page-index .chapter-index-marker{color:rgba(var(--text-secondary-rgb), .62);font-family:var(--font-display);font-size:.82rem;line-height:1}.page-index .chapter-index-number{min-width:0;color:var(--color-gold-soft);opacity:.85;margin-bottom:.12rem;font-size:clamp(1.15rem,3.35dvh,1.55rem);font-style:italic;font-weight:400;line-height:1}.page-index .chapter-index-text{flex-direction:column;align-items:center;gap:.22rem}.page-index .chapter-index-title{color:var(--color-ivory);font-size:clamp(.9rem,2.35dvh,1.02rem)}.page-index .chapter-index-item-current .chapter-index-marker,.page-index .chapter-index-item-current .chapter-index-number,.page-index .chapter-index-item-current .chapter-index-status{color:var(--color-gold-soft);opacity:1}.page-index .chapter-index-item-current .chapter-index-title{color:rgba(var(--text-primary-rgb), .98)}.page-index .chapter-index-item-completed .chapter-index-marker,.page-index .chapter-index-item-completed .chapter-index-number{color:rgba(var(--text-secondary-rgb), .72)}.page-index .chapter-index-item-completed .chapter-index-title{color:rgba(var(--text-primary-rgb), .76)}.page-index .chapter-index-item-completed .chapter-index-status{color:rgba(var(--text-secondary-rgb), .7)}.page-index .chapter-index-item-locked .chapter-index-marker,.page-index .chapter-index-item-locked .chapter-index-number,.page-index .chapter-index-item-locked .chapter-index-title{color:rgba(var(--text-primary-rgb), .54);font-style:italic}.page-index .chapter-index-item-locked .chapter-index-status{color:rgba(var(--text-secondary-rgb), .48)}.page-index .chapter-index-status{letter-spacing:.01em;color:var(--color-gold-soft);font-size:.76rem;font-style:italic}.page-index-pending .eyebrow,.page-index-pending .preparation-index-entry,.page-index-pending .index-section-divider,.page-index-pending .page-index-title,.page-index-pending .chapter-index-item{opacity:0;filter:blur(6px);transform:translateY(8px)}.page-index-pending.is-revealing .eyebrow,.page-index-pending.is-revealing .preparation-index-entry,.page-index-pending.is-revealing .index-section-divider,.page-index-pending.is-revealing .page-index-title,.page-index-pending.is-revealing .chapter-index-item{animation:1.1s cubic-bezier(.16,1,.3,1) both ritualIndexWrite}@keyframes ritualIndexWrite{0%{opacity:0;filter:blur(6px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.page-index-pending.is-revealing .eyebrow{animation-delay:.15s}.page-index-pending.is-revealing .preparation-index-entry{animation-delay:.45s}.page-index-pending.is-revealing .index-section-divider{animation-delay:.65s}.page-index-pending.is-revealing .page-index-title{animation-delay:.8s}.page-index-pending.is-revealing .chapter-index-item:first-child{animation-delay:1.05s}.page-index-pending.is-revealing .chapter-index-item:nth-child(2){animation-delay:1.3s}.page-index-pending.is-revealing .chapter-index-item:nth-child(3){animation-delay:1.55s}.page-index-pending.is-revealing .chapter-index-item:nth-child(4){animation-delay:1.8s}.page-index-pending.is-revealing .chapter-index-item:nth-child(5){animation-delay:2.05s}.page-index-pending.is-revealing .chapter-index-item:nth-child(6){animation-delay:2.3s}.page-preparations{max-width:560px;min-height:100dvh;padding:max(1.1rem, env(safe-area-inset-top)) 1.45rem var(--space-4);color:var(--color-ivory);background:var(--page-gradient);text-align:center;margin:0 auto}.page-preparations .eyebrow{color:var(--color-gold-soft);margin-bottom:.25rem}.page-preparations h1{color:var(--color-ivory);margin-bottom:.65rem;font-size:clamp(1.45rem,6vw,1.85rem)}.preparation-intro{max-width:32ch;color:rgba(var(--text-primary-rgb), .78);font-family:var(--font-display);margin:0 auto .8rem;font-size:.98rem;font-style:italic;line-height:1.55}.preparation-page-progress{margin:0 auto .75rem}.preparation-complete-copy{max-width:28ch;color:rgba(var(--text-secondary-rgb), .72);font-family:var(--font-display);margin:-.15rem auto 1rem;font-style:italic;line-height:1.6}.preparation-complete-copy.is-hidden{display:none}.preparation-groups{text-align:left;gap:1.15rem;margin-top:1rem;display:grid}.preparation-group{border-top:1px solid rgba(var(--text-secondary-rgb), .16);padding-top:.75rem}.preparation-group[data-reveal-on-scroll]{opacity:0;transition:opacity .5s,transform .5s;transition-delay:var(--preparation-reveal-delay,0s);transform:translateY(8px)}.preparation-group[data-reveal-on-scroll].is-visible{opacity:1;transform:translateY(0)}.preparation-group-head{justify-content:space-between;gap:var(--space-3);align-items:center;margin-bottom:.35rem;display:flex}.preparation-group-head h2{color:rgba(var(--text-primary-rgb), .9);font-family:var(--font-display);align-items:center;gap:.45rem;margin:0;font-size:1rem;font-weight:500;display:inline-flex}.preparation-group-title{line-height:1.1}.preparation-group-head [data-preparation-group-count]{color:rgba(var(--text-secondary-rgb), .72);font-family:var(--font-display);font-size:.86rem;font-style:italic}.preparation-checklist{gap:0;margin:0;padding:0;list-style:none;display:grid}.preparation-check-row{box-sizing:border-box;border:0;border-bottom:1px solid rgba(var(--text-secondary-rgb), .08);width:100%;min-height:40px;color:rgba(var(--text-primary-rgb), .76);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:1.15rem 1fr;align-items:center;gap:.62rem;padding:.32rem 0;transition:color .25s,opacity .25s,transform .25s;display:grid}.preparation-check-row:hover{color:rgba(var(--text-primary-rgb), .95);transform:translate(2px)}.preparation-check-row:focus-visible{outline:1px solid rgba(var(--text-secondary-rgb), .42);outline-offset:4px}.preparation-check-row.is-complete{color:rgba(var(--text-secondary-rgb), .66)}.preparation-check-mark{border:1px solid rgba(var(--text-secondary-rgb), .34);width:.95rem;height:.95rem;color:rgba(var(--text-secondary-rgb), .78);border-radius:999px;place-items:center;font-size:.68rem;line-height:1;transition:border-color .22s,background .22s,transform .22s;display:inline-grid}.preparation-check-row.is-complete .preparation-check-mark{border-color:rgba(var(--text-secondary-rgb), .62);background:rgba(var(--text-secondary-rgb), .08);transform:scale(1.03)}.preparation-check-label{line-height:1.35}.preparation-afterword{border-top:1px solid rgba(var(--text-secondary-rgb), .14);max-width:30ch;color:rgba(var(--text-secondary-rgb), .68);font-family:var(--font-display);text-align:center;margin:2rem auto 0;padding-top:1rem;font-size:.92rem;font-style:italic;line-height:1.65}.preparation-afterword p{margin:0 0 .35rem}.book-back-link{border:0;border-bottom:1px solid rgba(var(--text-secondary-rgb), .22);color:rgba(var(--text-secondary-rgb), .68);font-family:var(--font-display);cursor:pointer;background:0 0;margin:0 0 1rem;padding:.2rem 0;font-size:.92rem;font-style:italic;display:inline-block}.book-back-link:hover,.book-back-link:focus-visible{color:rgba(var(--text-primary-rgb), .9);border-color:rgba(var(--text-secondary-rgb), .48)}:is(#app:has(.book-preparations-mode) .install-banner,#app:has(.book-preparations-mode) .notification-prompt){display:none}@media (width<=430px){.page-index{padding-block:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-bottom));gap:.5rem}.preparation-index-link{gap:.18rem}.preparation-index-status,.preparation-index-action,.page-index .chapter-index-status{font-size:.73rem}.page-index-title{margin-bottom:.75rem}.page-index .chapter-index{gap:.72rem}.page-index .chapter-index-number{font-size:1.12rem}.page-preparations{padding:max(.85rem, env(safe-area-inset-top)) 1.2rem var(--space-3)}.book-back-link{margin-bottom:.75rem}.page-preparations h1{margin-bottom:.45rem}.preparation-intro{margin-bottom:.65rem;font-size:.94rem;line-height:1.48}.preparation-page-progress{margin-bottom:.45rem}.preparation-groups{gap:.9rem;margin-top:.75rem}.preparation-group{padding-top:.62rem}.preparation-check-row{min-height:38px;padding-block:.24rem;font-size:.92rem}}.locked-chapter-backdrop{z-index:120;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:rgba(var(--bg-rgb), .26);-webkit-backdrop-filter:blur(7px);place-items:center;animation:.35s both lockedChapterBackdropIn;display:grid;position:fixed;inset:0}.locked-chapter-modal{box-sizing:border-box;border:1px solid rgba(var(--text-secondary-rgb), .11);background:var(--modal-surface);width:min(86vw,348px);box-shadow:0 24px 72px -48px rgba(var(--shadow-rgb,0, 0, 0), .92), inset 0 1px 0 rgba(var(--text-primary-rgb), .035);color:var(--color-ivory);text-align:center;border-radius:18px;padding:clamp(1.55rem,5vw,2.05rem) clamp(1.35rem,5vw,1.85rem);animation:.5s cubic-bezier(.16,1,.3,1) both lockedChapterModalIn}.locked-chapter-eyebrow{color:rgba(var(--text-secondary-rgb), .58);letter-spacing:.2em;text-transform:uppercase;margin:0 0 .85rem;font-size:.68rem}.locked-chapter-modal h2{font-family:var(--font-display);color:rgba(var(--text-primary-rgb), .9);margin:0 0 .9rem;font-size:clamp(1.25rem,5vw,1.65rem);font-weight:500;line-height:1.24}.locked-chapter-modal p{margin:0}.locked-chapter-modal #locked-chapter-copy{color:rgba(var(--text-primary-rgb), .62);font-family:var(--font-display);font-size:.95rem;font-style:italic;line-height:1.62}.locked-chapter-modal button{border:0;border-bottom:1px solid rgba(var(--text-secondary-rgb), .24);color:rgba(var(--text-secondary-rgb), .68);font-family:var(--font-display);letter-spacing:.01em;cursor:pointer;background:0 0;border-radius:0;margin-top:1.55rem;padding:.25rem .1rem;font-size:.94rem;font-style:italic;transition:border-color .22s,color .22s,opacity .22s}.locked-chapter-modal button:hover,.locked-chapter-modal button:focus-visible{border-color:rgba(var(--text-secondary-rgb), .42);color:rgba(var(--text-primary-rgb), .86)}.locked-chapter-modal button:focus-visible{outline:1px solid rgba(var(--text-secondary-rgb), .34);outline-offset:6px}@keyframes lockedChapterBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes lockedChapterModalIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.page-index-pending .eyebrow,.page-index-pending .preparation-index-entry,.page-index-pending .index-section-divider,.page-index-pending .page-index-title,.page-index-pending .chapter-index-item{opacity:1;filter:none;transform:none}.locked-chapter-backdrop,.locked-chapter-modal{animation:none}.preparation-group[data-reveal-on-scroll],.page-chapter [data-reveal-on-scroll]{opacity:1;transition:none;transform:none}}.page-prep .welcome{max-width:30ch;font-family:var(--font-display);color:var(--color-ink);margin-bottom:0;font-style:italic}.epilogue-waiting .open{color:var(--text-muted)}.prompt-answered{margin-bottom:.25rem}.transformation-line{letter-spacing:.03em;color:var(--text-muted);margin-bottom:1.5rem;font-size:.85rem;font-style:italic}.dev-banner{background:var(--surface-secondary);border-bottom:1px solid var(--gold);color:var(--text-muted);text-align:center;padding:.6rem 1rem;font-family:system-ui,sans-serif;font-size:.85rem;position:fixed;top:0;left:0;right:0}.install-banner,.notification-prompt{z-index:20;background:rgba(var(--surface-secondary-rgb), .74);border:1px solid rgba(var(--text-secondary-rgb), .22);max-width:400px;box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(16px);color:var(--color-ivory);text-align:left;border-radius:18px;margin:0 auto;padding:1.1rem 1.25rem;font-size:.88rem;animation:.9s cubic-bezier(.16,1,.3,1) both fadeInSoft;position:fixed;bottom:1rem;left:1rem;right:1rem}.install-banner.is-dismissing{opacity:0;pointer-events:none;transition:opacity .28s,transform .28s;transform:translateY(-6px)}.install-banner p,.notification-prompt p{font-family:var(--font-display);color:rgba(var(--text-primary-rgb), .92);margin:0 1.5rem .9rem 0;font-style:italic;line-height:1.55}.install-banner button,.notification-prompt button{font-family:var(--font-body);letter-spacing:.02em;border:1px solid rgba(var(--text-secondary-rgb), .34);background:rgba(var(--text-primary-rgb), .07);color:var(--color-gold-soft);cursor:pointer;border-radius:999px;padding:.5rem 1.1rem;font-size:.8rem;transition:background .2s,border-color .2s,color .2s}.install-banner button:hover,.notification-prompt button:hover{background:rgba(var(--text-primary-rgb), .14);border-color:rgba(var(--text-secondary-rgb), .55);color:var(--color-ivory)}.install-banner .install-dismiss{width:1.6rem;height:1.6rem;color:rgba(var(--text-primary-rgb), .55);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;font-size:1rem;line-height:1;transition:color .2s,background .2s;display:grid;position:absolute;top:.6rem;right:.6rem}.install-banner .install-dismiss:hover,.install-banner .install-dismiss:focus-visible{color:var(--color-ivory);background:rgba(var(--text-primary-rgb), .1)}.page-turn{animation:.7s cubic-bezier(.16,1,.3,1) both pageTurnIn}@keyframes pageTurnIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.page-turn{animation:none}}.director-panel{z-index:100;background:rgba(var(--surface-secondary-rgb), .82);border:1px solid rgba(var(--text-secondary-rgb), .25);max-width:360px;box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(14px);color:var(--color-ivory);font-family:var(--font-body);text-align:left;border-radius:16px;margin:0 auto;padding:1rem;font-size:.78rem;position:fixed;bottom:1rem;left:1rem;right:1rem}.director-panel-collapsed{cursor:pointer;border-radius:999px;place-items:center;width:2.5rem;max-width:none;height:2.5rem;margin:0;padding:0;font-size:1rem;display:grid;position:fixed;bottom:1rem;left:auto;right:1rem}.director-panel-close{width:1.5rem;height:1.5rem;color:rgba(var(--text-primary-rgb), .55);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;font-size:.95rem;line-height:1;display:grid;position:absolute;top:.5rem;right:.5rem}.director-panel-close:hover,.director-panel-close:focus-visible{color:var(--color-ivory);background:rgba(var(--text-primary-rgb), .1)}.director-title{letter-spacing:.04em;text-transform:uppercase;color:var(--color-gold-soft);margin:0 0 .75rem;font-size:.7rem;font-weight:600}.director-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.director-stage-grid{justify-content:flex-start}.director-panel button{border:1px solid rgba(var(--text-secondary-rgb), .3);background:rgba(var(--text-primary-rgb), .06);color:rgba(var(--text-primary-rgb), .85);cursor:pointer;border-radius:999px;padding:.35rem .65rem;font-family:inherit;font-size:.74rem;transition:background .2s,border-color .2s,color .2s}.director-panel button:hover{background:rgba(var(--text-primary-rgb), .13);border-color:rgba(var(--text-secondary-rgb), .5);color:var(--color-ivory)}.director-panel button[aria-current=true]{background:rgba(var(--text-secondary-rgb), .22);border-color:rgba(var(--text-secondary-rgb), .6);color:var(--color-ivory)}.director-playthrough-status{color:rgba(var(--text-primary-rgb), .75);margin:0 0 .6rem;line-height:1.5}.director-status{border-top:1px solid rgba(var(--text-secondary-rgb), .18);grid-template-columns:auto 1fr;gap:.15rem .6rem;margin:.6rem 0 0;padding-top:.6rem;display:grid}.director-status dt{color:rgba(var(--text-primary-rgb), .55)}.director-status dd{color:rgba(var(--text-primary-rgb), .9);text-align:right;margin:0}@media (width<=480px){.director-panel{max-width:none;font-size:.74rem}}
