/* v1.10.9 — resilient rooms, QR joining, host controls, pause/resume. */

.room-code{display:flex!important;align-items:center;gap:4px;flex-wrap:nowrap}
.room-code .qr-room-btn{white-space:nowrap}
.room-share-hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.room-qr-modal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.room-qr-modal h3{margin:0;color:#f0d19a}
.room-qr-code{display:grid;place-items:center;width:min(260px,62vw);aspect-ratio:1;padding:10px;border-radius:13px;background:#fff;box-shadow:0 12px 30px #0008}
.room-qr-code svg{display:block;width:100%;height:100%}
.room-qr-modal>strong{font:900 22px/1 Georgia,"Noto Serif SC",serif;letter-spacing:.16em;color:#f0c879}
.room-qr-modal>small{max-width:380px;color:#aa9478;line-height:1.45}

.lobby-player-main{display:flex;align-items:center;gap:7px;min-width:0}
.lobby-player-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lobby-player-main>small{margin-left:auto;color:#8c7c67;font-size:8px}
.lobby-player.offline-player{opacity:.72;border-color:#4e3a2c}
.lobby-remove-player{margin-left:5px;flex:0 0 auto;color:#e1b487!important;border-color:#785035!important}

.room-security-control{
  display:grid;grid-template-columns:minmax(135px,.75fr) minmax(160px,1fr) auto;align-items:center;gap:8px;
  margin:8px 0;padding:9px 10px;border:1px solid #5e452f;border-radius:10px;background:#120e0bd9
}
.room-security-control>div{display:flex;flex-direction:column;gap:2px}
.room-security-control strong{color:#e7c489;font-size:11px}
.room-security-control small{color:#948169;font-size:8px}
.room-security-control input{min-width:0;height:32px;padding:6px 9px;border:1px solid #5d4837;border-radius:7px;background:#0b0908;color:#f0e4d0;font-size:10px;outline:none}
.room-security-control input:focus{border-color:#bd8944;box-shadow:0 0 0 2px #b9843524}

.host-game-controls{display:flex;align-items:center;gap:6px;margin-left:auto;flex:0 0 auto}
.host-game-controls>small{color:#8f9e79;font-size:7px;white-space:nowrap}
.host-game-controls .small-btn{height:25px;padding:2px 7px;white-space:nowrap}
.paused-banner{border-color:#b88a45!important;background:linear-gradient(90deg,#2e2318,#13100d)!important}
.paused-banner .turn-title{color:#f0cb81!important}

.seat-cap{position:relative}
.seat-host-action{
  position:absolute;right:0;top:17px;z-index:6;padding:2px 4px;border:1px solid #66452f;border-radius:5px;
  background:#1a120e;color:#cfa56d;font:800 6px/1.1 Inter,"Noto Sans SC",sans-serif;cursor:pointer;opacity:.72
}
.opponent-seat:hover .seat-host-action,.seat-host-action:focus-visible{opacity:1;border-color:#b47c3b;color:#f0c987}

@media (orientation:landscape) and (max-height:620px){
  .room-code .qr-room-btn{padding-inline:4px!important;font-size:6px!important}
  .room-security-control{grid-template-columns:112px minmax(120px,1fr) auto;margin:5px 0;padding:6px 7px;gap:5px}
  .room-security-control strong{font-size:8px}.room-security-control small{font-size:6px}.room-security-control input{height:26px;padding:4px 6px;font-size:8px}
  .host-game-controls>small{display:none}.host-game-controls .small-btn{height:22px;padding:2px 5px;font-size:7px}
  .seat-host-action{top:14px;font-size:5px;padding:1px 3px}
  .room-qr-code{width:min(190px,48vw);padding:7px}
}

@media (max-width:760px){
  .room-security-control{grid-template-columns:1fr auto}
  .room-security-control>div{grid-column:1/3}
  .room-security-control input{min-width:0}
}
