/* Rounded arcade controls: retain the pixel lettering and quick, physical press. */
:root{--button-radius:12px;--button-edge:#071426;--button-base:#030d1c;--button-focus:#fff3bb}
button{border-radius:8px}
button:focus-visible,.social-primary:focus-visible{outline:3px solid var(--button-focus);outline-offset:3px}
.controls .top-row,.controls .bottom-row{gap:8px}
.controls .move,.controls .rush{
 border:2px solid var(--button-edge);border-radius:var(--button-radius);
 box-shadow:inset 0 2px #ffffff8c,inset 0 -3px #00000019,0 4px 0 var(--button-base);
 transition:box-shadow 80ms ease,filter 80ms ease;
}
.controls .left{background:#ffe2a0}.controls .right{background:#8dc6f2}
.controls .upper{background:#ff998d}.controls .body{background:#91dfc3}
.controls .rush{border-radius:14px;background:#34465e;color:#aabbd0}
.controls .rush:disabled{box-shadow:inset 0 1px #ffffff26,0 3px 0 var(--button-base)}
.controls .rush.ready{background:#eb5753;color:#fff3d3;box-shadow:inset 0 2px #ffbb9f,inset 0 -3px #9b242640,0 4px var(--button-base),0 0 0 2px #ffda66}
.controls .rush.on-ready{background:#f49c4f;color:#16223a;box-shadow:inset 0 2px #ffe4b8,inset 0 -3px #a2502240,0 4px var(--button-base),0 0 0 2px #ffdc84;overflow:hidden}
.controls .rush.on-ready:before{border-radius:12px;pointer-events:none}
.controls .rush.running{background:#f5b568;color:#172438}
.controls .move:active:not(:disabled),.controls .move.pressed:not(:disabled),.controls .rush:active:not(:disabled){
 transform:translateY(2px);box-shadow:inset 0 1px #ffffff73,inset 0 -1px #0002,0 2px var(--button-base);filter:brightness(1.06);
}
.header-actions button{border-radius:10px;border:1px solid #59708b;background:#1a304b;box-shadow:inset 0 1px #ffffff14,0 2px #030d1c;font-family:JamPixel,monospace;font-weight:400;font-size:14px}
.header-actions .settings{color:#e9dcc1}.header-actions .sound{color:#e5ecf3}
.header-actions .sound[aria-pressed=true]{background:#34372f;border-color:#ab954d;color:#ffe18a}
.social-actions{gap:8px}
.social-actions button{border:1px solid #536b87;border-radius:10px;box-shadow:inset 0 1px #ffffff12,0 2px #030d1c}
.social-actions button:last-child{border-color:#8a7950;background:#302e29;color:#ffe38a}
.talk-mark{border-radius:4px}
.setup-actions .start-game,.setup-actions .restart,.social-primary,.social-secondary{
 border:2px solid var(--button-edge);border-radius:var(--button-radius);box-shadow:inset 0 2px #ffffff70,inset 0 -3px #0002,0 3px var(--button-base);
}
.setup-actions .start-game:active,.setup-actions .restart:active,.social-primary:active:not(:disabled),.social-secondary:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #fff7,0 1px var(--button-base)}
.setup-close,.social-close{min-width:44px;min-height:44px;border-radius:10px;background:#1a304b;border:1px solid #5b718b;color:#e1eaf3}
.setup-tabs{border-radius:12px}.setup-tabs button{border-radius:8px}
.taunt-presets button,.opponent-loading-status button{border-radius:8px}
.opponent-card,.player-card{border-radius:8px}.opponent-card-face,.player-card-face{border-radius:5px}
.opponent-card:has(input:checked):after,.player-card:has(input:checked):after{border-radius:3px}
.social-dismiss{border-radius:8px}
.header-actions button:active:not(:disabled),.social-actions button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px #ffffff20,0 1px #030d1c}
@media(hover:hover){.controls .move:hover:not(:disabled),.social-actions button:hover:not(:disabled),.header-actions button:hover:not(:disabled){filter:brightness(1.08)}}
@media(prefers-reduced-motion:reduce){.controls .move,.controls .rush{transition:none}}
