:root{color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}body{background:#040914;color:#eff7ff;font-family:var(--font-ui);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body.is-playing-match{overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.court-stage{touch-action:none;-webkit-touch-callout:none}button{font:inherit}.experience{min-height:100svh;overflow:hidden;position:relative;background:radial-gradient(circle at 50% 46%,#102856,#07122a 35%,#030711 78%)}.topbar{height:76px;padding:0 clamp(22px,4vw,68px);position:absolute;top:0;inset-inline:0;z-index:4;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(181,224,255,.12);background:linear-gradient(180deg,#030813c7,#03081300)}.wordmark{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;height:46px;min-width:0;text-decoration:none}.wordmark img{display:block;width:min(300px,29vw);height:auto;max-height:46px;object-fit:contain;object-position:left center}.wordmark-lockup{display:block;width:auto;max-width:100%;height:24px;color:#f4f7fb}.wordmark-lockup--stack{display:none}.wordmark-signature{color:#8ea3b6;font-family:var(--font-ui);font-size:8px;white-space:nowrap;font-weight:700;letter-spacing:-.005em;line-height:1}.wordmark-signature b{color:#dfc486;font-weight:700}.topbar-status,.footer,.camera-note{font-family:var(--font-data);letter-spacing:.09em}.topbar-status{position:absolute;left:50%;transform:translate(-50%);color:#bec7d0;font-size:10px;white-space:nowrap}.topbar-status i{display:inline-block;width:6px;height:6px;margin:0 7px 1px 0;background:#ddc173;border-radius:50%;box-shadow:0 0 8px #ddc173b8}.topbar-actions{display:flex;align-items:center;gap:9px}.format-picker{display:flex;align-items:center;gap:5px;color:#91aebf;font-family:var(--font-data);font-size:7px;letter-spacing:.08em}.format-picker select{border:1px solid rgba(144,228,255,.38);background:#030e1cd1;color:#d9f5ff;padding:6px 5px;font:inherit;font-size:8px;letter-spacing:.05em}.topbar-actions .format-picker,.topbar-actions .replay-picker{display:none}.view-button,.play-button{border:1px solid rgba(222,196,134,.52);background:#050c1894;color:#f0ead9;padding:8px 12px;text-transform:uppercase;font-size:12px;letter-spacing:.08em;cursor:pointer;transition:background .2s,border-color .2s}.view-button:hover{background:#7c642b57;border-color:#f0d789}.play-button{border-color:#5bdcffb3;color:#d8f8ff;background:#074b6d80}.play-button:hover{background:#1689b785;border-color:#a5f1ff}.view-button span{color:#dfc486;font-size:17px;margin-left:5px;vertical-align:-1px}.court-stage{min-height:calc(100svh - 38px);position:relative;isolation:isolate;cursor:grab}.court-stage:active{cursor:grabbing}#court-canvas,#walk-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;touch-action:none}#court-canvas{opacity:0}#walk-canvas{pointer-events:none;background:linear-gradient(180deg,#153d72,#0b274c 48%,#061426)}.court-stage.no-webgl #court-canvas{opacity:1}.court-stage.no-webgl #walk-canvas{opacity:0}.court-stage.is-walking .atmosphere{background:linear-gradient(90deg,rgba(1,8,24,.22),transparent 28%,transparent 72%,rgba(1,8,24,.22)),linear-gradient(0deg,rgba(2,10,25,.18),transparent 48%)}.atmosphere{position:absolute;pointer-events:none;z-index:1;inset:0;background:linear-gradient(90deg,#01050ea6,#01050e1f 34% 66%,#01050e8a),linear-gradient(0deg,rgba(2,6,15,.48),transparent 46%)}.intro{position:absolute;z-index:2;left:clamp(23px,7.5vw,126px);top:clamp(115px,18vh,180px);max-width:325px;pointer-events:none}h1{margin:0;font-size:clamp(44px,4.8vw,78px);line-height:.84;text-transform:uppercase;letter-spacing:-.045em;font-weight:800;text-shadow:0 12px 40px rgba(0,0,0,.35)}h1 em{color:#e3cb8a;font-style:italic;font-weight:700}.intro-copy{margin:25px 0 0;border-left:2px solid #d9bf79;padding-left:12px;color:#c5ced6;max-width:245px;font-family:var(--font-data);font-size:10px;line-height:1.7;letter-spacing:.025em}.camera-note{color:#acc7dc;position:absolute;z-index:2;bottom:66px;left:50%;transform:translate(-50%);font-size:9px;white-space:nowrap;pointer-events:none}.drag-icon{color:#dfc486;margin-right:7px;font-size:16px;vertical-align:-2px}.immersion-hud{display:none;position:absolute;z-index:3;left:50%;bottom:77px;transform:translate(-50%);padding:10px 14px;gap:14px;align-items:center;border:1px solid rgba(222,196,134,.38);background:#030b15bf;color:#b7c1ca;font-family:var(--font-data);font-size:9px;letter-spacing:.07em;white-space:nowrap;pointer-events:none}.immersion-hud b{color:#e1c77f;font-size:10px}.immersion-hud i{color:#8ca7bb;font-size:8px;font-style:normal}.immersion-hud i[data-surface=glass]{color:#9eefff}.immersion-hud i[data-surface=mesh]{color:#f3d485}.immersion-hud i[data-surface=net],.immersion-hud i[data-surface=structure]{color:#ffad8e}.club-context{display:none;position:absolute;z-index:3;top:112px;right:clamp(18px,4vw,68px);width:min(280px,calc(100vw - 36px));padding:15px;border:2px solid var(--teal);border-radius:14px;background:#051426eb;box-shadow:var(--ui-shadow);color:var(--cream);font-family:var(--font-ui);pointer-events:auto}.court-stage.has-club-context .club-context{display:block}.club-context p{margin:0 0 5px;color:var(--teal-soft);font-size:8px;font-weight:900;letter-spacing:.14em}.club-context strong{display:block;color:var(--sun);font-family:var(--font-display);font-size:18px;line-height:1}.club-context span{display:block;margin-top:8px;color:var(--cream);font-size:10px;font-weight:800;line-height:1.4}.club-match-picker{display:none;margin-top:11px;color:var(--teal-soft);font-size:8px;font-weight:900;letter-spacing:.09em}.club-context.has-match-picker .club-match-picker{display:grid;gap:5px}.club-match-picker select{width:100%;border:2px solid var(--teal);border-radius:7px;background:var(--ink);color:var(--cream);padding:7px 8px;font:900 9px var(--font-ui)}.club-match-detail{display:none;margin-top:7px!important;border-left:3px solid var(--sun);background:#332a166b;color:var(--cream)!important;padding:6px 7px;font-size:8px!important;line-height:1.35}.club-context.has-match-picker .club-match-detail{display:block}.club-context-list{display:none;gap:5px;margin:11px 0 0;padding:0;list-style:none}.club-context.has-detail-list .club-context-list{display:grid}.club-context-list li{border-left:3px solid var(--teal);background:#113148c7;color:var(--cream);padding:5px 7px;font-size:8px;font-weight:800;line-height:1.35}.club-context button{margin-top:12px;width:100%;border:0;border-radius:8px;background:var(--sun);box-shadow:0 3px #9c5d15a6;color:var(--ink);padding:9px 11px;font:900 9px/1 var(--font-ui);letter-spacing:.08em;cursor:pointer}.club-context button:active{transform:translateY(2px);box-shadow:0 1px #9c5d15a6}.club-directory{display:none;position:absolute;z-index:3;left:clamp(18px,4vw,68px);top:112px;width:192px;border:2px solid rgba(32,207,196,.78);border-radius:12px;background:#051426d1;box-shadow:var(--ui-shadow);padding:11px;pointer-events:none}.court-stage.is-walking .club-directory{display:block}.court-stage.has-club-context .club-directory{opacity:.34}.club-inbox{display:none;position:absolute;z-index:4;flex-direction:column-reverse;gap:8px;left:clamp(18px,4vw,68px);bottom:122px;width:min(262px,calc(100vw - 36px));font-family:var(--font-ui)}.court-stage.is-walking .club-inbox{display:flex}.club-inbox-chip{display:flex;align-items:center;gap:8px;width:100%;border:2px solid rgba(255,212,94,.72);border-radius:10px;background:#051426e0;box-shadow:var(--ui-shadow);color:var(--cream);padding:8px 10px;font:900 8px/1 var(--font-ui);letter-spacing:.12em;text-align:left;cursor:pointer;pointer-events:auto}.club-inbox-chip i{color:var(--sun);font-size:11px;font-style:normal;line-height:1}.club-inbox-chip b{margin-left:auto;border-radius:7px;background:#20cfc438;color:var(--teal-soft);padding:3px 6px;font:900 8px/1 var(--font-ui)}.club-inbox.has-new .club-inbox-chip{border-color:var(--teal)}.club-inbox.has-new .club-inbox-chip b{background:var(--sun);color:var(--ink)}.club-inbox.has-new .club-inbox-chip i{animation:club-blink 1.2s ease-in-out infinite alternate}.club-inbox-panel{border:2px solid rgba(32,207,196,.78);border-radius:12px;background:#051426eb;box-shadow:var(--ui-shadow);padding:10px 11px;color:var(--cream);pointer-events:auto;max-height:max(84px,min(236px,calc(100vh - 420px)));overflow-y:auto}.club-inbox-panel>p{margin:0 0 8px;color:var(--sun);font:900 8px/1 var(--font-ui);letter-spacing:.12em}.club-inbox-panel ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.club-inbox-panel li{border-left:2px solid rgba(32,207,196,.45);padding-left:8px}.club-inbox-panel li[data-new="1"]{border-left-color:var(--sun)}.club-inbox-panel li span{display:block;color:var(--cream);font:800 8px/1.3 var(--font-ui);letter-spacing:.04em}.club-inbox-panel li i{display:block;margin-top:2px;color:var(--teal-soft);font:800 8px/1.3 var(--font-ui);font-style:normal;letter-spacing:.04em}.club-inbox-panel li[data-empty="1"]{border-left-color:#20cfc438}.club-inbox-panel li[data-empty="1"] span{color:var(--teal-soft)}@keyframes club-blink{0%{opacity:.35;transform:scale(.76)}to{opacity:1;transform:scale(1)}}.club-directory p{margin:0 0 7px;color:var(--sun);font-size:8px;font-weight:900;letter-spacing:.12em}.club-directory ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.club-directory li{display:flex;justify-content:space-between;gap:8px;color:var(--cream);font-size:8px;font-weight:800;line-height:1.2}.club-directory li i{color:var(--teal-soft);font-size:11px;font-style:normal}.court-stage.is-walking .intro,.court-stage.is-walking .camera-note,.court-stage.is-walking .court-label{opacity:0}.court-stage.is-walking .immersion-hud{display:flex}.court-stage.is-playing{cursor:default}.court-stage.is-playing #court-canvas,.court-stage.is-playing .atmosphere,.court-stage.is-playing .intro,.court-stage.is-playing .camera-note,.court-stage.is-playing .immersion-hud{display:none}.court-stage.is-playing #walk-canvas{display:block;opacity:1;pointer-events:none}.court-stage.is-playing .match-hud{display:block}.court-stage.is-playing #reset-view{display:none}.stadium-moment{position:absolute;z-index:3;top:23%;left:50%;width:min(680px,calc(100vw - 48px));transform:translate(-50%,-18px) scale(.96);text-align:center;opacity:0;pointer-events:none;transition:opacity .26s ease,transform .5s cubic-bezier(.18,.74,.22,1);text-shadow:0 8px 28px rgba(0,9,25,.75)}.stadium-moment:before,.stadium-moment:after{content:"";display:inline-block;width:clamp(25px,5vw,64px);height:1px;margin:0 12px 4px;background:linear-gradient(90deg,transparent,#e5c66f);vertical-align:middle}.stadium-moment:after{background:linear-gradient(90deg,#e5c66f,transparent)}.stadium-moment p{display:inline;margin:0;color:#f2cd6d;font:700 9px var(--font-data);letter-spacing:.24em}.stadium-moment strong{display:block;margin:11px 0 8px;color:#f5fbff;font-size:clamp(24px,4vw,48px);line-height:.94;letter-spacing:-.035em}.stadium-moment span{color:#c4d9e7;font:700 8px var(--font-data);letter-spacing:.16em}.court-stage.is-playing.is-intro .stadium-moment,.court-stage.is-playing.is-celebrating .stadium-moment{opacity:1;transform:translate(-50%) scale(1)}.court-stage.is-playing.is-intro .stadium-moment{top:25%}.court-stage.is-playing.is-intro .match-hud{opacity:.15;transition:opacity .3s}.court-stage.is-playing.is-celebrating:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 53%,rgba(89,207,255,.14),transparent 42%);animation:point-flash 1.35s ease-out both}@keyframes point-flash{0%{opacity:0}16%{opacity:1}to{opacity:0}}.match-hud{display:none;position:absolute;z-index:3;inset:96px 0 auto;pointer-events:none;text-align:center;font-family:var(--font-data)}.match-score{display:inline-flex;align-items:center;gap:13px;padding:9px 18px;border:1px solid rgba(144,228,255,.44);background:#020d1dd1;box-shadow:0 12px 32px #00000047}.match-score span{color:#9fb9ca;font-size:9px;letter-spacing:.08em}.match-score b{color:#f2fbff;font-size:27px;line-height:1}.match-score i{color:#d9be71;font-style:normal}.match-progress{display:flex;justify-content:center;gap:12px;margin:7px auto 0;color:#9fb9ca;font-size:8px;letter-spacing:.08em}.match-progress b{color:#f1cc71;font-size:10px}#golden-point{height:15px;margin:7px 0 0;color:#f3cb61;font-size:10px;letter-spacing:.13em}.referee-call{margin:13px auto 0;color:#f4fbff}.referee-call small{display:block;margin-bottom:5px;color:#e4c476;font-size:8px;letter-spacing:.18em}.referee-call strong{padding:7px 11px;border:1px solid rgba(225,196,113,.37);background:#08121dc2;font-size:10px;letter-spacing:.08em}.rally-count{position:absolute;top:11px;right:clamp(20px,5vw,74px);color:#a9c4d4;font-size:9px;letter-spacing:.1em}.rally-count b{color:#f1cc71;font-size:16px}.shot-prompt{position:fixed;left:50%;bottom:86px;transform:translate(-50%);min-height:15px;color:#f5ce62;font-size:10px;font-weight:700;letter-spacing:.16em;text-shadow:0 0 15px rgba(245,206,98,.72)}.replay-label{display:none;position:fixed;top:226px;left:50%;transform:translate(-50%);border:2px solid var(--sun);border-radius:999px;background:#071424e6;box-shadow:0 4px #664115a6,0 0 20px #ffd45e5c;color:var(--sun);padding:7px 11px;font:900 8px/1 var(--font-ui);letter-spacing:.1em;white-space:nowrap}.court-stage.is-replay .replay-label{display:block}.court-stage.is-farewell .replay-label{display:block;top:auto;bottom:92px}.clash-meter{transition:opacity .45s ease}.court-stage.is-farewell .clash-meter{opacity:0}.court-stage.is-farewell .touch-controls{opacity:0;transition:opacity .4s ease;pointer-events:none}.court-stage.is-replay .stadium-moment{opacity:.22}.match-controls{position:fixed;left:50%;bottom:54px;transform:translate(-50%);color:#b9ceda;font-size:8px;letter-spacing:.08em;white-space:nowrap}.exit-match{position:absolute;z-index:6;top:4px;left:clamp(20px,5vw,74px);pointer-events:auto;border:1px solid rgba(218,239,249,.34);background:#030d1ac2;color:#d8e9f1;padding:7px 9px;font:inherit;font-size:9px;text-transform:uppercase;cursor:pointer}.footer{height:38px;padding:0 clamp(22px,4vw,68px);position:absolute;inset-inline:0;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(181,224,255,.1);background:#030713;color:#647b92;font-size:8px}.footer p{margin:0}.footer span{padding:0 6px;color:#dfc486}.rights-line{display:flex;align-items:baseline;gap:10px}.studio-signature{font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:-.012em;text-transform:lowercase;color:#cfe0ee}.studio-signature i{color:#dfc486;font-style:normal}.footer .rights-note{padding:0;color:#647b92;letter-spacing:.09em}@media(max-width:640px){.topbar{height:60px}.topbar-status,.topbar-actions .format-picker{display:none}.wordmark{height:34px}.wordmark img{width:min(210px,42vw);max-height:34px}.intro{top:95px}h1{font-size:49px}.intro-copy{margin-top:18px}.camera-note{bottom:50px}.court-label{display:none}.view-button,.play-button{font-size:9px;padding:7px 8px}.footer{font-size:7px}.immersion-hud{bottom:54px;max-width:calc(100vw - 40px);padding:8px 10px;gap:8px;font-size:7px;white-space:normal}.immersion-hud b{font-size:8px}.stadium-moment{top:20%}.stadium-moment strong{font-size:25px}.stadium-moment span,.stadium-moment p{font-size:7px}.match-hud{inset:72px 0 auto}.match-score{gap:8px;padding:8px 10px}.match-score span{font-size:7px}.match-score b{font-size:22px}.match-progress{gap:7px;font-size:7px}.rally-count{top:80px;right:16px}.exit-match{top:7px;left:16px;font-size:7px}.shot-prompt{bottom:94px;font-size:8px}.match-controls{max-width:calc(100vw - 28px);bottom:50px;white-space:normal;line-height:1.6}}@media(prefers-reduced-motion:reduce){.stadium-moment,.court-stage.is-playing.is-celebrating:before{animation:none;transition-duration:.01ms}}:root{--ink: #071424;--ink-soft: #102844;--court-blue: #278cff;--court-electric: #56b8ff;--teal: #20cfc4;--teal-soft: #abfff4;--sun: #ffd45e;--coral: #ff6d59;--cream: #fff8e9;--point-for: #ffd45e;--point-against: #ff6a68;--ui-shadow: 0 9px 0 rgba(1, 10, 24, .38), 0 16px 34px rgba(1, 10, 24, .3);--font-display: "Helvetica Neue", Helvetica, "Liberation Sans", Arial, sans-serif;--font-ui: "Helvetica Neue", Helvetica, "Liberation Sans", Arial, sans-serif;--font-data: ui-monospace, "SF Mono", SFMono-Regular, "Roboto Mono", Menlo, Consolas, monospace}body{color:var(--cream);font-family:var(--font-ui)}.experience{background:radial-gradient(circle at 50% 36%,#2a6dcb 0%,#12375f 37%,var(--ink) 78%)}body[data-venue=newyork] .experience{background:radial-gradient(circle at 50% 30%,#264f91 0%,#102d55 37%,var(--ink) 78%)}body[data-venue=coast] .experience{background:radial-gradient(circle at 50% 28%,#cc6754,#245c7b 42%,#071424 80%)}body[data-venue=alps] .experience{background:radial-gradient(circle at 50% 30%,#31486d,#13233c 43%,#050a14 82%)}body[data-venue=coast] .topbar:after{background:repeating-linear-gradient(90deg,#ffd45e 0 32px,#ff765d 32px 64px,#2ad8d2 64px 96px,#65bfff 96px 128px)}body[data-venue=alps] .topbar:after{background:repeating-linear-gradient(90deg,#dcecff 0 32px,#8eb9e8 32px 64px,#6c82aa 64px 96px,#c9d8ef 96px 128px)}.topbar{height:82px;border-bottom:2px solid rgba(171,255,244,.35);background:linear-gradient(180deg,#051323f0,#05132380);box-shadow:0 4px #ffd45ebf}.topbar:after{content:"";position:absolute;inset:auto 0 -7px;height:7px;background:repeating-linear-gradient(90deg,var(--sun) 0 32px,var(--coral) 32px 64px,var(--teal) 64px 96px,var(--court-electric) 96px 128px)}.wordmark{height:52px}.wordmark img{max-height:52px;filter:drop-shadow(0 4px 0 rgba(4,13,27,.46))}.wordmark-lockup{height:26px;color:var(--cream);filter:drop-shadow(0 4px 0 rgba(4,13,27,.46))}.wordmark-signature{color:#a3d6d6ad;font-size:9px}.wordmark-signature b{color:var(--sun)}@media(max-width:1180px){.wordmark-lockup--wide{height:23px}}@media(max-width:900px){.wordmark-lockup--wide{display:none}.wordmark-lockup--stack{display:block;height:30px}}.topbar-status{color:var(--cream);font-family:var(--font-ui);font-size:11px;font-weight:900;letter-spacing:.12em}.topbar-status i{width:9px;height:9px;background:var(--sun);box-shadow:0 0 0 3px #ffd45e33,0 0 14px var(--sun)}.topbar-status span{color:var(--teal);margin:0 6px}.format-picker{color:var(--teal-soft);font-weight:800}.format-picker select{border:2px solid var(--teal);border-radius:7px;background:var(--ink);color:var(--cream);padding:7px 8px;font-weight:900}.replay-picker{display:flex;align-items:center;gap:5px;color:var(--teal-soft);font:800 8px var(--font-ui);letter-spacing:.07em;cursor:pointer;white-space:nowrap}.replay-picker input{width:14px;height:14px;margin:0;accent-color:var(--sun);cursor:pointer}.audio-toggle{min-height:38px;border:2px solid rgba(32,207,196,.65);border-radius:8px;background:#042337b8;box-shadow:0 4px #010a1899;color:var(--teal-soft);padding:8px 9px;font:900 8px/1 var(--font-ui);letter-spacing:.06em;cursor:pointer;transition:transform .14s ease,filter .14s ease,opacity .14s ease}.audio-toggle:hover{transform:translateY(-2px);filter:brightness(1.13)}.audio-toggle:active{transform:translateY(3px)}.audio-toggle[aria-pressed=false]{border-color:#acc0cd75;background:#060f1cc2;color:#9cadb7;opacity:.82}.audio-toggle span{color:var(--sun);font-size:13px;vertical-align:-1px}.view-button,.play-button{min-height:38px;border:0;border-radius:8px;padding:9px 14px;box-shadow:0 4px #010a1899;font-family:var(--font-ui);font-size:11px;font-weight:900;letter-spacing:.07em;transform:translateY(0);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.athlete-button{min-height:38px;border:2px solid rgba(32,207,196,.86);border-radius:8px;background:#042337db;box-shadow:0 4px #010a1899;color:var(--teal-soft);padding:9px 11px;font:900 10px/1 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:transform .14s ease,filter .14s ease}.athlete-button:hover{transform:translateY(-2px);filter:brightness(1.13)}.athlete-button:active{transform:translateY(3px)}.athlete-button .button-icon{color:var(--sun)}.view-button{background:var(--cream);color:var(--ink)}.play-button{background:linear-gradient(135deg,var(--sun),#ffb83c);color:#172338}.view-button:hover,.play-button:hover{transform:translateY(-2px);filter:brightness(1.07)}.view-button:active,.play-button:active{transform:translateY(3px);box-shadow:0 1px #010a1899}.button-icon{display:inline-block;margin-right:4px;color:var(--coral);font-size:15px;line-height:0;vertical-align:-1px}.play-button .button-icon{color:var(--ink)}.court-stage{background:radial-gradient(ellipse at 50% 56%,rgba(86,184,255,.18),transparent 52%)}.atmosphere{background:linear-gradient(90deg,rgba(4,15,32,.68),transparent 29%,transparent 71%,rgba(4,15,32,.68)),linear-gradient(0deg,rgba(3,13,30,.58),transparent 56%)}.intro{max-width:390px}h1{color:var(--cream);font-family:var(--font-display);font-weight:900;line-height:.8;letter-spacing:-.075em;text-shadow:0 6px 0 rgba(5,18,35,.32),0 15px 38px rgba(1,9,22,.6)}h1 em{color:var(--sun);text-shadow:0 5px 0 rgba(194,118,30,.52)}.intro-copy{border:0;border-radius:0 14px 14px;background:#06192fc7;box-shadow:var(--ui-shadow);color:var(--cream);max-width:280px;padding:13px 16px;font-family:var(--font-ui);font-size:12px;font-weight:700;line-height:1.45}.camera-note{border-radius:999px;background:#061427d6;color:var(--cream);padding:8px 13px;font-family:var(--font-ui);font-weight:900;box-shadow:var(--ui-shadow)}.drag-icon{color:var(--sun)}.immersion-hud{border:2px solid var(--teal);border-radius:11px;background:#051426e6;box-shadow:var(--ui-shadow);color:var(--cream);font-family:var(--font-ui);font-weight:800}.immersion-hud b{color:var(--sun)}.stadium-moment{top:21%}.stadium-moment:before,.stadium-moment:after{height:4px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--teal))}.stadium-moment:after{background:linear-gradient(90deg,var(--teal),transparent)}.stadium-moment p{color:var(--sun);font-family:var(--font-ui);font-weight:900}.stadium-moment strong{color:var(--cream);font-family:var(--font-display);font-weight:900;text-shadow:0 5px 0 rgba(4,13,28,.5)}.stadium-moment span{color:var(--teal-soft);font-family:var(--font-ui);font-weight:900}.court-stage.is-playing.is-celebrating:before{background:radial-gradient(ellipse at 50% 53%,rgba(255,212,94,.32),transparent 44%)}.court-stage.is-playing.is-point-for:before{background:radial-gradient(ellipse at 50% 53%,rgba(255,212,94,.38),transparent 46%)}.court-stage.is-playing.is-point-against:before{background:radial-gradient(ellipse at 50% 53%,rgba(255,106,104,.38),transparent 46%)}.court-stage.is-point-for .stadium-moment strong{color:var(--point-for)}.court-stage.is-point-against .stadium-moment strong{color:var(--point-against)}.match-hud{inset:104px 0 auto;font-family:var(--font-ui)}.practice-hud{display:none;width:max-content;max-width:calc(100vw - 34px);margin:0 auto;border:3px solid var(--teal);border-radius:16px;background:#051b2ef0;box-shadow:var(--ui-shadow),0 0 28px #20cfc433;padding:11px 17px;text-align:center}.practice-hud p{margin:0;color:var(--sun);font:900 8px/1 var(--font-ui);letter-spacing:.12em}.practice-hud strong{display:block;margin-top:5px;color:var(--cream);font:900 18px/1 var(--font-display)}.practice-hud strong b{color:var(--teal);font-size:28px}.practice-hud span{display:block;margin-top:6px;color:var(--teal-soft);font:900 8px/1.3 var(--font-ui);letter-spacing:.06em}.practice-drills{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:6px;pointer-events:auto}.practice-drill-chip{border:2px solid rgba(32,207,196,.5);border-radius:999px;background:#020c1bc7;color:var(--teal-soft);padding:5px 9px;min-height:24px;font:900 8px/1 var(--font-ui);letter-spacing:.1em;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.practice-drill-chip:hover{border-color:var(--teal);color:var(--cream)}.practice-drill-chip.is-selected{border-color:var(--sun);background:var(--sun);color:#0a2036;box-shadow:0 0 14px #ffd45e80}.practice-drill-chip i{display:block;margin-bottom:2px;color:inherit;font-style:normal;font-size:7px;opacity:.72}@media(pointer:coarse){.practice-drill-chip{padding:9px 13px;min-height:40px;font-size:9px}}body.force-touch-controls .practice-drill-chip{padding:9px 13px;min-height:40px;font-size:9px}.practice-progress{display:grid;grid-template-columns:minmax(88px,1fr) auto;align-items:center;gap:8px;margin-top:10px}.practice-progress:before{content:"";grid-column:1;grid-row:1;height:8px;overflow:hidden;border:1px solid rgba(255,248,233,.78);border-radius:999px;background:#020c1bdb}.practice-progress i{display:block;grid-column:1;grid-row:1;z-index:1;width:0;height:6px;margin-left:1px;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--sun));box-shadow:0 0 10px #ffd45eb8;transition:width .24s ease}.practice-progress b{color:var(--sun);font:900 10px/1 var(--font-display)}.court-stage.is-training .practice-hud{display:block}.court-stage.is-training .match-score,.court-stage.is-training .match-progress,.court-stage.is-training #golden-point,.court-stage.is-training .clash-meter{display:none}.court-stage.is-training .learning-card,body.is-playing-match .court-stage.is-tutorial .learning-card{display:none!important}.court-stage.is-training .rally-count{top:110px;right:22px}.court-stage.is-training .rally-count:before{content:"GOLPES ";color:var(--sun)}.match-score{position:relative;gap:15px;border:3px solid var(--cream);border-radius:14px;background:linear-gradient(135deg,#071b33f5,#0a314df0);box-shadow:var(--ui-shadow);padding:10px 18px}.match-score:before{content:"CLASH MATCH";position:absolute;margin-top:-45px;border-radius:999px;background:var(--coral);color:var(--cream);padding:5px 10px;font-size:8px;font-weight:900;letter-spacing:.16em}.match-score span{color:var(--cream);font-family:var(--font-ui);font-size:9px;font-weight:900}#player-score{color:var(--point-for)}#opponent-score{color:var(--cream)}.match-score b{min-width:28px;color:var(--cream);font-family:var(--font-display);font-size:34px;text-shadow:0 3px 0 rgba(2,10,22,.55)}.score-divider{color:var(--sun);font-size:28px;font-style:normal}.score-pop{animation:score-pop .38s cubic-bezier(.18,.9,.24,1.4)}@keyframes score-pop{0%{transform:scale(.7) rotate(-5deg);filter:brightness(1.8)}72%{transform:scale(1.18) rotate(2deg)}to{transform:scale(1)}}.match-progress{width:max-content;max-width:calc(100vw - 30px);border-radius:999px;background:#05162bd6;box-shadow:0 4px #010a1866;color:var(--teal-soft);margin-top:9px;padding:7px 13px;font-family:var(--font-ui);font-size:8px;font-weight:900}.match-progress b{color:var(--sun)}#golden-point{color:var(--sun);font-family:var(--font-display);text-shadow:0 0 16px rgba(255,212,94,.8)}.clash-meter{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px auto 0;color:var(--sun);font-size:8px;font-weight:900;letter-spacing:.12em}.clash-meter i{width:112px;height:9px;overflow:hidden;border:2px solid var(--cream);border-radius:999px;background:var(--ink)}.clash-meter b{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--sun),var(--coral));box-shadow:0 0 12px var(--sun);transition:width .24s ease}.clash-meter em{color:var(--teal-soft);font-style:normal}.clash-meter.is-ready{color:var(--cream);text-shadow:0 0 12px rgba(255,212,94,.9)}.clash-meter.is-ready i{border-color:var(--sun);box-shadow:0 0 14px #ffd45e8c}.clash-meter.is-ready b{background:linear-gradient(90deg,var(--sun),var(--coral));animation:clash-charge .52s ease-in-out infinite alternate}.clash-meter.is-ready em{color:var(--sun)}@keyframes clash-charge{0%{filter:brightness(1)}to{filter:brightness(1.6)}}.referee-call small{color:var(--teal-soft);font-family:var(--font-ui);font-weight:900}.referee-call strong{border:2px solid var(--sun);border-radius:9px;background:var(--ink);box-shadow:0 4px #5e3d1380;color:var(--cream);font-family:var(--font-ui);font-weight:900}.rally-count{border-radius:10px;background:#06172bdb;color:var(--teal-soft);padding:7px 10px;font-family:var(--font-ui);font-weight:900;box-shadow:var(--ui-shadow)}.rally-count b{color:var(--sun)}.learning-card{display:none;position:fixed;z-index:6;top:274px;left:50%;width:min(310px,calc(100vw - 36px));transform:translate(-50%);border:3px solid var(--teal);border-radius:16px;background:#05162bf0;box-shadow:var(--ui-shadow),0 0 24px #20cfc43d;color:var(--cream);padding:12px 14px;text-align:center;pointer-events:auto}.court-stage.is-tutorial .learning-card,.court-stage.is-session-complete .learning-card{display:grid;gap:6px;animation:learning-enter .35s cubic-bezier(.18,.9,.24,1.22)}.learning-card p{margin:0;color:var(--sun);font:900 8px/1 var(--font-ui);letter-spacing:.13em}.learning-card strong{font:900 15px/.95 var(--font-display)}.learning-card span{color:var(--teal-soft);font:900 9px/1.3 var(--font-ui);letter-spacing:.05em}.learning-steps{display:flex;justify-content:center;gap:6px;min-height:7px}.learning-steps i{width:7px;height:7px;border:1px solid var(--teal-soft);border-radius:50%;background:transparent}.learning-steps i.is-done{border-color:var(--sun);background:var(--sun)}.learning-steps i.is-current{border-color:var(--cream);background:var(--teal);box-shadow:0 0 10px var(--teal)}.learning-continue{border:0;border-radius:9px;background:var(--sun);box-shadow:0 4px #9c5d15a8;color:var(--ink);padding:9px 10px;font:900 9px/1 var(--font-ui);letter-spacing:.08em;cursor:pointer}.learning-continue:active{transform:translateY(3px);box-shadow:0 1px #9c5d15a8}.learning-continue[hidden]{display:none}@keyframes learning-enter{0%{opacity:0;transform:translate(-50%) translateY(-12px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.shot-prompt{border-radius:999px;background:var(--sun);box-shadow:0 5px #9c5d15a6,0 0 24px #ffd45eb3;color:var(--ink);padding:8px 13px}.shot-prompt.is-perfect{background:#fff1a8;box-shadow:0 5px #9c5d15a6,0 0 30px #ffeb7ef2;transform:translate(-50%) scale(1.08)}.shot-prompt.is-early{background:#66b9ff;box-shadow:0 5px #20538fa6,0 0 22px #66b9ff9e}.shot-prompt.is-late{background:var(--coral);box-shadow:0 5px #591c25a6,0 0 20px #ff6a688c;color:var(--cream)}.shot-prompt.is-feedback{background:var(--coral);box-shadow:0 5px #591c25a6,0 0 22px #ff6a68a6;color:var(--cream);transform:translate(-50%) scale(1.04)}.match-controls{border-radius:999px;background:#06172bdb;color:var(--cream);padding:7px 12px;font-family:var(--font-ui);font-weight:800}.referee-call{opacity:0;transition:opacity .26s ease}.referee-call.is-live{opacity:1}.rally-count{opacity:0;transition:opacity .3s ease}.rally-count.is-live{opacity:1}.shot-prompt{transition:opacity .16s ease}.shot-prompt:empty{opacity:0}.shot-prompt.is-attack{background:var(--coral);box-shadow:0 5px #591c25a6,0 0 26px #ff6a68c7;color:var(--cream);transform:translate(-50%) scale(1.06)}.match-controls,.racket-badge{transition:opacity .5s ease}.court-stage.is-hud-settled .match-controls,.court-stage.is-hud-settled .racket-badge{opacity:0}.aim-controls{position:fixed;right:clamp(20px,5vw,74px);bottom:52px;display:flex;align-items:center;gap:5px;pointer-events:auto;border:2px solid var(--teal);border-radius:999px;background:#06172be6;box-shadow:var(--ui-shadow);padding:5px;color:var(--teal-soft);font:900 7px/1 var(--font-ui);letter-spacing:.08em}.aim-controls>span{padding:0 4px 0 6px}.aim-choice{border:0;border-radius:999px;background:transparent;color:var(--cream);padding:7px 8px;font:inherit;cursor:pointer}.aim-choice:hover,.aim-choice.is-selected{background:var(--sun);color:var(--ink);box-shadow:0 3px #9c5d15b8}.aim-choice.is-pressed{transform:translateY(2px);box-shadow:0 1px #9c5d15b8}.touch-controls{display:none;position:fixed;inset:0;z-index:5;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.touch-stick-zone{position:absolute;left:0;bottom:0;width:min(46%,360px);height:74%;pointer-events:auto;touch-action:none}.touch-stick{position:absolute;left:0;top:0;width:130px;height:130px;margin:-65px 0 0 -65px;opacity:0;pointer-events:none;transition:opacity .14s ease}.touch-stick.is-active{opacity:1;transition-duration:.06s}.touch-stick.is-resting{opacity:.34;left:calc(96px + env(safe-area-inset-left,0px));top:auto;bottom:84px;margin:0 0 -65px -65px}.touch-stick-base{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(178,240,236,.5);background:radial-gradient(circle at 50% 44%,#09264294,#04102057 68%,#04102014);box-shadow:inset 0 0 22px #04102080}.touch-stick-knob{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;border:2px solid var(--cream);background:radial-gradient(circle at 44% 36%,#40d6cdf5,#0b6076f5);box-shadow:0 4px #010a1880,0 0 18px #20cfc457;will-change:transform}.touch-stick-hint{position:absolute;left:calc(96px + env(safe-area-inset-left,0px));bottom:30px;transform:translate(-50%);color:var(--teal-soft);font:900 8px/1 var(--font-ui);letter-spacing:.1em;white-space:nowrap;text-shadow:0 2px 8px rgba(0,8,20,.9)}.touch-controls.has-used-stick .touch-stick-hint{display:none}.touch-actions{position:absolute;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));width:216px;height:160px;pointer-events:none}.touch-button{position:absolute;display:grid;place-items:center;border:2px solid var(--cream);border-radius:16px;background:#06172bf0;box-shadow:0 4px #010a188c;color:var(--cream);font:900 9px/1 var(--font-ui);letter-spacing:.04em;cursor:pointer;pointer-events:auto;touch-action:none}.touch-button:active,.touch-button.is-held,.touch-button.is-pressed{transform:translateY(3px) scale(.96);box-shadow:0 1px #010a188c;filter:brightness(1.16)}.touch-hit{right:2px;bottom:2px;width:82px;height:82px;border-color:var(--sun);border-radius:50%;background:var(--sun);box-shadow:0 5px #9c5d15a6;color:var(--ink);font-size:11px}.touch-attack{right:90px;bottom:8px;width:62px;height:62px;border-radius:50%;border-color:var(--coral);background:#551928f0;color:var(--cream)}.touch-lob{right:10px;bottom:90px;width:62px;height:62px;border-radius:50%;border-color:var(--teal);color:var(--teal)}.touch-slice{right:15px;bottom:160px;width:52px;height:52px;border-radius:50%;font-size:8px}.touch-aim{width:52px;height:46px;bottom:76px;border-radius:13px;border-color:var(--teal-soft);color:var(--teal-soft);font-size:13px}.touch-aim--left{right:156px}.touch-aim--right{right:100px}.touch-aim.is-selected{border-color:var(--sun);background:var(--sun);color:var(--ink);box-shadow:0 4px #9c5d15a6}.orientation-gate{display:none;position:fixed;z-index:60;inset:0;place-items:center;align-content:center;gap:16px;padding:34px;background:linear-gradient(180deg,#030a17,#061a30);color:var(--cream);text-align:center;font-family:var(--font-ui)}.orientation-gate strong{font-size:22px;letter-spacing:.1em}.orientation-gate span{max-width:320px;color:var(--teal-soft);font-size:10px;font-weight:800;line-height:1.7;letter-spacing:.08em}.orientation-gate__phone{width:58px;height:96px;border:3px solid var(--sun);border-radius:12px;animation:orientation-turn 2.1s ease-in-out infinite}.orientation-gate__phone i{display:block;width:22px;height:3px;margin:8px auto 0;border-radius:999px;background:#ffd45ecc}@keyframes orientation-turn{0%,26%{transform:rotate(0)}58%,88%{transform:rotate(-90deg)}to{transform:rotate(0)}}.court-stage.is-tutorial[data-tutorial-step=move] .aim-controls,.court-stage.is-tutorial[data-tutorial-step=hit] .aim-controls,.court-stage.is-tutorial[data-tutorial-step=position] .aim-controls,.court-stage.is-tutorial[data-tutorial-step=move] .touch-aim,.court-stage.is-tutorial[data-tutorial-step=hit] .touch-aim,.court-stage.is-tutorial[data-tutorial-step=position] .touch-aim,.court-stage.is-tutorial[data-tutorial-step=move] .touch-lob,.court-stage.is-tutorial[data-tutorial-step=hit] .touch-lob,.court-stage.is-tutorial[data-tutorial-step=position] .touch-lob,.court-stage.is-tutorial[data-tutorial-step=move] .touch-attack,.court-stage.is-tutorial[data-tutorial-step=hit] .touch-attack,.court-stage.is-tutorial[data-tutorial-step=position] .touch-attack,.court-stage.is-tutorial[data-tutorial-step=aim] .touch-lob,.court-stage.is-tutorial[data-tutorial-step=wall] .touch-lob,.court-stage.is-tutorial[data-tutorial-step=aim] .touch-attack,.court-stage.is-tutorial[data-tutorial-step=wall] .touch-attack,.court-stage.is-tutorial[data-tutorial-step=move] .touch-slice,.court-stage.is-tutorial[data-tutorial-step=hit] .touch-slice,.court-stage.is-tutorial[data-tutorial-step=position] .touch-slice,.court-stage.is-tutorial[data-tutorial-step=aim] .touch-slice,.court-stage.is-tutorial[data-tutorial-step=wall] .touch-slice,.court-stage.is-tutorial[data-tutorial-step=smash] .touch-slice,.court-stage.is-tutorial[data-tutorial-step=smash] .touch-lob{display:none}body.is-playing-match .court-stage.is-tutorial:not(.is-lesson) .touch-aim,body.is-playing-match .court-stage.is-tutorial:not(.is-lesson) .touch-lob,body.is-playing-match .court-stage.is-tutorial:not(.is-lesson) .touch-attack,body.is-playing-match .court-stage.is-tutorial:not(.is-lesson) .touch-slice{display:grid}.court-stage.is-lesson[data-tutorial-step=move] .touch-hit,.court-stage.is-lesson .practice-hud,.court-stage.is-lesson .rally-count,.court-stage.is-lesson .score-band{display:none}.lesson-card{display:none;position:fixed;z-index:6;top:150px;left:clamp(20px,3vw,58px);width:min(340px,calc(100vw - 36px));border:3px solid var(--teal);border-radius:16px;background:#05162bf0;box-shadow:var(--ui-shadow),0 0 24px #20cfc43d;color:var(--cream);padding:12px 14px;pointer-events:none}.court-stage.is-lesson .lesson-card{display:grid;gap:9px;justify-items:start;text-align:left;animation:lesson-enter .28s ease-out}@keyframes lesson-enter{0%{opacity:0}to{opacity:1}}.lesson-card p{margin:0;color:var(--sun);font:900 8px/1 var(--font-ui);letter-spacing:.13em}.lesson-card strong{display:block;margin-top:4px;font:900 17px/.95 var(--font-display)}.lesson-card span{display:block;margin-top:5px;color:var(--teal-soft);font:900 9px/1.35 var(--font-ui);letter-spacing:.05em}.lesson-steps{display:flex;gap:5px}.lesson-steps i{display:block;width:15px;height:5px;border-radius:999px;background:#abfff442}.lesson-steps i.is-current{background:var(--sun);box-shadow:0 0 10px #ffd45e99}.lesson-steps i.is-done{background:var(--teal)}.lesson-buttons{display:flex;align-items:center;gap:8px;pointer-events:auto}.lesson-skip{min-height:34px;border:2px solid rgba(171,255,244,.4);border-radius:999px;background:#020c1bcc;color:var(--teal-soft);padding:8px 14px;font:900 8px/1 var(--font-ui);letter-spacing:.12em;cursor:pointer}.lesson-skip:hover{border-color:var(--teal);color:var(--cream)}.lesson-action{min-height:38px;border:2px solid var(--cream);border-radius:10px;background:var(--teal);box-shadow:0 4px #075b5ab3;color:var(--ink);padding:10px 15px;font:900 10px/1 var(--font-ui);letter-spacing:.08em;cursor:pointer}.lesson-action[hidden]{display:none}.lesson-card.is-cleared{border-color:var(--sun);box-shadow:var(--ui-shadow),0 0 30px #ffd45e8c}.rematch-button{display:none;position:fixed;z-index:6;left:50%;bottom:112px;transform:translate(-50%);pointer-events:auto;border:3px solid var(--cream);border-radius:12px;background:var(--teal);box-shadow:0 5px #075b5ab8,0 0 24px #20cfc47a;color:var(--ink);padding:12px 18px;font:900 11px/1 var(--font-ui);letter-spacing:.08em;cursor:pointer}.court-stage.is-match-over .rematch-button{display:block;animation:rematch-pop .42s cubic-bezier(.18,.9,.24,1.4)}.court-stage.is-farewell .rematch-button,.court-stage.is-session-complete .rematch-button{display:none}.rematch-button:active{transform:translate(-50%) translateY(3px) scale(.97);box-shadow:0 2px #075b5ab8}@keyframes rematch-pop{0%{opacity:0;transform:translate(-50%) scale(.72)}to{opacity:1;transform:translate(-50%) scale(1)}}.exit-match{border:2px solid var(--cream);border-radius:8px;background:var(--coral);box-shadow:0 4px #591c2599;color:var(--cream);font-family:var(--font-ui);font-weight:900}.footer{border-top:2px solid rgba(32,207,196,.55);background:var(--ink);color:var(--teal-soft);font-family:var(--font-ui);font-weight:800}.footer span{color:var(--sun)}.studio-signature{color:var(--cream)}.studio-signature i{color:var(--sun)}.footer .rights-note{color:#a3d6d6a8;font-weight:700}@media(max-width:640px){.topbar{height:66px;padding-inline:14px}.topbar:after{bottom:-5px;height:5px}.wordmark{height:39px}.wordmark img{max-height:39px}.wordmark{gap:3px}.wordmark-lockup--wide{display:none}.wordmark-lockup--stack{display:block;height:27px}.wordmark-signature{font-size:7px}.rights-line{gap:7px}.studio-signature{font-size:11px}.topbar-actions{gap:6px}.replay-picker{gap:3px;font-size:6px;letter-spacing:.04em}.replay-picker input{width:11px;height:11px}.audio-toggle{min-height:33px;padding:7px 8px;font-size:7px}.view-button,.play-button{min-height:33px;padding:7px 8px;font-size:8px}.view-button{display:none}.intro{left:22px;top:104px;max-width:275px}.intro-copy{font-size:10px}.club-context{top:80px;right:14px;width:min(248px,calc(100vw - 28px));padding:12px}.club-context strong{font-size:16px}.club-context span{font-size:9px}.club-directory{top:auto;left:14px;bottom:122px;width:166px;padding:9px}.club-inbox{flex-direction:column;top:112px;bottom:auto;left:14px;width:176px}.club-inbox-panel{max-height:min(180px,calc(100vh - 320px))}.club-directory li{font-size:7px}.match-hud{inset:88px 0 auto}.match-score{gap:8px;border-width:2px;padding:8px 10px}.match-score:before{margin-top:-37px;font-size:7px}.match-score b{font-size:27px}.clash-meter{margin-top:5px}.match-controls{max-width:calc(100vw - 28px);border-radius:12px}.replay-label{top:202px;font-size:7px}.learning-card{top:248px;width:min(290px,calc(100vw - 30px));padding:10px 12px}.learning-card strong{font-size:13px}.rematch-button{bottom:196px;padding:10px 13px;font-size:9px}}@media(pointer:coarse){.court-stage.is-playing .touch-controls{display:block}.match-controls,.aim-controls,body.is-playing-match .footer,.camera-note,.immersion-hud span{display:none}.court-stage.is-training .rally-count{top:11px}}@media(max-height:400px){.touch-actions{width:194px;height:142px}.touch-hit{width:72px;height:72px}.touch-attack{right:80px;bottom:6px;width:56px;height:56px}.touch-lob{right:8px;bottom:80px;width:56px;height:56px}.touch-aim{width:48px;height:44px;bottom:68px}.touch-aim--left{right:140px}.touch-aim--right{right:88px}.touch-stick{width:116px;height:116px;margin:-58px 0 0 -58px}.touch-slice{right:12px;bottom:146px;width:48px;height:48px}.touch-stick-knob{width:52px;height:52px;margin:-26px 0 0 -26px}}@media(pointer:coarse)and (max-height:400px){.shot-prompt{bottom:108px}}@media(max-height:400px){body.force-touch-controls .shot-prompt{bottom:108px}}body.force-touch-controls .court-stage.is-playing .touch-controls{display:block}body.force-touch-controls .match-controls,body.force-touch-controls .aim-controls,body.force-touch-controls .camera-note,body.force-touch-controls .immersion-hud span{display:none}body.force-touch-controls .court-stage.is-training .rally-count{top:11px}body.force-touch-controls.is-playing-match .footer{display:none}body.is-touch-play.is-playing-match .court-stage{min-height:100svh}body.is-touch-play.is-playing-match .racket-badge,body.is-touch-play.is-playing-match .clash-meter,body.is-touch-play.is-playing-match .match-progress,body.is-touch-play.is-playing-match .learning-card,body.is-touch-play.is-playing-match .match-score:before{display:none}body.is-touch-play.is-playing-match .match-hud{inset:8px 0 auto}body.is-touch-play.is-playing-match .match-score{gap:9px;border-width:2px;border-radius:11px;padding:5px 13px}body.is-touch-play.is-playing-match .match-score b{min-width:22px;font-size:25px}body.is-touch-play.is-playing-match .score-divider{font-size:20px}body.is-touch-play.is-playing-match .referee-call small{display:none}body.is-touch-play.is-playing-match .referee-call strong{padding:4px 9px;font-size:8px}body.is-touch-play.is-playing-match .shot-prompt{top:62px;bottom:auto;max-width:calc(100vw - 44px);padding:6px 11px;font-size:9px;white-space:nowrap}body.is-touch-play.is-playing-match .rally-count{top:10px;right:14px;font-size:8px}body.is-touch-play .touch-stick-zone{top:100px;height:auto}body.is-touch-play.is-playing-match .lesson-card{top:6px;left:50%;transform:translate(-50%);width:min(520px,calc(100vw - 190px));border-width:2px;border-radius:12px;padding:5px 9px}body.is-touch-play.is-playing-match .court-stage.is-lesson .lesson-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}body.is-touch-play.is-playing-match .lesson-card p{display:none}body.is-touch-play.is-playing-match .lesson-card strong{margin-top:0;font-size:13px}body.is-touch-play.is-playing-match .lesson-card span{margin-top:2px;font-size:8px;line-height:1.25}body.is-touch-play.is-playing-match .lesson-steps{flex-direction:column;gap:3px}body.is-touch-play.is-playing-match .lesson-steps i{width:5px;height:4px}body.is-touch-play.is-playing-match .lesson-skip{min-height:32px;padding:7px 11px}body.is-touch-play.is-playing-match .lesson-action{min-height:34px;padding:8px 11px;font-size:9px}.club-touch{display:none;position:absolute;inset:0;z-index:4;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}body.is-touch-play .court-stage.is-walking .club-touch{display:block}body.is-playing-match .club-touch{display:none}.club-touch-zone{position:absolute;left:0;top:50%;bottom:0;width:min(46%,360px);pointer-events:auto;touch-action:none}.club-touch.has-used-stick .touch-stick-hint{display:none}body.is-touch-play .court-stage.is-walking .club-directory{top:88px;left:12px;width:168px;padding:7px 9px}body.is-touch-play .court-stage.is-walking .club-directory p{margin-bottom:5px;font-size:7px}body.is-touch-play .court-stage.is-walking .club-directory ul{gap:3px}body.is-touch-play .court-stage.is-walking .club-directory li{font-size:7px}body.is-touch-play .court-stage.is-walking .club-directory li i{font-size:9px}body.is-touch-play .court-stage.is-walking .immersion-hud{top:90px;bottom:auto;left:40%;padding:7px 11px}body.is-touch-play .court-stage.is-walking .club-inbox{flex-direction:column;align-items:flex-end;left:auto;right:clamp(18px,4vw,68px);top:83px;bottom:auto;width:min(280px,calc(100vw - 36px));gap:6px}body.is-touch-play .club-inbox-chip{width:auto;min-width:148px;padding:6px 10px}body.is-touch-play .club-inbox-panel{width:100%;max-height:min(214px,calc(100vh - 176px));padding:9px 10px}body.is-touch-play .court-stage.has-club-inbox .club-context{display:none}body.is-touch-play .club-context button{min-height:42px}@media(pointer:coarse)and (orientation:portrait){.orientation-gate{display:grid}}.topbar{display:grid;grid-template-columns:minmax(180px,1fr) max-content minmax(0,1fr);column-gap:clamp(14px,2.4vw,42px);justify-content:initial}.wordmark{grid-column:1;min-width:0}.topbar-status{position:static;grid-column:2;transform:none;justify-self:center}.topbar-actions{grid-column:3;min-width:0;justify-self:end;white-space:nowrap}@media(max-width:1180px){.topbar{grid-template-columns:minmax(160px,1fr) max-content}.topbar-status{display:none}.topbar-actions{grid-column:2}}@media(max-width:640px){.topbar{grid-template-columns:minmax(0,1fr) max-content;column-gap:8px}.topbar-actions .format-picker:first-child{font-size:0;gap:0}.topbar-actions .format-picker:first-child select{padding:6px;font-size:8px}.topbar-actions .format-picker:nth-child(2){display:none}.topbar-actions .play-button{padding-inline:8px}.audio-toggle{min-width:32px;padding-inline:6px;font-size:0}.audio-toggle span{font-size:14px}}@media(max-width:390px){.wordmark img{width:min(172px,42vw)}.topbar-actions{gap:4px}.topbar-actions .play-button{min-width:58px;padding-inline:7px;font-size:0}.topbar-actions .play-button .button-icon{margin-right:2px;font-size:12px}.topbar-actions .play-button:after{content:"JUGAR";font-size:8px}}:root{--panel: #09213d;--panel-raised: #123a5a;--line: rgba(171, 255, 244, .62);--focus-ring: 0 0 0 3px rgba(255, 212, 94, .34), 0 0 0 5px rgba(7, 20, 36, .9);--radius-card: 18px;--radius-control: 10px;--emblem-radius: 24% 24% 44% 24%;--emblem-radius-inner: 17% 17% 33% 17%}button:focus-visible,select:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus-ring)}.flow-panel{display:none;position:fixed;z-index:20;inset:0;align-items:center;justify-content:center;padding:26px;color:var(--cream)}.flow-panel.is-open{display:flex}.flow-panel.is-open~.footer{display:none}body:has(.flow-panel.is-open) #court-canvas,body:has(.flow-panel.is-open) #walk-canvas{filter:blur(5px)}body:has(.flow-panel.is-open) .intro,body:has(.flow-panel.is-open) .camera-note{opacity:0}.intro,.camera-note{transition:opacity .22s ease}.flow-panel__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 24%,rgba(45,133,138,.2),transparent 46%),radial-gradient(ellipse 96% 92% at 50% 44%,#030d1b4d,#020a1580 58%,#01060fbd)}.flow-panel__card{position:relative;width:min(760px,100%);max-height:min(760px,calc(100svh - 52px));overflow:auto;border:3px solid var(--teal);border-radius:var(--radius-card);background:linear-gradient(145deg,#10324ffa,#051426fc);box-shadow:0 12px #010a187a,0 30px 90px #000000b8,0 0 0 6px #020a1657;padding:clamp(24px,4vw,38px);text-align:center}.flow-panel__card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(255,248,233,.13);border-radius:12px;pointer-events:none}.flow-panel__close{position:absolute;z-index:1;top:13px;right:14px;width:32px;height:32px;border:2px solid var(--cream);border-radius:50%;background:#06172bcc;color:var(--cream);font:900 20px/1 Arial,sans-serif;cursor:pointer}.flow-kicker{position:relative;margin:0 0 10px;color:var(--teal-soft);font:900 10px/1 var(--font-ui);letter-spacing:.15em}.flow-panel h2{position:relative;margin:0;color:var(--cream);font:900 clamp(31px,5vw,48px)/.84 var(--font-display);letter-spacing:-.07em;text-shadow:0 5px 0 rgba(3,14,28,.45)}.flow-panel h2 em{color:var(--sun);font-style:italic;text-shadow:0 4px 0 rgba(137,83,28,.6)}.flow-copy{position:relative;max-width:490px;margin:17px auto 22px;color:var(--cream);font:800 13px/1.45 var(--font-ui)}.athlete-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;text-align:left}.athlete-card{display:grid;grid-template-columns:76px 1fr;gap:11px;position:relative;min-height:154px;overflow:hidden;border:2px solid rgba(171,255,244,.34);border-radius:14px;background:linear-gradient(135deg,#0d2d49eb,#06182dfa);color:var(--cream);padding:13px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.athlete-card:hover{transform:translateY(-3px);border-color:var(--teal-soft)}.athlete-card.is-selected{border-color:var(--sun);background:linear-gradient(135deg,#11465ffa,#07223afa);box-shadow:0 4px #8b5618a6,0 0 0 2px #ffd45e24}.athlete-card.is-selected:after{content:"ELEGIDA";position:absolute;top:11px;right:10px;color:var(--sun);font:900 8px/1 var(--font-ui);letter-spacing:.1em}.athlete-card__art{grid-row:span 2;position:relative;display:block;align-self:stretch;overflow:hidden;border:2px solid rgba(255,248,233,.36);border-radius:12px 12px 29px 29px;background:linear-gradient(180deg,#4ca7ff 0 42%,#173e73 42% 100%)}.athlete-card__art:before{content:"";position:absolute;width:42px;height:42px;top:13px;left:16px;border:4px solid var(--cream);border-radius:50%;background:#c98258;box-shadow:0 29px 0 9px var(--cream)}.athlete-card__art i{position:absolute;z-index:1;width:41px;height:17px;top:10px;left:16px;border-radius:20px 20px 4px 4px;background:#132f5a}.athlete-card__art b{position:absolute;z-index:2;width:18px;height:52px;right:-3px;bottom:10px;border:3px solid var(--sun);border-radius:50%;transform:rotate(35deg)}.athlete-card__art--mateo{background:linear-gradient(180deg,var(--coral) 0 42%,#552638 42% 100%)}.athlete-card__art--mateo:before{background:#8a5438;box-shadow:0 29px 0 9px var(--cream)}.athlete-card__art--mateo i{background:#332232}.athlete-card__identity{display:grid;align-content:end;gap:2px;min-width:0}.athlete-card__identity small{color:var(--teal-soft);font:900 8px/1 var(--font-ui);letter-spacing:.11em}.athlete-card__identity strong{color:var(--cream);font:900 22px/.9 var(--font-display);letter-spacing:-.05em}.athlete-card__identity em{color:var(--sun);font:900 9px/1 var(--font-ui);font-style:normal;letter-spacing:.08em}.athlete-card__traits{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:5px}.athlete-card__traits i{border:1px solid rgba(255,248,233,.28);border-radius:999px;color:var(--cream);padding:4px 6px;font:900 7px/1 var(--font-ui);font-style:normal;letter-spacing:.06em}.flow-panel__action{position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px;padding-top:17px;border-top:1px solid rgba(171,255,244,.25)}.flow-panel__action>span{color:var(--teal-soft);font:900 9px/1 var(--font-ui);letter-spacing:.11em}.reward-panel__card{width:min(430px,100%)}.reward-seal{position:relative;display:grid;place-content:center;justify-items:center;gap:6px;width:106px;height:106px;margin:6px auto 16px;border:3px solid var(--sun);border-radius:var(--emblem-radius);background:linear-gradient(145deg,#16617b,#072a45 74%);box-shadow:0 0 0 6px #ffd45e1f,0 8px #7c4d1694}.reward-seal:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,248,233,.16);border-radius:var(--emblem-radius-inner);pointer-events:none}.reward-seal:after{content:"";order:-1;width:68px;aspect-ratio:17 / 9;background:url(assets/brand/padel-daddle-court-emblem.svg?v=31b8c97a2a) center / contain no-repeat;filter:drop-shadow(0 2px 0 rgba(4,13,27,.5))}.reward-seal img{display:none}.reward-seal span{color:var(--sun);font:900 13px/1 var(--font-display);letter-spacing:.06em}.reward-item{position:relative;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;margin:18px 0 21px;border:2px solid var(--teal);border-radius:12px;background:#04172bb3;padding:10px;text-align:left}.reward-item>span{display:grid;width:31px;height:31px;place-items:center;border-radius:var(--emblem-radius);background:var(--sun);color:var(--ink);font-size:19px}.reward-item p{margin:0}.reward-item small{display:block;color:var(--teal-soft);font:900 7px/1 var(--font-ui);letter-spacing:.1em}.reward-item strong{display:block;margin-top:4px;color:var(--cream);font:900 12px/1 var(--font-ui);letter-spacing:.04em}.reward-item b{color:var(--sun);font:900 20px/1 var(--font-display)}.reward-panel .play-button{width:100%;min-height:46px}@media(max-height:660px){.reward-panel__card{padding:20px 24px 22px}.reward-seal{width:78px;height:78px;margin:0 auto 10px;gap:4px}.reward-seal:before{inset:5px}.reward-seal:after{width:47px}.reward-seal span{font-size:11px}.reward-panel h2{font-size:30px}.reward-panel .flow-copy{margin:11px auto 13px;font-size:12px}.reward-item{margin:12px 0 14px}}.court-stage.is-session-complete .learning-card{display:none}.mode-select__card{width:min(720px,100%)}.athlete-select__card{width:min(650px,100%)}.athlete-viewer{position:relative;height:min(43vh,330px);min-height:230px;overflow:hidden;border:2px solid var(--teal);border-radius:16px;background:radial-gradient(circle at 50% 24%,rgba(91,220,255,.3),transparent 34%),linear-gradient(160deg,#123e61,#061426 72%);box-shadow:inset 0 -36px 55px #01081599,0 9px 24px #00000040}#athlete-preview-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}#athlete-preview-canvas:active{cursor:grabbing}.athlete-viewer__hint{position:absolute;left:50%;bottom:11px;transform:translate(-50%);border:1px solid rgba(171,255,244,.42);border-radius:999px;background:#03101fbd;color:var(--teal-soft);padding:6px 9px;font:900 8px/1 var(--font-ui);letter-spacing:.1em;white-space:nowrap;pointer-events:none}.athlete-choice{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.athlete-choice__button{min-height:78px;border:2px solid rgba(171,255,244,.35);border-radius:12px;background:#04192dbd;color:var(--cream);padding:10px;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.athlete-choice__button:hover{transform:translateY(-2px);border-color:var(--teal-soft)}.athlete-choice__button.is-selected{border-color:var(--sun);background:linear-gradient(130deg,#124b5beb,#0c233cf5);box-shadow:0 3px #89531c94}.athlete-choice__button small,.athlete-choice__button em{display:block;color:var(--teal-soft);font:900 7px/1 var(--font-ui);font-style:normal;letter-spacing:.1em}.athlete-choice__button strong{display:block;margin:4px 0;color:var(--cream);font:900 23px/.85 var(--font-display);letter-spacing:-.06em}.athlete-choice__button.is-selected strong{color:var(--sun)}.athlete-custom{display:grid;gap:7px;margin-top:11px}.athlete-custom__row{display:flex;align-items:center;gap:11px}.athlete-custom__label{min-width:68px;color:var(--teal-soft);font:900 8px/1 var(--font-ui);letter-spacing:.12em}.athlete-swatches{display:flex;flex-wrap:wrap;gap:8px}.athlete-swatch{width:30px;height:30px;padding:0;border:2px solid rgba(171,255,244,.3);border-radius:9px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.athlete-swatch:hover{transform:translateY(-2px);border-color:var(--teal-soft)}.athlete-swatch.is-selected{border-color:var(--sun);box-shadow:0 0 0 2px #ffc14a42}.athlete-swatch--kit{border-radius:999px}.mode-grid{position:relative;display:grid;gap:9px;text-align:left}.mode-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:84px;border:2px solid rgba(171,255,244,.3);border-radius:13px;background:linear-gradient(100deg,#09253efa,#08192df0);color:var(--cream);padding:10px 13px;cursor:pointer;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.mode-card:hover{transform:translate(3px);border-color:var(--teal-soft)}.mode-card.is-selected{border-color:var(--sun);background:linear-gradient(100deg,#164e5df5,#08253efa);box-shadow:0 3px #89531c94}.mode-card__crest{--crest-line: var(--sun);position:relative;display:grid;width:55px;height:55px;place-items:center;overflow:hidden;border:2px solid var(--teal-soft);border-radius:var(--emblem-radius);background:#135370;color:var(--cream)}.mode-card__crest:before{content:"";position:absolute;inset:26% 8%;border:2px solid var(--crest-line);opacity:.55}.mode-card__crest i{position:absolute;width:2px;height:48%;background:var(--crest-line);opacity:.55}.mode-card__crest b{position:relative;font:900 18px/1 var(--font-display);text-shadow:0 2px 0 rgba(4,16,30,.55)}.mode-card__crest--tour{--crest-line: var(--teal-soft);background:#553a27;border-color:var(--sun)}.mode-card__crest--challenge{--crest-line: var(--cream);background:#542c3b;border-color:var(--coral)}.mode-card__copy{display:grid;gap:3px;min-width:0}.mode-card__copy small{color:var(--teal-soft);font:900 8px/1 var(--font-ui);letter-spacing:.11em}.mode-card__copy strong{color:var(--cream);font:900 18px/1 var(--font-display);letter-spacing:-.04em}.mode-card__copy em{color:#fff8e9b8;font:800 8px/1.25 var(--font-ui);font-style:normal;letter-spacing:.08em}.mode-card__reward{display:grid;gap:1px;justify-items:end;color:var(--sun);font:900 17px/1 var(--font-display)}.mode-card__reward i{color:var(--teal-soft);font:900 6px/1 var(--font-ui);font-style:normal;letter-spacing:.1em}.racket-shop__card{width:min(810px,100%)}.shop-heading{position:relative;display:flex;justify-content:space-between;align-items:center;gap:14px;padding-right:34px}.shop-heading .flow-kicker{margin-bottom:10px;text-align:left}#shop-balance{display:inline-flex;align-items:center;border:1px solid rgba(255,212,94,.65);border-radius:999px;background:#5d401757;color:var(--sun);padding:6px 9px;font:900 8px/1 var(--font-ui);letter-spacing:.1em;white-space:nowrap}.racket-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;text-align:left}.racket-card{position:relative;min-height:265px;overflow:hidden;border:2px solid rgba(171,255,244,.3);border-radius:14px;background:linear-gradient(160deg,#0c304afa,#041629fc);color:var(--cream);padding:13px}.racket-card.is-equipped{border-color:var(--teal);box-shadow:0 4px #085d5cb8}.racket-card.is-locked{opacity:.68}.racket-card__visual{position:relative;height:80px;margin:-4px 0 10px;overflow:hidden;border-bottom:1px solid rgba(255,248,233,.16)}.racket-card__visual:before{content:"";position:absolute;width:47px;height:69px;left:50%;top:2px;border:7px solid var(--racket-accent, var(--teal));border-radius:50% 50% 43% 43%;transform:translate(-35%) rotate(30deg);box-shadow:inset 0 0 0 5px #041427cc,0 7px 17px #00000059}.racket-card__visual:after{content:"";position:absolute;width:11px;height:57px;left:43%;top:48px;border-radius:0 0 9px 9px;background:var(--racket-accent, var(--teal));transform:rotate(30deg)}.racket-card__eyebrow{display:block;color:var(--racket-accent, var(--teal-soft));font:900 8px/1 var(--font-ui);letter-spacing:.12em}.racket-card strong{display:block;margin-top:5px;font:900 17px/.95 var(--font-display);letter-spacing:-.05em}.racket-card p{min-height:38px;margin:9px 0;color:#fff8e9d6;font:700 10px/1.35 var(--font-ui)}.racket-stat{display:flex;align-items:center;justify-content:space-between;margin:7px 0 11px;border-top:1px solid rgba(171,255,244,.18);border-bottom:1px solid rgba(171,255,244,.18);color:var(--teal-soft);padding:7px 0;font:900 7px/1 var(--font-ui);letter-spacing:.09em}.racket-stat b{color:var(--sun);font-size:11px}.racket-card button{width:100%;min-height:34px;border:1px solid rgba(255,212,94,.72);border-radius:8px;background:var(--sun);color:var(--ink);font:900 8px/1 var(--font-ui);letter-spacing:.09em;cursor:pointer}.racket-card.is-equipped button{border-color:#abfff4b3;background:#084a57bd;color:var(--teal-soft)}.racket-card.is-locked button{border-color:#fff8e947;background:#fff8e917;color:#fff8e98c;cursor:default}.shop-feedback{position:relative;min-height:16px;margin:15px 0 0;color:var(--teal-soft);font:900 9px/1.3 var(--font-ui);letter-spacing:.1em}.racket-badge{position:absolute;top:135px;left:clamp(18px,4vw,70px);display:none;align-items:center;gap:6px;border:1px solid rgba(171,255,244,.52);border-radius:999px;background:#031222d6;box-shadow:0 4px #010a1859;color:var(--cream);padding:7px 10px}.court-stage.is-playing .racket-badge{display:inline-flex}.racket-badge span,.racket-badge em{color:var(--teal-soft);font:900 7px/1 var(--font-ui);font-style:normal;letter-spacing:.09em}.racket-badge strong{color:var(--sun);font:900 9px/1 var(--font-ui);letter-spacing:.08em}body.is-playing-match .topbar{display:none}body.is-playing-match .match-hud{inset:26px 0 auto}body.is-playing-match .learning-card{top:176px;left:clamp(20px,3vw,58px);transform:none;text-align:left}body.is-playing-match .learning-card .learning-steps{justify-content:flex-start}@media(max-width:560px){.flow-panel{align-items:end;padding:12px}.flow-panel__card{max-height:calc(100svh - 24px);border-width:2px;border-radius:15px;padding:25px 17px 17px}.flow-kicker{font-size:8px}.flow-panel h2{font-size:32px}.athlete-button{min-height:33px;padding:7px 8px;font-size:0}.athlete-button .button-icon{margin:0;font-size:14px}.athlete-viewer{height:216px;min-height:0}.athlete-choice{gap:6px}.athlete-choice__button{min-height:58px;padding:7px 6px}.athlete-choice__button strong{font-size:16px}.athlete-custom__row{gap:8px}.athlete-custom__label{min-width:56px;font-size:7px}.athlete-swatch{width:26px;height:26px}.flow-copy{margin:13px auto 16px;font-size:11px}.athlete-grid{gap:8px}.athlete-card{grid-template-columns:58px 1fr;min-height:133px;gap:8px;padding:9px}.athlete-card__art:before{top:11px;left:9px;transform:scale(.82);transform-origin:top left}.athlete-card__art i{left:9px;transform:scale(.82);transform-origin:top left}.athlete-card__identity strong{font-size:18px}.athlete-card__identity em,.athlete-card__traits i{font-size:6px}.athlete-card__traits{gap:3px}.athlete-card__traits i{padding:3px 4px}.flow-panel__action{gap:10px;margin-top:15px;padding-top:13px}.flow-panel__action>span{max-width:88px;font-size:7px;line-height:1.25;text-align:left}.flow-panel__action .play-button{font-size:9px;padding:9px 10px}.reward-seal{width:86px;height:86px;margin-bottom:11px;transform:scale(.92)}.mode-card{grid-template-columns:48px minmax(0,1fr) auto;min-height:73px;gap:8px;padding:9px}.mode-card__crest{width:42px;height:42px}.mode-card__crest b,.mode-card__copy strong{font-size:14px}.mode-card__copy small,.mode-card__copy em{font-size:6px}.mode-card__reward{font-size:13px}.racket-grid{grid-template-columns:1fr;gap:8px}.racket-card{display:grid;grid-template-columns:72px 1fr;column-gap:10px;min-height:0;padding:10px}.racket-card__visual{grid-row:span 4;height:82px;margin:0;border-bottom:0;border-right:1px solid rgba(255,248,233,.16)}.racket-card p{min-height:0;margin:5px 0;font-size:8px}.racket-stat{margin:4px 0 7px;padding:5px 0}.racket-card button{grid-column:2;min-height:29px;font-size:7px}.shop-heading{align-items:start}#shop-balance{font-size:7px}.racket-badge{top:203px;left:15px;padding:6px 8px}.racket-badge em{display:none}body.is-playing-match .match-hud{inset:72px 0 auto}body.is-playing-match .learning-card{top:248px;left:50%;transform:translate(-50%);text-align:center}body.is-playing-match .learning-card .learning-steps{justify-content:center}}.menu-button{min-height:38px;border:2px solid rgba(32,207,196,.86);border-radius:8px;background:#042337db;box-shadow:0 4px #010a1899;color:var(--teal-soft);padding:9px 12px;font:900 10px/1 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:transform .14s ease,filter .14s ease}.menu-button:hover{transform:translateY(-2px);filter:brightness(1.13)}.menu-button:active{transform:translateY(3px)}.menu-button .button-icon{color:var(--sun);margin-right:4px}.main-menu__card{width:min(820px,100%);text-align:center}.main-menu .flow-copy{margin:13px auto 18px}.menu-block{position:relative;margin-bottom:16px;text-align:left}.menu-block__label{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--teal-soft);font:900 9px/1 var(--font-ui);letter-spacing:.16em}.menu-block__label b{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--sun);color:var(--ink);font-size:9px}.difficulty-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.difficulty-card{display:grid;align-content:center;gap:4px;min-height:58px;border:2px solid rgba(171,255,244,.3);border-radius:11px;background:linear-gradient(140deg,#09253efa,#08192df0);color:var(--cream);padding:9px 8px;cursor:pointer;text-align:center;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.difficulty-card b{font:900 14px/1 var(--font-ui);letter-spacing:.02em}.difficulty-card small{color:var(--teal-soft);font:800 7px/1.25 var(--font-ui);letter-spacing:.07em}.difficulty-card:hover{transform:translateY(-2px);border-color:var(--teal-soft)}.difficulty-card.is-selected{border-color:var(--sun);background:linear-gradient(140deg,#164e5df5,#08253efa);box-shadow:0 3px #89531c94}.difficulty-card.is-selected small{color:var(--sun)}.difficulty-detail{margin:9px 0 0;border-left:3px solid var(--sun);background:#332a166b;color:var(--cream);padding:7px 9px;font:800 9px/1.4 var(--font-ui);letter-spacing:.05em}.menu-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;margin-top:4px;padding-top:13px;border-top:1px solid rgba(171,255,244,.18)}.menu-options .format-picker{display:flex;color:var(--teal-soft);font:800 8px var(--font-ui);letter-spacing:.08em}.menu-options .replay-picker{display:flex}.menu-link{min-height:38px;border:2px solid rgba(171,255,244,.32);border-radius:8px;background:#06192fc7;color:var(--cream);padding:9px 12px;font:900 9px/1 var(--font-ui);letter-spacing:.09em;cursor:pointer;white-space:nowrap;transition:transform .14s ease,border-color .14s ease,filter .14s ease}.menu-link:hover{transform:translateY(-2px);border-color:var(--teal-soft);filter:brightness(1.1)}.menu-link:active{transform:translateY(2px)}.menu-link .button-icon{color:var(--sun);margin-right:4px}.menu-link--lesson{order:-1;border-color:#ffd45e8c;color:var(--sun)}body:not(.has-played-tutorial) .menu-link--lesson{border-color:var(--cream);background:var(--sun);color:#0a2036;box-shadow:0 0 18px #ffd45e80}.main-menu .flow-panel__action>span{color:var(--sun);font:900 10px/1.2 var(--font-ui);letter-spacing:.1em}.main-menu .flow-panel__action .play-button{font-size:14px;padding:13px 22px}body.is-playing-match .main-menu{display:none}@media(max-width:900px){.difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.main-menu .flow-copy{display:none}.menu-block{margin-bottom:12px}.difficulty-card{min-height:54px;padding:8px 6px}.difficulty-card b{font-size:13px}.menu-options{gap:7px;padding-top:10px}.menu-link{padding:9px;font-size:8px}.main-menu .flow-panel__action .play-button{font-size:12px;padding:12px 16px}}@media(orientation:landscape)and (max-height:460px){.main-menu .flow-copy,.main-menu .flow-kicker,.main-menu h2{display:none}.main-menu__card{display:flex;flex-direction:column;overflow:hidden;padding:15px 16px 11px}.main-menu__scroll{flex:1 1 auto;min-height:0;overflow:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-content:start}.main-menu__scroll>.menu-block:not(#difficulty-block){grid-column:1;grid-row:1}.main-menu__scroll>#difficulty-block{grid-column:2;grid-row:1}.main-menu__scroll>.menu-options{grid-column:1 / -1;grid-row:2;margin-top:10px}.main-menu .flow-panel__close{top:6px;right:7px;width:28px;height:28px;font-size:17px}.main-menu #difficulty-block .menu-block__label{padding-right:34px}.main-menu .menu-block{margin-bottom:0}.main-menu .mode-card{grid-template-columns:minmax(0,1fr) auto;min-height:44px;padding:5px 9px}.main-menu .mode-card__crest,.main-menu .mode-card__copy em{display:none}.main-menu .mode-grid{gap:6px}.difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.difficulty-card{min-height:46px}.difficulty-detail{font-size:8px}.main-menu .flow-panel__action{flex:0 0 auto;margin-top:9px;padding-top:9px}.athlete-select .flow-copy,.athlete-select .flow-kicker,.athlete-select h2{display:none}.athlete-select__card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:14px;height:calc(100svh - 24px);overflow:hidden;padding:12px 13px 10px;text-align:left}.athlete-select .flow-panel__close{top:6px;right:7px;width:28px;height:28px;font-size:17px}.athlete-select .athlete-viewer{grid-column:1;grid-row:1 / span 3;height:100%;min-height:0}.athlete-select .athlete-choice{grid-column:2;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}.athlete-select .athlete-choice__button{min-height:52px;padding:7px 8px}.athlete-select .athlete-choice__button strong{font-size:17px}.athlete-select .athlete-custom{grid-column:2;grid-row:2;margin-top:9px}.athlete-select .flow-panel__action{grid-column:2;grid-row:3;margin-top:9px;padding-top:9px}}@media(max-width:640px){.topbar-actions .menu-button{padding:9px 8px;font-size:8px;letter-spacing:.04em}}@media(max-width:430px){.topbar-actions #reset-view{min-width:40px;padding-inline:8px;font-size:0}.topbar-actions #reset-view .button-icon{margin:0;font-size:15px}}@media(max-width:390px){.wordmark img{width:min(136px,36vw)}.wordmark-lockup--stack{height:26px}.wordmark-signature{display:none}.topbar-actions #play-training{padding-inline:7px;font-size:7px}}.score-band{display:grid;justify-items:center;margin:9px auto 0}.score-band>*{grid-column:1;grid-row:1;margin:0}.referee-call{position:relative}.referee-call.is-live~.match-progress{opacity:0}.match-progress{transition:opacity .26s ease}.referee-call small{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.referee-call strong{display:inline-block;padding:6px 12px}#golden-point{height:auto;min-height:0;margin:0}#golden-point:not(:empty){margin-top:7px}.clash-meter{position:absolute;top:171px;left:clamp(18px,4vw,70px);justify-content:flex-start;margin:0}.clash-meter i{width:84px}.court-stage.is-hud-settled .clash-meter{opacity:0}.court-stage.is-hud-settled .clash-meter.is-ready{opacity:1}.court-stage.is-farewell .clash-meter,.court-stage.is-farewell .clash-meter.is-ready{opacity:0}@media(max-width:560px){.clash-meter{top:239px;left:15px}.clash-meter i{width:68px}}.court-stage.is-celebrating .referee-call{opacity:0}.court-stage.is-celebrating .referee-call.is-live~.match-progress{opacity:1}
