:root{--pink: #ff2fa0;--cyan: #00e5ff;--gold: #ffd23d;--violet: #8a3dff;--ink: #0b0420}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#05031a;color:#fff;font-family:Nunito,system-ui,sans-serif;user-select:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block}body.css-vignette:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.38) 100%)}.hidden{display:none!important}#perf{position:fixed;left:50%;top:6px;transform:translate(-50%);z-index:60;font:800 13px Nunito,monospace;background:#0009;padding:4px 10px;border-radius:8px;pointer-events:none}.logo{display:flex;flex-direction:column;align-items:center;line-height:.9;font-family:Lilita One,Impact,sans-serif;text-transform:uppercase;filter:drop-shadow(0 0 18px rgba(255,47,160,.55))}.logo .l1{font-size:64px;color:var(--gold);letter-spacing:6px;transform:rotate(-3deg);text-shadow:4px 4px 0 #6a1b9a}.logo .l2{font-size:92px;background:linear-gradient(90deg,var(--cyan),var(--pink),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.25)}.logo .l3{font-size:30px;letter-spacing:10px;color:#fff;margin-top:10px;text-shadow:0 0 12px var(--cyan)}.logo.small .l1{font-size:34px}.logo.small .l2{font-size:48px}#loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:radial-gradient(circle at 50% 40%,#2a0f5a,#05031a 70%);z-index:50}#loadtext{font-weight:800;letter-spacing:2px;opacity:.85;animation:blink 1.2s ease-in-out infinite}@keyframes blink{50%{opacity:.4}}.menu{position:fixed;inset:0;z-index:20;display:flex;padding:4vh 5vw;pointer-events:none}.menu>*{pointer-events:auto}.menu.screen-title{align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,#0a042026,#05031ab3)}.title{display:flex;flex-direction:column;align-items:center;gap:36px}.title .hint{opacity:.7;font-weight:700}.side{display:flex;flex-direction:column;gap:10px;width:min(440px,92vw);background:linear-gradient(160deg,#140834e0,#08041acc);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:26px;box-shadow:0 20px 60px #00000080,inset 0 0 40px #8a3dff26;align-self:center;max-height:92vh;overflow:auto}.side.wide{width:min(560px,94vw)}.side h2,.panel h2{margin:0 0 6px;font-family:Lilita One;font-size:38px;letter-spacing:2px;background:linear-gradient(90deg,var(--cyan),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}button{font:900 18px Nunito;color:#fff;background:#ffffff0f;border:2px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 18px;cursor:pointer;text-align:left;letter-spacing:1px;transition:transform .08s,background .15s,border-color .15s}button small{font-size:12px;opacity:.7;margin-left:8px}button:hover,button.focus{background:linear-gradient(90deg,#ff2fa059,#00e5ff33);border-color:var(--pink);transform:translate(4px)}button.big{font-size:22px;padding:16px 20px}button.dim,button:disabled{opacity:.45}button.on{border-color:var(--gold);background:#ffd23d2e}button.pulse{animation:pulse .845s ease-in-out infinite;border-color:var(--cyan)}@keyframes pulse{0%,to{box-shadow:0 0 #00e5ff00}15%{box-shadow:0 0 26px #00e5ff8c}}.row{display:flex;gap:10px;flex-wrap:wrap}.row button{flex:1;text-align:center}.card{background:#ffffff0d;border-radius:14px;padding:12px 16px;display:flex;flex-direction:column;gap:4px;border-left:4px solid var(--cyan)}.card b{font-family:Lilita One;font-size:20px;letter-spacing:1px}.card span{opacity:.85;font-weight:700;font-size:14px}.card em{color:var(--gold);font-size:13px;font-style:normal;font-weight:800}.card.locked{border-left-color:#555;opacity:.6}.ver{opacity:.4;font-size:12px;margin:6px 0 0}.small{font-size:13px;opacity:.75}.set{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:6px 4px;font-weight:800}.set input[type=range]{width:52%;accent-color:var(--pink)}.set input[type=checkbox]{width:22px;height:22px;accent-color:var(--pink)}.set select{font:800 15px Nunito;background:#1a0d3a;color:#fff;border:1px solid #555;border-radius:8px;padding:6px}.set.focus,input.focus,select.focus{outline:2px solid var(--pink);border-radius:8px}.panel{margin:auto;width:min(620px,94vw);background:linear-gradient(160deg,#140834f0,#08041aeb);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:30px;box-shadow:0 30px 80px #0009}.panel.warn p{line-height:1.5;font-weight:700}.results table{width:100%;border-collapse:collapse;margin:10px 0 16px;font-weight:800;font-size:18px}.results td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.results tr.me{background:#ff2fa02e}.results .pb{color:var(--gold);font-weight:900;letter-spacing:1px;margin:4px 0}.menu.screen-racers{align-items:flex-end;justify-content:center}.racers{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:space-between}.racers .arrow{font-size:40px;align-self:center;padding:10px 22px;text-align:center}.racer-info{position:absolute;left:50%;top:4vh;transform:translate(-50%);text-align:center;text-shadow:0 2px 10px #000}.racer-info h1{margin:0;font-family:Lilita One;font-size:72px;color:var(--c);filter:drop-shadow(0 0 16px var(--c));letter-spacing:3px}.racer-info p{margin:4px 0 10px;font-weight:800;font-size:18px}.racer-info .stats{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;font-weight:800;opacity:.9}.racer-info .stats em{width:100%;color:var(--gold);font-style:normal;font-size:14px}.racers .bottom{position:absolute;left:50%;bottom:3vh;transform:translate(-50%);display:flex;gap:12px}#hud{position:fixed;inset:0;pointer-events:none;z-index:10;font-family:Lilita One;text-shadow:0 2px 6px rgba(0,0,0,.7)}.hud-tl{position:absolute;left:24px;top:18px}.hud-tl .pos b{font-size:76px;line-height:1;background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.hud-tl .pos span{font-size:30px;opacity:.8;margin-left:4px}.hud-tl .lap{font-size:26px;letter-spacing:2px;color:var(--cyan)}.hud-tr{position:absolute;right:24px;top:20px;text-align:right}.hud-tr .time{font-size:38px;font-variant-numeric:tabular-nums}.hud-tr .best{font-size:16px;opacity:.75}.hud-tr .phase{font-size:18px;color:var(--pink);letter-spacing:2px;margin-top:4px}.minimap{position:absolute;right:18px;bottom:18px;width:180px;height:180px;opacity:.9}.hud-bl{position:absolute;left:24px;bottom:22px;width:300px}.speed b{font-size:58px;font-variant-numeric:tabular-nums}.speed span{font-size:18px;opacity:.8;margin-left:6px}.meter{position:relative;height:18px;background:#00000073;border:2px solid rgba(255,255,255,.25);border-radius:10px;margin-top:18px;overflow:visible}.meter label{position:absolute;top:-17px;left:2px;font:900 12px Nunito;letter-spacing:2px}.meter i{display:block;height:100%;border-radius:8px;transition:width .1s linear}.meter.boost i{background:linear-gradient(90deg,#ff7a1a,var(--gold))}.meter.energy i{background:linear-gradient(90deg,var(--violet),var(--cyan))}.meter.energy.ready{border-color:var(--cyan);box-shadow:0 0 18px var(--cyan)}.meter.energy.ready label{color:var(--cyan)}.beat{position:absolute;left:50%;bottom:26px;width:26px;height:26px;margin-left:-13px;border-radius:50%;border:3px solid rgba(255,255,255,.6);transform:scale(calc(1 + var(--p, 0) * .5));box-shadow:0 0 calc(var(--p, 0) * 22px) var(--cyan)}.beat.bar{border-color:var(--pink)}.count{position:absolute;left:0;right:0;top:22%;text-align:center;font-size:clamp(64px,20vh,150px);line-height:1;color:#fff;opacity:0}.count.pop{animation:pop .8s ease-out forwards}@keyframes pop{0%{opacity:1;transform:scale(1.6)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.hud-top{position:absolute;left:50%;top:clamp(40px,9vh,84px);transform:translate(-50%);width:min(92vw,760px);display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.banner{display:none}.banner.show{display:block;animation:bannerfade 2s ease-out forwards}@keyframes bannerfade{0%{opacity:0;transform:translateY(-12px)}12%{opacity:1;transform:none}80%{opacity:1}to{opacity:0}}.banner b{display:block;font-size:clamp(24px,6.5vh,52px);line-height:1.05;letter-spacing:3px;background:linear-gradient(90deg,var(--cyan),var(--pink),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.banner span{font-size:clamp(11px,2.4vh,18px);letter-spacing:2px;opacity:.9}.banner.phase b{font-size:clamp(18px,4.2vh,34px)}@keyframes slide{0%{transform:translateY(-20px)}to{transform:none}}.toasts{display:flex;flex-direction:column;align-items:center;gap:2px}.toast{font-size:clamp(15px,3.6vh,26px);line-height:1.15;letter-spacing:2px;white-space:nowrap;animation:toast 1.3s ease-out forwards}.toast.bump{color:var(--gold)}.toast.blast,.toast.ready{color:var(--cyan)}.toast.bad{color:#ff5a5a}.toast.phase{color:var(--pink)}@keyframes toast{0%{opacity:0;transform:scale(1.25)}12%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.crosshair{position:absolute;left:50%;top:46%;width:34px;height:34px;margin:-17px;border:2px solid rgba(255,255,255,.35);border-radius:50%;opacity:.5}.crosshair:before,.crosshair:after{content:"";position:absolute;background:#fff9}.crosshair:before{left:50%;top:-8px;bottom:-8px;width:2px;margin-left:-1px}.crosshair:after{top:50%;left:-8px;right:-8px;height:2px;margin-top:-1px}.crosshair.fire{animation:xfire .25s ease-out}.crosshair.power{animation:xpower .35s ease-out}@keyframes xfire{0%{opacity:1;transform:scale(1.5);border-color:#9ff6ff}to{opacity:.5;transform:scale(1)}}@keyframes xpower{0%{opacity:1;transform:scale(1.9);border-color:#ffe066;box-shadow:0 0 20px #ffe066}to{opacity:.5;transform:scale(1)}}.padtest span{font-size:13px;line-height:1.5}.padtest hr{border:0;border-top:1px solid rgba(255,255,255,.15)}.itemslot{position:absolute;right:214px;bottom:26px;width:92px;height:92px;border-radius:20px;border:3px solid rgba(255,255,255,.3);background:#0a04208c;display:flex;flex-direction:column;align-items:center;justify-content:center}.itemslot i{font-style:normal;font-size:40px;line-height:1}.itemslot span{font:900 11px Nunito;letter-spacing:1px;margin-top:4px}.itemslot em{position:absolute;top:-18px;font:800 11px Nunito;opacity:.7;font-style:normal}.itemslot.full{border-color:var(--gold);box-shadow:0 0 22px #ffd23d99;animation:pulse .845s infinite}.bt-top{position:absolute;left:50%;top:14px;transform:translate(-50%);width:min(520px,70vw);text-align:center}.bt-song{font-size:18px;letter-spacing:3px;color:var(--cyan)}.bt-prog{height:6px;background:#ffffff26;border-radius:4px;margin-top:6px;overflow:hidden}.bt-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--pink))}.bt-score{position:absolute;right:26px;top:18px;text-align:right}.bt-score b{display:block;font-size:46px;font-variant-numeric:tabular-nums}.bt-score span{font-size:14px;letter-spacing:3px;opacity:.7}.bt-combo{position:absolute;left:26px;top:18px}.bt-combo b{display:block;font-size:56px;line-height:1;color:var(--gold)}.bt-combo span{font-size:14px;letter-spacing:3px;opacity:.7}.bt-combo em{display:inline-block;margin-top:6px;font-style:normal;font-size:26px;color:var(--cyan)}.bt-combo em.fever{color:var(--pink);animation:pulse .42s infinite}.bt-judge{position:absolute;left:0;right:0;top:22%;text-align:center;opacity:0}.bt-judge.pop{animation:judge .55s ease-out forwards}.bt-judge b{display:block;font-size:52px;letter-spacing:4px}.bt-judge span{font:800 14px Nunito;opacity:.75}@keyframes judge{0%{opacity:1;transform:scale(1.35)}25%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.bt-health{position:absolute;left:50%;bottom:22px;transform:translate(-50%);width:min(420px,60vw);height:14px;background:#00000073;border:2px solid rgba(255,255,255,.25);border-radius:9px}.bt-health i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#ff4060,var(--gold),#5dff9a);transition:width .15s}.bt-health label{position:absolute;top:-17px;left:0;font:900 11px Nunito;letter-spacing:2px}.bt-keys{position:absolute;left:0;right:0;bottom:48px;display:flex;justify-content:center;gap:24px;font:800 13px Nunito;opacity:.6}.bt-keys .l{color:#2ee8ff}.bt-keys .r{color:#ff3df0}.bt-keys .d{color:var(--gold)}.bigscore{font-family:Lilita One;font-size:54px;text-align:center;margin:6px 0;background:linear-gradient(90deg,var(--cyan),var(--pink),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.medal{margin:4px auto 8px;width:max-content;padding:6px 22px;border-radius:30px;border:3px solid var(--m);color:var(--m);font-family:Lilita One;font-size:26px;letter-spacing:3px;box-shadow:0 0 22px var(--m)}.side button em{float:right;font-style:normal;font-size:13px}@media(max-width:800px){.logo .l2{font-size:54px}.logo .l1{font-size:40px}.minimap{width:120px;height:120px}.hud-bl{width:200px}}.dmg{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,#ff002800 55%,#ff143ce6)}.dmg.on{animation:dmg .55s ease-out}@keyframes dmg{0%{opacity:var(--dmg, .5)}to{opacity:0}}.hitmark{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px;opacity:0}.hitmark:before,.hitmark:after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 6px #ff3df0}.hitmark:before{transform:rotate(45deg)}.hitmark:after{transform:rotate(-45deg)}.hitmark.on{animation:hitm .35s ease-out}.hitmark.big:before,.hitmark.big:after{background:#ffe066;box-shadow:0 0 10px #ffb000}@keyframes hitm{0%{opacity:1;transform:scale(1.6)}to{opacity:0;transform:scale(.9)}}.hudwarn{display:none;font-size:clamp(16px,4vh,30px);letter-spacing:3px;color:#ff4060}.hudwarn.on{display:block;animation:warnp .5s ease-in-out infinite alternate}@keyframes warnp{0%{transform:scale(1)}to{transform:scale(1.08)}}.glitter{position:absolute;inset:0;opacity:0;transition:opacity .4s;pointer-events:none;background-image:radial-gradient(circle,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle,#ff8bf0 0 2px,transparent 3px),radial-gradient(circle,#8bf3ff 0 1.5px,transparent 2.5px),radial-gradient(circle,#ffe680 0 2px,transparent 3px);background-size:53px 47px,71px 83px,97px 61px,41px 109px;background-position:0 0,13px 29px,31px 7px,19px 53px;-webkit-mask-image:radial-gradient(ellipse at center,transparent 30%,#000 75%);mask-image:radial-gradient(ellipse at center,transparent 30%,#000 75%)}.glitter.on{opacity:.9;animation:glit 1.2s linear infinite}@keyframes glit{to{background-position:0 47px,13px 112px,31px 68px,19px 162px}}.songlist{max-height:46vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px}.itemslot i{width:64px;height:64px;background:center / contain no-repeat;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 8px rgba(255,255,255,.35))}.side button.trackbtn{min-height:92px;text-align:left;background-color:#0b0624;background-size:100% 100%,62% auto;background-position:0 0,right center;background-repeat:no-repeat}.side button.trackbtn small{display:block;max-width:60%}#menu.screen-title,#loading{background:linear-gradient(90deg,#05031aeb,#05031a8c 45%,#05031a40),url(./keyart_reactor-CnOs7uSF.webp) center / cover}.weapon{position:absolute;left:50%;bottom:clamp(48px,9vh,70px);transform:translate(-50%);font-size:clamp(13px,2.6vh,20px);letter-spacing:2px;opacity:0;transition:opacity .25s;white-space:nowrap}.weapon.on{opacity:1}.phantomfx{position:absolute;inset:0;opacity:0;transition:opacity .35s;background:radial-gradient(ellipse at center,#78f0ff00 58%,#78f0ff59)}.phantomfx.on{opacity:1}.scorebox{display:none;position:absolute;left:50%;top:14px;transform:translate(-50%);text-align:center}#hud.scoremode .scorebox{display:block}.scorebox b{display:block;font-size:46px;letter-spacing:2px;color:#fff}.scorebox span{display:block;font:900 15px Nunito;letter-spacing:2px;color:var(--gold)}.scorebox i{display:block;width:220px;height:6px;margin:6px auto 0;background:#ffffff26;border-radius:3px;overflow:hidden}.scorebox em{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--pink))}.grade{position:absolute;left:50%;top:calc(46% - 70px);transform:translate(-50%);text-align:center;opacity:0;pointer-events:none}.grade b{display:block;font-size:clamp(22px,5vh,36px);letter-spacing:3px}.grade span{font:900 clamp(12px,2.5vh,18px) "Nunito"}.grade.perfect b{color:#5dffea}.grade.great b{color:#7dff5d}.grade.good b{color:var(--gold)}.grade.on{animation:gradep .7s ease-out}@keyframes gradep{0%{opacity:1;transform:translate(-50%) scale(1.4)}70%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-14px)}}.hiscore td{padding:3px 10px}.hiscore tr.me td{color:var(--gold)}.nameinput{font:900 22px Nunito;padding:10px 14px;border-radius:12px;border:2px solid rgba(255,255,255,.3);background:#00000059;color:#fff;width:100%;box-sizing:border-box}.grade.miss b{color:#ff5a5a}.grade.miss span,#hud.notesmode .itemslot,#hud.notesmode .meter.energy,#hud.notesmode .crosshair,#hud.notesmode .pos{display:none}:root{--f-title: "Bungee", "Lilita One", Impact, sans-serif;--f-ui: "Russo One", "Nunito", sans-serif}.logo .l2{font-family:"Bungee Inline",var(--f-title);letter-spacing:2px;animation:logoShine 6s linear infinite;background-size:220% 100%;background-image:linear-gradient(90deg,var(--cyan),var(--pink),var(--gold),var(--cyan))}.logo .l1{font-family:var(--f-title)}.logo .l3{font-family:var(--f-ui)}@keyframes logoShine{to{background-position:220% 0}}.side h2,.panel h2{font-family:var(--f-title);font-size:36px;letter-spacing:1px;line-height:1.05;background-image:linear-gradient(90deg,#6ff6ff,#ff5cf0 45%,#ffd23d 80%,#6ff6ff);background-size:200% 100%;animation:logoShine 5s linear infinite;filter:drop-shadow(0 0 10px rgba(255,60,200,.45)) drop-shadow(0 3px 0 rgba(40,0,70,.9))}.card b{font-family:var(--f-ui);letter-spacing:.5px}button{font-family:var(--f-ui);font-weight:400;letter-spacing:1.5px;text-transform:uppercase;position:relative;overflow:hidden;border-radius:10px 18px;border:2px solid rgba(160,120,255,.35);background:linear-gradient(180deg,#3c14788c,#100628bf);box-shadow:inset 0 1px #ffffff2e,0 4px #0a001eb3}button:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;transform:skew(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);opacity:0;pointer-events:none}button:hover:after,button.focus:after{opacity:1;animation:sweep .9s ease-out}@keyframes sweep{0%{left:-60%}to{left:130%}}button:hover,button.focus{background:linear-gradient(90deg,#ff2fa08c,#00e5ff59);border-color:#fff;transform:translate(5px) scale(1.015);box-shadow:0 0 0 2px #ff2fa08c,0 0 26px #ff2fa08c,inset 0 1px #ffffff59;text-shadow:0 0 10px rgba(255,255,255,.8)}button.focus:before{content:"▶";position:absolute;left:6px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--gold)}button.big{font-family:var(--f-title);font-size:21px;letter-spacing:1px}button.on{border-color:var(--gold);background:linear-gradient(180deg,#ffd23d59,#78460059);box-shadow:0 0 16px #ffd23d73,inset 0 1px #ffffff4d}button.pulse{border-color:var(--cyan)}button small{font-family:Nunito;text-transform:none;letter-spacing:0}#hud .speed b,#hud .pos b,.scorebox b,.bigscore{font-family:var(--f-title)}.scorebox b,.bigscore{background:linear-gradient(180deg,#fff 30%,#ffd23d);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(255,210,61,.5)) drop-shadow(0 3px 0 #3a0a52)}.toast{font-family:var(--f-title);-webkit-text-stroke:1px rgba(20,0,40,.8)}.grade b,.banner b,.count{font-family:var(--f-title)}.grade b{-webkit-text-stroke:1.5px rgba(10,0,30,.9);filter:drop-shadow(0 0 14px currentColor)}.banner b{background:linear-gradient(90deg,#6ff6ff,#ff5cf0,#ffd23d);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 16px rgba(255,60,200,.6)) drop-shadow(0 4px 0 #2a0640)}.side,.panel{border-style:solid;border-width:30px;border-image:url(./panel_bg-VVZQG89R.webp) 95 fill / 30px / 0 stretch;background:none;border-radius:0;box-shadow:none;padding:14px 16px}.side h2,.panel h2{background:url(./title_frame-BON_Drmz.webp) center / 100% 100% no-repeat;-webkit-background-clip:border-box;background-clip:border-box;color:#fff;-webkit-text-fill-color:#fff;animation:none;padding:20px 48px 22px;margin:-6px -10px 6px;text-align:center;font-size:24px;white-space:nowrap;text-shadow:0 0 8px #ff5cf0,0 0 18px #ff2fa0,0 0 30px #00e5ff,0 3px 0 #2a0640;filter:none}.side button,.panel button,.racers button{border-style:solid;border-width:13px 26px;border-image:url(./btn_normal-DpvZN7MF.webp) 52 100 fill / 13px 26px / 0 stretch;background:none;box-shadow:none;border-radius:0;padding:4px 8px;min-height:52px}.side button:hover,.side button.focus,.panel button:hover,.panel button.focus,.racers button:hover,.racers button.focus{border-image-source:url(./btn_focus-6Fbrr3Z6.webp);background:none;box-shadow:none;filter:drop-shadow(0 0 12px rgba(255,60,200,.55))}.side button.on,.panel button.on{border-image-source:url(./btn_active-Bfy8ZIzI.webp);border-image-slice:40 82 fill;background:none;box-shadow:none;color:#fff7d6;text-shadow:0 0 8px rgba(255,190,60,.9)}.side button.big,.panel button.big,.racers button.big{border-width:15px 44px;border-image:url(./btn_big-DzHcIvY9.webp) 58 160 fill / 15px 44px / 0 stretch;min-height:64px;text-align:center}.side button.big:hover,.side button.big.focus,.panel button.big.focus,.racers button.big.focus{border-image-source:url(./btn_big-DzHcIvY9.webp);filter:drop-shadow(0 0 16px rgba(0,229,255,.7)) brightness(1.25)}.side button.trackbtn{border-image-slice:52 100;background-size:100% 100%,62% auto;min-height:112px}.side button.trackbtn small{font-size:11px;line-height:1.25}.side .row button{font-size:14px;letter-spacing:.5px;padding:2px 4px}.side button.trackbtn:hover,.side button.trackbtn.focus,.side button.trackbtn.on{border-image-slice:52 100}.side button.on.trackbtn{border-image-slice:40 82}button .mi{width:34px;height:34px;object-fit:contain;vertical-align:middle;margin:-6px 10px -6px -4px;filter:drop-shadow(0 0 6px rgba(0,229,255,.6))}button.focus:before{left:-16px}.side{width:min(480px,94vw)}.side.wide{width:min(580px,95vw)}.side .row,.panel .row{gap:8px}.side .row button,.panel .row button{border:2px solid rgba(150,120,255,.55);border-image:none;border-radius:12px;min-height:42px;padding:6px 8px;flex:1 1 0;min-width:0;font:400 14px var(--f-ui);letter-spacing:.5px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(180deg,#461e8cbf,#160834d9);box-shadow:inset 0 1px #fff3;filter:none;transform:none}.side .row button:hover,.side .row button.focus,.panel .row button:hover,.panel .row button.focus{border-color:#fff;border-image:none;background:linear-gradient(90deg,#ff2fa0bf,#00e5ff8c);box-shadow:0 0 14px #ff2fa099;filter:none;transform:none}.side .row button.on,.panel .row button.on{border-color:var(--gold);border-image:none;background:linear-gradient(180deg,#ffc83cd9,#aa5a00d9);color:#1a0830;text-shadow:none;box-shadow:0 0 14px #ffc83c99}.side .row button.focus:before{display:none}.side .row.wrap button{flex:1 1 28%}.optlabel{font:400 12px var(--f-ui);letter-spacing:2px;color:#9ff3ff;margin:6px 2px -2px;text-shadow:0 0 6px rgba(0,229,255,.6)}.side .row .big,.panel .row .big{font-size:17px}.racer-info{left:4vw;top:4vh;transform:none;text-align:left;max-width:min(420px,40vw);padding:18px 22px;border-radius:18px;background:linear-gradient(160deg,#140834d1,#08041ab3);border:2px solid color-mix(in srgb,var(--c) 60%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--c) 35%,transparent)}.racer-info h1{font-family:var(--f-title);font-size:clamp(34px,4.2vw,56px);line-height:1;letter-spacing:1px}.racer-info p{font-size:16px;margin:8px 0 10px}.racer-info .stats{justify-content:flex-start;gap:6px 16px;font-size:14px}.racer-info small{font-family:var(--f-ui);letter-spacing:2px;opacity:.8}.menu.screen-title{align-items:stretch;justify-content:center;padding:3vh 4vw 5vh}.title.hero{width:100%;height:100%;justify-content:space-between;gap:0}.hero-logo{margin-top:1vh;filter:drop-shadow(0 10px 28px rgba(0,0,0,.75));position:relative}.hero-logo:before{content:"";position:absolute;inset:-6% -10%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse at center,#08021cc7,#08021c73 45%,#08021c00 72%)}.hero-logo .l1,.hero-logo .l2{position:relative;font-family:Bungee,Impact,sans-serif;line-height:.95}.hero-logo .l1:before,.hero-logo .l2:before{content:attr(data-t);position:absolute;left:0;top:0;z-index:-1;color:#1a0533;-webkit-text-stroke:14px #1a0533;background:none;-webkit-text-fill-color:#1a0533;text-shadow:0 8px 0 #0b0118,0 0 30px rgba(255,47,160,.55)}.hero-logo .l1{font-size:clamp(54px,7vw,108px);color:#ffd23d;-webkit-text-fill-color:#ffd23d;transform:rotate(-3deg);letter-spacing:4px;text-shadow:none}.hero-logo .l2{font-size:clamp(70px,9.5vw,150px);letter-spacing:2px;animation:logoShine 6s linear infinite;background-image:linear-gradient(90deg,#4ff3ff,#ff4fd8,#ffd23d,#4ff3ff);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:3px rgba(255,255,255,.9)}.hero-logo .l3{font-family:Russo One,sans-serif;font-size:clamp(20px,2.4vw,36px);letter-spacing:12px;margin-top:18px;color:#fff;text-shadow:0 0 10px #00e5ff,0 0 22px #00e5ff,0 3px 0 #1a0533,0 0 2px #000;padding:6px 22px;background:#08021c8c;border-radius:30px}.hero-start{display:flex;flex-direction:column;align-items:center;gap:10px}.title button.startbtn{font-family:Bungee,sans-serif;font-size:clamp(34px,3.6vw,54px);letter-spacing:6px;color:#fff;text-align:center;min-width:clamp(340px,30vw,520px);min-height:0;padding:10px 40px;border-style:solid;border-width:26px 78px;border-image:url(./btn_big-DzHcIvY9.webp) 58 160 fill / 26px 78px / 0 stretch;background:none;border-radius:0;text-shadow:0 0 12px #00e5ff,0 0 26px #ff2fa0,0 4px 0 #1a0533;filter:drop-shadow(0 0 22px rgba(0,229,255,.6));animation:startPulse 1.1s ease-in-out infinite}.title button.startbtn:hover,.title button.startbtn.focus{filter:drop-shadow(0 0 34px rgba(255,47,160,.9)) brightness(1.2);transform:scale(1.06)}.title button.startbtn:before{display:none}@keyframes startPulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.hero-start .hint{font-family:Russo One,sans-serif;font-size:15px;letter-spacing:2px;opacity:1;color:#fff;text-shadow:0 2px 6px #000;background:#08021c99;padding:6px 18px;border-radius:20px}.showname{position:absolute;left:50%;bottom:6vh;transform:translate(-50%);text-align:center;pointer-events:none}.showname small{display:block;font:400 clamp(12px,1vw,16px) var(--f-ui);letter-spacing:4px;color:#fff;opacity:.85;text-shadow:0 2px 6px #000}.showname b{display:block;font:400 clamp(36px,4.2vw,72px) var(--f-title);color:var(--c);letter-spacing:2px;line-height:1.05;-webkit-text-stroke:2px rgba(255,255,255,.85);text-shadow:0 0 18px var(--c),0 0 36px var(--c),0 6px 0 #1a0533}#touch{position:fixed;inset:0;z-index:15;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}#touch .tc{position:absolute;pointer-events:auto;touch-action:none;display:flex;align-items:center;justify-content:center;border-radius:50%;font:400 clamp(11px,1.6vw,16px) var(--f-ui);letter-spacing:1px;color:#fff;text-shadow:0 1px 3px #000;background:radial-gradient(circle at 35% 30%,#7850ff8c,#1408348c);border:2px solid rgba(160,230,255,.55);box-shadow:0 0 14px #00e5ff40,inset 0 1px #ffffff40;-webkit-tap-highlight-color:transparent}#touch .tc.down{background:radial-gradient(circle at 35% 30%,#ff5adcd9,#500a5acc);border-color:#fff;transform:scale(.94);box-shadow:0 0 22px #ff3cc8b3}#touch .tc-steer{width:clamp(78px,13vw,120px);height:clamp(78px,13vw,120px);bottom:max(16px,env(safe-area-inset-bottom));font-size:clamp(28px,5vw,44px);border-radius:26px}#touch .tc-left{left:max(16px,env(safe-area-inset-left))}#touch .tc-right{left:calc(max(16px,env(safe-area-inset-left)) + clamp(90px,15vw,136px))}#touch .tc-act{width:clamp(58px,9.5vw,86px);height:clamp(58px,9.5vw,86px)}#touch .tc-gas{width:clamp(92px,15vw,130px);height:clamp(92px,15vw,130px);right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));font-size:clamp(15px,2.4vw,22px);background:radial-gradient(circle at 35% 30%,#3cffaa8c,#00463299);border-color:#78ffc8b3}#touch .tc-brake{right:calc(max(18px,env(safe-area-inset-right)) + clamp(104px,17vw,146px));bottom:max(18px,env(safe-area-inset-bottom))}#touch .tc-boost{right:calc(max(18px,env(safe-area-inset-right)) + clamp(20px,3vw,30px));bottom:calc(max(18px,env(safe-area-inset-bottom)) + clamp(104px,17vw,146px));background:radial-gradient(circle at 35% 30%,#ffaa2899,#5a280099);border-color:#ffd278b3}#touch .tc-fire{right:calc(max(18px,env(safe-area-inset-right)) + clamp(104px,17vw,146px));bottom:calc(max(18px,env(safe-area-inset-bottom)) + clamp(76px,12.5vw,106px));background:radial-gradient(circle at 35% 30%,#ff4678a6,#5a001e99);border-color:#ff96b4bf}#touch .tc-extra{right:calc(max(18px,env(safe-area-inset-right)) + clamp(190px,31vw,270px));bottom:max(18px,env(safe-area-inset-bottom))}#touch .tc-blast{right:calc(max(18px,env(safe-area-inset-right)) + clamp(190px,31vw,270px));bottom:calc(max(18px,env(safe-area-inset-bottom)) + clamp(76px,12.5vw,106px))}#touch .tc-small{width:clamp(44px,7vw,58px);height:clamp(44px,7vw,58px);border-radius:14px}#touch .tc-cam{right:max(16px,env(safe-area-inset-right));top:calc(max(12px,env(safe-area-inset-top)) + 96px)}#touch .tc-pause{right:max(16px,env(safe-area-inset-right));top:calc(max(12px,env(safe-area-inset-top)) + 158px);font-size:20px}body.touchmode #hud .itemslot{inset:12px auto auto 50%;transform:translate(-50%) scale(.75)}body.touchmode #hud .hud-bl{bottom:auto;top:96px;transform:scale(.75);transform-origin:left top}body.touchmode #hud .minimap{width:120px;height:120px;bottom:auto;top:92px;right:76px}@media(max-width:900px),(max-height:520px){.side{padding:8px 10px;max-height:96vh}.side button.big{font-size:16px}.side button{font-size:14px;min-height:44px}.side h2,.panel h2{font-size:18px;padding:14px 30px 16px}.logo.small .l2{font-size:34px}.logo.small .l1{font-size:24px}.menu{padding:2vh 3vw}.racer-info{max-width:60vw;padding:10px 14px}.racer-info h1{font-size:30px}}.langchips{display:flex;gap:6px;justify-content:center;margin-top:6px}.langchips button{flex:0 0 auto!important;min-width:56px;min-height:34px!important;padding:2px 10px!important;font-size:13px!important}.title.hero .langchips{position:absolute;top:2vh;right:3vw}.title.hero .langchips button{border:2px solid rgba(255,255,255,.4);border-image:none;border-radius:10px;background:#08021c99}.title.hero .langchips button.on{border-color:var(--gold);background:#ffc83cd9;color:#1a0830}.standings{width:100%;border-collapse:collapse;font-weight:800}.standings td{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.08)}.standings tr.me{background:#ff2fa02e}.standings td.rp{text-align:center;opacity:.8;font-size:15px}.standings td.pts{text-align:right;color:var(--gold);font-family:var(--f-title)}.menu.screen-podium{align-items:flex-start;justify-content:center}.podiumtext{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:2vh;width:100%;height:96%;justify-content:space-between}.podiumtext h2{font:400 clamp(34px,5vw,70px) var(--f-title);margin:0;background:linear-gradient(90deg,#ffd23d,#ff5cf0,#4ff3ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #1a0533) drop-shadow(0 0 20px rgba(255,210,61,.6))}.podiumnames{display:flex;gap:2vw;align-items:flex-end;margin-top:auto}.podiumnames .pn{text-align:center;min-width:20vw;padding:10px 14px;border-radius:16px;background:#08021ca6;border:2px solid var(--c);box-shadow:0 0 18px var(--c)}.podiumnames .pn b{display:block;font:400 34px var(--f-title);color:#ffd23d}.podiumnames .pn.p2 b{color:#e6ecff}.podiumnames .pn.p3 b{color:#ff9a4a}.podiumnames .pn span{display:block;font:400 clamp(16px,1.8vw,26px) var(--f-title);color:var(--c)}.podiumnames .pn em{font-style:normal;font-weight:900;color:#fff}.trainbox{pointer-events:auto;position:absolute;left:50%;top:92px;transform:translate(-50%);width:min(720px,92vw);text-align:center;padding:12px 18px;border-radius:16px;background:#08021cc7;border:2px solid rgba(0,229,255,.6);box-shadow:0 0 22px #00e5ff59}.trainbox small{display:block;font:400 13px var(--f-ui);letter-spacing:3px;color:#9ff3ff}.trainbox b{display:block;font:400 clamp(16px,2vw,24px) var(--f-ui);color:#fff;margin:6px 0;text-shadow:0 2px 6px #000}.trainbox .dots{display:flex;gap:6px;justify-content:center;margin:6px 0 2px}.trainbox .dots i{width:12px;height:12px;border-radius:50%;background:#fff3}.trainbox .dots i.ok{background:#7dff6a}.trainbox .dots i.cur{background:#ffd23d;box-shadow:0 0 8px #ffd23d}.trainbox em{font:700 12px Nunito;font-style:normal;opacity:.7}#hud.splittop{inset:0 0 50%}#hud2{position:fixed;inset:50% 0 0;pointer-events:none;z-index:10;font-family:Lilita One;text-shadow:0 2px 6px rgba(0,0,0,.7);border-top:3px solid rgba(255,60,200,.7)}#hud.splittop .minimap,#hud2 .minimap{width:120px;height:120px}#hud.splittop .hud-bl,#hud2 .hud-bl{transform:scale(.72);transform-origin:left bottom}#hud.splittop .itemslot,#hud2 .itemslot{transform:scale(.72);transform-origin:right bottom;right:150px}#hud.splittop .crosshair,#hud2 .crosshair,#hud2 .toasts,#hud2 .banner,#hud2 .count{display:none}#hud.splittop .hud-top,#hud2 .hud-top{top:8px}#hud.splittop .toast{font-size:clamp(13px,2.8vh,20px)}#hud.splittop .banner b{font-size:clamp(18px,4.5vh,36px)}#hud.splittop .count{font-size:clamp(48px,12vh,100px);top:14%}#hud.splittop .hud-tl:before{content:"P1"}#hud2 .hud-tl:before{content:"P2"}#hud.splittop .hud-tl:before,#hud2 .hud-tl:before{display:inline-block;font:400 18px var(--f-title);color:#1a0830;background:var(--gold);padding:0 8px;border-radius:8px;margin-right:8px}body.touchmode #hud .hud-bl{top:136px}@media(max-height:520px){#touch .tc-steer{width:24vh;height:24vh;font-size:9vh;border-radius:20px;bottom:max(12px,env(safe-area-inset-bottom))}#touch .tc-right{left:calc(max(16px,env(safe-area-inset-left)) + 24vh + 12px)}#touch .tc-act{width:15vh;height:15vh;font-size:11px}#touch .tc-gas{width:27vh;height:27vh;bottom:max(12px,env(safe-area-inset-bottom))}#touch .tc-brake{right:calc(max(18px,env(safe-area-inset-right)) + 27vh + 10px);bottom:max(12px,env(safe-area-inset-bottom))}#touch .tc-boost{right:calc(max(18px,env(safe-area-inset-right)) + 6vh);bottom:calc(max(12px,env(safe-area-inset-bottom)) + 27vh + 8px)}#touch .tc-fire{right:calc(max(18px,env(safe-area-inset-right)) + 27vh + 10px);bottom:calc(max(12px,env(safe-area-inset-bottom)) + 15vh + 12px)}#touch .tc-extra{right:calc(max(18px,env(safe-area-inset-right)) + 42vh + 22px);bottom:max(12px,env(safe-area-inset-bottom))}#touch .tc-blast{right:calc(max(18px,env(safe-area-inset-right)) + 42vh + 22px);bottom:calc(max(12px,env(safe-area-inset-bottom)) + 15vh + 12px)}#touch .tc-small{width:44px;height:44px}#touch .tc-cam{top:max(8px,env(safe-area-inset-top));right:auto;left:calc(50% + 62px)}#touch .tc-pause{top:max(8px,env(safe-area-inset-top));right:auto;left:calc(50% + 114px)}body.touchmode #hud .hud-tl{transform:scale(.6);transform-origin:left top;left:14px;top:8px}body.touchmode #hud .hud-bl{top:80px;left:14px;transform:scale(.6)}body.touchmode #hud .minimap{width:92px;height:92px;top:62px;right:12px}body.touchmode #hud .itemslot{top:4px;transform:translate(-50%) scale(.6)}}#hud.scoremode .hud-top{top:clamp(78px,16vh,124px)}body.touchmode #hud .hud-top{top:98px}#hud:has(#h-train) .hud-top{top:222px}@media(max-height:600px){.scorebox b{font-size:32px}.scorebox span{font-size:12px}#hud.scoremode .hud-top{top:72px}}@media(max-height:520px){body.touchmode #hud .hud-top{top:82px}}@media(max-height:600px),(max-width:800px){body:not(.touchmode) #hud:not(.splittop) .hud-tl,body:not(.touchmode) #hud:not(.splittop) .hud-tr{transform:scale(.72)}body:not(.touchmode) #hud:not(.splittop) .hud-tl{transform-origin:left top}body:not(.touchmode) #hud:not(.splittop) .hud-tr{transform-origin:right top}body:not(.touchmode) #hud:not(.splittop) .hud-bl{width:300px;transform:scale(.66);transform-origin:left bottom;left:14px;bottom:12px}body:not(.touchmode) #hud:not(.splittop) .minimap{width:110px;height:110px;right:12px;bottom:12px}body:not(.touchmode) #hud:not(.splittop) .itemslot{transform:scale(.66);transform-origin:right bottom;right:134px;bottom:14px}}#rotate{display:none;position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at 50% 40%,#2a0b52,#07031a 70%);color:#fff;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}#rotate.on{display:flex}#rotate i{width:64px;height:110px;border:5px solid #4ff3ff;border-radius:14px;box-shadow:0 0 24px #4ff3ff99,inset 0 0 0 4px #ffffff14;animation:rotphone 2.2s ease-in-out infinite}#rotate b{font:400 26px var(--f-title, "Bungee");letter-spacing:1px;background:linear-gradient(90deg,#6ff6ff,#ff5cf0,#ffd23d);-webkit-background-clip:text;background-clip:text;color:transparent}#rotate span{font:800 15px Nunito,sans-serif;opacity:.8;max-width:300px}@keyframes rotphone{0%,20%{transform:rotate(0)}50%,80%{transform:rotate(-90deg)}to{transform:rotate(0)}}.meter.heat{height:10px;margin-top:16px}.meter.heat i{background:linear-gradient(90deg,#ffd23d,#ff7a1a 60%,#ff2b4a)}.meter.heat.hot{border-color:#ff4060;box-shadow:0 0 14px #ff4060cc;animation:warnp .35s ease-in-out infinite alternate}.meter.heat.hot label{color:#ff5a6e}#hud.notesmode .meter.heat,#touch.autogas .tc-fire{display:none}#touch .tc-gas.as-fire{background:radial-gradient(circle at 35% 30%,#ff4678b3,#5a001ea6);border-color:#ff96b4d9}@media(max-height:520px){.racer-info{left:2vw;top:2vh;max-width:36vw;padding:8px 12px;border-radius:12px}.racer-info h1{font-size:22px}.racer-info p{font-size:12px;margin:4px 0 6px}.racer-info small{font-size:10px}.racer-info .stats{font-size:10px;gap:2px 8px}.racer-info .stats em{display:none}.racers .arrow{font-size:22px;padding:2px 6px;min-height:0}.racers .bottom{bottom:2vh}.racers .bottom button{min-height:44px;font-size:15px}}@media(max-height:520px){.hero-logo .l1{font-size:9vh}.hero-logo .l2{font-size:15vh}.hero-logo .l1:before,.hero-logo .l2:before{-webkit-text-stroke:8px #1a0533;text-shadow:0 4px 0 #0b0118,0 0 16px rgba(255,47,160,.55)}.hero-logo .l3{font-size:4.2vh;letter-spacing:6px;margin-top:6px;padding:3px 14px}.title button.startbtn{font-size:7vh;min-width:0;padding:2px 24px;border-width:16px 48px;border-image-width:16px 48px}.hero-start{gap:6px;margin-bottom:3vh}.hero-start .hint{font-size:13px;letter-spacing:1px;padding:5px 14px;background:#08021ccc}}@media(max-height:520px){.panel{max-height:96vh;overflow-y:auto;border-width:18px;border-image-width:18px;padding:6px 12px;width:min(620px,80vw)}.panel h2{font-size:18px;padding:10px 30px 12px;margin-bottom:2px}.results table,.standings{margin:4px 0 6px;font-size:13px}.results td,.standings td{padding:3px 8px}.results .pb{font-size:12px;margin:2px 0}.panel p.small{margin:2px 0;font-size:12px}.panel .row button,.panel button{min-height:40px;font-size:14px}.panel button.big{min-height:44px}}
