/* One clear start; readable controls; the dance takes the foreground. */
.lobby-play{margin-top:6px}
.mode-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.mode-picker button{padding:12px 9px;text-align:left;min-width:0;border:1px solid #42516e;border-radius:8px;background:#202b43;color:#e9edee}
.mode-picker b{display:block;font-size:13px;font-weight:700}.mode-picker small{display:block;font-size:11px;line-height:1.4;margin-top:5px;color:#b0bfd6}
.mode-picker button[aria-pressed=true]{border-color:#dfff70;background:#303e3d;box-shadow:inset 0 3px #dfff70}.mode-picker button[aria-pressed=true] b{color:#e3ff88}
.mode-picker button:hover:not([aria-pressed=true]){background:#2b3852;border-color:#8092b1}
.mode-panel{margin:0;padding:16px 0 0;min-width:0;background:none;border-radius:0}.mode-panel p{margin:0 0 14px;font-size:13px;line-height:1.6;color:#c1cee1}.mode-panel label{font-size:11px;color:#c1cee1}.mode-footnote{display:block;font-size:11px;margin:10px 0;color:#a9bad5}
.mode-panel.turn-options{display:grid;grid-template-columns:1fr 142px;gap:14px;align-items:center;background:none;border:0;border-radius:0;box-shadow:none}.mode-panel.turn-options b{display:block;font-size:13px;color:#ecf0e3;font-weight:500}.mode-panel.turn-options small{display:block;font-size:11px;line-height:1.5;color:#acbdd5;margin-top:4px}
#setup .mode-panel select{font-size:13px;min-height:40px;border-radius:7px;padding:8px 10px}
#setup .mode-start{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;font-size:15px;padding:12px 18px;border-radius:8px;grid-column:1/-1}.mode-start span{font-size:22px;line-height:1}
.lobby-explore{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #35415b}
.lobby-explore .workshop-entry{display:block;margin:0;padding:12px 14px;background:#202b43;border-color:transparent;border-radius:9px}.lobby-explore .workshop-entry:hover{background:#293651;border-color:#536887}.lobby-explore b{display:block;font-size:13px;color:#e7eddf}.lobby-explore b span{float:right;color:#a6b9d9}.lobby-explore small{display:block;font-size:11px;color:#aebfd9;margin-top:6px;line-height:1.4}
#setup .lobby-settings{padding-bottom:16px}#setup .song-choice{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:44px;font-size:13px;border-color:#3c4b67;background:#202a40;padding:10px 12px}#setup .song-choice small{font-size:10px;margin:0 0 0 auto;color:#b2c1d8;letter-spacing:.06em}
#setup .lobby-bottom .setup-control span,#setup .lobby-bottom .text{font-size:12px}#setup .lobby-bottom{gap:16px;margin-top:16px}#setup .setup-control input{width:16px;height:16px;margin:0}#setup #loading{font-size:11px;color:#b6c6dc;min-height:16px}#setup #loading[data-state=ready]{color:#a5b89d}#setup #loading[data-state=error]{color:#ffccad}
#setup .lobby-config{padding-top:22px}#setup .setup-players{margin-bottom:16px}#setup .section-label{font-size:11px;margin-bottom:9px}#setup .section-label>a,#setup .section-label>span+span{font-size:11px}#setup .player-slot{font-size:11px;padding:10px 2px}#setup .player-slot b{display:none}#setup .keys-hint{font-size:11px;letter-spacing:0;line-height:1.5}
#setup .lobby-song small{font-size:10px;line-height:1.4}#setup .lobby-song b{font-size:13px}#setup .lobby-song em{font-size:11px;line-height:1.4}#setup .lobby-poster{padding:28px 26px}#setup .poster-location{margin-top:36px;margin-bottom:20px}#setup .lobby-song{margin-top:auto}
#setup .lobby-preview{height:130px}#setup .character-choice{font-size:13px;min-height:38px}#setup .venue-choice .venue-art{height:78px}#setup .venue-choice>span{min-height:38px}#setup .venue-choice>span b{font-size:12px}
.players .player-heading{min-height:58px;height:auto;padding:10px 0}.players .player-name small{font-size:10px;line-height:1.4}.players .score b{font-size:32px;font-weight:700;letter-spacing:-.045em}.players .score small{font-size:12px}.players .combo-pill{font-size:10px;letter-spacing:.03em}
.players .banks button{font-size:11px;min-height:32px;padding:7px 10px}.players .deck-head{flex-wrap:wrap;row-gap:6px}.players .deck-head>span{font-size:10px;line-height:1.5}.players .pad{height:45px;padding:6px 8px;border-radius:7px}.players .pad kbd{font-size:12px}.players .pad span{font-size:11px}.players .row-label{font-size:10px;letter-spacing:.04em}
.players .flow-choices{gap:8px;margin:10px 0}.players .flow-choice{padding:9px 10px;border-color:#435571;min-height:70px}.players .flow-choice small{font-size:10px}.players .flow-choice b{font-size:12px;line-height:1.4}.players .flow-choice>span{font-size:11px}.players .release{font-size:11px;padding:7px 10px}
.players .arena{border-radius:16px}.players .arena-info{font-size:12px}.players .trail{font-size:11px;bottom:14px}.players .dance-signal{padding:9px 16px;bottom:42px;min-width:175px;border-radius:12px}.players .dance-signal>span{font-size:10px}.players .dance-signal b{font-size:15px;line-height:1.35}
.players .countdown{font-size:clamp(72px,9vw,116px);font-weight:900;font-style:italic;text-shadow:0 4px 0 #10182d,0 8px 35px #0b102d;pointer-events:none;background:#10182d24}
header .round-clock b{font-weight:750;font-size:30px;font-variant-numeric:tabular-nums}header .round-clock small{font-size:10px;max-width:190px}header nav button,header nav a{font-size:12px;min-height:36px}footer{font-size:11px;line-height:1.5;color:#a4b7d2}
#results .result-scores{align-items:start}#results .result-scores>div[data-winner=true]{transform:none;background:#293d40;box-shadow:inset 0 4px #dfff70}#results .result-face{height:110px}#results .result-rank{font-size:11px;letter-spacing:.05em}#results .result-scores b{font-size:clamp(32px,4vw,48px);overflow-wrap:anywhere}#results .result-scores dl div{font-size:12px;line-height:1.5;padding:5px 0}#results .result-scores>div>small{font-size:16px}#results .actions{display:grid;grid-template-columns:1.1fr 1fr;gap:12px}#results .actions button{font-size:14px;min-height:44px}#results #record{font-size:11px;line-height:1.5}
#pauseDialog .actions{display:grid;grid-template-columns:1fr;gap:9px}#pauseDialog .actions button{min-height:44px;font-size:14px}#pauseDialog p{font-size:14px;line-height:1.6}#pauseDialog .text{font-size:12px;min-height:36px}
@media(max-width:940px){
 #setup .lobby-shell{grid-template-columns:1fr;width:min(760px,100%)}#setup .lobby-poster{display:grid;grid-template-columns:1fr auto;gap:18px;padding:22px 26px}#setup .mode-tabs{margin:0;align-self:start}#setup .poster-title{grid-column:1;grid-row:2}#setup .poster-title h1{font-size:36px;line-height:1.05;margin:0}#setup .poster-title h1 em br{display:none}#setup .poster-title p,#setup .poster-title .eyebrow,#setup .poster-star{display:none}#setup .poster-location{grid-column:2;grid-row:2;margin:0;width:180px;transform:rotate(3deg)}#setup .poster-location .venue-art{height:90px}#setup .poster-location b{font-size:18px}#setup .poster-location>span{font-size:9px}#setup .lobby-song{display:none}#setup .lobby-config{padding:24px 26px}#setup .venue-choices{grid-template-columns:repeat(4,minmax(0,1fr))}#setup .lobby-preview{height:160px}
 .players .player-tally{flex-direction:row}.players .key-row{grid-template-columns:1fr;gap:4px;margin:7px 0}.players .pad{padding:6px}.players .flow-choice b{white-space:normal}
}
@media(max-width:600px){
 #setup .lobby-poster{padding:18px;gap:20px 10px}#setup .poster-title h1{font-size:29px}#setup .poster-location{width:130px}#setup .poster-location .venue-art{height:80px}#setup .poster-location b{font-size:15px}#setup .lobby-config{padding:22px 16px}#setup .lobby-preview{height:125px}#setup .character-choices{flex-direction:column}#setup .character-choice{min-height:38px}#setup .venue-choices,#setup .mode-picker{grid-template-columns:repeat(2,minmax(0,1fr))}#setup .mode-panel.turn-options{grid-template-columns:1fr 130px}#setup .lobby-bottom{align-items:flex-start;flex-wrap:wrap}#setup .lobby-explore{gap:8px}#setup .lobby-explore .workshop-entry{padding:12px 9px}
 .players .flow-choice{padding:8px}.players .flow-choice b{font-size:11px}.players .player-name{font-size:19px}.players .player-name small{font-size:10px}.players .score b{font-size:28px}.players .pad span{font-size:10px}.players .pad{height:46px}.players .arena{height:340px}header .brand{font-size:17px}header .round-clock b{font-size:26px}
 #results{padding:22px 16px}#results .result-face{height:105px}#results .result-scores>div{padding:10px}#results .result-scores dl div{font-size:11px;display:block}#results .result-scores dd{margin-top:2px}#results .result-scores b{font-size:32px}#results .actions{grid-template-columns:1fr}
}
@media(max-width:370px){#setup .poster-location{width:105px}#setup .poster-title h1{font-size:25px}#setup .section-label{align-items:flex-start;line-height:1.5}#setup .section-label>a{text-align:right}#setup .mode-panel.turn-options,#setup .lobby-explore{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){dialog[open]:not(#setup){animation:dialog-arrive .18s ease-out}@keyframes dialog-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}.mode-picker button,.workshop-entry{transition:background .16s,border-color .16s}}

#results h2{font-size:32px}#results .result-scores{margin:16px 0 10px}#results #turnResults table{margin:14px 0}#results #turnResults th,#results #turnResults td{padding:8px}#results #record{margin:12px 0}#results .actions{margin-bottom:0}

#setup .mode-panel.workshop-options p{font-size:13px!important}
/* A reading target receives programmatic focus; actionable controls keep their rings. */
#setupTitle[tabindex="-1"]:focus,dialog h2[tabindex="-1"]:focus{outline:none}
