*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#34222d;color:#fff4df;font-family:Arial,Helvetica,sans-serif;overscroll-behavior:none}body{touch-action:none;-webkit-user-select:none;user-select:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #ffe4a5;outline-offset:5px}button:disabled{cursor:wait}button[hidden],[hidden]{display:none!important}canvas{display:block;width:100%;height:100%;position:fixed;inset:0;outline:none}header{position:fixed;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:calc(25px + env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) 24px max(32px,env(safe-area-inset-left));z-index:5;pointer-events:none;background:linear-gradient(#291b304a,transparent)}header>*{pointer-events:auto}.wordmark{color:#fff3dc;text-decoration:none;font-weight:900;letter-spacing:.01em;font-size:24px;text-shadow:0 2px 14px #39232b80;line-height:.95}.wordmark span{font-weight:300;letter-spacing:.1em}.wordmark small{display:block;font-size:8px;letter-spacing:.27em;margin-top:7px}.chapter{text-align:center;text-shadow:0 2px 8px #34232f88}.chapter span{font-size:9px;letter-spacing:.22em;display:block;opacity:.8}.chapter b{font-size:13px;font-weight:400;letter-spacing:.08em;display:block;margin-top:8px}.controls{display:flex;gap:9px}.controls button{width:42px;height:42px;border:1px solid #fff2d83d;border-radius:50%;background:#2c20364a;color:#fff4df;backdrop-filter:blur(8px);display:grid;place-items:center}.controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sound-off{display:none}#sound[aria-pressed=true] .sound-off{display:block}#sound[aria-pressed=true] .sound-waves{display:none}.intro{position:absolute;right:6vw;top:50%;transform:translateY(-36%);max-width:460px;width:36vw;text-shadow:0 2px 24px #37253e55;transition:opacity .7s,transform .9s}.intro.leaving{opacity:0;transform:translateY(-40%);pointer-events:none}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.22em;line-height:1.7;color:#ffe4b9;margin:0 0 22px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(44px,5.3vw,84px);line-height:1.02;letter-spacing:-.045em;margin:0 0 24px}.intro-copy{font-size:15px;font-weight:400;line-height:1.8;color:#fff0da;opacity:.88;margin-bottom:32px}.launch{display:flex;gap:15px;align-items:center;border:0;background:transparent;color:#fff5e2;padding:8px 0;font-size:11px;font-weight:bold;letter-spacing:.15em;min-height:58px}.launch-orbit{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffedc8b3;border-radius:50%;font-size:24px;font-weight:300;box-shadow:0 0 26px #ffbd612b;animation:breathe 3s infinite}.hint{font-size:11px;letter-spacing:.035em;opacity:.68;margin:12px 0 0 61px}.load-note{max-width:300px;font-size:12px;line-height:1.6;color:#ffe1bc}#hud{position:fixed;top:calc(100px + env(safe-area-inset-top));left:max(32px,env(safe-area-inset-left));text-shadow:0 2px 15px #452c4c99;pointer-events:none}.score-label{font-size:8px;letter-spacing:.18em;opacity:.8;display:block}#score{font-family:Georgia,serif;font-size:34px;display:block;font-weight:400;margin:5px 0}#best{font-size:8px;letter-spacing:.12em;opacity:.7}#star-status{position:fixed;top:calc(105px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.24em;color:#fff0bd;opacity:0;transition:opacity .6s;pointer-events:none;text-shadow:0 0 20px #ffaf3d}#star-status b{display:block;text-align:center;font-family:Georgia,serif;font-weight:400;font-size:30px;letter-spacing:0;margin-top:5px}#star-status.active{opacity:1}#moment{position:fixed;bottom:calc(70px + env(safe-area-inset-bottom));width:100%;text-align:center;pointer-events:none;font:italic 22px Georgia,serif;color:#fff4dc;opacity:0;transition:opacity 2s;text-shadow:0 2px 18px #3c253d}#moment.active{opacity:1}.flight-progress{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:100px;height:2px;background:#fff5dc33;pointer-events:none}.flight-progress i{height:100%;display:block;width:0;background:#ffe1a0;box-shadow:0 0 8px #ffdb8b66}.panel{position:fixed;z-index:8;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:520px;width:calc(100% - 40px);padding:42px 32px;border:1px solid #ffedcd30;border-radius:24px;background:linear-gradient(145deg,#382535ee,#252437e8);box-shadow:0 25px 90px #1a102455;backdrop-filter:blur(15px)}.panel h2{font:400 44px/1.1 Georgia,serif;letter-spacing:-.03em;margin:0 0 17px}.panel p:not(.eyebrow){font-size:14px;color:#e1cdbb;line-height:1.65}.panel .eyebrow{margin-bottom:14px}.panel-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}.pill{border:1px solid #ffeac49c;border-radius:30px;padding:15px 34px;color:#35222e;background:#ffe8bc;font-size:11px;letter-spacing:.12em;font-weight:bold}.text-button{background:none;border:0;color:#e8d4be;font-size:11px;padding:12px;letter-spacing:.08em}#teaser{display:flex;gap:18px;align-items:center;text-align:left;padding-top:26px;margin-top:20px;border-top:1px solid #ffffff20}#teaser img{width:90px;height:110px;object-fit:cover;border-radius:12px}#teaser span{font-size:8px;letter-spacing:.14em;line-height:1.6}#teaser b{display:block;font:24px Georgia,serif;margin:9px 0}#teaser p{font-size:11px!important;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@keyframes breathe{50%{box-shadow:0 0 35px #ffbd6155;transform:translateY(-3px)}}
@media(max-aspect-ratio:9/10){header{padding:calc(20px + env(safe-area-inset-top)) 20px 18px}.wordmark{font-size:20px}.chapter{margin-left:12px}.chapter span{font-size:8px}.chapter b{font-size:11px}.controls{gap:6px}.controls button{width:38px;height:38px}.intro{top:auto;bottom:0;right:0;left:0;width:100%;max-width:none;transform:none;padding:70px 26px calc(34px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#291d2bba 45%,#291d2be6);text-align:center}.intro.leaving{transform:translateY(20px)}h1{font-size:45px;margin-bottom:12px}.intro .eyebrow{font-size:8px;margin-bottom:12px}.intro-copy{display:none}.launch{margin:14px auto 0}.hint{margin:10px 0 0;font-size:10px}.load-note{margin:8px auto}#hud{left:20px;top:calc(100px + env(safe-area-inset-top))}#score{font-size:29px}#moment{font-size:19px}.panel{padding:30px 22px}.panel h2{font-size:36px}}
@media(max-height:500px){header{padding-top:14px}.intro{top:45%;transform:translateY(-30%)}h1{font-size:40px}.intro-copy{display:none}.intro .eyebrow{margin-bottom:12px}.hint{margin-top:3px}#hud{top:80px}.panel{padding:20px}.panel h2{font-size:30px}#teaser{display:none!important}.panel-actions{margin-top:12px}.panel p{margin:6px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Comfortable touch targets, including portrait phones. */
.controls button{min-width:44px;min-height:44px}

/* Quiet player-facing interface. The scene carries the story. */
header{background:none;padding:calc(22px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left))}
.chapter{position:absolute;left:50%;transform:translateX(-50%)}.chapter b{font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin:0}
body:not([data-mode=intro]) .wordmark,body:not([data-mode=intro]) .chapter{display:none}
.controls{margin-left:auto}.controls button{width:44px;height:44px;background:#34263320;border-color:#fff4dd33;backdrop-filter:blur(4px)}
.intro{top:auto;bottom:calc(40px + env(safe-area-inset-bottom));left:50%;right:auto;width:auto;max-width:90%;transform:translateX(-50%);padding:0;background:none;text-align:center}
.intro.leaving{transform:translate(-50%,10px)}.launch{margin:0 auto;padding:10px 15px;border-radius:40px;background:#33243533;backdrop-filter:blur(6px);white-space:nowrap}.hint{font-size:10px;margin:14px 0 0;opacity:.75}
#hud{top:calc(30px + env(safe-area-inset-top));left:max(26px,env(safe-area-inset-left));display:flex;align-items:center;gap:10px}
#score{font:400 18px Georgia,serif;margin:0}.pollen-mark{width:9px;height:11px;border-radius:43% 58% 47% 54%;transform:rotate(-20deg);background:radial-gradient(at 30% 25%,#fff9df,#f5c676 65%,#ba8b41);box-shadow:0 0 13px #ffd48688}
#star-status{top:calc(32px + env(safe-area-inset-top));left:max(105px,env(safe-area-inset-left));transform:none}#star-status b{font:italic 17px Georgia,serif;margin:0}
.flight-progress{display:none!important}#moment{font:13px/1.5 Arial,sans-serif;bottom:calc(32px + env(safe-area-inset-bottom));transition:opacity .8s}
.panel{max-width:360px;padding:28px 25px;border-radius:18px;background:#2c2632cf;backdrop-filter:blur(10px)}.panel h2{font:400 30px/1.2 Georgia,serif;letter-spacing:-.02em;margin:0 0 16px}
.panel .eyebrow:empty,.panel p:empty{display:none}.panel[data-kind=pause]{max-width:290px;padding:28px 22px}.panel[data-kind=pause] h2{font:400 13px Arial,sans-serif;letter-spacing:.22em;margin:0}.panel[data-kind=pause] .panel-actions{margin-top:24px;gap:6px}
@media(max-width:480px){.wordmark{font-size:19px}.chapter{top:calc(78px + env(safe-area-inset-top));margin:0}.intro{bottom:calc(33px + env(safe-area-inset-bottom))}.controls{gap:7px}}
@media(max-height:500px){.intro{top:auto;bottom:15px;transform:translateX(-50%)}.intro.leaving{transform:translate(-50%,10px)}header{padding-top:12px}#hud{top:24px}#star-status{top:25px}.hint{margin-top:5px}}

#star-status{visibility:hidden}#star-status.active{visibility:visible}

/* Keep exit available throughout a flight and above result panels. */
header{z-index:10}
body .wordmark,body:not([data-mode=intro]) .wordmark{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:10px 14px;border:1px solid #fff2d866;border-radius:24px;background:#302238dd;font-size:14px;line-height:1.2;text-shadow:none}
#hud{top:calc(82px + env(safe-area-inset-top))}
@media(max-width:480px){header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.wordmark span{letter-spacing:0}.chapter{display:none}}
@media(max-height:500px){#hud{top:68px}}

@font-face{font-family:Badi;src:url('../assets/nunito.ttf') format('truetype');font-display:swap}body,button,h1,h2,.wordmark{font-family:Badi,system-ui,sans-serif!important}#intro p{background:#3b2431c9;color:#fff5df;padding:9px 12px;border-radius:12px;font-size:14px!important;line-height:1.5}#score{font-size:24px;font-weight:900}#star-status{font-size:16px;color:#fff2b3}#home{font-weight:850!important}
@font-face{font-family:Badi;src:url('../assets/nunito.ttf') format('truetype');font-display:swap}body,button,h1,h2,.wordmark{font-family:Badi,system-ui,sans-serif!important}#intro p{background:#3b2431c9;color:#fff5df;padding:9px 12px;border-radius:12px;font-size:14px!important;line-height:1.5}#score{font-size:24px;font-weight:900}#star-status{font-size:16px;color:#fff2b3}#home{font-weight:850!important}