:root{--pink: #ff2a55;--hot: #ff66cc;--gold: #ffcd3c;--cyan: #4dd0e1;--bg: #0b0e1a;--ink: #fff;--ink-dim: rgba(255, 255, 255, .7)}#app,canvas{display:block}.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;pointer-events:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.screen.modal{background:radial-gradient(ellipse at center,#0b0e1ab3,#0b0e1af2 80%);pointer-events:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.screen.hidden{display:none}.hud-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:12px 16px;gap:8px}.hud-top .stack{display:flex;flex-direction:column;gap:6px}.hud-top .right{align-items:flex-end}.chip{background:#00000073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700;letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.chip .label{color:var(--ink-dim);font-weight:500;font-size:11px;text-transform:uppercase}.chip .value{font-variant-numeric:tabular-nums}.score-big{font-size:36px;font-weight:900;letter-spacing:-.02em;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.6);font-variant-numeric:tabular-nums}.dist{text-align:center;font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.16em}.pause-btn{pointer-events:auto;width:40px;height:40px;border-radius:12px;border:none;background:#00000073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.pause-btn:active{transform:scale(.95)}.powerups{display:flex;gap:8px;justify-content:center;padding:6px 16px}.pu{width:44px;height:44px;border-radius:50%;background:#00000080;display:flex;align-items:center;justify-content:center;font-size:18px;position:relative;overflow:hidden}.pu.off{opacity:.25}.pu .ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--cyan) calc(var(--p, 0) * 360deg),transparent 0);-webkit-mask:radial-gradient(circle,transparent 60%,black 62%);mask:radial-gradient(circle,transparent 60%,black 62%)}.pu.magnet .ring{background:conic-gradient(var(--pink) calc(var(--p, 0) * 360deg),transparent 0)}.pu.nitro .ring{background:conic-gradient(#b6ff3c calc(var(--p, 0) * 360deg),transparent 0)}.pu.x2 .ring{background:conic-gradient(#c77dff calc(var(--p, 0) * 360deg),transparent 0)}.title{text-align:center;margin:auto 0;padding:0 24px}.title h1{font-size:clamp(40px,12vw,72px);margin:0;font-weight:900;letter-spacing:-.03em;background:linear-gradient(135deg,var(--pink),var(--hot) 50%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:.9}.title h2{font-size:14px;font-weight:600;letter-spacing:.3em;color:var(--ink-dim);text-transform:uppercase;margin:12px 0 0}.title .tag{font-size:13px;color:var(--ink-dim);margin-top:18px;line-height:1.5;max-width:320px;margin-left:auto;margin-right:auto}.btn-row{display:flex;flex-direction:column;gap:12px;padding:24px 24px calc(env(safe-area-inset-bottom) + 24px)}.btn{pointer-events:auto;background:linear-gradient(135deg,var(--pink),var(--hot));color:#fff;border:none;border-radius:16px;padding:16px 22px;font-size:17px;font-weight:800;letter-spacing:.04em;cursor:pointer;box-shadow:0 8px 24px #ff2a5559;text-transform:uppercase}.btn:active{transform:translateY(1px) scale(.99)}.btn.secondary{background:#ffffff14;color:var(--ink);box-shadow:none;border:1px solid rgba(255,255,255,.15)}.btn.gold{background:linear-gradient(135deg,#ffcd3c,#ff9a3d);color:#2a1d00;box-shadow:0 8px 24px #ffcd3c4d}.missions{background:#0006;border-radius:18px;margin:0 16px 16px;padding:14px 16px;pointer-events:auto}.missions h3{margin:0 0 8px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim)}.mission{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px}.mission .text{flex:1}.mission .bar{height:4px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-top:4px}.mission .bar>div{height:100%;background:linear-gradient(90deg,var(--pink),var(--gold));border-radius:4px;transition:width .3s}.mission .reward{color:var(--gold);font-weight:700;font-size:12px;min-width:56px;text-align:right}.mission.done{opacity:.6}.mission.done .text{text-decoration:line-through}.shop{background:#0006;border-radius:18px;margin:0 16px 16px;padding:14px 16px;pointer-events:auto}.shop h3{margin:0 0 10px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim)}.car-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.car-row:last-child{border-bottom:none}.car-swatch{width:36px;height:36px;border-radius:10px;flex:0 0 auto;box-shadow:inset 0 -8px 12px #00000059}.car-info{flex:1;min-width:0}.car-info .name{font-weight:700;font-size:14px}.car-info .sub{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em}.car-row .action{pointer-events:auto;border:none;background:#ffffff14;color:var(--ink);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer}.car-row .action.equipped{background:#4dd0e140;color:var(--cyan)}.car-row .action.locked{background:linear-gradient(135deg,var(--gold),#ff9a3d);color:#2a1d00}.car-row .action.owned{background:#ffffff1a}.car-row .action:disabled{opacity:.5;cursor:not-allowed}.toast{position:absolute;top:calc(env(safe-area-inset-top) + 80px);left:50%;transform:translate(-50%);background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.muted-toggle{pointer-events:auto;background:#00000073;border:none;color:var(--ink);border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer}.go-stats{display:flex;gap:12px;justify-content:center;padding:12px 0}.go-stats .stat{background:#ffffff0f;border-radius:12px;padding:10px 14px;min-width:80px;text-align:center}.go-stats .stat .v{font-weight:900;font-size:22px;font-variant-numeric:tabular-nums}.go-stats .stat .l{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}.new-best{color:var(--gold);font-size:12px;text-align:center;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.install-hint{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 12px);left:12px;right:12px;background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:14px;padding:10px 14px;font-size:12px;pointer-events:auto;display:none}.install-hint.show{display:block}.install-hint .close{background:none;border:none;color:var(--ink-dim);float:right;font-size:16px;cursor:pointer;padding:0 0 0 8px}.route-wrap{padding:8px 16px 2px}.route-track{position:relative;height:5px;background:#ffffff1f;border-radius:3px}.route-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--cyan) 0%,var(--pink) 55%,var(--gold) 100%);background-size:200% 100%;width:0%;transition:width .15s linear;position:relative}.route-fill:after{content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%);width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px #ffffffb3}.route-ms{position:absolute;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.3);transition:background .35s,border-color .35s,box-shadow .35s}.route-ms.passed{background:var(--gold);border-color:var(--gold);box-shadow:0 0 6px #ffcd3ccc}.route-labels{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#ffffff73;font-weight:600;margin-top:4px}.victory-screen{background:radial-gradient(ellipse at 50% 40%,#322004e0,#0b0e1af7 75%);z-index:95}.vic-trophy{font-size:72px;line-height:1;text-align:center;margin-bottom:8px;animation:trophy-bounce 1.2s ease-out}@keyframes trophy-bounce{0%{transform:scale(.3) translateY(30px);opacity:0}60%{transform:scale(1.15) translateY(-8px);opacity:1}80%{transform:scale(.95) translateY(2px)}to{transform:scale(1) translateY(0)}}.vic-heading{font-size:clamp(52px,15vw,88px)!important;background:linear-gradient(135deg,#ffcd3c,#fa0,#ff9a3d)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:vic-glow 2s ease-in-out infinite}@keyframes vic-glow{0%,to{filter:brightness(1) drop-shadow(0 0 0px transparent)}50%{filter:brightness(1.2) drop-shadow(0 0 18px rgba(255,180,0,.55))}}.vic-dist-stat .v{color:var(--gold)!important;font-size:20px}.vic-dist-stat .l{color:var(--gold)!important;opacity:.85}.intro{position:fixed;inset:0;z-index:200;background:#000;pointer-events:auto}.intro.hidden{display:none}.intro-skip{position:absolute;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));background:#0000008c;border:1px solid rgba(255,255,255,.22);color:#ffffffa6;border-radius:999px;padding:6px 16px;font-size:11px;font-weight:700;letter-spacing:.22em;cursor:pointer;z-index:10}.intro-skip:active{opacity:.7}.intro-tap-gate{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:20;cursor:pointer}.intro-tap-label{font-size:13px;font-weight:700;letter-spacing:.3em;color:#ffffffbf;animation:intro-tap-pulse 1.4s ease-in-out infinite}@keyframes intro-tap-pulse{0%,to{opacity:.4}50%{opacity:1}}@media (max-height: 560px){.title{margin:8px 0;padding:0 16px}.title h1{font-size:clamp(28px,8vw,48px)}.title h2{margin-top:4px;font-size:11px}.title .tag{margin-top:8px;font-size:12px}.powerups{padding:2px 16px}.btn-row{padding:12px 16px calc(env(safe-area-inset-bottom) + 12px)}}@media (min-width: 720px){.screen.modal>*{width:100%;max-width:880px;margin-left:auto;margin-right:auto}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.menu-grid .missions,.menu-grid .shop{margin:0}.btn-row{flex-direction:row;justify-content:center}.btn-row .btn{min-width:220px}.title h1{font-size:clamp(56px,8vw,96px)}.title .tag{max-width:540px;font-size:14px}}@media (hover: hover) and (pointer: fine){.btn:hover{filter:brightness(1.08)}.btn.secondary:hover{background:#ffffff24}.pause-btn:hover{background:#0009}.car-row .action:hover:not(:disabled){filter:brightness(1.1)}}.auth-screen{z-index:50}.auth-form{pointer-events:auto;width:100%;max-width:380px;margin:0 auto;padding:0 24px calc(env(safe-area-inset-bottom) + 16px);display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field>span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);font-weight:600}.auth-field input{pointer-events:auto;background:#00000073;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 16px;font-size:16px;color:var(--ink);font-weight:600;letter-spacing:.02em;outline:none;font-family:inherit;-webkit-appearance:none;appearance:none}.auth-field input::placeholder{color:#ffffff4d;font-weight:500}.auth-field input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ff2a552e}.auth-field input:disabled{opacity:.55}#auth-pin{letter-spacing:.8em;text-align:center;font-variant-numeric:tabular-nums}.auth-error{background:#ff2a551f;border:1px solid rgba(255,42,85,.35);color:#ffb1c2;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.auth-btn-row{padding:4px 0 0!important}.auth-toggle{text-align:center;font-size:13px;margin:2px 0 0}.auth-toggle a{color:var(--cyan);text-decoration:none;font-weight:600;pointer-events:auto}.auth-consent{text-align:center;font-size:11px;color:var(--ink-dim);margin:0;line-height:1.45;letter-spacing:.02em}.signed-in{text-align:center;font-size:11px;color:var(--ink-dim);margin-top:10px;letter-spacing:.04em}.signed-in .email{color:var(--ink);font-weight:600;margin-right:8px;word-break:break-all}.signed-in a{color:var(--cyan);text-decoration:none;font-weight:600;pointer-events:auto;cursor:pointer}
