:root{--bg:#0b0b1a;--bg-2:#12122a;--ink:#f4f6ff;--ink-dim:#f4f6ff9e;--ink-faint:#f4f6ff57;--blue:#37a8ff;--magenta:#ff3ab8;--orange:#ff7a2f;--gold:#ffd23f;--silver:#d7dce8;--bronze:#e08a4a;--green:#5cff8a;--red:#ff4d5e;--accent-grad:linear-gradient(100deg, var(--blue) 0%, var(--magenta) 55%, var(--orange) 100%);--glass-bg:#1011269e;--glass-border:#ffffff1f;--glass-shadow:0 24px 60px #00000073, inset 0 1px 0 #ffffff14;--display:"Impact", "Haettenschweiler", "Arial Narrow Bold", "Franklin Gothic Medium", "Arial Black", "Microsoft JhengHei", "PingFang TC", system-ui, sans-serif;--body:"Microsoft JhengHei", "PingFang TC", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius:18px;--radius-sm:10px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-pop:cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box}html,body{touch-action:pan-x pan-y;background:var(--bg);width:100%;height:100%;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;overflow:hidden}button{font:inherit;color:inherit}#app{background:var(--bg);position:fixed;inset:0}.game-canvas{outline:none;display:block;position:absolute;inset:0;width:100%!important;height:100%!important}#ui{pointer-events:none;z-index:10;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.hidden{display:none!important}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px)saturate(140%);border-radius:var(--radius)}.panel{pointer-events:auto;min-width:320px;max-width:min(92vw,760px);padding:clamp(20px,3vh,36px) clamp(24px,3.5vw,48px);position:relative;overflow:hidden}.panel:before{content:"";background:var(--accent-grad);opacity:.9;height:3px;position:absolute;inset:0 0 auto}.panel-kicker{font-family:var(--display);letter-spacing:.32em;color:var(--ink-dim);text-transform:uppercase;font-size:clamp(11px,1.2vw,13px)}.panel-title{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(#fff 0%,#d7e3ff 60%,#9cb8ff 100%);color:#0000;filter:drop-shadow(0 4px #00000059)drop-shadow(0 10px 24px #37a8ff40);-webkit-background-clip:text;background-clip:text;margin:4px 0 6px;font-size:clamp(34px,5vw,60px);font-weight:400;line-height:.95}.panel-hint{letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;margin-top:18px;font-size:12px}.actions{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}.actions.column{flex-direction:column;align-items:stretch;gap:10px}.btn{pointer-events:auto;appearance:none;color:var(--ink);font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform .16s var(--ease-out), background .16s var(--ease-out), border-color .16s var(--ease-out), box-shadow .2s var(--ease-out);background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;outline:none;padding:13px 26px;font-size:clamp(15px,1.4vw,19px);position:relative}.btn:hover,.btn.focused{background:#ffffff1f;border-color:#fff6;transform:translateY(-2px);box-shadow:0 0 0 2px #37a8ff59,0 12px 30px #37a8ff38}.btn.focused{border-color:#fff;transform:translateY(-2px)scale(1.04);box-shadow:0 0 0 3px #ffffffe6,0 0 0 6px #37a8ff73,0 12px 30px #37a8ff4d}.btn:active{transform:translateY(0)scale(.98)}.btn:focus-visible{box-shadow:0 0 0 3px #ffffff8c}.btn.primary{background:var(--accent-grad);color:#fff;text-shadow:0 1px #00000059;border-color:#0000;box-shadow:0 10px 30px #ff3ab847}.btn.primary:hover,.btn.primary.focused{filter:brightness(1.08);box-shadow:0 0 0 2px #ffffff80,0 16px 40px #ff3ab866}.btn.primary.focused{box-shadow:0 0 0 3px #fffffff2,0 0 0 6px #ff3ab880,0 16px 40px #ff3ab873}.btn.ghost{background:0 0;border-color:#ffffff2e}.btn.danger:hover,.btn.danger.focused{border-color:#ff4d5eb3;box-shadow:0 0 0 2px #ff4d5e73,0 12px 30px #ff4d5e40}.btn.start{background:linear-gradient(100deg, var(--blue) 0%, var(--magenta) 30%, var(--orange) 55%, var(--magenta) 78%, var(--blue) 100%);background-size:260% 100%;padding:15px 42px;font-size:clamp(18px,1.8vw,24px);animation:4.5s linear infinite start-gradient;overflow:hidden}.btn.start:after{content:"";width:45%;animation:start-sheen 2.8s var(--ease-out) infinite;pointer-events:none;background:linear-gradient(105deg,#0000 0%,#ffffff0d 35%,#fff9 50%,#ffffff0d 65%,#0000 100%);position:absolute;top:-40%;bottom:-40%;left:-30%;transform:translate(-120%)skew(-18deg)}@keyframes start-gradient{to{background-position:260% 0}}@keyframes start-sheen{0%{transform:translate(-120%)skew(-18deg)}45%,to{transform:translate(420%)skew(-18deg)}}kbd{font-family:var(--display);letter-spacing:.08em;text-align:center;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:6px;min-width:34px;padding:3px 8px;font-size:12px;box-shadow:inset 0 -2px #00000059}.pill{font-family:var(--display);letter-spacing:.2em;color:var(--ink-dim);text-transform:uppercase;background:#ffffff17;border:1px solid #ffffff24;border-radius:999px;padding:4px 9px 3px;font-size:11px;display:inline-block}.pill.weight-light{color:#9be7ff;border-color:#9be7ff66}.pill.weight-medium{color:#ffe08a;border-color:#ffe08a66}.pill.weight-heavy{color:#ff9d7a;border-color:#ff9d7a66}.screen{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.panel-in{animation:panel-in .55s var(--ease-out) both}@keyframes panel-in{0%{opacity:0;transform:translateY(26px)scale(.97)}to{opacity:1;transform:none}}.menu{background:radial-gradient(120% 80% at 50% 110%,#0b0b1ab3 0%,#0b0b1a00 60%)}.menu>section{display:none;position:absolute;inset:0}.menu>section.active{flex-direction:column;display:flex}.panel-title-screen{pointer-events:auto;cursor:pointer;justify-content:flex-start;align-items:center;gap:6px;padding:clamp(18px,4.5vh,48px) 4vw 0}.logo{line-height:.82;font-family:var(--display);text-transform:uppercase;animation:logo-in .9s var(--ease-out) both;flex-direction:column;align-items:center;display:flex}.logo-word{letter-spacing:.04em;color:#0000;-webkit-text-stroke:8px #1a0a2e;filter:drop-shadow(0 5px #4a1140)drop-shadow(0 10px #00000073)drop-shadow(0 18px 36px #ff3ab859);font-size:clamp(52px,7.4vw,104px);display:block;position:relative;transform:skew(-6deg)}.logo-word:after{content:attr(data-text);-webkit-text-stroke:0;color:#0000;background:linear-gradient(#fff 0%,#ffe9a8 35%,#ff9a3c 65%,#ff3ab8 100%);-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.logo-word-1{filter:drop-shadow(0 6px #0d2a5a)drop-shadow(0 12px #00000073)drop-shadow(0 22px 40px #37a8ff59)}.logo-word-1:after{background:linear-gradient(#fff 0%,#bfe6ff 35%,#37a8ff 70%,#6a3cff 100%);-webkit-background-clip:text;background-clip:text}.logo-word-2{font-size:clamp(44px,5.8vw,82px)}.logo-word-2:after{background:linear-gradient(#fff 0%,#ffd7f2 30%,#ff3ab8 70%,#ff7a2f 100%);-webkit-background-clip:text;background-clip:text}@keyframes logo-in{0%{opacity:0;filter:blur(8px);transform:translateY(-40px)scale(1.15)}60%{filter:blur()}to{opacity:1;transform:none}}.logo-sub{font-family:var(--display);letter-spacing:.6em;color:var(--ink-dim);animation:fade-up .8s .25s var(--ease-out) both;margin-top:10px;padding-left:.6em;font-size:clamp(12px,1.3vw,17px)}.press-start{width:-moz-fit-content;width:fit-content;font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;animation:fade-up .8s .4s var(--ease-out) both;margin:0 auto;font-size:clamp(16px,1.7vw,23px);position:absolute;bottom:clamp(28px,7vh,70px);left:0;right:0}.press-start-text{-webkit-backdrop-filter:blur(10px);text-shadow:0 2px 8px #0009;background:#1011268c;border:1px solid #ffffff4d;border-radius:999px;padding:12px 34px;animation:1.5s ease-in-out infinite press-pulse;display:inline-block}@keyframes press-pulse{0%,to{opacity:.62;border-color:#ffffff38;transform:scale(.985);box-shadow:0 0 #37a8ff00}50%{opacity:1;border-color:#fff9;transform:scale(1.03);box-shadow:0 0 44px 6px #37a8ff66,inset 0 0 18px #37a8ff40}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.controls-legend{color:var(--ink-dim);animation:fade-up .8s .55s var(--ease-out) both;grid-template-columns:auto auto;gap:8px 14px;padding:16px 18px;font-size:12.5px;display:grid;position:absolute;bottom:3vh;left:3vw}.legend-row{display:contents}.legend-row span{align-self:center}.version{letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;font-size:12px;position:absolute;bottom:3vh;right:3vw}.panel-select{justify-content:space-between;gap:1.6vh;padding:3vh 3.5vw 2.5vh}.select-header{text-align:left;animation:fade-up .5s var(--ease-out) both}.select-header .panel-title{font-size:clamp(28px,3.8vw,50px)}.card-grid{pointer-events:auto;flex:1;align-content:center;gap:clamp(8px,1vw,14px);display:grid}.panel-chars{--col:min(60vw, 980px);align-items:flex-start}.panel-chars .select-header,.panel-chars .card-grid,.panel-chars .select-footer{width:var(--col);margin:0}.char-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-tracks{justify-content:flex-end;align-items:center}.panel-tracks .select-header{position:absolute;top:3vh;left:3.5vw}.panel-tracks .card-grid{flex:none;width:min(93vw,1240px)}.track-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:700px){.track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{border-radius:var(--radius);cursor:pointer;transition:transform .2s var(--ease-out), box-shadow .25s var(--ease-out), border-color .2s var(--ease-out), background .2s var(--ease-out);animation:card-in .5s var(--ease-out) both;outline:none;padding:12px 12px 10px;position:relative;overflow:hidden}.card:first-child{animation-delay:20ms}.card:nth-child(2){animation-delay:60ms}.card:nth-child(3){animation-delay:.1s}.card:nth-child(4){animation-delay:.14s}.card:nth-child(5){animation-delay:.18s}.card:nth-child(6){animation-delay:.22s}.card:nth-child(7){animation-delay:.26s}.card:nth-child(8){animation-delay:.3s}@keyframes card-in{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:none}}.card:after{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--card-accent,var(--blue)), transparent 60%);opacity:0;transition:opacity .25s var(--ease-out);pointer-events:none;mix-blend-mode:screen;position:absolute;inset:-1px}.card:hover{border-color:#ffffff4d;transform:translateY(-4px)}.card:hover:after{opacity:.16}.card.selected,.card.focused{border-color:var(--card-accent,var(--blue));box-shadow:0 0 0 2px var(--card-accent,var(--blue)), 0 18px 50px var(--card-glow,#37a8ff80), var(--glass-shadow);transform:translateY(-6px)scale(1.02)}.card.selected:after{opacity:.28}.card.focused,.card.selected.focused{box-shadow:0 0 0 2px var(--card-accent,var(--blue)), 0 0 0 5px #ffffffd9, 0 18px 50px var(--card-glow,#37a8ff80), var(--glass-shadow);animation:1.4s ease-in-out infinite focus-breathe}.card.focused:before{content:"▼";color:#fff;text-shadow:0 0 10px var(--card-accent,var(--blue));z-index:2;font-size:12px;animation:.9s ease-in-out infinite chevron-bob;position:absolute;top:6px;right:10px}.card.selected:not(.focused):before{content:"✓";color:#fff;z-index:2;font-size:13px;position:absolute;top:6px;right:10px}@keyframes focus-breathe{0%,to{filter:brightness()}50%{filter:brightness(1.12)}}@keyframes chevron-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.card:active{transform:translateY(-2px)scale(.99)}.card-name{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px #0006;margin-top:8px;font-size:clamp(16px,1.45vw,22px)}.card-tag{color:var(--ink-dim);min-height:2.6em;margin:3px 0 6px;font-size:11.5px;line-height:1.3}.char-swatch{border-radius:12px;height:clamp(48px,8vh,78px);position:relative;overflow:hidden;box-shadow:inset 0 -20px 40px #00000059,inset 0 1px #ffffff59}.char-swatch:before{content:"";background:repeating-linear-gradient(-45deg,#ffffff12 0 6px,#0000 6px 14px);position:absolute;inset:0}.char-helmet{aspect-ratio:1;border-radius:50%;width:34%;position:absolute;top:22%;left:50%;transform:translate(-50%);box-shadow:0 6px 14px #00000073,inset 0 -6px 12px #00000059}.char-wheel{background:#14141c;border-radius:40%;width:18%;height:26%;position:absolute;bottom:8%;box-shadow:inset 0 0 0 3px #2a2a36,0 4px 10px #00000080}.char-wheel-l{left:12%}.char-wheel-r{right:12%}.stats{gap:4px;margin-top:6px;display:grid}.stat{grid-template-columns:30px 1fr;align-items:center;gap:8px;display:grid}.stat-label{font-family:var(--display);letter-spacing:.12em;color:var(--ink-faint);font-size:11px}.stat-bar{background:#ffffff1a;border-radius:3px;height:5px;overflow:hidden}.stat-fill{background:var(--accent-grad);transform-origin:0;height:100%;animation:stat-grow .7s var(--ease-out) both;border-radius:3px;box-shadow:0 0 10px #37a8ff80}@keyframes stat-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.track-art{border-radius:12px;height:clamp(56px,9.5vh,92px);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff4d}.track-art-road{border-top:4px solid;border-bottom:4px solid;height:34%;position:absolute;bottom:6%;left:-10%;right:-10%;transform:perspective(200px)rotateX(38deg)skew(-8deg);box-shadow:0 -10px 30px #00000059}.track-art-road:after{content:"";background:repeating-linear-gradient(90deg,#ffffffd9 0 18px,#0000 18px 34px);height:3px;margin-top:-1.5px;position:absolute;top:50%;left:0;right:0}.track-theme-pill{color:#fff;background:#00000073;position:absolute;top:10px;left:10px}.track-name-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.stars{letter-spacing:1px;color:#ffffff2e;white-space:nowrap;font-size:15px}.star.on{color:var(--gold);text-shadow:0 0 10px #ffd23fb3}.track-meta{flex-wrap:wrap;gap:6px;display:flex}.select-footer{pointer-events:auto;width:min(93vw,1240px);animation:fade-up .5s .15s var(--ease-out) both;justify-content:space-between;align-items:center;gap:18px;margin:0 auto;padding:12px 20px;display:flex}.select-footer .actions{flex-wrap:nowrap;justify-content:flex-end;margin:0}.select-info-name{font-family:var(--display);letter-spacing:.06em;font-size:clamp(22px,2.4vw,32px)}.select-info-tagline{color:var(--ink-dim);font-size:13px}.difficulty{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.difficulty-label{font-family:var(--display);letter-spacing:.3em;color:var(--ink-dim);font-size:13px}.segmented{background:#00000059;border:1px solid #ffffff1f;border-radius:999px;padding:4px;display:inline-flex}.seg{appearance:none;color:var(--ink-dim);font-family:var(--display);letter-spacing:.18em;cursor:pointer;background:0 0;border:0;border-radius:999px;outline:none;padding:8px 18px;font-size:14px;transition:background .18s,color .18s,box-shadow .18s}.seg:hover{color:var(--ink)}.seg.focused{box-shadow:0 0 0 2px #fff6}.seg.selected{color:#fff;background:var(--accent-grad);box-shadow:0 6px 18px #ff3ab859}.difficulty-blurb{color:var(--ink-faint);min-width:200px;font-size:12.5px}.loading{background:radial-gradient(90% 90% at 50% 40%, #171736 0%, var(--bg) 70%);pointer-events:auto}.loading-panel{border-radius:var(--radius);background:var(--glass-bg);border:1px solid var(--glass-border);width:min(88vw,720px);box-shadow:var(--glass-shadow);animation:panel-in .5s var(--ease-out) both;overflow:hidden}.loading-band{background:var(--accent-grad);height:10px;position:relative;overflow:hidden}.loading-band:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:1.6s linear infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.loading-inner{padding:28px 36px 30px}.loading-kicker{font-family:var(--display);letter-spacing:.4em;color:var(--ink-dim);font-size:12px}.loading-title{font-family:var(--display);letter-spacing:.03em;text-shadow:0 4px #00000059,0 10px 30px #37a8ff4d;margin:4px 0;font-size:clamp(40px,6vw,68px);font-weight:400;line-height:.95}.loading-subtitle{font-family:var(--display);letter-spacing:.24em;color:var(--ink-dim);font-size:13px}.loading-track{background:#ffffff14;border:1px solid #ffffff1a;border-radius:6px;height:12px;margin-top:22px;overflow:hidden}.loading-bar{background:var(--accent-grad);transform-origin:0;border-radius:6px;width:100%;height:100%;transition:transform .12s linear;position:relative;overflow:hidden;transform:scaleX(0)}.loading-bar-shimmer{background:linear-gradient(90deg,#0000,#ffffff80,#0000);animation:1.1s linear infinite shimmer;position:absolute;inset:0}.loading-tip{color:var(--ink-dim);align-items:baseline;gap:12px;min-height:2.8em;margin-top:18px;font-size:14px;line-height:1.4;display:flex}.loading-tip.tip-in .loading-tip-text{animation:fade-up .45s var(--ease-out) both}.loading-tip-label{font-family:var(--display);letter-spacing:.3em;color:var(--orange);flex:none;font-size:12px}.pause{-webkit-backdrop-filter:blur(10px)saturate(120%);pointer-events:auto;background:#06061073;animation:.25s ease-out both fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.pause-panel{text-align:center;min-width:360px;animation:panel-in .4s var(--ease-out) both}.pause-panel .actions .btn{width:100%}.results{pointer-events:auto;background:radial-gradient(80% 80%,#0b0b1a40 0%,#0b0b1acc 100%)}.results-panel{text-align:center;width:min(92vw,720px)}.results-panel.gold:before{background:linear-gradient(90deg,#ffd23f,#fff2b0,#ffd23f)}.results-title{font-size:clamp(44px,7vw,84px)}.results-panel.gold .results-title{background:linear-gradient(#fffbe6 0%,#ffd23f 55%,#ff9a3c 100%);filter:drop-shadow(0 4px #00000059)drop-shadow(0 10px 30px #ffd23f59);-webkit-background-clip:text;background-clip:text}.results-sub{color:var(--ink-dim);margin-bottom:18px;font-size:14px}.standings{text-align:left;gap:6px;max-height:46vh;padding-right:4px;display:grid;overflow:auto}.standing-row{animation:row-in .5s var(--ease-out) both;background:#ffffff0d;border:1px solid #ffffff12;border-radius:12px;grid-template-columns:58px 16px 1fr auto;align-items:center;gap:12px;padding:9px 14px;display:grid}@keyframes row-in{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:none}}.standing-row.you{background:linear-gradient(90deg,#37a8ff47,#ff3ab82e);border-color:#ffffff47;box-shadow:0 0 0 1px #ffffff1f,0 10px 30px #37a8ff33}.standing-place{font-family:var(--display);letter-spacing:.04em;color:var(--ink-dim);font-size:22px}.podium-1 .standing-place{color:var(--gold);text-shadow:0 0 14px #ffd23fb3}.podium-2 .standing-place{color:var(--silver)}.podium-3 .standing-place{color:var(--bronze)}.standing-chip{border-radius:5px;width:16px;height:16px;box-shadow:inset 0 0 0 1px #ffffff59,0 2px 6px #00000080}.standing-name{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;font-size:19px}.standing-time{font-variant-numeric:tabular-nums;font-family:var(--display);letter-spacing:.06em;color:var(--ink-dim);font-size:17px}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-piece{opacity:.9;border-radius:2px;animation:linear infinite confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{0%{transform:translateY(-5vh)rotate(0)translate(0)}25%{transform:translateY(25vh)rotate(180deg)translate(30px)}50%{transform:translateY(50vh)rotate(360deg)translate(-30px)}75%{transform:translateY(75vh)rotate(540deg)translate(30px)}to{transform:translateY(110vh)rotate(720deg)translate(0)}}.fatal{background:radial-gradient(80% 80% at 50% 40%, #1a1030, var(--bg));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fatal-panel{text-align:center;max-width:560px}.fatal-body{color:var(--ink-dim);margin:12px 0 20px;line-height:1.5}.hud{pointer-events:none;--hud-pad:clamp(16px, 2.4vw, 34px);position:absolute;inset:0}.hud.hit-shake{animation:.4s ease-out both hud-shake}@keyframes hud-shake{0%,to{transform:none}20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-2px)}}.hud-item{top:var(--hud-pad);left:var(--hud-pad);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.item-frame{aspect-ratio:1;background:radial-gradient(120% 120% at 30% 20%,#ffffff29,#101126bf 60%);border:3px solid #ffffff59;border-radius:26px;place-items:center;width:clamp(84px,8.5vw,118px);transition:border-color .2s,box-shadow .2s;display:grid;position:relative;overflow:visible;box-shadow:0 12px 30px #00000073,inset 0 1px #ffffff59}.item-frame:before{content:"";border-radius:inherit;background:conic-gradient(from 0deg, var(--blue), var(--magenta), var(--orange), var(--blue));z-index:-1;opacity:0;transition:opacity .3s;position:absolute;inset:-3px}.item-frame.has-item:before{opacity:.9}.item-frame.spinning:before{opacity:1;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.item-frame.pop{animation:item-pop .45s var(--ease-pop) both}@keyframes item-pop{0%{transform:scale(.7)}60%{transform:scale(1.18)}to{transform:scale(1)}}.item-icon{filter:drop-shadow(0 6px 10px #0000008c);place-items:center;width:72%;height:72%;display:grid}.item-icon-canvas{image-rendering:auto;width:100%;height:100%}.item-frame.spinning .item-icon{animation:90ms linear infinite alternate icon-flick}@keyframes icon-flick{0%{opacity:.85;transform:translateY(-4px)scale(.92)}to{opacity:1;transform:translateY(4px)scale(1)}}.item-count{font-family:var(--display);letter-spacing:.04em;background:var(--accent-grad);color:#fff;text-align:center;border:2px solid #fff;border-radius:999px;min-width:30px;padding:4px 9px 3px;font-size:18px;position:absolute;bottom:-8px;right:-8px;box-shadow:0 6px 14px #00000080}.item-count:empty{display:none}.item-label{font-family:var(--display);letter-spacing:.24em;color:var(--ink-dim);text-shadow:0 2px 6px #000000b3;min-height:1em;font-size:13px}.hud-topright{top:var(--hud-pad);right:var(--hud-pad);flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}.hud-lap,.hud-timer{font-family:var(--display);letter-spacing:.08em;text-shadow:0 2px #0006;border-radius:14px;padding:8px 16px}.hud-lap{align-items:baseline;gap:10px;display:flex}.hud-lap-label{letter-spacing:.3em;color:var(--ink-dim);font-size:15px}.hud-lap-value{font-size:clamp(28px,2.8vw,38px)}.hud-timer{font-variant-numeric:tabular-nums;text-align:right;min-width:8ch;font-size:clamp(20px,2vw,26px)}.hud-place{left:var(--hud-pad);bottom:var(--hud-pad);font-family:var(--display);color:#fff;transform-origin:0 100%;filter:drop-shadow(0 6px #00000073)drop-shadow(0 14px 30px #00000080);align-items:baseline;line-height:.85;display:flex;position:absolute}.place-num{letter-spacing:-.02em;-webkit-text-stroke:3px #00000059;background:linear-gradient(#fff 0%,#e6ecff 55%,#b8c6ff 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(96px,13vw,168px)}.place-suffix{letter-spacing:.02em;color:#ffffffd9;margin-left:4px;font-size:clamp(34px,4.6vw,60px)}.hud-place.gold .place-num{background:linear-gradient(#fffbe6 0%,#ffd23f 55%,#ff9a3c 100%);-webkit-background-clip:text;background-clip:text}.hud-place.silver .place-num{background:linear-gradient(#fff 0%,#d7dce8 55%,#97a2ba 100%);-webkit-background-clip:text;background-clip:text}.hud-place.bronze .place-num{background:linear-gradient(#ffe4cf 0%,#e08a4a 55%,#a2561f 100%);-webkit-background-clip:text;background-clip:text}.hud-place.punch{animation:punch .5s var(--ease-pop) both}@keyframes punch{0%{transform:scale(.8)rotate(-4deg)}55%{transform:scale(1.14)rotate(2deg)}to{transform:none}}.hud-speed{left:50%;bottom:calc(var(--hud-pad) * .6);aspect-ratio:1;place-items:center;width:clamp(120px,12vw,170px);display:grid;position:absolute;transform:translate(-50%)}.gauge{filter:drop-shadow(0 6px 14px #00000080);width:100%;height:100%;position:absolute;inset:0;transform:rotate(150deg)}.gauge circle{fill:none;stroke-width:7px;stroke-linecap:round}.gauge-bg{stroke:#ffffff29}.gauge-fill{stroke:var(--blue);transition:stroke .3s}.hud.boosting .gauge-fill{stroke:var(--orange);filter:drop-shadow(0 0 8px #ff7a2fe6)}.speed-inner{text-align:center;font-family:var(--display);text-shadow:0 3px #00000073,0 8px 20px #00000080;transform:translateY(6%)}.speed-value{font-variant-numeric:tabular-nums;font-size:clamp(34px,3.6vw,52px);line-height:1}.speed-unit{letter-spacing:.3em;color:var(--ink-dim);font-size:12px}.hud-minimap{right:var(--hud-pad);bottom:var(--hud-pad);border-radius:20px;padding:6px;position:absolute}.minimap-canvas{border-radius:14px;display:block}.hud-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.hud-msg{width:-moz-fit-content;width:fit-content;font-family:var(--display);text-transform:uppercase;text-align:center;white-space:nowrap;--ttl:1s;margin:0 auto;position:absolute;left:0;right:0}.hud-count{color:#fff;-webkit-text-stroke:6px #1a0a2e;paint-order:stroke fill;filter:drop-shadow(0 10px #00000059)drop-shadow(0 20px 50px #37a8ff73);height:-moz-fit-content;height:fit-content;animation:count-in var(--ttl) var(--ease-out) both;margin:auto;font-size:clamp(120px,20vw,260px);line-height:1;inset:0}.hud-go{color:#0000;background:linear-gradient(#fffbe6 0%,#ffd23f 45%,#ff7a2f 100%);-webkit-text-stroke:0;filter:drop-shadow(0 10px #4a1140)drop-shadow(0 20px 50px #ff7a2f80);-webkit-background-clip:text;background-clip:text}@keyframes count-in{0%{opacity:0;transform:scale(2.4)}18%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(1.3)}}.hud-banner{letter-spacing:.12em;color:#fff;-webkit-text-stroke:3px #1a0a2e;paint-order:stroke fill;filter:drop-shadow(0 6px #0006);animation:banner-in var(--ttl) var(--ease-out) both;padding:10px 40px;font-size:clamp(44px,7vw,96px);top:22%}.hud-banner:before{content:"";z-index:-1;background:linear-gradient(90deg,#0000,#ff3ab88c,#ff7a2f8c,#0000);position:absolute;inset:8% -40vw;transform:skew(-12deg)}.hud-banner.lap:before{background:linear-gradient(90deg,#0000,#37a8ff80,#0000)}@keyframes banner-in{0%{opacity:0;transform:translate(-60vw)skew(-10deg)}15%{opacity:1;transform:translate(0)skew(0)}82%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60vw)skew(10deg)}}.hud-posflash{letter-spacing:.2em;animation:pos-in var(--ttl) var(--ease-out) both;background:#101126b3;border:1px solid #fff3;border-radius:999px;padding:6px 22px;font-size:clamp(28px,3.6vw,48px);top:34%}.hud-posflash.up{color:var(--green);text-shadow:0 0 20px #5cff8a99}.hud-posflash.down{color:var(--red);text-shadow:0 0 20px #ff4d5e99}@keyframes pos-in{0%{opacity:0;transform:translateY(20px)scale(.8)}20%{opacity:1;transform:none}80%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.hud-finish{color:#0000;background:linear-gradient(#fff 0%,#ffe9a8 35%,#ff9a3c 65%,#ff3ab8 100%);filter:drop-shadow(0 8px #4a1140)drop-shadow(0 20px 50px #ff3ab873);animation:finish-in var(--ttl) var(--ease-out) both;-webkit-background-clip:text;background-clip:text;flex-direction:column;align-items:center;font-size:clamp(80px,13vw,180px);line-height:1;display:flex;top:18%}.hud-finish-place{letter-spacing:.3em;color:#fff;-webkit-text-fill-color:#fff;filter:none;text-shadow:0 3px #00000073;background:0 0;-webkit-background-clip:border-box;background-clip:border-box;margin-top:4px;font-size:clamp(26px,3.4vw,46px)}@keyframes finish-in{0%{opacity:0;transform:scale(.5)rotate(-6deg)}12%{opacity:1;transform:scale(1.05)rotate(1deg)}20%{transform:scale(1)}88%{opacity:1}to{opacity:0;transform:translateY(-30px)}}.hud-wrongway{color:#fff;font-family:var(--display);letter-spacing:.2em;opacity:0;visibility:hidden;background:#ff4d5e2e;border:2px solid #ff4d5ecc;border-radius:14px;align-items:center;gap:14px;padding:10px 26px;font-size:clamp(26px,3vw,40px);transition:opacity .2s;display:flex;position:absolute;top:26%;left:50%;transform:translate(-50%)}.hud-wrongway.visible{opacity:1;visibility:visible;animation:.7s ease-in-out infinite wrongway-pulse}.wrongway-arrow{color:var(--red);font-size:1.3em;animation:1.6s linear infinite reverse spin;display:inline-block}@keyframes wrongway-pulse{0%,to{background:#ff4d5e2e;box-shadow:0 0 #ff4d5e80}50%{background:#ff4d5e52;box-shadow:0 0 30px 6px #ff4d5e59}}.hud-vignette{opacity:0;pointer-events:none;background:radial-gradient(70% 70%,#ff1e3c00 40%,#ff1e3c8c 100%);position:absolute;inset:0}.hud-boostglow{opacity:0;pointer-events:none;background:radial-gradient(80% 80%,#ff8c2800 55%,#ff8c2847 100%);transition:opacity .25s;position:absolute;inset:0}.hud-boostglow.on{opacity:1;animation:.25s ease-in-out infinite alternate boost-flicker}@keyframes boost-flicker{0%{opacity:.75}to{opacity:1}}.mute-indicator{font-family:var(--display);letter-spacing:.24em;color:var(--ink-dim);opacity:0;transition:opacity .2s, transform .25s var(--ease-out);pointer-events:none;background:#101126cc;border:1px solid #ffffff2e;border-radius:999px;padding:6px 14px;font-size:13px;position:absolute;top:14px;left:50%;transform:translate(-50%,-20px)}.mute-indicator.visible{opacity:1;transform:translate(-50%)}.toast-host{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast{color:var(--ink);opacity:0;max-width:70vw;transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);background:#101126eb;border:1px solid #ffffff29;border-radius:12px;padding:10px 18px;font-size:13px;transform:translateY(12px);box-shadow:0 12px 30px #00000073}.toast-error{border-color:#ff4d5e99;box-shadow:0 12px 30px #ff4d5e33}.toast-in{opacity:1;transform:none}.toast-out{opacity:0;transform:translateY(8px)}.item-hint{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#101126c7;border:2px solid #ffd84ae6;border-radius:999px;padding:5px 16px;font-size:clamp(15px,1.6vw,22px);font-weight:800;transition:opacity .2s;position:fixed;bottom:clamp(120px,24vh,190px);left:50%;transform:translate(-50%)}.item-hint.show{opacity:1;animation:1.1s ease-in-out infinite item-hint-pulse}.item-hint .hint-touch,.item-hint .hint-block,#ui.touch .item-hint .hint-key{display:none}#ui.touch .item-hint .hint-touch{display:inline}.item-hint.blocked{background:#780a14d9;border-color:#ff5a5a}.item-hint.blocked .hint-key,.item-hint.blocked .hint-touch{display:none!important}.item-hint.blocked .hint-block{display:inline}@keyframes item-hint-pulse{50%{transform:translate(-50%)scale(1.08)}}#ui.touch.holding-item .touch-item{animation:.9s ease-in-out infinite touch-item-ready}@keyframes touch-item-ready{50%{transform:scale(1.06);box-shadow:0 0 0 6px #ffd84a8c}}@media (max-height:720px){.card{padding:10px 10px 8px}.card-tag{display:none}.char-swatch{height:56px}.track-art{height:64px}.stats{gap:3px}.stat-bar{height:4px}.select-header .panel-title{font-size:30px}.select-footer{padding:10px 16px}.controls-legend{display:none}.logo-word{font-size:clamp(44px,6.4vw,84px)}.logo-word-2{font-size:clamp(38px,5vw,66px)}.hud-place .place-num{font-size:96px}.hud-speed{width:110px}}@media (max-width:1100px){.difficulty-blurb{display:none}.select-footer{flex-wrap:wrap;justify-content:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.touch-controls{pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;z-index:20;display:none;position:absolute;inset:0}#ui[data-state=racing] .touch-controls.enabled,#ui[data-state=countdown] .touch-controls.enabled,#ui[data-state=finished] .touch-controls.enabled{display:block}.touch-stick-zone{pointer-events:auto;touch-action:none;width:45%;position:absolute;top:18%;bottom:0;left:0}.touch-stick{pointer-events:none;width:0;height:0;position:absolute}.touch-stick-ring{background:#10112659;border:2px solid #ffffff59;border-radius:50%;width:120px;height:120px;position:absolute;top:-60px;left:-60px;box-shadow:0 8px 30px #00000059}.touch-knob{background:radial-gradient(circle at 35% 35%, #fff 0%, var(--blue) 60%, var(--magenta) 100%);border-radius:50%;width:52px;height:52px;position:absolute;top:-26px;left:-26px;box-shadow:0 4px 16px #00000073}.touch-btn{right:calc(18px + env(safe-area-inset-right,0px));pointer-events:auto;touch-action:none;color:var(--ink);font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform 80ms var(--ease-out), background 80ms;background:#1011268c;border:2px solid #ffffff59;border-radius:50%;font-size:15px;position:absolute}.touch-btn.held{background:#37a8ff8c;transform:scale(.92)}.touch-drift{bottom:calc(22px + env(safe-area-inset-bottom,0px));width:104px;height:104px;font-size:18px}.touch-item{bottom:calc(146px + env(safe-area-inset-bottom,0px));right:calc(52px + env(safe-area-inset-right,0px));width:78px;height:78px}.touch-pause{left:calc(112px + env(safe-area-inset-left,0px));top:calc(12px + env(safe-area-inset-top,0px));width:40px;height:40px;color:var(--ink);pointer-events:auto;touch-action:none;cursor:pointer;background:#1011268c;border:1px solid #ffffff40;border-radius:10px;font-size:14px;position:absolute}.touch-pause.held{background:#37a8ff8c}#ui.touch .hud-minimap{bottom:auto;right:auto;top:var(--hud-pad);transform-origin:top;left:48%;transform:translate(-50%)scale(.5)}.panel-title-screen{position:relative}.lang-toggle{top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));pointer-events:auto;z-index:2;padding:8px 12px;font-size:13px;position:absolute}html[lang=ko]{--display:"Impact", "Haettenschweiler", "Arial Narrow Bold", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", system-ui, sans-serif}html[lang=ko] .btn,html[lang=ko] .panel-title,html[lang=ko] .panel-kicker,html[lang=ko] .card-name,html[lang=ko] .card-tag,html[lang=ko] .pill,html[lang=ko] .seg,html[lang=ko] .difficulty-label,html[lang=ko] .select-info-name,html[lang=ko] .select-info-tagline,html[lang=ko] .hud-msg,html[lang=ko] .hud-lap-label,html[lang=ko] .loading-kicker,html[lang=ko] .loading-tip-label,html[lang=ko] .results-title,html[lang=ko] .standing-name,html[lang=ko] .touch-btn{letter-spacing:.01em;word-break:keep-all}html[lang=ko]{--display:"Impact", "Haettenschweiler", "Black Han Sans", "Arial Narrow Bold", "Arial Black", sans-serif;--body:"Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}html[lang=ko] .pill,html[lang=ko] .stat-label,html[lang=ko] .panel-kicker,html[lang=ko] .hud-lap-label,html[lang=ko] .card-tag,html[lang=ko] .select-info-tagline,html[lang=ko] .loading-tip-label,html[lang=ko] .settings-label,html[lang=ko] .lb-tab,html[lang=ko] .difficulty-label{font-family:var(--body);font-weight:700}html[lang=ko] .panel-title,html[lang=ko] .results-title,html[lang=ko] .hud-msg,html[lang=ko] .btn,html[lang=ko] .seg,html[lang=ko] .touch-btn{letter-spacing:.02em}html[lang=ko] .panel-title{line-height:1.1}html[lang=ko] body,html[lang=ko] .settings-hint,html[lang=ko] .lock-body,html[lang=ko] .lb-status,html[lang=ko] .online-hint{font-weight:500}.title-corner{top:calc(16px + env(safe-area-inset-top,0px));pointer-events:auto;z-index:2;padding:8px 12px;font-size:13px;position:absolute}.settings-toggle{right:calc(16px + env(safe-area-inset-right,0px));padding:6px 12px;font-size:18px}.records-toggle{left:calc(16px + env(safe-area-inset-left,0px))}.char-card.locked .char-swatch{filter:grayscale(.7)brightness(.55)}.lock-badge{font-family:var(--display);letter-spacing:.08em;color:var(--gold);pointer-events:none;background:#0000008c;border:1px solid #ffffff40;border-radius:999px;padding:3px 8px;font-size:11px;position:absolute;top:8px;right:8px}.char-card{position:relative}.lock-sheet,.lb,.settings,.v8-mock{pointer-events:auto;z-index:30;background:#0505108c;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:absolute;inset:0}.lb,.settings,.v8-mock{align-items:center}.v8-mock{z-index:100;position:fixed}.lock-panel,.lb-panel,.settings-panel,.v8-mock-panel{pointer-events:auto;width:min(520px,100%);padding:20px 22px}.lock-panel.busy .btn{opacity:.6}.lock-body{color:var(--ink-dim);margin:6px 0 14px;line-height:1.4}.v8-mock-price{color:var(--gold);font-family:var(--display);margin:0 0 12px;font-size:20px}.lb-tabs{flex-wrap:wrap;gap:6px;margin:8px 0 12px;display:flex}.lb-tab{padding:6px 10px;font-size:11px}.lb-table{flex-direction:column;gap:4px;max-height:40vh;display:flex;overflow-y:auto}.lb-row{background:#ffffff0a;border-radius:10px;grid-template-columns:2.2em 1fr 6.5em 7em 5em;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:grid}.lb-row.you{background:#37a8ff2e;border:1px solid #37a8ff73}.lb-cell.lb-time{font-family:var(--display);letter-spacing:.04em}.lb-cell.lb-kart,.lb-cell.lb-diff{color:var(--ink-dim);font-size:12px}.lb-status,.lb-mine{color:var(--ink-dim);margin:10px 0 0;font-size:13px}.lb-mine{color:var(--gold);font-family:var(--display);letter-spacing:.04em;font-size:16px}.results-rank{color:var(--gold);font-family:var(--display);letter-spacing:.06em;margin:4px 0 10px;font-size:22px}@media (max-width:700px){.lb-row{grid-template-columns:2em 1fr 6em}.lb-cell.lb-kart,.lb-cell.lb-diff{display:none}}.settings-field{flex-direction:column;gap:6px;margin:12px 0;display:flex}.settings-field.settings-row{flex-direction:row;justify-content:space-between;align-items:center}.settings-label{font-family:var(--display);letter-spacing:.12em;color:var(--ink-dim);font-size:12px}.settings-input{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--glass-border);color:var(--ink);background:#00000059;outline:none;padding:10px 12px;font-size:16px}.settings-input:focus{border-color:var(--blue)}.settings-hint{color:var(--ink-faint);font-size:12px}.settings-check{width:22px;height:22px;accent-color:var(--blue)}.online-toggle{left:calc(16px + env(safe-area-inset-left,0px));top:calc(60px + env(safe-area-inset-top,0px))}.online-panel{width:min(640px,100%);max-height:92vh;overflow-y:auto}.online.busy .btn{opacity:.6;pointer-events:none}.online-status{color:var(--ink-dim);min-height:1.2em;margin:6px 0;font-size:13px}.online-code-row{align-items:center;gap:8px;margin:10px 0;display:flex}.online-code{text-transform:uppercase;letter-spacing:.2em;text-align:center;width:7em}.online-list-head{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.online-room-list{flex-direction:column;gap:6px;margin:8px 0;display:flex}.online-room-row{text-align:left;justify-content:flex-start}.online-room-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.online-players{flex-direction:column;gap:4px;margin:6px 0 10px;display:flex}.online-player{background:#ffffff0a;border-radius:10px;grid-template-columns:1fr 8em 7em;gap:8px;padding:6px 10px;font-size:13px;display:grid}.online-player.me{background:#37a8ff2e;border:1px solid #37a8ff73}.online-player-kart{color:var(--ink-dim)}.online-player-ready{color:var(--ink-faint);font-family:var(--display);letter-spacing:.06em;text-align:right}.online-player-ready.on{color:var(--green)}.online-select{padding:8px 10px;font-size:14px}.segmented.wrap{flex-wrap:wrap}.btn.small{padding:6px 10px;font-size:12px}@media (max-width:700px),(max-height:480px){.controls-legend{display:none}.version{left:0;right:0;bottom:calc(6px + env(safe-area-inset-bottom,0px));text-align:center;font-size:10px}.press-start{bottom:calc(clamp(34px, 7vh, 70px) + env(safe-area-inset-bottom,0px))}.panel-select{pointer-events:auto;-webkit-overflow-scrolling:touch;padding:calc(12px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));justify-content:flex-start;gap:10px;overflow-y:auto}.panel-chars{--col:100%;align-items:stretch}.panel-chars .select-header,.panel-chars .card-grid,.panel-chars .select-footer,.panel-tracks .card-grid{width:100%}.panel-tracks .select-header{position:static}.card-grid{flex:none;align-content:start}.card{background:#0c0c1ecc}.card-tag{display:none}.select-header .panel-title{font-size:26px}.select-footer{z-index:2;background:#0c0c1eeb;flex-wrap:wrap;gap:8px 12px;width:100%;margin:auto 0 0;padding:10px 12px;position:sticky;bottom:0}.select-info-name{font-size:20px}}@media (max-width:700px){.char-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.select-footer .actions{width:100%}.select-footer .actions .btn{flex:1}}@media (max-height:480px){.char-card .stats,.select-info-tagline{display:none}.char-swatch{height:44px}.track-art{height:48px}.select-footer{padding:8px 12px}}#ui[data-state=paused] .hud{opacity:.12;transition:opacity .2s var(--ease-out)}#ui.touch .pause-panel .panel-hint{display:none}.settings-slider-head{justify-content:space-between;align-items:baseline;display:flex}.settings-slider-value{font-family:var(--display);letter-spacing:.06em;color:var(--ink);font-size:13px}.settings-range{width:100%;height:28px;accent-color:var(--blue);cursor:pointer;touch-action:pan-y;margin:0}#ui[data-state=racing],#ui[data-state=countdown],#ui[data-state=finished],.game-canvas{touch-action:none}@media (max-height:480px){.panel-chars .select-header{align-items:baseline;gap:12px;display:flex}.panel-chars .panel-kicker{display:none}.panel-select .select-header .panel-title{margin:0;font-size:22px}.char-card{padding:8px 8px 6px}.char-card .char-swatch{height:34px}.char-card .card-name{margin-top:4px;font-size:13px}.char-card .pill{padding:2px 8px;font-size:10px}.card-grid{gap:8px}}.char-thumb{object-fit:contain;opacity:0;width:104%;height:108%;transition:opacity .25s var(--ease-out);filter:drop-shadow(0 6px 6px #00000073);pointer-events:none;position:absolute;inset:-4% -2%}.char-card.has-thumb .char-thumb{opacity:1}.char-card.has-thumb .char-helmet,.char-card.has-thumb .char-wheel{display:none}.char-card.has-thumb .char-swatch{height:clamp(60px,10vh,104px)}@media (max-height:720px){.char-card.has-thumb .char-swatch{height:72px}}@media (max-height:480px){.char-card.has-thumb .char-swatch{height:48px}}.track-thumb{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}@media (max-height:720px){.track-card .track-art{height:84px}}@media (max-height:480px){.track-card .track-art{height:62px}}.hud-mirror{border:2px solid #ffffff40;border-radius:14px;display:none}.hud-mirror.visible{display:flex}.hud-mirror.warn{border-color:#ffd23fb3;box-shadow:0 0 14px #ffd23f59}.hud-mirror.warn-near{border-color:#ffd23f;animation:.5s ease-in-out infinite mirror-pulse;box-shadow:0 0 20px #ffd23f99}.hud-mirror.danger{border-color:#ff4040;animation:.32s ease-in-out infinite mirror-pulse;box-shadow:0 0 24px #ff4040a6}.hud-mirror.mine{border-color:#40e28ad9;box-shadow:0 0 18px #40e28a73}.hud-mirror.blue{border-color:#3f7fff;animation:.4s ease-in-out infinite mirror-pulse;box-shadow:0 0 24px #3f7fffb3}@keyframes mirror-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.45)}}@keyframes mirror-rumble{0%,to{transform:translate(0)}20%{transform:translate(-3px,1px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}.hud-draft{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:3px;width:150px;transition:opacity .2s;display:flex;position:absolute;top:-34px;left:50%;transform:translate(-50%)}.hud-draft.visible{opacity:1}.hud-draft-label{font-family:var(--display);letter-spacing:.14em;color:#b4e1ffb3;text-shadow:0 2px 6px #000000b3;font-size:13px;transition:color .15s,text-shadow .15s}.hud-draft.active .hud-draft-label{color:#bfe8ff;text-shadow:0 0 10px #78c8ffe6;animation:.5s ease-in-out infinite draft-flicker}.hud-draft-bar{background:#ffffff1f;border-radius:2px;width:100%;height:5px;overflow:hidden}.hud-draft-fill{background:linear-gradient(90deg,#6fc3ff,#dff4ff);width:0;height:100%;transition:width 80ms linear}.hud-draft.active .hud-draft-fill{box-shadow:0 0 10px #96dcffe6}@keyframes draft-flicker{0%,to{opacity:1}50%{opacity:.7}}.hud-charge{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(440px,70vw);transition:opacity .15s;display:flex;position:absolute;top:77%;left:50%;transform:translate(-50%)}.hud-charge.visible{opacity:1}.hud-charge-label{font-family:var(--display);text-shadow:0 2px 8px #000000b3;letter-spacing:.18em;color:#ffffffbf;font-size:18px}.hud-charge-bar{background:#00000073;border:1px solid #ffffff40;border-radius:6px;width:100%;height:16px;position:relative;overflow:hidden}.hud-charge-fill{background:linear-gradient(90deg,#9fb4c8,#cfe6ff);width:0;height:100%;transition:width 50ms linear}.hud-charge.good .hud-charge-fill{background:linear-gradient(90deg,#3ec6ff,#7fe3ff);box-shadow:0 0 12px #3ec6ffcc}.hud-charge.perfect .hud-charge-fill{background:linear-gradient(90deg,#ffb020,#ffe14a);box-shadow:0 0 16px #ffd23fe6}.hud-charge.danger .hud-charge-fill{background:linear-gradient(90deg,#ff6a3a,#ff2d2d);box-shadow:0 0 18px #ff4040e6}.hud-charge.danger{animation:.12s linear infinite charge-shake}.hud-charge.stall .hud-charge-fill{background:#555}.hud-charge.perfect .hud-charge-label{color:#ffe14a}.hud-charge.danger .hud-charge-label{color:#ff5a5a}.hud-charge-tick{background:#ffffff8c;width:2px;position:absolute;top:-1px;bottom:-1px}.hud-charge-tick.perfect{background:#ffe14ae6}@keyframes charge-shake{0%,to{transform:translate(-50%)}50%{transform:translate(calc(3px - 50%))}}.hud-mirror{left:var(--hud-pad);bottom:calc(var(--hud-pad) + 132px);pointer-events:none;background:#080a1659;border-width:3px;border-radius:14px;width:clamp(190px,21vw,300px);position:absolute;top:auto;right:auto;overflow:hidden}.hud-mirror-view{aspect-ratio:16/9;background:0 0;width:100%}.hud-mirror.rumble{animation:.35s linear mirror-rumble,.32s ease-in-out infinite mirror-pulse}#ui.touch .hud-mirror{left:var(--hud-pad);top:auto;bottom:calc(var(--hud-pad) + 90px + env(safe-area-inset-bottom,0px));width:150px}@media (max-height:480px){.hud-mirror{width:150px;bottom:calc(var(--hud-pad) + 90px)}}.hud-team{top:var(--hud-pad);font-family:var(--display);letter-spacing:.06em;border-radius:999px;align-items:center;gap:10px;padding:6px 14px;font-size:18px;display:none;position:absolute;left:50%;transform:translate(-50%)}.hud-team.visible{display:flex}.hud-team-us{color:#6fa3ff}.hud-team-them{color:#ff6b74}.hud-team-mid{color:var(--ink-dim);font-size:14px}.hud-team.lead-us .hud-team-us,.hud-team.lead-them .hud-team-them{text-shadow:0 0 12px}#ui.touch .hud-team{top:calc(var(--hud-pad) + 96px);font-size:15px}.race-mode .segmented .seg{font-size:12px}.standing-row.side-ally .standing-place{color:#6fa3ff}.standing-row.side-rival .standing-place{color:#ff6b74}.standing-points{font-family:var(--display);letter-spacing:.05em;color:var(--gold);text-align:right;min-width:4.2em;font-size:16px}.standing-points.zero{color:var(--ink-faint)}.results-panel.team-us .results-title{color:#6fa3ff}.results-panel.team-them .results-title,.hud-finish.retired{color:#ff6b74}.standings.points .standing-row{grid-template-columns:58px 16px 1fr auto auto}@media (max-width:700px){.standings.points .standing-row{grid-template-columns:44px 14px 1fr auto auto;gap:8px}.standing-points{min-width:3.2em;font-size:14px}}.hud-campaign{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hud-hearts{opacity:0;display:none;position:absolute;inset:0}.hud-hearts.on{display:block}.hud-heart{transform:translate(-50%, -50%) rotate(var(--rot,0deg));filter:drop-shadow(0 .6vmin .8vmin #3c000a73);-webkit-user-select:none;user-select:none;animation:.28s cubic-bezier(.2,1.6,.4,1) both heart-slap;position:absolute}div.hud-heart{background:#ff3b5c;border-radius:50%}@keyframes heart-slap{0%{transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(1.9);opacity:0}60%{opacity:1}to{transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(1);opacity:1}}.hud-ribbons{display:none;position:absolute;inset:0}.hud-ribbons.on{display:block}.hud-ribbon{aspect-ratio:10;filter:drop-shadow(0 .5vw .6vw #501e0066);will-change:transform;width:180vw;max-width:none;height:auto;position:absolute;left:0}.hud-ribbon.a{top:-3vw}.hud-ribbon.b{bottom:-4vw}.hud-ribbon.a.sweep{animation:1.15s cubic-bezier(.35,.1,.5,1) both ribbon-sweep-a}.hud-ribbon.b.sweep{animation:1.2s cubic-bezier(.35,.1,.5,1) 80ms both ribbon-sweep-b}.hud-ribbon-text{fill:#fff;stroke:#7a2a00;stroke-width:9px;paint-order:stroke;stroke-linejoin:round;letter-spacing:4px;font:900 54px Microsoft JhengHei,PingFang TC,sans-serif}@keyframes ribbon-sweep-a{0%{transform:translate(100vw,2vw)rotate(5deg)}45%{transform:translate(-40vw,5vw)rotate(2deg)}to{transform:translate(-185vw,1vw)rotate(6deg)}}@keyframes ribbon-sweep-b{0%{transform:translate(-185vw)rotate(-6deg)}50%{transform:translate(-60vw,-4vw)rotate(-3deg)}to{transform:translate(105vw)rotate(-7deg)}}.lobby{pointer-events:auto;width:min(360px,78vw);animation:fade-up .8s .35s var(--ease-out) both;flex-direction:column;align-items:stretch;gap:12px;display:flex;position:absolute;bottom:clamp(40px,9vh,90px);left:50%;transform:translate(-50%)}.lobby-btn{letter-spacing:.12em;padding:14px 22px;font-size:clamp(16px,1.6vw,21px)}.lobby-btn.focused{outline-offset:3px;outline:2px solid #ffffffd9}@media (max-height:480px){.panel-title-screen{align-items:flex-start;padding-left:clamp(20px,6vw,80px)}.lobby{gap:8px;width:min(300px,60vw);bottom:16px}.lobby-btn{padding:9px 16px;font-size:15px}}.rotate-gate{z-index:200;pointer-events:auto;text-align:center;background:#060612f5;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.rotate-gate.hidden{display:none}.rotate-gate-icon{font-size:64px;animation:1.6s ease-in-out infinite rotate-hint}.rotate-gate-title{font-family:var(--display);letter-spacing:.08em;font-size:24px}.rotate-gate-body{color:var(--ink-dim);font-size:14px}@keyframes rotate-hint{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.hud-item{left:auto;right:var(--hud-pad);top:var(--hud-pad)}.hud-topright{top:calc(var(--hud-pad) + 100px)}.item-label,.item-count{display:none}.item-icon.stacked .item-icon-canvas{transition:transform .15s var(--ease-out);position:absolute;inset:0}.item-icon.stacked .stack-0{transform:translate(-9px,7px)rotate(-10deg)}.item-icon.stacked .stack-1{transform:translateY(-2px)}.item-icon.stacked .stack-2{transform:translate(9px,7px)rotate(10deg)}.item-icon.stacked{position:relative}.item-frame.overdrive{background:conic-gradient(#ffd23f var(--od,100%), #ffffff1a 0) border-box;box-shadow:0 0 22px #ffc83cb3}#ui.touch .touch-pause{left:calc(172px + env(safe-area-inset-left,0px));right:auto}#ui.touch .hud-standings{max-width:148px}#ui.touch .hud-minimap{left:50%}.hud-standings{top:var(--hud-pad);left:var(--hud-pad);border-radius:12px;flex-direction:column;gap:3px;min-width:150px;padding:8px 10px;display:flex;position:absolute}.hud-standing{font-family:var(--display);letter-spacing:.05em;color:var(--ink-dim);border-radius:6px;grid-template-columns:1.4em 10px 1fr;align-items:center;gap:7px;padding:2px 6px;font-size:13px;display:grid}.hud-standing.you{color:#fff;background:#ffffff24}.hud-standing.dnf{opacity:.45;text-decoration:line-through}.hud-standing.done .hud-standing-place{color:var(--gold)}.hud-standing-place{text-align:right}.hud-standing-chip{border-radius:3px;width:10px;height:10px}.hud-standing-name{white-space:nowrap;text-overflow:ellipsis;max-width:11em;overflow:hidden}#ui.touch .hud-standings{min-width:120px;padding:6px 8px}#ui.touch .hud-standing{font-size:11px}@media (max-height:480px){.hud-standings{top:calc(var(--hud-pad) * .6);gap:1px}.hud-standing{padding:1px 5px;font-size:10.5px}.hud-topright{top:calc(var(--hud-pad) + 78px)}}.lobby .lobby-btn{z-index:auto;position:relative;inset:auto}.lobby .settings-toggle{padding:14px 22px;font-size:clamp(16px,1.6vw,21px)}@media (max-height:480px){.lobby .settings-toggle{padding:9px 16px;font-size:15px}.version{display:none}}#ui.touch .hud-team{top:calc(var(--hud-pad) + 150px)}@media (min-width:701px){.lobby{width:min(340px,34vw);bottom:clamp(48px,12vh,120px);left:auto;right:clamp(40px,9vw,160px);transform:none}}@media (max-height:480px){.hud-topright{top:calc(var(--hud-pad) + 104px)}}#ui.touch .touch-item{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(28px + env(safe-area-inset-bottom,0px));width:92px;height:92px}#ui.touch .touch-drift{right:calc(124px + env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px))}.settings-panel,.lb-panel,.lock-panel,.online-panel,.results-panel,.pause-panel{-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 20px);overflow-y:auto}.settings,.lb,.lock-sheet,.results,.pause{padding:10px}@media (max-height:480px){.results-panel{padding:14px 18px}.results-title{font-size:36px}.standings{max-height:36vh;overflow-y:auto}.results-sub{display:none}.settings-field{margin:8px 0}}.settings.kb{align-items:flex-start}.settings.kb .settings-panel{max-height:calc(100dvh - 12px)}.settings-account{color:var(--ink-faint);font-size:11px}.hud-standing.ally{background:#3a7bff1f}.screen{z-index:10}.screen.pause,.screen.results{z-index:30}.screen.lb,.screen.settings,.screen.item-guide,.screen.garage,.screen.daily,.screen.online,.screen.lock-sheet{z-index:50}.screen.loading{z-index:70}.garage-panel{pointer-events:auto;flex-direction:column;gap:10px;width:min(1040px,96vw);max-height:92vh;padding:16px 18px 14px;display:flex}.garage-head{align-items:baseline;gap:12px;display:flex}.garage-state{letter-spacing:.04em;color:var(--ink-dim);font-size:12px}.garage-state.owned{color:var(--green)}.garage-state.auditioning{color:var(--gold)}.garage-body{grid-template-columns:minmax(280px,42%) 1fr;gap:16px;min-height:0;display:grid}.garage-stage{aspect-ratio:4/3;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:radial-gradient(120% 90% at 50% 15%,#37a8ff29,#060710e6 70%);align-self:start;min-height:240px;position:relative;overflow:hidden}.garage-canvas{width:100%;height:100%;display:block}.garage-controls{flex-direction:column;gap:10px;min-height:0;display:flex}.garage-tabs{flex-wrap:wrap;gap:6px;display:flex}.garage-tab{font:600 11px/1 var(--body);letter-spacing:.06em;border:1px solid var(--glass-border);color:var(--ink-dim);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:7px 10px}.garage-tab:hover{color:var(--ink)}.garage-tab.selected{background:var(--accent-grad);color:#080a16;border-color:#0000}.garage-rows{flex-direction:column;gap:12px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.garage-row-label{font:600 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;display:block}.garage-swatches{flex-wrap:wrap;gap:6px;display:flex}.garage-swatch{cursor:pointer;border:2px solid #0000;border-radius:7px;width:24px;height:24px;padding:0;box-shadow:inset 0 0 0 1px #00000073}.garage-swatch.selected{border-color:var(--ink);transform:scale(1.08)}.garage-swatch-default{color:var(--ink-dim);font:600 13px/1 var(--body);background:#ffffff0f}.garage-options{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;display:grid}.garage-option{border-radius:var(--radius-sm);border:1px solid var(--glass-border);color:var(--ink);font:500 12px/1.15 var(--body);text-align:left;cursor:pointer;background:#ffffff0a;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;display:flex}.garage-option:hover{background:#ffffff17}.garage-option.selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}.garage-option.locked .garage-option-name{color:var(--ink-dim)}.garage-option-lock,.garage-option-free{font:700 9px/1 var(--body);letter-spacing:.06em;white-space:nowrap;border-radius:4px;padding:3px 5px}.garage-option-lock{color:var(--gold);background:#ffd23f29}.garage-option-free{color:var(--green);background:#5cff8a24}.garage-hint{color:var(--ink-faint);margin:0;font-size:11px}.garage-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.garage-actions .garage-unlock{margin-right:auto}@media (max-height:480px){.garage-panel{max-height:96vh;padding:10px 12px 8px}.garage-body{grid-template-columns:minmax(200px,34%) 1fr;gap:10px}.garage-stage{min-height:0}.garage-options{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}@media (max-width:720px) and (orientation:portrait){.garage-body{grid-template-columns:1fr}.garage-stage{min-height:180px;max-height:30vh}}.lb-cell.lb-kart{align-items:center;gap:6px;min-width:0;display:flex}.lb-kart-thumb{object-fit:contain;flex:none;width:42px;height:27px}.lb-kart-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.online-player{grid-template-columns:auto 1fr 8em 7em}.online-player-thumb{flex:none;align-items:center;width:44px;height:28px;display:flex}.online-player-thumb img{object-fit:contain;width:100%;height:100%}.results-winner{filter:drop-shadow(0 8px 18px #00000080);width:176px;max-width:44%;margin:2px auto -6px;display:block}.badge-glyph{vertical-align:-.12em;opacity:.92;flex:none;width:1em;height:1em;margin-right:5px}.garage-option-badge{width:15px;height:15px;margin-right:2px}.garage-option-name{flex:1;min-width:0}.standing-name,.lb-cell.lb-name,.online-player-nick{align-items:center;min-width:0;display:flex}.cup-row .cup-seg{flex-wrap:wrap}.cup-chip.locked{opacity:.55}.cup-chip.locked:after{content:"🔒";margin-left:5px;font-size:.85em}.cup-chip[data-best]:not([data-best=""]):not(.locked):after{content:"★";color:var(--gold);margin-left:5px}.cup-hint{min-height:1.2em}.cup-standings{border-top:1px solid var(--glass-border);width:min(420px,92%);margin:8px auto 0;padding-top:8px}.cup-standings-head{font:700 10px/1 var(--body);letter-spacing:.1em;color:var(--ink-faint);justify-content:space-between;margin-bottom:6px;display:flex}.cup-standing{border-radius:6px;grid-template-columns:1.6em 1fr auto;align-items:center;gap:8px;padding:3px 6px;font-size:12px;display:grid}.cup-standing.you{background:#37a8ff29;font-weight:700}.cup-standing-place{color:var(--ink-faint);text-align:right}.cup-standing-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;display:flex;overflow:hidden}.cup-standing-points{color:var(--gold);font-variant-numeric:tabular-nums}@media (max-height:480px){.cup-standings{max-height:34vh;margin-top:6px;padding-top:6px;overflow-y:auto}.cup-standing{padding:2px 6px;font-size:11px}}.daily-panel{pointer-events:auto;width:min(620px,94vw);max-height:92vh;padding:18px 20px 14px;overflow-y:auto}.daily-rule{color:var(--ink-dim);margin-bottom:2px;font-size:13px}.daily-status{color:var(--gold);min-height:1.3em;margin-bottom:10px;font-size:12px}.daily-karts{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin-bottom:12px;display:grid}.daily-kart{border-radius:var(--radius-sm);border:1px solid var(--glass-border);color:var(--ink);font:600 12px/1.1 var(--body);cursor:pointer;text-align:left;background:#ffffff0d;align-items:center;gap:6px;padding:5px 8px;display:flex}.daily-kart:hover:not(.disabled){background:#ffffff1c}.daily-kart.disabled{opacity:.4;cursor:default}.daily-kart img{object-fit:contain;flex:none;width:42px;height:27px}.daily-kart-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.daily-board{border-top:1px solid var(--glass-border);padding-top:8px}.daily-row{border-radius:6px;grid-template-columns:1.8em 44px 1fr auto;align-items:center;gap:8px;padding:3px 6px;font-size:13px;display:grid}.daily-row.you{background:#37a8ff29;font-weight:700}.daily-rank{color:var(--ink-faint);text-align:right}.daily-thumb{object-fit:contain;width:44px;height:28px}.daily-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;display:flex;overflow:hidden}.daily-time{font-variant-numeric:tabular-nums}.daily-empty{color:var(--ink-faint);padding:6px;font-size:12px}@media (max-height:480px){.daily-panel{padding:10px 14px 8px}.daily-karts{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}.vehicle-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.vehicle-card{border-radius:var(--radius-sm);border:1px solid var(--glass-border);color:var(--ink);text-align:left;cursor:pointer;font:500 11px/1.25 var(--body);background:#ffffff0a;flex-direction:column;gap:3px;padding:6px 8px 8px;display:flex}.vehicle-card:hover{background:#ffffff17}.vehicle-card.selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}.vehicle-art{aspect-ratio:8/5;background:radial-gradient(110% 90% at 50% 20%,#78aaff2e,#06071080 75%);border-radius:6px;position:relative;overflow:hidden}.vehicle-art img{object-fit:contain;width:100%;height:100%;display:block}.vehicle-card.locked .vehicle-art:after{content:"";background:#080a148c;position:absolute;inset:0}.vehicle-lock{z-index:1;filter:drop-shadow(0 2px 4px #0009);place-items:center;font-size:28px;display:grid;position:absolute;inset:0}.vehicle-tag{z-index:2;font:700 9px/1 var(--body);color:#1a1400;background:#ffd23fe6;border-radius:4px;padding:2px 5px;position:absolute;top:4px;left:4px}.vehicle-name{font:700 13px/1.2 var(--body)}.vehicle-perk{color:var(--green)}.vehicle-cost{color:var(--ink-dim)}.vehicle-state{color:var(--blue);margin-top:2px;font-weight:700}.vehicle-card.locked .vehicle-name{color:var(--ink-dim)}.vehicle-card.locked .vehicle-state{color:var(--gold)}.cup-chip.cup-soon-chip,.cup-chip.cup-soon-chip:hover{opacity:.45;filter:grayscale();cursor:not-allowed;background:#ffffff08;border-style:dashed}.cup-soon-note{color:var(--ink-faint);margin-top:2px;font-size:11px}.item-guide-panel{flex-direction:column;max-width:560px;max-height:min(86vh,720px);display:flex}.item-guide-intro{color:var(--muted,#9aa3b2);margin:0 0 14px;font-size:13px;line-height:1.5}.item-guide-list{-webkit-overflow-scrolling:touch;flex-direction:column;gap:2px;margin:0 -6px;padding:0 6px;display:flex;overflow-y:auto}.item-guide-row{border-radius:10px;align-items:center;gap:12px;padding:9px 8px;display:flex}.item-guide-row:nth-child(odd){background:#ffffff0a}.item-guide-icon{flex:none;place-items:center;width:44px;height:44px;display:grid}.item-guide-icon canvas{image-rendering:auto;width:40px;height:40px}.item-guide-text{flex-direction:column;gap:2px;min-width:0;display:flex}.item-guide-name{font-family:var(--display,inherit);letter-spacing:.02em;font-size:15px}.item-guide-desc{color:var(--muted,#9aa3b2);font-size:12.5px;line-height:1.45}.settings-wide{width:100%}@media (max-width:700px),(max-height:480px){.item-guide-panel{max-height:92vh}.item-guide-icon{width:36px;height:36px}.item-guide-icon canvas{width:32px;height:32px}.item-guide-name{font-size:14px}.item-guide-desc{font-size:12px}}.hud-skill{top:var(--hud-pad);right:calc(var(--hud-pad) + clamp(84px, 8.5vw, 118px) + 14px);--skill-color:#ffd23f;background:#101126a8;border:2px solid #ffffff38;border-radius:16px;flex-direction:column;gap:6px;width:clamp(150px,15vw,214px);padding:8px 12px 9px;transition:opacity .25s;display:flex;position:absolute;box-shadow:0 10px 24px #0006}.hud-skill.off{display:none}.hud-skill-name{font-family:var(--display);letter-spacing:.04em;color:var(--skill-color);text-shadow:0 2px 4px #000c;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(14px,1.35vw,19px);overflow:hidden}.hud-skill-track{background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;height:14px;position:relative;overflow:hidden}.hud-skill-fill{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--skill-color) 70%, #000), var(--skill-color));width:0;height:100%;transition:width .15s linear}.hud-skill-key{letter-spacing:.04em;color:var(--ink-dim);white-space:nowrap;align-items:center;gap:5px;font-family:Microsoft JhengHei,PingFang TC,system-ui,sans-serif;font-size:13px;font-weight:700;display:flex}.hud-skill-kbd{color:#1a0a2e;background:#f4f6ff;border-radius:5px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-family:Arial,sans-serif;font-size:13px;font-weight:900;display:inline-grid;box-shadow:0 2px #00000080}#ui.touch .hud-skill-key{display:none}.hud-skill.ready{border-color:var(--skill-color);animation:.7s ease-in-out infinite alternate skill-ready}.hud-skill.ready .hud-skill-fill{background:linear-gradient(90deg, var(--skill-color), #fff, var(--skill-color));background-size:200% 100%;animation:.9s linear infinite skill-shimmer}.hud-skill.ready .hud-skill-key{color:#fff}@keyframes skill-ready{0%{box-shadow:0 0 6px color-mix(in srgb, var(--skill-color) 60%, transparent), 0 10px 24px #0006;transform:scale(1)}to{box-shadow:0 0 26px var(--skill-color), 0 10px 24px #0006;transform:scale(1.04)}}@keyframes skill-shimmer{0%{background-position:0 0}to{background-position:200% 0}}.hud-skill-toast{top:calc(var(--hud-pad) + 84px);right:calc(var(--hud-pad) + clamp(84px, 8.5vw, 118px) + 14px);color:#fff;font-family:var(--display);white-space:nowrap;opacity:0;background:#c81e3cd9;border-radius:999px;padding:5px 12px;font-size:14px;position:absolute}.hud-skill-toast.show{animation:1.4s ease-out both skill-toast}@keyframes skill-toast{0%{opacity:0;transform:translateY(-6px)}12%,75%{opacity:1;transform:none}to{opacity:0}}.hud-skill-banners{pointer-events:none;justify-content:center;display:flex;position:absolute;top:13%;left:0;right:0}.hud-skill-banner{font-family:var(--display);letter-spacing:.06em;color:#fff;white-space:nowrap;-webkit-text-stroke:3px #1a0a2e;paint-order:stroke fill;filter:drop-shadow(0 6px #0006);animation:banner-in var(--ttl,1.5s) var(--ease-out) both;padding:8px 46px;font-size:clamp(30px,4.8vw,66px);font-weight:900;position:relative}.hud-skill-banner:before{content:"";z-index:-1;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--skill-color) 75%, transparent) 30%, color-mix(in srgb, var(--skill-color) 75%, transparent) 70%, transparent);position:absolute;inset:6% -70px;transform:skew(-12deg)}.hud-skill-chips{right:var(--hud-pad);top:calc(var(--hud-pad) + 232px);flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute}.hud-skill-chip{font-family:var(--display);letter-spacing:.05em;color:#fff;border:2px solid #ffffffb3;border-radius:999px;padding:6px 14px;font-size:clamp(15px,1.6vw,22px);animation:.6s ease-in-out infinite alternate chip-pulse;box-shadow:0 6px 16px #00000073}.hud-skill-chip.bad{background:#dc1e5ae0}.hud-skill-chip.own{background:#1e78e6d9;animation:none}@keyframes chip-pulse{0%{transform:scale(1)}to{transform:scale(1.07)}}.hud.skill-hidehud .hud-item,.hud.skill-hidehud .hud-standings,.hud.skill-hidehud .hud-minimap,.hud.skill-hidehud .hud-speed,.hud.skill-hidehud .hud-topright,.hud.skill-hidehud .hud-place,.hud.skill-hidehud .hud-skill,.hud.skill-hidehud .hud-mirror,.hud.skill-hidehud .hud-team{transition:opacity .25s;opacity:0!important}.hud.skill-noitems .item-frame{filter:grayscale()brightness(.7)}.hud.skill-noitems .item-frame:after{content:"✕";font-family:var(--display);color:#ff3a5a;text-shadow:0 3px 8px #000000b3;place-items:center;font-size:64px;display:grid;position:absolute;inset:0}.skill-masks{pointer-events:none;position:absolute;inset:0;overflow:hidden}.skill-masks.blind{background:radial-gradient(at 50% 55%,#0000001a 20%,#0000008c 85%)}.skill-mask{position:absolute;inset:0}.skill-bubble{color:#163a8a;white-space:nowrap;transform:rotate(var(--rot,0deg));animation:bubble-pop .3s var(--ease-pop) both;background:#fffc;border:3px solid #2a6ad8;border-radius:1.2em;padding:.55em .9em;font-family:Microsoft JhengHei,PingFang TC,sans-serif;font-size:clamp(18px,2.6vw,38px);font-weight:900;position:absolute;box-shadow:0 6px 14px #00145059}.skill-bubble:after{content:"";border:8px solid #0000;border-top:10px solid #2a6ad8;position:absolute;bottom:-14px;left:22%}@keyframes bubble-pop{0%{transform:rotate(var(--rot,0deg)) scale(.2);opacity:0}to{transform:rotate(var(--rot,0deg)) scale(1);opacity:1}}.skill-mask-danmaku{background:#0808146b}.skill-danmaku{color:#fff;white-space:nowrap;text-shadow:0 0 4px #000,0 2px #000,0 0 12px #ff3a5acc;font-family:Microsoft JhengHei,PingFang TC,sans-serif;font-size:clamp(22px,3.4vw,50px);font-weight:900;animation:2.6s linear infinite danmaku;position:absolute;left:100%}.skill-danmaku:nth-child(3n){color:#ffe23a}.skill-danmaku:nth-child(4n){color:#7af0ff}@keyframes danmaku{0%{transform:translate(0)}to{transform:translate(-180vw)}}.skill-mask-invertText{background:#ff3ab81f}.skill-invert-text{text-align:center;font-family:var(--display);color:#ff3ab89e;-webkit-text-stroke:3px #ffffffb3;font-size:clamp(54px,9vw,140px);animation:.5s ease-in-out infinite alternate invert-wobble;position:absolute;top:28%;left:0;right:0}@keyframes invert-wobble{0%{transform:rotate(-6deg)scale(1)}to{transform:rotate(6deg)scale(1.06)}}.skill-mask-purple{background:radial-gradient(#aa50e652,#6e1eaa9e)}.skill-cloud-text{text-align:center;font-family:var(--display);color:#ffe6ff8c;font-size:clamp(36px,5vw,76px);position:absolute;top:40%;left:0;right:0}.skill-mask-ad{background:#00000038}.skill-ad{text-align:center;background:#ffffffb8;border:6px solid #d8306a;border-radius:22px;width:min(48vw,620px);padding:4vh 2vw;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(-3deg);box-shadow:0 16px 40px #0006}.skill-ad-badge{color:#1a0a2e;font-family:var(--display);background:#ffd23f;border-radius:6px;padding:2px 10px;font-size:20px;position:absolute;top:10px;left:14px}.skill-ad-text{font-family:var(--display);color:#d8306a;letter-spacing:.1em;font-size:clamp(48px,7vw,110px)}.skill-note{color:#ff7ad0;text-shadow:0 0 6px #fff,0 3px 6px #0006;font-size:clamp(36px,5vw,72px);animation:2.6s linear infinite note-rise;position:absolute;bottom:-12%}@keyframes note-rise{0%{opacity:.9;transform:translate(0)rotate(-10deg)}50%{transform:translate(4vw,-55vh)rotate(10deg)}to{opacity:.2;transform:translate(-2vw,-115vh)rotate(-10deg)}}.skill-mask-caption{background:#0000002e}.skill-caption{text-align:center;color:#ffe23a;-webkit-text-stroke:6px #000;paint-order:stroke fill;animation:caption-slam .25s var(--ease-pop) both;background:#00000080;padding:2vh 0;font-family:Microsoft JhengHei,PingFang TC,sans-serif;font-size:clamp(64px,12vw,190px);font-weight:900;line-height:1;position:absolute;top:38%;left:0;right:0}@keyframes caption-slam{0%{opacity:0;transform:scale(1.8)}to{opacity:1;transform:scale(1)}}.touch-skill{bottom:calc(34px + env(safe-area-inset-bottom,0px));right:calc(240px + env(safe-area-inset-right,0px));opacity:.6;width:70px;height:70px;font-size:26px}.touch-skill.off{display:none}.touch-skill.ready{opacity:1;background:#ffaa1e99;border-color:#ffd23f;animation:.6s ease-in-out infinite alternate touch-skill-ready}@keyframes touch-skill-ready{0%{box-shadow:0 0 6px #ffd23f80}to{box-shadow:0 0 24px #ffd23f}}@media (max-height:480px){.hud-skill-chips{right:auto;left:var(--hud-pad);top:calc(var(--hud-pad) + 158px);align-items:flex-start}.hud-skill-chip{padding:4px 10px;font-size:14px}.touch-skill{width:62px;height:62px}}.panel-tracks{justify-content:flex-start;gap:1.4vh}.panel-tracks .select-header{align-items:baseline;gap:14px;width:min(93vw,1240px);margin:0 auto;display:flex;position:static}.panel-tracks .select-header .panel-title{margin:0;font-size:clamp(24px,2.4vw,38px)}.panel-tracks .card-grid{flex:auto;align-content:center;gap:10px;min-height:0;padding:4px;overflow-y:auto}.track-card{padding:10px 12px 8px}.track-card .track-art{height:clamp(60px,33.3vh - 132px,170px)}.track-card .track-name-row{margin-top:6px}.track-card .card-name{font-size:clamp(16px,1.5vw,22px)}.track-card .track-meta{display:none}@media (max-height:900px){.track-card .card-tag{display:none}}@media (min-height:901px){.track-card .track-art{height:clamp(60px,33.3vh - 178px,180px)}}.panel-tracks .select-footer{flex:none;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"mode diff.actions""cup cup cup actions";align-items:center;gap:8px 22px;padding:10px 18px;display:grid}.panel-tracks .race-mode{grid-area:mode}.panel-tracks .select-footer>.difficulty:not(.race-mode):not(.cup-row){grid-area:diff}.panel-tracks .cup-row{grid-area:cup}.panel-tracks .select-footer .actions{grid-area:actions;align-self:stretch;align-items:center}.panel-tracks .select-footer .difficulty{flex-wrap:nowrap;gap:10px;min-width:0}.panel-tracks .select-footer .difficulty-label{letter-spacing:.15em;white-space:nowrap}.panel-tracks .select-footer .seg,.panel-tracks .select-footer .btn{white-space:nowrap}.panel-tracks .select-footer .seg{letter-spacing:.08em;padding:7px 14px}.panel-tracks .race-mode .segmented .seg{font-size:13px}.panel-tracks .cup-row .cup-seg{scrollbar-width:none;flex-wrap:nowrap;min-width:0;overflow-x:auto}.panel-tracks .cup-row .cup-seg::-webkit-scrollbar{display:none}.panel-tracks .difficulty-blurb{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.panel-tracks .cup-soon-note{display:none}@media (max-width:1500px){.panel-tracks .select-footer>.difficulty:not(.race-mode):not(.cup-row) .difficulty-blurb{display:none}}@media (max-width:1100px){.panel-tracks .select-footer{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"mode diff""cup cup""actions actions"}.panel-tracks .select-footer .actions{justify-content:center}}@media (max-width:700px){.panel-tracks .select-footer{grid-template-columns:minmax(0,1fr);grid-template-areas:"mode""diff""cup""actions"}}@media (max-height:480px){.panel-tracks{gap:6px}.panel-tracks .panel-kicker{display:none}.panel-tracks .select-header .panel-title{font-size:20px}.panel-tracks .card-grid{flex:none;align-content:start;gap:8px;overflow:visible}.track-card{padding:6px 8px}.track-card .track-art{height:74px}.track-card .track-name-row{margin-top:4px}.track-card .card-name{font-size:14px}.track-card .stars{font-size:12px}.panel-tracks .select-footer{grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"mode diff.actions""cup cup cup actions";gap:6px 10px;padding:6px 10px}.panel-tracks .select-footer .difficulty-label,.panel-tracks .difficulty-blurb,.panel-tracks .cup-hint{display:none}.panel-tracks .select-footer .segmented{padding:2px}.panel-tracks .select-footer .seg,.panel-tracks .race-mode .segmented .seg{letter-spacing:.04em;padding:5px 9px;font-size:12px}.panel-tracks .select-footer .actions{gap:8px;width:auto}.panel-tracks .select-footer .actions .btn{flex:none;min-height:0;padding:8px 14px;font-size:14px}}@media (max-height:480px) and (min-width:600px){.panel-chars{gap:6px}.panel-chars .select-header .panel-title{font-size:20px;line-height:1.2}.char-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.char-card{padding:5px 6px}.char-card .char-swatch,.char-card.has-thumb .char-swatch{height:38px}.char-card .card-name{white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:13px;overflow:hidden}.char-card .pill,.char-card .lock-badge{display:none}.panel-chars .select-footer{gap:8px;padding:5px 10px}.panel-chars .select-footer .btn{min-height:0;padding:7px 14px;font-size:14px}.panel-chars .select-info-name{font-size:17px}}@media (max-height:380px) and (min-width:600px){.char-card .char-swatch,.char-card.has-thumb .char-swatch{height:30px}.char-card .card-name{font-size:12px}}.results-share{justify-content:center;gap:10px;margin:10px 0 2px;display:flex}.results-share[hidden]{display:none}.btn.share-threads{color:#fff;background:#101010;border:1px solid #ffffff59}.btn.share-threads:before{content:"@";margin-right:6px;font-weight:900}.btn.share-threads:hover,.btn.share-threads.focused{background:#000;border-color:#fff}.settings-privacy{opacity:.75;margin-top:6px;font-size:11.5px}.talk-layer{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}#ui:not([data-state=racing]):not([data-state=countdown]):not([data-state=finished]) .talk-layer{display:none}.talk-bubble{color:#111;border:3px solid var(--talk-c,#888);text-align:center;white-space:nowrap;text-overflow:ellipsis;will-change:transform;max-width:min(46vw,520px);animation:talk-pop .18s var(--ease-out,ease-out) both;background:#fff;border-radius:18px;margin-top:-14px;padding:6px 14px 7px;font-size:clamp(15px,1.7vw,22px);font-weight:900;line-height:1.25;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 4px 14px #00000059}.talk-bubble:after{content:"";border-right:3px solid var(--talk-c,#888);border-bottom:3px solid var(--talk-c,#888);background:#fff;width:16px;height:16px;margin-left:-8px;position:absolute;bottom:-11px;left:50%;transform:rotate(45deg)}.talk-bubble .talk-name{color:var(--talk-c,#555);letter-spacing:.08em;margin-bottom:1px;font-size:.62em;display:block}.talk-sub{border:2px solid var(--talk-c,#888);color:#fff;white-space:nowrap;max-width:min(84vw,760px);animation:talk-sub-in .2s var(--ease-out,ease-out) both;background:#0a0c1ed1;border-radius:999px;align-items:center;gap:10px;padding:8px 18px 8px 8px;font-size:clamp(17px,2vw,26px);font-weight:900;display:flex;position:absolute;bottom:calc(clamp(120px,24vh,190px) + 58px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0006}.talk-sub .talk-name{background:var(--talk-c,#888);color:#fff;letter-spacing:.08em;text-shadow:0 1px 2px #00000080;border-radius:999px;flex:none;padding:3px 12px;font-size:.7em}.talk-sub .talk-text{text-overflow:ellipsis;overflow:hidden}@keyframes talk-pop{0%{opacity:0;margin-top:0}to{opacity:1;margin-top:-14px}}@keyframes talk-sub-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (max-height:480px){.talk-bubble{border-width:2px;padding:4px 10px 5px;font-size:14px}.talk-sub{padding:5px 12px 5px 5px;font-size:15px;bottom:96px}}.disclaimer{z-index:1000;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);background:#060614db;justify-content:center;align-items:center;animation:.25s ease-out both disclaimer-in;display:flex;position:fixed;inset:0;overflow-y:auto}.disclaimer.closing{opacity:0;transition:opacity .2s ease-out}.disclaimer-panel{color:#fff;text-align:center;background:linear-gradient(#221e46f5,#121028f5);border:1px solid #ffffff29;border-radius:20px;width:min(640px,100%);margin:auto;padding:22px 26px 18px;box-shadow:0 20px 60px #00000080}.disclaimer-kicker{letter-spacing:.3em;color:#ffffff8c;font-size:12px}.disclaimer-title{letter-spacing:.12em;color:#ffd23f;margin:4px 0 12px;font-size:clamp(26px,4vw,36px);font-weight:900}.disclaimer-list{text-align:left;margin:0 0 16px;padding:0;list-style:none}.disclaimer-list li{color:#ffffffe6;border-top:1px solid #ffffff12;padding:6px 0 6px 22px;font-size:clamp(14px,1.6vw,16px);line-height:1.55;position:relative}.disclaimer-list li:first-child{border-top:0}.disclaimer-list li:before{content:"";background:#ff3ab8;border-radius:50%;width:8px;height:8px;position:absolute;top:15px;left:4px}.disclaimer-ok{min-width:220px}.disclaimer-author{color:#ffffff80;letter-spacing:.1em;margin-top:10px;font-size:12px}@keyframes disclaimer-in{0%{opacity:0}to{opacity:1}}@media (max-height:480px){.disclaimer-panel{padding:12px 18px 10px}.disclaimer-title{margin:0 0 6px;font-size:22px}.disclaimer-kicker{display:none}.disclaimer-list{margin-bottom:8px}.disclaimer-list li{padding:3px 0 3px 18px;font-size:12.5px;line-height:1.4}.disclaimer-list li:before{width:6px;height:6px;top:9px}.disclaimer-ok{padding-top:8px;padding-bottom:8px}.disclaimer-author{margin-top:4px}}.title-satire{letter-spacing:.08em;color:#ffffffb8;text-shadow:0 1px 3px #000c;pointer-events:none;font-size:12px;position:absolute;bottom:3vh;left:3vw}@media (max-width:700px),(max-height:480px){.title-satire{left:0;right:0;bottom:calc(22px + env(safe-area-inset-bottom,0px));text-align:center;font-size:10px}}.rotate-gate{background:radial-gradient(circle at 50% 30%,#3a2a8af2,#060612fa 70%);gap:8px}.rotate-gate-logo{letter-spacing:.18em;text-indent:.18em;color:#ffd23f;text-shadow:0 3px #ff3ab8,0 0 24px #ff3ab880;font-size:44px;font-weight:900}.rotate-gate-pitch{color:#ffffffd9;letter-spacing:.2em;font-size:15px}.rotate-gate-free{color:#111;background:#ffd23f;border-radius:6px;margin-bottom:18px;padding:4px 12px;font-size:13px;font-weight:800}.rotate-gate-title{font-size:20px;font-weight:800}.rotate-gate-body{max-width:300px;margin-top:6px;font-size:12.5px;line-height:1.6}.rotate-gate-fs{color:#111;background:#ffd23f;border:0;border-radius:10px;margin-top:4px;padding:10px 22px;font-size:16px;font-weight:800;box-shadow:0 4px 14px #00000080}.rotate-gate-fs:disabled{color:#c9d1db;background:#2a313c;font-size:13px;font-weight:600}.inapp-banner{top:calc(6px + env(safe-area-inset-top,0px));z-index:900;box-sizing:border-box;color:#fff;white-space:nowrap;background:#11151cf2;border:1px solid #ffd23f8c;border-radius:12px;align-items:center;gap:10px;max-width:96vw;padding:5px 34px 5px 12px;font-size:12.5px;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0009}.inapp-btns{gap:8px;display:flex}.inapp-btns button{color:#111;background:#ffd23f;border:0;border-radius:8px;padding:5px 10px;font-size:12.5px;font-weight:800}.inapp-btns .inapp-copy{color:#fff;background:#2a313c;border:1px solid #fff3}.inapp-sub{color:#9aa4b1;font-size:11px;font-weight:400}.inapp-url{color:#ffd23f;text-align:center;box-sizing:border-box;background:#05070a;border:1px solid #fff3;border-radius:6px;width:100%;margin-top:4px;padding:4px;font:600 12px monospace;display:block}.inapp-x,.home-tip-x{color:#9aa4b1;background:0 0;border:0;width:28px;height:28px;font-size:20px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}@media (orientation:portrait){.inapp-banner{white-space:normal;text-align:center;flex-direction:column;gap:6px;width:min(94vw,440px);padding:10px 34px 10px 14px;font-size:14px}.inapp-x{top:6px;transform:none}.rotate-gate{padding-top:150px}}.home-tip{top:calc(8px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));z-index:50;color:#ffd23f;background:#11151ce0;border:1px solid #ffd23f73;border-radius:10px;align-items:center;gap:8px;max-width:min(46vw,380px);padding:6px 34px 6px 10px;font-size:11.5px;line-height:1.4;display:flex;position:fixed}.home-tip.hidden,.home-tip-btn.hidden{display:none}@media (orientation:portrait){.home-tip{display:none}}.home-tip-btn{color:#111;background:#ffd23f;border:0;border-radius:8px;flex:none;padding:5px 10px;font-size:12px;font-weight:800}
