/* Six genuine seats, with team identity separate from player colour. */
.seat-move-button{border:1px solid #98b5ca;border-radius:7px;background:#f5fcff;color:#245e89;padding:5px 8px;font:900 10px/1.2 system-ui;cursor:pointer;white-space:nowrap}
.seat-move-button:hover{background:#d1f0ff;border-color:#3789bb}.seat-move-button:focus-visible{outline:3px solid #25679b;outline-offset:2px}.seat-move-button:disabled{opacity:.55;cursor:default}
.seat-request-status{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 12px;padding:9px 12px;border-radius:10px;background:#d5efff;color:#245e89;font-size:12px;font-weight:800}
.seat-request-status button{padding:7px 12px;border:1px solid #7da9c6;border-radius:7px;background:white;color:#245e89;font:800 11px system-ui;cursor:pointer}
.seat-change-notice{margin:0 0 10px;color:#226b59;background:#d6f7e5;padding:9px 12px;border-radius:8px;font-size:12px;font-weight:800}
.seat-swap-dialog{width:min(470px,calc(100vw - 40px));padding:30px;border:2px solid #9ad7ef;border-radius:24px;background:linear-gradient(145deg,#f9fdff,#e2f2ff);color:#255277;box-shadow:0 20px 80px #071c4870}
.seat-swap-dialog::backdrop{background:#071f47b8;backdrop-filter:blur(4px)}
.seat-swap-dialog h2{margin:8px 0 12px;font-size:28px;color:#235783}.seat-swap-dialog p{font-size:14px;line-height:1.5;margin:10px 0}
.seat-swap-destination{padding:16px;border-radius:12px;margin:18px 0 12px;font-weight:900;font-size:17px;background:#d4efff;color:#236d98;border:1px solid #90ccea}
.seat-swap-destination[data-team=sun]{background:#fff0c7;color:#88601d;border-color:#efd180}
.seat-swap-dialog .seat-swap-hint{font-size:12px;color:#42698a}.seat-swap-expiry{display:block;color:#5d7896;font-size:11px;margin-top:10px}
.seat-swap-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.seat-swap-actions button{min-height:44px;cursor:pointer}
@media(max-height:520px){.seat-swap-dialog{padding:20px 26px;max-height:calc(100dvh - 24px)}.seat-swap-dialog h2{font-size:24px;margin:4px 0}.seat-swap-dialog p{margin:7px 0}.seat-swap-destination{padding:12px;margin:12px 0 8px}.seat-swap-actions{margin-top:14px}.seat-move-button{padding:4px 6px;font-size:9px}.seat-request-status{font-size:11px;margin-bottom:8px;padding:7px 10px}}
.room-roster[data-capacity="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.room-roster[data-capacity="6"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.room-roster[data-capacity="6"] .room-slot{height:206px}
.room-roster[data-capacity="6"] .slot-character{height:123px;max-width:88%}
.room-roster[data-capacity="6"] .empty-seat{height:118px}
.room-slot.team-sun{border-top-color:#f5bb4e}.room-slot.team-wave{border-top-color:#52bfeb}
.room-slot.is-ready{border-color:#41af95;background:linear-gradient(155deg,#f7fff7,#d8f8ef 70%,#acdedd)}
.room-slot .ready-badge{font-size:9px;letter-spacing:.35px}.room-slot.is-ready .ready-badge{color:#217764}
.room-slot .slot-team{font-weight:900}.team-sun .slot-team{color:#8c6120}.team-wave .slot-team{color:#216f9b}
.kick-player{position:absolute;top:35px;right:7px;width:25px;height:25px;border-radius:50%;border:1px solid #d99e98;background:#fff5f0ed;color:#a64d44;font:bold 19px/1 sans-serif;cursor:pointer;z-index:1}
.kick-player:hover{background:#ffe1d7}.kick-player:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 5px #2863a3}
.room-team-status .team-seat.sun{background:#ffd678;color:#674c15}.room-team-status .team-seat.wave{background:#80d7f5;color:#155778}
.start-battle.guest-ready-action{background:linear-gradient(#91f2d2,#55cbae);border-color:#b8fff0;color:#155e55;box-shadow:0 5px 0 #218b85}
.start-battle.guest-ready-action.consent-given{background:linear-gradient(#e5f3fa,#b8dae9);border-color:#f4fcff;color:#386a85;box-shadow:0 5px 0 #719db7}
.arcade-room #room-screen[data-host=false] .room-start{grid-template-columns:minmax(0,1fr) 180px}
.arcade-room #room-screen[data-host=false] .room-start .guest-ready-action{display:flex}
.browser-settings .mode-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.browser-settings .mode-picker legend{grid-column:1/-1}
.browser-settings .mode-picker span{white-space:nowrap}
.is-playing #player-strip[data-count="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}
.is-playing #player-strip[data-count="6"] .player-card{padding:10px;gap:7px}
.is-playing #player-strip[data-count="6"] .player-number{width:30px;height:36px;flex:0 0 30px;font-size:18px}
.is-playing #player-strip[data-count="6"] .player-name{font-size:10px}
.is-playing #player-strip[data-count="6"] .player-stats{font-size:10px;gap:4px}
.arcade-room #room-roster .room-slot{justify-content:flex-start;padding-bottom:8px}
.arcade-room #room-roster .slot-header{flex:0 0 31px}
.arcade-room #room-roster .slot-character{flex:1 1 auto;min-height:0;margin:0;object-fit:contain}
.arcade-room #room-roster .room-slot>strong{flex:0 0 19px;line-height:19px;min-height:19px;margin:0;max-width:94%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arcade-room #room-roster .room-slot>small{flex:0 0 17px;min-height:17px;line-height:17px;margin:0}
.arcade-room #room-roster .empty-seat{flex:0 0 52px;min-height:52px;height:52px;width:52px;margin:auto 0;border-radius:50%;line-height:52px}
.arcade-room #room-roster .kick-player{top:37px;right:8px;width:auto;height:25px;padding:0 9px;border-radius:7px;font:800 10px/1 system-ui}
.arcade-room .room-start{position:sticky;bottom:12px;margin-top:0;z-index:5;border-radius:14px;background:#16517af5;padding:9px;box-shadow:0 3px 12px #113a6b44}
.arcade-room .room-start #room-hint{margin:0 0 7px;min-height:0;color:#e3f5ff}
@media(max-height:520px) and (min-width:650px){
 .arcade-room #room-screen{padding-bottom:92px}
 .arcade-room .room-start{position:fixed;bottom:8px;left:16px;right:16px;padding:7px 11px}
 .arcade-room .room-start #room-hint{margin:0}
 .arcade-room #room-roster .room-slot>strong{font-size:11px}
 .arcade-room #room-roster .room-slot>small{font-size:9px}
}
@media(max-height:520px) and (min-width:650px){
 .room-roster[data-capacity="6"]{gap:7px}.room-roster[data-capacity="6"] .room-slot{height:187px}.room-roster[data-capacity="6"] .slot-character{height:104px}.room-slot .ready-badge{font-size:8px}
 .arcade-room #room-screen .room-body{height:calc(100dvh - 208px);min-height:160px;overflow-y:auto;align-items:start;scroll-padding:10px;overscroll-behavior:contain;padding-bottom:16px}
 .arcade-room #room-roster .room-slot{height:143px}
 .arcade-room #room-roster .slot-character{height:54px}
 .arcade-room #room-roster .empty-seat{flex-basis:38px;min-height:38px;height:38px;width:38px;line-height:38px;font-size:28px}
 .arcade-room #room-roster .slot-header{flex-basis:25px}
 .arcade-room #room-roster .kick-player{top:28px}
}
