.room-entry-actions { display:flex; gap:8px; align-items:stretch; }
.room-entry-actions .room-enter { flex:1; }
.room-watch { display:flex; justify-content:center; align-items:center; gap:5px; min-width:84px; padding:10px; color:#d7e8db; background:#15382f; border:1px solid #577562; border-radius:7px; }
.room-watch svg { width:18px; height:18px; }
.spectators-button { display:flex; justify-content:center; align-items:center; gap:4px; border:0; border-radius:5px; background:#244637; color:#e5dbb0; padding:4px 8px; font-size:11px; white-space:nowrap; }
.spectators-button svg { width:15px; height:15px; }
.live-screen .table-status .pot-ribbon { grid-column:1; grid-row:2; }
.live-screen .table-status .spectators-button { grid-column:2; grid-row:2; height:23px; }
.live-screen .spectator-dock { grid-template-columns:1fr; }
.live-screen .spectator-dock .my-cards { display:none; }
.spectator-controls { display:grid; align-content:center; gap:12px; padding:12px 4px; font-size:12px; min-width:0; }
.spectator-controls > div:first-child { display:grid; gap:5px; text-align:center; }
.spectator-controls b { font-size:13px; color:#f3dcaa; }
.spectator-controls span { color:#a8c8b4; line-height:1.5; }
.spectator-actions { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:8px; }
.spectator-actions button { min-height:42px; min-width:0; padding:8px 4px; border:1px solid #768761; border-radius:7px; background:#284b38; color:#f7dfa4; font-size:12px; }
.spectator-actions button:last-child { background:#172e2b; border-color:#48695a; color:#cbdbd1; }
.spectator-actions button:disabled { opacity:.5; }
.live-screen .action-area > .spectator-controls { flex:1; }
.spectator-list { display:grid; gap:10px; }
.spectator-list > div { display:flex; align-items:center; gap:10px; min-width:0; padding:7px 0; border-bottom:1px solid #78947533; }
.spectator-list b { overflow-wrap:anywhere; font-size:14px; }
.spectator-list .avatar { width:36px; height:36px; flex:none; }
.spectator-seat-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.spectator-seat-picker button { min-height:60px; padding:8px 4px; border:1px solid #647e64; border-radius:8px; background:#203b32; color:#e6deb0; }
.spectator-seat-picker small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:5px; font-size:11px; }
.tw-screen .spectators-button { margin-left:auto; }
.tw-screen .spectator-controls { margin:10px 0 0; padding:12px; border:1px solid #8ba67655; border-radius:9px; background:#0b2d23; }
.tw-watching-progress { min-height:110px; }
.tw-watching-progress small { font-size:11px; color:#b4cbbd; }
.tw-watching-progress i { font-style:normal; color:#f1d68d; }
.live-screen.is-spectating .player-seat { width:clamp(48px,16vw,74px); }
.live-screen.is-spectating .seat-info { width:100%; }
.tw-spectating .tw-opponents { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tw-spectating .tw-opponent-card { min-width:0; }
.tw-spectating .tw-opponent-head { flex-wrap:wrap; gap:5px; }
.tw-spectating .tw-opponent-head strong { flex-basis:100%; text-align:right; }
.tw-spectating .tw-opponent-lanes,.tw-spectating .tw-felt-center { display:none; }
.tw-spectating .tw-self-banner { font-size:12px; }
