@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600&family=Press+Start+2P&display=swap";:root{--font-primary: "Noto Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-accent: "Press Start 2P", monospace;--bg-dark: #26253b;--bg-mid: #3a3959;--bg-haze: #57567d;--bg-glow-a: rgba(247, 194, 166, .14);--bg-glow-b: rgba(199, 240, 203, .12);--bg-overlay-top: rgba(38, 37, 59, .94);--bg-overlay-bottom: rgba(33, 32, 50, .98);--bg-grid-line: rgba(248, 231, 173, .028);--panel: #3e3d63;--panel-alt: #4c4b76;--line: #cabee7;--line-shadow: #242339;--text-main: #fff6ef;--text-soft: #eee6ff;--accent: #f7c2a6;--accent-2: #c7f0cb;--accent-3: #f8e7ad;--title-shadow: #26253b;--label-shadow: #2c2b44;--intro-bg-start: #090a14;--intro-bg-mid: #121427;--intro-bg-end: #171a31;--intro-bottom-glow: rgba(95, 87, 137, .3);--intro-top-glow: rgba(255, 255, 255, .05);--count-card-border: #f8e9c7;--count-card-bg: color-mix(in srgb, var(--bg-haze) 76%, #ffffff 24%);--count-card-shadow: #2d2d48;--count-value: #fff6ef;--story-heading: #fff1dc;--story-text: #f1ebff;--story-link: #ffd8be;--story-strong: #fff2cf;--toggle-bg: #343357;--toggle-border: #f8e7ad;--toggle-text: #fff9f2;--toggle-shadow: #1d1b30;--toggle-focus: #fff2cf;--scene-sky-star-a: #fff4d8;--scene-sky-star-b: #d9ffe1;--scene-sky-band-a: #333159;--scene-sky-band-b: #2a2848;--scene-sky-band-c: #292842;--scene-cloud: #ced8f2;--scene-cloud-shadow: #7a88ab;--scene-cloud-opacity: .42;--scene-rain: #c7d8ff;--scene-rain-shadow: #6a7ca8;--scene-bg-layer-1: url(/assets/scene_1-CD2md6lK.png);--scene-bg-layer-2: url(/assets/scene_2-BSqdOIY6.png);--scene-bg-layer-3: url(/assets/scene_3-B4Trtlw7.png);--scene-bg-layer-4: url(/assets/scene_4-gTqPbvmv.png)}:root[data-theme=light]{--bg-dark: #f6f0df;--bg-mid: #e9e8d6;--bg-haze: #dad7c8;--bg-glow-a: rgba(240, 194, 165, .3);--bg-glow-b: rgba(177, 210, 176, .22);--bg-overlay-top: rgba(247, 242, 230, .85);--bg-overlay-bottom: rgba(244, 240, 230, .92);--bg-grid-line: rgba(106, 99, 83, .045);--panel: #f5eedf;--panel-alt: #fff8eb;--line: #9f9486;--line-shadow: #b7ae9f;--text-main: #2a2430;--text-soft: #4a4250;--accent: #9c604e;--accent-2: #557c5c;--accent-3: #886f3f;--title-shadow: #dbd3c4;--label-shadow: #ece4d5;--intro-bg-start: #f8f4ea;--intro-bg-mid: #efe8db;--intro-bg-end: #e4ddcf;--intro-bottom-glow: rgba(198, 174, 122, .3);--intro-top-glow: rgba(255, 255, 255, .45);--count-card-border: #b6ab9d;--count-card-bg: color-mix(in srgb, var(--bg-haze) 85%, #ffffff 15%);--count-card-shadow: #c9c0b0;--count-value: #2a2430;--story-heading: #3c3341;--story-text: #4a4250;--story-link: #7c4c3d;--story-strong: #3e2d2d;--toggle-bg: #fff8eb;--toggle-border: #8f816d;--toggle-text: #2d2432;--toggle-shadow: #cbc0ae;--toggle-focus: #7c4c3d;--scene-sky-star-a: #f8fbff;--scene-sky-star-b: #f8fbff;--scene-sky-band-a: #9fd1f5;--scene-sky-band-b: #b8dcf6;--scene-sky-band-c: #d4ebfb;--scene-cloud: #ffffff;--scene-cloud-shadow: #c9dfef;--scene-cloud-opacity: .88;--scene-rain: #8ebbe2;--scene-rain-shadow: #d9ecfb;--scene-bg-layer-1: url(/sprites-light/scene_1.png);--scene-bg-layer-2: url(/sprites-light/scene_2.png);--scene-bg-layer-3: url(/sprites-light/scene_3.png);--scene-bg-layer-4: url(/sprites-light/scene_4.png)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%}body{margin:0;color:var(--text-main);font-family:var(--font-primary);font-size:clamp(1rem,.4vw + .88rem,1.15rem);line-height:1.6;background-color:var(--bg-dark);background-image:radial-gradient(100% 90% at 20% 10%,var(--bg-glow-a),transparent 70%),radial-gradient(90% 90% at 85% 90%,var(--bg-glow-b),transparent 72%),linear-gradient(180deg,var(--bg-overlay-top),var(--bg-overlay-bottom)),repeating-linear-gradient(0deg,transparent 0 3px,var(--bg-grid-line) 3px 4px),repeating-linear-gradient(90deg,var(--bg-dark) 0 32px,var(--bg-mid) 32px 64px);image-rendering:pixelated}.theme-toggle{position:fixed;top:.8rem;right:.8rem;z-index:4;width:88px;height:88px;border:0;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.72;transition:opacity .22s ease-out,transform .22s ease-out}.scene-theme-toggle{--scene-theme-toggle-top: clamp(64px, 10vw, 92px);--scene-theme-cord-extra: 2.6rem;position:absolute;top:var(--scene-theme-toggle-top);right:clamp(-92px,-7vw,-64px);z-index:5;width:58px;height:58px}.scene-theme-toggle:before{content:"";position:absolute;left:50%;top:calc(-1 * var(--scene-theme-toggle-top) - var(--scene-theme-cord-extra) - 3px);width:2px;height:calc(var(--scene-theme-toggle-top) + var(--scene-theme-cord-extra) + 37px);background:color-mix(in srgb,var(--toggle-border) 62%,transparent);opacity:.34;transform:translate(-50%);transform-origin:top center;transition:opacity .22s ease-out}.scene-theme-toggle:hover:before,.scene-theme-toggle:focus-visible:before,.scene-theme-toggle-swapping:before{opacity:.68}.scene-theme-toggle-swapping{pointer-events:none}.scene-theme-toggle-swapping:before{animation:celestial-cord-retract .84s cubic-bezier(.2,.8,.2,1) both}.scene-theme-toggle-swapping .theme-toggle-celestial{animation:celestial-swap .84s cubic-bezier(.2,.8,.2,1) both}.scene-theme-toggle:disabled{opacity:1}.theme-toggle:hover{opacity:.94;transform:translateY(-1px) scale(1.02)}.theme-toggle:active{transform:translateY(1px) scale(.99)}.theme-toggle-celestial{display:block;width:clamp(38px,4.4vw,54px);height:clamp(38px,4.4vw,54px);object-fit:contain;image-rendering:pixelated;filter:drop-shadow(1px 1px 0 rgba(24,20,38,.24));pointer-events:none}.theme-toggle:focus-visible{outline:3px solid var(--toggle-focus);outline-offset:4px}.stage-toggle-panel{position:fixed;top:.45rem;left:.45rem;z-index:4;padding:.16rem;border-width:1px;background:color-mix(in srgb,var(--panel) 42%,transparent);box-shadow:none;opacity:.58;transition:opacity .18s ease-out}.stage-toggle-panel:hover,.stage-toggle-panel:focus-within{opacity:1}.stage-toggle-select{width:auto;border:1px solid color-mix(in srgb,var(--toggle-border) 64%,transparent);background:color-mix(in srgb,var(--toggle-bg) 62%,transparent);color:var(--toggle-text);font-family:var(--font-accent);font-size:.56rem;line-height:1;padding:.18rem 1.1rem .18rem .32rem}.stage-toggle-select:focus-visible{outline:3px solid var(--toggle-focus);outline-offset:4px}.intro-shell{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;transition:opacity .3s ease-out,transform .3s ease-out;background:radial-gradient(120% 110% at 50% 100%,var(--intro-bottom-glow),transparent 62%),radial-gradient(90% 80% at 50% 0%,var(--intro-top-glow),transparent 60%),linear-gradient(180deg,var(--intro-bg-start) 0%,var(--intro-bg-mid) 56%,var(--intro-bg-end) 100%)}.intro-shell.is-opening{opacity:0;transform:scale(1.008)}.intro-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.09;background:repeating-linear-gradient(0deg,rgba(255,255,255,.14) 0 1px,transparent 1px 4px)}.intro-stars{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 18% 21%,#fff6ea 0 2px,transparent 3px),radial-gradient(circle at 74% 32%,#f8e7ad 0 2px,transparent 3px),radial-gradient(circle at 31% 61%,#d8f5d1 0 2px,transparent 3px),radial-gradient(circle at 84% 67%,#f6ccd6 0 2px,transparent 3px),radial-gradient(circle at 60% 83%,#d7e2ff 0 2px,transparent 3px);opacity:.6;transition:opacity .24s ease-out;animation:twinkle 2.8s steps(2,end) infinite}.intro-shell.is-opening .intro-stars{opacity:.2}.intro-cta-button{position:relative;z-index:1;border:2px solid #8bb6a0;padding:1rem 1.2rem .95rem;background:linear-gradient(180deg,#071410f2,#070e0cf2);color:#daf8e5;font-family:var(--font-accent);font-size:.62rem;line-height:1.4;text-align:left;letter-spacing:.03em;box-shadow:4px 4px #11191a,inset 0 0 0 1px #daf8e51f;opacity:0;transform:translateY(16px) scale(.9);transition:opacity .46s cubic-bezier(.22,1,.36,1),transform .56s cubic-bezier(.19,1,.22,1),box-shadow .18s ease-out,border-color .18s ease-out;will-change:opacity,transform}.stage-transition-notice{margin:0 auto .95rem;width:100%}.intro-cta-button.is-visible{opacity:1;transform:translateY(0) scale(1);animation:envelope-pop .62s cubic-bezier(.16,1,.3,1)}.invitation-drop-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:18;pointer-events:none}.invitation-drop-bird{position:absolute;top:22%;left:-5rem;width:64px;height:64px;background-repeat:no-repeat;background-size:400% 100%;image-rendering:pixelated;filter:drop-shadow(2px 2px 0 rgba(36,35,57,.45));animation:invitation-bird-flight 4.2s linear .5s both,invitation-bird-flap .42s steps(4,end) .5s 10}.invitation-drop-carried-envelope{position:absolute;right:-2px;top:35px;width:22px;height:22px;background-repeat:no-repeat;background-size:400% 100%;image-rendering:pixelated;filter:drop-shadow(1px 1px 0 rgba(36,35,57,.55));transform:rotate(6deg);animation:invitation-carried-envelope-release 2.15s linear .5s both}.invitation-drop-envelope{position:absolute;left:52%;top:82%;width:64px;height:64px;padding:0;border:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;pointer-events:auto;opacity:0;transform:translate(-50%,-50%);animation:invitation-envelope-drop 2.4s cubic-bezier(.2,.72,.2,1) 2.65s both}.invitation-drop-envelope-sprite{position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:no-repeat;background-size:400% 100%;background-position:0 0;image-rendering:pixelated;filter:drop-shadow(2px 2px 0 rgba(36,35,57,.52));animation:invitation-envelope-sprite-glow 1.45s steps(4,end) 5s infinite}.invitation-drop-envelope:hover,.invitation-drop-envelope:focus-visible{outline:none;filter:drop-shadow(0 0 4px #f8e7ad) drop-shadow(0 0 10px rgba(248,231,173,.6))}.invitation-drop-envelope:focus-visible .invitation-drop-envelope-sprite{outline:3px solid var(--toggle-focus);outline-offset:2px}.invitation-drop-envelope:active{transform:translate(-50%,-50%) translate(1px,1px) scale(.96)}.invitation-poem-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1.2rem;background:color-mix(in srgb,var(--bg-dark) 92%,transparent);animation:invitation-fade .52s ease-out}.invitation-poem-card{width:min(620px,100%);min-height:min(520px,calc(100vh - 2.4rem));display:flex;flex-direction:column;justify-content:center;gap:1.35rem;padding:clamp(1.5rem,5vw,2.8rem);border:1px solid color-mix(in srgb,var(--line) 46%,transparent);background:color-mix(in srgb,var(--panel) 62%,transparent);box-shadow:none;color:var(--text-main);cursor:pointer;text-align:left}.invitation-poem-card .story-poem{font-size:clamp(1rem,.8vw + .9rem,1.35rem);line-height:2.1}.invitation-poem-dates{font-family:var(--font-accent);font-size:clamp(.62rem,.85vw + .48rem,.9rem);color:var(--accent-2);margin-top:1.2rem;letter-spacing:.05em}.invitation-poem-continue{align-self:flex-end;color:color-mix(in srgb,var(--accent-2) 82%,var(--text-soft));font-family:var(--font-accent);font-size:clamp(.48rem,.72vw,.62rem);line-height:1.6;opacity:.72}.intro-cta-button:hover{transform:translate(-2px,-2px);border-color:#b6e4cb;box-shadow:6px 6px #11191a,inset 0 0 0 1px #daf8e538}.intro-cta-button:active{transform:translate(1px,1px);box-shadow:2px 2px #11191a,inset 0 0 0 1px #daf8e529}.intro-cta-button:focus-visible{outline:3px solid #d1ffe5;outline-offset:8px}.intro-cta-line{display:block;white-space:nowrap}.intro-cta-line-message{overflow:hidden;width:0}.intro-cta-button.is-visible .intro-cta-line-message{animation:intro-type-message 1.8s steps(30,end) .16s forwards}.intro-cta-line-command{margin-top:.65rem;color:#f8ffbb;text-transform:lowercase;opacity:0}.intro-cta-button.is-visible .intro-cta-line-command{opacity:1;animation:intro-command-reveal .16s steps(1,end) 2s forwards}.intro-cta-line-command:before{content:"> ";color:#9de7c3}.intro-cta-line-command:after{content:"_";margin-left:.18rem;color:#9de7c3;animation:intro-caret-blink .92s steps(1,end) infinite}.app-shell{position:relative;max-width:1220px;margin:0 auto;padding:2.4rem 1.4rem 2.8rem}.app-shell-scene-focused{max-width:min(1720px,calc((100vh - 4.2rem)*1.777),calc(100vw - 2rem));padding-top:clamp(.8rem,2vh,1.4rem);padding-bottom:clamp(.8rem,2vh,1.4rem)}.app-shell-ready{animation:invitation-fade .52s ease-out}.app-shell-loading{min-height:calc(100vh - 2.4rem);display:flex;align-items:center;justify-content:center;padding-top:2.4rem;padding-bottom:1.2rem}.app-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.08;background:repeating-linear-gradient(0deg,rgba(255,255,255,.1) 0 1px,transparent 1px 4px)}.stage-update-banner{display:flex;align-items:center;justify-content:space-between;gap:.9rem;margin-bottom:.9rem;padding:.75rem .95rem;border-width:1px;background:color-mix(in srgb,var(--panel) 56%,transparent);box-shadow:none;animation:credits-page-in .62s ease-out}.stage-update-copy{margin:0;color:var(--text-soft);line-height:1.2}.stage-update-button{flex-shrink:0;border:1px solid color-mix(in srgb,var(--toggle-border) 70%,transparent);background:color-mix(in srgb,var(--toggle-bg) 68%,transparent);color:var(--toggle-text);font-family:var(--font-accent);font-size:.48rem;line-height:1.2;padding:.56rem .72rem}.stage-update-button:hover{transform:translateY(-1px)}.stage-update-button:focus-visible{outline:3px solid var(--toggle-focus);outline-offset:4px}.loading-panel,.error-panel{max-width:340px;margin:28vh auto 0;padding:1.55rem 1.7rem;border-width:1px;background:color-mix(in srgb,var(--panel) 48%,transparent);box-shadow:none;text-align:center}.app-shell-loading .loading-panel{margin:0;animation:loading-panel-enter .52s ease-out both}.loading-row{display:inline-flex;align-items:center;justify-content:center;gap:.9rem}.loading-pot{position:relative;width:44px;height:32px;display:inline-block;background-repeat:no-repeat;background-position:center bottom;background-size:contain;image-rendering:pixelated}.loading-pot-steam{position:absolute;left:13px;top:-12px;width:2px;height:8px;background:color-mix(in srgb,var(--accent-2) 62%,transparent);opacity:.24;animation:pot-steam 1.5s steps(4,end) infinite}.loading-pot-steam-mid{left:21px;top:-15px;animation-delay:.24s}.loading-pot-steam-right{left:29px;animation-delay:.48s}.loading-label{margin:0;font-family:var(--font-primary);font-size:.86rem;font-weight:500;line-height:1.6;color:var(--text-soft);text-align:center}.invitation-scene{position:relative;opacity:0;transform:translateY(8px) scale(.992);transition:opacity .52s ease-out,transform .62s ease-out}.invitation-scene-visible{opacity:1;transform:translateY(0) scale(1)}.invitation-scene-visible .story,.invitation-scene-visible .hero{animation:invitation-content-settle .52s ease-out .14s both}.road-scene{position:relative;width:100%;aspect-ratio:16 / 9;min-height:clamp(280px,32vw,420px);max-height:640px;margin-bottom:.9rem;overflow:visible;animation:pop-in .28s steps(6,end)}.scene-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.app-shell-scene-focused .road-scene{min-height:unset;max-height:none;margin-bottom:.45rem}.road-scene.panel{background-color:var(--panel-alt)}.scene-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-repeat:no-repeat;background-position:center top;background-size:cover;image-rendering:pixelated}.scene-bg-next{opacity:0;animation:scene-crossfade .82s ease-in-out forwards}.scene-bg-nature-1{background-image:var(--scene-bg-layer-1)}.scene-bg-nature-2{background-image:var(--scene-bg-layer-2)}.scene-bg-nature-3{background-image:var(--scene-bg-layer-3)}.scene-bg-nature-4{background-image:var(--scene-bg-layer-4)}.scene-bg-toronto{background-size:cover;background-position:center top}.scene-clip>:not(.scene-bg){z-index:1}.scene-skyline,.scene-terrains,.scene-road{display:none}.scene-skyline{top:0;height:66%;background:radial-gradient(circle at 16% 36%,var(--scene-sky-star-a) 0 3px,transparent 4px),radial-gradient(circle at 74% 24%,var(--scene-sky-star-b) 0 3px,transparent 4px),repeating-linear-gradient(90deg,var(--scene-sky-band-a) 0 28px,var(--scene-sky-band-b) 28px 56px,var(--scene-sky-band-c) 56px 76px);background-position:0 0,0 0,0 0;animation:skyline-scroll 5.2s linear infinite}.scene-clouds{position:absolute;left:0;right:0;top:0;height:52%;pointer-events:none}.scene-cloud{position:absolute;top:var(--cloud-top);left:calc(100% + var(--cloud-left));width:56px;height:32px;background-image:var(--cloud-image);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:var(--cloud-opacity);transform:scale(var(--cloud-scale));transform-origin:top left;image-rendering:pixelated;animation:cloud-drift var(--cloud-duration) linear infinite;animation-delay:var(--cloud-delay)}.scene-birds{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.scene-bird{position:absolute;top:var(--bird-top);left:var(--bird-left);display:block;opacity:0;transform-origin:center;animation:scene-bird-flight var(--bird-duration) linear infinite;animation-delay:var(--bird-delay);will-change:transform,opacity}.scene-bird-sprite{display:block;background-image:var(--bird-image);background-repeat:no-repeat;background-position:0 0;background-size:400% 100%;image-rendering:pixelated;animation:scene-bird-flap .42s steps(4,end) infinite;animation-delay:var(--bird-delay)}.scene-bird-distant,.scene-bird-distant .scene-bird-sprite{width:32px;height:64px}.scene-bird-distant .scene-bird-sprite{background-size:800% 100%;animation:scene-bird-flap-distant var(--bird-flap-duration) steps(8,end) infinite;animation-delay:var(--bird-delay)}.scene-car-exhaust-puff{position:absolute;left:-2px;top:50%;width:var(--puff-size);height:var(--puff-size);margin-top:var(--puff-offset-y);border-radius:50%;background:radial-gradient(circle,rgba(220,220,230,.9) 0%,rgba(200,200,215,.5) 40%,rgba(180,180,195,.15) 70%,transparent 100%);box-shadow:0 0 3px #c8c8d74d;pointer-events:none;image-rendering:auto;opacity:0;animation:exhaust-puff var(--puff-duration) ease-out forwards}@keyframes exhaust-puff{0%{opacity:0;transform:translate(0) scale(.5)}20%{opacity:var(--puff-peak-opacity)}to{opacity:0;transform:translate(var(--puff-drift-x),var(--puff-drift-y)) scale(var(--puff-peak-scale))}}.scene-fireflies{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.scene-firefly{position:absolute;left:var(--firefly-left);top:var(--firefly-top);width:var(--firefly-size);height:var(--firefly-size);border-radius:50%;background:radial-gradient(circle,rgba(230,255,160,1) 0%,rgba(210,250,130,.7) 35%,rgba(180,240,100,.2) 65%,transparent 100%);box-shadow:0 0 var(--firefly-glow-size) #c8f57899,0 0 calc(var(--firefly-glow-size) * 2) #c8f5784d,0 0 calc(var(--firefly-glow-size) * .5) #ffffb473;opacity:0;animation:firefly-glow var(--firefly-duration) ease-in-out infinite,firefly-drift var(--firefly-duration) ease-in-out infinite;animation-delay:var(--firefly-delay)}@keyframes firefly-glow{0%{opacity:0}15%{opacity:var(--firefly-peak-opacity)}50%{opacity:calc(var(--firefly-peak-opacity) * .3)}70%{opacity:var(--firefly-peak-opacity)}to{opacity:0}}@keyframes firefly-drift{0%{transform:translate(0)}25%{transform:translate(calc(var(--firefly-drift-x) * .6),calc(var(--firefly-drift-y) * -.4))}50%{transform:translate(var(--firefly-drift-x),var(--firefly-drift-y))}75%{transform:translate(calc(var(--firefly-drift-x) * .3),calc(var(--firefly-drift-y) * .7))}to{transform:translate(0)}}.scene-rain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.scene-raindrop{position:absolute;top:-22px;left:var(--rain-left);width:var(--rain-width);height:var(--rain-length);opacity:var(--rain-opacity);background:var(--scene-rain);box-shadow:1px 1px 0 var(--scene-rain-shadow);image-rendering:pixelated;transform:rotate(var(--rain-angle));transform-origin:top center;animation:rain-fall var(--rain-duration) steps(var(--rain-steps),end) infinite;animation-delay:var(--rain-delay)}.scene-raindrop-splash:after{content:"";position:absolute;bottom:-4px;left:-2px;width:6px;height:3px;background:transparent;opacity:0;image-rendering:pixelated;animation:rain-splash var(--rain-duration) steps(var(--rain-steps),end) infinite;animation-delay:var(--rain-delay)}.scene-terrains{bottom:28px;height:44px;background:repeating-linear-gradient(90deg,#7cab67 0,#7cab67 44px,#96bf74 44px,#96bf74 88px,#d4b26a 88px,#d4b26a 132px,#c99b54 132px,#c99b54 176px,#d8ecff 176px,#d8ecff 220px,#c1dcf7 220px,#c1dcf7 264px);border-top:3px solid #f2e4cb;border-bottom:3px solid #241c34;animation:terrain-scroll 3.8s linear infinite}.scene-road{bottom:0;height:30px;background:repeating-linear-gradient(90deg,#2e2b45 0,#2e2b45 54px,#36325a 54px,#36325a 108px);border-top:3px solid #b9addf}.scene-road:before{content:"";position:absolute;top:12px;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,#fbe8c2 0 18px,transparent 18px 36px);animation:lane-scroll 1.1s linear infinite}.scene-car{position:absolute;z-index:3;left:-80px;bottom:0;width:78px;height:44px;background:var(--scene-car-image) no-repeat center / contain;border:0;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;image-rendering:pixelated;touch-action:manipulation;animation:car-drive 16s linear infinite,car-bounce .64s ease-in-out infinite alternate}.scene-car-arriving{animation:car-arrive 8s linear both,car-bounce .64s ease-in-out infinite alternate}.scene-car-honking{animation:car-drive 16s linear infinite,car-bounce .64s ease-in-out infinite alternate,car-honk .22s steps(2,end) 5}.scene-car-parked.scene-car-honking{animation:car-honk .22s steps(2,end) 5}.scene-car:focus-visible{outline:3px solid var(--toggle-focus);outline-offset:6px}.scene-car-headlight{position:absolute;right:-38px;top:50%;width:62px;height:32px;transform:translateY(-50%);background:radial-gradient(ellipse 100% 100% at 0% 50%,rgba(255,241,194,.32) 0%,rgba(255,241,194,.14) 30%,rgba(255,241,194,.04) 60%,transparent 100%);pointer-events:none;image-rendering:auto;animation:headlight-pulse 2.4s ease-in-out infinite alternate}.scene-car-headlight-parked{width:36px;height:22px;right:-22px;background:radial-gradient(ellipse 100% 100% at 0% 50%,rgba(255,241,194,.16) 0%,rgba(255,241,194,.06) 40%,transparent 100%);animation:headlight-pulse-parked 3.2s ease-in-out infinite alternate}@keyframes headlight-pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.78}}@keyframes headlight-pulse-parked{0%{opacity:.5}to{opacity:.8}}@media (hover: hover){.scene-car:hover{filter:drop-shadow(0 0 3px var(--accent-3)) drop-shadow(0 0 6px rgba(248,231,173,.3));transition:filter .18s ease-out}}.scene-car-dialogue{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);min-width:190px;padding:.58rem .62rem;display:grid;gap:.34rem;font-family:var(--font-primary);font-size:.68rem;font-weight:600;line-height:1.35;color:#2a2039;background:color-mix(in srgb,#fff5d9 94%,transparent);border:1px solid color-mix(in srgb,#2a2039 58%,transparent);box-shadow:0 1px #2a20391f;animation:car-dialogue-pop .42s ease-out}.scene-car-dialogue-line{display:inline-flex;width:fit-content;max-width:72%;white-space:normal;align-items:center;gap:.18rem;padding:.22rem .34rem;border:1px solid color-mix(in srgb,#2a2039 18%,transparent);background:color-mix(in srgb,#fffdf3 58%,transparent);color:#2a2039;text-align:left}.scene-car-dialogue-line-sender{justify-self:start;margin-left:.2rem}.scene-car-dialogue-line-reply{justify-self:end;margin-right:.2rem;background:color-mix(in srgb,#f1ecf5 68%,transparent);color:#4a3567}.scene-car-typing-dot{width:4px;height:4px;border-radius:0;background:currentColor;opacity:.3;animation:car-typing-blink .9s steps(1,end) infinite}.scene-car-typing-dot:nth-child(2){animation-delay:.12s}.scene-car-typing-dot:nth-child(3){animation-delay:.24s}.scene-car-dialogue:after{content:"";position:absolute;left:50%;bottom:-6px;width:6px;height:6px;transform:translate(-50%);background:color-mix(in srgb,#fff5d9 94%,transparent);border-right:1px solid color-mix(in srgb,#2a2039 58%,transparent);border-bottom:1px solid color-mix(in srgb,#2a2039 58%,transparent)}.scene-car-parked .scene-car-dialogue{left:0;transform:none;animation:car-dialogue-pop-parked .42s ease-out}.scene-car-parked .scene-car-dialogue:after{left:14px;transform:none}.scene-car:not(.scene-car-parked) .scene-car-dialogue{left:0;transform:none;animation:car-dialogue-pop-moving .42s ease-out}.scene-car:not(.scene-car-parked) .scene-car-dialogue:after{left:14px;transform:none}.panel{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-alt) 86%,transparent),color-mix(in srgb,var(--panel) 90%,transparent));border:2px solid color-mix(in srgb,var(--line) 82%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--line-shadow) 72%,transparent),3px 3px #19182b7a;border-radius:0}.hero{padding:1.8rem;margin-bottom:.9rem;text-align:center}.story{padding:1.5rem 1.6rem;margin-bottom:.9rem;text-align:center}h1{margin:0;font-family:var(--font-accent);font-size:clamp(1.14rem,2.4vw,2.05rem);line-height:1.45;color:var(--text-main);text-shadow:2px 2px 0 var(--title-shadow)}.subtitle{margin-top:1rem;margin-bottom:.4rem;color:var(--text-soft);line-height:1.32}.cta{margin-top:.6rem;color:var(--accent);font-family:var(--font-accent);font-size:clamp(1.05rem,.4vw + .9rem,1.25rem);font-weight:600;line-height:1.5;letter-spacing:.01em}.hero-note{margin:1rem 0 0;color:var(--accent-2);line-height:1.2}.countdown{padding:1.4rem;margin-bottom:.9rem;animation:pop-in .5s steps(6,end);animation-fill-mode:forwards}.countdown-done{margin:0;font-family:var(--font-accent);font-size:clamp(1rem,.4vw + .88rem,1.2rem);color:#fff2cf;text-transform:none;line-height:1.2}.story-heading-row{margin-bottom:.8rem}.story-kicker{margin:0;font-family:var(--font-accent);font-size:.62rem;line-height:1.5;color:var(--accent-3)}.story-poem-container{position:relative}.story-poem{margin:0;color:var(--story-text);line-height:2;font-style:italic}.story-poem-ghost{visibility:hidden}.story-poem-visible{position:absolute;top:0;left:0;right:0}.typewriter-cursor{display:inline-block;width:2px;height:1em;background:var(--accent-2);margin-left:2px;vertical-align:text-bottom;animation:cursor-blink .6s steps(2,start) infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.story h1,.story h2,.story h3,.story h4{font-family:var(--font-accent);font-size:clamp(.72rem,2.3vw,.94rem);line-height:1.7;color:var(--story-heading);text-transform:none}.story p,.story li{color:var(--story-text);line-height:1.6}.story a{color:var(--story-link)}.story strong{color:var(--story-strong)}.final-stage-shell{--panel: #31394e;--panel-alt: #3b455b;--line: #aeb9c8;--line-shadow: #1f2634;--text-main: #f5efe4;--text-soft: #d8d9d2;--accent-2: #b8d2bd;--toggle-bg: #2b3346;--toggle-border: #c9c6aa;--toggle-text: #f5efe4}:root[data-theme=light] .final-stage-shell{--panel: #eee7d8;--panel-alt: #f5efe2;--line: #9b9a8d;--line-shadow: #cdc5b5;--text-main: #2c2b2a;--text-soft: #55514a;--accent-2: #637f69;--toggle-bg: #f8f1e3;--toggle-border: #8f8878;--toggle-text: #2c2b2a}.final-stage-scene{position:relative;width:100%;margin:0 auto .65rem}.final-stage-scene .road-scene{min-height:auto;margin-bottom:0}.final-stage-scene .road-scene:after{content:"";position:absolute;left:53.8%;bottom:25%;z-index:4;width:3px;height:3px;background:#fff7b8b8;box-shadow:14px -12px #fff7b894,-18px -6px #c7f0cb6b,28px 2px #c7f0cb5c;image-rendering:pixelated;opacity:0;pointer-events:none;animation:final-sparkle-cluster 10.5s steps(4,end) 6.5s infinite}.final-stage-credits-entry{position:absolute;right:clamp(.75rem,2vw,1.25rem);bottom:clamp(.75rem,2vw,1.25rem);z-index:8;border:1px solid color-mix(in srgb,var(--toggle-border) 68%,transparent);background:color-mix(in srgb,var(--toggle-bg) 64%,transparent);color:var(--toggle-text);padding:.52rem .66rem;font-family:var(--font-accent);font-size:.48rem;line-height:1;opacity:.88;animation:credits-entry-in .96s ease-out}.final-stage-credits-entry:hover{opacity:1;transform:translateY(-1px)}.final-stage-credits-entry:active{transform:translateY(1px)}.credits-page-card{position:relative;overflow:hidden;width:min(560px,100%);margin:clamp(3.2rem,16vh,8rem) auto 0;padding:clamp(2.4rem,7vw,4.4rem) clamp(2rem,6vw,3.8rem);text-align:center;border:none;background:color-mix(in srgb,var(--panel) 32%,transparent);box-shadow:none;animation:credits-page-in 2s ease-out}.credits-page-eyebrow{margin:0 0 .7rem;color:color-mix(in srgb,var(--accent-2) 74%,var(--text-soft));font-family:var(--font-accent);font-size:.46rem;letter-spacing:.1em;text-transform:uppercase}.credits-page-card h1{max-width:500px;margin:0 auto;color:var(--text-main);font-family:var(--font-accent);font-size:clamp(.72rem,1.4vw,.92rem);font-weight:400;line-height:1.8;letter-spacing:.08em;text-shadow:none}.credits-page-lead,.credits-page-emphasis,.credits-page-close{max-width:500px;margin:1rem auto 0;color:var(--text-soft);line-height:1.6}.credits-page-list{display:grid;gap:1.8rem;max-width:400px;margin:2.4rem auto 0;text-align:center}.credits-page-list p{margin:0;padding:0;border:0;background:transparent;color:var(--text-soft);font-size:.84rem;line-height:1.6;opacity:0;animation:credits-row-in 1.2s ease-out forwards}.credits-page-list p:nth-child(1){animation-delay:.6s}.credits-page-list p:nth-child(2){animation-delay:1.1s}.credits-page-list p:nth-child(3){animation-delay:1.6s}.credits-page-list p:nth-child(4){animation-delay:2.1s}.credits-page-list p:nth-child(5){animation-delay:2.6s}.credits-page-list p:nth-child(6){animation-delay:3.1s}.credits-page-list p:nth-child(7){animation-delay:3.6s}.credits-page-list p:nth-child(8){animation-delay:4.1s}.credits-page-list span{display:block;margin-bottom:.32rem;color:color-mix(in srgb,var(--accent-2) 60%,var(--text-soft));font-family:var(--font-accent);font-size:.42rem;line-height:1.5;letter-spacing:.12em;text-transform:lowercase}.credits-page-list span:after{content:"";display:block;width:1.2rem;height:1px;margin:.28rem auto 0;background:color-mix(in srgb,var(--line) 24%,transparent)}.credits-page-back{margin-top:2.8rem;border:none;background:transparent;color:var(--text-soft);padding:.4rem 0;font-family:var(--font-accent);font-size:.4rem;line-height:1;letter-spacing:.1em;opacity:0;animation:credits-row-in 1.2s ease-out 4.8s forwards;cursor:pointer;transition:opacity .3s ease}.credits-page-back:hover{opacity:.7;transform:none}.credits-page-back:active{opacity:.5;transform:none}.final-stage-card{position:relative;overflow:hidden;width:min(820px,100%);margin:0 auto;padding:clamp(1rem,2.2vw,1.55rem);text-align:center;border-width:2px;background:color-mix(in srgb,var(--panel) 82%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--line-shadow) 78%,transparent),4px 4px #19182b7a}.final-stage-kicker{margin:0;font-family:var(--font-accent);font-size:clamp(.78rem,1.45vw,1.05rem);line-height:1.5;color:var(--text-main);text-shadow:2px 2px 0 var(--title-shadow)}.final-stage-lead{max-width:620px;margin:.85rem auto 0;color:var(--text-soft);font-size:clamp(1rem,.45vw + .9rem,1.2rem);line-height:1.55}.final-stage-emphasis{margin:1rem 0 0;color:var(--accent-3);font-family:var(--font-accent);font-size:clamp(.78rem,1.4vw,1rem);line-height:1.6}.final-stage-notes span{display:block;margin-bottom:.15rem;color:var(--accent-2);font-family:var(--font-accent);font-size:.5rem;line-height:1.5;letter-spacing:.03em}.final-stage-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem 1.25rem;max-width:660px;margin:.95rem auto 0;text-align:left}.final-stage-notes p{margin:0;color:var(--text-soft);font-size:.82rem;line-height:1.35}.final-stage-close{margin:1.05rem 0 0;color:var(--accent);font-weight:700;line-height:1.35}.hero,.countdown,.story,.final-stage-card{position:relative;overflow:hidden}.hero:before,.countdown:before,.story:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 0%,transparent 35%,rgba(248,231,173,.08) 43%,rgba(248,231,173,.18) 50%,rgba(248,231,173,.08) 57%,transparent 65%,transparent 100%);transform:translate(-100%);animation:panel-shimmer 30s linear infinite}.countdown:before{animation-delay:10s}.story:before{animation-delay:20s}@keyframes panel-shimmer{0%,93%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes final-sparkle-cluster{0%,62%,to{opacity:0;transform:translateY(0) scale(1)}68%,78%{opacity:.46;transform:translateY(-1px) scale(1.04)}86%{opacity:.18;transform:translateY(-4px) scale(.94)}}@keyframes credits-entry-in{0%{opacity:0;transform:translateY(6px)}to{opacity:.88;transform:translateY(0)}}@keyframes credits-page-in{0%{opacity:0}to{opacity:1}}@keyframes credits-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:.92;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes skyline-scroll{0%{background-position:0 0,0 0,0 0}to{background-position:-30px 0,-40px 0,-140px 0}}@keyframes cloud-drift{0%{translate:0 0}to{translate:-1180px 0}}@keyframes scene-bird-flight{0%{opacity:0;transform:translate(0) scale(var(--bird-scale))}8%{opacity:var(--bird-opacity)}88%{opacity:var(--bird-opacity)}to{opacity:0;transform:translate(calc(100vw + var(--bird-travel-x)),var(--bird-drift-y)) scale(var(--bird-scale))}}@keyframes scene-bird-flap-distant{0%{background-position:0 0}to{background-position:-256px 0}}@keyframes rain-fall{0%{transform:translate(0) rotate(var(--rain-angle))}to{transform:translate(var(--rain-drift-x),360px) rotate(var(--rain-angle))}}@keyframes rain-splash{0%,88%{opacity:0;box-shadow:none}90%{opacity:.6;background:var(--scene-rain);box-shadow:-2px -1px 0 0 var(--scene-rain),3px -1px 0 0 var(--scene-rain)}95%{opacity:.3;background:var(--scene-rain);box-shadow:-3px -2px 0 0 var(--scene-rain),4px -2px 0 0 var(--scene-rain)}to{opacity:0;box-shadow:none}}@keyframes celestial-cord-retract{0%{height:calc(var(--scene-theme-toggle-top) + var(--scene-theme-cord-extra) + 37px)}38%{height:calc(var(--scene-theme-cord-extra) + 10px)}46%{height:calc(var(--scene-theme-cord-extra) + 10px)}70%{height:calc(var(--scene-theme-toggle-top) + var(--scene-theme-cord-extra) + 48px)}84%{height:calc(var(--scene-theme-toggle-top) + var(--scene-theme-cord-extra) + 30px)}to{height:calc(var(--scene-theme-toggle-top) + var(--scene-theme-cord-extra) + 37px)}}@keyframes celestial-swap{0%{transform:translateY(0) rotate(0)}38%{transform:translateY(-160%) rotate(-3deg)}46%{transform:translateY(-160%) rotate(3deg)}70%{transform:translateY(16%) rotate(0)}84%{transform:translateY(-7%) rotate(-1deg)}to{transform:translateY(0) rotate(0)}}@keyframes terrain-scroll{0%{background-position:0 0}to{background-position:-264px 0}}@keyframes lane-scroll{0%{background-position:0 0}to{background-position:-36px 0}}@keyframes car-drive{0%{left:-80px}to{left:calc(100% + 80px)}}@keyframes car-arrive{0%{left:-80px;animation-timing-function:linear}65%{left:28%;animation-timing-function:cubic-bezier(.33,1,.68,1)}to{left:33%}}@keyframes car-bounce{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes car-honk{0%{transform:translate(0) translateY(0) scale(1)}25%{transform:translate(-1px) translateY(-1px) scale(1.02)}50%{transform:translate(1px) translateY(0) scale(1.03)}to{transform:translate(0) translateY(-1px) scale(1)}}@keyframes car-dialogue-pop{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes invitation-content-settle{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes car-dialogue-pop-moving{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes car-dialogue-pop-parked{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes car-typing-blink{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@keyframes envelope-pop{0%{opacity:0;transform:translateY(20px) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes invitation-bird-flight{0%{transform:translate(0) translateY(0) scale(.82)}62%{opacity:1;transform:translate(calc(58vw + 5rem)) translateY(1.1rem) scale(.82)}to{opacity:0;transform:translate(calc(112vw + 5rem)) translateY(-.6rem) scale(.82)}}@keyframes invitation-bird-flap{0%{background-position:0 0}to{background-position:-256px 0}}@keyframes invitation-carried-envelope-release{0%,99%{opacity:1}to{opacity:0}}@keyframes invitation-envelope-drop{0%{opacity:0;transform:translate(-50%,-340%) rotate(-6deg) scale(.72)}16%{opacity:1}72%{transform:translate(-50%,-50%) rotate(4deg) scale(.92)}86%{transform:translate(-50%,-58%) rotate(-2deg) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}}@keyframes invitation-envelope-sprite-glow{0%,to{filter:drop-shadow(2px 2px 0 rgba(36,35,57,.52)) drop-shadow(0 0 4px rgba(248,231,173,.62)) drop-shadow(0 0 10px rgba(247,194,166,.34))}50%{filter:drop-shadow(2px 2px 0 rgba(36,35,57,.42)) drop-shadow(0 0 8px rgba(248,231,173,.98)) drop-shadow(0 0 16px rgba(248,231,173,.72)) drop-shadow(0 0 24px rgba(247,194,166,.62))}}@keyframes intro-type-message{0%{width:0}to{width:100%}}@keyframes intro-command-reveal{0%{opacity:0}to{opacity:1}}@keyframes intro-caret-blink{0%{opacity:.25}50%{opacity:1}to{opacity:.25}}@keyframes invitation-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-crossfade{0%{opacity:0}to{opacity:1}}@keyframes pot-steam{0%{transform:translateY(3px);opacity:0}42%{opacity:.48}to{transform:translateY(-8px);opacity:0}}@keyframes loading-panel-enter{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes twinkle{0%{opacity:.4}to{opacity:1}}.mobile-orientation-gate{display:none}.mobile-orientation-card{display:grid;justify-items:center;gap:1.2rem;padding:1.5rem}.mobile-orientation-phone{position:relative;width:54px;height:88px;border:4px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-alt) 78%,#ffffff 22%),var(--panel));box-shadow:5px 5px 0 var(--line-shadow);image-rendering:pixelated;animation:rotate-phone 1.8s steps(6,end) infinite}.mobile-orientation-phone:before{content:"";position:absolute;left:50%;top:7px;width:14px;height:3px;background:var(--line);transform:translate(-50%)}.mobile-orientation-phone:after{content:"";position:absolute;left:50%;bottom:7px;width:7px;height:7px;background:var(--accent-2);box-shadow:1px 1px 0 var(--line-shadow);transform:translate(-50%)}.mobile-orientation-copy{color:var(--text-main);font-family:var(--font-accent);font-size:clamp(.72rem,3.4vw,.96rem);line-height:1.7;text-align:center;text-shadow:2px 2px 0 var(--title-shadow)}@media (max-width: 820px) and (orientation: portrait) and (pointer: coarse){.mobile-orientation-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:1.4rem;background:radial-gradient(90% 80% at 50% 10%,var(--bg-glow-a),transparent 70%),radial-gradient(90% 90% at 50% 100%,var(--bg-glow-b),transparent 72%),linear-gradient(180deg,var(--bg-overlay-top),var(--bg-overlay-bottom))}.final-stage-shell:has(.credits-page-card) .mobile-orientation-gate{display:none}}@keyframes rotate-phone{0%,38%{transform:rotate(0)}62%,to{transform:rotate(90deg)}}@media (max-width: 800px){body{font-size:1rem}}@media (max-width: 700px){.app-shell{padding-right:.8rem;padding-left:.8rem}.app-shell-scene-focused{max-width:calc(100vw - 1.6rem);padding-top:.8rem;padding-bottom:.8rem}.theme-toggle{top:.7rem;right:.7rem;width:58px;height:58px}.scene-theme-toggle{--scene-theme-toggle-top: 54px;right:-66px;width:56px;height:56px}.road-scene{min-height:180px;max-height:min(360px,calc((100vw - 1rem)*.5625))}.scene-terrains{height:36px}.scene-road{height:26px}.scene-car{bottom:18px}.stage-update-banner{align-items:flex-start;flex-direction:column}.hero,.countdown,.story,.final-stage-card{padding:1rem}.final-stage-notes{grid-template-columns:1fr}}@media (max-height: 500px) and (orientation: landscape) and (pointer: coarse){html,body{height:100%;overflow:hidden}.app-shell-scene-focused{--mobile-frame-gap: clamp(6px, 2dvh, 12px);--mobile-theme-rail: 74px;display:grid;place-items:center;width:100vw;height:100vh;height:100dvh;max-width:none;padding:var(--mobile-frame-gap) calc(var(--mobile-frame-gap) + var(--mobile-theme-rail)) var(--mobile-frame-gap) var(--mobile-frame-gap);overflow:hidden}.app-shell-scene-focused .road-scene{width:min(calc(100vw - (var(--mobile-frame-gap) * 2) - var(--mobile-theme-rail)),calc((100vh - (var(--mobile-frame-gap) * 2)) * 1.777));width:min(calc(100vw - (var(--mobile-frame-gap) * 2) - var(--mobile-theme-rail)),calc((100dvh - (var(--mobile-frame-gap) * 2)) * 1.777));min-height:0;max-height:none;margin-bottom:0}.site-footer{display:none}.scene-car-dialogue{min-width:min(190px,34vw);max-width:38vw;padding:.34rem .42rem;font-size:.58rem}.scene-car-dialogue-line{max-width:78%}.final-stage-scene{width:min(calc(100vw - (var(--mobile-frame-gap) * 2) - var(--mobile-theme-rail)),calc((100dvh - (var(--mobile-frame-gap) * 2)) * 1.777));margin:0 auto}.final-stage-scene .road-scene{width:100%;min-height:0;max-height:none}.final-stage-credits-entry{right:.5rem;bottom:.5rem}html:has(.credits-page-card),body:has(.credits-page-card){overflow:auto;height:auto}.final-stage-shell:has(.credits-page-card){overflow:auto;height:auto;min-height:100dvh;display:block}.final-stage-shell:has(.credits-page-card) .mobile-orientation-gate{display:none}.final-stage-shell .credits-page-card{margin-top:2rem;margin-bottom:2rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scene-cloud,.scene-raindrop,.scene-firefly,.scene-bird,.scene-bird-sprite,.scene-car-exhaust-puff,.scene-car,.intro-stars,.invitation-drop-bird{animation:none!important}.invitation-drop-bird{display:none}.invitation-drop-carried-envelope{animation:none!important}.invitation-drop-envelope{opacity:1;animation:none!important}.invitation-drop-envelope:before,.invitation-drop-envelope-sprite{animation:none!important}}.scene-car-dialogue-prompt{display:flex;gap:.35rem;justify-content:center;margin-top:.22rem;animation:dialogue-prompt-in .52s ease-out}@keyframes dialogue-prompt-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.scene-car-dialogue-prompt-btn{font-family:var(--font-accent);font-size:.34rem;line-height:1.45;padding:.2rem .36rem;border:1px solid color-mix(in srgb,#2a2039 76%,transparent);background:color-mix(in srgb,#fffdf3 88%,transparent);color:#2a2039;cursor:pointer;transition:opacity .12s ease,transform .12s ease,background .12s ease}.scene-car-dialogue-prompt-btn:hover{transform:translateY(-1px);background:#fff7df}.scene-car-dialogue-prompt-btn:active{transform:translateY(1px)}.scene-car-dialogue-prompt-btn-primary{background:#f4e8df;border-color:#8f685b;color:#5c3b35}.scene-car-dialogue-prompt-btn-primary:hover{background:#f7eee7}.site-footer{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem 0;position:relative;z-index:1;font-family:var(--font-primary);font-size:.72rem;font-weight:500;letter-spacing:.01em;color:color-mix(in srgb,var(--text-soft) 62%,transparent);text-shadow:none;pointer-events:none}.footer-text{white-space:nowrap}.footer-heart{image-rendering:pixelated;vertical-align:-2px;opacity:.82;animation:heartpulse 6s ease-in-out infinite}@keyframes heartpulse{0%,88%,to{transform:scale(1)}91%{transform:scale(1.16)}94%{transform:scale(1)}97%{transform:scale(1.08)}}.footer-heart-clickable{pointer-events:auto;cursor:pointer}.footer-typewriter{display:inline}.footer-cursor{animation:blink-cursor .6s steps(2,start) infinite}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.emoji-rain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;overflow:hidden}.emoji-drop{position:absolute;top:-40px;opacity:0;animation:emoji-fall linear forwards;will-change:transform}@keyframes emoji-fall{0%{transform:translateY(0) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(calc(100vh + 40px)) rotate(360deg);opacity:0}}@media (max-width: 820px) and (orientation: portrait){.site-footer{display:none}}@media (max-height: 500px) and (orientation: landscape) and (pointer: coarse){.site-footer{font-size:.4rem;padding:.3rem 0}.footer-heart{width:8px;height:8px}}
