:root{--ink:#170d33;--ink-2:#26195a;--bg1:#140e3c;--bg2:#2c1682;--violet:#6a3dff;--violet-2:#4523d8;--gold:#ffd23f;--orange:#ff8a00;--hot:#ff4d2e;--pink:#ff3d8b;--cyan:#2de2ff;--lime:#6dff5a;--white:#fff;--muted:#b9b3e6;--display:"Lilita One", "Arial Black", "Segoe UI Black", Impact, system-ui, sans-serif;--ui:"Nunito", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--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);--hud-scale:1;--gutter:clamp(12px, 2.4vmin, 28px)}html,body{height:100%;font-family:var(--ui);color:var(--white);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background:#07051a;margin:0;overflow:hidden}#app{position:fixed;inset:0}#app>canvas{width:100%;height:100%;display:block}#ui{pointer-events:none;position:absolute;inset:0;overflow:hidden}#ui>*{pointer-events:auto}#ui>.hud,#ui>.fps,#ui>.fader{pointer-events:none}*{box-sizing:border-box}img{-webkit-user-drag:none}.display{font-family:var(--display);letter-spacing:.01em;-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;text-shadow:0 .09em 0 var(--ink), 0 .16em .3em #00000073;font-weight:400}.outline{-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill}.fader{opacity:0;z-index:5;background:#07051a;transition:opacity .28s;position:absolute;inset:0}.fader.on{opacity:1}.fps{left:50%;bottom:calc(6px + var(--safe-b));font:800 12px/1 var(--ui);color:#d6ffcf;z-index:60;background:#0a081e99;border-radius:6px;padding:4px 7px;display:none;position:absolute;transform:translate(-50%)}.fps.full{white-space:pre;text-align:center;font-variant-numeric:tabular-nums;line-height:1.35}.fps.on{display:block}.menus{z-index:20;font-family:var(--ui);display:none;position:absolute;inset:0}.menus.on{display:block}.menus.dim:before{content:"";-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(120% 90% at 50% 40%,#140c3c8c,#08051ae0);position:absolute;inset:0}.menus.solid:before{content:"";background:radial-gradient(130% 100% at 30% 20%,#3a1e9e 0%,#1c0f55 45%,#0b0726 100%);position:absolute;inset:0}.menus .stripes{pointer-events:none;opacity:.9;background:repeating-linear-gradient(115deg,#ffffff09 0 38px,#0000 38px 110px);animation:9s linear infinite stripes;position:absolute;inset:-20%}@keyframes stripes{to{transform:translate(-220px)}}.menus .vignette{pointer-events:none;background:linear-gradient(90deg,#0a0622d9 0%,#0a062259 40%,#0a062200 62%);position:absolute;inset:0}.screen{padding:calc(var(--gutter) + var(--safe-t)) calc(var(--gutter) + var(--safe-r)) calc(var(--gutter) + var(--safe-b)) calc(var(--gutter) + var(--safe-l));flex-direction:column;animation:.38s cubic-bezier(.2,.9,.25,1.15) both screenIn;display:flex;position:absolute;inset:0}.screen.leaving{animation:.2s ease-in both screenOut}@media (max-height:500px) and (min-aspect-ratio:4/3){.screen{zoom:.72}}@media (max-height:420px) and (min-aspect-ratio:4/3){.screen{zoom:.56}}@keyframes screenIn{0%{opacity:0;transform:translate(34px)scale(.985)}}@keyframes screenOut{to{opacity:0;transform:translate(-28px)}}.hdr{flex:none;align-items:center;gap:14px;margin-bottom:clamp(10px,2.2vh,26px);display:flex}.hdr .title{font-family:var(--display);color:var(--ink);background:linear-gradient(#ffe066,#ffb000);border:3px solid #fff;border-radius:8px;padding:.18em .9em .24em .6em;font-size:clamp(26px,4.6vmin,50px);line-height:1;position:relative;transform:skew(-12deg);box-shadow:0 5px #b35c00,0 10px 26px #0006}.hdr .title>span{display:inline-block;transform:skew(12deg)}.hdr .sub{font:800 clamp(13px, 1.8vmin, 18px) var(--ui);color:var(--muted);text-transform:uppercase;letter-spacing:.14em}.crumbs{gap:6px;margin-left:auto;display:flex}.crumbs i{background:#ffffff2e;border-radius:4px;width:34px;height:7px;transform:skew(-20deg)}.crumbs i.on{background:var(--gold);box-shadow:0 0 10px #ffd23fcc}.hints{font:800 clamp(12px, 1.7vmin, 16px) var(--ui);color:#d9d4ff;text-shadow:0 2px #00000080;flex-wrap:wrap;align-items:center;gap:18px;margin-top:auto;padding-top:10px;display:flex}.hints .k{min-width:1.9em;height:1.9em;color:var(--ink);background:#fff;border-radius:.45em;justify-content:center;align-items:center;margin-right:.45em;padding:0 .45em;font-weight:900;display:inline-flex;box-shadow:0 3px #8d86c4}.hints .k.pad{color:#fff;background:#3dbb5a;border-radius:50%;box-shadow:0 3px #1d6d2f}.hints .k.pad.wide{border-radius:.6em;font-size:.8em}.hints .k.pad.b{background:#e8453c;box-shadow:0 3px #8a1f19}.hints .clickable{cursor:pointer}.hints .back-btn{pointer-events:auto;cursor:pointer;align-items:center;display:inline-flex}.btn{min-height:52px;font:900 clamp(16px, 2.3vmin, 24px) var(--ui);text-transform:uppercase;letter-spacing:.05em;color:#fff;cursor:pointer;text-shadow:0 2px #00000059;background:linear-gradient(#7a57ff 0%,#4d2ce0 100%);border:3px solid #ffffffeb;border-radius:14px;outline:none;justify-content:center;align-items:center;gap:.5em;padding:.55em 1.5em;transition:transform .14s cubic-bezier(.3,1.6,.5,1),background .15s,box-shadow .15s,color .15s;display:inline-flex;position:relative;overflow:hidden;transform:skew(-9deg);box-shadow:0 6px #22117a,0 12px 24px #00000059}.btn>span{display:inline-block;transform:skew(9deg)}.btn:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:40%;position:absolute;top:-50%;bottom:-50%;left:-60%;transform:skew(-20deg)}.btn.focus,.btn:focus-visible{color:var(--ink);text-shadow:none;background:linear-gradient(#ffe066 0%,#ff9d00 100%);transform:skew(-9deg)scale(1.06);box-shadow:0 6px #a34a00,0 0 0 4px #ffffff59,0 0 30px #ffbe28bf}.btn.focus:after{opacity:1;animation:1.6s ease-in-out infinite shine}@keyframes shine{0%{left:-60%}60%,to{left:130%}}.btn:active,.btn.press{transform:skew(-9deg)scale(.97)translateY(3px);box-shadow:0 2px #a34a00}.btn.ghost{background:#140c3c8c;border-color:#ffffff80;box-shadow:0 4px #00000059}.btn.ghost.focus,.btn.ghost:focus-visible{background:linear-gradient(#ffe066 0%,#ff9d00 100%);border-color:#fff;box-shadow:0 6px #a34a00,0 0 0 4px #ffffff59,0 0 30px #ffbe28bf}.btn.small{min-height:42px;padding:.45em 1.1em;font-size:clamp(14px,1.9vmin,18px)}.btn[disabled],.btn.disabled{filter:grayscale(.8)brightness(.7);cursor:default}.title-screen{text-align:center;justify-content:center;align-items:center}.title-screen .logo-wrap{filter:drop-shadow(0 18px 30px #00000080);width:min(92vw,980px);animation:1s cubic-bezier(.2,1.4,.4,1) both logoIn}.title-screen .logo-wrap svg{width:100%;height:auto;display:block;overflow:visible}@keyframes logoIn{0%{opacity:0;transform:scale(.4)rotate(-6deg)}}.logo-bob{transform-origin:50%;animation:3.2s ease-in-out infinite logoBob}@keyframes logoBob{50%{transform:translateY(-8px)rotate(-.6deg)}}.press-start{font-family:var(--display);color:var(--gold);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink), 0 0 24px #00000073;cursor:pointer;margin-top:clamp(20px,6vh,64px);font-size:clamp(26px,4.6vmin,46px);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.8;filter:brightness(.85);transform:scale(.95)}}.title-footer{bottom:calc(14px + var(--safe-b));text-align:center;font:700 12px var(--ui);color:#ffffff8c;letter-spacing:.12em;position:absolute;left:0;right:0}.title-screen .title-scrim{pointer-events:none;background:radial-gradient(80% 60% at 50% 45%,#0a06221a,#0a0622b3);position:absolute;inset:0}.mode-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:clamp(12px,2.4vmin,28px);width:100%;max-width:1200px;margin:0 auto;display:grid}.mode-card{cursor:pointer;filter:saturate(.85)brightness(.9);border:4px solid #ffffffd9;border-radius:22px;flex-direction:column;justify-content:flex-end;min-height:clamp(220px,44vh,400px);padding:22px 20px;transition:transform .18s cubic-bezier(.3,1.6,.5,1),box-shadow .18s,filter .18s;display:flex;position:relative;overflow:hidden;transform:skew(-5deg);box-shadow:0 8px #00000059,0 18px 40px #00000059}.mode-card>*{transform:skew(5deg)}.mode-card .art{justify-content:center;align-items:center;padding:12% 0 38%;display:flex;position:absolute;inset:0}.mode-card .art svg{filter:drop-shadow(0 10px #0003);width:46%;height:auto;max-height:100%;transition:transform .3s}.mode-card h2{font-family:var(--display);-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);margin:0;font-size:clamp(26px,4.2vmin,46px);font-weight:400;line-height:1;position:relative}.mode-card p{font:700 clamp(13px, 1.8vmin, 17px) var(--ui);color:#ffffffeb;text-shadow:0 2px #0006;margin:8px 0 0;position:relative}.mode-card.focus{filter:none;box-shadow:0 10px 0 #00000059, 0 0 0 5px var(--gold), 0 0 50px #ffd23f8c;transform:skew(-5deg)translateY(-10px)scale(1.04)}.mode-card.focus .art svg{animation:1.4s ease-in-out infinite wobble;transform:scale(1.1)rotate(-4deg)}@keyframes wobble{50%{transform:scale(1.12)rotate(3deg)}}.mode-card.gp{background:linear-gradient(160deg,#ff9a2e 0%,#ff4d2e 55%,#b3123e 100%)}.mode-card.vs{background:linear-gradient(160deg,#46e8ff 0%,#3a7bff 55%,#3a1fc9 100%)}.mode-card.tt{background:linear-gradient(160deg,#b4ff5a 0%,#22c97a 55%,#0d6b6a 100%)}.mode-card:before{content:"";background:radial-gradient(70% 55% at 50% 32%,#ffffff59,#0000 70%),repeating-linear-gradient(135deg,#ffffff12 0 10px,#0000 10px 22px);position:absolute;inset:0;transform:none}.mode-card .tag{z-index:2;font:900 13px var(--ui);letter-spacing:.15em;background:#0000004d;border-radius:999px;padding:5px 10px;position:absolute;top:16px;left:18px}.row-buttons{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:clamp(14px,3vh,34px);display:flex}.class-grid{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;gap:clamp(10px,2vmin,24px);width:100%;max-width:1150px;margin:0 auto;display:grid}.class-card{text-align:center;cursor:pointer;background:linear-gradient(#3c28aad9,#190e50eb);border:4px solid #fffc;border-radius:20px;padding:18px 14px 20px;transition:transform .18s cubic-bezier(.3,1.6,.5,1),box-shadow .18s;position:relative;box-shadow:0 7px #00000059}.class-card .cc{font-family:var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);font-size:clamp(40px,7vmin,76px);line-height:1}.class-card .cc small{font-size:.45em}.class-card .gauge{width:70%;margin:8px auto 6px}.class-card .lvl{font:900 14px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.class-card .desc{font:700 13px/1.35 var(--ui);color:#e8e4ff;min-height:2.7em;margin-top:8px}.class-card.focus{box-shadow:0 9px 0 #00000059, 0 0 0 5px var(--gold), 0 0 40px #ffd23f80;transform:translateY(-10px)scale(1.05)}.class-card.c50 .cc{color:#7dff9a}.class-card.c100 .cc{color:#5ce1ff}.class-card.c150 .cc{color:#ffd23f}.class-card.c200 .cc{color:#ff5a4e}.class-card.locked{opacity:.4;filter:grayscale()}.select-layout{flex:1;grid-template-columns:minmax(300px,560px) 1fr;gap:clamp(12px,3vmin,40px);min-height:0;display:grid}.panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#281878d1,#120a3ae6);border:3px solid #ffffff38;border-radius:22px;min-height:0;padding:clamp(12px,2vmin,22px);box-shadow:0 16px 40px #0006,inset 0 1px #ffffff26}.char-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.4vmin,14px);display:grid}.char-card{aspect-ratio:1/1.12;cursor:pointer;background:var(--cbg,#444);border:3px solid #ffffffb3;border-radius:16px;transition:transform .16s cubic-bezier(.3,1.6,.5,1),box-shadow .16s;position:relative;overflow:hidden;box-shadow:0 5px #00000059}.char-card:before{content:"";background:radial-gradient(90% 70% at 50% 30%,#ffffff73,#0000 70%),repeating-linear-gradient(135deg,#ffffff14 0 8px,#0000 8px 16px);position:absolute;inset:0}.char-card img{object-fit:contain;width:100%;height:80%;transition:transform .25s;position:absolute;inset:4% 0 16%}.char-card .ph{font:400 clamp(26px, 5vmin, 54px) var(--display);color:#fff;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:12% 18% 26%}.char-card .nm{font:900 clamp(11px, 1.6vmin, 15px) var(--ui);text-transform:uppercase;letter-spacing:.06em;text-align:center;background:#0f082dbf;padding:4px 2px 5px;position:absolute;bottom:0;left:0;right:0}.char-card.focus{z-index:2;box-shadow:0 6px 0 #00000059, 0 0 0 4px var(--gold), 0 0 26px #ffd23fb3;transform:scale(1.09)translateY(-4px)}.char-card.focus img{transform:scale(1.08)translateY(-3%)}.char-card .sel{background:var(--gold);border:2px solid #fff;border-radius:50%;width:22px;height:22px;display:none;position:absolute;top:6px;right:6px}.char-card.chosen .sel{display:block}.info{margin-top:clamp(10px,2vmin,20px)}.info .nm{font-family:var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);font-size:clamp(32px,5.4vmin,60px);line-height:1}.info .meta{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 4px;display:flex}.pill{font:900 12px var(--ui);letter-spacing:.12em;text-transform:uppercase;background:#ffffff24;border:2px solid #ffffff40;border-radius:999px;padding:4px 10px}.pill.w-light{background:#3dd3ff33;border-color:#3dd3ff}.pill.w-medium{background:#ffd23f33;border-color:#ffd23f}.pill.w-heavy{background:#ff5a4e33;border-color:#ff5a4e}.info .tagline{font:700 italic clamp(13px, 1.9vmin, 18px) var(--ui);color:#e2dcff;margin:6px 0 10px}.stats{gap:7px;display:grid}.stat{font:900 13px var(--ui);text-transform:uppercase;letter-spacing:.08em;grid-template-columns:92px 1fr 34px;align-items:center;gap:10px;display:grid}.stat .bar{background:#0006;border-radius:8px;height:14px;position:relative;overflow:hidden;box-shadow:inset 0 2px 3px #00000080}.stat .bar i{background:linear-gradient(90deg, var(--c1,#ffb000), var(--c2,#ffe066));border-radius:8px;width:0;transition:width .45s cubic-bezier(.2,1.3,.4,1);position:absolute;top:0;bottom:0;left:0;box-shadow:inset 0 -3px #0000002e}.stat .bar i.delta{z-index:0;background:repeating-linear-gradient(135deg,#6dff5a 0 6px,#3ccf3a 6px 12px)}.stat .bar i.neg{z-index:2;opacity:.9;background:repeating-linear-gradient(135deg,#ff5a4e 0 6px,#c63a30 6px 12px)}.stat .bar i.main{z-index:1}.stat .bar:after{content:"";z-index:3;background:repeating-linear-gradient(90deg,#0000 0 calc(18.18% - 2px),#00000059 calc(18.18% - 2px) 18.18%);position:absolute;inset:0}.stat b{text-align:right;color:var(--gold);font-size:14px}.stage-hint{font:800 13px var(--ui);color:#ffffff8c;letter-spacing:.14em;text-transform:uppercase;cursor:grab;touch-action:none;justify-content:center;place-self:stretch stretch;align-items:flex-end;display:flex}.stage-hint:active{cursor:grabbing}.stage-hint span{background:#0a062273;border-radius:999px;padding:6px 14px}.body-list{gap:10px;display:grid}.body-card{cursor:pointer;background:#ffffff0f;border:3px solid #ffffff59;border-radius:16px;grid-template-columns:110px 1fr;align-items:center;gap:12px;padding:8px 12px;transition:transform .16s cubic-bezier(.3,1.6,.5,1),background .16s,border-color .16s;display:grid;position:relative}.body-card .thumb{justify-content:center;align-items:center;height:64px;display:flex}.body-card .thumb img{max-width:110px;max-height:72px}.body-card h3{font:400 clamp(20px, 3vmin, 28px) var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;margin:0}.body-card p{font:700 13px var(--ui);color:#d8d2ff;margin:2px 0 0}.body-card.focus{border-color:var(--gold);background:linear-gradient(90deg,#ffd23f47,#ffd23f0d);transform:translate(8px)scale(1.02);box-shadow:0 0 24px #ffd23f59}.cup-layout{flex:1;grid-template-rows:auto 1fr;gap:clamp(12px,2.4vmin,26px);width:100%;max-width:1200px;min-height:0;margin:0 auto;display:grid}.cup-row{flex-wrap:wrap;justify-content:center;gap:clamp(10px,2vmin,22px);display:flex}.cup-card{aspect-ratio:1;cursor:pointer;background:radial-gradient(80% 80% at 50% 30%,#6a4bff,#2a148a);border:4px solid #fffc;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;width:clamp(150px,20vmin,210px);transition:transform .18s cubic-bezier(.3,1.6,.5,1),box-shadow .18s;display:flex;position:relative;box-shadow:0 7px #00000059}.cup-card .icon{filter:drop-shadow(0 5px #0000004d);font-size:clamp(48px,9vmin,90px);line-height:1}.cup-card .icon svg{width:clamp(60px,11vmin,110px);height:auto}.cup-card .nm{font:400 clamp(18px, 2.8vmin, 26px) var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;margin-top:6px}.cup-card .trophy{width:44px;height:44px;position:absolute;top:-12px;right:-12px}.cup-card.focus{box-shadow:0 9px 0 #00000059, 0 0 0 5px var(--gold), 0 0 40px #ffd23f8c;transform:translateY(-8px)scale(1.07)}.track-strip{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:clamp(8px,1.6vmin,18px);display:grid}.track-card{background:linear-gradient(170deg, var(--t1,#35a852), var(--t2,#1d5e3a));cursor:pointer;border:3px solid #ffffff8c;border-radius:18px;transition:transform .16s cubic-bezier(.3,1.6,.5,1),box-shadow .16s;position:relative;overflow:hidden;box-shadow:0 6px #00000059}.track-card canvas{aspect-ratio:16/10;width:100%;display:block}.track-card .nm{font:400 clamp(15px, 2.2vmin, 21px) var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;background:#0a061e8c;padding:6px 10px 8px}.track-card .num{width:30px;height:30px;color:var(--ink);font:900 15px/30px var(--ui);text-align:center;background:#fff;border-radius:50%;position:absolute;top:8px;left:8px}.track-card .rec{font:900 12px var(--ui);color:var(--gold);background:#00000080;border-radius:999px;padding:3px 8px;position:absolute;top:8px;right:8px}.track-card.focus{box-shadow:0 8px 0 #00000059, 0 0 0 4px var(--gold), 0 0 30px #ffd23f8c;transform:translateY(-6px)scale(1.04)}.track-card.dim{opacity:.8}.theme-meadow{--t1:#62d26f;--t2:#1f7a4a}.theme-desert{--t1:#ffb454;--t2:#b9542a}.theme-snow{--t1:#a9e4ff;--t2:#3b78c2}.theme-space{--t1:#8a4dff;--t2:#1a0f5a}.track-detail{grid-template-columns:auto 1fr auto;align-self:start;align-items:center;gap:22px;display:grid}.track-detail .big-wrap{aspect-ratio:16/10;background:linear-gradient(170deg, var(--t1,#35a852), var(--t2,#1d5e3a));border:3px solid #fff9;border-radius:16px;width:clamp(160px,24vmin,260px);overflow:hidden}.track-detail .big-preview{width:100%;height:100%;display:block}.track-detail .detail-ctl{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}@media (max-width:900px) and (min-height:501px){.track-detail{grid-template-columns:1fr}.track-detail .big-wrap{display:none}}.cup-layout>div.track-strip,.cup-layout>.track-detail,.controls-help{align-self:start}.track-detail h3{font:400 clamp(26px, 4.4vmin, 44px) var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);margin:0}.track-detail p{font:700 clamp(13px, 1.9vmin, 18px) var(--ui);color:#ddd8ff;margin:4px 0 0}.stepper{cursor:pointer;background:#0000004d;border:3px solid #ffffff59;border-radius:14px;align-items:center;gap:10px;padding:6px 8px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.stepper .arrow{width:34px;height:34px;font:900 18px var(--ui);cursor:pointer;background:#ffffff26;border-radius:10px;justify-content:center;align-items:center;display:flex}.stepper .arrow:hover{background:#ffffff4d}.stepper .val{text-align:center;min-width:110px;font:900 18px var(--ui);text-transform:uppercase;letter-spacing:.06em}.stepper .lbl{font:800 12px var(--ui);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;padding-left:6px}.stepper.focus{border-color:var(--gold);box-shadow:0 0 22px #ffd23f73}.stepper.focus .arrow{background:var(--gold);color:var(--ink)}.opt-layout{flex:1;grid-template-columns:minmax(320px,620px) minmax(260px,460px);justify-content:center;gap:clamp(12px,3vmin,36px);min-height:0;display:grid}.opt-list{align-content:start;gap:8px;display:grid}.opt-section{font:900 12px var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:10px 4px 2px}.opt{cursor:pointer;font:900 clamp(14px, 2vmin, 18px) var(--ui);text-transform:uppercase;letter-spacing:.05em;background:#ffffff0f;border:3px solid #0000;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:9px 14px;transition:background .15s,border-color .15s,transform .15s;display:grid}.opt.focus{border-color:var(--gold);background:linear-gradient(90deg,#ffd23f40,#ffd23f0a);transform:translate(6px)}.slider{background:#00000073;border-radius:10px;width:clamp(150px,22vmin,240px);height:18px;position:relative;box-shadow:inset 0 2px 4px #00000080}.slider i{background:linear-gradient(90deg, var(--cyan), #8a6bff);border-radius:10px;position:absolute;top:0;bottom:0;left:0}.slider b{border:3px solid var(--ink);background:#fff;border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;position:absolute;top:50%;box-shadow:0 3px #00000059}.slider-wrap{align-items:center;gap:12px;display:flex}.slider-wrap span{text-align:right;min-width:42px;color:var(--gold)}.toggle{background:#00000073;border:3px solid #fff6;border-radius:18px;width:64px;height:32px;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s cubic-bezier(.3,1.6,.5,1);position:absolute;top:2px;left:3px}.toggle.on{background:linear-gradient(90deg,#22c97a,#6dff5a);border-color:#fff}.toggle.on:after{transform:translate(30px)}.choice{align-items:center;gap:10px;display:flex}.choice .arrow{opacity:.7}.choice .val{text-align:center;min-width:96px;color:var(--gold)}.controls-help{align-content:start;gap:6px;max-height:100%;display:grid;overflow:auto}.controls-help h4{font:400 24px var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;margin:0 0 4px}.ctl{font:800 14px var(--ui);background:#ffffff0d;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.ctl .keys{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.ctl-tabs{align-items:center;gap:6px;margin-bottom:4px;display:flex}.ctl-tabs .tab{text-align:center;font:900 13px var(--ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;pointer-events:auto;background:#ffffff14;border:2px solid #ffffff2e;border-radius:999px;flex:1;padding:6px 8px;transition:background .15s,color .15s}.ctl-tabs .tab.on{color:var(--ink);background:#fff;border-color:#fff}.ctl-tabs .tk{font:900 11px var(--ui);color:#fff;background:#ffffff2e;border-radius:6px;padding:3px 6px}.ctl-list{gap:6px;display:grid}.ctl kbd.pad{color:#fff;background:#3dbb5a;box-shadow:0 2px #1d6d2f}.ctl kbd.touch{color:#fff;background:#2aa7f0;box-shadow:0 2px #0c68b8}.ctl kbd{font:900 12px var(--ui);color:var(--ink);background:#fff;border-radius:6px;padding:4px 7px;box-shadow:0 2px #8d86c4}.pause-screen{justify-content:center;align-items:center}.pause-box{flex-direction:column;align-items:stretch;gap:14px;min-width:min(420px,90vw);padding:26px 30px 30px;animation:.35s cubic-bezier(.2,1.5,.4,1) both popIn;display:flex}.pause-box .big{font:400 clamp(46px, 9vmin, 88px) var(--display);text-align:center;color:var(--gold);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink);margin-bottom:6px;line-height:1}.pause-box .ctx{text-align:center;font:800 14px var(--ui);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:-6px;margin-bottom:6px}@keyframes popIn{0%{opacity:0;transform:scale(.7)}}.results-layout{flex:1;grid-template-columns:minmax(0,760px);place-content:center;gap:16px;min-height:0;display:grid}.table{gap:6px;display:grid}.trow{background:linear-gradient(90deg,#281878eb,#180e46e0);border:2px solid #ffffff29;border-radius:14px;grid-template-columns:62px 48px 1fr auto auto;align-items:center;gap:12px;height:clamp(42px,6.4vh,56px);padding:0 16px 0 8px;transition:transform .5s cubic-bezier(.25,1.2,.4,1);animation:.45s cubic-bezier(.2,1.3,.4,1) both rowIn;display:grid;position:relative;transform:skew(-8deg);box-shadow:0 4px #0000004d}.trow>*{transform:skew(8deg)}@keyframes rowIn{0%{opacity:0;transform:skew(-8deg)translate(120px)}}.trow.me{color:var(--ink);background:linear-gradient(90deg,#ffcf2e,#ff9800);border-color:#fff;box-shadow:0 4px #a34a00,0 0 26px #ffc82880}.trow .place{font:400 clamp(24px, 3.8vmin, 36px) var(--display);text-align:center;-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill}.trow .place.p1{color:#ffd23f}.trow .place.p2{color:#e3e9f7}.trow .place.p3{color:#f0a060}.trow.me .place{color:#fff}.trow .face{background:var(--cbg,#555);width:44px;height:44px;font:400 22px var(--display);border:2px solid #fff;border-radius:12px;justify-content:center;align-items:center;display:flex;overflow:hidden}.trow .face img{object-fit:cover;width:120%;height:120%}.trow .nm{font:900 clamp(15px, 2.2vmin, 21px) var(--ui);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trow .nm small{opacity:.7;letter-spacing:.1em;margin-left:8px;font-size:.65em}.trow .time{font:800 clamp(14px, 2vmin, 19px) var(--ui);font-variant-numeric:tabular-nums;opacity:.95}.trow .time.est{opacity:.55;font-style:italic}.trow .pts{text-align:right;min-width:70px;font:400 clamp(20px, 3vmin, 28px) var(--display);color:var(--gold);-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill}.trow.me .pts{color:#fff}.trow .gain{vertical-align:middle;-webkit-text-stroke:0;font:900 14px var(--ui);color:var(--ink);background:var(--lime);border:2px solid #fff;border-radius:999px;margin-right:10px;padding:2px 8px;animation:.5s cubic-bezier(.2,1.8,.4,1) both gainPop;display:inline-block}@keyframes gainPop{0%{transform:skew(8deg)scale(0)}}.results-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.results-head .big{font:400 clamp(34px, 6vmin, 64px) var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);line-height:1}.results-head .small{font:800 14px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tt-card{grid-template-columns:1fr 1fr;gap:14px;display:grid}.tt-card .big-time{text-align:center;font:400 clamp(48px, 10vmin, 104px) var(--display);font-variant-numeric:tabular-nums;-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink);grid-column:1/-1;line-height:1}.tt-card .laps{gap:6px;display:grid}.tt-card .lap{font:800 16px var(--ui);font-variant-numeric:tabular-nums;background:#ffffff14;border-radius:10px;justify-content:space-between;padding:8px 12px;display:flex}.tt-card .lap.best{color:var(--lime);background:#6dff5a33}.new-record{font:400 clamp(26px, 4.6vmin, 44px) var(--display);color:var(--gold);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;grid-column:1/-1;justify-self:center;animation:.9s ease-in-out infinite recordPulse}@keyframes recordPulse{50%{color:#fff;transform:scale(1.1)rotate(-2deg)}}.podium-screen{pointer-events:none}.podium-screen .pbanner{text-align:center;align-self:center;animation:.6s cubic-bezier(.2,1.5,.4,1) .3s both popIn}.podium-screen .pbottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:auto;display:flex}.podium-screen .pbottom .row-buttons{margin:0}.podium-screen .pbanner .cup{font:800 16px var(--ui);letter-spacing:.3em;text-transform:uppercase;color:#fff;text-shadow:0 2px #00000080}.podium-screen .pbanner .big{font:400 clamp(40px, 8vmin, 92px) var(--display);color:var(--gold);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 7px 0 var(--ink), 0 14px 30px #0006;line-height:1}.podium-screen .award{pointer-events:auto;background:#140c3cbf;border:3px solid #ffffff80;border-radius:20px;align-items:center;gap:16px;padding:12px 24px 12px 14px;animation:.5s cubic-bezier(.2,1.5,.4,1) 3.4s both popIn;display:flex}.podium-screen .award svg{width:64px;height:64px}.podium-screen .award .t1{font:400 clamp(22px, 3.6vmin, 34px) var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill}.podium-screen .award .t2{font:800 14px var(--ui);color:var(--muted);letter-spacing:.08em}.podium-screen .row-buttons{pointer-events:auto;animation:.4s 4s both popIn}.loading-screen{text-align:center;justify-content:center;align-items:center;gap:10px}.loading-screen .cupname{font:900 15px var(--ui);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.loading-screen .trackname{font:400 clamp(40px, 8vmin, 90px) var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 7px 0 var(--ink);line-height:1;animation:.5s cubic-bezier(.2,1.5,.4,1) both popIn}.loading-screen .preview{aspect-ratio:16/10;width:min(48vmin,440px);margin:10px 0}.loading-screen .preview canvas{width:100%;height:100%}.loading-screen .desc{font:700 clamp(14px, 2vmin, 19px) var(--ui);color:#ddd8ff}.loadbar{background:#00000073;border:2px solid #fff6;border-radius:8px;width:min(420px,70vw);height:14px;margin-top:16px;overflow:hidden}.loadbar i{background:repeating-linear-gradient(135deg, var(--gold) 0 12px, var(--orange) 12px 24px);border-radius:8px;width:40%;height:100%;animation:1.1s ease-in-out infinite loadSlide;display:block}@keyframes loadSlide{0%{transform:translate(-100%)}to{transform:translate(260%)}}.tip{max-width:640px;font:700 clamp(14px, 2vmin, 18px) var(--ui);color:#fff;background:#ffffff14;border:2px dashed #ffffff40;border-radius:14px;margin-top:18px;padding:12px 18px}.tip b{color:var(--cyan);letter-spacing:.1em;margin-right:8px}.credits-roll{flex:1;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.credits-roll .inner{text-align:center;animation:26s linear infinite roll;position:absolute;left:0;right:0}@keyframes roll{0%{transform:translateY(70vh)}to{transform:translateY(-100%)}}.credits-roll h3{font:900 14px var(--ui);letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin:34px 0 6px}.credits-roll p{font:400 clamp(22px, 3.6vmin, 34px) var(--display);-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;margin:4px 0}@media (max-width:900px) and (min-height:501px),(max-aspect-ratio:1){.select-layout{grid-template-rows:auto 1fr;grid-template-columns:1fr}.select-layout .panel{order:2}.select-layout .stage-hint{display:none}.mode-grid{grid-template-columns:1fr;gap:12px}.mode-card{min-height:120px}.mode-card .tag{display:none}.mode-card .art{justify-content:flex-end;padding:0 16px 0 0}.mode-card .art svg{width:90px}.mode-card h2,.mode-card p{padding-right:96px}.class-grid,.track-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.opt-layout{grid-template-columns:1fr;overflow:auto}.menus .vignette{background:linear-gradient(#0a062233 40%,#0a0622d9 100%)}}@media (max-height:560px){.mode-card{min-height:150px}.hdr{margin-bottom:8px}.trow{height:36px}}.hud{z-index:10;font-family:var(--ui);--s:var(--hud-scale);display:none;position:absolute;inset:0}.hud.on{display:block}.hud .tl,.hud .tr,.hud .bl,.hud .br{position:absolute}.hud .tl{left:calc(var(--gutter) + var(--safe-l));top:calc(var(--gutter) + var(--safe-t));transform-origin:0 0;transform:scale(var(--s));align-items:flex-start;gap:14px;display:flex}.hud .tr{right:calc(var(--gutter) + var(--safe-r));top:calc(var(--gutter) + var(--safe-t));text-align:right;transform-origin:100% 0;transform:scale(var(--s))}.hud .bl{left:calc(var(--gutter) + var(--safe-l));bottom:calc(var(--gutter) + var(--safe-b));transform-origin:0 100%;transform:scale(var(--s))}.hud .br{right:calc(var(--gutter) + var(--safe-r));bottom:calc(var(--gutter) + var(--safe-b));transform-origin:100% 100%;transform:scale(var(--s));align-items:flex-end;gap:10px;display:flex}.item-slot{width:clamp(84px,12vmin,120px);height:clamp(84px,12vmin,120px);box-shadow:0 0 0 4px var(--ink), 0 8px 0 4px #00000059, inset 0 -8px 0 #0003;background:radial-gradient(circle at 50% 35%,#ffffff47,#1e1450bf 70%);border:5px solid #fff;border-radius:26%;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.item-slot.small{opacity:.9;border-width:4px;width:clamp(52px,7vmin,72px);height:clamp(52px,7vmin,72px);margin-top:6px}.item-slot .icon{filter:drop-shadow(0 3px #00000059);justify-content:center;align-items:center;font-size:clamp(48px,7.2vmin,74px);line-height:1;display:flex;position:absolute;inset:11%}.item-slot.small .icon{font-size:clamp(28px,4vmin,42px)}.item-slot .icon img,.item-slot .icon svg{object-fit:contain;width:100%;height:100%}.item-slot.rolling .icon{filter:blur(.6px)drop-shadow(0 3px #00000059);animation:90ms linear infinite alternate itemRoll}.item-slot .icon.got{animation:.45s cubic-bezier(.2,1.8,.4,1) itemGot}@keyframes itemGot{0%{transform:scale(1.7)}}.item-slot.rolling{border-color:var(--gold)}.item-slot .icount{font:400 26px var(--display);-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill;color:#fff;position:absolute;bottom:2px;right:4px}.item-slot .empty{border:4px dashed #ffffff47;border-radius:50%;width:36%;height:36%;position:absolute;top:32%;left:32%}.item-slot.flash{animation:.35s ease-out slotFlash}@keyframes slotFlash{0%{box-shadow:0 0 0 4px var(--ink), 0 0 40px 18px #ffe678e6}}.coins{font:400 clamp(26px, 4.4vmin, 42px) var(--display);-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);align-items:center;gap:8px;display:flex}.coin-ico{border:.09em solid var(--ink);background:radial-gradient(circle at 35% 30%,#fff6b0 0 18%,#ffd23f 30%,#ff9f0a 75%);border-radius:50%;width:.95em;height:.95em;position:relative;box-shadow:inset -.06em -.08em #a0500099}.coin-ico:after{content:"";background:#ffffff8c;border-radius:4px;width:22%;height:56%;position:absolute;top:22%;left:38%}.coins.bump .coin-ico{animation:.4s ease-out coinSpin}@keyframes coinSpin{50%{transform:scaleX(.1)translateY(-6px)}}.coins.max{color:var(--gold)}.lap{font-family:var(--display);-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);align-items:baseline;gap:8px;margin-top:4px;display:flex}.lap .lbl{color:var(--cyan);font-size:clamp(18px,2.8vmin,26px)}.lap .n{font-size:clamp(38px,6.4vmin,62px);line-height:1}.lap .of{opacity:.85;font-size:clamp(22px,3.4vmin,32px)}.lap.final .n{color:var(--hot)}.timer{font:400 clamp(26px, 4.6vmin, 44px) var(--display);font-variant-numeric:tabular-nums;-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);letter-spacing:.02em}.timer .ms{font-size:.7em}.best-line{font:900 clamp(12px, 1.8vmin, 16px) var(--ui);letter-spacing:.1em;color:#fff;text-shadow:0 2px #0009;margin-top:2px}.best-line b{color:var(--gold);font-variant-numeric:tabular-nums}.splits{flex-direction:column;align-items:flex-end;gap:4px;margin-top:6px;display:flex}.split{font:900 clamp(13px, 2vmin, 18px) var(--ui);font-variant-numeric:tabular-nums;background:#140c3cbf;border:2px solid #ffffff59;border-radius:10px;padding:4px 12px;animation:.4s cubic-bezier(.2,1.5,.4,1) both splitIn}.split .d{margin-left:8px}.split .d.good{color:var(--lime)}.split .d.bad{color:#ff7a6b}.split.best{border-color:var(--lime)}.split.out{animation:.4s ease-in both splitOut}@keyframes splitIn{0%{opacity:0;transform:translate(60px)}}@keyframes splitOut{to{opacity:0;transform:translate(60px)}}.place{font-family:var(--display);--pc1:#fff;--pc2:#cfd6ff;filter:drop-shadow(0 6px 0 var(--ink)) drop-shadow(0 10px 18px #00000059);align-items:flex-start;padding-right:.06em;line-height:.8;display:flex;position:relative}.place .num{background:linear-gradient(180deg, var(--pc1) 25%, var(--pc2) 75%);color:#0000;-webkit-text-stroke:.06em var(--ink);paint-order:stroke fill;-webkit-background-clip:text;background-clip:text;font-size:clamp(90px,17vmin,170px)}.place .suf{background:linear-gradient(180deg, var(--pc1) 25%, var(--pc2) 75%);color:#0000;-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;-webkit-background-clip:text;background-clip:text;margin-top:.15em;font-size:clamp(34px,6vmin,60px)}.place.p1{--pc1:#fff39a;--pc2:#ffb000}.place.p2{--pc1:#fff;--pc2:#a9b8d6}.place.p3{--pc1:#ffd2a6;--pc2:#d0712a}.place.p4{--pc1:#bff3ff;--pc2:#2d9bff}.place.p5,.place.p6{--pc1:#d8c9ff;--pc2:#8a5cff}.place.p7,.place.p8{--pc1:#ffc0c8;--pc2:#ff4d6a}.place.pop{animation:.45s cubic-bezier(.2,1.8,.4,1) placePop}.place.popdown{animation:.45s ease-out placeDown}@keyframes placePop{0%{transform:scale(1.5)rotate(-8deg)}}@keyframes placeDown{0%{transform:translateY(-14px)scale(.85)}40%{transform:translateY(6px)}}.minimap{width:clamp(130px,21vmin,220px);height:clamp(130px,21vmin,220px);margin-bottom:10px;position:relative}.minimap canvas{width:100%;height:100%;display:block}.minimap.off{display:none}.ranks{left:calc(var(--gutter) + var(--safe-l));transform:translateY(-46%) scale(var(--s));transform-origin:0;width:90px;height:304px;transition:opacity .45s;position:absolute;top:50%}.rank-nums,.rank-faces{position:absolute;inset:0}.rank-faces{left:28px}.rank-n{text-align:right;width:22px;height:34px;line-height:34px;font:400 19px var(--display);-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill;transition:color .2s,font-size .2s;position:absolute;top:0;left:0}.rank-n.me{color:var(--gold);font-size:23px}.rank{will-change:transform;align-items:center;gap:6px;height:34px;transition:transform .32s cubic-bezier(.3,.9,.35,1);display:flex;position:absolute;top:0;left:0}.rank.me{z-index:2}.rank.up .face{animation:.4s ease-out rankUp}@keyframes rankUp{30%{box-shadow:0 0 0 3px #6dff5a,0 0 14px #6dff5acc}}.rank .face{background:var(--cbg,#555);width:32px;height:32px;font:400 16px var(--display);border:2px solid #ffffffd9;border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 2px #0006}.rank .face img{object-fit:cover;width:125%;height:125%}.rank.me .face{border:3px solid var(--gold);width:40px;height:40px;box-shadow:0 0 0 2px var(--ink), 0 0 16px #ffd23fcc;margin-left:-4px}.rank .flag{background:conic-gradient(#fff 0 25%, #111 0 50%, #fff 0 75%, #111 0) 0 0 / 8px 6px;border:1px solid #fff;border-radius:2px;width:16px;height:12px;display:none}.rank.done .flag{display:block}.hud .widget{transition:opacity .45s,translate .45s}.hud.intro .widget,.hud.intro .ranks{opacity:0}.item-slot .icount{min-width:1.7em;height:1.7em;box-shadow:0 0 0 3px var(--ink);z-index:3;background:linear-gradient(#ff5a3c,#c3123e);border:3px solid #fff;border-radius:999px;justify-content:center;align-items:center;padding:0 .25em;font-size:22px;line-height:1;display:none;bottom:-6px;right:-6px}.item-slot .icount.on{display:flex}.item-slot .icount.bump{animation:.4s cubic-bezier(.2,1.8,.4,1) placePop}.item-slot{overflow:visible}.item-slot .icon{border-radius:20%;overflow:hidden}.item-slot.rolling .icon.tick{animation:.12s ease-out itemTick}@keyframes itemTick{0%{opacity:.4;transform:translateY(-22%)scale(.9)}}.gold-ring{pointer-events:none;opacity:0;transition:opacity .2s;position:absolute;inset:-14px}.gold-ring.on{opacity:1}.gold-ring.pop{animation:.45s cubic-bezier(.2,1.8,.4,1) ringPop}@keyframes ringPop{0%{transform:scale(1.4)}}.gold-ring svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.gold-ring circle{fill:none;stroke-width:7px}.gold-ring .bg{stroke:#170d33d9;stroke-width:11px}.gold-ring .fg{stroke:#ffd23f;stroke-dasharray:100;stroke-linecap:round;filter:drop-shadow(0 0 6px #ffc828e6);transition:stroke-dashoffset .1s linear}.threat{left:50%;bottom:calc(var(--gutter) + var(--safe-b) + 44px);transform:translateX(-50%) scale(var(--s));transform-origin:50% 100%;box-shadow:0 0 0 3px var(--ink), 0 6px 18px #0006;font:400 clamp(16px, 2.6vmin, 24px) var(--display);-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;pointer-events:none;background:#780a14d1;border:3px solid #ff5a5a;border-radius:999px;align-items:center;gap:10px;padding:6px 16px 6px 8px;display:none;position:absolute}.threat.on{animation:.6s ease-in-out infinite threatPulse;display:flex}.threat.close{animation-duration:.3s}.threat.spiny{background:#141e6ed9;border-color:#5ab0ff}.threat .arrow{background:#fff;border-radius:50%;width:30px;height:30px;transition:transform .12s linear;position:relative}.threat .arrow:after{content:"";border:8px solid #0000;border-top:0;border-bottom:14px solid #d11a2a;margin-left:-8px;position:absolute;top:3px;left:50%}.threat.spiny .arrow:after{border-bottom-color:#2766ee}@keyframes threatPulse{50%{filter:brightness(1.35)}}.hud.touch .tr{right:calc(var(--gutter) + var(--safe-r) + 64px)}.hud.touch .bl{left:calc(var(--gutter) + var(--safe-l) + clamp(84px, 12vmin, 120px) * var(--s) + 14px);top:calc(var(--gutter) + var(--safe-t));transform-origin:0 0;flex-direction:column;align-items:flex-start;display:flex;bottom:auto}.hud.touch .bl .lap{margin-top:0}.hud.touch .br{bottom:auto;top:calc(var(--gutter) + var(--safe-t) + clamp(40px, 7vmin, 64px) * var(--s));transform-origin:100% 0;flex-direction:column-reverse;align-items:flex-end;gap:4px}.hud.touch .minimap{width:clamp(96px,18vmin,170px);height:clamp(96px,18vmin,170px);margin:0}.hud.touch .place .num{font-size:clamp(64px,12vmin,120px)}.hud.touch .place .suf{font-size:clamp(26px,4.5vmin,46px)}.hud.touch .ranks{display:none}.hud.touch .pause-btn{left:auto;right:calc(var(--gutter) + var(--safe-r));z-index:5;width:48px;height:48px;display:flex;transform:none}.hud.touch .drift-meter,.hud.touch .threat{bottom:calc(var(--safe-b) + 12px)}.hud.touch .intro-card{text-align:center;align-items:center;inset:30% 0 auto}@media (max-height:460px){.hud.touch .minimap{display:none}}.hud.touch .br{top:calc(var(--safe-t) + max(72px, var(--gutter) + 9vmin * var(--s)))}.hud.touch .ctl-hint{display:none}@media (max-width:560px){.hud .lights{top:calc(var(--safe-t) + 20vh)}.hud.touch .tr{right:calc(var(--gutter) + var(--safe-r));top:calc(var(--safe-t) + 72px)}.hud.touch .br{top:calc(var(--safe-t) + 72px + 44px)}}.center{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.count{font:400 clamp(120px, 30vmin, 300px) var(--display);-webkit-text-stroke:.07em var(--ink);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink), 0 .1em .2em #00000080;line-height:1;animation:.95s cubic-bezier(.2,1.6,.4,1) both countIn}.count.c3{color:#ff5a4e}.count.c2{color:#ffb000}.count.c1{color:#ffe34a}.count.go{background:linear-gradient(#d4ff5a,#22c97a);color:#0000;filter:drop-shadow(0 .06em 0 var(--ink));text-shadow:none;-webkit-background-clip:text;background-clip:text;font-size:clamp(130px,34vmin,340px);animation:1.1s cubic-bezier(.2,1.6,.4,1) both goIn}@keyframes countIn{0%{opacity:0;transform:scale(2.6)rotate(-12deg)}22%{opacity:1;transform:scale(.92)rotate(2deg)}34%{transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.6)}}@keyframes goIn{0%{opacity:0;transform:scale(.2)}18%{opacity:1;transform:scale(1.15)}30%{transform:scale(1)}75%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(2.4)}}.banner{pointer-events:none;justify-content:center;display:flex;position:absolute;top:32%;left:0;right:0}.banner .strip{font:400 clamp(46px, 10vmin, 110px) var(--display);-webkit-text-stroke:.09em var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink);background:linear-gradient(#ff4d6a,#c3123e);border-top:6px solid #fff;border-bottom:6px solid #fff;padding:10px 70px 14px;line-height:1;animation:2.6s cubic-bezier(.2,.9,.3,1) both bannerSweep;transform:skew(-12deg);box-shadow:0 10px 30px #0006}.banner .strip span{display:inline-block;transform:skew(12deg)}.banner.final .strip{background:repeating-linear-gradient(135deg,#ff4d6a 0 26px,#d11a47 26px 52px)}.banner.finish .strip{background:conic-gradient(#fff 0 25%, #16122e 0 50%, #fff 0 75%, #16122e 0) 0 0 / 44px 44px;color:var(--gold);animation:3.4s cubic-bezier(.2,1.3,.4,1) both finishIn}.banner.finish .strip span{background:#16122ed9;border-radius:12px;padding:0 24px}.banner.info .strip{background:linear-gradient(#3a7bff,#3a1fc9);font-size:clamp(30px,6vmin,64px)}.banner.good .strip{background:linear-gradient(#6dff5a,#1d9e57);font-size:clamp(30px,6vmin,64px)}@keyframes bannerSweep{0%{transform:skew(-12deg)translate(110vw)}16%{transform:skew(-12deg)translate(-2vw)}22%,80%{transform:skew(-12deg)translate(0)}to{transform:skew(-12deg)translate(-120vw)}}@keyframes finishIn{0%{opacity:0;transform:skew(-12deg)scale(.2)}14%{opacity:1;transform:skew(-12deg)scale(1.12)}22%,86%{opacity:1;transform:skew(-12deg)scale(1)}to{opacity:0;transform:skew(-12deg)scale(1.05)}}.popup{text-align:center;font:400 clamp(26px, 5vmin, 48px) var(--display);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);pointer-events:none;animation:1.4s cubic-bezier(.2,1.6,.4,1) both popupIn;position:absolute;top:21%;left:0;right:0}.popup.good{color:var(--lime)}.popup.bad{color:#ff7a6b}.popup.gold{color:var(--gold)}@keyframes popupIn{0%{opacity:0;transform:scale(.3)}15%{opacity:1;transform:scale(1.15)}25%,75%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-40px)}}.wrongway{box-shadow:0 0 0 4px var(--ink), 0 10px 30px #00000080;font:400 clamp(32px, 6vmin, 60px) var(--display);-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;background:linear-gradient(#ff4d4d,#b50d1d);border:5px solid #fff;border-radius:20px;align-items:center;gap:18px;padding:12px 30px 14px 18px;animation:.8s step-end infinite blink;display:none;position:absolute;top:22%;left:50%;transform:translate(-50%)}.wrongway.on{display:flex}.wrongway svg{width:1.3em;height:1.3em;animation:1.2s ease-in-out infinite uturn}@keyframes blink{50%{filter:brightness(1.35)}}@keyframes uturn{50%{transform:scaleX(-1)}}.spiny{left:50%;top:calc(12px + var(--safe-t));font:400 clamp(20px, 3.4vmin, 32px) var(--display);-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;background:#141e6ed9;border:4px solid #5ab0ff;border-radius:999px;align-items:center;gap:10px;padding:8px 18px 8px 10px;animation:.5s ease-in-out infinite spinyPulse;display:none;position:absolute;transform:translate(-50%)}.spiny.on{display:flex}.spiny .ico{width:1.5em;height:1.5em}@keyframes spinyPulse{50%{border-color:#ff4d4d;transform:translate(-50%)scale(1.06)}}.intro-card{left:calc(var(--gutter) + var(--safe-l));bottom:calc(var(--gutter) + var(--safe-b) + 20px);flex-direction:column;gap:4px;animation:.7s cubic-bezier(.2,1.3,.4,1) .3s both introIn;display:none;position:absolute}.intro-card.on{display:flex}.intro-card .cup{font:900 14px var(--ui);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);text-shadow:0 2px #00000080}.intro-card .name{font:400 clamp(40px, 8vmin, 84px) var(--display);-webkit-text-stroke:.09em var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink);line-height:1}.intro-card .skip{font:800 14px var(--ui);color:#fff;opacity:.85;margin-top:8px;animation:1.4s ease-in-out infinite pulse}@keyframes introIn{0%{opacity:0;transform:translate(-60px)}}.drift-meter{left:50%;bottom:calc(var(--gutter) + var(--safe-b) + 8px);transform:translateX(-50%) scale(var(--s));transform-origin:50% 100%;opacity:0;gap:6px;transition:opacity .2s;display:flex;position:absolute}.drift-meter.on{opacity:1}.drift-meter i{background:#00000073;border:2px solid #fff9;border-radius:6px;width:34px;height:10px;transition:background .1s,box-shadow .1s;transform:skew(-20deg)}.drift-meter i.t1{background:#3aa8ff;box-shadow:0 0 12px #3aa8ff}.drift-meter i.t2{background:#ff9a1f;box-shadow:0 0 12px #ff9a1f}.drift-meter i.t3{background:#c65cff;box-shadow:0 0 14px #c65cff}.boost-edge{pointer-events:none;opacity:0;background:radial-gradient(120% 90% at 50% 55%,#0000 60%,#ffaa2859 100%);transition:opacity .25s;position:absolute;inset:0}.boost-edge.on{opacity:1}.boost-edge.star{background:radial-gradient(120% 90% at 50% 55%,#0000 55%,#ffffff40 90%);animation:.4s linear infinite starEdge}@keyframes starEdge{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}.hit-flash{pointer-events:none;opacity:0;background:radial-gradient(110% 80%,#0000 50%,#ff282873);position:absolute;inset:0}.hit-flash.on{animation:.6s ease-out hitFlash}@keyframes hitFlash{0%{opacity:1}to{opacity:0}}@media (max-width:700px){.ranks{display:none}}@media (max-height:640px){.ranks{transform:translateY(-46%) scale(calc(var(--s) * .72))}}@media (max-height:500px){.ranks{display:none}}@media (prefers-reduced-motion:reduce){.menus .stripes,.logo-bob{animation:none}}@keyframes itemRoll{0%{transform:translateY(-14%)scale(.92)}to{transform:translateY(14%)scale(1.02)}}.loading-screen{background:radial-gradient(55% 55% at 50% 42%, color-mix(in srgb, var(--t1,#6a3dff) 40%, transparent), transparent 72%)}.results-head .big.p1{color:var(--gold)}.results-head .big.p2{color:#e3e9f7}.results-head .big.p3{color:#f0a060}.pause-btn{top:calc(var(--gutter) + var(--safe-t));pointer-events:auto;cursor:pointer;background:#140c3c99;border:3px solid #ffffffd9;border-radius:50%;justify-content:center;align-items:center;gap:6px;width:52px;height:52px;display:none;position:absolute;left:50%;transform:translate(-50%)}.pause-btn i{background:#fff;border-radius:3px;width:6px;height:20px}@media (pointer:coarse){.pause-btn{display:flex}}.lap.bump .n{animation:.45s cubic-bezier(.2,1.8,.4,1) placePop;display:inline-block}.hud .tl,.hud .tr,.hud .bl,.hud .br{filter:drop-shadow(0 2px #00000026)}.lights{left:50%;top:calc(var(--gutter) + var(--safe-t));pointer-events:none;transition:transform .45s cubic-bezier(.2,1.4,.4,1);position:absolute;transform:translate(-50%,-140%)}.lights.on{transform:translate(-50%)}.lights-body{box-shadow:0 0 0 4px var(--ink), 0 10px 24px #00000073;background:linear-gradient(#2b2447,#15112a);border:4px solid #fff;border-radius:18px;gap:10px;padding:10px 14px;display:flex}.lights-body i{background:radial-gradient(circle at 35% 30%,#5b5570,#221d38 70%);border:3px solid #0c0a18;border-radius:50%;width:clamp(26px,4.4vmin,42px);height:clamp(26px,4.4vmin,42px);transition:background 80ms,box-shadow 80ms}.lights-body i.red{background:radial-gradient(circle at 35% 30%,#ffd0c8,#ff3b2f 45%,#a3100a 90%);box-shadow:0 0 18px 4px #ff3c28cc}.lights-body i.green{background:radial-gradient(circle at 35% 30%,#eaffd0,#3dff5a 45%,#0f8a2a 90%);box-shadow:0 0 22px 6px #50ff5ad9}.ctl-hint{left:50%;bottom:calc(var(--gutter) + var(--safe-b) + 70px);opacity:0;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:10px;max-width:92vw;transition:opacity .4s,transform .4s;display:flex;position:absolute;transform:translate(-50%,20px)}.ctl-hint.on{opacity:1;transform:translate(-50%)}.ctl-hint span{font:800 clamp(12px, 1.7vmin, 15px) var(--ui);color:#fff;background:#0f0a2dc7;border:2px solid #ffffff59;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;display:inline-flex}.ctl-hint kbd{font:900 12px var(--ui);color:var(--ink);background:#fff;border-radius:999px;padding:4px 8px}.lights{opacity:0;transition:transform .45s cubic-bezier(.2,1.4,.4,1),opacity .3s}.lights.on{opacity:1}.confirm-overlay{z-index:30;background:#08051c9e;justify-content:center;align-items:center;animation:.18s ease-out both fadeIn;display:flex;position:absolute;inset:0}.confirm-box{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:min(520px,92vw);padding:26px 30px 30px;animation:.3s cubic-bezier(.2,1.5,.4,1) both popIn;display:flex}.confirm-box .big{font:400 clamp(34px, 6.5vmin, 60px) var(--display);color:var(--gold);-webkit-text-stroke:.1em var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);line-height:1}.confirm-box p{font:800 clamp(14px, 2vmin, 18px) var(--ui);color:#fff;margin:0}.confirm-box .row-buttons{flex-wrap:wrap;justify-content:center}@keyframes fadeIn{0%{opacity:0}}@media (max-width:560px){.trow{grid-template-columns:40px 34px minmax(0,1fr) auto auto;gap:8px;padding:0 10px 0 4px}.trow .face{border-radius:9px;width:32px;height:32px}.trow .pts{min-width:0}.trow .pts:empty{display:none}.trow .nm small{margin-left:4px}}
