:root{color-scheme:dark;--ink:#101312;--panel:#191e1b;--line:#354036;--acid:#d9fc63;--muted:#9caaa0;--white:#f4f5eb}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 15%,#253020 0,transparent 48%),var(--ink);color:var(--white);font:14px/1.5 Arial,sans-serif}.page{max-width:1280px;padding:0 40px;margin:auto}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #ff84bc;outline-offset:4px}.masthead{display:flex;align-items:center;justify-content:space-between;height:100px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:15px;align-items:center;font:700 12px monospace;letter-spacing:2px}.brand img{object-fit:contain}.brand b{display:block;color:var(--acid);font-size:10px;margin-top:3px}.build-label{font:10px monospace;letter-spacing:1px;color:var(--muted)}.build-label i{display:inline-block;width:6px;height:6px;background:var(--acid);margin-right:8px}.intro{display:flex;justify-content:space-between;align-items:end;padding:42px 0 30px}.eyebrow{font:10px monospace;letter-spacing:2px;color:var(--acid);margin:0 0 14px}h1{font:900 clamp(52px,7vw,92px)/.85 Impact,'Arial Black',sans-serif;letter-spacing:-2px;margin:0}h1 span{color:var(--acid)}.intro-copy{font-size:13px;color:var(--muted);margin:0;line-height:1.9}.arcade{border:1px solid #4d5c3c;box-shadow:0 16px 90px #0006;background:#101612}.game-top{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;gap:14px;border-bottom:1px solid var(--line);font:11px monospace;letter-spacing:1px}.game-top>span{color:var(--acid)}.game-top>div{display:flex;gap:24px}.game-top strong{font-size:14px;color:var(--white);margin-left:6px}.game-top button{border:0;color:var(--muted);background:none;font:10px monospace;padding:6px}.screen{position:relative;isolation:isolate;background:#101827;aspect-ratio:16/9;overflow:hidden}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:manipulation}.screen-shade{pointer-events:none;position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(0deg,#0001 0 1px,transparent 1px 4px)}.panel{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,70%);padding:28px;background:#101812f2;border:1px solid #6c8052;box-shadow:8px 8px 0 #0007;text-align:left}.panel-kicker{font:10px monospace;color:var(--acid);letter-spacing:1px}.panel h2{font:900 clamp(30px,4vw,48px)/.95 Impact,'Arial Black',sans-serif;letter-spacing:.4px;margin:15px 0}.panel p{font-size:12px;line-height:1.7;color:#c4cdbf;margin:12px 0}.panel-meta{display:flex;gap:18px;font:9px monospace;color:#b2bfa7;margin:17px 0}.start{width:100%;background:var(--acid);color:#14200d;border:0;min-height:46px;text-align:left;padding:13px 16px;font:700 12px monospace;letter-spacing:.5px}.start span{float:right}.secondary{background:none;color:#becbb3;border:0;padding:12px 0 0;font-size:11px;text-decoration:underline}.panel[hidden],#score-save[hidden],[hidden]{display:none!important}.toast{position:absolute;z-index:2;top:18px;left:50%;transform:translateX(-50%);background:#0c1519dd;border:1px solid #8fa572;padding:10px 18px;font:700 11px monospace;color:var(--acid);white-space:nowrap;opacity:0;transition:opacity .15s}.toast.visible{opacity:1}.game-bottom{padding:13px 20px;display:grid;grid-template-columns:130px 1fr 130px;align-items:center;gap:20px;font:9px monospace;letter-spacing:1px;border-top:1px solid var(--line)}.chances strong,.power strong{display:block;margin-top:4px;font-size:16px;color:var(--acid);letter-spacing:4px}.power{text-align:right}.route{height:22px;background:#293328;position:relative;overflow:hidden}.route-progress{height:100%;background:#5c7435;width:0;transition:width .1s linear}.route span{position:absolute;inset:0;display:grid;place-items:center;color:#e5edda;font:9px monospace;letter-spacing:1px}.controls{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding:14px 20px}.controls button{min-height:48px;border:1px solid #43533e;background:#202b20;color:var(--white);font:700 13px monospace;padding:9px 22px;touch-action:manipulation;user-select:none}.controls span{display:block;color:#a1b18f;font-size:8px;font-weight:400;margin-bottom:3px}.controls #pause{margin-right:auto;font-size:15px;padding:8px 14px}.controls #pause span{font-size:8px}.controls #boost{border-color:#8ba84e;color:var(--acid)}.control-note{font-size:10px;color:var(--muted);padding:0 20px 13px;margin:0}.lower{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;padding:44px 0}.section-label{font:10px monospace;letter-spacing:1.5px;color:var(--muted);margin-bottom:18px}.journey ol{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:25px}.journey li{display:flex;gap:12px}.journey li>span{font:11px monospace;color:var(--acid);padding-top:2px}.journey h3{font:700 13px monospace;margin:0 0 7px}.journey p{font-size:11px;color:var(--muted);margin:0;line-height:1.8}.scores{border-left:1px solid var(--line);padding-left:35px}.scores h2{font:900 32px Impact,sans-serif;letter-spacing:1px;margin:0}.score-caption{font-size:10px;color:var(--muted);margin:6px 0 18px}.scores ol{list-style:none;padding:0;font:11px monospace}.scores li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;gap:13px}.scores li span{color:var(--muted)}.scores li strong{margin-left:auto;color:var(--acid)}.soundtrack-note{margin-top:25px}.soundtrack-note>span{font:9px monospace;color:var(--acid)}.soundtrack-note p{font-size:11px;color:var(--muted);line-height:1.8}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0;font:9px monospace;color:var(--muted);letter-spacing:.5px}#score-form{margin-top:15px}#score-form label{display:block;font:10px monospace;margin-bottom:8px}#score-form label span{color:var(--muted)}#score-form>div{display:flex;gap:6px}#alias{min-width:0;width:100%;border:1px solid #4c5a40;padding:9px;background:#0a100b;color:var(--white);font:12px monospace;text-transform:uppercase}#score-form button{white-space:nowrap;font:9px monospace;background:#26311c;color:var(--acid);border:1px solid #607741;padding:8px}.signup{font:10px monospace;text-decoration:underline;text-underline-offset:3px;color:var(--acid)}.panel .privacy-note{font-size:9px;line-height:1.5;margin-bottom:0}.panel #save-status{font-size:10px}.panel.results{width:min(500px,78%);padding:22px}.panel.results h2{font-size:32px;margin:10px 0}.panel.results>p{margin:8px 0}.panel.results .panel-meta{margin:10px 0}.panel.results .start{min-height:38px;padding:10px 14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){.page{padding:0 16px}.masthead{height:76px}.brand{font-size:10px;gap:9px}.brand img{width:38px;height:38px}.build-label{font-size:8px;letter-spacing:0}.intro{padding:30px 0 22px}.intro-copy{max-width:140px;font-size:10px}.game-top{padding:11px 10px;font-size:8px;letter-spacing:0;gap:5px}.game-top>div{gap:7px}.game-top strong{font-size:10px;margin-left:2px}.best-label{display:none}.game-top button{font-size:8px;padding:5px}.game-bottom{grid-template-columns:65px 1fr 65px;gap:8px;padding:10px;font-size:7px}.chances strong,.power strong{font-size:12px;letter-spacing:1px}.route span{font-size:7px;letter-spacing:0}.screen{aspect-ratio:4/3}.screen canvas{object-fit:cover;object-position:20% center}.panel{width:84%;padding:14px;box-shadow:4px 4px 0 #0007}.panel-kicker{font-size:8px}.panel h2{font-size:30px;margin:9px 0}.panel p{font-size:10px;line-height:1.5;margin:9px 0}.panel-meta{font-size:8px;margin:10px 0;gap:8px}.start{min-height:40px;font-size:10px;padding:11px}.controls{padding:10px;gap:6px}.controls button{flex:1;padding:10px 5px;font-size:11px;min-height:54px}.controls #pause{flex:0 0 48px;padding:8px 4px}.controls span{font-size:7px}.control-note{font-size:9px;padding:0 10px 10px}.lower{grid-template-columns:1fr;gap:28px;padding:30px 0}.scores{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.journey ol{gap:20px 14px}.journey h3{font-size:11px}.journey p{font-size:10px}footer{gap:14px;font-size:8px}.toast{font-size:8px;padding:7px 10px;top:10px}.panel.results{width:92%;padding:12px}.panel.results h2{font-size:25px}.panel.results .panel-meta{font-size:7px}.panel.results>p{font-size:9px}.panel.results .secondary{padding-top:6px}.panel.results #score-form{margin-top:9px}.panel.results .privacy-note{font-size:8px}.panel.results #score-save{margin-top:5px}.screen:has(.panel.results:not([hidden])){min-height:400px}.screen:has(.panel.results:not([hidden])) canvas{position:absolute;inset:0}}
@media(prefers-reduced-motion:reduce){.toast,.route-progress{transition:none}}
/* Keep the playfield and controls together within a desktop viewport. */
@media(min-width:761px){.screen{aspect-ratio:auto;height:min(56.25vw,calc(100svh - 285px));min-height:280px}.screen canvas{object-fit:contain}.panel{max-height:95%;overflow:auto}.panel.results{padding:18px}.panel.results h2{font-size:28px}}

.screen{width:100%}.preview-stage{background:none;color:var(--acid);border:1px solid var(--line);padding:10px 12px;font:10px monospace;min-height:40px}.controls #return-to-game{margin-right:auto;color:var(--acid)}.controls:has(#return-to-game:not([hidden])) #pause,.controls:has(#return-to-game:not([hidden])) #jump,.controls:has(#return-to-game:not([hidden])) #boost{display:none}
@media(max-width:760px){.screen:has(.panel.results:not([hidden])){aspect-ratio:auto;height:400px}.screen.celebration canvas{object-fit:contain;object-position:center}.screen.celebration:not(:has(.panel.results:not([hidden]))){aspect-ratio:16/9}.panel.results{max-height:96%;overflow:auto}}

.music-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;border-top:1px solid var(--line);font:9px monospace;color:var(--muted)}.music-strip label{display:flex;align-items:center;gap:10px}.music-strip input{width:85px;accent-color:var(--acid)}.listen-track{display:block;border:0;background:none;padding:8px 0;color:var(--acid);font:9px monospace;text-align:left;min-height:36px}.listen-track[aria-pressed="true"]{color:#ff9ac5}.finale-listen{margin-bottom:8px}@media(max-width:760px){.music-strip{padding:8px 10px;font-size:8px}.music-strip input{width:55px}.music-strip label{gap:5px}#music-status{max-width:67%}}

.urgent{color:#ff91b8!important}.selfie-prompt{position:absolute;top:17%;left:50%;transform:translateX(-50%);z-index:2;padding:12px 15px;background:#17312ef0;border:1px solid #9bcf95;color:#e1ffc0;text-align:center;font:700 11px monospace;max-width:85%;width:max-content}.controls #selfie{color:#f1b6da;border-color:#c980ac;background:#352738}.controls:has(#selfie:not([hidden])) #jump,.controls:has(#selfie:not([hidden])) #boost{display:none}@media(max-width:760px){.selfie-prompt{font-size:9px;padding:10px}.game-top>div{gap:8px}}

.practice-level{font:8px monospace;letter-spacing:.5px;color:var(--muted);background:none;border:1px solid var(--line);padding:8px 10px;min-height:32px;margin-top:2px}


@media(max-width:760px){.screen{aspect-ratio:auto;height:min(75vw,calc(100svh - 280px));min-height:230px}.screen.celebration:not(:has(.panel.results:not([hidden]))){height:min(56.25vw,calc(100svh - 280px));min-height:180px}.screen:has(.panel.results:not([hidden])){height:400px}}

/* Independent music / effects mix, kept next to the play controls. */
.music-strip{flex-wrap:wrap;gap:9px 16px}.music-strip #music-status{margin-right:auto}.music-strip input{width:65px}.music-strip #fx-preview{border:1px solid #536647;background:#202b20;color:var(--acid);font:9px monospace;padding:7px 10px;min-height:30px}.music-strip label{white-space:nowrap}.intro .eyebrow{line-height:1.7;letter-spacing:1.5px}.soundtrack-note .preview-stage{display:block;margin-top:10px}
.panel.reward-result{display:flex;flex-direction:column;width:min(560px,88%);max-height:96%;overflow:auto;border:2px solid var(--acid)}.reward-result .panel-kicker{order:0}.reward-result h2{order:1;color:var(--acid);font-size:34px!important}.reward-result #panel-copy{order:2;font-size:13px}.reward-result .panel-meta{order:3}.reward-result #score-save{order:4}.reward-result #primary{order:5;background:transparent;border:1px solid var(--line);color:var(--muted);text-align:center;font-size:10px;margin-top:14px}.reward-result .signup,.reward-result .privacy-note{display:none}#free-reward{border-top:1px solid #576947;margin-top:14px;padding-top:13px}.reward-tag{display:block;font:9px monospace;color:var(--acid);letter-spacing:1px;margin-bottom:6px}#free-reward>strong{font:700 15px monospace}#free-reward p{font-size:11px;margin:8px 0}#claim-reward{width:100%;min-height:48px;background:var(--acid);color:#14200d;border:0;font:700 13px monospace;padding:12px;margin-top:4px}#claim-reward:disabled{opacity:.65}#free-reward #reward-status{font-size:10px;color:#bfc9b8;line-height:1.5}.screen:has(.reward-result:not([hidden])){height:560px!important;min-height:560px!important}
@media(max-width:760px){.music-strip #music-status{flex-basis:100%;max-width:none}.music-strip{gap:7px 12px}.music-strip input{width:60px}.music-strip #fx-preview{margin-left:auto;font-size:8px}.intro .eyebrow{max-width:220px;font-size:9px;letter-spacing:1px}.intro-copy{max-width:145px}.panel.reward-result{width:94%;padding:15px}.reward-result h2{font-size:29px!important}.reward-result #panel-copy{font-size:11px}#free-reward>strong{font-size:13px}#claim-reward{font-size:11px}.screen{height:min(75vw,calc(100svh - 320px))}}

.reward-callout{display:flex;align-items:center;gap:16px;margin:0 0 18px;padding:17px 20px;border:1px solid #647e3d;background:#24321be6}.reward-callout strong{display:block;font:700 20px monospace;color:var(--acid);letter-spacing:.5px}.reward-callout p{margin:5px 0 0;color:#ced9c1;font-size:12px}.reward-disc{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;background:#111a13;border:3px solid var(--acid);border-radius:50%;color:var(--acid);font:20px monospace}.reward-callout-tag{margin-left:auto;font:10px monospace;color:#cbe0a8;white-space:nowrap}@media(max-width:760px){.reward-callout{padding:13px 12px;gap:10px;margin-bottom:14px}.reward-callout strong{font-size:15px}.reward-callout p{font-size:10px;line-height:1.5}.reward-disc{width:33px;height:33px;font-size:15px}.reward-callout-tag{display:none}}

#reward-form>label:first-child{display:block;font:11px monospace;margin:14px 0 7px}#reward-email{display:block;width:100%;padding:12px;background:#0a100b;border:1px solid #70825d;color:#f4f5eb;min-height:44px}.reward-choice{display:flex;gap:10px;font-size:11px;line-height:1.6;margin:13px 0;align-items:flex-start}.reward-choice input{flex:0 0 18px;width:18px;height:18px;accent-color:var(--acid);margin:1px 0}.reward-data{font-size:10px!important}.reward-data a{text-decoration:underline;color:var(--acid)}.reward-honey{position:absolute;left:-10000px}.reward-data,#reward-status{overflow-wrap:anywhere}#reward-download{display:block;background:var(--acid);color:#14200d;text-align:center;font:700 13px monospace;padding:16px;margin:14px 0;min-height:48px}.scores .global-title{margin-top:30px}.screen:has(.reward-result #reward-form:not([hidden])){height:790px!important;min-height:790px!important}.panel.reward-result:has(#reward-form:not([hidden])){max-height:96%}@media(max-width:760px){.screen:has(.reward-result #reward-form:not([hidden])){height:880px!important;min-height:880px!important}.reward-choice{font-size:11px}}
