@font-face{font-family:Sport Headline;src:url(./sport-headline-regular-DEjomeWy.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0-218F,U+2200-259F,U+2600-FFFF}@font-face{font-family:Sport Headline;src:url(./sport-headline-medium-B3RNqRse.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0-218F,U+2200-259F,U+2600-FFFF}@font-face{font-family:Sport Headline;src:url(./sport-headline-bold-D9umfSKU.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0-218F,U+2200-259F,U+2600-FFFF}@font-face{font-family:Sport Headline;src:url(./sport-headline-bold-italic-B10k-LBX.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap;unicode-range:U+0-218F,U+2200-259F,U+2600-FFFF}@font-face{font-family:Sport Headline;src:url(./sport-headline-extrabold-4UjudwQy.otf)format("opentype");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0-218F,U+2200-259F,U+2600-FFFF}@font-face{font-family:Sport Headline;src:url(./sport-headline-black-CasWiDFF.otf)format("opentype");font-weight:900;font-style:normal;font-display:swap;unicode-range:U+0-218F,U+2200-259F,U+2600-FFFF}@font-face{font-family:Sport Headline;src:url(./sport-headline-black-italic-DuMTV2Ru.otf)format("opentype");font-weight:900;font-style:italic;font-display:swap;unicode-range:U+0-218F,U+2200-259F,U+2600-FFFF}:root{--app-w:100vw;--app-h:100vh;--ui-font:"Sport Headline", "Arial Narrow", system-ui, sans-serif;--lime:#6eff50;--lime-hi:#b8ffa6;--lime-lo:#3fd22a;--lime-ink:#0d2a0a;--night:#00070f;--night-1:#040f1a;--night-2:#0a1b29;--night-3:#12293b;--glass:#00070fd6;--glass-soft:#00070f99;--text:#eef6ef;--text-dim:#8fa4a0;--line:#6eff5052;--line-soft:#eef6ef1f;--hot:#ff7a2e;--gold:#ffd84a;--danger:#ff3d5e;--ink:var(--night);--paper:var(--text);--orange:var(--lime);--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--edge-l:max(24px, var(--safe-l));--edge-r:max(24px, var(--safe-r));--edge-b:max(24px, var(--safe-b));--cut:14px;--cut-shape:polygon(0 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%)}*{box-sizing:border-box}html,body{background:var(--night);height:100%;font-family:var(--ui-font);color:var(--text);letter-spacing:.02em;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;touch-action:manipulation;overscroll-behavior:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;overflow:hidden}button{font-family:var(--ui-font)}#game{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.vignette{pointer-events:none;background:radial-gradient(at 50% 55%,#0000 55%,#000000d9 100%);position:fixed;inset:0}#ui-root{pointer-events:none;position:fixed;inset:0}kbd{font:800 15px/1 var(--ui-font);text-align:center;background:var(--text);min-width:26px;color:var(--night);border:none;border-bottom:3px solid var(--text-dim);text-shadow:none;border-radius:5px;padding:5px 7px 4px;display:inline-block}kbd.pad{background:var(--night-3);min-width:26px;color:var(--text);border-bottom-color:#00000080;border-radius:999px}kbd.pad-A{color:#fff;background:#3fbf5f}kbd.pad-B{color:#fff;background:#e5484d}kbd.pad-X{color:#fff;background:#3b82f6}kbd.pad-Y{color:var(--night);background:#f5c211}kbd.pad-LB,kbd.pad-RB,kbd.pad-LT,kbd.pad-RT,kbd.pad-LBRB{background:var(--night-3);color:var(--text);border-radius:6px}kbd.pad-Start,kbd.pad-Back{background:var(--night-3);color:var(--text)}.hud{position:absolute;inset:0}.hud-sprint{align-items:center;gap:10px;display:flex;position:absolute;bottom:24px;left:24px}.hud-label{font:italic 900 17px var(--ui-font);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 6px #00070fe6}.hud-bar{background:var(--glass-soft);width:200px;height:12px;box-shadow:inset 0 0 0 1px var(--line-soft), 0 2px 10px #00000059;border-radius:2px;overflow:hidden;transform:skew(-16deg)}.hud-bar-fill{background:linear-gradient(90deg, var(--lime-lo), var(--lime));transform-origin:0;height:100%;transition:background .2s}.hud-bar-fill.exhausted{background:linear-gradient(90deg, #b02040, var(--danger))}.hud-hints{max-width:calc(calc(100 * var(--app-w) / 100) - 340px);font:700 15px var(--ui-font);text-transform:uppercase;letter-spacing:.04em;text-shadow:0 2px 6px #00070fe6;flex-wrap:wrap;justify-content:flex-end;gap:6px 16px;display:flex;position:absolute;bottom:24px;right:24px}.hint{align-items:center;gap:6px;display:flex}.hud-toast{background:var(--glass);box-shadow:inset 4px 0 0 var(--lime);font:700 17px var(--ui-font);letter-spacing:.03em;opacity:0;padding:9px 20px 8px;transition:opacity .2s,transform .2s;position:absolute;top:24px;left:50%;transform:translate(-50%,-20px)}.hud-toast.visible{opacity:1;transform:translate(-50%)}.hud-pause{font:italic 900 clamp(90px, calc(18 * var(--app-w) / 100), 220px) var(--ui-font);letter-spacing:.04em;color:#0000;-webkit-text-stroke:2px #6eff5038;background:#00070f8c;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.hud-pause.visible{display:flex}.hud-charge{opacity:0;align-items:center;gap:10px;transition:opacity .12s;display:flex;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}.hud-charge.visible{opacity:1}.hud-charge-bar{background:var(--glass-soft);width:240px;height:14px;box-shadow:inset 0 0 0 1px var(--line-soft);border-radius:2px;overflow:hidden;transform:skew(-16deg)}.hud-charge-fill{background:linear-gradient(90deg, var(--lime), var(--gold), var(--hot));transform-origin:0;height:100%}.hud-charge-fill.full{animation:.25s infinite alternate charge-pulse}@keyframes charge-pulse{to{filter:brightness(1.5)}}.hud-popup{font:italic 900 60px var(--ui-font);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;opacity:0;-webkit-text-stroke:6px var(--night);paint-order:stroke fill;pointer-events:none;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%)scale(.6)}.hud-popup.visible{animation:.85s ease-out forwards popup-in}.hud-popup.perfect{color:var(--lime)}.hud-popup.special{color:var(--hot);font-size:72px}.hud-popup.bad{color:var(--text-dim);font-size:42px}.hud-popup.info{color:var(--text);font-size:42px}@keyframes popup-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)skew(-8deg)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.15)skew(0)}30%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-62%)scale(1)}}.hud-flash{opacity:0;background:radial-gradient(circle,#c8ffbe80,#6eff5000 70%);position:absolute;inset:0}.hud-flash.on{animation:.28s ease-out flash}@keyframes flash{0%{opacity:1}to{opacity:0}}.hud-sprint.hud-meters{grid-template-columns:auto auto;align-items:center;gap:8px 12px;display:grid}.hud-super{grid-column:1/-1;align-items:center;gap:10px;display:flex}.hud-super-bar{width:200px}.hud-super-fill{background:linear-gradient(90deg, var(--hot), var(--gold))}.hud-super.full .hud-super-fill{animation:.3s infinite alternate charge-pulse}.hud-super.armed .hud-super-bar{box-shadow:0 0 16px 4px #ffd84abf}.hud-super-key{font:italic 900 16px var(--ui-font);color:var(--gold);text-transform:uppercase;min-width:70px}.debug-stats{color:var(--lime-hi);white-space:pre;background:#00070fcc;border-radius:4px;padding:8px 12px;font:12px/1.45 ui-monospace,Consolas,monospace;position:absolute;top:10px;left:10px}.menu-overlay{pointer-events:auto;z-index:20;background:radial-gradient(circle at 50% 42%,#00070f59,#00070fd1);justify-content:center;align-items:center;padding:24px 24px 72px;display:flex;position:absolute;inset:0}.menu-panel{min-width:380px;max-width:min(580px, calc(92 * var(--app-w) / 100));max-height:calc(var(--app-h) - 110px);box-shadow:inset 0 0 0 1px var(--line-soft), inset 0 3px 0 var(--lime);clip-path:var(--cut-shape);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);scrollbar-width:thin;scrollbar-color:var(--line) transparent;background:linear-gradient(170deg,#0a1b29eb,#00070ff0);padding:26px 28px 24px;animation:.22s ease-out panel-in;position:relative;overflow-y:auto}@keyframes panel-in{0%{opacity:0;transform:translate(-14px)}}.menu-panel h1{font:italic 800 46px/.95 var(--ui-font);text-transform:uppercase;letter-spacing:.01em;color:var(--text);margin:0}.menu-panel h1:after{content:"";background:var(--lime);width:56px;height:5px;margin-top:10px;display:block;transform:skew(-20deg)}.won .menu-panel h1{color:var(--lime)}.lost .menu-panel h1{color:var(--text-dim)}.menu-subtitle{font:500 18px/1.3 var(--ui-font);color:var(--text-dim);margin:12px 0 4px}.menu-list{flex-direction:column;gap:6px;margin-top:18px;display:flex}.menu-list>*{flex-shrink:0}.menu-item{min-height:46px;font:800 20px var(--ui-font);text-transform:uppercase;letter-spacing:.03em;color:var(--text);box-shadow:inset 0 0 0 1px var(--line-soft);cursor:pointer;text-align:left;background:#eef6ef0b;border:none;justify-content:space-between;align-items:center;gap:20px;padding:8px 14px 8px 18px;transition:transform .12s,background .12s,color .12s;display:flex;position:relative}.menu-item:before{content:"";background:var(--lime);width:4px;transition:transform .12s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.menu-item.selected{background:var(--lime);color:var(--lime-ink);transform:translate(6px);box-shadow:0 8px 26px -10px #6eff50b3}.menu-item.selected:before{background:var(--night);transform:scaleY(1)}.menu-item.primary{font:italic 800 24px var(--ui-font);color:var(--lime);box-shadow:inset 0 0 0 2px var(--lime)}.menu-item.primary.selected{color:var(--lime-ink)}.menu-item.back{box-shadow:none;color:var(--text-dim);background:0 0}.menu-item.back.selected{color:var(--lime-ink);background:var(--lime)}.menu-value{white-space:nowrap;text-transform:none;align-items:center;gap:8px;font-weight:700;display:inline-flex}.menu-value-text{min-width:0}.menu-arrow{width:26px;height:26px;font:900 20px/1 var(--ui-font);cursor:pointer;background:#eef6ef14;border-radius:3px;place-items:center;transition:background .1s;display:inline-grid}.menu-arrow:hover{background:#eef6ef38}.menu-item.selected .menu-arrow{background:#00070f24}.menu-item.selected .menu-arrow:hover{background:#00070f4d}.menu-pips{gap:3px;display:inline-flex}.menu-pips:empty{display:none}.menu-pips i{opacity:.22;background:currentColor;width:6px;height:6px;transform:skew(-20deg)}.menu-pips i.on{opacity:1}.menu-hints{height:52px;padding:0 max(24px, calc(4 * var(--app-w) / 100));box-shadow:inset 0 1px 0 var(--line-soft);scrollbar-width:none;background:#00070feb;align-items:center;gap:22px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.menu-hints:empty{display:none}.menu-hint{font:700 15px var(--ui-font);text-transform:uppercase;letter-spacing:.06em;color:var(--text);cursor:pointer;text-shadow:0 2px 6px #00070fe6;opacity:.85;background:0 0;border:none;flex:none;align-items:center;gap:7px;padding:0;display:inline-flex}.menu-hint:hover{opacity:1;color:var(--lime)}.menu-hint span{margin-left:3px}#ui-root:has(.menu-overlay:not([style*=none])) :is(.hud-hints,.hud-sprint,.hud-charge,.serve-meter,.touch-controls){visibility:hidden}.menu-overlay.menu-side{padding-left:max(24px, calc(5 * var(--app-w) / 100));background:linear-gradient(90deg,#00070fd9 0%,#00070f73 46%,#00070f00 68%);justify-content:flex-start}.end-stats table{border-collapse:collapse;width:100%;font:600 17px var(--ui-font);margin:8px 0 6px}.end-stats th{text-align:center;color:var(--lime);text-transform:uppercase;padding:4px 8px;font-style:italic;font-weight:900}.end-stats td{text-align:center;border-top:1px solid var(--line-soft);padding:4px 8px;font-weight:800}.end-stats td:first-child{text-align:left;color:var(--text-dim);font-weight:500}.end-sets{font:italic 800 20px var(--ui-font);text-transform:uppercase;margin:12px 0 0}.menu-compact .menu-item{min-height:38px;padding:5px 12px 5px 16px;font-size:17px}.menu-compact .menu-list{gap:4px}.menu-compact .menu-panel h1{font-size:38px}.menu-wide .menu-panel{width:min(780px, calc(94 * var(--app-w) / 100));max-width:none}.howto ul{font:500 17px/1.4 var(--ui-font);margin:14px 0 10px;padding-left:18px}.howto li::marker{color:var(--lime)}.howto table{border-collapse:collapse;width:100%;font:600 16px var(--ui-font)}.howto th{color:var(--lime);text-align:left;text-transform:uppercase;padding:4px 8px;font-style:italic;font-weight:900}.howto td{border-top:1px solid var(--line-soft);padding:4px 8px}.howto-tips{font:500 16px/1.4 var(--ui-font);color:var(--text-dim);margin:12px 0 0}.menu-overlay.main-menu{padding:calc(4 * var(--app-h) / 100) calc(4 * var(--app-w) / 100) 74px;background:linear-gradient(90deg,#00070fe6 0%,#00070f8c 46%,#00070f00 66%),linear-gradient(#00070f00 78%,#00070fb3 100%);justify-content:flex-start;align-items:stretch}.main-menu .menu-panel{width:min(860px, calc(58 * var(--app-w) / 100));min-width:0;max-width:none;max-height:none;box-shadow:none;clip-path:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;flex-direction:column;padding:0;animation:none;display:flex;overflow:visible}.main-menu .menu-panel h1{line-height:0}.main-menu .menu-panel h1:after{display:none}.menu-logo{height:clamp(52px, calc(10 * var(--app-h) / 100), 104px);width:auto}.menu-corner{top:max(16px, calc(4 * var(--app-h) / 100));right:max(16px, calc(4 * var(--app-w) / 100));font:800 15px var(--ui-font);text-transform:uppercase;letter-spacing:.06em;color:var(--text);background:var(--glass);box-shadow:inset 0 0 0 1px var(--line);clip-path:var(--cut-shape);--cut:8px;cursor:pointer;border:none;align-items:center;gap:8px;padding:8px 16px 8px 12px;display:inline-flex;position:absolute}.menu-corner:hover{color:var(--lime-ink);background:var(--lime)}.menu-corner-art{width:20px;height:20px;color:var(--lime);display:inline-flex}.menu-corner:hover .menu-corner-art{color:var(--lime-ink)}.menu-corner-art svg{width:100%;height:100%}.menu-overlay.menu-language{padding:max(16px, calc(4 * var(--app-h) / 100)) max(16px, calc(4 * var(--app-w) / 100)) 64px;background:linear-gradient(270deg,#00070fd9 0%,#00070f66 40%,#00070f00 65%);justify-content:flex-end;align-items:flex-start}.menu-language .menu-panel{min-width:320px;max-height:calc(var(--app-h) - max(16px, calc(4 * var(--app-h) / 100)) - 72px)}.menu-note{text-transform:none;letter-spacing:0;opacity:.6;margin-left:auto;font-size:.8em;font-weight:500}.menu-grid{max-height:720px;margin-top:calc(3 * var(--app-h) / 100);flex:1;grid-template-rows:minmax(0,1.7fr) minmax(0,1fr) minmax(0,.62fr);grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"p1 p1 p1 p2 p2 p2""tr tr sb sb cu cu""ht ht ht op op op";gap:12px;display:grid}.menu-tile{text-align:left;min-width:0;min-height:0;color:var(--text);box-shadow:inset 0 0 0 1px var(--line-soft);clip-path:var(--cut-shape);cursor:pointer;animation:.42s cubic-bezier(.2,.8,.2,1) both tile-in;animation-delay:calc(var(--i,0) * 45ms);background:linear-gradient(160deg,#12293be6,#040f1aeb);border:none;flex-direction:column;justify-content:flex-end;padding:16px 18px;transition:transform .16s,background .16s,color .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;container-type:size}@keyframes tile-in{0%{opacity:0;transform:translateY(16px)}}.menu-tile.hero{box-shadow:inset 0 0 0 1px var(--line);background:radial-gradient(120% 90% at 85% 10%,#6eff5029,#6eff5000 60%),linear-gradient(160deg,#12293beb,#00070ff0)}.menu-tile:after{content:"";pointer-events:none;background:linear-gradient(105deg,#fff0 35%,#ffffff73 50%,#fff0 65%);position:absolute;inset:0;transform:translate(-120%)}.menu-tile.selected{color:var(--lime-ink);background:var(--lime);box-shadow:none;z-index:1;transform:translateY(-4px)}.menu-tile.selected:after{animation:.6s ease-out tile-shine}@keyframes tile-shine{to{transform:translate(120%)}}.tile-mark{font:italic 900 clamp(90px, 24cqh, 190px)/1 var(--ui-font);color:#6eff5012;pointer-events:none;position:absolute;bottom:-.2em;right:-.06em}.menu-tile.selected .tile-mark{color:#00070f1a}.tile-art{width:clamp(34px,26cqh,52px);color:var(--lime);transition:transform .2s,color .16s;position:absolute;top:14px;right:16px}.tile-art svg{width:100%;height:auto;display:block;overflow:visible}.hero .tile-art{opacity:.95;width:min(58cqw,145.96cqh);top:8%;right:5%}.menu-tile.selected .tile-art{color:var(--night);transform:scale(1.06)}.hero.selected .art-ball{animation:.9s ease-in-out infinite alternate art-bounce}@keyframes art-bounce{to{transform:translateY(-6px)}}.tile-text{flex-direction:column;gap:2px;padding-right:24px;display:flex;position:relative}.tile-kicker{font:800 13px var(--ui-font);letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}.menu-tile.selected .tile-kicker{color:#0d2a0abf}.tile-title{font:italic 800 clamp(18px, min(15cqh, 11.5cqw), 32px)/.95 var(--ui-font);text-transform:uppercase;letter-spacing:.01em}.hero .tile-title{font-size:clamp(24px,min(13cqh,13cqw),50px)}.tile-desc{font:500 15px/1.25 var(--ui-font);color:var(--text-dim);margin-top:4px}.menu-tile.selected .tile-desc{color:#0d2a0ad9}.tile-go{font:900 30px/1 var(--ui-font);opacity:0;transition:opacity .16s,transform .16s;position:absolute;bottom:10px;right:14px;transform:translate(-8px)}.menu-tile.selected .tile-go{opacity:1;transform:none}@container (height<=96px) and (width>=220px){.tile-text{padding-left:46px}.tile-art{width:30px;top:50%;left:18px;right:auto;transform:translateY(-50%)}.menu-tile.selected .tile-art{transform:translateY(-50%)scale(1.06)}.tile-kicker{display:none}.tile-desc{margin-top:1px;font-size:14px}}@container (height<=64px){.tile-desc{display:none}}@container (height<=150px){.hero .tile-art{display:none}}@container (width<=190px){.tile-desc{display:none}.tile-text{padding-right:0}}@media (max-height:620px){.menu-overlay.main-menu{padding-top:calc(3 * var(--app-h) / 100);padding-bottom:58px}.menu-grid{margin-top:calc(2 * var(--app-h) / 100);gap:8px}.menu-tile{padding:10px 14px}.menu-hints{height:44px}.menu-overlay{padding-bottom:56px}}@media (max-width:720px),(max-aspect-ratio:1){:root:not(.rotated) .menu-overlay.main-menu{background:linear-gradient(#00070f00 25%,#00070f8c 48%,#00070feb 100%);align-items:flex-end;padding:16px 16px 56px}:root:not(.rotated) .main-menu .menu-panel{width:100%;height:calc(57 * var(--app-h) / 100)}:root:not(.rotated) .menu-logo{height:44px}:root:not(.rotated) .menu-grid{grid-template-rows:minmax(0,1.5fr) repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"p1 p2""tr sb""cu cu""ht op";gap:8px;margin-top:10px}:root:not(.rotated) .menu-tile{padding:10px 12px}:root:not(.rotated) .menu-hints{gap:14px;padding:0 16px}:root:not(.rotated) .menu-overlay.menu-side{justify-content:center;padding-left:16px}:root:not(.rotated) .menu-panel{width:100%;min-width:0;padding:20px 18px}:root:not(.rotated) .menu-panel h1{font-size:36px}:root:not(.rotated) .menu-item{gap:10px;font-size:16px}}.match-hud{pointer-events:none;position:absolute;inset:0}.scoreboard{background:var(--glass);box-shadow:inset 0 0 0 1px var(--line-soft), inset 0 -3px 0 var(--lime), 0 8px 24px #00000059;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 100%,0 100%);align-items:center;gap:12px;padding:6px 14px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.team{align-items:center;gap:8px;display:flex}.team:last-child{flex-direction:row-reverse}.team-name{background:var(--team);color:var(--night);font:italic 900 16px var(--ui-font);text-transform:uppercase;letter-spacing:.04em;padding:3px 10px 2px;transform:skew(-12deg)}.team-points{text-align:center;min-width:40px;font:italic 900 38px/1 var(--ui-font)}.team-sets{gap:4px;display:flex}.set-dot{border:2px solid var(--text);opacity:.5;width:9px;height:9px;transform:skew(-16deg)}.set-dot.won{background:var(--lime);border-color:var(--lime);opacity:1}.serve-dot{color:var(--lime);font-size:14px}.score-sep{font:900 26px var(--ui-font);opacity:.4}.score-tag{background:var(--danger);font:italic 900 16px var(--ui-font);text-transform:uppercase;letter-spacing:.08em;padding:3px 14px 2px;animation:.5s infinite alternate charge-pulse;position:absolute;top:74px;left:50%;transform:translate(-50%)skew(-12deg)}.possession{background:var(--glass);box-shadow:inset 5px 0 0 var(--team);font:700 16px var(--ui-font);text-transform:uppercase;letter-spacing:.04em;padding:6px 14px 5px;position:absolute;top:76px;right:24px}.serve-meter{text-shadow:0 2px 6px #00070fe6;align-items:center;gap:12px;display:flex;position:absolute;top:112px;left:50%;transform:translate(-50%)}.serve-track{background:linear-gradient(90deg, var(--night-3), #2d4a5e 55%, var(--danger));width:320px;height:18px;box-shadow:inset 0 0 0 1px var(--line-soft);position:relative;overflow:hidden;transform:skew(-16deg)}.serve-good{background:#eef6ef47;position:absolute;top:0;bottom:0}.serve-sweet{background:var(--lime);position:absolute;top:0;bottom:0}.serve-marker{background:var(--text);width:6px;box-shadow:0 0 0 2px var(--night);margin-left:-3px;position:absolute;top:-2px;bottom:-2px}.serve-prompt{font:italic 900 18px var(--ui-font);text-transform:uppercase;min-width:200px}.point-banner{text-align:center;opacity:0;white-space:nowrap;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.point-banner.visible{animation:2.2s ease-out forwards banner-in}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)skew(-10deg)}8%{opacity:1;transform:translate(-50%,-50%)scale(1.12)skew(0)}16%{transform:translate(-50%,-50%)scale(1)}85%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-58%)scale(1)}}.point-title{font:italic 900 70px var(--ui-font);text-transform:uppercase;-webkit-text-stroke:6px var(--night);paint-order:stroke fill}.point-banner.win .point-title{color:var(--lime)}.point-banner.lose .point-title{color:#ff6b84}.point-banner.neutral .point-title{color:var(--text)}.point-sub{font:800 24px var(--ui-font);text-transform:uppercase;letter-spacing:.05em}.replay-box{z-index:2;left:50%;bottom:calc(calc(9 * var(--app-h) / 100) + 14px);text-align:center;background:var(--glass);box-shadow:inset 0 0 0 1px var(--line-soft);padding:8px 22px 10px;position:absolute;transform:translate(-50%)}.replay-title{font:italic 900 26px var(--ui-font);color:var(--lime);letter-spacing:.18em;text-transform:uppercase;animation:.6s infinite alternate charge-pulse}.replay-track{background:#eef6ef2e;width:240px;height:5px;margin:6px auto;overflow:hidden}.replay-bar{background:var(--lime);transform-origin:0;height:100%}.replay-hint{font:600 14px var(--ui-font);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.match-hud.replaying .scoreboard,.match-hud.replaying .possession,.match-hud.replaying .score-tag{opacity:.35}.match-hud.replaying:before,.match-hud.replaying:after{content:"";height:calc(9 * var(--app-h) / 100);background:var(--night);position:absolute;left:0;right:0}.match-hud.replaying:before{box-shadow:inset 0 -2px 0 var(--lime);top:0}.match-hud.replaying:after{box-shadow:inset 0 2px 0 var(--lime);bottom:0}.title-screen{justify-content:center;align-items:center;gap:calc(5 * var(--app-h) / 100);pointer-events:auto;cursor:pointer;z-index:20;background:radial-gradient(circle at 50% 45%,#00070f26 25%,#00070fc7),linear-gradient(#00070f00 65%,#00070f99);flex-direction:column;display:flex;position:absolute;inset:0}.title-logo{flex-direction:column;align-items:center;gap:14px;animation:.7s cubic-bezier(.2,.8,.2,1) both title-in,4s ease-in-out .7s infinite title-float;display:flex}.title-logo img{width:clamp(280px, calc(50 * var(--app-w) / 100), 720px);height:auto}.title-press{font:800 22px var(--ui-font);letter-spacing:.14em;text-transform:uppercase;background:var(--glass-soft);box-shadow:inset 0 0 0 1px var(--line);padding:10px 26px 8px;animation:1.4s ease-in-out infinite title-pulse}@keyframes title-in{0%{opacity:0;transform:scale(.92)}}@keyframes title-float{50%{transform:translateY(-8px)}}@keyframes title-pulse{50%{opacity:.45}}.tutorial-panel{width:min(620px, calc(92 * var(--app-w) / 100));background:var(--glass);box-shadow:inset 5px 0 0 var(--lime), inset 0 0 0 1px var(--line-soft);clip-path:var(--cut-shape);padding:12px 18px 12px 22px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.tutorial-title{font:italic 800 22px var(--ui-font);color:var(--lime);text-transform:uppercase}.tutorial-text{font:500 18px/1.45 var(--ui-font);margin-top:4px}.tutorial-text kbd{margin:0 3px}.tutorial-dots{font:900 18px var(--ui-font);color:var(--lime);letter-spacing:4px;margin-top:6px}.fatal{z-index:100;text-align:center;color:var(--text);background:radial-gradient(circle at 50% 40%, var(--night-2), var(--night));font-family:var(--ui-font);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:fixed;inset:0}.loading{z-index:90;color:var(--text);font:italic 900 28px var(--ui-font);text-transform:uppercase;background:radial-gradient(circle at 50% 40%, var(--night-2), var(--night));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fatal h1{font:italic 900 40px var(--ui-font);text-transform:uppercase;color:var(--lime);margin:0}.fatal p{max-width:520px;font:500 19px/1.4 var(--ui-font);color:var(--text-dim);margin:0}.menu-overlay.menu-customize{padding-left:max(24px, calc(4 * var(--app-w) / 100));cursor:grab;background:linear-gradient(90deg,#00070fcc 0%,#00070f59 42%,#00070f00 62%);justify-content:flex-start}.menu-overlay.menu-customize:active{cursor:grabbing}.menu-customize .menu-panel{cursor:default;width:min(500px, calc(92 * var(--app-w) / 100))}.menu-customize .menu-panel h1{font-size:38px}.menu-customize .menu-subtitle{min-height:2.6em;font-size:16px}.menu-customize .menu-pips{display:none}.menu-thumb{width:36px;height:36px;box-shadow:0 0 0 2px var(--night);object-fit:cover;background:#e8ece5;border-radius:3px}.menu-swatch{width:20px;height:20px;box-shadow:0 0 0 2px var(--night), inset 0 0 0 2px #ffffff4d;border-radius:50%;display:inline-block}.menu-color{border:2px solid var(--night);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:30px;height:30px;margin-left:4px;padding:0}.menu-color::-webkit-color-swatch-wrapper{padding:0}.menu-color::-webkit-color-swatch{border:none;border-radius:2px}@media (max-width:720px),(max-aspect-ratio:1){:root:not(.rotated) .menu-overlay.menu-customize{background:linear-gradient(#00070f00 40%,#00070fd9 100%);align-items:flex-end;padding:0 16px 56px}:root:not(.rotated) .menu-customize .menu-panel{width:100%;max-height:calc(54 * var(--app-h) / 100);padding:16px 18px}:root:not(.rotated) .menu-customize .menu-panel h1{font-size:28px}:root:not(.rotated) .menu-customize .menu-item{gap:10px;font-size:15px}:root:not(.rotated) .menu-thumb{width:28px;height:28px}}.loading-screen{z-index:30;pointer-events:auto;background:radial-gradient(circle at 50% 45%,#00070f73,#00070fe0);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-panel{min-width:min(400px, calc(88 * var(--app-w) / 100));box-shadow:inset 0 0 0 1px var(--line-soft), inset 0 3px 0 var(--lime);clip-path:var(--cut-shape);text-align:center;background:linear-gradient(170deg,#0a1b29f0,#00070ff5);padding:26px 32px 22px}.loading-panel h2{font:italic 800 30px var(--ui-font);text-transform:uppercase;margin:14px 0 16px}.loading-ball{width:44px;height:44px;box-shadow:0 0 0 3px var(--night), 0 0 24px #6eff5066;background:conic-gradient(var(--text) 0 25%, var(--lime) 0 50%, var(--text) 0 75%, var(--lime) 0);border-radius:50%;margin:0 auto;animation:.9s linear infinite loading-spin}.loading-bar{background:#eef6ef1a;height:8px;overflow:hidden;transform:skew(-16deg)}.loading-fill{background:var(--lime);transform-origin:0;height:100%;transition:transform .25s}.loading-detail{min-height:1.3em;font:500 16px var(--ui-font);color:var(--text-dim);margin:12px 0 0}@keyframes loading-spin{to{transform:rotate(360deg)}}.menu-crumbs{font:700 14px var(--ui-font);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);gap:8px;margin-bottom:6px;display:flex}.menu-crumbs span:after{content:"›";color:var(--lime);margin-left:8px}.menu-tabs{box-shadow:inset 0 -1px 0 var(--line-soft);scrollbar-width:none;align-items:center;gap:4px;margin:16px -4px 0;padding-bottom:2px;display:flex;position:relative;overflow-x:auto}.menu-tabs::-webkit-scrollbar{display:none}.menu-tab{font:800 16px var(--ui-font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:8px 10px 10px;transition:color .12s;position:relative}.menu-tab:hover{color:var(--text)}.menu-tab:after{content:"";background:var(--lime);height:4px;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-2px;left:10px;right:10px;transform:scaleX(0)skew(-20deg)}.menu-tab.selected{color:var(--text)}.menu-tab.selected:after{transform:scaleX(1)skew(-20deg)}.menu-compact .menu-tab{letter-spacing:.04em;padding:7px 7px 9px;font-size:14px}.menu-compact .menu-tab:after{left:7px;right:7px}.menu-tab-key{cursor:pointer;opacity:.8;flex:none;min-width:24px;padding:4px 6px 3px;font-size:12px}.menu-tab-key:first-child{margin-right:4px}.menu-tab-key:last-child{margin-left:4px}.menu-page-in{animation:.24s cubic-bezier(.2,.8,.2,1) page-in}@keyframes page-in{0%{opacity:0;transform:translate(18px)}}.menu-section{font:italic 800 15px var(--ui-font);letter-spacing:.12em;text-transform:uppercase;color:var(--lime);align-items:center;gap:10px;margin:12px 0 2px;display:flex}.menu-section:after{content:"";background:var(--line-soft);flex:1;height:1px}.menu-list>.menu-section:first-child{margin-top:0}.menu-keys{gap:6px;margin-left:auto;display:inline-flex}.menu-keys kbd{min-width:30px;font-size:14px}.menu-item.selected .menu-keys kbd{background:var(--night);color:var(--lime);border-bottom-color:#0009}.menu-listening .menu-item.selected{animation:.5s ease-in-out infinite alternate listen}@keyframes listen{to{background:var(--lime-hi)}}.menu-bar{gap:3px;display:inline-flex}.menu-bar i{opacity:.18;cursor:pointer;background:currentColor;width:10px;height:16px;transition:opacity .1s;transform:skew(-16deg)}.menu-bar i.on{opacity:1}.menu-bar i:hover{opacity:.6}.menu-item:not(.selected) .menu-bar i.on{background:var(--lime)}.menu-bar+.menu-value-text{text-align:right;min-width:3.2em}.menu-toggle{width:46px;height:24px;box-shadow:inset 0 0 0 1px var(--line-soft);background:#eef6ef24;border-radius:999px;flex:none;transition:background .16s;position:relative}.menu-toggle i{background:var(--text-dim);border-radius:50%;width:18px;height:18px;transition:transform .18s cubic-bezier(.2,.8,.2,1),background .16s;position:absolute;top:3px;left:3px}.menu-toggle.on{background:var(--lime);box-shadow:none}.menu-toggle.on i{background:var(--night);transform:translate(22px)}.menu-item.selected .menu-toggle{background:#00070f2e}.menu-item.selected .menu-toggle.on{background:var(--night)}.menu-item.selected .menu-toggle.on i{background:var(--lime)}.menu-item.selected .menu-toggle:not(.on) i{background:#00070f80}.menu-value-text:has(+.menu-toggle){text-align:right;min-width:2em}.menu-item.tall{flex-wrap:wrap;row-gap:8px;padding-top:8px;padding-bottom:10px}.menu-item.tall .menu-value{margin-left:auto}.menu-strip{scrollbar-width:none;gap:8px;width:100%;padding:5px;display:flex;position:relative;overflow-x:auto}.menu-strip::-webkit-scrollbar{display:none}.menu-strip-swatches{flex-wrap:wrap;overflow:visible}.menu-chip{cursor:pointer;flex:none;place-items:center;transition:transform .12s,box-shadow .12s,opacity .12s;display:grid;position:relative}.menu-strip-swatches .menu-chip{background:var(--swatch,transparent);border-radius:50%;width:26px;height:26px;box-shadow:inset 0 0 0 2px #ffffff2e,0 0 0 1px #00070f99}.menu-strip-thumbs .menu-chip{opacity:.55;background:#e8ece5;border-radius:4px;width:50px;height:50px;overflow:hidden;box-shadow:0 0 0 1px #00070f99}.menu-strip-thumbs .menu-chip img{object-fit:cover;width:100%;height:100%}.menu-chip:hover{opacity:1;transform:scale(1.12)}.menu-chip.on{opacity:1;box-shadow:0 0 0 2px var(--night), 0 0 0 4px var(--lime);transform:scale(1.08)}.menu-item.selected .menu-chip.on{box-shadow:0 0 0 2px var(--lime), 0 0 0 4px var(--night)}.menu-chip-text{padding:4px 8px;font-size:13px}.menu-detail{flex-direction:column;gap:12px;display:flex}.menu-detail.empty{visibility:hidden}.menu-detail h2{font:italic 800 24px/1 var(--ui-font);text-transform:uppercase;letter-spacing:.02em;margin:0}.menu-detail p{font:500 17px/1.4 var(--ui-font);color:var(--text-dim);margin:0}.menu-detail-art{color:var(--lime)}.menu-detail-art svg{width:100%;height:100%;display:block}.menu-detail-side{width:min(380px, calc(32 * var(--app-w) / 100));min-height:min(420px, calc(var(--app-h) - 160px));box-shadow:inset 0 0 0 1px var(--line-soft);clip-path:var(--cut-shape);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(170deg,#12293be0,#00070fe6);align-self:center;padding:24px 26px;animation:.26s ease-out panel-in;position:relative}.menu-detail-side .menu-detail-art{height:170px;box-shadow:inset 0 0 0 1px var(--line-soft);background:radial-gradient(circle at 50% 60%,#6eff5024,#6eff5000 70%),#00070f73;place-items:center;padding:26px;display:grid}.menu-detail-side .menu-detail-art svg{width:auto;max-width:100%;height:100%}.menu-detail-inline{background:var(--night-1);min-height:92px;box-shadow:inset 0 0 0 1px var(--line-soft), 0 -14px 18px -8px var(--night);z-index:1;grid-template-rows:auto 1fr;grid-template-columns:64px 1fr;gap:4px 14px;margin-top:14px;padding:12px 14px;display:grid;position:sticky;bottom:-24px}.menu-detail-inline h2{grid-column:2;font-size:18px}.menu-detail-inline p{grid-column:2;font-size:15px}.menu-detail-inline .menu-detail-art{grid-area:1/1/span 2;align-self:center;width:64px;height:48px}.menu-detail-inline .menu-detail-art svg{height:100%}.menu-detail-inline.empty{visibility:visible;opacity:.4}.menu-detail-inline:not(:has(.menu-detail-art)){grid-template-columns:1fr}.menu-detail-inline:not(:has(.menu-detail-art)) :is(h2,p){grid-column:1}.menu-overlay.menu-settings{justify-content:center;gap:18px}.menu-overlay.menu-settings.menu-side{justify-content:flex-start}.menu-settings .menu-panel{width:min(600px, calc(94 * var(--app-w) / 100));align-self:center;max-width:none}.menu-tabbed .menu-panel{height:min(640px, calc(var(--app-h) - 110px));flex-direction:column;display:flex;overflow:hidden}.menu-tabbed .menu-panel>*{flex:none}.menu-tabbed .menu-panel>.menu-list,.menu-tabbed .menu-panel>.howto{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:auto;min-height:0;margin-right:-12px;padding:2px 12px 8px 0;overflow:hidden auto}.menu-tabbed .menu-panel>.howto~.menu-list{flex:none;margin:12px 0 0;padding:0;overflow:visible}.menu-tabbed .menu-detail-side{height:min(640px, calc(var(--app-h) - 110px));min-height:0}.menu-settings .menu-list{margin-top:14px}.menu-side .menu-item.primary{min-height:56px;font-size:26px}.howto-rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.howto-card{box-shadow:inset 0 0 0 1px var(--line-soft);clip-path:var(--cut-shape);--cut:10px;background:#eef6ef0b;align-items:flex-start;gap:12px;padding:14px 14px 14px 12px;animation:.32s cubic-bezier(.2,.8,.2,1) both tile-in;display:flex;position:relative}.howto-card:nth-child(2){animation-delay:40ms}.howto-card:nth-child(3){animation-delay:80ms}.howto-card:nth-child(4){animation-delay:.12s}.howto-card:nth-child(5){animation-delay:.16s}.howto-card:nth-child(6){animation-delay:.2s}.howto-card:nth-child(7){animation-delay:.24s}.howto-card.wide{grid-column:1/-1}.howto-card p{font:500 16px/1.4 var(--ui-font);margin:0}.howto-num{width:30px;height:30px;font:italic 900 18px/1 var(--ui-font);color:var(--lime-ink);background:var(--lime);flex:none;place-items:center;display:grid;transform:skew(-12deg)}.howto-controls{flex-direction:column;margin-top:14px;display:flex}.howto-control{border-top:1px solid var(--line-soft);font:600 16px var(--ui-font);grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:12px;padding:7px 4px;display:grid}.howto-control.head{font:italic 800 14px var(--ui-font);letter-spacing:.1em;text-transform:uppercase;color:var(--lime);border-top:none}.howto-keys{flex-wrap:wrap;gap:5px;display:flex}.howto-keys kbd{font-size:13px}.howto-shots{grid-template-columns:120px 1fr;align-items:start;gap:20px;margin-top:16px;display:grid}.howto-art{color:var(--lime);box-shadow:inset 0 0 0 1px var(--line-soft);background:#00070f73;padding:20px}.howto-art svg{width:100%;height:auto;display:block}.howto-shots .howto-tips{color:var(--text);margin:0;font-size:17px}@media (max-width:960px){.menu-detail-side{display:none}}@media (max-width:720px),(max-aspect-ratio:1){:root:not(.rotated) .howto-rules,:root:not(.rotated) .howto-shots{grid-template-columns:1fr}:root:not(.rotated) .howto-art{width:96px}:root:not(.rotated) .menu-strip-thumbs .menu-chip{width:40px;height:40px}}.menu-subtitle,.menu-detail p,.howto-card p,.howto-tips,.howto ul,.tile-desc,.tutorial-text,.loading-detail,.fatal p{letter-spacing:.045em;word-spacing:.06em;line-height:1.45}.menu-item,.menu-hint,.menu-tab,.howto-control{letter-spacing:.05em}.menu-item.tall:has(.menu-cards){padding:12px 14px 14px}.menu-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.menu-card{aspect-ratio:16/9;background:var(--night-2) center / cover no-repeat;box-shadow:inset 0 0 0 1px var(--line-soft);clip-path:var(--cut-shape);--cut:10px;filter:saturate(.55)brightness(.7);cursor:pointer;align-items:flex-end;padding:10px 12px;transition:filter .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden}.menu-card:before{content:"";background:linear-gradient(#00070f00 30%,#00070f59 55%,#00070feb 100%);position:absolute;inset:0}.menu-card:hover{filter:saturate(.85)brightness(.9)}.menu-card-name{font:italic 800 17px/1.05 var(--ui-font);letter-spacing:.05em;text-transform:uppercase;color:var(--text);text-shadow:0 2px 8px #00070fe6;position:relative}.menu-card.on{filter:none;box-shadow:inset 0 0 0 3px var(--lime)}.menu-card.on .menu-card-name{color:var(--lime)}.menu-prematch .menu-item.tall:has(.menu-cards)>.menu-label{font:italic 800 20px var(--ui-font);letter-spacing:.04em}.menu-item.tall.selected{color:var(--text);box-shadow:inset 0 0 0 2px var(--lime);background:#6eff5014;transform:none}.menu-item.tall.selected:before{background:var(--lime);transform:scaleY(0)}.menu-item.tall.selected .menu-value-text{color:var(--lime)}.menu-strip-swatches .menu-chip{box-shadow:none}.menu-strip-swatches .menu-chip:hover{transform:scale(1.1)}.menu-strip-swatches .menu-chip.on,.menu-item.selected .menu-strip-swatches .menu-chip.on{box-shadow:0 0 0 2px var(--night-1), 0 0 0 4px var(--text);transform:none}.menu-item.selected .menu-strip-thumbs .menu-chip.on{box-shadow:0 0 0 2px var(--night), 0 0 0 4px var(--lime)}@media (prefers-reduced-motion:reduce){.menu-tile,.menu-panel,.title-logo,.menu-detail-side,.menu-page-in,.howto-card,.menu-tile.selected:after,.hero.selected .art-ball,.title-press{animation:none}.menu-tile.selected,.menu-item.selected{transform:none}}.hud-sprint{left:var(--edge-l);bottom:var(--edge-b)}.hud-hints{right:var(--edge-r);bottom:var(--edge-b)}.possession{right:var(--edge-r)}.menu-hints{padding-left:max(24px, calc(4 * var(--app-w) / 100), var(--safe-l));padding-right:max(24px, calc(4 * var(--app-w) / 100), var(--safe-r));padding-bottom:var(--safe-b);height:calc(52px + var(--safe-b))}@media (max-height:620px){.menu-hints{height:calc(44px + var(--safe-b))}}.menu-overlay.main-menu,.menu-overlay.menu-side,.menu-overlay.menu-customize{padding-left:max(24px, calc(4 * var(--app-w) / 100), var(--safe-l))}.menu-corner{right:max(16px, calc(4 * var(--app-w) / 100), var(--safe-r))}.touch-controls{--tc-hit:clamp(70px, calc(22 * var(--app-h) / 100), 100px);--tc-btn:clamp(48px, calc(14.5 * var(--app-h) / 100), 66px);--tc-stick:clamp(96px, calc(30 * var(--app-h) / 100), 150px);--tc-gap:16px;--tc-ring:calc(var(--tc-hit) / 2 + var(--tc-btn) / 2 + var(--tc-gap));--tc-l:max(18px, var(--safe-l));--tc-r:max(18px, var(--safe-r));--tc-t:max(12px, var(--safe-t));--tc-b:max(14px, var(--safe-b));touch-action:none;-webkit-user-select:none;user-select:none;display:none;position:absolute;inset:0}.touch-controls.on{display:block}.tc-zone{pointer-events:auto;touch-action:none;width:46%;height:78%;position:absolute;bottom:0;left:0}.tc-stick{left:calc(var(--tc-l) + var(--tc-stick) / 2 + 12px);top:calc(100% - var(--tc-b) - var(--tc-stick) / 2 - 12px);width:var(--tc-stick);height:var(--tc-stick);margin:calc(var(--tc-stick) / -2) 0 0 calc(var(--tc-stick) / -2);opacity:.55;background:radial-gradient(circle,#00070f1f 40%,#00070f6b 100%);border-radius:50%;transition:opacity .15s;position:absolute;box-shadow:inset 0 0 0 2px #eef6ef38}.tc-stick.active{opacity:1}.tc-knob{background:radial-gradient(circle at 40% 35%, var(--text), #b9c6c2);border-radius:50%;width:44%;height:44%;margin:-22% 0 0 -22%;position:absolute;top:50%;left:50%;box-shadow:0 4px 14px #00000073,inset 0 -3px #00070f40}.tc-stick.active .tc-knob{background:radial-gradient(circle at 40% 35%, var(--lime-hi), var(--lime))}.tc-sprint-ring{opacity:0;border:2px dashed #eef6ef2e;border-radius:50%;transition:opacity .15s,border-color .15s;position:absolute;inset:-24%}.tc-stick.active .tc-sprint-ring{opacity:1}.tc-stick.sprint .tc-sprint-ring{border:3px solid var(--lime);box-shadow:0 0 18px #6eff5073}.tc-sprint-label{font:italic 900 11px var(--ui-font);letter-spacing:.12em;color:var(--text-dim);background:var(--night);padding:1px 6px;position:absolute;top:-.6em;left:50%;transform:translate(-50%)}.tc-stick.sprint .tc-sprint-label{color:var(--lime-ink);background:var(--lime)}.tc-cluster{right:calc(var(--tc-r) + var(--tc-btn) * .5);bottom:calc(var(--tc-b) + 4px);width:var(--tc-hit);height:var(--tc-hit);position:absolute}.tc-btn{font-family:var(--ui-font);color:var(--text);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#00070f8c;border:none;border-radius:50%;place-items:center;padding:0;transition:transform 60ms,background 80ms;display:grid;position:absolute;box-shadow:inset 0 0 0 2px #eef6ef47,0 4px 14px #00000059}.tc-btn.down{background:var(--lime);color:var(--lime-ink);transform:scale(.92);box-shadow:0 0 22px #6eff5080}.tc-label{font:italic 900 12px/1 var(--ui-font);letter-spacing:.05em;text-transform:uppercase;pointer-events:none}.tc-cluster .tc-btn{width:var(--tc-btn);height:var(--tc-btn);margin:calc(var(--tc-btn) / -2) 0 0 calc(var(--tc-btn) / -2);transform:rotate(calc(-1 * var(--a))) translateX(var(--r,var(--tc-ring))) rotate(var(--a));top:50%;left:50%}.tc-cluster .tc-btn.down{transform:rotate(calc(-1 * var(--a))) translateX(var(--r,var(--tc-ring))) rotate(var(--a)) scale(.92)}.tc-cluster .tc-hit{--a:0deg;--r:0px;width:var(--tc-hit);height:var(--tc-hit);margin:calc(var(--tc-hit) / -2) 0 0 calc(var(--tc-hit) / -2);box-shadow:inset 0 0 0 3px var(--lime), 0 4px 18px #0006;background:#6eff5038}.tc-hit .tc-label{font-size:16px}.tc-jump{--a:192deg}.tc-smash{--a:150deg}.tc-lob{--a:108deg}.tc-pass{--a:66deg}.tc-cluster .tc-super{--a:128deg;--r:calc(var(--tc-ring) + var(--tc-btn) + 4px);color:var(--night);background:linear-gradient(135deg, var(--gold), var(--hot));animation:.4s infinite alternate charge-pulse;display:none;box-shadow:0 0 18px #ffd84a99}.tc-cluster .tc-super.ready{display:grid}.tc-cluster .tc-super.armed{box-shadow:0 0 0 3px var(--text), 0 0 26px #ffd84ae6;animation:none}.tc-pause{left:var(--tc-l);top:var(--tc-t);border-radius:6px;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:flex}.tc-pause i{background:currentColor;border-radius:1px;width:5px;height:16px;display:block}.tc-sandbox{top:var(--tc-t);right:var(--tc-r);flex-direction:column;align-items:flex-end;gap:8px;display:none;position:absolute}.touch-controls.sandbox .tc-sandbox{display:flex}.tc-sandbox .tc-btn{border-radius:6px;min-height:40px;padding:0 14px;position:relative}.hud.touch .hud-hints{display:none}.hud.touch .hud-sprint{left:max(18px, var(--safe-l));top:calc(max(12px, var(--safe-t)) + 54px);gap:4px 8px;bottom:auto}.hud.touch .hud-label{font-size:12px}.hud.touch .hud-bar{width:96px;height:8px}.hud.touch .hud-super-key{min-width:0;font-size:12px}.hud.touch .hud-charge{top:58%;bottom:auto}kbd.touch-key{background:var(--night-3);color:var(--lime);text-transform:uppercase;border-bottom-color:#00000080;border-radius:999px;padding:5px 10px 4px;font-style:italic}.menu-hint.menu-hint-touch{opacity:1;min-height:40px;padding:0 14px 0 4px}.menu-hint-touch kbd{padding:2px 10px 4px;font-size:20px}@media (pointer:coarse){.menu-panel,.menu-detail-side{-webkit-backdrop-filter:none;backdrop-filter:none}.menu-arrow{width:36px;height:36px}.menu-tab{padding:10px 12px 12px}.menu-strip-swatches .menu-chip{width:34px;height:34px}.menu-bar i{width:13px;height:22px}.menu-corner{padding:11px 18px 11px 14px}.menu-item{min-height:48px}}:root.compact .menu-overlay{padding:max(10px, var(--safe-t)) max(16px, var(--safe-r)) calc(46px + var(--safe-b)) max(16px, var(--safe-l))}:root.compact .menu-hints{height:calc(42px + var(--safe-b));gap:16px}:root.compact .menu-panel{min-width:0;max-height:calc(var(--app-h) - 60px - var(--safe-b));padding:14px 18px}:root.compact .menu-panel h1{font-size:28px}:root.compact .menu-panel h1:after{height:4px;margin-top:6px}:root.compact .menu-subtitle{margin-top:6px;font-size:14px}:root.compact .menu-crumbs{margin-bottom:2px;font-size:12px}:root.compact .menu-item{gap:12px;min-height:40px;padding:4px 12px 4px 14px;font-size:16px}:root.compact .menu-tabbed .menu-panel,:root.compact .menu-tabbed .menu-detail-side{height:calc(var(--app-h) - 60px - var(--safe-b))}:root.compact .menu-detail-side{min-height:0;padding:16px 18px}:root.compact .menu-detail-side .menu-detail-art{height:110px;padding:14px}:root.compact .menu-detail-inline{grid-template-columns:44px 1fr;min-height:0;margin-top:8px;padding:8px 12px;bottom:-14px}:root.compact .menu-detail-inline .menu-detail-art{width:44px;height:34px}:root.compact .menu-detail-inline h2{font-size:15px}:root.compact .menu-detail-inline p{font-size:13px}:root.compact .menu-card{aspect-ratio:21/9}:root.compact .menu-settings .menu-panel{width:min(560px,100%)}:root.compact .howto-card{padding:10px}:root.compact .howto-card p,:root.compact .howto-tips{font-size:14px}:root.compact .howto-control{padding:5px 4px;font-size:14px}:root.compact .menu-overlay.main-menu{padding-top:max(10px, var(--safe-t));padding-bottom:calc(48px + var(--safe-b))}:root.compact .menu-grid{gap:6px;margin-top:8px}:root.compact .menu-tile{padding:8px 12px}:root.compact .menu-corner{top:max(10px, var(--safe-t))}:root.compact .menu-overlay.menu-customize .menu-panel{max-height:calc(var(--app-h) - 60px - var(--safe-b))}:root.compact .menu-customize .menu-panel h1{font-size:26px}:root.compact .menu-customize .menu-subtitle{min-height:0}:root.compact .scoreboard{top:max(8px, var(--safe-t));gap:8px;padding:4px 10px}:root.compact .team-name{font-size:13px}:root.compact .team-points{min-width:30px;font-size:26px}:root.compact .score-sep{font-size:20px}:root.compact .score-tag{top:calc(max(8px, var(--safe-t)) + 44px);font-size:13px}:root.compact .possession{top:calc(max(8px, var(--safe-t)) + 44px);padding:4px 10px;font-size:13px}:root.compact .serve-meter{top:calc(max(8px, var(--safe-t)) + 72px);gap:8px}:root.compact .serve-track{width:200px;height:14px}:root.compact .serve-prompt{min-width:0;font-size:14px}:root.compact .point-title{-webkit-text-stroke-width:4px;font-size:44px}:root.compact .point-sub{font-size:17px}:root.compact .hud-popup{-webkit-text-stroke-width:4px;font-size:40px}:root.compact .hud-popup.special{font-size:48px}:root.compact .hud-popup.bad,:root.compact .hud-popup.info{font-size:30px}:root.compact .hud-toast{top:max(10px, var(--safe-t));padding:7px 14px 6px;font-size:14px}:root.compact .hud-charge-bar{width:160px}:root.compact .replay-title{font-size:18px}:root.compact .replay-box{padding:6px 16px 8px}:root.compact .tutorial-panel{top:max(8px, var(--safe-t));width:min(620px, calc(100 * var(--app-w) / 100) - 300px);padding:8px 12px 8px 16px}:root.compact .tutorial-title{font-size:15px}:root.compact .tutorial-text{font-size:13px;line-height:1.35}:root.compact .tutorial-text kbd{padding:3px 6px 2px;font-size:11px}:root.compact .tutorial-dots{margin-top:2px;font-size:13px}:root.compact .title-logo img{width:clamp(220px, calc(46 * var(--app-w) / 100), 520px)}:root.compact .title-press{padding:8px 18px 6px;font-size:16px}:root.compact .loading-panel{padding:18px 22px 16px}:root.compact .loading-panel h2{margin:10px 0 12px;font-size:22px}@media (prefers-reduced-motion:reduce){.tc-cluster .tc-super{animation:none}}:root.rotated #game,:root.rotated #ui-root{width:var(--app-w);height:var(--app-h);transform-origin:0 0;inset:0 auto auto 0;transform:rotate(90deg)translateY(-100%)}:root.rotated{--safe-t:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-left,0px);--safe-l:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-bottom,0px)}.title-tip{font:600 13px var(--ui-font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);text-align:center;margin-top:-12px;padding:0 16px}:root.touch .menu-hints{left:auto;right:max(12px, var(--safe-r));top:max(10px, var(--safe-t));height:auto;box-shadow:none;background:0 0;padding:0;bottom:auto;overflow:visible}:root.touch .menu-hint.menu-hint-touch{background:var(--glass);min-height:40px;box-shadow:inset 0 0 0 1px var(--line);clip-path:var(--cut-shape);--cut:8px;padding:0 16px 0 6px}:root.touch .main-menu .menu-hints{display:none}:root.touch .menu-overlay,:root.touch .menu-overlay.main-menu{padding-bottom:max(12px, var(--safe-b))}:root.compact .menu-crumbs,:root.compact .menu-subtitle,:root.compact .menu-detail-inline,:root.compact .tile-desc,:root.compact .tile-kicker,:root.compact .tile-go,:root.compact .menu-pips,:root.compact .menu-section:after{display:none}:root.compact .menu-panel h1{font-size:22px;line-height:1}:root.compact .menu-panel h1:after{display:none}:root.compact .menu-panel{padding:12px 14px}:root.compact .menu-list{gap:4px;margin-top:8px}:root.compact .menu-item{min-height:36px;padding:3px 10px 3px 12px;font-size:14px}:root.compact .menu-item.primary,:root.compact .menu-side .menu-item.primary{min-height:40px;font-size:17px}:root.compact .menu-item.selected{transform:none}:root.compact .menu-arrow{width:30px;height:30px;font-size:17px}:root.compact .menu-section{margin:6px 0 0;font-size:12px}:root.compact .menu-tabs{margin-top:6px}:root.compact .menu-tab{padding:6px 8px 8px;font-size:13px}:root.compact .menu-item.tall{row-gap:4px;padding-top:5px;padding-bottom:6px}:root.compact .menu-cards{gap:6px}:root.compact .menu-card{aspect-ratio:auto;height:46px;padding:6px 10px}:root.compact .menu-card-name{font-size:13px}:root.compact .menu-prematch .menu-item.tall:has(.menu-cards)>.menu-label{font-size:14px}:root.compact .menu-strip-thumbs .menu-chip{width:34px;height:34px}:root.compact .menu-strip-swatches .menu-chip{width:26px;height:26px}:root.compact .menu-toggle{width:40px;height:22px}:root.compact .menu-toggle i{width:16px;height:16px}:root.compact .menu-toggle.on i{transform:translate(18px)}:root.compact .menu-bar i{width:9px;height:16px}:root.compact .howto-rules{gap:6px;margin-top:8px}:root.compact .howto-card{gap:8px;padding:8px}:root.compact .howto-num{width:22px;height:22px;font-size:14px}:root.compact .howto-card p,:root.compact .howto-tips{font-size:13px;line-height:1.3}:root.compact .howto-shots{grid-template-columns:80px 1fr;gap:12px;margin-top:8px}:root.compact .howto-art{padding:10px}:root.compact .end-stats table{margin:4px 0;font-size:14px}:root.compact .end-stats td,:root.compact .end-stats th{padding:2px 6px}:root.compact .end-sets{margin-top:6px;font-size:15px}:root.compact .menu-overlay.main-menu{padding-top:max(10px, var(--safe-t))}:root.compact .main-menu .menu-panel{width:min(640px, calc(var(--app-w) * .62))}:root.compact .menu-logo{height:30px}:root.compact .menu-grid{grid-template-rows:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:6px;margin-top:8px}:root.compact .menu-tile{justify-content:flex-end;padding:6px 10px 7px}:root.compact .tile-text{padding:0}:root.compact .tile-art{width:20px;top:7px;left:10px;right:auto;transform:none}:root.compact .menu-tile.selected .tile-art{transform:none}:root.compact .hero .tile-art{display:none}:root.compact .hero .tile-text{padding-left:4px}:root.compact .tile-title{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(11px,11cqw,17px);overflow:hidden}:root.compact .hero .tile-title{font-size:clamp(16px,10cqw,26px)}:root.compact .tile-mark{font-size:70px}:root.compact .menu-corner{padding:7px 12px 7px 10px;font-size:13px}:root.compact .menu-overlay.menu-side,:root.compact .menu-overlay.menu-customize{padding-top:max(8px, var(--safe-t));align-items:stretch}:root.compact .menu-side .menu-panel,:root.compact .menu-customize .menu-panel{width:min(460px, calc(var(--app-w) * .55));align-self:stretch;max-height:none}:root.compact .menu-tabbed .menu-panel{height:auto}:root.compact .menu-panel{max-height:calc(var(--app-h) - max(12px, var(--safe-b)) - max(8px, var(--safe-t)))}:root.tiny .menu-panel h1{font-size:18px}:root.tiny .menu-item{min-height:32px;font-size:13px}:root.tiny .menu-tab{padding:4px 6px 6px;font-size:12px}:root.tiny .menu-card{height:38px}:root.tiny .menu-logo{height:24px}:root.tiny .menu-grid{gap:5px;margin-top:6px}:root.tiny .tile-title{font-size:clamp(11px,10.5cqw,15px)}:root.tiny .tile-art{width:16px;top:5px}:root.tiny .hero .tile-title{font-size:clamp(15px,9cqw,21px)}:root.tiny .menu-overlay.main-menu{padding-top:max(8px, var(--safe-t))}:root.tiny .touch-controls{--tc-hit:64px;--tc-btn:44px;--tc-stick:92px;--tc-gap:12px}:root.tiny .tc-label{font-size:10px}:root.tiny .tc-hit .tc-label{font-size:13px}:root.tiny .scoreboard{padding:3px 8px}:root.tiny .team-points{font-size:22px}:root.tiny .title-logo img{width:clamp(180px, calc(var(--app-w) * .36), 420px)}
