@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2)format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff)format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/orbitron-latin-900-normal-DrIi7unX.woff2)format("woff2"),url(/assets/orbitron-latin-900-normal-BbJatbhp.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-500-normal-ByNUCHrt.woff2)format("woff2"),url(/assets/rajdhani-latin-500-normal-DfvNI-Td.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(/assets/rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff")}:root{--cyan:#16f4ff;--magenta:#ff2bd6;--yellow:#ffc93c;--violet:#8a3dff;--red:#ff2648;--bg:#07020f;--text:#e9e4ff;--panel:#0c061a9e;--line:#a082ff47}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;font-family:Rajdhani,system-ui,sans-serif;overflow:hidden}#scene{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:default}#hud{pointer-events:none;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));font-family:Orbitron,sans-serif;position:fixed;inset:0}.hud-top{justify-content:space-between;align-items:flex-start;display:flex}.panel .label{letter-spacing:.25em;opacity:.7;font-size:11px}.panel .value{font-variant-numeric:tabular-nums;font-size:clamp(22px,4.2vw,40px);font-weight:900}.score .value{color:#fff;text-shadow:0 0 10px var(--magenta), 0 0 24px var(--magenta)}.speed{text-align:right}.speed .value{color:var(--cyan);text-shadow:0 0 12px var(--cyan)}.speed small{letter-spacing:.15em;margin-left:6px;font-size:.4em}.shield{letter-spacing:.2em;color:#fff;border:1px solid var(--yellow);box-shadow:0 0 10px var(--yellow), inset 0 0 8px #ffc93c66;margin-top:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.combo{min-height:1.2em;color:var(--yellow);text-shadow:0 0 10px var(--yellow);margin-top:4px;font-size:15px;font-weight:700}.banner{text-align:center;letter-spacing:.12em;color:#fff;text-shadow:0 0 18px var(--magenta), 0 0 48px var(--magenta);opacity:0;font-size:clamp(32px,8.5vw,96px);font-weight:900;position:absolute;top:22%;left:0;right:0}.banner.show{animation:1.4s ease-out forwards banner}@keyframes banner{0%{opacity:0;filter:blur(8px);transform:scale(1.6)}12%{opacity:1;filter:blur();transform:scale(1)}70%{opacity:1}to{opacity:0;transform:scale(.96)translateY(-10px)}}.hint-box{opacity:0;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:58%;left:0;right:0}.hint-box b{letter-spacing:.15em;color:var(--yellow);text-shadow:0 0 12px var(--yellow);font-size:clamp(15px,2.6vw,24px);font-weight:900}.hint-box span{font-family:Rajdhani,sans-serif;font-size:clamp(14px,2vw,18px)}.hint-box.show{animation:2.6s ease-out forwards hint}@keyframes hint{0%{opacity:0;transform:translateY(10px)}10%,80%{opacity:1;transform:none}to{opacity:0}}#popups{width:0;height:0;position:absolute;top:40%;left:50%}.popup{white-space:nowrap;text-align:center;font-size:clamp(16px,3.2vw,30px);font-weight:900;animation:.9s ease-out forwards pop;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.popup small{opacity:.9;font-size:.55em;font-weight:700;display:block}.popup.perfect{color:var(--yellow);text-shadow:0 0 12px var(--yellow), 0 0 28px #ff8a00}.popup.close{color:var(--cyan);text-shadow:0 0 12px var(--cyan)}.popup.air,.popup.trick{color:var(--magenta);text-shadow:0 0 12px var(--magenta), 0 0 28px var(--magenta)}.popup.wall{color:#fff;text-shadow:0 0 10px var(--cyan), 0 0 22px var(--violet);font-size:clamp(13px,2.2vw,20px)}.popup.info{color:#fff;text-shadow:0 0 10px var(--violet);font-size:clamp(13px,2.2vw,20px)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}30%{transform:translate(-50%,-65%)scale(1)}to{opacity:0;transform:translate(-50%,-160%)scale(1)}}.hud-bottom{left:0;right:0;bottom:max(18px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute}.wall{letter-spacing:.2em;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.wall i{border:1px solid var(--cyan);width:140px;height:6px;display:block}.wall b{background:var(--cyan);height:100%;box-shadow:0 0 10px var(--cyan);transform-origin:0;display:block}.wall.low b{background:var(--red);box-shadow:0 0 10px var(--red);animation:.25s steps(2,end) infinite blink}.sync{letter-spacing:.18em;color:#fff;text-shadow:0 0 10px var(--cyan), 0 0 24px var(--cyan);font-size:clamp(14px,2.6vw,22px);font-weight:900;transition:opacity .3s}.sync.gone{opacity:0}.sync.hit{animation:.35s ease-out sync}@keyframes sync{0%{color:var(--cyan);transform:scale(1.35)}to{transform:scale(1)}}.charges{gap:8px;display:flex}.charges i{border:1px solid var(--magenta);width:26px;height:8px;transform:skew(-20deg)}.charges i.on{background:var(--magenta);box-shadow:0 0 10px var(--magenta), 0 0 20px var(--magenta)}.beats{align-items:center;gap:10px;display:flex}.beats i{background:#ffffff26;border-radius:50%;width:8px;height:8px;transition:background 80ms,box-shadow 80ms}.beats i:first-child{width:12px;height:12px}.beats i.on{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}#flash{pointer-events:none;opacity:0;mix-blend-mode:screen;background:var(--flash,#fff);position:fixed;inset:0}#flash.go{animation:.5s ease-out flash}@keyframes flash{0%{opacity:.7}to{opacity:0}}.calm-flash #flash{background:radial-gradient(ellipse at center, transparent 55%, var(--flash,#fff))}.calm-flash #flash.go{animation:.9s ease-in-out glow}@keyframes glow{0%,to{opacity:0}35%{opacity:.3}}.calm-flash .wall.low b{animation:none}.notice-title{font-size:clamp(22px,4.4vw,40px)}.notice-text{max-width:560px;font-family:Rajdhani,sans-serif;font-size:17px;line-height:1.4}.overlay{padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));text-align:center;touch-action:pan-y;background:radial-gradient(#07020f40,#07020fd9);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-family:Orbitron,sans-serif;display:flex;position:fixed;inset:0;overflow-y:auto}#over,#paused,#settings,#calibrate,#notice{background:radial-gradient(#07020f99,#07020fe6)}.overlay.menu{padding-left:max(24px, env(safe-area-inset-left));padding-right:max(24px, env(safe-area-inset-right));background:linear-gradient(90deg,#07020fdb,#07020f8c 34%,#07020f00 60%),linear-gradient(#07020f00 70%,#07020fcc);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(300px,400px) 1fr;place-items:start stretch;gap:14px 24px;display:grid}.menu-top{grid-column:1/-1}.menu-left{flex-direction:column;align-self:center;gap:12px;display:flex}.menu-left .title{text-align:left;font-size:clamp(34px,5vw,64px)}.menu-left .ride-btn{align-self:flex-start}.menu-foot{flex-direction:column;grid-column:1/-1;align-items:center;gap:10px;display:flex}.menu-top{justify-content:space-between;align-items:center;width:100%;display:flex}.menu-actions{gap:8px;display:flex}.hub-btn{align-items:center;gap:8px;display:flex}.hub-btn svg{width:14px;height:14px}.profile{letter-spacing:.15em;white-space:nowrap;align-items:center;gap:10px;font-size:13px;display:flex}.profile b{color:var(--yellow);text-shadow:0 0 10px var(--yellow)}.xpbar{border:1px solid var(--line);width:120px;height:6px;display:block}.xpbar i{background:var(--yellow);height:100%;box-shadow:0 0 8px var(--yellow);transform-origin:0;display:block}.credits{color:var(--cyan)}.title{letter-spacing:.08em;color:#fff;text-shadow:0 0 14px var(--magenta), 0 0 40px var(--magenta);font-size:clamp(36px,8vw,84px);font-weight:900;line-height:.95}.title span{color:var(--cyan);text-shadow:0 0 14px var(--cyan), 0 0 40px var(--cyan);display:block}.picker{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:stretch;display:flex}.picker.locked .pick-name{color:#ffffff73;text-shadow:none}.arrow{width:44px;color:var(--cyan);text-shadow:0 0 10px var(--cyan);font-size:34px}.arrow:hover{background:#16f4ff14}.pick-body{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;padding:10px 4px;display:flex}.pick-label{letter-spacing:.3em;opacity:.6;font-size:10px}kbd{opacity:.7;margin-left:4px;font-family:inherit}.pick-name{letter-spacing:.1em;color:#fff;text-shadow:0 0 12px var(--magenta);font-size:clamp(18px,2.6vw,26px);font-weight:900}.pick-sub{opacity:.8;font-family:Rajdhani,sans-serif;font-size:14px}.pick-meta{letter-spacing:.15em;color:var(--cyan);font-size:10px}.pick-stars{letter-spacing:.12em;opacity:.85;font-size:10px}.pick-stars b{letter-spacing:.1em;color:var(--yellow);text-shadow:0 0 8px var(--yellow);font-size:15px}.stats-grid{grid-template-columns:1fr;gap:3px;width:100%;max-width:260px;margin:4px 0;display:grid}.stat{letter-spacing:.15em;text-align:left;grid-template-columns:84px 1fr;align-items:center;font-size:9px;display:grid}.stat i,.missions i{background:#ffffff14;height:4px;display:block}.stat b,.missions b{background:var(--magenta);height:100%;box-shadow:0 0 6px var(--magenta);transform-origin:0;display:block}.small-btn{letter-spacing:.15em;border:1px solid var(--cyan);color:var(--cyan);padding:6px 14px;font-size:11px;font-weight:700}.small-btn:not(:disabled):hover{background:#16f4ff1f}.small-btn:disabled{border-color:var(--line);color:#ffffff80}#bike-action.garage{border-color:var(--magenta);color:#fff;box-shadow:0 0 10px #ff2bd659}#bike-action.garage:hover{background:#ff2bd626}.garage-panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);flex-direction:column;align-items:center;gap:6px;padding:12px;display:flex}.paints{grid-template-columns:repeat(6,1fr);gap:8px;width:100%;margin:4px 0;display:grid}.swatch{aspect-ratio:1;border:1px solid var(--line);background:linear-gradient(135deg, var(--b) 0 38%, var(--n) 38% 62%, var(--a) 62% 72%, var(--b) 72%);position:relative;box-shadow:inset 0 0 8px #0009}.swatch.prism{background:conic-gradient(#ff2bd6,#ffc93c,#7dff3a,#16f4ff,#7a3cff,#ff2bd6)}.swatch.on:after{content:"";background:var(--yellow);width:6px;height:6px;box-shadow:0 0 6px var(--yellow);border-radius:50%;margin-left:-3px;position:absolute;bottom:-6px;left:50%}.swatch.focus{outline-offset:2px;box-shadow:0 0 12px var(--n);outline:2px solid #fff}.swatch.locked{filter:saturate(.55)brightness(.6)}.swatch.locked:before{content:"🔒";filter:grayscale();place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.upgrades{gap:8px;width:100%;list-style:none;display:grid}.upgrades li{border:1px solid var(--line);text-align:left;grid-template-columns:1fr auto;grid-template-areas:"name btn""pips btn""val btn""hint hint";align-items:center;gap:2px 10px;padding:8px 10px;display:grid}.upgrades b{letter-spacing:.18em;grid-area:name;font-size:11px}.upgrades .pips{grid-area:pips;gap:4px;display:flex}.upgrades .pips i{background:#ffffff1f;width:18px;height:4px}.upgrades .pips i.on{background:var(--magenta);box-shadow:0 0 6px var(--magenta)}.upgrades em{color:var(--cyan);grid-area:val;font-size:12px;font-style:normal}.upgrades em span{opacity:.6}.upgrades button{grid-area:btn;min-width:92px}.upgrades small{opacity:.6;grid-area:hint;font-family:Rajdhani,sans-serif;font-size:13px}.ride-btn{letter-spacing:.3em;color:#07020f;background:var(--yellow);min-width:220px;box-shadow:0 0 18px var(--yellow), 0 0 40px #ffc93c66;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);padding:14px 36px;font-size:clamp(16px,2.6vw,22px);font-weight:900}.ride-btn:not(:disabled):hover{filter:brightness(1.15)}.ride-btn:disabled{color:#fff9;box-shadow:none;background:#fff3}.ghost-btn{letter-spacing:.2em;border:1px solid var(--line);padding:10px 20px;font-size:12px;font-weight:700}.ghost-btn:hover{border-color:var(--cyan);color:var(--cyan)}.missions-box{width:100%;max-width:1100px}.missions-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.next-unlock{letter-spacing:.15em;color:var(--magenta);text-shadow:0 0 8px var(--magenta);font-size:10px}.missions{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px;list-style:none;display:grid}.missions li{background:var(--panel);border:1px solid var(--line);text-align:left;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:8px 10px;font-family:Rajdhani,sans-serif;font-size:14px;display:grid}.missions em{color:var(--yellow);font-family:Orbitron,sans-serif;font-size:10px;font-style:normal}.missions i{grid-column:1/-1}.missions b{background:var(--yellow);box-shadow:0 0 6px var(--yellow)}.controls{opacity:.75;flex-wrap:wrap;justify-content:center;gap:2px 22px;font-family:Rajdhani,sans-serif;font-size:14px;list-style:none;display:flex}.controls b{color:var(--cyan);font-weight:700}.hint{opacity:.65;max-width:440px;font-family:Rajdhani,sans-serif;font-size:15px}h2{letter-spacing:.1em;color:var(--magenta);text-shadow:0 0 14px var(--magenta), 0 0 40px var(--magenta);font-size:clamp(32px,7vw,64px);font-weight:900}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.final .label{letter-spacing:.3em;opacity:.7;font-size:12px}#final-score{color:#fff;text-shadow:0 0 16px var(--cyan);font-size:clamp(40px,9vw,80px);font-weight:900}.best{letter-spacing:.2em;color:var(--yellow);font-size:14px}.stats{letter-spacing:.1em;opacity:.8;font-family:Rajdhani,sans-serif}.rewards{letter-spacing:.08em;gap:6px;font-size:13px;display:grid}.rewards .gain{color:var(--cyan);text-shadow:0 0 10px var(--cyan);font-size:16px}.rewards .done{font-family:Rajdhani,sans-serif;font-size:15px}.rewards .done b,.rewards .levelup{color:var(--yellow);text-shadow:0 0 10px var(--yellow)}.rewards .levelup{font-size:22px;font-weight:900}.rewards .unlock{color:var(--magenta);text-shadow:0 0 10px var(--magenta)}.rewards .levelup small{font-size:13px;font-weight:700}.rewards .star{color:var(--yellow);text-shadow:0 0 10px var(--yellow);font-size:15px}.rewards .star b{font-size:13px}.rewards .next{letter-spacing:.12em;opacity:.65;font-size:11px}.settings{background:var(--panel);border:1px solid var(--line);letter-spacing:.15em;text-align:left;gap:16px;width:100%;max-width:460px;padding:18px;font-size:12px;display:grid}.settings label{grid-template-columns:130px 1fr auto;align-items:center;gap:10px;display:grid}.settings .row{justify-content:space-between}.settings em{text-align:right;min-width:64px;color:var(--cyan);font-style:normal}.note{letter-spacing:0;opacity:.75;flex:1;font-family:Rajdhani,sans-serif;font-size:14px}input[type=range]{width:100%;accent-color:var(--magenta);touch-action:pan-x}.calib-dots{flex-wrap:wrap;justify-content:center;gap:10px;max-width:420px;display:flex}.calib-dots i{border:1px solid var(--cyan);border-radius:50%;width:14px;height:14px}.calib-dots i.count{border-color:var(--yellow)}.calib-dots i.on{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.calib-dots i.count.on{background:var(--yellow);box-shadow:0 0 10px var(--yellow)}@keyframes blink{50%{opacity:.35}}@media (width<=760px){.missions{grid-template-columns:1fr}.overlay.menu{background:linear-gradient(#07020f99,#07020f00 16% 36%,#07020fd9 48%);justify-content:flex-start;gap:12px;padding-left:16px;padding-right:16px;display:flex}.menu-left{width:100%}.menu-left .title{text-align:center;margin-bottom:30vh;font-size:clamp(30px,10vw,48px)}.menu-left .ride-btn{align-self:center}.garage .menu-left{margin-top:34vh}.missions-head{justify-content:center}.xpbar{width:56px}.profile{gap:8px;font-size:11px}.menu-top .ghost-btn{padding:8px 10px;font-size:10px}.hub-btn span{display:none}}@media (hover:hover) and (pointer:fine){.controls .touch{display:none}}@media (hover:none){.controls li:not(.touch),.keys,kbd{display:none}}
