/* A clearer scoreboard and a tactile deck; the playable floor keeps its space. */
.scoreboard{background:#203d37;border-bottom:2px solid #98aa88}
.score-team{font-size:16px}.score-team small{font-size:10px;color:#cad4b3;line-height:1.5}
.score-numbers{font-variant-numeric:tabular-nums;letter-spacing:1px}
.score-numbers b{color:#fff0bf;text-shadow:2px 2px #142e28}
.game-meta{background:#e4dfc0;color:#344a3c;min-height:29px;font-size:11px}
#clock{font-size:16px;min-width:52px;letter-spacing:1px}
#clock.clutch{background:#805843;color:#fff1cd;padding:0 5px}
.controls{background:#254c40;border-top:2px solid #a1b48b}
.action-button{box-shadow:inset -3px -3px #19372d66,inset 2px 2px #fff4c425;transition:filter 60ms,box-shadow 60ms}
.action-button.pressed{box-shadow:inset 3px 3px #1c3d2d88;filter:brightness(1.14)}
#shoot-btn{background:#e2b55d;color:#2b432e;border-color:#f5db8f}
#shoot-btn.ready,#shoot-btn.containing{background:#b0cf8c;color:#213b2b}
#drive-btn{background:#b97a50;border-color:#e6ba82}
#pass-btn{background:#73946d;border-color:#b8c99b}
.possession-pill{align-self:center;font-size:10px;color:#e7e2ba;flex:1;text-align:center;white-space:nowrap}
.possession-pill[data-state=defense]{color:#bde2d7}.possession-pill[data-state=attack]{color:#f2d381}
.utility-bar:has(.possession-pill){gap:6px}.utility-bar:has(.possession-pill) button{min-width:56px;padding:5px 8px}
.controlled-info{border-top:1px solid #6b8b6a66;font-size:13px}
.controlled-info .stamina-track{height:7px;border:1px solid #a5b988}
.controlled-info .energy{min-width:44px;font-size:12px}
.court-preferences{margin:18px 0 24px;padding:14px;background:#e2e7d3;border:1px solid #9eaf91}
.court-preferences h3{font-size:16px;font-weight:400}.court-preferences .setting-row:last-child{border-bottom:0}
.last-match-card{display:flex;align-items:center;gap:10px;text-align:left;width:100%;border:2px solid #344c3d;background:#e4d5ad;padding:12px;margin:22px 0 8px;box-shadow:3px 3px #b3be9b}
.last-match-card>span{font-size:27px}.last-match-card>div{flex:1;min-width:0}.last-match-card b{display:block;font-size:17px;font-weight:400}.last-match-card small{font-size:10px;color:#65705a}.last-match-card>strong{font-size:12px;font-weight:400}
.home-intro{padding-top:24px;padding-bottom:20px}.home-title{font-size:39px;line-height:1.4}
.mode-card{box-shadow:3px 3px #acb99b}.mode-card:active,.last-match-card:active{transform:translate(2px,2px);box-shadow:1px 1px #a6b492}
.player-row .avatar{border:1px solid #a2b196;background:#e0e3cb;image-rendering:pixelated}
.practice-gesture{display:flex;align-items:center;gap:9px;border:1px dashed #a0b38f;background:#e1e6cc;padding:2px 8px;margin:5px 0;color:#415b3b;min-height:28px}
.practice-gesture i{display:inline-block;min-width:46px;font-style:normal;font-size:16px;text-align:center;color:#865d33}
.practice-gesture span{font-size:11px;line-height:1.5}
.practice-gesture[data-motion=down] i{animation:guideDown 1.6s steps(4,end) infinite}
.practice-gesture[data-motion=up] i{animation:guideUp 1.6s steps(4,end) infinite}
.practice-gesture[data-motion=side] i{animation:guideSide 1.6s steps(4,end) infinite}
.practice-gesture[data-motion=tap] i,.practice-gesture[data-motion=hold] i{animation:guideTap 1.6s steps(2,end) infinite}
.practice-top .practice-instruction{max-height:none}.practice-top .practice-instruction p{font-size:12px;line-height:1.6;margin:4px 0}
@keyframes guideDown{0%,80%,100%{transform:translateY(-2px)}55%{transform:translateY(3px)}}
@keyframes guideUp{0%,80%,100%{transform:translateY(2px)}55%{transform:translateY(-3px)}}
@keyframes guideSide{0%,80%,100%{transform:translateX(-4px)}55%{transform:translateX(4px)}}
@keyframes guideTap{0%,80%,100%{opacity:1}55%{opacity:.35}}
@media(max-width:360px){.score-team{font-size:14px}.score-team small{font-size:9px}.game-meta{font-size:10px}.possession-pill{font-size:9px}.utility-bar:has(.possession-pill) button{min-width:54px;padding:5px 6px}.home-title{font-size:32px}.last-match-card{padding:10px;gap:6px}.last-match-card>strong{font-size:11px}.practice-gesture span{font-size:10px}.practice-gesture{margin:3px 0;min-height:25px}.practice-top .practice-instruction p{font-size:11px;line-height:1.55}}
@media(prefers-reduced-motion:reduce){.practice-gesture i{animation:none!important}.action-button{transition:none}}
.defense-schemes{background:#e1e7d0;border:1px solid #a2b493;padding:13px;margin-bottom:22px}.defense-schemes h3{font-size:17px;font-weight:400}.defense-schemes p{font-size:12px;line-height:1.8;color:#607558}.defense-schemes .choice-row{margin-top:12px}
/* Training omits the player info strip. Reclaim that strip's former empty
   height so the gesture card never crowds a short phone's playable floor. */
.practice-shell .controls{height:calc(203px + var(--safe))}
.practice-shell[data-control-size=large] .controls{height:calc(219px + var(--safe))}
@media(max-height:710px){
 .practice-shell .controls{height:calc(193px + var(--safe))}
 .practice-shell[data-control-size=large] .controls{height:calc(209px + var(--safe))}
}
@media(max-height:710px){
 .practice-top .practice-status{display:none}
 .practice-top .practice-gesture span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
}
