:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#ecf7ff;background:#081420}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}#view{position:fixed;inset:0;width:100%;height:100%;display:block}.hud{position:fixed;z-index:2;left:0;right:0;top:0;height:78px;padding:8px 28px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#07111df0,#07111d90);border-bottom:1px solid #ffffff25}.brand{font-size:12px;font-weight:800;letter-spacing:.16em;color:#c5eee8}.brand:first-letter{color:#fa785e}.score{display:flex;gap:16px;align-items:center;text-align:center}.score div{display:grid}.score small,.games{font-size:10px;letter-spacing:.15em;color:#8ac4bf}.score strong{font-size:30px;line-height:1}.score span{font-size:22px;color:#83c5be}.server{position:fixed;z-index:2;top:90px;left:50%;transform:translate(-50%);border:1px solid #79e5ce75;border-radius:999px;background:#092d3dcc;padding:7px 17px;font-size:11px;font-weight:800;letter-spacing:.15em}.banner{position:fixed;z-index:4;left:50%;top:25%;transform:translate(-50%);padding:15px 24px;border-radius:12px;background:#103747eb;border:1px solid #8ce9d1a8;font-size:22px;font-weight:900;letter-spacing:.07em;white-space:nowrap}.start,.results{position:fixed;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 30px));max-height:calc(100dvh - 100px);overflow:auto;padding:30px;border:1px solid #8fb0ca60;border-radius:20px;background:#0a1a2bef;box-shadow:0 25px 80px #000a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.eyebrow{font-size:10px;letter-spacing:.18em;color:#71dec2;font-weight:800}.start h1,.results h1{font-size:38px;letter-spacing:-.04em;margin:9px 0}.start p,.results p{font-size:13px;line-height:1.5;color:#b6cad6}.pairing{display:flex;align-items:center;gap:17px;padding:14px;margin:20px 0;background:#142a39;border:1px solid #63d4c477;border-radius:14px}.pairing canvas{flex:none;width:136px!important;height:136px!important;box-sizing:content-box;border:5px solid white;border-radius:6px;background:#fff}.pairing div{min-width:0;display:grid;gap:9px}.pairing a{font-size:10px;overflow-wrap:anywhere;color:#85f2dc}.pairing small{color:#b7cbd5}.pairing.connected canvas,.pairing.connected a{display:none}.settings{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.settings label{display:grid;gap:5px;font-size:11px;color:#aac3ce}.settings select{padding:8px;background:#132b40;color:#fff;border:1px solid #4b718b;border-radius:7px}.settings .check{display:flex;align-items:center;gap:8px}.settings .check[hidden]{display:none}.actions{display:flex;align-items:center;gap:20px;margin:24px 0 12px}.actions button,.results button{border:0;border-radius:9px;background:#ed704f;color:#101c24;padding:13px 22px;font-weight:900;cursor:pointer}.actions a,.results a{color:#9ce7da;text-decoration:none;font-weight:700}.start>small{font-size:11px;color:#a9c4d0}.controls{position:fixed;z-index:2;bottom:20px;left:20px;display:flex;gap:8px;align-items:center}.controls button{background:#16374b;color:#e8faff;border:1px solid #6b9bab;border-radius:8px;padding:9px 12px;cursor:pointer}.controls span{font-size:11px;color:#ffe39c}.results{text-align:center}.results a{display:inline-block;margin-left:20px}@media(max-width:600px){.hud{padding:8px 12px}.brand,.games{font-size:8px}.score strong{font-size:23px}.start,.results{padding:20px}.pairing canvas{width:105px!important;height:105px!important}}.feedback{position:fixed;z-index:2;top:135px;left:50%;transform:translate(-50%);font-size:16px;font-weight:900;letter-spacing:.1em;color:#99f3cf;text-shadow:0 2px 8px #000}.swing-mark{position:fixed;z-index:3;right:24px;top:86px;padding:7px 11px;border-radius:8px;background:#154f4a;color:#d5ffec;font-size:11px;font-weight:900;letter-spacing:.1em}.brand{text-decoration:none}.score strong{font-size:clamp(42px,5vw,74px);font-variant-numeric:tabular-nums}.hud{height:100px}.server{top:110px;font-size:clamp(13px,1.4vw,23px);text-align:center;max-width:90vw;white-space:normal}.stakes{position:fixed;z-index:3;top:165px;left:50%;transform:translate(-50%);font-size:clamp(20px,2.7vw,42px);font-weight:900;letter-spacing:.08em;color:#ffe79d;text-shadow:0 2px 10px #000}.results button[hidden]{display:none}body .view-controls{inset:auto 20px 18px auto}.feedback{top:215px}.match-message{position:fixed;z-index:4;top:120px;left:50%;transform:translate(-50%);max-width:min(800px,90vw);padding:12px 20px;border:1px solid #79e5ce75;border-radius:12px;background:#092d3de8;text-align:center;font-size:clamp(17px,2.3vw,30px);font-weight:900;line-height:1.2;color:#ecf7ff;text-shadow:0 2px 8px #000}.match-message[hidden]{display:none}body:not(.debug) .swing-mark{display:none}body:not(.debug) .feedback{display:none}body.showing-result .hud,body.showing-result .view-controls,body.showing-result .controls,body.showing-result .feedback,body.showing-result .swing-mark,body.phone-disconnected .server,body.phone-disconnected .stakes,body.phone-disconnected .feedback,body.phone-disconnected #toss-progress,.split-divider,.split-scores{display:none}body.two-player .split-divider{display:block;position:fixed;left:calc(50% - 1px);top:0;bottom:0;width:2px;background:#d5e8f0a0;z-index:2;pointer-events:none}body.two-player:has(.pac-presentation.active) .split-divider,body.two-player.pac-replaying .split-divider,body.two-player.showing-result .split-divider,body.two-player.phone-disconnected .split-divider{display:none}body.phone-disconnected .pac-title{display:none}body.two-player .split-scores{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:0 0 auto;z-index:3;pointer-events:none}.split-score{margin:10px auto;padding:9px 14px;border-radius:9px;background:#081827d9;color:#fff;font-size:clamp(12px,1.2vw,18px);font-weight:800;text-align:center;max-width:95%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.two-player .pg-hud,body.two-player.showing-result .split-scores{display:none}.two-disconnect{position:fixed;z-index:20;top:20%;left:5%;width:40%;display:grid;justify-items:center;gap:12px;padding:20px;border-radius:14px;background:#081827ed;color:#fff;text-align:center}.two-disconnect[hidden]{display:none}.two-disconnect[data-slot="2"]{left:auto;right:5%}.two-disconnect canvas{width:min(240px,100%);height:auto}.two-disconnect a{color:#f6a562;overflow-wrap:anywhere}body.two-player .match-message[data-side=near]{left:25%;max-width:43vw}body.two-player .match-message[data-side=far]{left:75%;max-width:43vw}.serve-meter{position:fixed;z-index:4;left:calc(50% + min(260px,28vw));top:50%;transform:translateY(-50%)}.serve-meter[hidden]{display:none}.serve-meter-bar{position:relative;width:34px;height:min(46vh,340px);border:2px solid #e8faff;border-radius:18px;background:linear-gradient(to bottom,#2fd06a 0% 28%,#f2d43a 28% 70%,#e2483a 70% 93%,#7a1d17 93%);box-shadow:0 6px 24px #0008}.serve-meter-marker{position:absolute;left:-10px;right:-10px;height:8px;margin-bottom:-4px;bottom:0;border-radius:4px;background:#fff;box-shadow:0 0 10px #fff}.start-countdown{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;z-index:40;font:800 min(34vh,30vw)/1 system-ui,sans-serif;color:#fff;text-shadow:0 6px 30px rgba(0,0,0,.55)}.start-countdown[hidden]{display:none}.start-countdown.tick{animation:countdown-pop .9s ease-out both}@keyframes countdown-pop{0%{transform:scale(1.35);opacity:0}18%{opacity:1}to{transform:scale(.92);opacity:.85}}.fs-prompt{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:45;padding:12px 20px;border-radius:999px;border:2px solid rgba(255,255,255,.85);background:#0a0e18c7;color:#fff;font:700 17px/1 system-ui,sans-serif;letter-spacing:.02em;cursor:pointer;box-shadow:0 6px 24px #0006}.fs-prompt:hover,.fs-prompt:focus-visible{background:#1e2840eb}.fs-prompt[hidden]{display:none}.link-badge{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:45;padding:9px 14px;border-radius:999px;background:#0a0e18b8;color:#bff5c8;font:600 15px/1 system-ui,sans-serif}.link-badge.slow{color:#ffd38a}.link-badge[hidden]{display:none}body.two-player .split-score{display:flex;align-items:baseline;justify-content:center;gap:14px;font-size:clamp(16px,1.9vw,28px);padding:10px 22px}.split-score .seat-name{font-weight:800;letter-spacing:.02em}.split-score .seat-points{font-size:1.9em;font-weight:900;line-height:1;color:#ffd166}.split-score .seat-games{font-size:.62em;font-weight:700;opacity:.75}.match-start-card{position:fixed;z-index:12;left:50%;top:48%;transform:translate(-50%,-50%);width:min(90vw,420px);display:grid;justify-items:center;gap:14px;text-align:center}.match-start-card .match-start-gesture{position:static;transform:none;margin:0;max-width:100%}.match-start-tip{display:none;margin:0;padding:12px 18px;border-radius:999px;border:2px solid var(--accent);background:#07111df0;color:#fff;font:700 17px var(--font-label);line-height:1.3;box-shadow:0 6px 24px #0008}@media(pointer:coarse)and (orientation:portrait){.match-start-tip{display:block}}@media(pointer:coarse){body:has(.match-start-card) .install-hint,body:has(.match-start-card) .rotate-tip{display:none!important}}body.pg{font-family:var(--font-body)}.screen-help{font:500 clamp(13px,1vw,18px)/1.4 var(--font-body);color:var(--muted)}.pg-hud{position:fixed;z-index:6;left:var(--edge-x);right:var(--edge-x);top:var(--edge-y);pointer-events:none}.pg-hud a,.pg-hud button{pointer-events:auto}.pg-brand{position:absolute;right:0;top:0;text-decoration:none;color:var(--ink)}.pg-scorebug{display:grid;grid-template-columns:calc(26 * var(--u)) calc(230 * var(--u)) calc(56 * var(--u)) calc(76 * var(--u));grid-auto-rows:calc(64 * var(--u));width:max-content;border-radius:calc(10 * var(--u));overflow:hidden;background:#08101cdb;font-family:var(--font-label);font-weight:700;color:var(--ink)}.pg-scorebug>span{display:flex;align-items:center;justify-content:center}.pg-scorebug .pg-name{justify-content:flex-start;font-size:calc(34 * var(--u));letter-spacing:.06em}.pg-scorebug .pg-games{font-size:calc(30 * var(--u));color:var(--muted)}.pg-scorebug .pg-points{font-family:var(--font-display);font-size:calc(42 * var(--u));color:var(--navy);background:var(--ink)}.pg-scorebug .pg-points.them{background:#dde6ef}.pg-scorebug .pg-row2{border-top:1px solid rgba(255,255,255,.12)}.pg-games-line{margin-top:calc(10 * var(--u));font-family:var(--font-label);font-weight:700;font-size:calc(24 * var(--u));letter-spacing:.1em;color:var(--muted)}body.showing-result .pg-hud,body.showing-result .pg-view,body.showing-result .pg-controls{display:none}body.pg .match-message{top:calc(150 * var(--u));padding:calc(18 * var(--u)) calc(40 * var(--u));border:0;border-radius:calc(16 * var(--u));background:var(--glass);backdrop-filter:blur(calc(20 * var(--u)));-webkit-backdrop-filter:blur(calc(20 * var(--u)));font-family:var(--font-display);font-weight:400;font-size:calc(56 * var(--u));letter-spacing:.01em;color:var(--ink);text-shadow:none;box-shadow:none}body.pg .server,body.pg .stakes{font-family:var(--font-label);letter-spacing:.08em}body.pg .stakes{color:var(--accent)}.pg-controls{left:var(--edge-x)!important;bottom:calc(40 * var(--u))!important;gap:calc(10 * var(--u))}.pg-controls button,.pg-view button,.pg-view select{font-family:var(--font-label);font-weight:700;letter-spacing:.05em;border:0!important;border-radius:999px!important;background:var(--glass)!important;color:var(--ink)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.pg-controls button{padding:calc(12 * var(--u)) calc(22 * var(--u))!important;font-size:calc(22 * var(--u))!important}.pg-controls button:hover,.pg-view button:hover{background:#0a1422d9!important}body.pg .pg-view{right:var(--edge-x)!important;bottom:calc(40 * var(--u))!important;border:0!important;border-radius:999px!important;padding:calc(8 * var(--u)) calc(14 * var(--u))!important;font-family:var(--font-label);color:var(--muted);background:var(--glass)!important}body.pg #stance-label{color:var(--accent)}.pg-connect{background:#08101c73;z-index:20}.pg-connect-panel{position:absolute;left:var(--edge-x);top:calc(180 * var(--u));width:calc(1260 * var(--u));border-radius:var(--radius-panel);overflow:hidden}.pg-pairing{display:grid;grid-template-columns:calc(520 * var(--u)) 1fr;min-height:calc(700 * var(--u))}.pg-qr{display:flex;align-items:center;justify-content:center;background:#ffffff0a}.pg-qr canvas{width:calc(400 * var(--u))!important;height:calc(400 * var(--u))!important;border-radius:calc(16 * var(--u));background:#fff;padding:calc(12 * var(--u));box-sizing:border-box}.pg-connect-text{display:flex;flex-direction:column;justify-content:center;gap:calc(22 * var(--u));padding:calc(56 * var(--u)) calc(64 * var(--u))}.pg-connect-text .ui-title{font-size:calc(96 * var(--u))}.pg-setup,.pg-kicker{font-family:var(--font-label);font-weight:700;font-size:calc(30 * var(--u));letter-spacing:.1em;color:var(--muted)}.pg-link{font-size:calc(20 * var(--u));color:var(--muted);word-break:break-all;text-decoration:none}.pg-status{display:flex;align-items:center;gap:calc(14 * var(--u));margin:0;padding-top:calc(20 * var(--u));border-top:1px solid rgba(255,255,255,.14)}.pg-status small{font-size:calc(28 * var(--u));font-weight:600;color:var(--ink)}.pg-status-dot{width:calc(14 * var(--u));height:calc(14 * var(--u));border-radius:50%;background:var(--muted);flex:none}#phone-pairing.connected .pg-status-dot{background:var(--accent)}.pg-actions{display:flex;align-items:center;gap:calc(24 * var(--u));margin-top:calc(10 * var(--u));flex-wrap:wrap}.pg-change{font-size:calc(26 * var(--u))}.pg-results{background:#08101c59;z-index:20}.pg-results-body{position:absolute;left:var(--edge-x);top:calc(120 * var(--u));width:calc(1200 * var(--u));display:flex;flex-direction:column;gap:calc(18 * var(--u))}.pg-result-title{font-size:calc(200 * var(--u));line-height:.9}.pg-result-score{font-size:calc(34 * var(--u))}.pg-results .pg-actions{margin-top:calc(40 * var(--u))}.pg-ghost{background:var(--glass);border:0;cursor:pointer;display:inline-flex;align-items:center;height:calc(92 * var(--u));padding:0 calc(44 * var(--u));border-radius:var(--radius-control);box-shadow:inset 0 0 0 3px #ffffff4d;text-decoration:none;font-family:var(--font-display);font-size:calc(48 * var(--u));color:var(--ink)}.pg-ghost:hover{background:#ffffff14}.pg-results .ui-primary[hidden]{display:none}.pg-pause{position:fixed;z-index:25;left:0;top:0;bottom:0;width:calc(780 * var(--u));box-sizing:border-box;padding:calc(96 * var(--u));display:flex;flex-direction:column;gap:calc(14 * var(--u))}.pg-pause[hidden]{display:none}.pg-pause .ui-title{margin-bottom:calc(40 * var(--u));font-size:calc(140 * var(--u));line-height:1}.pg-pause-item{display:block;border:0;cursor:pointer;text-align:left;text-decoration:none;background:transparent;padding:calc(10 * var(--u)) calc(24 * var(--u)) calc(8 * var(--u));border-radius:calc(10 * var(--u));font-family:var(--font-label);font-weight:700;font-size:calc(52 * var(--u));letter-spacing:.04em;color:var(--ink)}.pg-pause-item:hover,.pg-pause-item:focus-visible{background:var(--accent);color:var(--navy);outline:none}.pg-pause-note{margin-top:auto!important;font-size:calc(28 * var(--u))!important;color:var(--muted)!important}body.pg [hidden]{display:none!important}@media(max-width:900px){.pg-connect-panel,.pg-results-body{left:var(--edge-x);right:var(--edge-x);width:auto;top:calc(110 * var(--u))}.pg-pairing{grid-template-columns:1fr;min-height:0}.pg-qr{padding:20px 0}.pg-connect-text{padding:24px}.pg-pause{width:100%;padding:32px var(--edge-x)}.pg-controls{flex-wrap:wrap;right:var(--edge-x)!important}body.pg .pg-view{display:none!important}}body.pg:has(#start:not([hidden])) .pg-hud,body.pg:has(#start:not([hidden])) .pg-controls,body.pg:has(#start:not([hidden])) .pg-view{display:none!important}body.pg #view{touch-action:none}.pg-controls button{min-height:44px;min-width:44px}.pg-hud{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media(max-width:900px)and (orientation:landscape){body.pg .pg-view,body.pg .pg-brand,body.pg .pg-games-line{display:none!important}.pg-scorebug{grid-template-columns:10px 92px 24px 34px;grid-auto-rows:30px}.pg-scorebug .pg-name{font-size:14px}.pg-scorebug .pg-games{font-size:13px}.pg-scorebug .pg-points{font-size:23px}.pg-controls{left:auto!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important}.pg-controls>:not(#pause){display:none!important}.pg-controls #pause{min-width:70px}.pg-connect-panel{top:12px;bottom:12px;overflow:auto}.pg-pairing{grid-template-columns:40% 1fr}.pg-qr canvas{width:min(28vw,220px)!important;height:min(28vw,220px)!important}.pg-connect-text{gap:8px;padding:12px 16px}.pg-connect-text .ui-title{font-size:32px}.pg-connect-text .ui-text,.pg-status small{font-size:13px}.pg-link{font-size:11px}.pg-actions{gap:8px}.pg-actions .ui-primary,.pg-actions .pg-ghost{height:44px;font-size:16px;padding:0 16px}.pg-controls #pause{font-size:16px!important}body.pg .pac-settings,body.pg #feedback{display:none}body.pg:has(#pause-panel:not([hidden])) .pac-settings{display:flex;bottom:max(16px,env(safe-area-inset-bottom))!important}body.pg:has(#pause-panel:not([hidden])) .pac-presentation{z-index:26}.pg-pause{overflow:auto;padding:16px 24px 72px;gap:8px}.pg-pause .ui-title{font-size:40px;margin-bottom:4px}.pg-pause-item{font-size:24px;min-height:44px}.pg-pause-note{font-size:14px!important}}body.attract>:not(#view):not(script){display:none!important}body.pg .pg-games-line,body.pg .pg-brand{display:none}body.pg .pg-controls{display:block;position:fixed;inset:16px 16px auto auto!important}body.pg .pg-controls[hidden]{display:none}body.pg #pause{min-width:84px;min-height:44px;opacity:1}body.pg .pg-pause{width:min(560px,100vw);height:100dvh;max-height:100dvh;padding:24px;overflow-y:auto;gap:12px;overscroll-behavior:contain}body.pg .pg-pause .ui-title{font-size:48px;margin:0}body.pg .pg-pause button,body.pg .pg-pause a{min-height:44px;font-size:18px}body.pg .pg-pause #resume{font-size:30px;background:var(--accent);color:var(--navy)}.match-start-gesture{position:fixed;z-index:50;left:50%;top:50%;transform:translate(-50%,-50%);min-width:220px;min-height:64px;cursor:pointer}body.pg:has(#pause-panel:not([hidden])) .match-start-gesture{visibility:hidden}body.pg .pause-section{border-top:1px solid #ffffff30;padding-top:12px;display:flex;flex-direction:column;gap:8px}body.pg .pause-section h2{font-size:20px;margin:0;text-transform:uppercase}body.pg .pause-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}body.pg .pause-row>span{flex:1;font:600 18px Barlow,sans-serif;letter-spacing:.04em}body.pg .pause-row>button{min-width:150px}body.pg .pg-pause .pac-settings{position:static;display:flex;opacity:1;transform:none;margin:0;padding:0}body.pg .pg-pause .pg-pause-note{font-size:16px!important;line-height:1.4;margin:0!important}body.pg .pg-pause .pg-pause-item{font-size:22px}body.pg .pg-pause :focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(max-height:500px){body.pg .pg-pause{padding:12px 24px}body.pg .pg-pause .ui-title{font-size:30px}}body.pg .serve-meter{display:none!important}body.pg .pg-pause button,body.pg .pg-pause a{border:1px solid #ffffff40;border-radius:8px;background:#ffffff12;color:var(--cream, #fff4df);padding:10px 16px;text-decoration:none}body.pg .pg-pause button:hover,body.pg .pg-pause a:hover{background:#ff8a2a30;border-color:var(--accent)}body.pg .pg-pause #resume{background:var(--accent);color:var(--navy)}body.pg .pause-section{align-items:stretch;text-align:left}body.pg .pause-section h2{align-self:stretch;text-align:left;padding:0}body.pg .pg-pause .pac-settings{border:0!important;background:none!important;padding:0!important;margin:0!important;letter-spacing:normal}body.pg .pg-pause .pause-switch{display:flex;align-items:center;gap:12px;min-height:44px;font:600 18px Barlow,sans-serif;cursor:pointer}body.pg .pg-pause .pause-switch input{appearance:none;flex:none;width:44px;height:26px;margin:0;border:1px solid #ffffff60;border-radius:20px;background:#ffffff20;position:relative;cursor:pointer}body.pg .pg-pause .pause-switch input:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff4df}body.pg .pg-pause .pause-switch input:checked{background:var(--accent);border-color:var(--accent)}body.pg .pg-pause .pause-switch input:checked:after{left:21px;background:var(--navy)}body.pg .pg-pause [hidden]{display:none!important}body.pg .pause-main{display:grid;gap:8px}body.pg .pause-section{border:0;padding:0;gap:8px}body.pg .pause-section header{display:flex;align-items:center;justify-content:space-between;gap:16px}body.pg .pause-section header h2{align-self:auto}body.pg .pause-section p{margin:0}body.pg .pause-views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}body.pg .pg-pause [aria-pressed=true]{background:var(--accent);color:var(--navy)}body.pg .pause-section .controls-change{order:0}body.pg #pause-controls .pg-pause-note{order:1}body.pg #pause-controls #replay-tutorial{order:2}@media(max-height:500px){body.pg .pg-pause{gap:8px}body.pg .pause-main{grid-template-columns:repeat(2,minmax(0,1fr))}body.pg .pg-pause .pause-main button,body.pg .pg-pause .pause-main a{font-size:18px!important;padding:8px 12px}body.pg .pg-pause .ui-title{font-size:26px}body.pg .pause-views button{padding:8px}}body.pg .pg-pause:not([data-pause-current=main])>.ui-title,body.pg .pg-pause:not([data-pause-current=main])>#pause-score{display:none}body.pg .pg-pause .controls-change{margin:0;max-width:100%;white-space:normal}.pac-presentation{position:fixed;inset:0;z-index:7;pointer-events:none;color:#f8f5ef;font-family:Barlow Condensed,Barlow,sans-serif}.pac-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:linear-gradient(90deg,#08131cc9,#08131c33,#08131cc9);opacity:0;transition:opacity .3s;letter-spacing:.08em;text-align:center}.pac-presentation.active .pac-title{opacity:1}.pac-title span{font:clamp(3rem,8vw,7rem)/1 Anton,sans-serif;text-shadow:0 4px 25px #000c}.pac-title b{color:#ff8a2a}.pac-title small{font:700 1rem Barlow Condensed,sans-serif;letter-spacing:.2em}.pac-wipe{position:absolute;inset:-20%;display:grid;place-items:center;background:#ff8a2a;color:#14181b;font:clamp(4rem,14vw,13rem)/1 Anton,sans-serif;clip-path:polygon(-100% 0,-65% 0,-100% 100%,-135% 100%);opacity:0}.pac-wipe.run{animation:pac-wipe var(--wipe-ms,.35s) ease-in-out forwards}@keyframes pac-wipe{0%{opacity:1;clip-path:polygon(-100% 0,-65% 0,-100% 100%,-135% 100%)}45%{clip-path:polygon(20% 0,80% 0,20% 100%,-40% 100%)}55%{clip-path:polygon(40% 0,100% 0,40% 100%,-20% 100%)}to{opacity:1;clip-path:polygon(135% 0,170% 0,135% 100%,100% 100%)}}.pac-replay-tag{position:absolute;top:6rem;left:2rem;padding:.4rem .8rem;background:#08131ccc;border-left:4px solid #ff8a2a;font:700 .9rem Barlow Condensed,sans-serif;letter-spacing:.16em;opacity:0;transition:opacity .2s}.pac-replay-tag.visible{opacity:1}.pac-settings{position:absolute;right:1rem;bottom:1rem;display:flex;gap:.8rem;padding:.4rem .7rem;background:#07141dc9;border:1px solid #ffffff30;font:600 .85rem Barlow,sans-serif;pointer-events:auto}.pac-settings.playing{opacity:.5}.pac-settings:hover,.pac-settings:focus-within{opacity:1}.pac-settings label{cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:.25rem}.pac-settings input{accent-color:#ff8a2a}.pac-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#08131c;color:#ff8a2a;font:700 1rem Barlow Condensed,sans-serif;letter-spacing:.2em}.pac-loading strong{font:600 clamp(28px,4vw,48px)/1.2 Barlow,sans-serif;color:var(--accent,#ff8a2a)}.pac-loading[hidden]{display:none}body.pac-replaying .pg-hud,body.pac-replaying .match-message,body.pac-replaying .pg-controls,body.pac-replaying .view-controls,body.pac-replaying .serve-meter{visibility:hidden}.pac-settings{right:var(--edge-x, 24px)!important;bottom:calc(110 * var(--u, 1px))!important;display:flex;gap:14px;padding:8px 16px!important;border:0!important;border-radius:999px!important;background:var(--glass, rgba(10,20,34,.62))!important;font-family:var(--font-label, sans-serif)!important;font-weight:700;letter-spacing:.05em;color:var(--ink, #f3f7fb)!important}.pac-settings input{accent-color:var(--accent, #ff8a2a)}.pac-loading{pointer-events:auto;background:linear-gradient(90deg,#08101cf5,#08101cc2),url(/menu/ready-pov-desktop.webp) center / cover no-repeat;color:var(--ink, #f3f7fb);font:500 18px Barlow,sans-serif;letter-spacing:0}.pac-loading-opponent{display:flex;align-items:center;gap:14px;font:400 clamp(26px,4vw,52px) var(--font-display)}.pac-loading-opponent img{width:clamp(52px,8vw,96px);height:clamp(52px,8vw,96px);object-fit:cover;border-radius:8px}body:has(.pac-loading:not([hidden])) .pac-presentation{z-index:50}.pac-title[hidden]{display:none;transition:none}body.pac-replaying .pac-settings,body.pac-replaying #feedback,body.pac-replaying .swipe-cue{visibility:hidden}.pac-replay-bars{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .22s}.pac-replay-bars:before,.pac-replay-bars:after{content:"";position:absolute;left:0;right:0;height:clamp(28px,7vh,70px);background:#030608;transition:transform .22s}.pac-replay-bars:before{top:0;transform:translateY(-100%)}.pac-replay-bars:after{bottom:0;transform:translateY(100%)}body.pac-replaying .pac-replay-bars{opacity:1}body.pac-replaying .pac-replay-bars:before,body.pac-replaying .pac-replay-bars:after{transform:none}.pac-replay-tag{top:calc(clamp(28px,7vh,70px) + 12px);left:max(16px,env(safe-area-inset-left));display:flex;gap:.7em;align-items:center;background:#08131ce8;border-left:0;font:700 clamp(14px,2vw,20px) Barlow Condensed,sans-serif;z-index:2}.pac-replay-tag strong{color:#ff8a2a}.pac-replay-tag span{color:#f8f5ef}.pac-replay-skip{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:calc(clamp(28px,7vh,70px) + 12px);display:none;align-items:center;gap:10px;padding:7px 11px;border:1px solid #ffffff60;border-radius:4px;background:#08131cde;color:#fff;font:700 15px Barlow Condensed,sans-serif;letter-spacing:.12em;pointer-events:auto;z-index:3;cursor:pointer}body.pac-replaying .pac-replay-skip{display:flex}.pac-replay-skip svg{width:30px;height:30px;transform:rotate(-90deg);fill:none;stroke:#ff8a2a;stroke-width:3;stroke-dasharray:97.4;stroke-dashoffset:calc(97.4 * (1 - var(--progress,0)))}.pac-replay-skip:focus-visible{outline:3px solid #ff8a2a;outline-offset:3px}@media(max-width:600px){.pac-replay-tag{top:calc(clamp(28px,7vh,70px) + 8px)}.pac-replay-skip{bottom:calc(clamp(28px,7vh,70px) + 8px)}}.pac-intro-skip,body.pac-replaying .pac-intro-skip{display:none}body.pac-intro .pac-intro-skip{display:flex}body.pac-intro .pac-intro-skip{bottom:calc(clamp(28px,7vh,70px) + 64px)}body.pac-intro .pac-title{inset:auto 0 15%;background:none;pointer-events:none}body.pac-intro .pac-title span{font-size:clamp(1.1rem,3vw,2rem);letter-spacing:.16em;padding:.4em .7em;background:#08131caa}body.pac-intro .pg-hud,body.pac-intro .match-message,body.pac-intro .pg-controls,body.pac-intro .view-controls,body.pac-intro .serve-meter{visibility:hidden}.pac-return-sting{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:.5rem;background:#0a1626;opacity:0;visibility:hidden}.pac-return-logo{font:clamp(4rem,13vw,10rem)/1 Anton,sans-serif;letter-spacing:.02em;color:#f8f5ef}.pac-return-logo b{color:#ff8a2a;font-weight:400}.pac-return-sting small{font:700 clamp(.9rem,1.6vw,1.2rem)/1 Barlow Condensed,sans-serif;letter-spacing:.35em;color:#ff8a2a;padding:.3em .8em;border:2px solid #ff8a2a;border-radius:3px}.pac-return-sting.run{visibility:visible;animation:pac-return var(--return-ms,1.15s) linear forwards}.pac-return-sting.run .pac-return-logo{animation:pac-return-logo var(--return-ms,1.15s) cubic-bezier(.2,.8,.2,1) forwards}@keyframes pac-return{0%{opacity:1}66%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes pac-return-logo{0%{transform:scale(.82)}20%{transform:scale(1)}68%{transform:scale(1.02)}to{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.pac-return-sting.run .pac-return-logo{animation:none}}body.touch-match .pg-brand,body.touch-match .pg-games-line,body.touch-match #toss-btn,body.touch-match #toss-progress,body.touch-match #feedback,body.touch-match #serve-meter{display:none!important}html:has(body.touch-match),body.touch-match,body.touch-match #view{touch-action:none;overscroll-behavior:none}body.touch-match,body.touch-match *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body.touch-match .pg-controls{left:auto!important;right:max(12px,env(safe-area-inset-right))!important;top:max(12px,env(safe-area-inset-top))!important;bottom:auto!important}body.touch-match #pause-panel .pg-view,body.touch-match #pause-panel .pac-settings{display:flex!important;position:static!important;flex-wrap:wrap;opacity:1;transform:none;margin:8px 0}body.touch-match #pause-panel{max-height:90dvh;overflow:auto}.swipe-visual{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:8}.swipe-cue{position:fixed;top:65%;left:50%;transform:translate(-50%);pointer-events:none;color:#fff;font:800 25px var(--font-label);text-shadow:0 2px 12px #101a2c;z-index:9;animation:cue-pop .6s ease-out}.swipe-cue[hidden]{display:none}@keyframes cue-pop{0%{opacity:0;transform:translate(-50%,12px) scale(.8)}25%{opacity:1;transform:translate(-50%) scale(1.08)}to{opacity:0;transform:translate(-50%,-15px)}}.match-tutorial{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:30;padding:10px 16px;max-width:min(440px,80vw);color:var(--ink);font-family:var(--font-label);pointer-events:none}.touch-lesson{top:30%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;text-align:center;padding:12px 18px 10px}.touch-lesson .lesson-step{font-size:12px;opacity:.7;letter-spacing:.08em}.touch-lesson strong{font:800 22px var(--font-display,var(--font-label));letter-spacing:.02em}.touch-lesson small{font-size:15px;font-weight:600;opacity:.92}.lesson-actions{display:flex;gap:10px;margin-top:6px}.lesson-actions button{pointer-events:auto;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid #ffffff55;background:#ffffff1f;color:var(--ink);font:700 14px var(--font-label);letter-spacing:.04em}.lesson-actions [data-lesson=next]{background:var(--accent);border-color:transparent;color:#111}.tutorial-motion{position:fixed;inset:0;pointer-events:none;z-index:29}.hand-spot{position:absolute;top:70%;width:0;height:0;overflow:visible}.hand-spot.left{left:13%}.hand-spot.right{right:13%}@media(orientation:portrait){.hand-spot.left{left:50%;top:86%}.hand-spot.right{display:none}}.tutorial-hand{position:absolute;left:-30px;top:-42px;width:60px;height:84px;color:#fff;filter:drop-shadow(0 3px 10px #000a) drop-shadow(0 0 8px #68d9fa);animation:teach-up 1.8s infinite}.tutorial-hand+svg{display:none}.tutorial-motion[data-hand=aim] .tutorial-hand{animation-name:teach-aim}.tutorial-motion[data-hand=down] .tutorial-hand{animation-name:teach-down}.tutorial-motion[data-hand=smash] .tutorial-hand{animation-duration:.8s}.tutorial-motion[data-hand=hook] .tutorial-hand{animation-name:teach-hook}.tutorial-motion[data-hand=spread] .tutorial-hand{animation-name:teach-spread}.tutorial-motion[data-hand=spread] .tutorial-hand+svg{display:block;animation-name:teach-pinch}@keyframes teach-up{0%{transform:translateY(40px);opacity:0}25%{opacity:1}to{transform:translateY(-50px);opacity:0}}@keyframes teach-down{0%{transform:translateY(-40px);opacity:0}25%{opacity:1}to{transform:translateY(40px);opacity:0}}@keyframes teach-aim{0%{transform:translate(-30px,40px);opacity:0}25%{opacity:1}to{transform:translate(45px,-60px);opacity:0}}@keyframes teach-hook{0%{transform:translate(-30px,40px);opacity:0}40%{opacity:1;transform:translate(-30px,-15px)}to{transform:translate(30px,-45px);opacity:0}}@keyframes teach-spread{0%{transform:translateY(5px);opacity:0}25%{opacity:1}to{transform:translate(-50px);opacity:0}}@keyframes teach-pinch{0%{transform:translateY(5px);opacity:0}25%{opacity:1}to{transform:translate(50px);opacity:0}}body:not(.touch-match) #replay-tutorial,body:not(.touch-match) .swipe-visual,body:not(.touch-match) .swipe-cue{display:none!important}@media(orientation:portrait){body.touch-match .pg-controls{top:max(6px,env(safe-area-inset-top))!important}.touch-lesson{max-width:90vw}}@media(prefers-reduced-motion:reduce){.tutorial-hand,.swipe-cue{animation:none}}body.touch-match .pg-controls button{font-size:16px!important;padding:10px 20px!important;min-height:44px}body.lesson-hold .match-message,body.lesson-hold #start-countdown{display:none!important}.gesture-arrow{position:absolute;left:-70px;top:-80px;width:140px;height:140px;overflow:visible}.gesture-path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;animation:teach-arrow 1.8s infinite;filter:drop-shadow(0 1px 4px #000)}@keyframes teach-arrow{0%{stroke-dashoffset:1;opacity:0}15%{opacity:.85}80%{stroke-dashoffset:0;opacity:.85}to{stroke-dashoffset:0;opacity:0}}.tutorial-motion[data-hand=curve] .tutorial-hand{animation-name:teach-curve}@keyframes teach-curve{0%{transform:translateY(40px);opacity:0}50%{transform:translate(35px,-10px);opacity:1}to{transform:translateY(-60px);opacity:0}}@media(prefers-reduced-motion:reduce){.gesture-path{animation:none;stroke-dashoffset:0}}
