*{box-sizing:border-box}html,body{margin:0;background:#101e27;color:#fff;font-family:system-ui,-apple-system,Arial,sans-serif}body{min-height:100svh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,#2c4851,#0a151e 75%);padding:12px}.cabinet{width:min(1280px,100%);border:1px solid #45616c;border-radius:16px;overflow:hidden;box-shadow:0 24px 90px #0008}header{display:flex;align-items:center;gap:10px;background:#101f29;padding:12px 18px}header a{font-weight:900;font-size:12px;color:#edf3eb;text-decoration:none;letter-spacing:1px}header a span{display:block;font-size:8px;color:#7d9da4;letter-spacing:3px}header>div{margin:auto;font-size:14px;font-weight:900;letter-spacing:2px}header>div b{color:#ffb85c}header button{background:#29414d;color:#fff;border:1px solid #54707a;border-radius:6px;width:32px;height:30px;font-size:19px;cursor:pointer}.stage{position:relative;overflow:hidden;aspect-ratio:1000/560;background:#78b9d0}canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;inset:16px 18px auto;display:flex;align-items:start;gap:28px;pointer-events:none;text-shadow:0 2px 3px #0007}.speed{width:150px;background:linear-gradient(120deg,#101f2bea,#1f3b4acc);border-left:4px solid #ffbf66;padding:9px 14px;transform:skew(-4deg);border-radius:3px}.hud small{font-size:9px;letter-spacing:2px;font-weight:900;color:#d9e8df}.speed>div{display:flex;align-items:center;gap:18px}.speed b{font-size:48px;line-height:1;font-style:italic;font-variant-numeric:tabular-nums}.speed i{color:#ffc26f;font-size:28px}.speedline{margin-top:8px;height:3px;background:#ffffff25}.speedline i{height:3px;background:#ffb54d;display:block}.route{flex:1;max-width:450px;padding-top:6px}.route small{background:#162c36d9;padding:6px 10px;border-radius:3px}.progress{height:5px;background:#152c3ba8;margin:14px 0 5px;border-radius:3px}.progress i{display:block;height:100%;background:#ffbf66;box-shadow:0 0 9px #ffc677}.route span{font-size:11px;font-weight:800;color:#f5efdd}.route em{float:right;font-size:9px;font-style:normal;letter-spacing:1px}.resources{width:185px;padding:10px 12px;background:#112633df;border-radius:4px}.resources label{display:block;font-size:9px;letter-spacing:1.4px;font-weight:900}.resources span{float:right;font-variant-numeric:tabular-nums}.meter{height:8px;background:#ffffff20;margin:5px 0 10px;transform:skew(-12deg)}.meter i{height:100%;display:block;width:55%;background:linear-gradient(90deg,#ef812e,#ffda73)}.health{margin-bottom:0;height:6px}.health i{width:100%;background:linear-gradient(90deg,#4eaf95,#aff0bb)}.stunts{position:absolute;left:18px;bottom:16px;display:flex;gap:16px;font-size:9px;letter-spacing:1px;font-weight:900;text-shadow:0 2px 4px #000}.stunts b{color:#ffda84;font-size:15px;margin-left:4px}.call{position:absolute;left:50%;top:24%;transform:translate(-50%,12px) rotate(-4deg);font-size:clamp(18px,3.5vw,44px);font-style:italic;font-weight:1000;white-space:nowrap;text-shadow:0 3px #53341f,0 5px 12px #0006;color:#ffe4a0;opacity:0;transition:opacity .12s,transform .15s;pointer-events:none}.call.show{opacity:1;transform:translate(-50%,0) rotate(-4deg)}footer{background:#101f29;padding:12px 16px}.controls{display:grid;grid-template-columns:1fr 1.15fr 1.5fr 1fr;gap:12px}.controls button{border:1px solid #617782;border-bottom:4px solid #07151f;border-radius:9px;background:linear-gradient(#344c59,#213743);color:#fff;min-height:66px;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:inset 0 1px #ffffff28}.controls button small{display:block;font-size:9px;letter-spacing:1px;color:#c4d3d8;margin-bottom:5px}.controls button b{font-size:17px}.controls button:active,.controls button.held{transform:translateY(2px);filter:brightness(1.25);border-bottom-width:2px}#gas{background:linear-gradient(#416459,#233f39);border-color:#779d7c}#jump{background:linear-gradient(#277d9e,#16506f);border-color:#66c9dc}#jumpDots{font-size:11px;color:#9ff2f2;margin-left:6px}#nitro{background:linear-gradient(#bb7029,#824018);border-color:#f4b963}.caption{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:#b2c7cd;font-size:10px}.caption>span:last-child{font-size:8px;letter-spacing:1px;color:#6f919d}.overlay{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,#0c2736f2,#0c27365c 65%,transparent);padding:6%;z-index:2}.overlay[hidden]{display:none}.intro{max-width:520px}.intro>small{color:#ffcf83;font-size:11px;letter-spacing:3px;font-weight:900}.intro h1{font-size:clamp(27px,5.4vw,66px);font-style:italic;line-height:1.03;margin:16px 0;letter-spacing:-2px}.intro em{color:#ffbd67}.intro p{color:#d4e4e5;font-size:13px}.intro>button{border:1px solid #ffe0aa;background:linear-gradient(#ffd081,#f0a349);padding:15px 24px;border-radius:6px;font-size:16px;font-weight:1000;letter-spacing:1px;cursor:pointer;color:#223441;box-shadow:0 5px #94552c}.intro>button span{margin-left:30px}.intro .keys{font-size:10px;line-height:1.9;color:#b4cbd3}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:650px){body{padding:0}.cabinet{border-radius:0;border:0}header{padding:8px}header>div{font-size:9px;letter-spacing:1px}header a{font-size:9px}.hud{inset:8px;gap:10px}.speed{width:90px;padding:7px}.speed b{font-size:29px}.speed i{display:none}.hud small{font-size:6px;letter-spacing:1px}.resources{width:100px;padding:6px}.resources label{font-size:6px}.meter{height:5px;margin-bottom:7px}.route{padding-top:0}.route small{font-size:6px;padding:4px}.route em{display:none}.route span{font-size:8px}.progress{margin:9px 0 2px}.stunts{left:8px;bottom:8px;font-size:6px}.stunts b{font-size:10px}.controls{gap:7px;grid-template-columns:1fr 1fr 1.4fr 1fr}.controls button{min-height:62px;padding:5px}.controls button b{font-size:11px}.controls button small{font-size:6px;letter-spacing:.2px}#jumpDots{font-size:8px;margin-left:0;display:block}footer{padding:9px}.caption{font-size:8px}.caption>span:last-child{display:none}.intro h1{margin:7px 0}.intro p{font-size:9px;margin:7px 0}.intro>small{font-size:7px}.intro>button{padding:9px 16px;font-size:12px}.intro .keys{font-size:7px}.stage{aspect-ratio:1000/640}}@media(max-height:520px) and (min-width:650px){body{padding:0}.cabinet{max-width:940px}header{padding:5px 12px}.stage{max-height:calc(100svh - 125px);aspect-ratio:auto}footer{padding:6px 12px}.controls button{min-height:48px}.caption{margin-top:4px}}

.levelPicker{font-size:9px;letter-spacing:1px;color:#b7cdd1}.levelPicker select{background:#233c47;color:#fff;border:1px solid #54707a;border-radius:5px;padding:7px;font-weight:700;margin-left:5px}header>div{margin-left:auto;margin-right:auto}@media(max-width:650px){header>div{display:none}.levelPicker{margin-left:auto;font-size:0}.levelPicker select{font-size:10px;max-width:150px}}