/* The room list over a game (public/room-list.js): a button in the top bar and its dropdown. */
.rooms-wrap { position: relative; }
.rooms-btn { font-variant-numeric: tabular-nums; white-space: nowrap; }
.rooms-pop {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 50; width: min(360px, calc(100vw - 32px));
  background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 14px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55);
}
.rooms-title { margin: 0 0 10px; display: grid; gap: 2px; }
.rooms-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-height: 50vh; overflow: auto; }
.room-row { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 9px 10px; border-radius: 10px; background: var(--panel-2); border: 1px solid transparent; }
.room-row.here { border-color: var(--brand); }
.room-head { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.room-count { font-weight: 700; font-variant-numeric: tabular-nums; }
.room-who { grid-column: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.room-act { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.room-here { font-size: 12px; font-weight: 700; color: var(--brand-2); }
.rooms-foot { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
@media (max-width: 700px) {
  .rooms-pop { position: fixed; top: 56px; left: 16px; right: 16px; width: auto; }
}
