#ui *{box-sizing:border-box}#ui button{font:inherit;cursor:pointer}.panel{background:#0e16308c;border:1px solid rgba(255,210,122,.22);border-radius:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--paper)}.hud{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.hud.show{opacity:1}.hud.show{visibility:visible}.hud button{pointer-events:auto}.hud-time{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);padding:8px 18px;text-align:center;min-width:150px}.hud-time .t{font-size:22px;font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums;line-height:1.1}.hud-time .d{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;min-height:15px}.hud-time .d.ahead{color:#8ef0c0}.hud-time .d.behind{color:#ff9d7e}.hud-corner{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));text-align:right;font-size:11px;color:#fff6eab8;padding:7px 11px}.hud-corner b{color:var(--gold);font-variant-numeric:tabular-nums}.hud-btns{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));display:flex;gap:8px}.icon-btn{width:38px;height:38px;display:grid;place-items:center;font-size:15px;font-weight:700;color:var(--paper);background:#0e16308c;border:1px solid rgba(255,210,122,.22);border-radius:10px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.icon-btn:hover{border-color:var(--gold);color:var(--gold)}.icon-btn.active{color:var(--gold);border-color:var(--gold)}.hud-speed{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));right:max(14px,env(safe-area-inset-right));font-size:12px;padding:7px 12px;color:#fff6eacc;font-variant-numeric:tabular-nums}.hud-speed b{font-size:16px;color:var(--gold)}.course{position:fixed;top:calc(max(12px,env(safe-area-inset-top)) + 62px);left:50%;transform:translate(-50%);width:min(46vw,380px);height:18px;border-radius:999px}.course-line{position:absolute;left:12px;right:26px;top:50%;height:2px;transform:translateY(-50%);background:#fff6ea38;border-radius:1px}.course-dots{position:absolute;inset:0 26px 0 12px}.course-dot{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);transition:left .12s linear}.course-flag{position:absolute;right:4px;top:50%;transform:translateY(-52%);font-size:12px}.nitro{position:fixed;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 4px);left:50%;transform:translate(-50%);z-index:12;width:min(240px,60vw);height:30px;padding:0;border:1px solid rgba(255,210,122,.3);border-radius:999px;overflow:hidden;background:#0e16308c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nitro-fill{position:absolute;inset:0;width:0;background:linear-gradient(90deg,#ff8a5c,#ffd27a);transition:width .1s linear}.nitro-lbl{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--paper);text-shadow:0 1px 3px rgba(10,16,40,.8)}.nitro.ready{border-color:var(--gold);box-shadow:0 0 18px #ffd27a80;animation:nitro-glow 1s ease-in-out infinite}.nitro.active{border-color:#8affc0;box-shadow:0 0 26px #8affc09e}.nitro.active .nitro-fill{width:100%!important;background:linear-gradient(90deg,#8affc0,#fff6ea 48%,#ffd27a);animation:nitro-burn .32s linear infinite}.nitro.charging .nitro-lbl{color:#fff6ead1}@keyframes nitro-glow{50%{box-shadow:0 0 26px #ffd27acc}}@keyframes nitro-burn{0%{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(25deg) brightness(1.22)}to{filter:hue-rotate(0deg) brightness(1)}}.reduce-motion .nitro.ready,.reduce-motion .nitro.active .nitro-fill{animation:none}.labels{position:fixed;inset:0;z-index:13;pointer-events:none}.demo-input{position:fixed;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 64px);left:50%;transform:translate(-50%);z-index:14;display:flex;align-items:center;gap:12px;pointer-events:none;transition:opacity .3s ease}.demo-input.hidden{opacity:0}.demo-input .ring{width:46px;height:46px;border-radius:50%;border:2.5px solid rgba(255,246,234,.75);background:#0e163066;transition:transform .14s ease,background .14s ease,border-color .14s ease}.demo-input.held .ring{transform:scale(.8);background:#ffd27a8c;border-color:var(--gold);box-shadow:0 0 22px #ffd27a99}.demo-input .lbl{font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);text-shadow:0 2px 10px rgba(10,16,40,.8)}.demo-input.held .lbl{color:var(--gold)}.coach{position:fixed;top:30%;left:50%;transform:translate(-50%);z-index:14;pointer-events:none;font-size:clamp(17px,3.4vw,24px);font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-shadow:0 2px 18px rgba(255,138,92,.8),0 0 40px rgba(255,210,122,.4);animation:coach-pulse .9s ease infinite;transition:opacity .2s ease;text-align:center;max-width:92vw}.coach.hidden{opacity:0;animation:none}@keyframes coach-pulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.06)}}.reduce-motion .coach{animation:none}.comet-label{position:fixed;top:0;left:0;z-index:13;pointer-events:none;font-size:11px;font-weight:900;letter-spacing:.18em;padding:2px 8px;border-radius:999px;transition:opacity .3s ease}.comet-label.hidden{opacity:0}.you-label{color:#1c1330;background:var(--gold);box-shadow:0 0 12px #ffd27ab3}.ghost-label{color:#0e1b3a;background:var(--ghost);box-shadow:0 0 10px #9fd8e8b3}.toast-wrap{position:fixed;top:22%;left:50%;transform:translate(-50%);z-index:12;pointer-events:none;text-align:center}.toast{font-size:15px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-shadow:0 2px 14px rgba(255,138,92,.65);animation:toast-pop .9s ease forwards}.toast.slam,.toast.bad{color:#ff9d7e}.toast.gold{color:var(--gold)}@keyframes toast-pop{0%{opacity:0;transform:translateY(8px) scale(.9)}18%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.reduce-motion .toast{animation:none;opacity:1}.overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:linear-gradient(180deg,rgba(10,16,40,.42),rgba(10,16,40,.14) 55%,transparent);transition:opacity .3s ease;padding:18px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.overlay.hidden{opacity:0;pointer-events:none}.card{text-align:center;padding:26px 34px;max-width:min(94vw,430px);pointer-events:auto;margin:auto 0;touch-action:pan-y}.overlay.hidden .card{pointer-events:none}.kicker{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--coral)}.title{margin-top:8px;font-size:clamp(38px,9vw,56px);font-weight:900;letter-spacing:.1em;line-height:1;background:linear-gradient(180deg,#fff6ea,#ffd27a 60%,#ff8a5c);-webkit-background-clip:text;background-clip:text;color:transparent}.sub{margin-top:10px;font-size:14px;color:#fff6ead9}.sub b{color:var(--gold)}.hint-line{margin-top:16px;font-size:12.5px;color:#fff6ea99}.level-row{margin-top:18px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;max-width:300px;margin-left:auto;margin-right:auto}.lvl-btn{width:42px;height:42px;border-radius:11px;font-size:16px;font-weight:800;color:var(--paper);background:#fff6ea0f;border:1px solid rgba(255,210,122,.3)}.lvl-btn.on{background:linear-gradient(180deg,#ffd27a,#ff9d5c);color:#1c1330;border-color:var(--gold)}.lvl-btn.locked{opacity:.64;cursor:pointer;border-style:dashed;color:#fff6eac7}.lvl-btn.locked:hover{opacity:1;border-color:var(--gold);color:var(--gold);background:#ffd27a14}.level-name{margin-top:10px;font-size:12.5px;color:#fff6eabf}.mode-row{margin-top:18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.big-btn{padding:12px 26px;font-size:14px;font-weight:800;letter-spacing:.06em;color:#1c1330;background:linear-gradient(180deg,#ffd27a,#ff9d5c);border:none;border-radius:11px}.big-btn:hover{filter:brightness(1.07)}.ghost-btn{padding:12px 22px;font-size:13px;font-weight:700;color:var(--paper);background:transparent;border:1px solid rgba(255,210,122,.35);border-radius:11px}.ghost-btn:hover,.ghost-btn.on{border-color:var(--gold);color:var(--gold)}.race-banner{position:fixed;top:24%;left:50%;transform:translate(-50%) translateY(6px);z-index:15;pointer-events:none;opacity:0;font-size:clamp(20px,4.4vw,34px);font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);text-shadow:0 2px 24px rgba(10,16,40,.9),0 0 46px rgba(255,210,122,.35);transition:opacity .26s ease,transform .26s ease;text-align:center;max-width:94vw}.race-banner.show{opacity:1;transform:translate(-50%)}.race-banner.gold{color:var(--gold)}.race-banner.bad{color:#ff9d7e}.race-banner.ice{color:var(--ghost)}.fin-verdict{margin-top:8px;font-size:clamp(19px,4vw,26px);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.fin-verdict.ahead{color:#8ef0c0}.fin-verdict.behind{color:#ff9d7e}.big-btn.pulse{animation:btn-pulse 1s ease-in-out infinite}@keyframes btn-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.reduce-motion .big-btn.pulse{animation:none}.fin-time{margin-top:10px;font-size:clamp(40px,10vw,58px);font-weight:900;font-variant-numeric:tabular-nums;line-height:1}.fin-delta{margin-top:6px;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.fin-delta.ahead{color:#8ef0c0}.fin-delta.behind{color:#ff9d7e}.fin-best{margin-top:4px;font-size:12.5px;color:#fff6eaa6}.newbest{display:inline-block;margin-top:10px;padding:4px 14px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:#1c1330;background:var(--gold);animation:nb .7s ease}@keyframes nb{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}.reduce-motion .newbest{animation:none}.share-note{margin-top:10px;font-size:12px;color:#9ed8e8e6;min-height:15px}.touch-controls{position:fixed;inset:0;z-index:12;pointer-events:none;opacity:1;visibility:visible;transition:opacity .18s ease,visibility .18s ease}.touch-controls.hidden{opacity:0;visibility:hidden;pointer-events:none}.touch-controls .tbtn{pointer-events:auto;color:var(--paper);font-size:18px;font-weight:800;background:#0e163080;border:1px solid rgba(255,210,122,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;user-select:none;touch-action:none;transition:transform .1s ease,background .1s ease,box-shadow .1s ease,border-color .1s ease,opacity .15s ease}.touch-controls .tbtn.down,.touch-controls .tbtn:active{transform:scale(.91);background:#ffd27a52;border-color:#ffd27ae0;box-shadow:inset 0 0 0 2px #fff6ea14,0 0 24px #ffd27a57}.touch-controls .go.down,.touch-controls .go:active{background:#8affc03d;border-color:#8affc0;box-shadow:inset 0 0 0 2px #fff6ea14,0 0 26px #8affc06b}.dpad{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px));display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px);gap:6px}.dpad .tbtn{width:52px;height:52px;border-radius:13px}.dpad .jump{grid-area:1 / 2;color:var(--gold);border-color:var(--gold)}.dpad .rev{grid-area:2 / 1}.dpad .go{grid-area:2 / 3;color:#8affc0;border-color:#8affc0}.dpad .brake{grid-area:3 / 2}.touch-controls .boost.big{--nitro-pct: 100%;position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(30px,calc(env(safe-area-inset-bottom) + 26px));width:92px;height:92px;border-radius:50%;font-size:13px;letter-spacing:.06em;color:var(--gold);border-color:#ffd27a73;opacity:.72;background:radial-gradient(circle at 50% 50%,rgba(14,22,48,.82) 0 58%,transparent 59%),conic-gradient(#ffd27a var(--nitro-pct),rgba(255,210,122,.12) 0);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:opacity .15s ease,box-shadow .15s ease,transform .1s ease,border-color .15s ease}.touch-controls .boost-main{font-size:14px;font-weight:900;letter-spacing:.16em}.touch-controls .boost-sub{font-size:10px;font-weight:900;letter-spacing:.18em;color:#fff6eab8}.touch-controls .boost.big.ready{opacity:1;border-color:var(--gold);box-shadow:0 0 22px #ffd27a94;animation:boost-pulse 1s ease-in-out infinite}.touch-controls .boost.big.active{opacity:1;color:#071b16;border-color:#8affc0;background:radial-gradient(circle at 50% 50%,rgba(138,255,192,.9) 0 57%,transparent 58%),conic-gradient(#8affc0 100%,#8affc01a 0);box-shadow:0 0 34px #8affc0b8,0 0 70px #8affc03d}.touch-controls .boost.big.active .boost-sub{color:#071b16b8}.touch-controls .boost.big.charging{opacity:.74}@keyframes boost-pulse{50%{transform:scale(1.04);box-shadow:0 0 30px #ffd27ac7}}.reduce-motion .touch-controls .boost.big.ready{animation:none}.rotate-tip{position:fixed;left:50%;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 136px);z-index:16;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:9px 10px 9px 14px;border-radius:999px;background:#0e1630b8;border:1px solid rgba(255,210,122,.32);color:#fff6eae0;font-size:12px;font-weight:800;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 34px #080e2359;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.rotate-tip.hidden{opacity:0;visibility:hidden;transform:translate(-50%,8px);pointer-events:none}.rotate-tip.manual{width:min(92vw,360px);border-radius:16px;justify-content:space-between}.rotate-tip button{border:0;border-radius:999px;padding:7px 11px;color:#1c1330;background:linear-gradient(180deg,#ffd27a,#ff9d5c);font-size:11px;font-weight:900;letter-spacing:.06em;touch-action:manipulation}@media(pointer:coarse){.nitro,.demo-input{display:none}}.ctrl-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;text-align:left;margin:14px auto 4px;max-width:340px;font-size:13px;color:#fff6ead1}.ctrl-grid span:nth-child(odd){color:var(--paper);white-space:nowrap}.ctrl-grid b{color:var(--gold);font-weight:700}.title.small{font-size:28px}.bottom-hint{position:fixed;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 6px);left:50%;transform:translate(-50%);z-index:9;font-size:12.5px;padding:8px 16px;color:#fff6ead9;transition:opacity .4s ease;text-align:center;max-width:92vw}.bottom-hint b{color:var(--gold)}.bottom-hint.hidden{opacity:0}@media(max-width:480px){.hud-time .t{font-size:18px}.hud-speed{display:none}.card{padding:20px}}@media(max-width:560px)and (orientation:portrait){.hud-corner{display:none}.hud-btns{gap:6px}.icon-btn{width:36px;height:36px;border-radius:9px}.hud-time{top:max(10px,env(safe-area-inset-top));padding:7px 13px;min-width:118px}.hud-time .t{font-size:18px}.course{top:calc(max(10px,env(safe-area-inset-top)) + 52px);width:min(56vw,310px)}.touch-controls .boost.big{width:88px;height:88px;right:max(16px,env(safe-area-inset-right))}}@media(max-height:520px)and (orientation:landscape){.overlay{place-items:start center;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.card{margin:0 auto;padding:14px 18px;max-width:min(92vw,560px)}.kicker{font-size:10px;letter-spacing:.32em}.title{margin-top:5px;font-size:clamp(30px,7vw,44px)}.title.small{font-size:24px}.sub{margin-top:7px;font-size:12px}.hint-line{margin-top:9px;font-size:11.5px}.level-row{margin-top:10px;gap:7px;max-width:390px}.lvl-btn{width:36px;height:36px;border-radius:10px;font-size:14px}.level-name{margin-top:8px;font-size:11.5px}.mode-row{margin-top:10px;gap:8px}.big-btn{padding:10px 20px;font-size:13px}.ghost-btn{padding:10px 16px;font-size:12px}.ctrl-grid{margin-top:10px;gap:5px 12px;font-size:12px;max-width:min(86vw,460px)}.fin-time{margin-top:7px;font-size:clamp(34px,8vw,48px)}.newbest{margin-top:7px}.hud-corner{font-size:10px;padding:6px 9px}.hud-time{padding:6px 14px;min-width:128px}.hud-time .t{font-size:19px}.course{top:calc(max(10px,env(safe-area-inset-top)) + 50px);height:16px}.dpad{grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,46px);gap:5px}.dpad .tbtn{width:46px;height:46px}.touch-controls .boost.big{width:78px;height:78px}.rotate-tip{display:none}}
