@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff")}:root{font-family:DM Sans,sans-serif;color:#e6ecdf;background:#101510;font-synthesis:none;--lime:#d8ff62;--orange:#ff9b76;--muted:#9aa893;--line:#303c2c;color-scheme:dark}.mobile-note{font-size:13px;line-height:1.8;color:#b0c19d;margin-bottom:24px}.mobile-simple [data-key=KeyW],.mobile-simple [data-key=KeyG],.mobile-simple [data-key=ShiftLeft]{display:none}.mobile-simple .touch-button{width:72px}.mobile-simple .touch-button.drive-touch{width:112px}.mobile-simple .shot-buttons{margin-left:auto}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}#app{height:100dvh;display:flex;flex-direction:column;background:#101510}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{width:18px;height:18px;flex-shrink:0}button{transition:background .12s,color .12s}button:active{transform:translateY(1px)}.toolbar{height:49px;min-height:49px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2c3729;background:#171e16}.toolbar h1{font-size:14px;font-weight:600;letter-spacing:-.3px;color:#d9e4cc}.toolbar-actions{display:flex;align-items:center;gap:5px}.toolbar-button{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:4px;background:transparent;font-size:11px;color:#b7c4ac}.toolbar-button:hover,.icon-button:hover{background:#2e3b27}.toolbar-divider{height:20px;border-left:1px solid #3b4534;margin:0 6px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border-radius:4px;color:#b8c8ac}.icon-button svg{width:17px;height:17px}main{display:flex;flex-direction:column;flex:1;min-height:0}.match{display:flex;flex-direction:column;flex:1;min-height:0}.scoreboard{height:91px;min-height:91px;display:grid;grid-template-columns:minmax(120px,260px) 150px minmax(120px,260px);justify-content:center;align-items:center;gap:38px;padding:8px 24px;background:#1a2318;border-bottom:1px solid #3b4931}.team{display:flex;align-items:center;gap:26px;min-width:0}.team-info{flex:1;min-width:70px;max-width:170px}.player-tag{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1px;color:#93a384;margin-bottom:2px;height:11px}.serve-dot{display:inline-block;background:var(--lime);width:5px;height:5px;border-radius:50%}.team h2{font:600 27px/1 Barlow Condensed;margin-bottom:8px}.team-one h2{color:var(--lime)}.team-two h2{color:var(--orange)}.point-value{font:600 55px/1 Barlow Condensed;font-variant-numeric:tabular-nums;min-width:57px;text-align:center}.team-two .team-info{text-align:right}.team-two .player-tag{justify-content:flex-end}.power-track{height:3px;background:#39442f;overflow:hidden;border-radius:3px}.power-track>span{display:block;height:100%;width:35%;background:var(--lime);transition:width .15s}.team-two .power-track>span{background:var(--orange);margin-left:auto}.power-caption{display:flex;justify-content:space-between;margin-top:4px;font-size:7px;color:#9aa98b}.charged{color:var(--lime)}.touches{color:#c2d4aa;letter-spacing:2px;line-height:1}.score-center{text-align:center;border-left:1px solid #39452e;border-right:1px solid #39452e;padding:0 12px}.games-score{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:6px}.games-score>span{font:600 24px Barlow Condensed;min-width:25px}.games-score small{font-size:7px;letter-spacing:1px;color:#8c9d7c}.match-rule{font-size:9px;color:#b0c09e}.stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;background:radial-gradient(ellipse at center,#29402f,#111c14)}.arena{width:1280px;height:680px;position:relative;flex-shrink:0;overflow:hidden;outline:none;box-shadow:0 0 80px #0003}canvas{display:block;width:100%;height:100%}.serve-prompt{position:absolute;top:20%;left:50%;transform:translate(-50%);text-align:center;pointer-events:none;padding:12px 20px;background:#15271c7a;border:1px solid #afc69b30;border-radius:6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.serve-prompt h3{font-size:15px;font-weight:500;margin-bottom:7px;color:#ecf3df}.serve-prompt p{font-size:10px;color:#bfceb0;white-space:nowrap}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:26px;padding:0 7px;border:1px solid #4c5d41;border-bottom-width:2px;border-radius:4px;font:500 10px DM Sans;background:#2b3824;color:#e0eacf}.serve-prompt kbd{height:21px;min-width:25px;font-size:9px;margin-right:4px}.callout{position:absolute;left:50%;top:18%;transform:translate(-50%);text-align:center;pointer-events:none;display:flex;flex-direction:column;gap:6px;width:max-content;max-width:90%;padding:10px 18px;background:#14241be6;border-radius:5px;border-top:2px solid var(--lime)}.callout[data-side="2"]{border-color:var(--orange)}.callout strong{font:600 28px Barlow Condensed;color:#f1f4e7}.callout>span{font-size:10px;color:#b6c7a8}.match-strip{display:flex;align-items:center;justify-content:space-between;height:34px;min-height:34px;padding:0 23px;border-top:1px solid #36482d;background:#192416;font-size:9px;color:#859a73}.strip-stats{display:flex;gap:26px;font-size:10px;color:#96ac80}.strip-stats>span{display:flex;align-items:center;gap:7px}.strip-stats b{color:#dceacb;font-weight:500;font-variant-numeric:tabular-nums}#phase-label,#court-label{min-width:85px}#court-label{text-align:right}.pause-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:#101f19cf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.pause-overlay h3{font:600 42px Barlow Condensed;color:#e6edde;margin-bottom:4px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;border-radius:5px;padding:13px 19px;background:var(--lime);color:#233113;font-size:12px;font-weight:600;min-height:43px}.primary-button:hover{background:#e4ff93}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:#bacba7;padding:8px 0;font-size:11px}.text-button:hover{color:var(--lime)}.full{width:100%}.touch-controls{display:none}dialog{border:1px solid #47563a;border-radius:9px;background:#1b2518;color:#e2ebd6;padding:28px;width:530px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);box-shadow:0 30px 100px #0008;overflow:auto}dialog::backdrop{background:#0c150bd4;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog h2{font-size:22px;font-weight:600;margin:0 36px 25px 0;letter-spacing:-.5px}.dialog-close{position:absolute;right:15px;top:15px;background:#2a3822}.dialog-intro{font-size:11px;line-height:1.7;color:#a9ba96;margin:-12px 0 22px}fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}legend{padding:0;margin-bottom:9px;font-size:10px;font-weight:500;color:#bfcdb0}.option-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.option-row.thirds{grid-template-columns:repeat(3,1fr)}.option{position:relative;cursor:pointer;min-width:0}.option input{position:absolute;width:1px;height:1px;opacity:0}.option>span{display:flex;flex-direction:column;gap:5px;border:1px solid #425435;border-radius:5px;background:#26331f;padding:11px 12px;font-size:11px}.option input:checked+span{border-color:#b9d877;background:#344526}.option input:focus-visible+span{outline:2px solid var(--lime);outline-offset:3px}.option strong{font-size:11px;font-weight:500}.option small{font-size:9px;color:#a4b58e}.option-row.thirds .option>span{padding:11px 9px}fieldset:disabled{opacity:.35}.court-swatch{display:block;position:relative;height:43px;overflow:hidden;background:repeating-linear-gradient(90deg,#386e50 0 14px,#3e7656 14px 28px);border-radius:3px;margin-bottom:4px}.court-swatch:before{content:"";position:absolute;inset:6px 12px;border:1px solid #d5e7bdaa}.court-swatch:after{content:"";position:absolute;left:50%;top:0;height:100%;border-left:1px solid #d5e7bdaa}.court-swatch.clay{background:repeating-linear-gradient(90deg,#a56344 0 14px,#b06f4e 14px 28px)}.court-swatch.neon{background:repeating-linear-gradient(90deg,#2c496a 0 14px,#34597b 14px 28px)}.settings-bottom{display:flex;justify-content:space-between;align-items:center;gap:17px}.select-label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#b8c9a6}select{background:#283520;color:#dce9cc;border:1px solid #4a5c3a;border-radius:4px;padding:9px 25px 9px 10px;font-size:11px}.toggles{display:flex;flex-direction:column;gap:13px;font-size:10px;color:#b3c49f}.toggles label{display:flex;align-items:center;gap:8px;cursor:pointer}input[type=checkbox]{accent-color:var(--lime);width:14px;height:14px;margin:0}.settings-note{font-size:9px;color:#91a27e;margin:20px 0 11px;line-height:1.6}.settings-links{display:flex;justify-content:space-between;align-items:center;padding-top:16px;margin-top:16px;border-top:1px solid #37492c;gap:10px}.settings-links a,.settings-links button{font-size:10px;color:#91a97b}.keyboard-table{border-collapse:collapse;width:100%;font-size:11px}.keyboard-table th{text-align:left;font-size:9px;font-weight:500;color:#92a47f;padding-bottom:10px;border-bottom:1px solid #3b4b30}.keyboard-table td{padding:12px 7px 12px 0;border-bottom:1px solid #303f26;color:#c0d0b0}.keyboard-table td:first-child{font-size:10px}.keyboard-table kbd{font-size:9px;height:24px;min-width:23px;padding:0 5px}.keyboard-table td small{display:block;font-size:8px;color:#8ea275;margin-top:5px}.shortcuts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:9px;color:#9bad88;line-height:1.7;margin:20px 0}.shortcuts b{color:#cadbb6;font-weight:500}.shortcuts span{margin:0 5px}.rules-details{border-top:1px solid #3a4a2f;padding-top:17px;color:#c5d5b4;font-size:11px}.rules-details summary{cursor:pointer}.rules-details p{font-size:11px;color:#a2b38f;line-height:1.8;margin-top:13px}.rules-details b{color:#c8dab5}#results-dialog{text-align:center;width:430px}#results-dialog h2{margin-right:0;margin-bottom:18px}.results-icon{width:53px;height:53px;border-radius:50%;background:#354722;display:grid;place-items:center;margin:0 auto 17px;color:var(--lime)}.results-icon svg{width:26px;height:26px}.results-score{display:flex;justify-content:center;align-items:center;gap:25px;padding:15px 0 25px;border-bottom:1px solid #39482c;font-size:9px}.results-score>span{display:flex;align-items:center;gap:15px}.results-score b{font:600 50px Barlow Condensed;color:var(--lime)}.results-score>span:last-child b{color:var(--orange)}.results-score i{font-size:22px;font-style:normal;color:#5e7448}.results-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:25px 0}.results-stats>div{display:flex;flex-direction:column;gap:5px}.results-stats b{font:600 27px Barlow Condensed}.results-stats b small{font:400 9px DM Sans;margin-left:4px}.results-stats span{font-size:9px;color:#a0b389}#privacy-dialog p{font-size:12px;line-height:1.8;color:#adbf99;margin:16px 0}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:13px 19px;border:1px solid #6a7e4d;background:#2b3d20;border-radius:5px;z-index:100;font-size:11px;max-width:90vw}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reduced-motion *{animation:none!important;transition:none!important}#app:fullscreen,.immersive{height:100dvh;width:100vw}#app:fullscreen .toolbar,.immersive .toolbar{height:40px;min-height:40px;background:#121b10}#app:fullscreen .scoreboard,.immersive .scoreboard{height:75px;min-height:75px}#app:fullscreen .team h2,.immersive .team h2{font-size:22px}#app:fullscreen .point-value,.immersive .point-value{font-size:46px}#app:fullscreen .match-strip,.immersive .match-strip{height:26px;min-height:26px}@media(max-width:700px){.toolbar{padding:0 12px;height:45px;min-height:45px}.toolbar h1{font-size:12px}.toolbar-actions{gap:2px}.toolbar-button{padding:7px 8px;font-size:10px;gap:6px}.toolbar-divider{margin:0 3px}.icon-button{width:31px;height:31px}.scoreboard{gap:14px;grid-template-columns:1fr 104px 1fr;padding:9px 17px;height:85px;min-height:85px}.team{gap:15px}.team h2{font-size:25px}.point-value{font-size:48px;min-width:42px}.team-info{min-width:65px}.score-center{padding:0 6px}.games-score{gap:9px}.games-score>span{font-size:22px}.games-score small{font-size:6px}.match-rule{font-size:8px}.player-tag{font-size:7px}.match-strip{padding:0 14px;font-size:8px}.strip-stats{font-size:9px;gap:18px}#phase-label,#court-label{min-width:60px}.serve-prompt{padding:9px 14px}.serve-prompt h3{font-size:13px}.serve-prompt p{font-size:9px}.callout strong{font-size:23px}.callout>span{font-size:8px}.callout{padding:8px 13px}.pause-overlay h3{font-size:32px}.pause-overlay{gap:12px}.primary-button{min-height:40px;padding:11px 17px;font-size:11px}}@media(pointer:coarse){.touch-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));flex-shrink:0;background:#172313;border-top:1px solid #34452a}.movement-buttons,.shot-buttons{display:flex;gap:7px}.touch-button{touch-action:none;user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #546943;background:#2b3d20;border-radius:6px;height:60px;min-width:59px;font-size:24px;color:#d5e8bc}.touch-button>span{font-size:8px;margin-top:2px;color:#a3bb88}.touch-button.drive-touch{background:var(--lime);color:#294117;width:83px;border-color:var(--lime)}.touch-button.drive-touch>span{color:#49632d}.touch-button.pressed{background:#536f37;border-color:#b5d47b;transform:translateY(1px)}}@media(max-width:470px){.toolbar h1{font-size:11px}.toolbar{padding:0 9px;min-height:43px;height:43px}.toolbar-button{padding:6px 7px}.toolbar-button span{display:none}.toolbar-button svg{width:17px}.toolbar-divider{display:none}.icon-button{width:31px;height:31px}.scoreboard{gap:11px;grid-template-columns:1fr 88px 1fr;padding:8px 12px;height:82px;min-height:82px}.team{gap:8px}.team-info{min-width:57px}.team h2{font-size:23px}.point-value{font-size:42px;min-width:33px}.player-tag{font-size:6px;letter-spacing:.5px}.power-caption{font-size:6px}.touches{letter-spacing:1px}.games-score{gap:5px}.games-score>span{min-width:17px;font-size:21px}.games-score small{font-size:5px}.match-rule{font-size:7px}.match-strip{padding:0 12px;height:31px;min-height:31px;font-size:7px}.strip-stats{font-size:8px;gap:13px}.strip-stats>span{gap:4px}#phase-label,#court-label{min-width:45px}.serve-prompt{top:13%;padding:7px 12px;border-radius:4px}.serve-prompt h3{font-size:11px;margin-bottom:5px}.serve-prompt p{font-size:8px}.serve-prompt kbd{height:18px;font-size:7px}.touch-controls{gap:6px;padding:9px 10px max(10px,env(safe-area-inset-bottom))}.movement-buttons,.shot-buttons{gap:5px}.touch-button{height:58px;min-width:44px;font-size:24px}.touch-button.drive-touch{width:60px}.touch-button>span{font-size:7px}.callout{top:12%;gap:3px;padding:6px 11px}.callout strong{font-size:19px}.callout>span{font-size:7px}.pause-overlay{gap:8px}.pause-overlay h3{font-size:27px;margin-bottom:0}.pause-overlay .primary-button{min-height:31px;padding:7px 13px;font-size:10px}.pause-overlay .text-button{font-size:9px;padding:4px}.pause-overlay svg{width:13px}dialog{padding:25px 20px}dialog h2{font-size:20px;margin-bottom:23px}.keyboard-table{font-size:10px}.keyboard-table td:first-child{font-size:9px}.keyboard-table kbd{font-size:8px;min-width:20px;height:22px;padding:0 4px}.keyboard-table td{padding-right:4px}.settings-bottom{gap:12px}.toggles{font-size:9px}select{font-size:10px;padding-left:7px;padding-right:14px}.court-swatch{height:35px}.option>span{font-size:10px}.option small{font-size:8px}.option strong{font-size:10px}.settings-links{gap:8px}.settings-links a,.settings-links button{font-size:9px}.shortcuts{font-size:8px;gap:5px}.shortcuts span{margin:0 1px}}@media(max-height:520px)and (orientation:landscape){.toolbar{height:35px;min-height:35px}.toolbar h1{font-size:11px}.toolbar-button{font-size:9px;padding:4px 7px}.toolbar-button svg,.icon-button svg{width:14px}.icon-button{height:27px;width:28px}.scoreboard{height:62px;min-height:62px;padding:5px 20px;gap:27px;grid-template-columns:minmax(120px,210px) 110px minmax(120px,210px)}.team h2{font-size:20px;margin-bottom:5px}.point-value{font-size:40px}.player-tag{font-size:6px;height:8px}.power-caption{font-size:5px}.games-score{margin-bottom:2px}.games-score>span{font-size:21px}.match-rule{font-size:7px}.match-strip{height:23px;min-height:23px;font-size:7px}.strip-stats{font-size:8px}.touch-controls{position:absolute;left:0;right:0;bottom:35px;border:0;background:none;pointer-events:none;padding:0 13px}.movement-buttons,.shot-buttons{pointer-events:auto}.touch-button{min-width:43px;height:48px;font-size:20px;background:#24371ccf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.touch-button.drive-touch{width:55px}.touch-button>span{font-size:6px}#app:fullscreen .scoreboard,.immersive .scoreboard{height:60px;min-height:60px}#app:fullscreen .toolbar,.immersive .toolbar{height:32px;min-height:32px}}html,body{overscroll-behavior:none}#app{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.orientation-option{margin-top:20px}.settings-links{flex-wrap:wrap}.touch-help{display:none;font-size:12px;line-height:1.7;color:#b7c8a9;margin-bottom:24px}.native-app .touch-help{display:block}@media(pointer:coarse){.touch-help{display:block}.toolbar{min-height:48px;height:48px}.toolbar .icon-button,.toolbar .toolbar-button{width:44px;height:44px;justify-content:center;padding:8px}.toolbar-button span,.toolbar-divider{display:none}.dialog-close{width:44px;height:44px;top:8px;right:8px}.settings-links button,.settings-links a{min-height:40px;display:inline-flex;align-items:center}.touch-controls{padding:12px max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.mobile-simple .touch-button{width:76px;height:68px;border-radius:12px}.mobile-simple .drive-touch{width:108px}.touch-button{-webkit-touch-callout:none}}@media(pointer:coarse)and (orientation:portrait){body.court-3d #app{position:relative}body.court-3d .toolbar,body.court-3d #app:fullscreen .toolbar,body.court-3d .immersive .toolbar{position:absolute;z-index:6;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));height:auto;min-height:0;padding:0;border:0;background:none}body.court-3d .toolbar h1,body.court-3d #layout-button,body.court-3d #sound,body.court-3d .toolbar-divider{display:none}body.court-3d .toolbar-actions{gap:8px}body.court-3d .toolbar .icon-button,body.court-3d .toolbar .toolbar-button{width:44px;height:44px;padding:0;justify-content:center;border-radius:12px;background:#10201bcc;border:1px solid #ffffff1c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}body.court-3d .toolbar svg{width:19px;height:19px}body.court-3d .match-strip{justify-content:center;height:26px;min-height:26px;border-top:0;background:none}body.court-3d #phase-label,body.court-3d #court-label{display:none}body.court-3d .strip-stats{font-size:12px;gap:16px;color:#b8cbb2}}@media(pointer:coarse)and (orientation:landscape)and (max-height:650px){#app{position:relative}.toolbar,#app:fullscreen .toolbar,.immersive .toolbar{position:absolute;top:max(6px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));z-index:4;height:44px;min-height:44px;padding:0;border:0;background:#142019d9;border-radius:9px}.toolbar h1,#layout-button,#sound,.toolbar-divider{display:none}.toolbar-actions{gap:2px}.toolbar .icon-button,.toolbar .toolbar-button{width:44px;height:44px}.toolbar svg,.toolbar .icon-button svg{width:19px;height:19px}main,.match{position:static}.scoreboard,#app:fullscreen .scoreboard,.immersive .scoreboard{position:absolute;z-index:3;top:max(6px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));width:min(440px,calc(100% - 170px));height:52px;min-height:52px;grid-template-columns:minmax(70px,1fr) 65px minmax(70px,1fr);gap:12px;padding:6px 12px;background:#142019d9;border:1px solid #bfd79920;border-radius:9px}.team{gap:10px}.team-info{min-width:44px}.team h2,#app:fullscreen .team h2,.immersive .team h2{font-size:18px;margin-bottom:4px}.point-value,#app:fullscreen .point-value,.immersive .point-value{font-size:33px;min-width:30px}.player-tag{display:none}.power-caption{font-size:5px;margin-top:3px}.score-center{padding:0 3px;border-color:#93ac7440}.games-score{gap:4px;margin:0}.games-score>span{min-width:12px;font-size:20px}.games-score small{font-size:5px;letter-spacing:.4px}.match-rule{display:none}.stage{width:100%;height:100%}.match-strip,#app:fullscreen .match-strip,.immersive .match-strip{position:absolute;z-index:2;left:50%;transform:translate(-50%);bottom:max(10px,env(safe-area-inset-bottom));height:24px;min-height:24px;width:max-content;padding:0 12px;background:#142019b8;border:0;border-radius:7px}#phase-label,#court-label{display:none}.strip-stats{font-size:9px;gap:14px}.touch-controls{position:absolute;z-index:3;left:0;right:0;bottom:max(12px,env(safe-area-inset-bottom));padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));background:none;border:0;pointer-events:none}.movement-buttons,.shot-buttons{pointer-events:auto;gap:8px}.touch-button,.mobile-simple .touch-button{height:clamp(56px,17vh,78px);width:70px;min-width:48px;border-radius:12px;font-size:28px;background:#233a22df}.touch-button.drive-touch,.mobile-simple .touch-button.drive-touch{width:96px;background:var(--lime)}.touch-button>span{font-size:9px}.touch-button.pressed{background:#597b32}.serve-prompt{top:26%}.callout{top:22%}dialog{max-height:calc(100dvh - 16px)}}.match{position:relative}.broadcast-score{position:absolute;z-index:3;left:16px;top:14px;width:196px;padding:5px 7px 6px;border:1px solid #69918c38;border-radius:8px;background:#101f24ed;box-shadow:0 5px 22px #07131540;pointer-events:none;font-variant-numeric:tabular-nums}.score-labels,.score-row{display:grid;grid-template-columns:minmax(0,1fr) 25px 34px;align-items:center}.score-labels{height:17px;font-size:8px;color:#7e9d9f;text-align:center;letter-spacing:.6px}.score-labels>span:first-child{text-align:left;color:#b0c6c1;font-size:9px;letter-spacing:0;padding-left:4px;white-space:nowrap}.score-row{height:29px;margin-top:2px;border-radius:3px;overflow:hidden}.score-name{position:relative;padding:1px 9px 5px 16px;min-width:0}.score-name b{font-size:12px;font-weight:600;letter-spacing:.1px;color:#ecf1e6}.score-name .serve-dot{position:absolute;left:3px;top:7px;width:5px;height:5px;background:var(--lime)}.score-name .power-track{position:absolute;left:16px;right:9px;bottom:0;height:2px;background:#365055;border-radius:0}.score-points{height:29px;display:grid;place-items:center;background:#31555845;font:600 22px/1 Barlow Condensed;color:var(--lime)}.score-games{font-size:13px;text-align:center;color:#b5cac6}.side-2 .score-points{color:var(--orange)}.side-2 .power-track>span,.side-2 .serve-dot{background:var(--orange)}.serve-prompt{border-radius:10px;background:#10282bcc;border-color:#8baaaa30;box-shadow:0 8px 30px #10212315}.callout{background:#102328e8;border-radius:8px}#settings-dialog{padding:0;width:560px;max-height:calc(100dvh - 28px);height:min(660px,calc(100dvh - 28px));overflow:hidden;background:#142329;border:1px solid #39545a;border-radius:18px;box-shadow:0 24px 120px #0009}#settings-dialog[open]{display:flex;flex-direction:column}.settings-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 22px 12px;flex-shrink:0}#settings-dialog h2{margin:0;font-size:24px;letter-spacing:-.7px}#settings-dialog .dialog-close{position:static;background:#21353b;width:40px;height:40px;border:1px solid #3b555b;border-radius:10px}.settings-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 22px 15px;flex-shrink:0}.settings-tabs button{min-height:42px;background:#20353b;border:1px solid #385158;border-radius:8px;color:#a8c0be;font-size:12px;font-weight:600}.settings-tabs button[aria-selected=true]{background:var(--lime);border-color:var(--lime);color:#142329}#settings-form{display:flex;flex-direction:column;min-height:0;flex:1}.settings-scroll{min-height:0;flex:1;overflow-y:auto;padding:0 22px 8px;overscroll-behavior:contain;scrollbar-color:#426467 #142329;scrollbar-width:thin}#settings-dialog fieldset{margin:0 0 19px}#settings-dialog legend{font-size:12px;font-weight:600;color:#b7cfca;margin-bottom:10px}#settings-dialog .option>span{border:1px solid #365259;background:#20353b;border-radius:9px;color:#c8d9d4;padding:12px;text-align:center;min-height:44px;justify-content:center;gap:4px}#settings-dialog .option input:checked+span{background:#314c42;border-color:var(--lime);color:#ebf6c4;box-shadow:inset 0 0 0 1px #d8ff6228}#settings-dialog .option strong{font-size:12px;font-weight:600}#settings-dialog .option small{font-size:10px;color:#9db8b5}#settings-dialog .court-options .option>span{padding:5px 5px 10px;gap:5px}#settings-dialog .court-swatch{height:64px;margin:0 0 3px;border-radius:5px;background:repeating-linear-gradient(90deg,#34775f 0 18px,#3b816a 18px 36px)}#settings-dialog .court-swatch.clay{background:repeating-linear-gradient(90deg,#a86948 0 18px,#bc8159 18px 36px)}#settings-dialog .court-swatch.neon{background:repeating-linear-gradient(90deg,#315c7c 0 18px,#3b6c89 18px 36px)}#settings-dialog .court-swatch:before{inset:12px 16px}#settings-dialog .match-length{flex-direction:row;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:#b7cfca}#settings-dialog select{background:#20353b;border-color:#385158;color:#d9e6df;min-height:42px;border-radius:8px;padding-right:24px;font-size:12px}.setting-hint,#settings-dialog .settings-note{font-size:11px;line-height:1.6;color:#8facad;margin:10px 0}.settings-toggles{display:flex;flex-direction:column;gap:9px}.settings-toggles label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;background:#1b3036;border:1px solid #30494e;border-radius:10px;cursor:pointer;min-height:65px}.settings-toggles label>span{display:flex;flex-direction:column;gap:4px}.settings-toggles strong{font-size:13px;font-weight:500}.settings-toggles small{font-size:11px;color:#91acab}.settings-toggles input{appearance:none;flex:0 0 38px;width:38px;height:22px;background:#486166;border-radius:20px;position:relative;cursor:pointer;transition:background .15s}.settings-toggles input:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#c4d3d0;transition:transform .15s}.settings-toggles input:checked{background:var(--lime)}.settings-toggles input:checked:before{transform:translate(16px);background:#19322b}.settings-footer{display:flex;justify-content:space-between;gap:12px;padding:13px 22px 18px;border-top:1px solid #30474d;background:#142329;flex-shrink:0}.settings-footer>button{flex:1;min-height:46px;border-radius:9px;justify-content:center;font-size:12px}.secondary-button,.settings-help{background:#20353b;border:1px solid #385158;border-radius:9px;color:#b5cdc8;padding:12px;font-size:12px}.settings-help{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:46px;margin-top:18px}#settings-dialog .settings-links{border-color:#30494e;margin-top:22px;gap:14px;justify-content:flex-start}#settings-dialog .settings-links a,#settings-dialog .settings-links button{font-size:11px;color:#91b4b1}@media(pointer:coarse){.broadcast-score{left:max(12px,env(safe-area-inset-left));top:12px;width:184px}.match{position:relative}}@media(pointer:coarse)and (orientation:portrait){.serve-prompt,.callout{top:max(116px,27%)}.pause-overlay{z-index:4}}@media(pointer:coarse)and (orientation:landscape)and (max-height:650px){.match{position:static}.broadcast-score{top:max(8px,env(safe-area-inset-top));width:180px}.score-row{height:26px}.score-points{height:26px;font-size:20px}.score-labels{height:15px}.serve-prompt{top:24%}}@media(max-width:470px){.settings-heading{padding:12px 16px 10px}.settings-tabs{margin:0 16px 12px}.settings-scroll{padding:0 16px 8px}.settings-footer{padding:12px 16px}.broadcast-score{width:178px}#settings-dialog .court-swatch{height:54px}#settings-dialog .option>span{padding:10px 5px}#settings-dialog .option small{font-size:9px}}@media(max-height:520px){.settings-heading{padding-top:9px;padding-bottom:8px}#settings-dialog h2{font-size:20px}#settings-dialog .dialog-close{width:34px;height:34px}.settings-tabs{margin-bottom:10px}.settings-tabs button{min-height:36px}.settings-footer{padding-top:9px;padding-bottom:10px}.settings-footer>button{min-height:40px}}body:not(.court-3d) .arena .serve-prompt,body:not(.court-3d) .arena .callout{top:35%}@media(orientation:portrait){body:not(.court-3d) .arena .serve-prompt,body:not(.court-3d) .arena .callout{top:24%}}.settings-tabs{grid-template-columns:repeat(4,1fr)}.level-options{display:grid;gap:7px}.level-options .option>span{align-items:flex-start!important;text-align:left!important;padding:10px 12px!important}.level-options small{line-height:1.5}.roster{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.roster-option{position:relative;cursor:pointer;min-width:0}.roster-option input{position:absolute;opacity:0;width:100%;height:100%;inset:0;z-index:2;cursor:pointer}.player-card{display:flex;position:relative;flex-direction:column;align-items:center;background:linear-gradient(135deg,#f4e3ab,#b8924c 48%,#e8d196);border:2px solid #ddc178;clip-path:polygon(0 0,100% 0,100% 91%,50% 100%,0 91%);padding:10px 8px 22px;color:#332d23;min-height:201px}.roster-option input:checked+.player-card{background:linear-gradient(135deg,#edffc2,#a4c752 48%,#e0efb6);border-color:var(--lime)}.roster-option input:focus-visible+.player-card{outline:3px solid white;outline-offset:-5px}.card-rating{position:absolute;top:11px;left:10px;font:700 30px/1 Barlow Condensed;display:flex;flex-direction:column}.card-rating small{font:600 9px DM Sans;margin-top:2px}.card-portrait{width:100%;height:105px;margin-top:12px}.player-card>strong{text-align:center;font:600 14px Barlow Condensed;line-height:1.15;min-height:31px;display:grid;place-items:center}.card-stats{display:flex;width:100%;justify-content:space-around;border-top:1px solid #775d3c55;padding-top:7px;margin-top:6px}.card-stats b{font-size:12px;display:flex;flex-direction:column;align-items:center}.card-stats small{font-size:7px;font-weight:500;margin-top:2px}.score-name b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.back-touch{display:none}.save-touch{font-size:21px!important;width:65px!important;min-width:50px!important;color:#b5e7ff!important;background:#22434e!important;border-color:#548390!important}.save-touch:disabled{opacity:.35}.save-touch span{font-size:8px!important;color:#c4e6ec!important}.pause-overlay{z-index:5}.control-guide{display:grid;gap:9px;margin-bottom:18px}.control-guide>div{padding:13px;background:#243d40;border:1px solid #466167;border-radius:10px}.control-guide b{font-size:10px;color:#c7e58c;letter-spacing:1px}.control-guide p{font-size:12px;line-height:1.6;margin-top:5px;color:#c0d4d2}#rules-dialog{background:#14272e;border-color:#466167}#rules-dialog .setting-hint{margin:12px 0}.court-3d .keyboard-table,.court-3d .dialog-intro,.court-3d .touch-help{display:none}.court-3d .serve-prompt{top:35%;padding:8px 14px}.court-3d .callout{top:26%}@media(pointer:coarse){.mobile-simple .touch-button{width:62px}.mobile-simple .drive-touch{width:83px}.movement-buttons,.shot-buttons{gap:5px}.touch-controls{padding-left:10px;padding-right:10px}.court-3d .movement-buttons{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:44px 44px;gap:4px}.court-3d .movement-buttons .touch-button{display:flex;width:44px;height:44px;min-width:44px;font-size:23px}.court-3d .movement-buttons .touch-button span{display:none}.court-3d [data-key=KeyW]{grid-column:2;grid-row:1}.court-3d [data-key=KeyA]{grid-column:1;grid-row:2}.court-3d [data-key=KeyS]{grid-column:2;grid-row:2}.court-3d [data-key=KeyD]{grid-column:3;grid-row:2}.court-3d .shot-buttons{align-items:center}.court-3d .touch-button.drive-touch{height:76px}}@media(max-width:420px){.roster{grid-template-columns:repeat(2,1fr)}.touch-controls{gap:6px}.save-touch{width:59px!important}}@media(max-height:500px){.court-3d .movement-buttons{grid-template-columns:repeat(3,38px);grid-template-rows:38px 38px}.court-3d .movement-buttons .touch-button{width:38px;height:38px;min-width:38px}}.desktop-save{position:absolute;z-index:3;right:16px;bottom:48px;display:flex;align-items:center;gap:12px;background:#22434e;border:1px solid #548390;border-radius:8px;padding:8px 12px;font-size:11px;color:#c4e6ec}.desktop-save:disabled{opacity:.35}@media(pointer:coarse){.desktop-save{display:none}}.court-rule{display:none}.court-3d .court-rule{display:block}.court-3d .classic-rule{display:none}.broadcast-score{width:max-content;max-width:calc(100% - 28px);padding:7px 10px 5px;border-radius:12px;background:#0e202de8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.score-line{display:flex;align-items:center;gap:7px;height:24px;white-space:nowrap}.score-line>b{font-size:11px;max-width:86px;overflow:hidden;text-overflow:ellipsis;font-weight:600}.score-line>#name-1{color:#d6ff6a}.score-line>#name-2{color:#ffb097}.score-line .serve-dot{position:static;flex:none;width:4px;height:4px;margin:0;background:#d6ff6a}.score-line #serve-2{background:#ffb097}.games-pair{display:flex;align-items:center;gap:7px;font:700 22px/1 Barlow Condensed;padding:0 3px}.games-pair em{font:400 12px DM Sans;color:#789198}.points-pair{display:flex;align-items:center;gap:4px;border-left:1px solid #55707966;padding-left:9px;font-size:12px;font-weight:700}.points-pair small{font-size:7px;font-weight:500;color:#98afb4;margin-right:3px}.points-pair i{font-style:normal;color:#829aa1}.score-resources{display:flex;align-items:center;gap:11px;color:#96b0b8;font-size:8px;line-height:15px;white-space:nowrap}.score-resources span:first-child{color:#c8dadd}.touch-controls{--unit:58px;display:none;position:absolute;bottom:46px;right:16px;z-index:3;padding:0;background:none;border:0;pointer-events:none}.movement-buttons{display:none}.shot-buttons{display:flex;gap:6px;align-items:flex-end;pointer-events:auto}body .touch-controls .touch-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:none;width:var(--unit)!important;min-width:0!important;height:70px!important;padding:7px 2px 5px;border:1px solid #54708166;border-radius:22px!important;background:linear-gradient(150deg,#2b4354eb,#102435ed)!important;color:#e1edf1!important;box-shadow:inset 0 1px #bfd8e926,0 4px 10px #06131a30;transition:transform .1s,border-color .15s;touch-action:none;-webkit-tap-highlight-color:transparent}body .touch-controls .touch-button svg{width:25px;height:25px;flex:none;filter:drop-shadow(0 1px 1px #07192050)}body .touch-controls .touch-button>span{font:600 8px/1.2 DM Sans!important;color:inherit!important;white-space:nowrap}body .touch-controls .control-count{position:absolute;top:3px;right:4px;display:grid;place-items:center;height:15px;min-width:15px;padding:0 3px;border-radius:9px;font:600 9px/1 DM Sans;background:#0d2134;color:inherit}.control-count:empty{display:none!important}body .touch-controls .racket-touch{color:#d6b6ff!important;border-color:#9979c06b!important}body .touch-controls .mega-touch{color:#ffb17e!important;border-color:#d390606b!important}.mega-touch:after{content:"";position:absolute;width:34px;height:34px;left:50%;top:calc(50% - 25px);transform:translate(-50%);border-radius:50%;border:1.5px solid transparent;background:conic-gradient(#ffb17e var(--recharge,100%),#6b4a3344 0) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}body .touch-controls .save-touch{color:#95e7f5!important;border-color:#67c5d06b!important;background:linear-gradient(150deg,#245563ed,#123340ed)!important}body .touch-controls .save-touch:disabled{opacity:.78}.save-touch:after{content:"";position:absolute;width:34px;height:34px;left:50%;top:calc(50% - 25px);transform:translate(-50%);border-radius:50%;border:1.5px solid transparent;background:conic-gradient(#95e7f5 var(--recharge,100%),#40677844 0) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}body .touch-controls .drive-touch{width:calc(var(--unit) + 10px)!important;height:78px!important;border-color:#d5ff75!important;background:linear-gradient(140deg,#d6ff73,#a8d849)!important;color:#1d361c!important;box-shadow:inset 0 2px #efffc580,0 4px 14px #0a17184a}body .touch-controls .touch-button:disabled:not(.save-touch){opacity:.35;box-shadow:none}body .touch-controls .touch-button.pressed,body .touch-controls .touch-button:active{transform:translateY(2px) scale(.97);border-color:currentColor!important}body .touch-controls .touch-button.armed{border-color:currentColor!important;box-shadow:0 0 0 2px currentColor,inset 0 0 18px #fff2}body.mobile-simple .touch-controls .extra-touch{display:none}body:not(.mobile-simple) .touch-controls .extra-touch{display:flex}body .touch-controls .forward-touch,body .touch-controls .back-touch{display:none}.court-3d .keyboard-table{display:table}.court-3d .touch-help{display:block}@media(pointer:coarse){.touch-controls{--unit:54px;display:flex;position:relative;inset:auto;width:100%;justify-content:space-between;align-items:flex-end;padding:8px max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));gap:6px;flex-shrink:0}.movement-buttons{display:flex;gap:6px;pointer-events:auto;padding:4px;background:#0d243275;border:1px solid #7b9daf30;border-radius:28px}body .movement-buttons .touch-button{width:52px!important;height:58px!important;border-radius:22px!important}.movement-buttons .touch-button>span{display:none!important}.shot-buttons{display:grid;grid-template-columns:repeat(3,var(--unit));grid-template-rows:58px 66px;gap:5px;align-items:end}body .shot-buttons .touch-button{height:58px!important;border-radius:20px!important}.shot-buttons .racket-touch{grid-column:1;grid-row:2}.shot-buttons .jump-touch{grid-column:3;grid-row:1}.shot-buttons .mega-touch{grid-column:2;grid-row:1}.shot-buttons .save-touch{grid-column:2;grid-row:2}body .shot-buttons .drive-touch{grid-column:3;grid-row:2;width:var(--unit)!important;height:66px!important}body:not(.mobile-simple) .shot-buttons{grid-template-rows:58px 58px 66px}.extra-touch[data-key=KeyG]{grid-column:1;grid-row:1}.extra-touch[data-key=ShiftLeft]{grid-column:1;grid-row:2}body:not(.mobile-simple) .shot-buttons .racket-touch,body:not(.mobile-simple) .shot-buttons .save-touch,body:not(.mobile-simple) .shot-buttons .drive-touch{grid-row:3}body:not(.mobile-simple) .shot-buttons .jump-touch,body:not(.mobile-simple) .shot-buttons .mega-touch{grid-row:2}.court-3d .movement-buttons{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,42px);gap:0;padding:0;border:0;background:none;border-radius:0;position:relative}.court-3d .movement-buttons:after{content:"";position:absolute;left:58px;top:58px;width:10px;height:10px;border-radius:50%;background:#799aad44}body.court-3d .movement-buttons .touch-button{display:flex;width:42px!important;height:42px!important;border-radius:16px!important}.court-3d .movement-buttons [data-key=KeyW]{grid-column:2;grid-row:1}.court-3d .movement-buttons [data-key=KeyS]{grid-column:2;grid-row:3}.court-3d .movement-buttons [data-key=KeyA]{grid-column:1;grid-row:2}.court-3d .movement-buttons [data-key=KeyD]{grid-column:3;grid-row:2}.broadcast-score{left:10px;top:8px;max-width:calc(100% - 20px)}}@media(pointer:coarse)and (max-width:355px){.touch-controls{--unit:48px;gap:4px;padding-left:8px;padding-right:8px}.shot-buttons{gap:3px}.score-line{gap:5px}.score-line>b{max-width:65px}}@media(pointer:coarse)and (orientation:landscape)and (max-height:650px){.touch-controls{--unit:54px;position:absolute;inset:auto 0 max(8px,env(safe-area-inset-bottom));padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));align-items:flex-end}.shot-buttons,body:not(.mobile-simple) .shot-buttons{display:flex;gap:6px;align-items:flex-end}body .shot-buttons .touch-button{height:64px!important}body .shot-buttons .drive-touch{height:74px!important;width:68px!important}.broadcast-score{max-width:calc(100% - 165px)}.score-line>b{max-width:100px}.match-strip{display:none!important}}.strip-left{display:flex;align-items:center;gap:12px;min-width:85px}.movement-group{display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}.movement-group .movement-buttons{pointer-events:auto}@media(pointer:coarse){.touch-controls{padding-left:max(4px,env(safe-area-inset-left))!important}.movement-buttons{gap:4px;padding:5px;background:linear-gradient(160deg,#1a3141e8,#0c1d2bef);border:1px solid #8fb4c73a;border-radius:30px;box-shadow:0 6px 18px #06121a55,inset 0 1px #cfe6f22a}body .movement-buttons .touch-button{width:60px!important;height:66px!important;border-radius:24px!important;background:linear-gradient(160deg,#2f4a5ce8,#152a3aef)!important;border-color:#6f93a655!important}body .movement-buttons .touch-button svg{width:30px;height:30px;stroke-width:2.2}body .movement-buttons .touch-button.pressed{background:linear-gradient(160deg,#5e8ea8,#2c5670)!important;border-color:#bfe3f5!important;box-shadow:0 0 0 2px #8fd0ee66}}@media(pointer:coarse)and (orientation:landscape)and (max-height:650px){.touch-controls{padding-left:max(4px,env(safe-area-inset-left))!important}.movement-group{flex-direction:row;align-items:flex-end;gap:10px}body .movement-buttons .touch-button{height:62px!important}}#app{position:relative}:root{--gold:#ffd66b}.front{--panel:#12242ae6;--edge:#35535a;--ink:#e9f1e4;--soft:#9db8b4;--gold:#ffd66b;position:absolute;inset:0;z-index:20;display:flex;overflow:hidden;overflow:clip;color:var(--ink);background:radial-gradient(ellipse 70% 60% at 18% 15%,#2c5a3f55,transparent 70%),radial-gradient(ellipse 60% 50% at 90% 100%,#ff9b7622,transparent 70%),linear-gradient(180deg,#08130fb8,#07100ded);backdrop-filter:blur(9px) saturate(1.15);-webkit-backdrop-filter:blur(9px) saturate(1.15);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.front:before{content:"";position:absolute;inset:-10%;pointer-events:none;opacity:.07;background:linear-gradient(90deg,transparent calc(50% - 1px),#d8ff62 calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),radial-gradient(circle at 50% 50%,transparent 17%,#d8ff62 17% calc(17% + 2px),transparent calc(17% + 2px));transform:perspective(900px) rotateX(58deg) translateY(18%)}.front-screen{position:relative;flex:1;display:flex;min-width:0;min-height:0;animation:front-in .32s cubic-bezier(.2,.8,.2,1)}@keyframes front-in{0%{opacity:0;transform:translateY(10px)}}.front button{min-height:44px}.front .icon-button{width:44px;height:44px;border-radius:12px;background:#ffffff0d;color:var(--soft)}.front-corner{position:absolute;top:14px;right:16px;z-index:2}.front-eyebrow{font:600 12px/1 DM Sans;letter-spacing:3px;text-transform:uppercase;color:var(--soft)}.title-screen{align-items:center;justify-content:center;gap:clamp(28px,7vw,110px);padding:24px clamp(20px,5vw,72px) 64px}.title-brand{display:flex;flex-direction:column;gap:14px;min-width:0}.wordmark{display:flex;flex-direction:column;margin:0;font:700 clamp(64px,min(12.5vw,21vh),184px)/.8 "Barlow Condensed",sans-serif;letter-spacing:-.01em;transform:skew(-7deg);transform-origin:left bottom}.wordmark span:first-child{color:var(--lime);text-shadow:0 0 40px #d8ff6240}.wordmark span:last-child{color:#f4f7ee;-webkit-text-stroke:0}.wordmark span{animation:mark-in .6s cubic-bezier(.2,.9,.2,1) both}.wordmark span+span{animation-delay:.08s}@keyframes mark-in{0%{opacity:0;transform:translate(-24px)}}.tagline{font:500 clamp(15px,1.6vw,20px)/1.3 "DM Sans";color:#cfe0c8}.title-menu{display:flex;flex-direction:column;gap:10px;width:min(400px,100%);flex:none}.menu-item{display:grid;grid-template-columns:44px 1fr 18px;align-items:center;gap:14px;width:100%;min-height:66px!important;padding:10px 16px 10px 12px;text-align:left;border-radius:16px;border:1px solid var(--edge);background:var(--panel);color:var(--ink);box-shadow:0 8px 24px #0004;transition:transform .15s,border-color .15s,background .15s;animation:item-in .45s cubic-bezier(.2,.8,.2,1) both}.menu-item:nth-child(2){animation-delay:.05s}.menu-item:nth-child(3){animation-delay:.1s}.menu-item:nth-child(4){animation-delay:.15s}@keyframes item-in{0%{opacity:0;transform:translate(18px)}}.menu-item:hover,.menu-item:focus-visible{transform:translate(4px);border-color:var(--lime);background:#183139f0}.menu-item:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.menu-item>svg{width:18px;height:18px;opacity:.6}.mi-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#d8ff6214;color:var(--lime)}.mi-icon svg{width:22px;height:22px}.mi-text{display:flex;flex-direction:column;gap:3px;min-width:0}.mi-text strong{font:700 22px/1 Barlow Condensed;letter-spacing:.4px;text-transform:uppercase}.mi-text small{font-size:12px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-item.primary{background:linear-gradient(135deg,#dcff72,#bde653);border-color:#e7ff9c;color:#16290f;box-shadow:0 8px 22px #b9ea4f26}.menu-item.primary .mi-icon{background:#16290f;color:var(--lime)}.menu-item.primary small{color:#345220}.menu-item.primary>svg{opacity:1}.menu-item.primary:hover,.menu-item.primary:focus-visible{background:linear-gradient(135deg,#ecffa8,#c3ec5f);border-color:#fff}.menu-item.compact{min-height:50px!important;padding:6px 14px 6px 8px;grid-template-columns:36px 1fr 16px;gap:10px;border-radius:13px;box-shadow:0 4px 14px #0003}.menu-item.compact .mi-icon{width:36px;height:36px;border-radius:10px}.menu-item.compact .mi-icon svg{width:18px;height:18px}.menu-item.compact .mi-text strong{font-size:18px}.menu-item.compact .mi-text small{font-size:11px}.menu-item.compact>svg{width:15px;height:15px;opacity:.5}.menu-group{display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--edge);background:var(--panel);box-shadow:0 8px 24px #0003;overflow:hidden;animation:item-in .45s cubic-bezier(.2,.8,.2,1) .1s both}.menu-group .menu-item.compact{border:0;border-radius:0;background:none;box-shadow:none;animation:none;min-height:56px!important;padding:8px 14px 8px 10px}.menu-group .menu-item.compact+.menu-item{box-shadow:inset 0 1px #ffffff12}.menu-group .menu-item.compact:hover,.menu-group .menu-item.compact:focus-visible{transform:none;background:#ffffff0a}.menu-group .menu-item.compact:focus-visible{outline-offset:-2px}.menu-group .mi-icon{background:#ffffff0a}.menu-group .mi-text strong{font-size:17px;letter-spacing:.8px}.title-foot{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:10px 28px;flex-wrap:wrap;padding:10px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid #ffffff0f;background:linear-gradient(0deg,#050c0acc,#050c0a00)}.title-foot .title-links{margin:0}.menu-pad-hints{display:none;margin:0;gap:14px;font:500 12px/1 DM Sans,sans-serif;color:#b9cfc9}.menu-pad-hints span{display:inline-flex;align-items:center;gap:6px}body.pad-used .menu-pad-hints,body.pad-used .menu-pad-hints .pad-glyph{display:inline-flex}.front-head .menu-pad-hints{margin-left:auto}.front-head-note+.menu-pad-hints{margin-left:18px}.view-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:13px;border:1px solid var(--edge);background:#ffffff10;animation:item-in .45s cubic-bezier(.2,.8,.2,1) both}.view-switch button{min-height:44px;border:0;border-radius:10px;background:none;color:var(--ink);font:600 14px/1 DM Sans;cursor:pointer}.view-switch button[aria-pressed=true]{background:#ffffff1c;color:var(--ink);font-weight:700;box-shadow:inset 0 0 0 1px #d8ff6266,0 2px 6px #0003}.view-switch button[aria-pressed=true]:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--lime);vertical-align:1px}.view-switch button[aria-pressed=false]{color:var(--soft)}.view-switch button:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.view-hint{margin:-2px 0 0;font-size:12px;color:var(--soft);text-align:center}.pick-grid:has(.pick-view){grid-template-columns:1.25fr 1.5fr .75fr .55fr}.pick-view .seg-row{grid-template-columns:1fr 1fr}.seg>span{align-items:center;text-align:center}.title-links{display:flex;justify-content:center;gap:22px;margin-top:4px}.title-links .text-button{gap:8px;font-size:13px;color:#b9cfc9}.title-links svg{width:17px;height:17px}.select-screen,.tour-screen{flex-direction:column;width:min(1120px,100%);margin:0 auto;padding:18px clamp(16px,3vw,32px) 0}.front-head{display:flex;align-items:center;gap:14px;flex:none;padding-bottom:12px}.front-head h2{margin:0;font:700 34px/1 Barlow Condensed;text-transform:uppercase;letter-spacing:.5px}.front-head-note{margin-left:auto;font-size:12px;color:var(--soft);display:flex;align-items:center;gap:6px}.back-button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffffff10;border:1px solid var(--edge)!important;color:var(--ink)}.back-button:hover{border-color:var(--lime)!important;color:var(--lime)}.front-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#426467 transparent;padding:2px 2px 14px}.front-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding:12px 0 max(16px,env(safe-area-inset-bottom));border-top:1px solid #ffffff14}.matchup-line{display:flex;flex-direction:column;gap:3px;min-width:0;font:700 22px/1.05 Barlow Condensed;text-transform:uppercase}.matchup-line small{font:500 12px DM Sans;text-transform:none;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matchup-line .p1{color:var(--lime)}.matchup-line .p2{color:var(--orange)}.play-button{min-width:180px;min-height:54px!important;border-radius:14px;justify-content:center;font-size:15px;font-weight:700;letter-spacing:.3px;box-shadow:0 8px 26px #b9ea4f30}.play-button:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.front fieldset{border:0;margin:0;padding:0;min-width:0}.front legend{padding:0;margin-bottom:9px;font:600 11px DM Sans;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}.pick-cards{margin-bottom:16px}.card-row{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#426467 transparent}.card-row .roster-option{flex:none;scroll-snap-align:center;transition:transform .15s,opacity .15s;opacity:.72}.card-row .roster-option:has(input:checked){opacity:1;transform:translateY(-3px)}.card-row .roster-option:hover{opacity:1}.card-row .player-card,.vs-card .player-card,.detail-rival .player-card{zoom:.82;width:160px}.pick-grid{display:grid;grid-template-columns:1.25fr 1.5fr .8fr;gap:18px}.chip,.venue{position:relative;display:block;cursor:pointer;min-width:0}.chip input,.venue input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.chip>span{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:7px 12px;border-radius:12px;border:1px solid var(--edge);background:var(--panel);transition:border-color .15s,background .15s}.chip strong{font-size:13px;font-weight:600}.chip small{font-size:11px;color:var(--orange);opacity:.85}.chip input:checked+span,.venue input:checked+span{border-color:var(--lime);background:#27432f;box-shadow:inset 0 0 0 1px #d8ff6240}.chip input:focus-visible+span,.venue input:focus-visible+span{outline:2px solid var(--lime);outline-offset:2px}.chip:hover>span,.venue:hover>span{border-color:#6f9690}.level-row,.venue-row,.seg-row{display:grid;gap:7px}.seg>span{align-items:center;text-align:center;font-size:13px;color:#cfe0d8}.seg b{font:700 20px/1 Barlow Condensed;color:var(--ink);margin-left:3px}.venue-tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:baseline;min-height:56px;padding:9px 12px;border-radius:12px;border:1px solid var(--edge);background:linear-gradient(120deg,var(--v1),var(--v2));position:relative;overflow:hidden;transition:border-color .15s}.venue-tile:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,#ffffff08 0 16px,transparent 16px 32px);pointer-events:none}.venue-tile small{font:600 10px DM Sans;letter-spacing:1.5px;color:var(--va)}.venue-tile strong{font:700 20px/1 Barlow Condensed;text-transform:uppercase}.venue-tile em{grid-column:1/-1;font: 11px DM Sans;color:#ffffffb8;margin-top:3px}.turf{--v1:#3c6b51;--v2:#1f3a2e;--va:#d8ff62}.clay{--v1:#b57050;--v2:#5e3a2e;--va:#ffca8e}.neon{--v1:#385771;--v2:#1b2c3b;--va:#86e5ed}.p2-card{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border-radius:12px;border:1px solid #ff9b7655;background:#ff9b7612}.p2-card b{font:700 22px/1 Barlow Condensed;color:var(--orange);text-transform:uppercase}.p2-card small{font-size:12px;color:var(--soft)}.tour-route{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.tour-city{position:relative;padding:12px;border-radius:16px;background:var(--panel);border:1px solid var(--edge);border-top:3px solid var(--va)}.tour-city:not(:last-child):after{content:"";position:absolute;top:50%;right:-25px;width:24px;border-top:2px dashed #d8ff6255}.tour-city h3{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 2px 10px;font:700 24px/1 Barlow Condensed;text-transform:uppercase}.tour-city h3 small{font:500 11px DM Sans;text-transform:none;color:var(--va)}.tour-city ol{list-style:none;margin:0;padding:0;display:grid;gap:7px}.stage-node{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;width:100%;padding:7px 10px 7px 7px;border-radius:12px;border:1px solid #ffffff14;background:#ffffff08;text-align:left;transition:border-color .15s,background .15s}.stage-node:hover{border-color:#6f9690}.stage-node[aria-pressed=true]{border-color:var(--lime);background:#27432f;box-shadow:inset 0 0 0 1px #d8ff6240}.stage-num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0c1b1f;border:1px solid var(--va);font:700 17px Barlow Condensed;color:var(--va)}.stage-num svg{width:15px;height:15px}.stage-node.won .stage-num{background:var(--va);color:#10201a}.stage-node.locked{opacity:.5}.stage-node.locked .stage-num{border-color:#ffffff30;color:#ffffff90}.stage-text{display:flex;flex-direction:column;gap:2px;min-width:0}.stage-text strong{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-text small{font-size:11px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stars{display:inline-flex;gap:1px;color:#ffffff30}.stars i{display:grid}.stars svg{width:15px;height:15px}.stars i.on{color:var(--gold)}.stars i.on svg{fill:currentColor}.tour-lower{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}.detail-card{display:flex;gap:18px;align-items:center;height:100%;padding:14px 18px;border-radius:16px;border:1px solid var(--edge);background:linear-gradient(120deg,color-mix(in srgb,var(--v1) 45%,#12242a),#12242ae6 70%)}.detail-rival{flex:none}.detail-rival .player-card{zoom:.72}.detail-text{display:flex;flex-direction:column;gap:5px;min-width:0}.detail-kicker{font:600 11px DM Sans;letter-spacing:2px;text-transform:uppercase;color:var(--va)}.detail-text h3{margin:0;font:700 34px/1 Barlow Condensed;text-transform:uppercase}.detail-venue{font-size:13px;color:var(--ink)}.detail-sub{font-size:12px;color:var(--soft)}.detail-facts{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:6px 0 2px;padding:0}.detail-facts li{font-size:12px;padding:5px 9px;border-radius:20px;background:#ffffff10;color:#cfe0d8}.detail-facts b{color:var(--ink)}.detail-best{display:flex;align-items:center;gap:8px;margin-top:4px}.detail-best small{font-size:11px;color:var(--soft)}.detail-best .stars svg{width:18px;height:18px}.detail-locked{display:flex;align-items:center;gap:7px;font-size:12px;color:#ffb89e;margin-top:4px}.detail-locked svg{width:15px;height:15px}.career{padding:14px 16px;border-radius:16px;border:1px solid var(--edge);background:var(--panel)}.career h3{margin:0 0 10px;font:600 11px DM Sans;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}.career-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px}.career-grid div{display:flex;flex-direction:column;gap:2px}.career-grid b{font:700 26px/1 Barlow Condensed}.career-grid b small{font:500 11px DM Sans;color:var(--lime);margin-left:5px}.career-grid span{font-size:11px;color:var(--soft)}.trophy-screen{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px}.trophy-screen .wordmark{align-items:center;transform:skew(-7deg);transform-origin:center;font-size:clamp(52px,min(10vw,16vh),130px)}.trophy-screen .wordmark span:first-child{color:var(--gold);text-shadow:0 0 50px #ffd66b55}.trophy-glow{position:relative;display:grid;place-items:center;width:clamp(96px,18vh,150px);aspect-ratio:1;border-radius:50%;color:#3b2a06;background:radial-gradient(circle at 35% 30%,#fff3c4,#ffd66b 45%,#c98f1e);box-shadow:0 0 0 10px #ffd66b1c,0 0 90px #ffd66b66}.trophy-glow:before{content:"";position:absolute;inset:-60%;z-index:-1;border-radius:50%;background:repeating-conic-gradient(#ffd66b26 0 8deg,transparent 8deg 22deg);animation:rays 18s linear infinite}.trophy-glow svg{width:52%;height:52%;stroke-width:1.5}@keyframes rays{to{transform:rotate(360deg)}}.trophy-stars{font-size:13px;line-height:1.5;color:var(--soft);max-width:460px}.trophy-stars .stars{vertical-align:-3px;margin-right:4px}.trophy-actions{display:flex;gap:10px;margin-top:8px}.trophy-actions>button{min-height:50px!important;border-radius:14px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.intro{position:absolute;inset:0;z-index:25;display:grid;place-items:center;overflow:hidden;overflow:clip;color:#f3f7ee;cursor:pointer}.intro[data-phase=vs]{background:linear-gradient(100deg,#d8ff6230 0 30%,transparent 30% 70%,#ff9b7630 70%),linear-gradient(180deg,#071010d9,#071010f2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.intro[data-phase=count],.intro[data-phase=go]{background:radial-gradient(circle,#0710108c 0,#07101000 55%)}.intro[data-phase=go]{pointer-events:none}.intro:not([data-phase=vs]) .intro-vs{display:none}.intro-vs{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,3vh,28px);width:100%;padding:16px}.vs-stage{display:flex;align-items:center;justify-content:center;gap:clamp(12px,4vw,60px);width:100%}.vs-side{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;max-width:40%;text-align:center}.vs-side.p1{animation:vs-left .55s cubic-bezier(.2,.9,.2,1) both}.vs-side.p2{animation:vs-right .55s cubic-bezier(.2,.9,.2,1) both}@keyframes vs-left{0%{opacity:0;transform:translate(-60vw) skew(-8deg)}}@keyframes vs-right{0%{opacity:0;transform:translate(60vw) skew(8deg)}}.vs-tag{font:700 12px DM Sans;letter-spacing:3px;text-transform:uppercase;padding:4px 10px;border-radius:20px}.p1 .vs-tag{background:var(--lime);color:#16290f}.p2 .vs-tag{background:var(--orange);color:#3a160b}.vs-card .player-card{zoom:1;width:180px}.p1 .vs-card .player-card{border-color:var(--lime);box-shadow:0 0 0 2px #d8ff6240}.p2 .vs-card .player-card{border-color:var(--orange)}.vs-side>strong{font:700 clamp(20px,2.6vw,32px)/1 "Barlow Condensed";text-transform:uppercase}.vs-side.p1>strong{color:var(--lime)}.vs-side.p2>strong{color:var(--orange)}.vs-side>small{font-size:12px;color:#c3d3cc;font-style:italic}.vs-mid{display:flex;flex-direction:column;align-items:center;gap:8px}.vs-word{font:700 clamp(64px,9vw,120px)/.9 "Barlow Condensed";background:linear-gradient(120deg,var(--lime),#fff 50%,var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent;transform:skew(-8deg);animation:vs-pop .5s .35s cubic-bezier(.2,1.6,.4,1) both}@keyframes vs-pop{0%{opacity:0;transform:skew(-8deg) scale(2.4)}}.vs-badge{font:600 11px DM Sans;letter-spacing:2px;text-transform:uppercase;color:#cfe0d8;white-space:nowrap}.vs-band{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:10px 22px;border-radius:14px;background:linear-gradient(90deg,var(--v1),var(--v2));border-left:4px solid var(--va);animation:band-in .5s .5s cubic-bezier(.2,.9,.2,1) both;max-width:100%}.vs-band strong{font:700 24px/1 Barlow Condensed;text-transform:uppercase}.vs-band span{font-size:12px;letter-spacing:1px;color:#ffffffd0}.vs-band span:first-of-type{color:var(--va);font-weight:600;letter-spacing:2px}@keyframes band-in{0%{opacity:0;transform:translateY(20px)}}.vs-skip{font-size:11px;color:#ffffff70;animation:front-in .4s 1s both}.countdown{display:grid;place-items:center;pointer-events:none}.countdown b{font:700 clamp(110px,24vh,220px)/1 "Barlow Condensed";color:#fff;text-shadow:0 6px 40px #000a,0 0 2px #000;animation:count-pop .6s cubic-bezier(.2,1.4,.4,1) both;transform:skew(-7deg)}.countdown b.go{color:var(--lime);text-shadow:0 0 60px #d8ff6299,0 6px 30px #000a}@keyframes count-pop{0%{opacity:0;transform:skew(-7deg) scale(1.9)}35%{opacity:1;transform:skew(-7deg) scale(1)}to{opacity:.9;transform:skew(-7deg) scale(.94)}}.intro-reduced .vs-side,.intro-reduced .vs-word,.intro-reduced .vs-band,.intro-reduced .vs-skip,.intro-reduced .countdown b{animation:none!important}.session-badge{position:absolute;z-index:3;top:14px;left:16px;padding:6px 12px;border-radius:20px;background:#0e202de8;border:1px solid #d8ff6255;color:var(--lime);font:700 12px/1 Barlow Condensed;letter-spacing:1.5px;text-transform:uppercase;pointer-events:none}.session-badge[data-kind=practice]{border-color:#86e5ed55;color:#86e5ed}#results-dialog{width:460px;background:#14242a;border-color:#39545a;border-radius:18px}.results-kicker{font:600 11px DM Sans;letter-spacing:2px;text-transform:uppercase;color:#9db8b4;margin-bottom:6px}#results-dialog h2{font:700 40px/1 Barlow Condensed;text-transform:uppercase;letter-spacing:.3px;margin:0 0 20px}#results-dialog[data-outcome=won] h2{color:var(--lime)}#results-dialog[data-outcome=lost] h2{color:var(--orange)}#results-dialog[data-outcome=lost] .results-icon{background:#ff9b7622;color:var(--orange)}.results-stars{display:flex;flex-direction:column;align-items:center;gap:6px;margin:-6px 0 6px}.results-stars small{font-size:11px;color:#9db8b4}.stars.big{gap:6px}.stars.big svg{width:34px;height:34px}.stars.big i.pop{animation:star-pop .5s calc(.25s + var(--i) * .18s) cubic-bezier(.2,1.8,.4,1) both}@keyframes star-pop{0%{opacity:0;transform:scale(2.2) rotate(-40deg)}}.results-actions{display:flex;flex-direction:column;gap:8px}.results-actions .primary-button{justify-content:center;gap:12px;min-height:50px;border-radius:12px;font-size:14px}.results-row{display:flex;gap:8px}.results-row>button{flex:1;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.results-row svg{width:16px;height:16px}#results-dialog .results-stats{grid-template-columns:repeat(4,1fr);gap:14px 8px;margin:18px 0}#results-dialog .results-stats b{font-size:24px}#results-dialog .results-stats span{font-size:10px;line-height:1.3}@media(max-height:560px)and (orientation:landscape){#results-dialog{width:min(780px,calc(100% - 24px))}#results-dialog[open]{display:grid;grid-template-columns:1fr 1.15fr;grid-template-areas:"head stats" "stars stats" "score actions";column-gap:26px;align-content:center;align-items:center}.results-head{grid-area:head}.results-stars{grid-area:stars}.results-score{grid-area:score;border-bottom:0!important}#results-dialog .results-stats{grid-area:stats;grid-template-columns:repeat(3,1fr)!important;margin:0!important}.results-actions{grid-area:actions}.results-actions .primary-button{min-height:44px}.results-row>button{min-height:44px}.results-actions .text-button{display:none}}@media(max-height:560px){.front-corner{top:8px;right:10px}.title-screen{padding:12px 24px 48px;gap:clamp(20px,5vw,60px)}.title-foot{padding:4px 16px max(4px,env(safe-area-inset-bottom))}.title-foot .text-button{min-height:36px}.menu-group .menu-item.compact{min-height:44px!important;padding:3px 12px 3px 6px}.title-menu{gap:7px;width:min(360px,100%)}.menu-item{min-height:50px!important;padding:5px 12px 5px 8px;border-radius:13px;grid-template-columns:36px 1fr 16px;gap:10px}.mi-icon{width:36px;height:36px;border-radius:10px}.mi-icon svg{width:19px;height:19px}.mi-text strong{font-size:19px}.mi-text small{font-size:11px}.title-links{margin-top:0}.title-links .text-button{padding:0}.tagline{font-size:14px}.title-brand{gap:10px}.front-eyebrow{font-size:10px}.select-screen,.tour-screen{padding-top:8px}.front-head{padding-bottom:6px}.front-head h2{font-size:26px}.front-foot{padding:7px 0 max(8px,env(safe-area-inset-bottom))}.play-button{min-height:46px!important}.matchup-line{font-size:18px}.card-row .player-card{zoom:.52}.pick-cards{margin-bottom:10px}.pick-grid{grid-template-columns:1.3fr 1.5fr .9fr;gap:12px}.pick-grid:has(.pick-view){grid-template-columns:1.25fr 1.45fr .8fr .55fr}.menu-item.compact{min-height:44px!important;padding:3px 12px 3px 6px}.menu-item.compact .mi-icon{width:32px;height:32px}.menu-item.compact .mi-text strong{font-size:17px}.level-row{grid-template-columns:1fr 1fr}.seg-row{grid-template-columns:repeat(3,1fr)}.seg>span{padding:6px 4px}.venue-tile{min-height:44px;padding:6px 10px}.venue-tile em{display:none}.venue-tile strong{font-size:17px}.tour-route{gap:18px;margin-bottom:10px}.tour-city{padding:8px}.tour-city:not(:last-child):after{right:-18px;width:17px}.tour-city h3{font-size:19px;margin-bottom:6px}.stage-node{grid-template-columns:28px 1fr;padding:5px 8px 5px 5px;gap:8px}.stage-node .stars{grid-column:2}.stage-num{width:28px;height:28px;font-size:15px}.detail-rival{display:none}.detail-text h3{font-size:26px}.intro-vs{gap:10px}.vs-card .player-card{zoom:.58}.vs-side>small,.vs-skip{display:none}.vs-band{padding:7px 16px}.vs-band strong{font-size:20px}#results-dialog{padding:16px 20px}.results-icon{display:none}#results-dialog h2{font-size:30px;margin-bottom:10px}#results-dialog .dialog-intro{margin:-4px 0 10px}.results-score{padding:4px 0 10px}.results-score b{font-size:38px}#results-dialog .results-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}#results-dialog .results-stats b{font-size:21px}.stars.big svg{width:26px;height:26px}}@media(max-width:760px)and (orientation:portrait){.title-screen{flex-direction:column;justify-content:center;gap:clamp(28px,6vh,56px);padding:56px 20px max(24px,env(safe-area-inset-bottom))}.title-brand{align-items:center;text-align:center}.wordmark{align-items:center;transform-origin:center;font-size:clamp(72px,24vw,132px)}.title-menu{width:100%;max-width:420px}.pick-grid,.pick-grid:has(.pick-view){grid-template-columns:1fr;gap:14px}.level-row,.venue-row{grid-template-columns:repeat(3,1fr)}.venue-tile{grid-template-columns:1fr;min-height:64px;padding:8px 10px;align-content:center}.venue-tile em{display:none}.venue-tile strong{font-size:16px}.venue-tile small{font-size:9px;letter-spacing:1px}.seg-row{grid-template-columns:repeat(3,1fr)}.card-row .player-card{zoom:.7}.play-button{min-width:140px}.tour-route{grid-template-columns:1fr;gap:12px}.tour-city:not(:last-child):after{inset:auto auto -13px 28px;width:0;height:12px;border-top:0;border-left:2px dashed #d8ff6255}.tour-city ol{grid-template-columns:1fr 1fr}.stage-node{grid-template-columns:28px 1fr;gap:8px;padding:6px 8px 6px 6px}.stage-node .stars{grid-column:2}.stage-num{width:28px;height:28px;font-size:15px}.tour-city h3{font-size:20px;margin-bottom:8px}.tour-lower{grid-template-columns:1fr;gap:12px}.detail-card{padding:12px}.detail-rival .player-card{zoom:.56}.detail-text h3{font-size:26px}.vs-stage{gap:8px}.vs-side{max-width:44%}.vs-card .player-card{zoom:.8}.vs-mid{gap:4px}.vs-word{font-size:56px}.vs-badge{font-size:9px;letter-spacing:1px;white-space:normal;text-align:center;max-width:80px}.vs-band{gap:4px 12px;padding:9px 14px}.vs-band strong{font-size:20px;width:100%;text-align:center}.trophy-actions{flex-direction:column;width:100%;max-width:320px}}@media(max-width:380px){.card-row .player-card{zoom:.62}.vs-card .player-card{zoom:.68}.front-foot{gap:10px}.play-button{min-width:120px}}@media(prefers-reduced-motion:reduce){.front-screen,.menu-item,.wordmark span,.vs-side,.vs-word,.vs-band,.vs-skip,.countdown b,.stars.big i.pop,.trophy-glow:before{animation:none!important}.menu-item:hover,.menu-item:focus-visible{transform:none}}.reduced-motion .front *{animation:none!important;transition:none!important}#pause-overlay{gap:0;padding:16px;background:#050d0ba6;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}body.paused .touch-controls{visibility:hidden}#pause-overlay .pause-sheet{display:grid;grid-template-columns:1fr;gap:14px;width:min(360px,100%);max-height:100%;overflow:auto;padding:18px 18px 16px;border-radius:20px;border:1px solid #35535a;background:#102227f5;box-shadow:0 24px 70px #0008;color:#e9f1e4;text-align:left}@media(min-width:640px)and (max-height:560px),(min-width:860px){#pause-overlay .pause-sheet{grid-template-columns:1.1fr 1fr;align-items:center;gap:18px;width:min(640px,100%)}}#pause-overlay .pause-label{display:block;font:600 10px/1 DM Sans,sans-serif;letter-spacing:2.8px;text-transform:uppercase;color:#9db8b4}#pause-overlay .pause-context{margin:6px 0 0;font-size:12px;line-height:1.3;color:#cfe0d8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#pause-overlay .pause-board{display:grid;grid-template-columns:15px 1fr 52px 56px;align-items:center;row-gap:1px;margin-top:10px;padding:8px 12px 9px;border-radius:12px;border:1px solid #24403f;background:#0a181c}.pause-board small{font:600 9px DM Sans,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#9db8b4;text-align:right}.pause-board i{width:7px;height:7px;border-radius:50%;visibility:hidden}.pause-board i.serve{visibility:visible}.pause-board i.p1{background:var(--lime)}.pause-board i.p2{background:var(--orange)}.pause-board b{font:700 18px/1.55 Barlow Condensed,sans-serif;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pause-board b.p1{color:var(--lime)}.pause-board b.p2{color:var(--orange)}.pause-board strong{font:700 23px/1.3 Barlow Condensed,sans-serif;text-align:right;font-variant-numeric:tabular-nums;color:#e9f1e4}#pause-overlay #resume{width:100%;min-height:52px;margin-top:12px;padding:0 18px;justify-content:center;gap:12px;border-radius:14px;font-size:15px;font-weight:700;box-shadow:0 8px 22px #b9ea4f26}#pause-overlay #resume svg{width:18px;height:18px}.pause-list{display:flex;flex-direction:column;border-radius:14px;border:1px solid #35535a;background:#12242ae6;overflow:hidden}.pause-list button{display:grid;grid-template-columns:20px 1fr 16px;align-items:center;gap:14px;min-height:48px;padding:0 12px 0 14px;border:0;background:none;color:#e9f1e4;font:500 15px DM Sans,sans-serif;text-align:left;cursor:pointer}.pause-list button+button{box-shadow:inset 0 1px #ffffff12}.pause-list button:hover,.pause-list button:focus-visible{background:#ffffff0a}.pause-list button:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}.pause-list button svg{width:19px;height:19px;color:var(--lime)}.pause-list button svg:last-child{width:16px;height:16px;color:#e9f1e4;opacity:.45}.pause-side .menu-pad-hints{justify-content:center;width:100%;margin-top:10px}.title-version{font:500 12px/1 DM Sans,sans-serif;color:#8fa39b;font-variant-numeric:tabular-nums}.pad-count{display:inline-flex;align-items:center;gap:6px;font:500 12px/1 DM Sans,sans-serif;color:#cfe0d8}.pad-count[hidden]{display:none}.pad-count svg{width:18px;height:18px;color:var(--lime)}.stick{display:none}@media(pointer:coarse){body.court-3d .touch-controls{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:end;gap:6px;padding:6px max(8px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important}body.court-3d .touch-controls .movement-buttons,body.court-3d .touch-controls .drive-touch,body.court-3d .touch-controls .extra-touch{display:none!important}body.court-3d .touch-controls .movement-group{grid-column:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;justify-self:start;margin:0}body.court-3d .touch-controls .shot-buttons{grid-column:2;display:grid!important;grid-template:52px 52px/52px 52px;gap:6px;margin:0!important;align-self:center;justify-content:center}body.court-3d .touch-controls .shot-buttons :is(.jump-touch,.save-touch,.mega-touch,.racket-touch){display:flex!important}body.court-3d .touch-controls .shot-buttons .touch-button{width:52px!important;height:52px!important;border-radius:18px!important;gap:2px;padding:5px 2px 3px}body.court-3d .touch-controls .shot-buttons .touch-button svg{width:21px;height:21px}body.court-3d .touch-controls .shot-buttons .touch-button>span{font-size:8px!important}body.court-3d .touch-controls .jump-touch{grid-area:1/1}body.court-3d .touch-controls .save-touch{grid-area:1/2}body.court-3d .touch-controls .mega-touch{grid-area:2/1}body.court-3d .touch-controls .racket-touch{grid-area:2/2}body.court-3d .stick{--stick:clamp(88px, calc((100vw - 140px)/2) ,150px);display:block;position:relative;flex:none;width:var(--stick);height:var(--stick);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:auto;outline:none}body.court-3d .shot-stick{grid-column:3;justify-self:end}body.court-3d.move-right .touch-controls .movement-group{grid-column:3;grid-row:1;align-items:flex-end;justify-self:end}body.court-3d.move-right .touch-controls .shot-buttons{grid-row:1}body.court-3d.move-right .shot-stick{grid-column:1;grid-row:1;justify-self:start}}@media(pointer:coarse)and (max-width:355px){body.court-3d .touch-controls{gap:5px}body.court-3d .touch-controls .shot-buttons{grid-template:48px 48px/48px 48px;gap:5px}body.court-3d .touch-controls .shot-buttons .touch-button{width:48px!important;height:48px!important;border-radius:16px!important}body.court-3d .stick{--stick:clamp(88px, calc((100vw - 130px)/2) ,150px)}}.stick:before{content:"";position:absolute;left:50%;top:50%;width:calc(var(--stick) * .85);height:calc(var(--stick) * .85);margin:calc(var(--stick) * -.425) 0 0 calc(var(--stick) * -.425);box-sizing:border-box;border-radius:50%;border:1.6px solid #e9f1e466;background:#ffffff1f;transform:translate(var(--ox,0px),var(--oy,0px))}.move-stick:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23e9f1e4' stroke-opacity='.4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M44 12l6-6 6 6M44 88l6 6 6-6M12 44l-6 6 6 6M88 44l6 6-6 6'/%3E%3C/svg%3E") center/100% no-repeat,#ffffff1f}.move-stick.on:before{background-color:#fff3}.shot-stick:before{border-color:#d8ff62aa;background:#d8ff6226}.shot-stick.on:before{background:#d8ff6240}.stick-knob{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:calc(var(--stick) * .33);height:calc(var(--stick) * .33);margin:calc(var(--stick) * -.165) 0 0 calc(var(--stick) * -.165);border-radius:50%;background:#dce6d6cc;color:#16290f;font:700 13px/1 Barlow Condensed,sans-serif;letter-spacing:.04em;font-style:normal;pointer-events:none;transform:translate(calc(var(--ox,0px) + var(--kx,0px)),calc(var(--oy,0px) + var(--ky,0px)))}.move-stick.on .stick-knob{background:#f4f7ee}.shot-stick .stick-knob{background:#c9ec5a}.shot-stick.on .stick-knob{background:#e2ff85}.stick-aim{display:none;position:absolute;left:50%;top:50%;width:var(--len,0px);height:3px;margin-top:-1.5px;border-radius:2px;background:#d8ff62;transform-origin:0 50%;transform:translate(var(--ox,0px),var(--oy,0px)) rotate(var(--aim,0rad));pointer-events:none}.shot-stick.on .stick-aim{display:block}.shot-stick.pulse:after{content:"";position:absolute;left:50%;top:50%;width:calc(var(--stick) * .36);height:calc(var(--stick) * .36);margin:calc(var(--stick) * -.18) 0 0 calc(var(--stick) * -.18);box-sizing:border-box;border:3px solid #d8ff62;border-radius:50%;pointer-events:none;animation:stick-pulse .7s linear infinite}@keyframes stick-pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(2.4);opacity:0}}.reduced-motion .shot-stick.pulse:after{animation:none;transform:scale(1.9);opacity:.7}body.pad-nav :is(button,a,select,textarea,[tabindex]):focus{outline:3px solid #d8ff62!important;outline-offset:3px}body.pad-nav label:has(input:focus){outline:3px solid #d8ff62;outline-offset:2px;border-radius:14px}.pad-help b{letter-spacing:.06em}.stick-zones{position:absolute;left:50%;top:50%;width:calc(var(--stick) * .85);height:calc(var(--stick) * .85);margin:calc(var(--stick) * -.425) 0 0 calc(var(--stick) * -.425);border-radius:50%;pointer-events:none;--lob:#d6b6ff44;--sl:#9ce8d440;--sr:#9ce8d440;--wall:#73e7ff55;background:conic-gradient(var(--lob) 0 40deg,var(--sr) 40deg 127deg,var(--wall) 127deg 233deg,var(--sl) 233deg 320deg,var(--lob) 320deg);-webkit-mask:radial-gradient(circle,transparent 50%,#000 51%);mask:radial-gradient(circle,transparent 50%,#000 51%);transform:translate(var(--ox,0px),var(--oy,0px))}.stick-zones b{position:absolute;font:700 9.5px/1 Barlow Condensed,sans-serif;letter-spacing:.1em}.stick-zones .z-wall{left:50%;bottom:4%;transform:translate(-50%);color:#c2f7ff}.stick-zones .z-lob{left:50%;top:4%;transform:translate(-50%);color:#eadcff}.stick-zones .z-side{top:50%;color:#d2f7ec;writing-mode:vertical-rl}.stick-zones .z-left{left:3%;transform:translateY(-50%) rotate(180deg)}.stick-zones .z-right{right:3%;transform:translateY(-50%)}.shot-stick.zone-wall .stick-zones{--wall:#8febffcc}.shot-stick.zone-lob .stick-zones{--lob:#d6b6ffcc}.shot-stick.side-left .stick-zones{--sl:#9ce8d4cc}.shot-stick.side-right .stick-zones{--sr:#9ce8d4cc}.shot-stick.zone-wall .stick-aim{background:#8febff}.shot-stick.zone-lob .stick-aim{background:#d6b6ff}.shot-stick.zone-side .stick-aim{background:#9ce8d4}.shot-stick .stick-knob:after{content:"";position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(#d8ff62 calc(var(--power,0) * 360deg),transparent 0);-webkit-mask:radial-gradient(circle,transparent 63%,#000 65%);mask:radial-gradient(circle,transparent 63%,#000 65%)}.shot-stick.full .stick-knob:after{background:#ffb17e}.shot-stick.letgo .stick-knob{background:#ffb17e;animation:letgo .3s ease-in-out infinite alternate}@keyframes letgo{to{transform:translate(calc(var(--ox,0px) + var(--kx,0px)),calc(var(--oy,0px) + var(--ky,0px))) scale(1.12)}}.reduced-motion .shot-stick.letgo .stick-knob{animation:none}body .touch-controls .drive-touch{background-image:conic-gradient(#ffffff55 calc(var(--power,0) * 360deg),transparent 0),linear-gradient(140deg,#d6ff73,#a8d849)!important}body .touch-controls .drive-touch.letgo{background-image:linear-gradient(140deg,#ffc49a,#ff9b58)!important}.pad-glyph{display:none;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:10px;font:700 11.5px/1 DM Sans,sans-serif;color:#fff;background:#37474f;box-shadow:0 1px 2px #0006;font-style:normal}.pad-A{background:#43a047}.pad-B{background:#e53935}.pad-X{background:#1e88e5}.pad-Y{background:#fdd835;color:#2b2b12}body.pad-used .touch-controls .pad-glyph{display:inline-flex;position:absolute;top:3px;left:4px}body.pad-used .stick .stick-glyph{top:6%;left:auto;right:6%}body.pad-used .stick .wall-glyph{top:auto;left:50%;bottom:27%;transform:translate(-50%)}.pad-legend{display:none}@media(pointer:fine){body.pad-used .pad-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;padding:4px 10px;font:500 12px/1.4 DM Sans,sans-serif;color:#c6d6c4}.pad-legend span{display:inline-flex;align-items:center;gap:5px}.pad-legend .pad-glyph{display:inline-flex}}.touch-help[hidden]{display:none!important}.pad-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 16px;margin:8px 0}.pad-rows span{display:flex;align-items:center;gap:8px;font-size:13px;color:#dce8e4}.pad-rows .pad-glyph{display:inline-flex;flex:none;min-width:28px}.pad-help{font-size:12px;line-height:1.6;color:#c0d4d2;margin:14px 0 26px}.pad-help>b{color:#c7e58c;font-size:11px}.pad-help>p{margin:6px 0 0;font-size:12px;line-height:1.6;color:#a9bfbc}
