.pers{--pers-skin: #080b1a;--pers-ink: var(--c-text, #e9eefb);--pers-dim: var(--c-text-dim, #97a5c2);--pers-near: var(--c-near, #22d3ee);--pers-far: var(--c-far, #f43f5e);--pers-accent: var(--c-accent, #a855f7);--pers-edge: rgb(233 238 251 / .22);--pers-halo: rgb(34 211 238 / .18);--pers-hot: var(--pers-near);--pers-tilt: 0deg;--pers-round: 1.4rem;--pers-ink-shadow: 0 1px 0 rgb(0 0 0 / .6);position:absolute;inset:0;z-index:1;pointer-events:none;font-family:var(--font-ui, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);contain:layout style}.pers [hidden]{display:none!important}.pers__slot{position:absolute;display:flex;transform:rotate(var(--pers-tilt));will-change:transform,opacity}.pers__bubble{position:relative;padding:var(--sp-3, .75rem) var(--sp-4, 1rem);max-width:100%;border:2px solid var(--pers-edge);border-radius:var(--pers-round);background:var(--pers-skin);color:var(--pers-ink);box-shadow:0 .9rem 2.4rem #0000008c,0 0 1.8rem var(--pers-halo),inset 0 1px #ffffff17}.pers__bubble:after{content:"";position:absolute;width:1.05rem;height:1.05rem;background:var(--pers-skin);border-bottom-right-radius:.2rem;transform:rotate(45deg)}.pers__line{margin:0;font-size:clamp(.9rem,.8rem + .45vw,1.15rem);font-weight:700;line-height:1.25;letter-spacing:.005em;text-wrap:balance;text-shadow:var(--pers-ink-shadow)}.pers__stack{position:absolute;left:50%;bottom:clamp(3.25rem,9vh,6rem);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3, .75rem);width:min(42rem,90vw);transform:translate(-50%)}.pers__slot--say{--pers-tilt: -1.1deg;--pers-halo: rgb(168 85 247 / .22);position:static;justify-content:center;max-width:100%}.pers__slot--say .pers__bubble{border-bottom-left-radius:.5rem}.pers__slot--say .pers__bubble:after{left:1.9rem;bottom:-.6rem;border-right:2px solid var(--pers-edge);border-bottom:2px solid var(--pers-edge)}.pers__slot--taunt{--pers-tilt: 1.6deg;--pers-halo: rgb(244 63 94 / .24);top:clamp(5.5rem,16vh,11rem);left:max(var(--sp-4, 1rem),env(safe-area-inset-left));max-width:min(21rem,46vw);flex-direction:column}.pers__slot--taunt .pers__bubble{border-color:#f43f5e73;border-top-right-radius:.5rem}.pers__slot--taunt .pers__bubble:after{right:1.6rem;top:-.6rem;border-top:2px solid rgb(244 63 94 / .45);border-right:2px solid rgb(244 63 94 / .45);border-bottom-right-radius:0;border-top-right-radius:.2rem}.pers__who{display:block;margin-bottom:.15rem;font-size:var(--fs-micro, .68rem);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--pers-far)}.pers__bubble--taunt[data-mood=rookie]{border-color:#22d3ee66;--pers-halo: rgb(34 211 238 / .2)}.pers__bubble--taunt[data-mood=rookie]:after{border-top-color:#22d3ee66;border-right-color:#22d3ee66}.pers__bubble--taunt[data-mood=rookie] .pers__who{color:var(--pers-near)}.pers__bubble--taunt[data-mood=singularity]{border-color:#a855f78c;--pers-halo: rgb(168 85 247 / .3)}.pers__bubble--taunt[data-mood=singularity]:after{border-top-color:#a855f78c;border-right-color:#a855f78c}.pers__bubble--taunt[data-mood=singularity] .pers__who{color:var(--pers-accent)}.pers__hype{position:absolute;top:clamp(6rem,17vh,12rem);right:max(var(--sp-4, 1rem),env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;transform-origin:100% 50%;will-change:transform}.pers__hype-count{font-family:var(--font-num, ui-monospace, Menlo, Consolas, monospace);font-size:clamp(2.1rem,1rem + 4.2vw,3.8rem);font-weight:800;line-height:.88;font-variant-numeric:tabular-nums;color:var(--pers-hot);text-shadow:0 2px 0 rgb(0 0 0 / .55),0 0 1.8rem var(--pers-hot)}.pers__hype-count:before{content:"×";margin-right:.08em;font-size:.55em;opacity:.65}.pers__hype-label{font-size:var(--fs-micro, .7rem);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--pers-dim);text-shadow:var(--pers-ink-shadow)}.pers__hype[data-tier="2"],.pers__hype[data-tier="3"]{--pers-hot: var(--pers-accent)}.pers__hype[data-tier="4"],.pers__hype[data-tier="5"],.pers__hype[data-tier="6"],.pers__hype[data-tier="7"]{--pers-hot: var(--pers-far)}.pers__hype[data-tier="4"] .pers__hype-label,.pers__hype[data-tier="5"] .pers__hype-label,.pers__hype[data-tier="6"] .pers__hype-label,.pers__hype[data-tier="7"] .pers__hype-label{color:var(--pers-hot)}.pers__medal{--pers-medal: var(--pers-near);--pers-medal-glow: rgb(34 211 238 / .35);--pers-tilt: -.9deg;display:flex;align-items:center;gap:var(--sp-3, .75rem);padding:var(--sp-2, .5rem) var(--sp-5, 1.5rem) var(--sp-2, .5rem) var(--sp-2, .5rem);border:2px solid var(--pers-medal);border-radius:999px;background:linear-gradient(120deg,var(--pers-skin) 55%,rgb(255 255 255 / .06));box-shadow:0 .8rem 2rem #0000008c,0 0 1.6rem var(--pers-medal-glow);transform:rotate(var(--pers-tilt));will-change:transform,opacity}.pers__medal-glyph{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:var(--pers-medal);color:#04050c;font-size:1.15rem;font-weight:800;line-height:1}.pers__medal-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.pers__medal-label{font-size:clamp(.85rem,.78rem + .3vw,1.05rem);font-weight:800;letter-spacing:.02em;color:var(--pers-ink);text-shadow:var(--pers-ink-shadow)}.pers__medal-note{font-size:var(--fs-micro, .72rem);color:var(--pers-dim)}.pers__medal[data-medal=rally-15],.pers__medal[data-medal=supersonic]{--pers-medal: var(--pers-accent);--pers-medal-glow: rgb(168 85 247 / .4)}.pers__medal[data-medal=shutout],.pers__medal[data-medal=comeback],.pers__medal[data-medal=match-point-saved]{--pers-medal: var(--c-focus, #fde047);--pers-medal-glow: rgb(253 224 71 / .35)}.is-in-a{animation:pers-in-a .42s cubic-bezier(.18,1.5,.42,1) both}.is-in-b{animation:pers-in-b .42s cubic-bezier(.18,1.5,.42,1) both}.is-out-a{animation:pers-out-a .24s cubic-bezier(.5,0,.75,0) both}.is-out-b{animation:pers-out-b .24s cubic-bezier(.5,0,.75,0) both}.is-beat-a{animation:pers-beat-a .26s cubic-bezier(.22,1,.36,1) both}.is-beat-b{animation:pers-beat-b .26s cubic-bezier(.22,1,.36,1) both}@keyframes pers-in-a{0%{opacity:0;transform:translateY(.85rem) scale(.7) rotate(calc(var(--pers-tilt) * 3))}55%{opacity:1;transform:translateY(-.14rem) scale(1.07) rotate(calc(var(--pers-tilt) * 1.7))}78%{transform:translateY(.04rem) scale(.975) rotate(var(--pers-tilt))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--pers-tilt))}}@keyframes pers-in-b{0%{opacity:0;transform:translateY(.85rem) scale(.7) rotate(calc(var(--pers-tilt) * 3))}55%{opacity:1;transform:translateY(-.14rem) scale(1.07) rotate(calc(var(--pers-tilt) * 1.7))}78%{transform:translateY(.04rem) scale(.975) rotate(var(--pers-tilt))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--pers-tilt))}}@keyframes pers-out-a{0%{opacity:1;transform:translateY(0) scale(1) rotate(var(--pers-tilt))}to{opacity:0;transform:translateY(.5rem) scale(.88) rotate(var(--pers-tilt))}}@keyframes pers-out-b{0%{opacity:1;transform:translateY(0) scale(1) rotate(var(--pers-tilt))}to{opacity:0;transform:translateY(.5rem) scale(.88) rotate(var(--pers-tilt))}}@keyframes pers-beat-a{0%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes pers-beat-b{0%{transform:scale(1.22)}to{transform:scale(1)}}@media(max-width:30rem){.pers__slot--taunt{top:clamp(8rem,30vh,14rem);max-width:min(17rem,62vw)}.pers__hype{top:clamp(8.5rem,32vh,15rem)}.pers__stack{bottom:clamp(4rem,12vh,7rem);width:min(28rem,94vw)}.pers__medal-note{display:none}}@media(max-height:34rem){.pers__slot--taunt,.pers__hype{top:clamp(4rem,26vh,8rem)}.pers__stack{bottom:var(--sp-3, .75rem)}}@media(prefers-contrast:more){.pers{--pers-skin: #05070f;--pers-edge: #dbe6fb;--pers-halo: transparent;--pers-dim: #d5deef;--pers-ink-shadow: none}.pers__bubble,.pers__medal{box-shadow:none}.pers__hype-count{text-shadow:none}.pers__slot--taunt .pers__bubble,.pers__slot--taunt .pers__bubble:after{border-color:var(--pers-edge)}}@media(prefers-reduced-motion:reduce){.pers__slot,.pers__hype,.pers__medal{will-change:auto}@keyframes pers-in-a{0%{opacity:0}to{opacity:1}}@keyframes pers-in-b{0%{opacity:0}to{opacity:1}}@keyframes pers-out-a{0%{opacity:1}to{opacity:0}}@keyframes pers-out-b{0%{opacity:1}to{opacity:0}}@keyframes pers-beat-a{0%{opacity:.85}to{opacity:1}}@keyframes pers-beat-b{0%{opacity:.85}to{opacity:1}}.is-in-a,.is-in-b{animation-duration:.2s;animation-timing-function:linear}.is-beat-a,.is-beat-b{animation-duration:.12s}}:root{color-scheme:dark;--c-bg: #04050c;--c-bg-glow: #0d1030;--c-surface: rgb(10 14 30 / .74);--c-surface-strong: rgb(8 11 24 / .92);--c-line: rgb(148 163 184 / .2);--c-line-strong: rgb(148 163 184 / .4);--c-text: #e9eefb;--c-text-dim: #97a5c2;--c-near: #22d3ee;--c-far: #f43f5e;--c-accent: #a855f7;--c-focus: #fde047;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--r-sm: .375rem;--r-md: .75rem;--r-lg: 1.25rem;--r-full: 999px;--sh-panel: 0 1.5rem 4.5rem rgb(0 0 0 / .6);--sh-near: 0 0 1.4rem rgb(34 211 238 / .45);--sh-far: 0 0 1.4rem rgb(244 63 94 / .45);--sh-inset: inset 0 1px 0 rgb(255 255 255 / .06);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .12s;--dur-slow: .32s;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-micro: clamp(.62rem, .55rem + .25vw, .78rem);--fs-hud: clamp(.72rem, .62rem + .35vw, .95rem);--fs-body: clamp(.85rem, .78rem + .35vw, 1.05rem);--fs-lead: clamp(1rem, .9rem + .5vw, 1.3rem);--fs-score: clamp(2rem, 1rem + 5.5vw, 4.5rem);--fs-title: clamp(2.5rem, 1.2rem + 7vw, 6rem);--pad-edge: max(var(--sp-3), env(safe-area-inset-top)) max(var(--sp-3), env(safe-area-inset-right)) max(var(--sp-3), env(safe-area-inset-bottom)) max(var(--sp-3), env(safe-area-inset-left))}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(120% 90% at 50% -10%,var(--c-bg-glow) 0%,transparent 62%),var(--c-bg);color:var(--c-text);font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.5;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}#app{position:fixed;inset:0}#app>canvas{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;touch-action:none}[hidden]{display:none!important}.ui{position:absolute;inset:0;z-index:1;display:grid;pointer-events:none;font-size:var(--fs-body)}.ui button{font:inherit;color:inherit;cursor:pointer;pointer-events:auto}.ui :focus-visible{outline:3px solid var(--c-focus);outline-offset:3px}.hud{position:absolute;inset:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:"top controls" "serve serve" "stats stats";gap:var(--sp-3);padding:var(--pad-edge);pointer-events:none}.hud__top{grid-area:top;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);justify-self:center;grid-column:1 / -1;grid-row:1}.score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(var(--sp-3),3vw,var(--sp-7))}.score__side{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);min-width:0}.score__name{font-size:var(--fs-hud);font-weight:600;letter-spacing:.14em;text-transform:uppercase;max-width:9ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score__value{font-family:var(--font-num);font-size:var(--fs-score);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.score__side--near .score__name,.score__side--near .score__value{color:var(--c-near);text-shadow:var(--sh-near)}.score__side--far .score__name,.score__side--far .score__value{color:var(--c-far);text-shadow:var(--sh-far)}.score__sep{font-size:var(--fs-lead);color:var(--c-text-dim)}.score__target{margin:0;font-size:var(--fs-micro);letter-spacing:.22em;text-transform:uppercase;color:var(--c-text-dim)}.hud__controls{grid-area:controls;display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start;gap:var(--sp-2);grid-row:1;grid-column:2;z-index:1}.chip{display:inline-flex;align-items:baseline;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--c-line);border-radius:var(--r-full);background:var(--c-surface);backdrop-filter:blur(10px);box-shadow:var(--sh-inset);font-size:var(--fs-hud);transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.chip:hover{border-color:var(--c-line-strong);background:var(--c-surface-strong)}.chip__key{font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-dim)}.chip__value{font-weight:600;color:var(--c-accent)}.chip--solo{font-weight:600;letter-spacing:.1em;text-transform:uppercase}.chip[aria-pressed=true] .chip__value{color:var(--c-far)}.hud__stats{grid-area:stats;display:flex;flex-wrap:wrap;gap:var(--sp-2) clamp(var(--sp-4),3vw,var(--sp-6));align-items:flex-end}.stat{display:flex;flex-direction:column;gap:var(--sp-1)}.stat__key{font-size:var(--fs-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--c-text-dim)}.stat__figure{display:flex;align-items:baseline;gap:var(--sp-1)}.stat__value{font-family:var(--font-num);font-size:var(--fs-lead);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.stat__unit{font-size:var(--fs-micro);color:var(--c-text-dim)}.serve{grid-area:serve;place-self:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);border-radius:var(--r-lg);background:#04050c66;backdrop-filter:blur(6px);animation:ui-pop var(--dur-slow) var(--ease-out)}.serve__label{font-size:var(--fs-micro);letter-spacing:.3em;text-transform:uppercase;color:var(--c-text-dim)}.serve__count{font-family:var(--font-num);font-size:clamp(2.5rem,1rem + 7vw,5rem);font-weight:700;line-height:1;color:var(--c-accent);text-shadow:0 0 2rem rgb(168 85 247 / .6)}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:var(--pad-edge);pointer-events:auto;background:radial-gradient(90% 70% at 50% 0%,rgb(13 16 48 / .75) 0%,transparent 70%),#020309c7;backdrop-filter:blur(14px);animation:ui-fade var(--dur-slow) var(--ease-out)}.overlay__panel{display:flex;flex-direction:column;gap:var(--sp-5);width:min(58rem,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:clamp(var(--sp-4),3vw,var(--sp-7));border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-panel),var(--sh-inset);animation:ui-pop var(--dur-slow) var(--ease-out)}.overlay--compact .overlay__panel{width:min(34rem,100%);text-align:center;align-items:stretch}.overlay__title{margin:0;font-size:clamp(1.6rem,1rem + 3vw,2.75rem);font-weight:700;letter-spacing:-.02em;line-height:1.1}.overlay--near .overlay__title{color:var(--c-near);text-shadow:var(--sh-near)}.overlay--far .overlay__title{color:var(--c-far);text-shadow:var(--sh-far)}.overlay__lead{margin:0;color:var(--c-text-dim)}.overlay__stats{display:flex;justify-content:center;gap:var(--sp-5)}.overlay--compact .stat{align-items:center}.overlay__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.overlay--compact .overlay__actions,.score--final{justify-content:center}.button{flex:1 1 8rem;padding:var(--sp-3) var(--sp-5);border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:#ffffff0a;font-size:var(--fs-body);font-weight:600;letter-spacing:.04em;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.button:hover{background:#ffffff1a;border-color:var(--c-near)}.button:active{transform:translateY(1px)}.button--primary{flex:1 1 14rem;border-color:transparent;background:linear-gradient(135deg,var(--c-near),var(--c-accent));color:#04050c;text-transform:uppercase;letter-spacing:.14em;box-shadow:var(--sh-near)}.button--primary:hover{background:linear-gradient(135deg,#67e8f9,var(--c-accent));border-color:transparent}.button--ghost{background:transparent;border-color:var(--c-line);color:var(--c-text-dim)}.button--ghost:hover{color:var(--c-text)}.menu__head{display:flex;flex-direction:column;gap:var(--sp-2)}.menu__title{margin:0;font-size:var(--fs-title);font-weight:800;line-height:.92;letter-spacing:-.04em;color:var(--c-near);text-shadow:var(--sh-near)}.menu__title-accent{color:var(--c-far);text-shadow:var(--sh-far)}.menu__tagline{margin:0;max-width:46ch;color:var(--c-text-dim);font-size:var(--fs-lead)}.menu__section{display:flex;flex-direction:column;gap:var(--sp-3)}.menu__label{margin:0;font-size:var(--fs-micro);font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--c-text-dim)}.menu__note{margin:0;min-height:1.5em;font-size:var(--fs-hud);color:var(--c-text-dim)}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--sp-3)}.options--off{opacity:.45}.option{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-md);background:#ffffff08;text-align:left;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.option:hover:not(:disabled){border-color:var(--c-line-strong);background:#ffffff12}.option:disabled{cursor:not-allowed}.option__label{font-weight:700;letter-spacing:.02em}.option__hint{font-size:var(--fs-hud);color:var(--c-text-dim);text-wrap:pretty}.option[aria-pressed=true]{border-color:var(--c-near);background:#22d3ee1f;box-shadow:var(--sh-near)}.option[aria-pressed=true] .option__label{color:var(--c-near)}.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--sp-2) var(--sp-4);margin:0;padding:0;list-style:none}.legend__row{display:flex;align-items:baseline;gap:var(--sp-3)}.legend__keys{flex:0 0 auto;min-width:5.5rem;padding:var(--sp-1) var(--sp-2);border:1px solid var(--c-line);border-radius:var(--r-sm);background:#ffffff0d;font-family:var(--font-num);font-size:var(--fs-micro);text-align:center;white-space:nowrap}.legend__text{font-size:var(--fs-hud);color:var(--c-text-dim)}.noscript{position:fixed;inset:0;z-index:2;display:grid;align-content:center;justify-items:center;gap:var(--sp-3);padding:var(--sp-6);text-align:center;background:var(--c-bg)}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-pop{0%{opacity:0;transform:translateY(.75rem) scale(.985)}}@media(max-width:30rem){.hud{grid-template-columns:1fr;grid-template-areas:"controls" "top" "serve" "stats"}.hud__top{grid-column:1;grid-row:2}.hud__controls{grid-column:1;grid-row:1;justify-content:center}.hud__stats{justify-content:center}.legend{grid-template-columns:1fr}}@media(min-width:120rem){:root{--fs-body: 1.25rem;--fs-hud: 1.05rem;--fs-micro: .85rem}.overlay__panel{width:min(74rem,100%)}}@media(prefers-reduced-motion:reduce){.ui *,.ui *:before,.ui *:after{animation:none!important;transition:none!important}}@media(prefers-contrast:more){:root{--c-surface: #05070f;--c-surface-strong: #05070f;--c-line: #8fa3c4;--c-line-strong: #dbe6fb;--c-text: #ffffff;--c-text-dim: #d5deef;--sh-near: none;--sh-far: none}.chip,.overlay__panel,.option,.legend__keys{backdrop-filter:none;background:var(--c-surface);border-width:2px}.overlay{backdrop-filter:none;background:#020309f7}.option[aria-pressed=true]{background:#0b2b33;box-shadow:none}.button--primary{background:var(--c-near)}.serve{background:var(--c-surface);border:2px solid var(--c-line)}}:root{--plate-top: #151b38;--plate-face: #0a0f24;--plate-ink: #05070f;--plate-lit: rgb(255 255 255 / .14);--plate-shade: rgb(0 0 0 / .72);--plate-radius: clamp(.45rem, .3rem + .5vw, .95rem);--plate-lip: clamp(3px, .18vw, 6px);--plate-pad: clamp(.3rem, .2rem + .5vw, .62rem) clamp(.5rem, .3rem + .9vw, 1.1rem);--meter-track: #0a0d1c;--meter-height: clamp(.34rem, .24rem + .35vw, .6rem);--meter-segment: clamp(.4rem, .28rem + .4vw, .72rem);--meter-notch: .13rem;--c-warm: #fbbf24;--btn-lip: clamp(3px, .22vw, 7px);--crt-line: rgb(0 0 0 / .17);--crt-period: 3px;--crt-vignette: rgb(2 3 9 / .55);--crt-sweep: rgb(180 220 255 / .05);--ease-arcade: cubic-bezier(.2, .85, .3, 1.12);--dur-press: 90ms}@property --rally-fill{syntax: "<number>"; inherits: true; initial-value: 0;}@property --speed-fill{syntax: "<number>"; inherits: true; initial-value: 0;}.ui:before,.ui:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}.ui:before{background-image:repeating-linear-gradient(to bottom,var(--crt-line) 0 1px,transparent 1px var(--crt-period)),radial-gradient(125% 105% at 50% 48%,transparent 52%,var(--crt-vignette) 100%);box-shadow:inset 0 0 0 1px #94a3b814,inset 0 0 5rem #0203098c}.ui:not([data-crt=off]):after{height:26%;background-image:linear-gradient(to bottom,transparent 0%,var(--crt-sweep) 45%,var(--crt-sweep) 55%,transparent 100%);transform:translate3d(0,-110%,0)}@media(prefers-reduced-motion:no-preference){.ui:not([data-crt=off]):after{animation:cab-sweep 11s linear infinite}}@media(min-resolution:2dppx){:root{--crt-period: 4px;--crt-line: rgb(0 0 0 / .13)}}.ui .score{align-items:stretch}.ui .score__side{position:relative;gap:clamp(.15rem,.5vw,.4rem);padding:clamp(.4rem,.25rem + .6vw,.9rem) clamp(.7rem,.4rem + 1.4vw,1.6rem) clamp(.5rem,.3rem + .7vw,1rem);border-radius:var(--plate-radius);background-color:var(--plate-face);background-image:radial-gradient(circle at .62rem .55rem,rgb(255 255 255 / .22) 0 1px,rgb(0 0 0 / .55) 1px 2.4px,transparent 2.5px),radial-gradient(circle at calc(100% - .62rem) .55rem,rgb(255 255 255 / .22) 0 1px,rgb(0 0 0 / .55) 1px 2.4px,transparent 2.5px),linear-gradient(180deg,var(--plate-top) 0%,var(--plate-face) 62%);box-shadow:inset 0 1px 0 var(--plate-lit),inset 0 -1px #00000080,0 var(--plate-lip) 0 -1px var(--plate-ink),0 .7rem 1.6rem #00000080}.ui .score__name{font-size:var(--fs-micro);letter-spacing:.24em;text-shadow:0 1px 0 rgb(0 0 0 / .85)}.ui .score__value{min-width:1.9ch;padding:.08em .2em .04em;border-radius:calc(var(--plate-radius) * .6);background:var(--plate-ink);box-shadow:inset 0 2px 6px #000000d9,inset 0 0 0 1px #ffffff0d;text-align:center}.ui .score__sep{align-self:center;font-family:var(--font-num);font-size:var(--fs-hud);letter-spacing:.2em;opacity:.5}.ui .score__target{padding:.15rem clamp(.5rem,1.5vw,.9rem) .2rem;border-radius:var(--r-full);background:#05070fb8;box-shadow:inset 0 0 0 1px #94a3b829}.ui .score__side--bump{animation:cab-bump .38s var(--ease-arcade)}.ui .hud__stats{gap:var(--sp-2) clamp(var(--sp-2),1.6vw,var(--sp-5))}.ui .stat{position:relative;gap:clamp(.12rem,.4vw,.3rem);padding:var(--plate-pad);border-radius:var(--plate-radius);background:linear-gradient(180deg,var(--plate-top) 0%,var(--plate-face) 70%);box-shadow:inset 0 1px 0 var(--plate-lit),0 var(--plate-lip) 0 -1px var(--plate-ink),0 .5rem 1.2rem #00000073}.ui .hud__stats>.stat{min-width:clamp(5.2rem,3.5rem + 9vw,9.5rem)}.ui .stat__key{text-shadow:0 1px 0 rgb(0 0 0 / .8)}.ui .stat__value{text-shadow:0 0 .8rem rgb(148 163 184 / .35)}.ui .hud__stats>.stat:nth-child(1):after,.ui .hud__stats>.stat:nth-child(2):after,.ui .stat--rally:after,.ui .stat--speed:after{content:"";width:100%;height:var(--meter-height);margin-top:.15rem;border-radius:var(--r-full);background-color:var(--meter-track);background-repeat:repeat-x,no-repeat;background-position:left center,left center;box-shadow:inset 0 0 0 1px #0009,inset 0 1px 2px #000000b3;pointer-events:none}.ui .hud__stats>.stat:nth-child(1):after,.ui .stat--rally:after{--meter-heat: var(--c-near);background-image:repeating-linear-gradient(90deg,transparent 0 var(--meter-segment),var(--plate-ink) var(--meter-segment) calc(var(--meter-segment) + var(--meter-notch))),linear-gradient(var(--meter-heat),var(--meter-heat));background-size:auto auto,calc(clamp(0,var(--rally-fill, 0),1)*100%) 100%;transition:--rally-fill .22s var(--ease-out)}.ui .hud__stats>.stat:nth-child(2):after,.ui .stat--speed:after{--meter-heat: var(--c-near);background-image:linear-gradient(#ffffffe6,#ffffffe6),repeating-linear-gradient(90deg,transparent 0 var(--meter-segment),var(--plate-ink) var(--meter-segment) calc(var(--meter-segment) + var(--meter-notch))),linear-gradient(var(--meter-heat),var(--meter-heat));background-repeat:no-repeat,repeat-x,no-repeat;background-size:2px 100%,auto auto,calc(clamp(0,var(--speed-fill, 0),1)*100%) 100%;background-position:calc(clamp(0,var(--speed-fill, 0),1)*(100% - 2px)) center,left center,left center}@supports (color: color-mix(in oklab,red,blue)){.ui .hud__stats>.stat:nth-child(1):after,.ui .stat--rally:after{--meter-heat: color-mix( in oklab, color-mix(in oklab, var(--c-near), var(--c-accent) calc(min(var(--rally-fill, 0), .5)*200%) ), var(--c-far) calc(max(var(--rally-fill, 0) - .5, 0)*200%) )}.ui .hud__stats>.stat:nth-child(2):after,.ui .stat--speed:after{--meter-heat: color-mix( in oklab, color-mix(in oklab, var(--c-near), var(--c-warm) calc(min(var(--speed-fill, 0), .5)*200%) ), var(--c-far) calc(max(var(--speed-fill, 0) - .5, 0)*200%) )}}.ui .hud__stats>.stat:nth-child(1),.ui .stat--rally{box-shadow:inset 0 1px 0 var(--plate-lit),inset 0 0 0 1px #94a3b814,0 var(--plate-lip) 0 -1px var(--plate-ink),0 .5rem 1.2rem #00000073}.ui .stat--flash{animation:cab-flash .52s var(--ease-out)}.ui .hud__stats>.stat:nth-child(3){opacity:.72}.ui .hud__stats>.stat:nth-child(3) .stat__value{font-size:var(--fs-hud)}.ui .chip{align-items:center;padding:clamp(.28rem,.5vw,.5rem) clamp(.6rem,1.2vw,1rem);border-color:#94a3b83d;border-radius:var(--r-full);background:linear-gradient(180deg,var(--plate-top),var(--plate-face));backdrop-filter:none;box-shadow:inset 0 1px 0 var(--plate-lit),0 calc(var(--plate-lip) - 1px) 0 -1px var(--plate-ink),0 .4rem .9rem #0000006b;transition:transform var(--dur-press) var(--ease-arcade),box-shadow var(--dur-press) var(--ease-arcade),border-color var(--dur-fast) var(--ease-out)}.ui .chip:hover{background:linear-gradient(180deg,#1b2246,var(--plate-face));border-color:#94a3b873}.ui .chip:active{transform:translateY(calc(var(--plate-lip) - 1px));box-shadow:inset 0 1px 3px #0009,0 0 0 0 var(--plate-ink)}.ui .chip .chip__value:before{content:"";display:inline-block;width:.42em;height:.42em;margin-right:.45em;border-radius:50%;background:currentColor;box-shadow:0 0 .4rem currentColor;vertical-align:baseline}.ui .chip[aria-pressed=true]{border-color:#f43f5e80}.ui .serve{padding:clamp(.8rem,2vw,1.5rem) clamp(1.4rem,4vw,2.8rem);border-radius:var(--plate-radius);background:linear-gradient(180deg,#151b38eb,#05070feb);backdrop-filter:none;box-shadow:inset 0 1px 0 var(--plate-lit),inset 0 0 0 1px #a855f740,0 1rem 2.5rem #0000008c}.ui .serve__label{letter-spacing:.34em}.ui .serve__count{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:no-preference){.ui .serve__count{animation:cab-tick 1s steps(1,end) infinite}}.ui .menu__head{position:relative;isolation:isolate}.ui .menu__head:before{content:"";position:absolute;z-index:-1;inset:-18% 0 30%;background:radial-gradient(60% 100% at 22% 50%,rgb(34 211 238 / .22) 0%,rgb(168 85 247 / .12) 45%,transparent 72%);pointer-events:none}.ui .menu__title{text-shadow:.035em 0 0 rgb(244 63 94 / .4),-.035em 0 0 rgb(34 211 238 / .4),0 0 1.6rem rgb(34 211 238 / .45)}.ui .menu__title-accent{display:inline-block;padding:0 .12em;border-radius:.12em;background:linear-gradient(180deg,rgb(244 63 94 / .16),transparent);box-shadow:inset 0 0 0 max(2px,.03em) #f43f5e73;text-shadow:0 0 1.4rem rgb(244 63 94 / .55)}.ui .menu__tagline{text-wrap:pretty}.ui .menu__label{display:flex;align-items:center;gap:var(--sp-3)}.ui .menu__label:after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,rgb(148 163 184 / .32),transparent)}.ui .button{position:relative;overflow:hidden;border-radius:var(--plate-radius);background:linear-gradient(180deg,var(--plate-top),var(--plate-face));text-transform:uppercase;letter-spacing:.1em;box-shadow:inset 0 1px 0 var(--plate-lit),0 var(--btn-lip) 0 0 var(--plate-ink),0 calc(var(--btn-lip) + .4rem) 1rem #00000073;transition:transform var(--dur-press) var(--ease-arcade),box-shadow var(--dur-press) var(--ease-arcade),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.ui .button:hover{transform:translateY(calc(var(--btn-lip) * -.3));box-shadow:inset 0 1px 0 var(--plate-lit),0 calc(var(--btn-lip) * 1.3) 0 0 var(--plate-ink),0 calc(var(--btn-lip) + .7rem) 1.4rem #00000080}.ui .button:active{transform:translateY(var(--btn-lip));box-shadow:inset 0 2px 6px #00000080,0 0 0 0 var(--plate-ink),0 .15rem .3rem #0006}.ui .button--primary{color:#04050c;border-color:transparent;background:linear-gradient(180deg,#67e8f9 0%,var(--c-near) 45%,#0e9bb5 100%);box-shadow:inset 0 1px #ffffff80,0 var(--btn-lip) 0 0 #0a5b6b,0 calc(var(--btn-lip) + .5rem) 1.6rem #22d3ee59}.ui .button--primary:hover{background:linear-gradient(180deg,#a5f3fc,#3ddef2 45%,#0e9bb5);box-shadow:inset 0 1px #ffffff8c,0 calc(var(--btn-lip) * 1.3) 0 0 #0a5b6b,0 calc(var(--btn-lip) + .8rem) 2rem #22d3ee73}.ui .button--primary:active{box-shadow:inset 0 2px 7px #00000059,0 0 #0a5b6b,0 .15rem .3rem #00000059}.ui .button--primary:after{content:"";position:absolute;inset:0 auto 0 0;width:45%;background:linear-gradient(105deg,transparent,rgb(255 255 255 / .55),transparent);transform:translate(-160%);pointer-events:none}@media(prefers-reduced-motion:no-preference){.ui .button--primary:hover:after,.ui .button--primary:focus-visible:after{animation:cab-shine .9s var(--ease-out)}}.ui .button--ghost{background:#05070f8c;box-shadow:inset 0 0 0 1px #94a3b833,0 calc(var(--btn-lip) - 2px) 0 0 #05070fe6}.ui .button--ghost:hover{background:#0b1022d9}.ui .option{position:relative;overflow:hidden;padding:clamp(.6rem,.4rem + .8vw,1rem) clamp(.7rem,.5rem + 1vw,1.2rem);padding-right:clamp(1.6rem,1.2rem + 1vw,2.2rem);border-radius:var(--plate-radius);background:linear-gradient(180deg,#151b3880,#0a0f2480);box-shadow:inset 0 1px #ffffff12,0 calc(var(--btn-lip) - 2px) 0 -1px var(--plate-ink),0 .4rem .9rem #00000059;transition:transform var(--dur-press) var(--ease-arcade),box-shadow var(--dur-press) var(--ease-arcade),border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.ui .option:before{content:"";position:absolute;top:clamp(.6rem,1.2vw,.95rem);right:clamp(.6rem,1.2vw,.95rem);width:.55rem;height:.55rem;border-radius:50%;background:#94a3b833;box-shadow:inset 0 1px 2px #000c;transition:background-color var(--dur-fast) var(--ease-out);pointer-events:none}.ui .option:hover:not(:disabled){transform:translateY(-1px)}.ui .option:active:not(:disabled){transform:translateY(calc(var(--btn-lip) - 2px));box-shadow:inset 0 2px 5px #00000080,0 0 0 0 var(--plate-ink)}.ui .option[aria-pressed=true]{border-color:var(--c-near);background:linear-gradient(180deg,#22d3ee33,#22d3ee0f);box-shadow:inset 0 1px #ffffff26,0 calc(var(--btn-lip) - 2px) 0 -1px #06414f,0 0 1.6rem #22d3ee59}.ui .option[aria-pressed=true]:before{background:var(--c-near);box-shadow:0 0 .5rem var(--c-near),inset 0 0 0 1px #ffffff80}.ui .option:disabled{filter:saturate(.35)}.ui .option__hint{text-wrap:pretty}.ui .legend__keys{padding:.2rem .45rem .28rem;border-color:#94a3b847;border-radius:.35rem;background:linear-gradient(180deg,#232a4d,#131934);box-shadow:inset 0 1px #ffffff2e,0 2px #05070f,0 3px 4px #0006;color:var(--c-text);letter-spacing:.06em}.ui .legend__row{align-items:center}.ui .overlay{backdrop-filter:blur(9px);background:radial-gradient(95% 70% at 50% 0%,rgb(13 16 48 / .8) 0%,transparent 70%),#020309d6}.ui .overlay__panel{border-color:#94a3b83d;background-image:repeating-linear-gradient(to bottom,rgb(0 0 0 / .1) 0 1px,transparent 1px var(--crt-period)),linear-gradient(180deg,#0d1228e6,#060915eb);box-shadow:inset 0 1px 0 var(--plate-lit),0 1.5rem 4.5rem #000000b3,0 0 0 1px #0009}.ui .overlay--near .overlay__panel{box-shadow:inset 0 1px 0 var(--plate-lit),inset 0 0 0 1px #22d3ee47,0 1.5rem 4.5rem #000000b3}.ui .overlay--far .overlay__panel{box-shadow:inset 0 1px 0 var(--plate-lit),inset 0 0 0 1px #f43f5e47,0 1.5rem 4.5rem #000000b3}.ui .overlay__stats .stat{min-width:clamp(7rem,5rem + 10vw,12rem);align-items:center}@keyframes cab-sweep{0%{transform:translate3d(0,-110%,0)}to{transform:translate3d(0,420%,0)}}@keyframes cab-shine{0%{transform:translate(-160%)}to{transform:translate(340%)}}@keyframes cab-bump{0%{transform:scale(1)}28%{transform:scale(1.14,.9)}62%{transform:scale(.97,1.05)}to{transform:scale(1)}}@keyframes cab-flash{0%,to{background-color:transparent}50%{background-color:#a855f74d}}@keyframes cab-tick{0%,60%{opacity:1}61%,to{opacity:.72}}@media(max-width:26rem){:root{--plate-lip: 3px;--btn-lip: 3px;--meter-height: .32rem;--meter-segment: .38rem}.ui .hud__stats>.stat{flex:1 1 5.5rem;min-width:0}.ui .score__side{padding-inline:.55rem}.ui .score__side{background-image:linear-gradient(180deg,var(--plate-top) 0%,var(--plate-face) 62%)}}@media(min-width:120rem){:root{--plate-lip: 7px;--btn-lip: 8px;--meter-height: .7rem;--meter-segment: .85rem;--crt-period: 5px}}@media(max-height:34rem)and (min-width:48rem){.ui .menu__head:before{inset:-10% -6% 45%}}@media(prefers-reduced-motion:reduce){.ui .hud__stats>.stat:after,.ui .stat--rally:after,.ui .stat--speed:after{transition:none}.ui:after{display:none}}@media(prefers-contrast:more){:root{--plate-top: #0a1020;--plate-face: #05070f;--plate-lit: rgb(255 255 255 / .3);--meter-track: #000000;--crt-line: transparent;--crt-vignette: transparent;--crt-sweep: transparent}.ui:before,.ui:after,.ui .menu__head:before,.ui .button--primary:after{display:none}.ui .score__side,.ui .stat,.ui .chip,.ui .option,.ui .button,.ui .legend__keys,.ui .serve{border:2px solid var(--c-line-strong);background:var(--plate-face);box-shadow:none}.ui .overlay__panel{background-image:none;background-color:var(--plate-face)}.ui .menu__title,.ui .score__name,.ui .stat__key,.ui .score__value{text-shadow:none}.ui .menu__title-accent{background:none}.ui .hud__stats>.stat:nth-child(1):after,.ui .hud__stats>.stat:nth-child(2):after,.ui .stat--rally:after,.ui .stat--speed:after{height:.5rem;box-shadow:inset 0 0 0 2px var(--c-line-strong)}.ui .option[aria-pressed=true]{border-color:var(--c-near);background:#0b2b33}.ui .hud__stats>.stat:nth-child(3){opacity:1}}@media(forced-colors:active){.ui:before,.ui:after,.ui .menu__head:before,.ui .button--primary:after,.ui .option:before{display:none}.ui .score__side,.ui .stat,.ui .chip,.ui .option,.ui .button,.ui .legend__keys,.ui .serve,.ui .overlay__panel{border:1px solid CanvasText;background:Canvas;box-shadow:none}.ui .hud__stats>.stat:nth-child(1):after,.ui .hud__stats>.stat:nth-child(2):after,.ui .stat--rally:after,.ui .stat--speed:after{forced-color-adjust:none;border:1px solid CanvasText;background-color:Canvas;background-image:linear-gradient(Highlight,Highlight);background-repeat:no-repeat;box-shadow:none}.ui .hud__stats>.stat:nth-child(1):after,.ui .stat--rally:after{background-size:calc(clamp(0,var(--rally-fill, 0),1)*100%) 100%}.ui .hud__stats>.stat:nth-child(2):after,.ui .stat--speed:after{background-size:calc(clamp(0,var(--speed-fill, 0),1)*100%) 100%;background-position:left center}.ui .option[aria-pressed=true]{border:2px solid Highlight}}
