@layer classic {
/* Lobby choices share the existing segmented controls; long bed information opens separately. */
.lobby-card { position:relative; }
.choice-short { display:none; }
.choice-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; }
.choice-row .field-label { margin:0; }
.choice-row .seg { flex:none; }
#lobby.joined .play-list, #lobby.joined .name-field, #lobby.joined .last-result { display:none; }
#quick-setup { display:block; color:var(--cream-dim); font:inherit; font-size:14px; font-weight:600; text-align:left; background:none; border:0; cursor:pointer; padding:9px 14px; }
#quick-setup:focus-visible, .lobby-details summary:focus-visible { outline:2px solid var(--honey); }
#player-list li { height:auto; min-width:0; flex-wrap:wrap; }
#player-list .player-heading { display:flex; align-items:center; gap:6px; width:100%; min-width:0; }
#player-list .player-heading .chip { flex:none; }
#player-list .player-chips { display:flex; flex-wrap:wrap; align-items:center; gap:4px; min-width:0; max-width:100%; }
#player-list .chip { white-space:normal; overflow-wrap:anywhere; }
.lobby-roster, .lobby-config { min-width:0; }
.lobby-actions { display:flex; justify-content:space-between; gap:12px; margin-top:6px; }
.lobby-actions .btn { flex:1; }
.lobby-details { position:static; }
.lobby-details > summary { cursor:pointer; padding:6px 0; color:var(--cream-dim); font-size:14px; }
.lobby-details .details-body { position:absolute; z-index:10; top:14px; right:14px; width:calc(100% - 28px); max-height:calc(100% - 28px); overflow:auto; overscroll-behavior:contain; padding:14px; background:var(--ink,#172037); color:var(--cream); border:2px solid var(--cream-dim); border-radius:12px; box-shadow:0 6px 18px #0008; }
.bed-plan { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.bed-plan > div { border:1px solid currentColor; border-radius:6px; padding:8px; min-width:0; }
.bed-plan strong, .bed-plan small { display:block; }
.bed-pair { display:flex; gap:6px; }
.bed-plan button { margin:6px 0; padding:8px; width:100%; color:inherit; background:transparent; border:1px solid currentColor; border-radius:4px; cursor:pointer; }
.bed-plan button[aria-pressed="true"] { outline:2px solid #ddb776; }
.bed-owner { overflow-wrap:anywhere; }
#bed-status { font-size:13px; }
@media (max-height:500px), (max-width:500px) {
  #lobby { padding:10px; overflow:hidden; }
  #lobby .lobby-card { margin:0; padding:14px; max-height:calc(100dvh - 20px); }
  #lobby .lobby-head { gap:8px; margin-bottom:8px; }
  #lobby .moon { width:32px; height:32px; }
  #lobby .title { font-size:24px; }
  #lobby .tagline, #lobby .legend, #lobby .legend-touch, #lobby.joined .lobby-status, #lobby #mic-hint { display:none; }
  #lobby .field { margin-bottom:4px; }
  #lobby .seg { gap:2px; padding:2px; }
  #lobby .seg button { padding:6px 8px; font-size:14px; }
  #lobby .house { margin-top:0; padding:0; background:none; }
  #lobby .choice-long { display:none; }
  #lobby .choice-short { display:inline; }
  #lobby .mode-seg { flex:1; }
  #lobby #mode-label { display:none; }
  #lobby .player-list { gap:4px; margin-bottom:6px; }
  #lobby .player-list li { padding:4px 6px; gap:4px; }
  #lobby .player-chips { flex-basis:100%; }
  #lobby .chip { padding:1px 5px; }
  #lobby .mic-row { margin:4px 0 0; gap:6px; }
  #lobby .mic-row .btn, #lobby .lobby-actions .btn { padding:6px 10px; font-size:14px; }
  #lobby .play-list, #lobby .solo-block { gap:4px; }
  #lobby .play-btn { padding:7px 10px; gap:8px; }
  #lobby .play-main { font-size:18px; }
  #lobby .play-sub { display:none; }
  #lobby #name-input { padding:6px 10px; }
  #lobby #quick-setup, #lobby details.more > summary { padding:6px 10px; }
  #lobby details.more { margin-top:4px; }
  #lobby details.more[open] { position:absolute; z-index:9; inset:10px; margin:0; overflow:auto; overscroll-behavior:contain; padding:10px; background:var(--night); border:2px solid var(--cream-dim); }
  #lobby details.more[open] > summary { position:sticky; top:-10px; z-index:1; background:var(--night); }
}
@media (max-height:500px) and (min-width:501px) {
  #lobby:not(.joined) .lobby-card { width:min(760px,100%); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:0 18px; }
  #lobby:not(.joined) .lobby-head, #lobby:not(.joined) .name-field, #lobby:not(.joined) #quick-setup, #lobby:not(.joined) details.more { grid-column:1; }
  #lobby:not(.joined) .lobby-head { flex-wrap:wrap; }
  #lobby:not(.joined) .play-list { grid-column:2; grid-row:1 / 6; align-self:center; }
  #lobby.joined .lobby-card { width:min(760px,100%); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:12px; padding:10px 14px; }
  #lobby.joined .lobby-head, #lobby.joined .house { grid-column:1 / -1; }
  #lobby.joined .lobby-head { margin-bottom:4px; }
  #lobby.joined .house { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:0 18px; align-items:start; }
  #lobby .lobby-roster { grid-column:1; grid-row:1 / 3; }
  #lobby .lobby-config { grid-column:2; grid-row:1; }
  #lobby .mic-row { grid-column:2; grid-row:2; }
  #lobby.joined .lobby-head-text { display:none; }
  #lobby.joined .lobby-head { justify-content:flex-end; }
  #lobby.joined .moon { display:none; }
  #lobby.joined .lobby-customise { margin-left:auto; }
}
}
