:root{--cyan:#16eaff;--magenta:#ff2bd6;--gold:#ffd84a;--ink:#e9f6ff;--dim:#dcebff8c;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--display:"Orbitron", "Arial Black", system-ui, sans-serif;--body:"Rajdhani", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--body);overscroll-behavior:none;-webkit-text-size-adjust:100%;background:#05020c;margin:0;overflow:hidden}#app{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:default;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}canvas#game{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.hidden{display:none!important}#vignette{pointer-events:none;opacity:.4;background:radial-gradient(at 50% 55%,#0000 55%,#0a001ebf 100%);position:absolute;top:0;bottom:0;left:0;right:0}.edge-flash{pointer-events:none;opacity:0;width:28%;position:absolute;top:0;bottom:0}#flashL{background:linear-gradient(90deg,#16eaff8c,#0000);left:0}#flashR{background:linear-gradient(-90deg,#16eaff8c,#0000);right:0}#flash{opacity:0;pointer-events:none;mix-blend-mode:screen;background:#fff;position:absolute;top:0;bottom:0;left:0;right:0}#hud{padding:calc(10px + var(--safe-t)) calc(14px + var(--safe-r)) 0 calc(14px + var(--safe-l));pointer-events:none;text-shadow:0 0 10px #16eaff8c;grid-template-columns:1fr auto 1fr;align-items:start;display:grid;position:absolute;top:0;left:0;right:0}.hud-block .label{font:700 11px/1 var(--body);letter-spacing:.25em;color:var(--dim)}.hud-block .value{font:700 26px/1.15 var(--display);letter-spacing:.02em;font-variant-numeric:tabular-nums}.hud-block .value span{color:var(--dim);margin-left:4px;font-size:.5em}.hud-block .sub{font:600 13px/1.3 var(--body);letter-spacing:.12em;color:var(--dim);min-height:1.3em}.hud-right{text-align:right}.hud-right .label,.hud-right .sub,.hud-right .value{margin-right:46px}.hud-center{text-align:center;min-width:110px}.mult{font:900 34px/1 var(--display);color:#fff;text-shadow:0 0 14px var(--magenta), 0 0 2px #fff;transition:color .2s}.mult.boosted{color:#fff6c8;text-shadow:0 0 16px #ffd84a,0 0 34px #ff9a1a,0 0 2px #fff}.mult.hot{color:var(--gold);text-shadow:0 0 16px #ff7a1a,0 0 2px #fff}.meter{background:#ffffff1f;border-radius:3px;width:110px;height:5px;margin:5px auto 0;overflow:hidden}.meter.thin{height:2px;margin-top:3px}#multFill{background:linear-gradient(90deg, var(--cyan), var(--magenta));width:0;height:100%;box-shadow:0 0 8px var(--magenta)}#comboFill{background:#fff;width:0;height:100%}#chain{color:var(--gold);text-shadow:0 0 8px #ff7a1a}@media (max-width:520px){.hud-block .value{font-size:20px}.mult{font-size:28px}.meter{width:84px}.hud-center{min-width:84px}.hud-right .label,.hud-right .sub,.hud-right .value{margin-right:0}#hud{padding-top:calc(52px + var(--safe-t))}}#popups{pointer-events:none;justify-content:center;height:0;display:flex;position:absolute;top:30%;left:0;right:0}.popup{white-space:nowrap;text-align:center;font:900 22px/1 var(--display);letter-spacing:.06em;color:#fff;will-change:transform, opacity;opacity:0;position:absolute;top:0}.popup .pts{font:700 17px/1.2 var(--display);color:#ffffffe6;margin-top:4px;display:block}.popup.t1{color:#aef6ff;text-shadow:0 0 12px var(--cyan)}.popup.t2{color:#fff;text-shadow:0 0 14px var(--cyan), 0 0 26px var(--cyan)}.popup.t3{color:#ffd2f6;text-shadow:0 0 14px var(--magenta), 0 0 28px var(--magenta);font-size:26px}.popup.t4{color:var(--gold);text-shadow:0 0 16px #ff7a1a,0 0 30px #ff3b2f;font-size:30px}.popup.big{color:var(--gold);text-shadow:0 0 16px #ff7a1a, 0 0 32px var(--magenta);font-size:30px}.popup.info{color:#fff;text-shadow:0 0 14px var(--magenta);font-size:20px}@media (max-width:520px){.popup{font-size:18px}.popup.t3{font-size:21px}.popup.t4,.popup.big{font-size:24px}#popups{top:34%}}#ramp-ind{top:calc(var(--safe-t) + 88px);font:900 14px/1 var(--display);letter-spacing:.2em;color:#ffb43a;text-shadow:0 0 10px #ff7a1a;pointer-events:none;background:#28100059;border:1px solid #ffb43ab3;border-radius:3px;padding:6px 10px;animation:.5s steps(2,end) infinite blink;position:absolute;left:50%;transform:translate(-50%)}@media (max-width:520px){#ramp-ind{top:calc(var(--safe-t) + 130px);font-size:12px}}#sector{text-align:center;pointer-events:none;font:900 15px/1.5 var(--display);letter-spacing:.4em;color:#fff;text-shadow:0 0 14px var(--cyan);position:absolute;top:18%;left:0;right:0}#sector small{font:700 12px var(--body);letter-spacing:.5em;color:var(--dim);display:block}.screen{padding:calc(20px + var(--safe-t)) calc(20px + var(--safe-r)) calc(20px + var(--safe-b)) calc(20px + var(--safe-l));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#title{padding-top:calc(9vh + var(--safe-t));padding-bottom:calc(6vh + var(--safe-b));background:linear-gradient(#05020c99,#05020c00 38% 55%,#05020cbf);justify-content:space-between}.title-top,.title-bottom{flex-direction:column;align-items:center;display:flex}#results,#pause{-webkit-backdrop-filter:blur(3px);background:#0602109e}.logo{margin-bottom:14px;line-height:.9;animation:.9s cubic-bezier(.2,.9,.2,1) both logoIn}.logo-top{font:900 clamp(34px, 9vw, 74px)/1 var(--display);letter-spacing:.3em;color:#fff;text-shadow:0 0 18px var(--cyan), 0 0 40px var(--cyan);margin-right:-.3em}.logo-bottom{font:900 clamp(38px, 11vw, 96px)/1 var(--display);letter-spacing:.06em;background:linear-gradient(180deg, #fff 0%, #ffd2f6 35%, var(--magenta) 70%, #6a1fff 100%);color:#0000;filter:drop-shadow(0 0 16px #ff2bd6b3);-webkit-background-clip:text;background-clip:text;font-style:italic}.tagline{font:700 13px var(--body);letter-spacing:.4em;color:var(--dim);margin-bottom:26px}.best{font:700 15px var(--display);letter-spacing:.15em;color:var(--gold);text-shadow:0 0 10px #ff7a1a;min-height:1em;margin-bottom:18px}.prompt{font:900 clamp(16px, 4.2vw, 22px) var(--display);letter-spacing:.2em;color:#fff;text-shadow:0 0 12px var(--cyan);margin:18px 0}.controls{font:600 15px var(--body);letter-spacing:.08em;color:var(--ink);opacity:.85}.tips{font:500 14px var(--body);letter-spacing:.06em;color:var(--dim);max-width:420px;margin-top:10px}.blink{animation:1.1s ease-in-out infinite blink}.mob{display:none}body.touch .mob{display:inline}body.touch .desk{display:none}.res-title{font:900 clamp(26px, 7vw, 44px) var(--display);letter-spacing:.3em;color:#fff;text-shadow:0 0 14px var(--magenta);margin-right:-.3em}.res-score{font:900 clamp(40px, 12vw, 76px)/1.1 var(--display);color:#fff;text-shadow:0 0 18px var(--cyan), 0 0 40px var(--cyan);font-variant-numeric:tabular-nums}.res-best{font:700 14px var(--display);letter-spacing:.2em;color:var(--dim);margin-bottom:18px}.stats{grid-template-columns:1fr 1fr;gap:8px 26px;min-width:min(420px,88vw);display:grid}.stats div{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;display:flex}.stats span{font:700 12px var(--body);letter-spacing:.2em;color:var(--dim);text-align:left}.stats b{font:700 17px var(--display);color:#fff;font-variant-numeric:tabular-nums}@media (max-width:520px){.stats{grid-template-columns:1fr;gap:4px}}.newbest{font:900 18px var(--display);letter-spacing:.3em;color:var(--gold);text-shadow:0 0 14px #ff7a1a,0 0 30px #ff3b2f;margin-bottom:8px;animation:.6s ease-in-out infinite alternate pulse}#buttons{top:calc(10px + var(--safe-t));right:calc(10px + var(--safe-r));z-index:5;flex-direction:column;gap:8px;display:flex;position:absolute}.playing #btn-music,.playing #btn-sfx{display:none}.icon-btn{color:#fff;width:38px;height:38px;font:700 15px var(--body);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#0804148c;border:1px solid #16eaff80;border-radius:50%;padding:0;box-shadow:0 0 10px #16eaff40}.icon-btn.txt{letter-spacing:.05em;font-size:11px}.icon-btn.off{opacity:.4;text-decoration:line-through}@media (max-width:520px){#buttons{flex-direction:row}}#fps{left:calc(8px + var(--safe-l));bottom:calc(8px + var(--safe-b));color:#0f0;pointer-events:none;font:12px monospace;position:absolute}#error{color:#fff;font:600 18px var(--body);text-align:center;z-index:10;background:#05020c;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes blink{50%{opacity:.35}}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes logoIn{0%{opacity:0;filter:blur(8px);transform:scale(1.3)}to{opacity:1;filter:none;transform:none}}.bike-select{align-items:center;gap:14px;margin-bottom:16px;display:flex}.bike-info{min-width:220px;max-width:70vw}.bike-name{font:900 24px var(--display);letter-spacing:.25em;color:#fff;text-shadow:0 0 14px var(--cyan);margin-right:-.25em}.bike-tag{font:600 14px var(--body);letter-spacing:.06em;color:var(--dim);margin-top:2px}.bike-dots{letter-spacing:.3em;color:var(--cyan);margin-top:4px;font-size:10px}.arrow{cursor:pointer;color:#fff;width:44px;height:44px;font:700 16px var(--body);touch-action:manipulation;background:#08041499;border:1px solid #16eaff8c;border-radius:50%;padding:0;box-shadow:0 0 12px #16eaff4d}.arrow:active{transform:scale(.92)}.text-btn{cursor:pointer;color:var(--ink);font:700 12px var(--display);letter-spacing:.3em;touch-action:manipulation;background:#08041480;border:1px solid #ffffff4d;border-radius:3px;margin-top:4px;padding:8px 18px}.arrow:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.text-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.icon-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}#power{left:50%;bottom:calc(26px + var(--safe-b));text-align:center;pointer-events:none;min-width:180px;position:absolute;transform:translate(-50%)}.power-label{font:900 13px var(--display);letter-spacing:.35em;color:#fff;text-shadow:0 0 12px #9ff3ff,0 0 26px #fff;margin-right:-.35em}.power-time{font:900 38px/1.05 var(--display);color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 16px #9ff3ff,0 0 34px #6fd8ff}.power-bar{background:#ffffff26;border-radius:3px;height:5px;margin-top:4px;overflow:hidden}#power-fill{background:linear-gradient(90deg,#ff3fd0,#ffd84a,#3dffb0,#16eaff,#ff3fd0) 0 0/200% 100%;width:100%;height:100%;animation:1.2s linear infinite rainbow}#power.boost .power-label,#power.boost .power-time{text-shadow:0 0 14px #ffd84a,0 0 30px #ff9a1a;color:#fff6c8}#power.boost #power-fill{background:#ffd84a;animation:none}#power.warn .power-time{animation:.25s steps(2,end) infinite blink}@keyframes rainbow{to{background-position:200% 0}}#ramp-ind.red{color:#ff4a5a;text-shadow:0 0 12px #ff1a3a;background:#32000680;border-color:#ff3c50d9;font-size:15px}.popup.danger{color:#ff4a5a;text-shadow:0 0 14px #ff1a3a,0 0 30px #ff1a3a;font-size:28px}#ramp-ind.super{color:#52ff89;text-shadow:0 0 14px #20ff60;border-color:#52ff89}.leaderboard-buttons{z-index:2;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.6rem;display:flex;position:relative}.leaderboard-buttons button,.arcade-leaderboard button{color:#b9faff;cursor:pointer;background:#102333;border:2px solid #393939;border-color:#fff #393939 #393939 #fff;border-radius:0;min-height:44px;padding:.65rem .9rem;font:700 .8rem/1.4 monospace}.arcade-leaderboard{color:#e9f6ff;background:#070e1b;border:2px solid #bdbdbd;border-radius:0;width:min(34rem,100% - 1.25rem);max-height:calc(100dvh - 2rem);margin:auto;padding:0;font-family:monospace;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.arcade-leaderboard::backdrop{background:#04050bda}.arcade-leaderboard header{z-index:1;background:#183146;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .8rem;display:flex;position:sticky;top:0}.arcade-leaderboard h2{color:#16eaff;letter-spacing:.12em;font-size:1rem}.arcade-leaderboard .lb-close{min-width:44px;padding:.2rem;font-size:1.5rem}.arcade-leaderboard .lb-close img{width:24px;height:24px;image-rendering:pixelated;margin:auto;display:block}.lb-content{padding:1rem}.lb-status{color:#ffd84a;min-height:2.8em;line-height:1.5}.arcade-leaderboard table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:1rem 0}.arcade-leaderboard caption{text-align:left;color:#a5bacb;padding-bottom:.75rem;font-size:.75rem;line-height:1.5}.arcade-leaderboard th,.arcade-leaderboard td{text-align:left;border-bottom:1px solid #324556;padding:.65rem .4rem}.arcade-leaderboard th:last-child,.arcade-leaderboard td:last-child{text-align:right}.arcade-leaderboard .lb-highlight{color:#ffd84a;background:#332813}.lb-entry{border:1px solid #bdbdbd;padding:1rem}.lb-entry label{color:#ff82e8;margin-bottom:.75rem;display:block}.lb-entry input{letter-spacing:.3em;text-transform:uppercase;color:#ffd84a;background:#040812;border:2px solid #bdbdbd;border-radius:0;width:6ch;max-width:100%;padding:.3em;font:700 2rem monospace;display:block}.lb-entry p{color:#bdcedc;font-size:.75rem;line-height:1.5}.arcade-leaderboard :focus-visible{outline-offset:3px;outline:3px solid #ff2bd6}.leaderboard-buttons :focus-visible{outline-offset:3px;outline:3px solid #ff2bd6}.arcade-leaderboard button:disabled{opacity:.6;cursor:wait}.arcade-leaderboard [hidden]{display:none!important}#title,#results{overflow-y:auto}@media (max-height:650px){.leaderboard-buttons{margin-top:.3rem}.leaderboard-buttons button{padding:.4rem .6rem}}
