*{box-sizing:border-box}body{margin:0;background:#153b35;color:#fff5db;font-family:Arial,Helvetica,sans-serif}main{max-width:1180px;margin:auto;padding:24px 30px}button,select{font:700 13px Arial;cursor:pointer}button{border:0;border-radius:8px;padding:12px 16px;color:#173c37;background:#f8d16f}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #fff;outline-offset:3px}button:disabled{opacity:.55;cursor:default}a{color:#e8e7c4;text-decoration:none}header{display:flex;align-items:center;gap:20px;font-size:12px}header>span{margin-left:auto;color:#a9c6af;font-size:10px;letter-spacing:2px}header button{background:#285149;color:#e8e7c4;padding:9px 12px}.title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:27px 0 24px}.eyebrow{font:700 10px Arial;letter-spacing:1.8px;color:#eccc76}h1{font-size:clamp(28px,4vw,42px);margin:0;line-height:1.1;letter-spacing:-1.5px}h1 em{display:block;color:#f8d16f;font-style:normal}.badge{font-size:9px;letter-spacing:1px;border:1px solid #507260;border-radius:24px;padding:11px}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.toolbar label{font-size:11px;color:#c4dbc4}.toolbar select{margin-left:7px;border:1px solid #52796a;border-radius:6px;background:#214b42;color:#fff4d3;padding:10px;max-width:240px}.audio-controls{display:flex;gap:6px}.audio-controls button{font-size:10px;background:#254c44;color:#bdcfb8;padding:10px}.audio-controls button[aria-pressed=true]{color:#ffe09a;border:1px solid #8b9971}.machine{border:4px solid #102a29;border-radius:14px;overflow:hidden;box-shadow:7px 7px #0d2f2a}.hud{display:flex;justify-content:space-between;gap:12px;background:#0e2c2b;padding:12px 20px}.hud span{display:block;font-size:9px;letter-spacing:1px;color:#a8bdae}.hud strong{display:block;margin-top:4px;font-size:20px;color:#ffdc81}.screen{position:relative;background:#85d3df}canvas{width:100%;display:block;aspect-ratio:16/9;image-rendering:pixelated}#overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:5% 6%;background:linear-gradient(90deg,#103331ed 0%,#103331ba 45%,#10333100 100%)}#overlay h2{font-size:clamp(26px,4vw,44px);letter-spacing:-1px;margin:8px 0;color:#fff3c5;line-height:1.1}#overlay p:not(.eyebrow){font-size:14px;line-height:1.65;max-width:560px;margin:12px 0}.result-actions{display:flex;gap:12px;margin-top:12px}#start,#next-course,#got-it{font-size:15px;padding:15px 24px;box-shadow:3px 3px #947447}#next-course{background:#90d5bb}.ride-status{display:flex;gap:14px;justify-content:space-between;background:#1c463e;padding:13px 18px;font-size:12px}#cue{font-weight:bold;color:#ffe191}#progress-label{font-size:10px;color:#aac9b2}.meters{display:flex;gap:20px;padding:12px 18px;background:#173c35}.meters label{flex:1;font-size:9px;color:#a9c8b1;font-weight:bold}.meters label>span{display:block;height:9px;background:#092e2b;border-radius:10px;margin-top:6px;overflow:hidden}.meters i{display:block;height:100%;width:100%;background:#7ecac2;transition:width .08s}#drag-meter{width:0;background:#f28d68}.controls{background:#133730;display:flex;gap:12px;padding:0 18px 15px}.controls button{flex:1;font-size:18px;min-height:64px;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 4px #0c2723}.controls small{display:block;font-size:9px;letter-spacing:1px;margin-top:5px;opacity:.7}#tuck{background:#8bd7d2}#tuck.active{background:#c8fff0;transform:translateY(2px)}#stunt.ready{background:#c7ef91;outline:2px solid #f6ffda}#stunt small{font-size:10px}#announcement{position:absolute;top:14px;left:16px;right:16px;text-align:center;font-weight:900;font-size:18px;color:#fff6d4;text-shadow:2px 2px #284840;pointer-events:none}#speech{position:absolute;bottom:12px;left:16px;right:16px;max-width:560px;margin:auto;background:#fff3d6;color:#254439;border:2px solid #254439;border-radius:12px;padding:10px 15px;font-size:14px;font-weight:700;text-align:center;pointer-events:none}#launch-zone{position:absolute;bottom:18px;left:18%;right:18%;padding:14px;background:#123a35ed;border:2px solid #ffe193;border-radius:10px;text-align:center}#launch-zone>span{font-size:11px;font-weight:bold;letter-spacing:1px}.launch-meter{height:18px;margin-top:12px;background:#6b9f90;position:relative;border-radius:3px}.launch-meter b{position:absolute;left:70%;width:20%;height:100%;background:#ffd360;border-inline:2px solid #fff8d3}.launch-meter i{position:absolute;width:5px;height:26px;top:-4px;background:#fff;box-shadow:0 0 0 2px #1e4940}.below{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:25px 0}.below p{font-size:12px;line-height:1.7;color:#abc6b2}.below b{color:#f2e5bc}footer{border-top:1px solid #416a58;padding-top:16px;font-size:8px;letter-spacing:1px;color:#8eb09a;display:flex;justify-content:space-between}dialog{background:#153b35;color:#fff4d4;border:2px solid #e5c979;border-radius:15px;width:min(550px,calc(100% - 28px));max-height:85dvh;padding:25px;overflow:auto}dialog::backdrop{background:#0b202ce6}dialog h2{font-size:30px}dialog li,dialog p{font-size:14px;line-height:1.7}dialog li{margin-bottom:12px}#close-help{float:right;background:transparent;color:#fff;font-size:26px}[hidden]{display:none!important}@media(max-width:700px){main{padding:16px 12px}.title{margin:20px 0 17px}.badge{display:none}.toolbar{display:block}.toolbar label{display:flex;align-items:center}.toolbar select{flex:1;max-width:none}.audio-controls{margin-top:10px}.audio-controls button{flex:1;min-height:38px}.hud{padding:10px 12px}.hud strong{font-size:17px}canvas{aspect-ratio:4/3;object-fit:cover}#overlay{padding:18px;background:#123c36da}#overlay h2{font-size:28px}#overlay p:not(.eyebrow){font-size:12px;line-height:1.45;margin:7px 0}#overlay .eyebrow{font-size:8px;margin:0}.result-actions{margin-top:7px}#start,#next-course{padding:12px 17px;font-size:13px}#announcement{top:10px;font-size:14px;left:8px;right:8px}#speech{font-size:11px;padding:7px;bottom:8px;left:8px;right:8px}#launch-zone{left:8%;right:8%;bottom:15px;padding:12px}.ride-status{display:block;padding:11px 12px;font-size:12px}#progress-label{display:block;margin-top:6px}.meters{gap:14px;padding:8px 12px 12px}.controls{padding:0 12px 14px;gap:10px}.controls button{font-size:17px;min-height:65px}.below{gap:12px;margin-top:20px}.below p{font-size:11px}footer span{display:none}.machine{border-width:3px}header{gap:10px}header>span{font-size:8px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(min-width:701px){main{padding-top:16px}.title{margin:16px 0}.title h1{font-size:30px}.title h1 em{display:inline}.title .eyebrow{margin:0 0 7px}.toolbar{margin-bottom:10px}}
@media(min-width:900px){.machine{display:grid;grid-template-columns:minmax(0,1fr)210px;grid-template-areas:"hud hud" "screen status" "screen meters" "screen controls";grid-template-rows:auto auto auto 1fr}.hud{grid-area:hud}.screen{grid-area:screen}.ride-status{grid-area:status;display:block;line-height:1.5;padding:18px 15px}#progress-label{display:block;margin-top:20px}.meters{grid-area:meters;flex-direction:column;padding:10px 15px;gap:16px}.controls{grid-area:controls;flex-direction:column;justify-content:flex-end;padding:14px 15px 18px}.controls button{flex:0;min-height:68px;font-size:16px}.controls small{font-size:9px}#overlay h2{font-size:34px}#overlay p:not(.eyebrow){font-size:13px}}
@media(min-width:900px){main{max-width:1080px}}
@media(max-width:360px){#overlay{padding:12px}#overlay h2{font-size:23px;margin:5px 0}#overlay p:not(.eyebrow){font-size:11px;line-height:1.3;margin:5px 0}.result-actions{margin-top:5px}#start,#next-course{min-height:44px;padding:10px 12px;font-size:12px}.hud{gap:5px}.hud strong{font-size:15px}}

main{max-width:1600px}.machine{grid-template-columns:minmax(0,1fr)250px;grid-template-areas:"hud hud" "screen status" "screen balance" "screen meters" "screen controls";grid-template-rows:auto auto auto auto 1fr}.balance-panel{grid-area:balance;background:#102f2b;padding:12px 15px;font-size:10px}.balance-panel>span{display:block;color:#bad6c2}.balance-track{height:17px;background:linear-gradient(90deg,#c36b5f,#6a9b81 30%,#b9d99a 45%,#b9d99a 55%,#6a9b81 70%,#c36b5f);margin:10px 0;position:relative;border-radius:4px}.balance-track i{position:absolute;top:-3px;width:4px;height:23px;background:#fff;left:50%}.balance-track b{position:absolute;left:50%;height:100%;border-left:1px solid #21443b}#wind-readout{display:block;margin-bottom:5px;color:#f8d16f}.controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.controls button{min-height:52px;font-size:13px;padding:9px}#brake,#launch{grid-column:1/-1}#brake{background:#ee9c7c}#lean-left,#lean-right{background:#b9b4e8}.title{margin:14px 0}canvas{aspect-ratio:16/9;object-fit:contain}:fullscreen main,.expanded-game main{max-width:none;padding:8px 12px}:fullscreen .title,.expanded-game .title,:fullscreen .below,.expanded-game .below,:fullscreen footer,.expanded-game footer{display:none}:fullscreen .screen,.expanded-game .screen{height:calc(100dvh - 155px);display:flex;align-items:center}:fullscreen canvas,.expanded-game canvas{height:100%;width:100%;object-fit:contain}:fullscreen .machine,.expanded-game .machine{box-shadow:none}:fullscreen header,.expanded-game header{margin-bottom:8px}.audio-controls{flex-wrap:wrap}button{min-height:42px}@media(max-width:899px){.machine{display:block}.controls{grid-template-columns:repeat(3,1fr);padding-top:12px}#tuck,#stunt{grid-column:auto}#brake,#launch{grid-column:auto}.balance-panel{padding:10px 12px}.balance-panel>span{display:inline-block;margin-right:12px}canvas{aspect-ratio:16/9;object-fit:contain}#overlay h2{font-size:24px}#overlay p:not(.eyebrow){font-size:11px}.toolbar .audio-controls button{flex:1;min-width:60px}:fullscreen .screen,.expanded-game .screen{height:calc(100dvh - 360px);min-height:190px}:fullscreen .controls,.expanded-game .controls{padding-bottom:9px}}@media(max-width:500px){canvas{aspect-ratio:4/3;object-fit:contain}.controls button{font-size:11px;min-height:55px}.controls small{font-size:8px}#overlay{padding:12px}#overlay h2{font-size:22px}#overlay p:not(.eyebrow){font-size:10px;line-height:1.4}.badge{display:none}}@media(max-height:560px) and (min-width:700px){:fullscreen .machine,.expanded-game .machine{display:grid;grid-template-columns:minmax(0,1fr)250px}:fullscreen .screen,.expanded-game .screen{height:calc(100dvh - 135px)}.controls button{min-height:40px}.balance-panel{padding:6px 12px}.meters{padding:6px 12px}.ride-status{padding:6px 12px}}

:is(:fullscreen,.expanded-game) main{height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:6px 10px}
:is(:fullscreen,.expanded-game) header{flex:none;height:38px;margin:0}
:is(:fullscreen,.expanded-game) .toolbar{flex:none;margin:4px 0 6px}
:is(:fullscreen,.expanded-game) .machine{flex:1;min-height:0}
:is(:fullscreen,.expanded-game) .screen{height:auto!important;min-height:0!important;overflow:hidden}
:is(:fullscreen,.expanded-game) canvas{height:100%!important;width:100%;aspect-ratio:auto;object-fit:contain}
@media(max-width:899px){:is(:fullscreen,.expanded-game) .machine{display:grid;grid-template-columns:1fr;grid-template-areas:"hud" "screen" "status" "balance" "meters" "controls";grid-template-rows:44px minmax(0,1fr)32px 54px 37px 108px}:is(:fullscreen,.expanded-game) .hud{padding:6px 12px}:is(:fullscreen,.expanded-game) .hud strong{font-size:15px}:is(:fullscreen,.expanded-game) .ride-status{padding:7px 10px;font-size:10px}:is(:fullscreen,.expanded-game) #progress-label{display:none}:is(:fullscreen,.expanded-game) .balance-panel{padding:4px 12px}:is(:fullscreen,.expanded-game) .balance-panel>span{display:none}:is(:fullscreen,.expanded-game) .balance-track{margin:5px 0;height:10px}:is(:fullscreen,.expanded-game) #wind-readout{display:inline;margin-right:8px}:is(:fullscreen,.expanded-game) #speed-readout{display:inline}:is(:fullscreen,.expanded-game) .controls{padding:4px 10px 8px;gap:6px}:is(:fullscreen,.expanded-game) .controls button{min-height:44px;font-size:11px}:is(:fullscreen,.expanded-game) .toolbar select{padding:7px;font-size:11px}:is(:fullscreen,.expanded-game) .audio-controls{margin-top:5px;gap:4px}:is(:fullscreen,.expanded-game) .audio-controls button{padding:6px;min-height:32px;font-size:9px}:is(:fullscreen,.expanded-game) #overlay{padding:8px 12px}:is(:fullscreen,.expanded-game) #overlay .eyebrow{display:none}:is(:fullscreen,.expanded-game) #overlay h2{font-size:20px;margin:3px 0}:is(:fullscreen,.expanded-game) #overlay p:not(.eyebrow){font-size:10px;line-height:1.3;margin:3px 0}:is(:fullscreen,.expanded-game) #start{padding:8px 14px;min-height:40px;font-size:12px}}

.launch-meter b{left:74.5%;width:11%}
