:root{font-family:VT323,Courier New,monospace;color:#082d49;background:#e6f3f8;font-synthesis:none;--paper:#f7fcff;--ink:#082d49;--red:#d83d45;--yellow:#ffd66a;--muted:#4c6b7d;--pixel:"Press Start 2P","Courier New",monospace }*{box-sizing:border-box;border-radius:0!important}body{margin:0;background-color:#e6f3f8;background-image:linear-gradient(#b9dce955 1px,transparent 1px),linear-gradient(90deg,#b9dce955 1px,transparent 1px);background-size:32px 32px;font-size:20px;line-height:1.1}button,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;color:#4c6b7d;filter:saturate(.35)}button:focus-visible,a:focus-visible,canvas:focus-visible,select:focus-visible{outline:3px solid #d83d45;outline-offset:4px}button:hover:not(:disabled){filter:brightness(1.06)}button{border:2px solid var(--ink);border-bottom-width:5px;background:var(--paper);box-shadow:2px 2px 0 var(--ink);padding:7px 12px;transition:transform 60ms,box-shadow 60ms}button:active:not(:disabled),button.key-held:not(:disabled){transform:translateY(2px);border-bottom-width:3px;box-shadow:1px 1px 0 var(--ink)}button:disabled{box-shadow:none}button[aria-pressed=true]{color:var(--ink)}main,.topbar{max-width:1200px;margin:auto;padding-left:28px;padding-right:28px}.topbar{height:84px;display:flex;align-items:center;gap:20px;border-bottom:4px solid var(--ink)}.wordmark{font:24px var(--pixel);color:var(--paper);background:var(--red);text-decoration:none;padding:12px 8px;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);white-space:nowrap}.mark-dot{font-size:8px;color:var(--yellow);margin-left:3px}.brand-meta{font-size:18px;letter-spacing:1px;line-height:1.05}.brand-meta span{font-size:13px;color:#4c6b7d}nav{margin-left:auto;display:flex;gap:10px}nav button{font-size:17px;white-space:nowrap}nav button span{margin-right:5px;color:var(--red)}.intro{display:flex;justify-content:space-between;align-items:center;padding:34px 0 30px;gap:24px}.eyebrow{display:block;font-size:15px;color:#075a87;letter-spacing:1px}.eyebrow>span{display:inline-block;width:8px;height:8px;background:var(--red);margin-right:7px}h1{font:clamp(25px,3.4vw,41px)/1.25 var(--pixel);letter-spacing:-2px;margin:16px 0 12px;text-shadow:3px 3px 0 #f7fcff;display:flex;align-items:center}.title-dot{color:var(--red)}h1 em{font:20px/.9 VT323,Courier New,monospace;letter-spacing:2px;margin-left:18px;border-left:4px solid var(--ink);padding-left:15px;max-width:85px}.intro p{margin:0;color:#4c6b7d;font-size:21px}.cabinet{position:relative;border:4px solid var(--ink);box-shadow:8px 8px #000;background:#e6f3f8;padding:8px;overflow:hidden}.cabinet:before,.cabinet:after{content:"+";position:absolute;top:2px;font:16px Courier New,monospace;color:#082d49;z-index:8;pointer-events:none}.cabinet:before{left:1px}.cabinet:after{right:1px}.cabinet-top{min-height:39px;display:flex;align-items:center;justify-content:space-between;padding:5px 12px;background:#0877bd;color:#f7fcff;border:3px solid var(--ink);border-bottom:0}.live{display:flex;align-items:center;gap:8px;font-size:16px;letter-spacing:.5px}.live>span:first-child{height:8px;width:8px;background:#ffe381;border:2px solid #0877bd}.cabinet-actions{display:flex;gap:7px;align-items:center}.cabinet-actions button{font-size:13px;background:#e6f3f8;padding:3px 7px;border-bottom-width:4px;box-shadow:1px 1px #082d49}.cabinet-actions button:active{border-bottom-width:2px}.cabinet-actions button span{color:#d83d45}#fullscreen{font-size:18px;padding:0 6px}.scoreboard{padding:6px 13px;background:#093451;color:#d8f0f7;border:3px solid #082d49;border-bottom-width:5px;box-shadow:inset 0 3px #205573}.board-rail,.board-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;letter-spacing:1px;color:#95c8dc}.board-rail{padding-bottom:5px}.board-rail b{font-size:12px;font-weight:400;color:#d8f0f7}.board-caption{padding-top:4px;font-size:10px}.board-caption small{font:inherit;color:#d8f0f7}.board-caption>span:first-child{color:#d8f0f7}.timing-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr .7fr;gap:14px}.team-score,.match-clock,.shot-clock{display:grid;grid-template-rows:17px 49px 17px;text-align:center;min-width:0;gap:3px}.board-label{display:flex;justify-content:center;align-items:center;gap:5px}.board-label img{width:23px;height:23px;image-rendering:pixelated}.board-label span,.match-clock>small,.shot-clock>small{font-size:16px;letter-spacing:2px;line-height:17px}.team-score strong{font-size:15px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.5px}.led-display{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;margin:0;padding:8px 4px 6px;font:28px/1 var(--pixel);letter-spacing:1px;color:#ffca61;background-color:#061b2c;background-image:repeating-linear-gradient(0deg,transparent 0 2px,#0009 2px 3px),radial-gradient(#6e612b55 .7px,transparent .7px);background-size:auto,4px 4px;border:3px solid;border-color:#061b2c #205573 #205573 #061b2c;box-shadow:inset 3px 3px #000;text-shadow:2px 0 0 #7e441c}.match-clock .led-display{font-size:27px}.period-line{display:flex;gap:9px;align-items:center;justify-content:center;color:#95c8dc;font-size:13px;letter-spacing:1px}.period-line b{color:#ffca61;font-weight:400;font-size:16px}.shot-clock .led-display{color:#ff6b45;text-shadow:2px 0 0 #6e1e12;font-size:27px}.shot-clock .led-display span{display:none}.shot-unit{font-size:12px;color:#95c8dc;letter-spacing:1px}.urgent{color:#ffdf97!important;background-color:#5b1b0c!important}.match-context{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f7fcff;border:3px solid var(--ink);border-top:0;border-bottom:0;padding:5px 10px;font-size:13px}#cup-progress{display:flex;align-items:center;gap:9px;color:#95c8dc}#cup-progress b{font-weight:400}#cup-progress .current{color:#d83d45}#cup-progress .complete{color:#276154}#cup-progress i{font-style:normal;color:#95c8dc}#session-stats{color:#95c8dc}.court-wrap{position:relative;background:#188fa9;overflow:hidden;border:3px solid var(--ink)}canvas{width:100%;height:auto;display:block;image-rendering:pixelated;touch-action:none}.court-wrap.crt:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#08263925 3px 4px);pointer-events:none;z-index:3;opacity:.55}.start-screen{position:absolute;left:5%;top:10%;padding:20px 24px;background:#f7fcff;border:4px solid var(--ink);box-shadow:6px 6px #000;max-width:340px;z-index:4}.start-screen:before{content:"PLAYER SELECT / 01";display:block;background:var(--red);color:var(--paper);font-size:13px;letter-spacing:1px;border-bottom:3px solid var(--ink);margin:-20px -24px 17px;padding:7px 10px}.pixel-label{font:8px/1.5 var(--pixel);color:#075a87}.start-screen h2{font:30px/1.25 var(--pixel);letter-spacing:-1px;margin:13px 0;color:var(--ink)}.start-screen h2 span{color:var(--red)}.start-screen p{font-size:18px;line-height:1.2;margin:0 0 17px;color:#4c6b7d}.primary{background:var(--red);color:#f7fcff;font-size:20px;border:3px solid var(--ink);border-bottom:7px solid #0877bd;box-shadow:3px 3px #082d49;padding:10px 18px;letter-spacing:1px}.primary:active:not(:disabled){border-bottom-width:5px}.primary span{margin-left:7px}.start-screen .primary{width:100%}.start-screen>small{display:block;font-size:12px;margin-top:14px;letter-spacing:1px;text-align:center}.resume-cup{display:block;margin:12px auto 0;font-size:15px;padding:6px}.secondary{font-size:16px;padding:8px 12px;margin-top:12px;background:#e6f3f8}.game-status{min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;background:#093451;color:#d8f0f7;border:3px solid var(--ink);border-top:0}.game-status>div{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}.status-dot{width:6px;height:6px;background:#ffd067}.game-status strong{font:8px/1.5 var(--pixel);color:#ffdc76}#subcall{font-size:15px;color:#d8f0f7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:430px}#fire{font-size:13px;white-space:nowrap;color:#95c8dc}#fire.lit{color:#ffbd56}#fire b{font-weight:400}.play-tools,.tactics{display:flex;align-items:center;gap:10px;padding:9px 11px;background:#e6f3f8;border:3px solid var(--ink);border-top:0;min-height:53px}.play-tools{background-image:repeating-linear-gradient(135deg,#082d4908 0 2px,transparent 2px 6px)}.shot-types{display:flex;gap:7px}.shot-types button,.tactics button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:35px;font-size:18px;background:#f7fcff;border:2px solid #082d49;border-bottom:6px solid #4c6b7d;box-shadow:2px 2px #082d49;padding:5px 9px;white-space:nowrap}.shot-types button.active{background:#2bc6ce;border-bottom-color:#087e9b;color:#281e12;transform:translateY(2px);box-shadow:1px 1px #082d49}.shot-types button:active:not(:disabled),.shot-types button.key-held:not(:disabled),.tactics button:active:not(:disabled),.tactics button.key-held:not(:disabled){transform:translateY(2px);border-bottom-width:4px;box-shadow:1px 1px #082d49;background:#2bc6ce}.shot-types button.active:active{transform:translateY(3px)}kbd{display:inline-flex;align-items:center;justify-content:center;font:12px var(--pixel);width:27px;height:26px;background:#093451;color:#f7fcff;border:2px solid #082d49;border-bottom-width:4px;flex-shrink:0}.shot-types kbd,.tactics kbd{width:21px;height:21px;font-size:9px;border:0;background:#093451;color:#f7fcff}.play-tools>span{font-size:14px;line-height:1.1;flex:1;color:#4c6b7d}.play-tools>button{font-size:17px;white-space:nowrap}.tactics b{font-weight:400}.tactics button.active{background:#2bc6ce;border-bottom-color:#087e9b}.tactics small{font-size:12px;color:#4c6b7d;margin-left:4px}.tactics-label{font-size:13px;color:#4c6b7d;white-space:nowrap;margin:0 3px}#play-ready{margin-left:auto;font-size:13px;color:#4c6b7d}.touch-controls{display:none}.control-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:26px 0;border-bottom:4px solid var(--ink)}.control-strip>div{display:flex;align-items:center;gap:10px}.control-strip kbd{height:35px;width:35px;box-shadow:2px 2px #4c6b7d;background:var(--paper);color:var(--ink)}.control-symbol{font-size:30px}.control-strip b{display:block;font-size:16px;font-weight:400}.control-strip small{display:block;font-size:15px;color:#4c6b7d;margin-top:6px}.club-section{padding:28px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-heading h2{font:21px/1.4 var(--pixel);margin:8px 0 0;letter-spacing:-1px}.section-heading>span{font-size:15px;color:#4c6b7d}.arrow{font-size:25px;color:#d83d45}.team-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.team-card{text-align:left;background:#e6f3f8;border:3px solid var(--ink);border-bottom-width:6px;box-shadow:3px 3px #082d49;padding:12px;position:relative}.team-card.selected{background:#2bc6ce;border-color:#d83d45}.card-top{display:flex;justify-content:space-between;color:#4c6b7d;font-size:13px}.team-card img{display:block;image-rendering:pixelated;width:72px;height:72px;margin:8px auto}.team-card b{display:block;font-size:22px;font-weight:400;line-height:.9}.team-card small{display:block;font-size:12px;color:#4c6b7d;margin-top:9px;letter-spacing:1px}.card-line{height:4px;width:35px;margin-top:12px;border:2px solid #082d49}footer{border-top:4px solid var(--ink);padding:20px 0 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#4c6b7d}footer>span:first-child{font-family:var(--pixel);font-size:17px}footer b{font:14px VT323,Courier New,monospace;margin-left:10px;font-weight:400}.hidden{display:none!important}.pause-screen,.end-screen{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#082d49f5;text-align:center;padding:22px;gap:12px;overflow:auto}.pause-screen:before{content:"TIME OUT";font:9px var(--pixel);padding:8px 18px;background:#093451;color:#ffd66a;border:3px solid var(--ink);box-shadow:3px 3px #c6e4ef}.pause-screen h2,.end-screen h2{font:clamp(15px,2vw,24px)/1.4 var(--pixel);margin:5px 0;color:#075a87;letter-spacing:-1px}.last-play{font-size:18px;line-height:1.15;max-width:500px;margin:0 0 8px;color:#4c6b7d}.last-play:empty{display:none}.pause-screen .secondary,.end-screen .secondary{margin:0}.end-screen .eyebrow{font-size:16px}.final-score{font:33px var(--pixel);color:var(--ink);margin:9px 0}.final-score span{color:#4c6b7d}.end-screen p{font-size:17px;letter-spacing:1px;margin:0 0 8px}.skip-replay{position:absolute;right:14px;bottom:14px;z-index:5;background:#ffd067;font-size:16px;padding:7px 12px;box-shadow:3px 3px #000}dialog{width:min(1000px,94vw);max-height:90dvh;padding:30px;background:#f7fcff;color:var(--ink);border:4px solid var(--ink);box-shadow:10px 10px #000}dialog .close{position:absolute;top:9px;right:12px;font-size:19px;padding:3px 8px;background:#e6f3f8}dialog h2{font:24px/1.35 var(--pixel);letter-spacing:-1px;margin:17px 0}dialog p{font-size:20px;line-height:1.2;color:#4c6b7d}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0 14px}.mode-cards button{text-align:left;padding:18px;background:#e6f3f8;border-width:3px;border-bottom-width:6px}.mode-cards button.selected{background:#2bc6ce;border-color:#d83d45}.mode-cards span{display:block;font-size:14px;color:#075a87;letter-spacing:1px}.mode-cards b{display:block;font-size:28px;font-weight:400;margin:8px 0}.mode-cards small{font-size:17px;color:#4c6b7d;line-height:1.2}.rival-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:15px 0;border-bottom:3px solid #4c6b7d}.rival-preview span{display:block;font-size:15px;color:#075a87}.rival-preview b{display:block;font-weight:400;font-size:20px;margin-top:5px}.match-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.match-options label{display:block;font-size:17px;color:#075a87;letter-spacing:1px;margin-bottom:7px}.match-options select{width:100%;border:3px solid var(--ink);background:#f7fcff;color:#082d49;padding:8px;font-size:20px;box-shadow:3px 3px #c6e4ef}.match-options small{display:block;font-size:16px;color:#4c6b7d;line-height:1.1;margin-top:8px}.modal-teams{margin:23px 0;gap:10px}.modal-teams .team-card{padding:9px}.modal-teams .team-card img{width:48px;height:48px;margin:3px auto}.modal-teams .team-card b{font-size:19px}.modal-teams .team-card small{font-size:11px}.roster-heading{display:flex;justify-content:space-between;gap:15px;font-size:18px;border-bottom:3px solid #4c6b7d;padding-bottom:9px;margin:24px 0 15px}.roster-heading b{font-weight:400}.roster-heading span{color:#075a87}.roster{display:grid;grid-template-columns:1fr 1fr;gap:13px}.star{border:3px solid #082d49;background:#e6f3f8;display:flex;align-items:center;gap:10px;padding:10px}.star img{height:45px;width:45px;image-rendering:pixelated}.star>div{flex:1}.star small{font-size:13px;color:#4c6b7d}.star b{display:block;font-size:24px;font-weight:400;margin:5px 0}.star button{font-size:17px;padding:6px}.statbar{display:flex;gap:3px}.statbar i{width:12px;height:6px;background:#c6e4ef}.statbar .filled{background:#d83d45}.fineprint{font-size:16px!important;margin:18px 0}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.help-grid b{font-size:20px;font-weight:400;color:#075a87}.help-grid p{font-size:19px;margin:8px 0}.perk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:23px 0}.perk-grid button{text-align:left;padding:20px;background:#e6f3f8;border-width:3px;border-bottom-width:6px}.perk-grid button>span{display:block;font-size:40px;color:#d83d45}.perk-grid b{display:block;font-size:25px;font-weight:400;margin-top:10px}.perk-grid p{font-size:19px;min-height:95px}.perk-grid small{display:block;font-size:15px;color:#075a87;line-height:1.2;margin-top:15px}.playing .intro,.playing .club-section,.playing footer,.playing .control-strip{display:none}.playing .topbar{height:52px;border-bottom-width:3px}.playing .wordmark{font-size:16px;padding:7px}.playing .brand-meta{font-size:15px}.playing .brand-meta span{display:none}.playing nav button{font-size:15px;padding:4px 8px}.playing main{padding-top:10px;padding-bottom:18px;max-width:min(1200px,calc((100dvh - 388px)*1.846 + 80px));min-width:780px}.playing .cabinet{padding:5px;box-shadow:6px 6px #000}.playing .cabinet-top{min-height:30px;padding:3px 8px}.playing .live{font-size:14px}.playing .scoreboard{padding:4px 10px}.playing .board-rail{padding-bottom:3px}.playing .board-caption{padding-top:3px}.playing .timing-grid{gap:10px}.playing .team-score,.playing .match-clock,.playing .shot-clock{grid-template-rows:15px 41px 14px;gap:2px}.playing .led-display{font-size:24px;padding-top:5px}.playing .match-clock .led-display{font-size:23px}.playing .team-score strong{font-size:14px}.playing .board-label span,.playing .match-clock>small,.playing .shot-clock>small{font-size:14px;line-height:15px}.playing .match-context{padding:4px 8px;font-size:12px}.playing .game-status{min-height:43px;padding:5px 8px}.playing .play-tools,.playing .tactics{padding:6px 8px;gap:7px;min-height:47px}.playing .shot-types button,.playing .tactics button{min-height:31px;font-size:16px;padding:3px 7px}.playing #subcall{max-width:360px;font-size:14px}.playing .play-tools>span{font-size:12px}.playing .tactics-label,.playing #play-ready{font-size:12px}.cabinet:fullscreen{width:100vw;height:100dvh;display:flex;flex-direction:column;margin:0;box-shadow:none}.cabinet:fullscreen .court-wrap{flex:1;min-height:0;display:flex;justify-content:center}.cabinet:fullscreen canvas{width:auto;height:100%;max-width:100%;object-fit:contain}@media(max-width:1050px){main,.topbar{padding-left:20px;padding-right:20px}.topbar{gap:12px}nav{gap:7px}nav button{font-size:15px}.brand-meta{font-size:16px}.play-tools>span{max-width:180px}.tactics-label{display:none}.team-card b{font-size:20px}.control-strip{gap:12px}.control-strip b{font-size:14px}.control-strip small{font-size:13px}.start-screen{top:8%;padding:17px 20px;max-width:300px}.start-screen:before{margin:-17px -20px 13px}.start-screen h2{font-size:26px}.start-screen p{font-size:17px}}@media(max-width:800px){.topbar{height:65px;padding:0 12px;gap:12px}.wordmark{font-size:18px;padding:9px 6px}.brand-meta{font-size:14px}.brand-meta span{display:none}nav{gap:7px}nav button{font-size:0;padding:7px}nav button span{font-size:20px;margin:0}#sound{font-size:0}#sound:first-letter{font-size:20px}main{padding:0 12px}.intro{padding:24px 0}.intro h1{font-size:28px;flex-wrap:wrap;letter-spacing:-1px}.intro h1 em{font-size:17px;max-width:70px;margin-left:12px;padding-left:10px}.intro p{font-size:18px}.eyebrow{font-size:13px}.cabinet{padding:5px;box-shadow:5px 5px #000}.live{font-size:14px}.cabinet-top{min-height:33px;padding:4px 7px}.cabinet-actions{gap:5px}.cabinet-actions button{font-size:12px;padding:2px 5px}.scoreboard{padding:5px 8px}.board-rail,.board-caption{font-size:10px;letter-spacing:.3px}.board-rail b{font-size:11px}.timing-grid{gap:7px;grid-template-columns:1fr 1.3fr 1fr .7fr}.team-score,.match-clock,.shot-clock{grid-template-rows:16px 42px 16px;gap:2px}.led-display,.match-clock .led-display,.shot-clock .led-display{font-size:23px}.team-score strong{font-size:13px;letter-spacing:0}.board-label img{display:none}.board-label span,.match-clock>small,.shot-clock>small{font-size:14px;letter-spacing:1px}.match-context{padding:5px 7px;font-size:11px}#cup-progress{gap:5px}#session-stats{display:none}.play-tools{gap:7px;padding:7px}.play-tools>span{display:none}.shot-types{gap:6px;flex:1}.shot-types button{flex:1;font-size:16px;gap:5px;padding:6px}.play-tools>button{font-size:16px;padding:5px 7px}.tactics{gap:7px;padding:8px}.tactics button{flex:1;font-size:16px;padding:6px}.tactics kbd,.tactics small,#play-ready{display:none}.touch-controls{display:flex;justify-content:space-between;gap:7px;padding:8px;background:#e6f3f8;border:3px solid var(--ink);border-top:0}.touch-controls>div{display:flex;gap:5px}.touch-controls button{min-width:35px;min-height:44px;padding:6px;font-size:16px;touch-action:none}.touch-controls button.key-held{transform:translateY(2px)}.control-strip{grid-template-columns:1fr 1fr;gap:20px 12px;padding:22px 0}.section-heading h2{font-size:18px}.section-heading>span{max-width:90px;font-size:13px;text-align:right}.team-grid{grid-template-columns:repeat(3,1fr);gap:11px}.team-card{padding:10px}.team-card b{font-size:23px}.team-card small{font-size:12px}footer{flex-direction:column;align-items:flex-start;gap:14px;font-size:12px}.playing .topbar{height:46px;padding:0 12px}.playing nav button{font-size:0;padding:3px 6px}.playing .brand-meta{font-size:12px}.playing main{min-width:0;max-width:100%;padding:8px 9px 18px}.playing .board-rail b{font-size:10px}.playing .team-score strong{font-size:12px}.playing .team-score,.playing .match-clock,.playing .shot-clock{grid-template-rows:14px 36px 14px}.playing .led-display,.playing .match-clock .led-display{font-size:20px}.playing .game-status{min-height:52px}.game-status>div{gap:5px}#subcall,.playing #subcall{font-size:14px;width:100%;max-width:260px}.status-dot{display:none}.game-status strong{font-size:7px}#fire{font-size:12px}.playing .play-tools,.playing .tactics{padding:7px 6px;gap:7px}.playing .shot-types button,.playing .tactics button{font-size:16px;min-height:38px;padding:4px}.shot-types kbd{font-size:8px;width:17px;height:19px}.start-screen{top:5%;left:5%;max-width:225px;padding:12px 15px;border-width:3px;box-shadow:4px 4px #000}.start-screen:before{font-size:10px;margin:-12px -15px 9px;padding:5px 8px}.start-screen h2{font-size:21px;margin:8px 0 10px}.pixel-label{font-size:6px}.start-screen p,.start-screen>small{display:none}.start-screen .primary{font-size:16px;padding:6px}.resume-cup{font-size:12px;margin-top:8px;padding:4px}.pause-screen,.end-screen{padding:15px;gap:8px}.pause-screen:before{display:none}.pause-screen h2,.end-screen h2{font-size:16px;letter-spacing:-.7px}.last-play{font-size:15px;margin-bottom:0}.pause-screen .primary,.end-screen .primary{font-size:17px;padding:7px 12px}.pause-screen .secondary,.end-screen .secondary{font-size:14px;padding:5px 8px}.end-screen .eyebrow{font-size:12px}.final-score{font-size:24px;margin:5px 0}.end-screen p{font-size:13px;letter-spacing:0;margin:0}.skip-replay{font-size:13px;bottom:6px;right:6px;padding:5px 7px}dialog{padding:23px 16px;box-shadow:6px 6px #000}dialog h2{font-size:21px;margin-top:16px}dialog p{font-size:19px}.mode-cards{gap:10px}.mode-cards button{padding:12px}.mode-cards span{font-size:12px}.mode-cards b{font-size:24px}.mode-cards small{font-size:16px}.rival-preview{gap:9px}.rival-preview span{font-size:13px}.rival-preview b{font-size:17px}.match-options{grid-template-columns:1fr 1fr;gap:15px}.match-options>div:last-child{grid-column:1/-1}.modal-teams{gap:9px}.modal-teams .team-card b{font-size:20px}.roster{grid-template-columns:1fr}.roster-heading{font-size:16px}.help-grid,.perk-grid{grid-template-columns:1fr;gap:12px}.perk-grid button{padding:14px}.perk-grid button>span{float:right;font-size:30px}.perk-grid b{margin:0}.perk-grid p{min-height:0;margin:8px 0}.perk-grid small{margin-top:10px}}@media(max-width:430px){h1 em{display:none}.intro h1{font-size:27px}.brand-meta{font-size:12px}.board-rail b{display:none}.timing-grid,.playing .timing-grid{gap:5px}.scoreboard,.playing .scoreboard{padding:5px}.led-display,.match-clock .led-display,.shot-clock .led-display,.playing .led-display,.playing .match-clock .led-display{font-size:18px;letter-spacing:0}.board-caption{font-size:9px}.board-label span,.match-clock>small,.shot-clock>small{font-size:13px}.period-line{font-size:11px;gap:5px}.period-line b{font-size:14px}.shot-unit{font-size:10px}.start-screen{max-width:195px}.start-screen h2{font-size:19px}.start-screen:before{font-size:9px}.start-screen .primary{font-size:15px}.team-card b{font-size:20px}.touch-controls{gap:4px;padding:7px 5px}.touch-controls>div{gap:4px}.touch-controls button{min-width:33px;font-size:15px;padding:5px}.playing .tactics button{font-size:15px}.shot-types kbd{display:none}.game-status strong{font-size:6px}.tactics button{min-height:42px}.control-strip b,.control-strip small{font-size:13px}}@media(max-height:600px)and (min-width:801px){.playing .topbar{display:none}.playing main{max-width:calc((100dvh - 290px)*1.846 + 70px);min-width:650px;padding-top:4px}.playing .board-rail,.playing .board-caption{display:none}.playing .timing-grid{padding:3px 0}.playing .game-status{min-height:35px}.playing .play-tools,.playing .tactics{min-height:40px;padding:4px 6px}.playing .match-context{padding:3px 7px}}@media(min-width:801px)and (min-height:601px){.playing .topbar{height:44px}.playing main{max-width:min(1200px,calc((100dvh - 355px)*1.846 + 80px));min-width:700px}.playing .board-caption{display:none}.playing .team-score,.playing .match-clock,.playing .shot-clock{grid-template-rows:12px 34px 12px}.playing .board-label span,.playing .match-clock>small,.playing .shot-clock>small{font-size:12px;line-height:12px}.playing .board-label img{height:20px;width:20px}.playing .board-rail{font-size:9px;line-height:10px}.playing .board-rail b{font-size:10px}.playing .team-score strong{font-size:12px}.playing .led-display,.playing .match-clock .led-display{font-size:22px;padding:4px}.playing .period-line{font-size:11px;line-height:12px}.playing .period-line b{font-size:13px}.playing .cabinet-top{min-height:28px;padding:2px 8px}.playing .cabinet-actions button{font-size:12px;line-height:13px;padding:1px 5px}.playing #fullscreen{font-size:16px;line-height:15px}.playing .play-tools,.playing .tactics{padding:4px 6px;min-height:40px}.playing .game-status{min-height:38px;padding:4px 8px}.playing .play-tools>button{font-size:16px;line-height:17px;padding:3px 7px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.career-strip{display:flex;align-items:center;gap:20px;border:3px solid var(--ink);background:#e6f3f8;box-shadow:4px 4px 0 var(--ink);padding:13px 17px;margin:0 0 22px}.career-strip>div:first-child{display:flex;align-items:center;gap:12px}.career-strip small{display:block;color:#075a87;font-size:13px;letter-spacing:1px}.career-strip b{display:block;font-size:23px}.rank-medal{display:grid;place-items:center;flex-shrink:0;background:#ffce61;border:3px solid var(--ink);box-shadow:3px 3px #d83d45;width:48px;height:48px;font:18px var(--pixel);color:#075a87}.career-meter{flex:1;max-width:390px;margin-right:auto;font-size:15px}progress{display:block;appearance:none;width:100%;height:13px;border:2px solid var(--ink);background:#093451;margin-top:5px}progress::-webkit-progress-bar{background:#093451}progress::-webkit-progress-value{background:repeating-linear-gradient(90deg,#ffc954 0 12px,#087e9b 12px 15px)}progress::-moz-progress-bar{background:#ffc954}#practice{background:#2bc6ce}.secondary-controls{border-top:3px solid var(--ink);background:#e6f3f8}.secondary-controls summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:16px;padding:8px 12px;font-size:16px;min-height:33px}.secondary-controls summary::-webkit-details-marker{display:none}.secondary-controls summary small{font-size:14px;color:#4c6b7d;margin-left:auto}.secondary-controls summary b{font-size:22px;line-height:18px}.secondary-controls[open] summary{border-bottom:2px solid var(--ink);background:#2bc6ce}.secondary-controls[open] summary b{transform:rotate(45deg)}.secondary-controls .play-tools{border-top:0}.career-summary{display:flex;align-items:center;gap:20px;background:#093451;color:#d8f0f7;border:3px solid var(--ink);padding:18px;margin:20px 0 12px;box-shadow:4px 4px #c6e4ef}.career-summary>div{flex:1}.career-summary b{font:clamp(11px,2vw,16px)/1.5 var(--pixel);color:#ffcf61}.career-summary p{margin:7px 0;font-size:19px}.career-summary .rank-medal{height:66px;width:66px;font-size:20px}.career-intro{font-size:20px!important;line-height:1.25!important;max-width:760px}.contract-ticket{position:relative;border:3px solid var(--ink);border-left:10px solid #d83d45;padding:16px 20px;margin:24px 0;background:repeating-linear-gradient(0deg,#c6e4ef 0 3px,#c6e4ef 3px 4px);box-shadow:4px 4px 0 var(--ink)}.contract-ticket>span{display:block;font-size:15px;color:#075a87;letter-spacing:1px;margin-bottom:8px}.contract-ticket>b{display:block;font:12px/1.5 var(--pixel)}.contract-ticket p{margin:8px 0;font-size:22px!important}.contract-ticket small{display:block;margin-top:8px;font-size:15px;color:#4c6b7d}.section-label{font-size:17px;letter-spacing:1px;font-weight:700;border-bottom:3px solid var(--ink);padding-bottom:8px;margin:28px 0 16px}.drill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.drill-grid article{display:flex;flex-direction:column;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#f7fcff;padding:16px 14px}.drill-grid article>span{color:#075a87;font-size:13px;margin-bottom:14px}.drill-grid article>b{font:10px/1.6 var(--pixel);min-height:32px}.drill-grid p{font-size:19px!important;line-height:1.2!important;margin:10px 0 15px!important;flex:1}.drill-grid article>small{font-size:13px;display:block;color:#4c6b7d;min-height:32px}.drill-grid button{margin-top:9px;background:#2bc6ce}.practice-stars{color:#a85b21;font-size:32px;letter-spacing:5px;line-height:1.1;text-shadow:1px 1px 0 #edbd5a}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.badge-grid>div{border:2px dashed #c6e4ef;background:#e6f3f8;padding:13px;display:grid;grid-template-columns:30px 1fr;gap:6px 9px;color:#4c6b7d}.badge-grid>div>span{grid-row:span 2;font-size:30px;line-height:1}.badge-grid b{font-size:18px}.badge-grid small{font-size:16px;line-height:1.2}.badge-grid .earned{border:3px solid var(--ink);background:#ffdc80;color:#075a87;box-shadow:3px 3px #087e9b}.venue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:25px}.venue-grid button{text-align:left;padding:7px;background:#f7fcff;display:flex;flex-direction:column;gap:8px}.venue-grid button.equipped{background:#2bc6ce;outline:2px solid #d83d45;outline-offset:2px}.venue-grid b{font-size:17px}.venue-grid small{font-size:13px;color:#4c6b7d}.venue-swatch{display:block;height:56px;width:100%;border:2px solid var(--ink);background:repeating-linear-gradient(0deg,transparent 0 11px,#d4fbeb55 11px 13px),var(--water);border-top:12px solid var(--deck);border-bottom:8px solid var(--deck);position:relative}.venue-swatch:after{content:"";position:absolute;right:10px;top:6px;width:14px;height:16px;border:3px solid #f7fcff;background:#15394c}.reward-slip{width:min(660px,100%);padding:10px 14px;border:2px solid var(--ink);border-left:7px solid #d83d45;background:#ffdf86;text-align:left}.reward-slip>div{display:flex;align-items:center;gap:16px}.reward-slip b{font:14px var(--pixel);white-space:nowrap}.reward-slip span{font-size:17px;color:#075a87;line-height:1.1}.reward-slip p{font-size:13px!important;margin:7px 0 0!important;line-height:1.2;letter-spacing:0!important}.reward-slip>strong{display:block;font-size:14px;margin-top:7px}.result-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.end-screen>small{font-size:15px;color:#4c6b7d;line-height:1.2}#learn-start{margin-top:9px;width:100%;font-size:17px;padding:6px}.playing .career-strip{display:none}.playing .topbar{height:40px}.playing main{max-width:min(1480px,calc((100dvh - 310px)*1.846 + 80px));min-width:0;padding-top:8px}.playing .cabinet{margin-bottom:0}.playing .board-rail{display:none}.playing .scoreboard{padding:5px 10px}.playing .match-context{min-height:23px}.playing .court-wrap{border-width:3px}.playing .game-status{min-height:40px}.playing .end-screen{gap:9px;padding:18px}.playing .end-screen h2{margin:2px 0}.playing .final-score{font-size:26px;margin:3px 0}@media(min-width:1000px){.playing .brand-meta{display:block}.playing .brand-meta span{display:none}}@media(max-width:800px){.career-strip{flex-wrap:wrap;gap:12px;padding:12px;margin-bottom:18px}.career-strip>div:first-child{flex:1}.career-meter{min-width:120px;max-width:none}.career-strip button{flex:1;font-size:17px}.career-strip b{font-size:19px}.playing main{max-width:100%;padding:7px 8px}.playing .topbar{height:42px}.playing nav{gap:5px}.playing nav button{font-size:12px;padding:3px 5px}.playing #locker,.playing .brand-meta{display:none}.secondary-controls summary{font-size:14px;padding:7px 9px}.secondary-controls summary small{display:none}.secondary-controls summary b{margin-left:auto}.drill-grid{grid-template-columns:1fr}.drill-grid article{display:grid;grid-template-columns:1fr auto;gap:8px 14px}.drill-grid article>span,.drill-grid p,.drill-grid article>small{grid-column:1/-1}.drill-grid article>b{min-height:0}.drill-grid .practice-stars{grid-column:2;grid-row:2}.drill-grid button{grid-column:1/-1}.drill-grid article>small{min-height:0}.badge-grid,.venue-grid{grid-template-columns:repeat(2,1fr)}.career-summary{padding:12px;gap:13px}.career-summary p{font-size:17px}.reward-slip{padding:6px 9px}.reward-slip b{font-size:10px}.reward-slip span{font-size:14px}.reward-slip p{font-size:11px!important}.reward-slip>div{gap:9px}.playing .end-screen{padding:12px;gap:6px}.end-screen>small{font-size:12px}.result-actions{gap:5px}.result-actions button{font-size:14px;padding:5px 8px}.playing .end-screen h2{font-size:14px}.practice-stars{font-size:26px}#learn-start{font-size:14px;margin-top:6px;padding:4px}.start-screen .resume-cup{font-size:13px}}@media(max-width:440px){.topbar #career{font-size:13px;padding:5px}.topbar #locker{font-size:0;padding:5px}.topbar #locker span{font-size:15px}.topbar #help{font-size:0;padding:5px}.topbar #help span{font-size:15px}.career-meter{width:100%;min-width:0;flex-basis:100%;order:3}.career-strip button{font-size:15px}.career-strip #journey{display:none}.career-strip .rank-medal{height:36px;width:36px;font-size:15px}.career-strip{gap:8px}.playing .topbar #career{font-size:11px;padding:3px}.playing .topbar #help span{font-size:13px}.badge-grid{gap:7px}.badge-grid>div{padding:9px;grid-template-columns:22px 1fr;gap:5px}.badge-grid b{font-size:15px}.badge-grid small{font-size:14px}.playing .end-screen .eyebrow{font-size:12px}.playing .end-screen h2{font-size:10px}.playing .end-screen p{font-size:13px;margin:0}.playing .end-screen .practice-stars{font-size:21px}.playing .end-screen{justify-content:flex-start;padding-top:12px}.reward-slip p{display:none}.result-actions{flex-wrap:nowrap}.result-actions button{font-size:11px;padding:5px}.end-screen .reward-slip{width:95%}}@media(max-height:600px)and (min-width:801px){.playing main{max-width:min(1480px,calc((100dvh - 265px)*1.846 + 80px));padding-top:4px}.playing .topbar{display:none}.playing .end-screen{gap:5px}.playing .reward-slip p{display:none}}@media(min-width:801px){.playing:has(.secondary-controls[open]) main{max-width:min(1480px,calc((100dvh - 390px)*1.846 + 80px))}}@media(max-width:800px){.start-screen{top:8px;max-height:calc(100% - 16px);overflow:auto}.start-screen h2{font-size:16px;margin:5px 0}.start-screen .pixel-label,#learn-start{display:none}}:root{--paper:#f7fcff;--ink:#082d49;--red:#d83d45;--yellow:#ffdb4d;--muted:#4c6b7d;--blue:#0877bd;--aqua:#2bc6ce;--tile:#e6f3f8}body{background-color:var(--tile)}button{border-bottom-color:#92b9cc;box-shadow:2px 2px #082d49}button:disabled{color:#698596;background:#d9e8ee}button:focus-visible,a:focus-visible,canvas:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d83d45;outline-offset:4px}.topbar{height:78px;border-bottom:3px solid var(--ink);background:#f7fcff;position:relative}.topbar:before{content:"";height:5px;position:absolute;left:0;right:0;top:0;background:repeating-linear-gradient(90deg,#0877bd 0 34px,#f7fcff 34px 42px,#d83d45 42px 76px,#f7fcff 76px 84px)}.wordmark{background:var(--blue);color:#fff;box-shadow:3px 3px #082d49}.brand-meta{font-size:17px;color:var(--ink)}.brand-meta span{color:var(--muted);font-size:12px;letter-spacing:.7px}nav button{background:#f7fcff;font-size:16px;padding:7px 10px}nav #career{background:#d6f3f5}nav button span{color:var(--blue)}.intro{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:46px;padding:38px 0 32px}.intro-copy{min-width:0}.intro .eyebrow{color:#075a87;font-size:15px;letter-spacing:1.4px}.intro .eyebrow>span{background:var(--red);width:7px;height:7px}.intro h1{display:block;font-size:clamp(26px,3.3vw,43px);line-height:1.2;margin:16px 0 20px;text-shadow:3px 3px 0 #fff;letter-spacing:-1.8px}.intro h1 em{display:block;max-width:none;border:0;padding:0;margin:10px 0 0;color:var(--blue);font:22px/1.1 var(--pixel);letter-spacing:4px;font-style:normal}.intro p{font-size:24px;line-height:1.15;color:#325f79}.hero-actions{display:flex;gap:13px;margin-top:24px;flex-wrap:wrap}.hero-actions button{font-size:20px;padding:10px 14px}.hero-actions #hero-practice{background:#f7fcff;color:#075a87}.primary{background:var(--blue);color:#fff;border-color:#082d49;border-bottom-color:#043b66;box-shadow:3px 3px #082d49}.primary:active:not(:disabled){border-bottom-color:#043b66}.pool-spec{display:flex;gap:10px;align-items:center;font-size:13px;letter-spacing:1px;color:#557b91;margin-top:20px}.pool-spec i{font-style:normal;color:var(--red)}.pool-pass{border:3px solid var(--ink);background:#f7fcff;box-shadow:6px 6px #082d49;min-width:0;transform:rotate(1deg)}.pool-pass-top{display:flex;justify-content:space-between;padding:7px 11px;background:#082d49;color:#e4f9ff;font-size:12px;letter-spacing:1px}.pool-pass-top b{font-weight:400;color:#7ee4e7}.pool-illustration{position:relative;border-bottom:3px solid var(--ink);overflow:hidden}.pool-illustration svg{display:block;width:100%;height:auto}.pool-stamp{position:absolute;left:13px;bottom:12px;background:#f7fcff;border:2px solid var(--ink);box-shadow:3px 3px #082d49;padding:6px 8px;font-size:13px;line-height:1.05;color:#075a87;transform:rotate(-3deg)}.pool-stamp b{font:15px var(--pixel);color:var(--ink)}.pool-pass-bottom{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;background:#fff}.pool-pass-bottom>div>span{display:block;font-size:12px;color:#47738d;letter-spacing:1px;margin-bottom:6px}.pool-pass-bottom strong{font:14px/1.45 var(--pixel);color:var(--ink)}.cup-seal{display:grid;place-items:center;width:52px;height:57px;border:3px solid var(--blue);color:var(--blue);font:13px/1.3 var(--pixel);text-align:center;transform:rotate(-7deg);background:#e9f7fb}.rival-rail{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);background:#dff3f8;text-align:center;font-size:13px;color:#075a87}.rival-rail span{padding:8px 3px;border-right:2px solid #9ec7d9}.rival-rail span:last-child{border:0}.career-strip{background:#f7fcff;border-left:7px solid var(--blue);box-shadow:4px 4px #7eafc4;padding:13px 16px;gap:18px}.career-strip small{color:#47738d}.career-strip b{color:#075a87;font-size:22px}.career-meter{font-size:14px;color:#47738d}.rank-medal{background:#ffdf6b;color:#082d49;box-shadow:3px 3px #c0932e}#practice{background:#2bc6ce;color:#082d49;border-bottom-color:#0b829d}#journey{background:#f7fcff;color:#075a87}progress{border-color:#082d49;background:#d2e8f1;height:12px}progress::-webkit-progress-bar{background:#d2e8f1}progress::-webkit-progress-value{background:repeating-linear-gradient(90deg,#0877bd 0 12px,#27a4ce 12px 15px)}progress::-moz-progress-bar{background:#0877bd}.cabinet{background:#c1dfed;box-shadow:8px 8px #082d49}.cabinet-top{background:#0877bd;color:#fff}.cabinet-top .live>span:first-child{background:#8eedef;border-color:#064c7d}.cabinet-actions button{background:#f0fbff;color:#082d49;border-bottom-color:#8bb5c9}.cabinet-actions button span{color:#0877bd}.scoreboard{background:#093451;color:#d8eff9;border-color:#082236;box-shadow:inset 0 3px #31617b}.board-rail,.board-caption{color:#8fbfd4}.board-rail b,.board-caption small{color:#a5d2e4}.led-display{background-color:#061b2c;color:#effcff;border-color:#041422 #2b5d79 #39708a #041422;text-shadow:2px 0 0 #245c76;background-image:repeating-linear-gradient(0deg,transparent 0 2px,#0009 2px 3px);background-size:auto}.match-clock .led-display{color:#ffdb69;text-shadow:2px 0 0 #715b25}.shot-clock .led-display{color:#ff6b62;text-shadow:2px 0 0 #702d35}.board-label span,.match-clock>small,.shot-clock>small{color:#c3e2f1}.team-score strong{color:#d6edf8}.period-line,.shot-unit{color:#9cc6d9}.period-line b{color:#fff}.match-context{background:#ecf8fc;color:#47738d}#cup-progress .current{color:#07699f}#cup-progress .complete{color:#007979}#session-stats{color:#315f7b}.start-screen{background:#f7fcff;border-color:#082d49;box-shadow:6px 6px #082d49}.start-screen:before{content:"HOME POOL / PLAYER ENTRANCE";background:#0877bd;color:#fff}.start-screen h2{color:#082d49}.start-screen h2 span{color:#0877bd}.start-screen .pixel-label{color:#d83d45}.start-screen p{color:#4c6b7d}.secondary{background:#e6f3f8;color:#075a87}.game-status{background:#093451;color:#d8f0f7}.game-status strong{color:#aff4ee}.status-dot{background:#2bc6ce}#subcall{color:#b3d4e3}#fire{color:#abcadd}#fire.lit{color:#ffdb69}.secondary-controls{background:#edf8fc;border-color:#082d49}.secondary-controls summary{color:#075a87}.secondary-controls summary small{color:#557b91}.secondary-controls[open] summary{background:#c8f2f3}.play-tools,.tactics{background:#e0eff6}.shot-types button,.tactics button,.touch-controls button{background:#f7fcff;border-color:#082d49;border-bottom-color:#8fb8cb;color:#082d49}.shot-types button.active,.tactics button.active{background:#2bc6ce;border-bottom-color:#087e9b;color:#082d49}.shot-types button:active:not(:disabled),.shot-types button.key-held:not(:disabled),.tactics button:active:not(:disabled),.tactics button.key-held:not(:disabled){background:#74e5e5}kbd{background:#093451;color:#f7fcff;border-color:#041e34}.shot-types kbd,.tactics kbd{background:#0c5980;color:#fff}.touch-controls{background:#c1dfed}.control-strip{background:#f7fcff;border:0;border-bottom:3px solid #082d49;padding:22px 18px;margin-top:16px}.control-strip b{color:#075a87}.control-strip kbd{background:#e7f5fb;border-bottom-color:#8ab8ce;box-shadow:2px 2px #082d49}.control-strip small{color:#4c6b7d}.club-section{padding:30px 0}.section-heading h2{color:#075a87}.team-card{background:#f7fcff;box-shadow:3px 3px #86afc3;border-bottom-color:#94b8c9}.team-card.selected{background:#c8f2f3;border-color:#0877bd;box-shadow:3px 3px #082d49}.card-top{color:#47738d}.team-card.selected .check{color:#0877bd}.team-card b{color:#082d49}.team-card small{color:#55758b}.pause-screen,.end-screen{background:#f7fcfff5}.pause-screen:before{background:#093451;color:#aff4ee;box-shadow:3px 3px #9bbfd0}.pause-screen h2,.end-screen h2{color:#075a87}.final-score{color:#082d49}.final-score span{color:#82b1c7}.skip-replay{background:#ffdf6b;color:#082d49}dialog{background:#f7fcff;box-shadow:8px 8px #082d49;border-top:8px solid #0877bd}dialog::backdrop{background:#082d49bb}dialog h2{color:#075a87}dialog .close{background:#e0eff6;color:#075a87}.mode-cards button{background:#edf7fb;border-bottom-color:#8fb8cb}.mode-cards button.selected{background:#c8f2f3;border-color:#0877bd}.mode-cards span,.rival-preview span{color:#0877bd}.mode-cards small{color:#4c6b7d}.star{background:#edf7fb;border-color:#94b8c9}.statbar .filled{background:#0877bd}.career-summary{background:#093451;box-shadow:4px 4px #9bbfd0}.career-summary b{color:#aff4ee}.career-summary p{color:#d8eff9}.contract-ticket{background:#ecf8fc;border-left-color:#d83d45;box-shadow:4px 4px #86afc3}.contract-ticket>span{color:#b22b36}.contract-ticket>b{color:#075a87}.drill-grid article{background:#edf8fc;box-shadow:3px 3px #86afc3}.drill-grid article>span{color:#0877bd}.drill-grid button{background:#2bc6ce;border-bottom-color:#087e9b}.badge-grid>div{background:#e4eff4;border-color:#93b7c9;color:#5b788a}.badge-grid .earned{background:#fff1b2;color:#624c14;box-shadow:3px 3px #c6a54b}.venue-grid button{background:#edf8fc}.venue-grid button.equipped{background:#c8f2f3;outline-color:#0877bd}.reward-slip{background:#fff1b2;border-left-color:#0877bd}.reward-slip span{color:#075a87}.perk-grid button{background:#edf8fc}.perk-grid button>span{color:#0877bd}footer{color:#55758b}@media(max-width:1050px){.intro{gap:28px}.intro h1{font-size:32px}.intro h1 em{font-size:20px}.hero-actions button{font-size:18px}.brand-meta{font-size:15px}.brand-meta span{font-size:11px}.pool-pass-bottom strong{font-size:12px}}@media(max-width:800px){.topbar{height:66px}.intro{gap:24px;padding:28px 0;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.intro h1{font-size:24px}.intro h1 em{font-size:16px;letter-spacing:2px;margin:8px 0 0;padding:0;max-width:none}.intro p{font-size:21px}.intro .eyebrow{font-size:12px;letter-spacing:.5px}.hero-actions{gap:9px;margin-top:18px}.hero-actions button{font-size:17px;padding:8px 10px}.pool-spec{font-size:11px;letter-spacing:.2px;gap:6px}.pool-pass-top{font-size:10px;padding:6px}.pool-pass-bottom{padding:12px}.pool-pass-bottom strong{font-size:10px}.pool-pass-bottom>div>span{font-size:11px}.cup-seal{width:43px;height:47px;font-size:10px}.rival-rail{font-size:11px}.pool-stamp{font-size:10px;left:9px;bottom:9px}.pool-stamp b{font-size:11px}.career-strip b{font-size:19px}.control-strip{margin-top:12px;padding:18px 12px}.pool-pass{box-shadow:4px 4px #082d49}}@media(max-width:600px){.intro{grid-template-columns:1fr;gap:24px;padding:25px 0}.intro h1{font-size:29px;margin:14px 0}.intro h1 em{font-size:19px;letter-spacing:4px;display:block}.intro p{font-size:22px}.intro p br{display:none}.hero-actions{margin-top:18px}.hero-actions button{flex:1;padding:9px;font-size:18px}.pool-spec{font-size:12px;margin-top:15px;gap:10px}.pool-pass{display:grid;grid-template-columns:1.1fr 1fr;transform:none}.pool-pass-top,.rival-rail{grid-column:1/-1}.pool-illustration{border-bottom:0;border-right:3px solid #082d49;display:flex;align-items:center;background:#25bdcd}.pool-illustration svg{height:auto}.pool-pass-bottom{padding:10px 12px}.pool-pass-bottom strong{font-size:10px}.pool-pass-bottom>div>span{font-size:10px}.cup-seal,.pool-stamp{display:none}.rival-rail{font-size:12px}.rival-rail span{padding:6px}.career-strip{margin-top:0;padding:12px}.career-strip #practice{font-size:16px}.brand-meta{font-size:13px;letter-spacing:.4px}.brand-meta span{font-size:10px;letter-spacing:0}.topbar{gap:10px}.topbar #career{font-size:13px}.playing .topbar{background:#f7fcff}.playing .topbar:before{height:3px}}@media(max-width:360px){.brand-meta{display:none}.intro h1{font-size:25px}.hero-actions button{font-size:15px}.pool-spec{gap:7px;font-size:11px}.pool-pass-bottom strong{font-size:9px}}@media(max-width:600px){.topbar .brand-meta{display:none}}.hero-actions{flex-wrap:wrap}.hero-actions #friend-challenge{background:#e3f7f8;color:#075a87;font-size:17px}.simple-controls{padding:9px 12px;text-align:center;background:#fff1b2;border-top:3px solid #082d49;font-size:18px;line-height:1.2;color:#082d49}.cap-palette{display:flex;gap:10px;margin:12px 0 6px}.cap-palette button{background:var(--cap);width:42px;min-height:36px;color:#082d49;border:3px solid #082d49;border-bottom:6px solid #456a7e;box-shadow:2px 2px #082d49}.cap-palette [aria-pressed=true]{outline:3px solid #0877bd;outline-offset:3px}dialog input:not([type=checkbox]),dialog select{max-width:100%;font:inherit;padding:9px 12px;color:#082d49;background:#edf8fc;border:2px solid #082d49}dialog label{display:block;font-size:17px;margin:12px 0 5px}.check-setting{display:flex;align-items:center;gap:9px}.check-setting input{width:20px;height:20px;accent-color:#0877bd}.locker-extra{margin:16px 0;border-top:2px solid #8fb8cb;padding-top:12px}.locker-extra summary{cursor:pointer;font-size:19px;color:#075a87;padding:5px 0}.locker-extra>p{font-size:17px;line-height:1.4}.locker-extra .roster{grid-template-columns:1fr 1fr}.binding-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.binding-grid button{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#e3f7f8;gap:10px}.challenge-ticket{padding:18px;border:3px solid #082d49;border-left:8px solid #d83d45;background:#fff1b2;box-shadow:4px 4px #082d49;margin:18px 0}.challenge-ticket b,.challenge-ticket span{display:block;line-height:1.5}.skip-lesson{position:absolute;right:12px;top:12px;z-index:8;background:#fff1b2;color:#082d49;border:3px solid #082d49;border-bottom-width:5px;font-size:17px;padding:8px}.match-awards{display:grid;gap:4px;padding:10px 14px;background:#d9f4f4;border-left:4px solid #0877bd;font-size:18px;max-width:560px}.match-awards span{font-size:16px;color:#376178}.end-screen{overflow:auto}.end-screen>small{max-width:560px;line-height:1.3}.reward-slip details{font-size:15px}.reward-slip summary{cursor:pointer;padding:3px 0}.reward-slip p{font-size:14px}.playing .simple-controls{padding:7px 10px;font-size:17px}.playing main{max-width:min(1260px,calc((100dvh - 280px)*1.846));padding-bottom:5px}.playing .court-wrap{aspect-ratio:960/520}.playing canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.playing .topbar #locker{display:none}.playing .end-screen{justify-content:flex-start;padding-top:18px}.playing .end-screen .primary{margin-top:3px}.playing .end-screen h2{font-size:17px}.playing .reward-slip{margin:3px 0;padding:8px 12px}.playing .final-score{font-size:24px}.playing .secondary-controls summary{padding:7px 12px}.playing .secondary-controls summary small{display:none}@media(max-width:800px){.playing main{max-width:100%;padding:4px}.playing .topbar #help{display:none}.topbar nav{gap:4px}.topbar nav button{font-size:13px}.binding-grid{grid-template-columns:1fr}.playing .simple-controls{font-size:15px}.match-awards{font-size:15px;padding:6px}.match-awards span{font-size:13px}.playing .end-screen{gap:5px;padding:10px}.playing .end-screen h2{font-size:12px}.playing .end-screen p{font-size:16px;margin:1px}.playing .end-screen .primary,.playing .end-screen .secondary{font-size:17px;padding:6px 9px}.skip-lesson{font-size:13px;padding:4px}}@media(max-height:650px)and (min-width:801px){.playing main{max-width:min(1260px,calc((100dvh - 230px)*1.846))}.playing .topbar{display:none}.playing .end-screen{gap:5px;padding:10px}.playing .match-awards{padding:5px}.playing .end-screen p{margin:0}.playing .reward-slip details{display:none}}.start-screen{top:5%;max-height:90%;overflow:auto;overscroll-behavior:contain}.pause-screen{overflow:auto;overscroll-behavior:contain}@media(max-height:650px){.pause-screen{justify-content:flex-start;padding-top:18px}}.save-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.save-actions label{width:100%;margin:0}.save-actions input{max-width:100%;font:inherit}.save-actions [hidden]{display:none}#save-status{min-height:2em;overflow-wrap:anywhere}.save-warning{padding:12px;border:3px solid var(--ink);background:var(--yellow);box-shadow:4px 4px 0 var(--ink)}.clock-warning{position:absolute;z-index:5;top:10px;left:50%;transform:translate(-50%);display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 18px;min-width:230px;padding:8px 14px;background:#082d49;border:3px solid #ffdb4d;box-shadow:4px 4px #000;pointer-events:none;color:#ffdb4d}.clock-warning[hidden]{display:none}.clock-warning>span{font-family:var(--pixel);font-size:10px;line-height:1.5;max-width:130px}.clock-warning>strong{font-family:var(--pixel);font-size:32px;line-height:1.1;font-variant-numeric:tabular-nums}.clock-warning.is-urgent{background:#8d202e;border-color:#fff3b5;color:#fff3b5}.clock-track{grid-column:1/-1;height:5px;background:#ffffff35}.clock-track>i{display:block;height:100%;background:currentColor}.led-display.clock-low{color:#ffdb4d;box-shadow:inset 0 0 0 3px #f86b58}.quick-shot-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:10px 16px;border-top:3px solid var(--ink);background:#e6f3f8}.quick-shot-row>span{font-size:16px;color:var(--muted)}.quick-shot-row .shot-types{display:flex;gap:8px}.quick-shot-row .shot-types button{min-height:38px;padding:5px 12px}.quick-shot-row>small{margin-left:auto;color:var(--ink);font-size:15px}.sling-setting{margin:16px 0}.sling-setting label{display:flex;justify-content:space-between;gap:12px}.sling-setting input{width:100%;accent-color:#0877bd;min-height:32px}.sling-setting small{display:block}.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}@media(max-width:650px){.clock-warning{top:3px;min-width:180px;padding:3px 8px;gap:0 10px;border-width:2px}.clock-warning>span{font-size:7px;line-height:1.2;max-width:135px}.clock-warning>strong{font-size:20px;line-height:1}.clock-warning .clock-track{position:absolute;left:0;right:0;bottom:0;height:2px}.quick-shot-row{padding:8px;gap:8px}.quick-shot-row>span{display:none}.quick-shot-row>small{margin-left:0;font-size:13px}.quick-shot-row .shot-types button{padding:5px 8px}}
