/* Both setup choices share a label baseline and a 52px control row. */
.game-dock .character-select .character-options,.game-dock .character-select .difficulty-control{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;max-width:none}
.game-dock .character-select h2,.game-dock .character-select .difficulty-control>.dock-label{display:block;margin:0;font:800 12px/18px Nunito,sans-serif;letter-spacing:.3px;text-transform:none;color:#655167;white-space:nowrap}
.game-dock .character-select .difficulty-options{height:52px;padding:3px;align-items:stretch}
.game-dock .character-select .difficulty-button{min-height:0;padding:6px 12px;font-size:12px}
.game-dock .character-select .avatar-choice,.game-dock .character-select .avatar-placeholder{height:52px}
@media(min-width:901px){
 body[data-view=home] .game-dock{grid-template-columns:max-content minmax(180px,1fr) max-content;gap:24px}
 body[data-view=home] .game-dock>.character-select{display:grid;grid-template-columns:max-content max-content;align-items:start;gap:24px}
 body[data-view=home] .game-dock .main-action{width:100%;max-width:430px;margin-inline:auto}
}
@media(max-width:900px) and (min-width:701px){.game-dock>.character-select{gap:12px}}
@media(max-width:700px){
 .game-dock>.character-select{gap:14px}
 .game-dock .character-select .difficulty-control{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:8px}
 .game-dock .character-select .difficulty-button{flex:1;padding:6px 8px}
 .game-dock .character-select .difficulty-options{min-width:0}
}
/* Keep urgency local to the timer; never flash or shake the whole game. */
#match-timer{min-width:100px;transform-origin:top right;transition:background .25s,border-color .25s,color .25s}
#match-timer strong{font-variant-numeric:tabular-nums;min-width:2ch;text-align:center}
#match-timer[data-urgency=soon],#match-timer[data-urgency=final]{background:#ffdf95;border-color:#ab551c;color:#81370f;box-shadow:0 0 0 4px #ffc05b44,2px 3px 0 #352b4259}
#match-timer[data-urgency=final]{background:#ffe1cb;border-color:#b03931;color:#a1262c;box-shadow:0 0 0 5px #e7866f55,2px 3px 0 #352b4259}
#match-timer:not([data-urgency=normal]) strong{animation:timer-heartbeat 1s ease-in-out infinite}
#match-timer[data-urgency=final] strong{animation-duration:.65s}
#match-timer[data-paused=true] strong{animation-play-state:paused}
#match-timer:not([data-urgency=normal]) small{color:inherit}
@keyframes timer-heartbeat{0%,100%{transform:scale(1.12)}35%{transform:scale(1.32)}}
@media(max-width:700px){#match-timer{min-width:78px}}
@media(prefers-reduced-motion:reduce){#match-timer:not([data-urgency=normal]) strong{animation:none;transform:scale(1.16)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body[data-view=home] .game-dock .character-select :is(h2,.difficulty-control>.dock-label){font:800 12px/18px Nunito,sans-serif;letter-spacing:.3px;text-transform:none;color:#655167;margin:0}
