/* PR final: compact, information-first lobby UI. Game-board styles remain in chokaigi-table.css. */
#denno-lobby .lobby-card { width: min(94vw, 740px); padding: 18px; }
#denno-lobby .lobby-view.hidden, #denno-lobby .lobby-panel.hidden { display: none; }
#denno-lobby .lobby-home-actions { display: grid; gap: 10px; margin: 18px 0; }
#denno-lobby .lobby-home-actions button { min-height: 48px; font-size: 15px; }
#denno-lobby .lobby-home-actions button.secondary { background: #28443c; }
#denno-lobby .lobby-counts { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-left: auto; color: #9fc5ba; font-size: 11px; white-space: nowrap; }
#denno-lobby .lobby-counts strong { color: #f3c969; font-size: 13px; }
#denno-lobby .lobby-links { display: grid; gap: 1px; margin-top: 8px; border-top: 1px solid #24403a; }
#denno-lobby .lobby-links button, #denno-lobby .lobby-links a { display: flex; justify-content: space-between; align-items: center; min-height: 42px; padding: 0 4px; border: 0; border-bottom: 1px solid #24403a; border-radius: 0; background: transparent; color: #cfe3dd; text-align: left; text-decoration: none; font-weight: 600; cursor: pointer; }
#denno-lobby .lobby-links button:hover, #denno-lobby .lobby-links a:hover { color: #f3c969; background: rgba(34, 204, 136, 0.08); }
#denno-lobby .lobby-links .lobby-link-disabled { color: #718a82; cursor: not-allowed; }
#denno-lobby .lobby-muted { color: #8fb3aa; font-size: 12px; }
#denno-lobby .lobby-toolbar, #denno-lobby .lobby-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
#denno-lobby .lobby-toolbar { justify-content: space-between; margin-bottom: 12px; }
#denno-lobby .lobby-toolbar button, #denno-lobby .lobby-actions button { min-height: 40px; }
#denno-lobby .lobby-form { display: grid; gap: 10px; margin: 12px 0; }
#denno-lobby .lobby-form label { display: grid; gap: 4px; font-size: 12px; color: #b9cfc9; }
#denno-lobby .lobby-form input { box-sizing: border-box; width: 100%; padding: 10px; border: 1px solid #2c4a42; border-radius: 6px; background: #0b1714; color: #e7f0ee; font-size: 15px; }
#denno-lobby .room-card { padding: 12px; }
#denno-lobby .room-card.dynamic { border-color: #356c61; }
#denno-lobby .room-name { font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#denno-lobby .room-meta { display: flex; justify-content: space-between; gap: 8px; color: #9fc5ba; font-size: 12px; }
#denno-lobby .room-participants { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; padding: 0; list-style: none; font-size: 12px; }
#denno-lobby .room-participants li { padding: 3px 7px; border-radius: 999px; background: #1b3830; }
#denno-lobby .room-lock { color: #f3c969; }
#denno-lobby .waiting-title { margin: 4px 0 14px; font-size: 18px; }
#denno-lobby .waiting-slots { display: grid; gap: 8px; margin: 12px 0 16px; }
#denno-lobby .waiting-slot { display: flex; justify-content: space-between; gap: 8px; padding: 10px 12px; border: 1px solid #24403a; border-radius: 7px; background: #0e1c19; }
#denno-lobby .waiting-slot.host { border-color: #d7ad46; }
#denno-lobby .host-mark { color: #f3c969; font-size: 11px; white-space: nowrap; }
#denno-lobby .lobby-alert { margin: 10px 0; padding: 9px 10px; border-radius: 6px; background: #3a2424; color: #ffd0d0; font-size: 13px; }
#denno-lobby .lobby-card-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
#denno-lobby .lobby-card-grid .room-card { min-width: 0; min-height: 154px; margin: 0; display: flex; flex-direction: column; }
#denno-lobby .lobby-card-grid .room-actions { margin-top: auto; }
#denno-lobby .room-participant-slots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin: 10px 0; }
#denno-lobby .room-participant-slot { min-width: 0; padding: 7px 5px; overflow: hidden; border: 1px solid #24403a; border-radius: 5px; background: #122720; color: #cfe3dd; text-align: center; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
#denno-lobby .room-participant-slot.empty { color: #718a82; }
#denno-lobby .room-badges { display: flex; flex-wrap: wrap; gap: 8px; color: #9fc5ba; font-size: 11px; }
#denno-lobby .room-status-badge { color: #f3c969; }
#denno-lobby .lobby-empty { padding: 28px 12px; border: 1px dashed #356c61; border-radius: 8px; color: #9fc5ba; text-align: center; }
#denno-lobby .lobby-empty strong { display: block; margin-bottom: 6px; color: #e7f0ee; }
#denno-lobby #lobby-spectator-view h2 { margin: 0; font-size: 18px; }
@media (min-width: 640px) {
  #denno-lobby .lobby-card { padding: 24px; }
  #denno-lobby .lobby-home-actions { grid-template-columns: 1fr 1fr; }
  #denno-lobby .lobby-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 980px) {
  #denno-lobby .lobby-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  #denno-lobby .lobby-name-row { align-items: flex-start; flex-wrap: wrap; }
  #denno-lobby .lobby-name-row #lobby-name { min-width: 150px; }
  #denno-lobby .lobby-counts { width: 100%; margin-left: 0; padding-left: 48px; }
}
/* Random matchmaking keeps its own waiting state and is never rendered as a room card. */
#lobby-random-view { text-align: center; }
#lobby-random-state { margin: 18px 0 10px; font-size: 1.05rem; }
#lobby-random-count, #lobby-random-playing { display: block; margin: 4px 0; }
#lobby-random-match { min-height: 1.5em; margin: 12px 0; }
