:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:16px/1.4 system-ui,Segoe UI,Roboto,sans-serif}html,body{overscroll-behavior:none;touch-action:none;background:#7ec8f2;width:100%;height:100%;margin:0;padding:0;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#app{position:fixed;inset:0}canvas{outline:none;width:100%;height:100%;display:block}.hud{pointer-events:none;color:#fff;text-shadow:0 1px 3px #0009,0 0 12px #00000040;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.hud-top-left{flex-direction:column;gap:4px;display:flex;position:absolute;top:16px;left:16px}.hud-title{letter-spacing:.5px;font-size:22px;font-weight:800}.hud-sub{opacity:.85;font-size:13px;font-weight:500}.hud-top-right{text-align:right;position:absolute;top:16px;right:16px}.wheelie-timer{font-size:40px;font-weight:800;line-height:1;transition:color .15s,transform .15s}.wheelie-timer.active{color:#ffd23f;transform:scale(1.08)}.wheelie-best{opacity:.85;margin-top:4px;font-size:14px;font-weight:600}.score-top-center{text-align:center;position:absolute;top:14px;left:50%;transform:translate(-50%)}.score-value{color:#ffd23f;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #0009,0 0 12px #ffd23f73;font-size:42px;font-weight:800;line-height:1}.score-best{letter-spacing:.5px;opacity:.85;margin-top:2px;font-size:12px;font-weight:700}.score-toast{letter-spacing:.5px;color:#ffd23f;text-shadow:0 2px 6px #0000008c,0 0 16px #ffd23f80;opacity:0;white-space:nowrap;font-size:26px;font-weight:800;position:absolute;top:26%;left:50%;transform:translate(-50%,-50%)scale(.7)}.score-toast.show{animation:1.4s ease-out forwards score-toast-pop}@keyframes score-toast-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}25%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1;transform:translate(-50%,-56%)scale(1)}to{opacity:0;transform:translate(-50%,-70%)scale(.95)}}.speedo{align-items:baseline;gap:6px;display:flex;position:absolute;bottom:22px;right:22px}.speedo-value{font-variant-numeric:tabular-nums;font-size:44px;font-weight:800}.speedo-unit{opacity:.8;font-size:15px;font-weight:600}.balance-wrap{width:140px;position:absolute;bottom:22px;left:22px}.stamina-label{letter-spacing:1px;opacity:.75;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.stamina-bar{background:#00000059;border:1px solid #ffffff4d;border-radius:4px;height:8px;margin-bottom:12px;position:relative;overflow:hidden}.stamina-fill{background:#4fb8e8;border-radius:4px;width:100%;transition:width 50ms linear;position:absolute;inset:0 auto 0 0}.stamina-fill.active{background:#8fe6ff;box-shadow:0 0 8px #8fe6ff}.balance-label{letter-spacing:1px;opacity:.75;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.balance-bar{background:#00000059;border:1px solid #ffffff4d;border-radius:5px;height:10px;position:relative;overflow:hidden}.balance-fill{background:#ffd23f;border-radius:2px;width:4px;transition:left 50ms linear,background .1s linear;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.balance-zone{background:#5dde7b59;width:24%;position:absolute;top:0;bottom:0;left:38%}.controls-hint{opacity:.8;text-align:center;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.6;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.controls-hint kbd{background:#0006;border:1px solid #ffffff59;border-radius:4px;margin:0 1px;padding:1px 7px;font-family:inherit;font-weight:700;display:inline-block}.crash-banner{color:#ff5c5c;opacity:0;letter-spacing:1px;font-size:34px;font-weight:800;transition:opacity .2s,transform .2s;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)scale(.85)}.crash-banner.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.vehicle-switch{pointer-events:auto;gap:8px;display:flex;position:absolute;top:96px;left:50%;transform:translate(-50%)}.vehicle-btn{pointer-events:auto;cursor:pointer;color:#fff;text-shadow:none;background:#00000059;border:1px solid #fff6;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s}.vehicle-btn:hover{background:#00000080}.vehicle-btn.active{color:#1a1a1a;background:#ffd23f;border-color:#ffd23f}.touch-controls{pointer-events:none;z-index:20;display:none;position:fixed;inset:0}.touch-controls.active{display:block}.touch-btn{pointer-events:auto;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;appearance:none;color:#fff;letter-spacing:.3px;text-shadow:0 1px 2px #00000080;background:#141a2273;border:2px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-weight:800;display:flex}.touch-btn.pressed{background:#ffd23f8c;border-color:#ffd23f}.touch-steer{left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:10px;display:flex;position:absolute}.touch-steer .touch-btn{width:64px;height:64px;font-size:26px}.touch-actions{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));align-items:flex-end;gap:10px;display:flex;position:absolute}.touch-actions .touch-btn{width:56px;height:56px;font-size:11px}.touch-actions .touch-gas{background:#5ddc7b59;border-color:#5ddc7b;width:74px;height:74px;font-size:14px}.touch-actions .touch-pop{background:#ffd23f4d;border-color:#ffd23f}.touch-secondary{top:50%;right:calc(14px + env(safe-area-inset-right,0px));flex-direction:column;gap:10px;display:flex;position:absolute;transform:translateY(-50%)}.touch-secondary .touch-btn{border-radius:10px;width:42px;height:42px;font-size:9px}.rotate-prompt{z-index:50;color:#fff;text-align:center;background:#0a0e14f5;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:none;position:fixed;inset:0}.rotate-prompt.show{display:flex}.rotate-prompt .icon{font-size:44px;animation:1.6s ease-in-out infinite rotate-hint}.rotate-prompt .msg{opacity:.85;font-size:16px;font-weight:600}@keyframes rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}@media (pointer:coarse){.controls-hint{display:none}.balance-wrap{bottom:106px}.speedo{bottom:110px}}
