/* Lobby page. Locked palette and fonts only. */
.bout-lobby-page {
  padding: var(--bout-section) var(--bout-inset);
  display: grid;
  gap: var(--bout-group);
}
.bout-lobby-title { display: grid; gap: var(--space-16); max-width: 70ch; }
.bout-lobby-title h1 { margin: 0; font: 500 var(--fs-h1)/var(--leading-display) var(--font-display); letter-spacing: var(--track-display); }
.bout-lobby-title p { margin: 0; font: 400 var(--fs-body)/var(--leading-body) var(--font-body); }
.bout-lobby-proof { font: 400 var(--fs-label)/1.5 var(--font-mono); }
.bout-lobby-section {
  border-top: 1px solid var(--line);
  padding-top: var(--space-32);
  display: grid;
  gap: var(--space-16);
  min-width: 0;
}
.bout-lobby-section h2 { margin: 0; font: 500 var(--fs-h2)/1.15 var(--font-display); }
.bout-lobby-area { min-width: 0; }
.bout-lobby-state { margin: 0; max-width: 70ch; }
.bout-lobby-dl {
  display: grid;
  gap: var(--space-12);
  margin: 0;
}
.bout-lobby-dl div {
  display: grid;
  gap: var(--space-4);
  min-height: 44px;
  align-content: center;
}
.bout-lobby-dl dt {
  font: 400 var(--fs-label)/1.4 var(--font-body);
  letter-spacing: var(--track-label);
  color: var(--ink-soft);
}
.bout-lobby-dl dd { margin: 0; font: 400 var(--fs-body)/1.4 var(--font-body); font-variant-numeric: tabular-nums; }
.bout-lobby-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
}
.bout-lobby-actions .bc-button { min-height: 44px; }
.bout-lobby-reason { margin: 0; max-width: 70ch; color: var(--ink-soft); }
.bout-lobby-progress {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: var(--space-8);
  padding: 0;
  margin: 0;
  font-family: var(--font-mono);
  color: var(--ink-soft);
}
.bout-lobby-progress li + li::before {
  content: ".";
  margin-right: var(--space-8);
  color: var(--ink-soft);
}
.bout-lobby-progress [data-current="true"] {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.bout-lobby-hash {
  font-family: var(--font-mono);
  font-size: var(--fs-data);
  overflow-wrap: anywhere;
  color: var(--ink);
}
.bout-lobby-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  min-width: 0;
}
.bout-lobby-table th,
.bout-lobby-table td {
  height: 44px;
  min-height: 44px;
  padding: 0 var(--space-8);
  vertical-align: middle;
  font: 400 var(--fs-body)/1.4 var(--font-body);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.bout-lobby-table th {
  font: 500 var(--fs-label)/1.4 var(--font-body);
  letter-spacing: var(--track-label);
  text-align: left;
}
.bout-lobby-table a { min-height: 44px; display: inline-flex; align-items: center; }
.bout-lobby-table .bc-button { min-height: 44px; }
.bout-lobby-more { min-height: 44px; justify-self: start; }
.bout-lobby-how {
  margin: 0;
  padding-left: var(--space-24);
  display: grid;
  gap: var(--space-12);
  max-width: 70ch;
}
.bout-lobby-how li { font: 400 var(--fs-body)/var(--leading-body) var(--font-body); }
.bout-lobby-page [hidden] { display: none !important; }
.bout-lobby-page button:disabled { cursor: not-allowed; }
@media (max-width: 767px) {
  .bout-lobby-table,
  .bout-lobby-table tbody,
  .bout-lobby-table tr { display: block; }
  .bout-lobby-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    clip-path: inset(50%);
    overflow: hidden;
  }
  .bout-lobby-table td {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    text-align: left;
    height: auto;
    min-height: 44px;
    padding: var(--space-12) 0;
  }
  .bout-lobby-table td::before {
    content: attr(data-label);
    font: 400 12px/1.4 var(--font-body);
    color: var(--ink-soft);
  }
}
@media (max-width: 360px) {
  .bout-lobby-page { overflow-x: hidden; }
  .bout-lobby-table { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .bout-lobby-page *,
  .bout-lobby-page *::before,
  .bout-lobby-page *::after { animation: none !important; transition: none !important; }
}

/* lead 2026-09-20 after looking at the live lobby page */
/* 1. one 'not published' sentence per section, not three */
#lobby-seat #lobbyStatus:not([data-live]) { display: none; }
#lobby-seat .bout-lobby-reason { display: none; }
body[data-lobby="open"] #lobby-seat #lobbyStatus, body[data-lobby="open"] #lobby-seat .bout-lobby-reason { display: block; }
/* 2. the contract band belongs right under the title, never between sections */
#lobbyPage > .bout-ca { grid-row: 2 !important; grid-column: 1 / -1; margin: 8px 0; }
#lobbyPage > .bout-lobby-title { grid-row: 1; }
#lobbyPage > #lobby-seat { grid-row: 3; }
#lobbyPage > #lobby-roster { grid-row: 4; }
#lobbyPage > #lobby-challenges { grid-row: 5; }
#lobbyPage > #lobby-how { grid-row: 6; }
/* 3. this page is Lobby in the nav */
body[data-page="lobby"] .bout-nav a[data-nav-key="lobby"] { font-weight: 500; text-decoration: underline; text-underline-offset: 10px; text-decoration-thickness: 2px; }
body[data-page="lobby"] .bout-nav__indicator, body[data-page="lobby"] .bout-nav-indicator { display: none; }
/* lead 2026-09-21: the owner could not find the lobby. Make it impossible to miss. */
.bout-lobby-callout { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 16px 0 24px; padding: 20px 24px; border: 2px solid var(--ink); background: var(--card); }
.bout-lobby-callout .kicker { margin: 0 0 6px; }
.bout-lobby-callout__line { margin: 0; font: 500 clamp(18px, 1.6vw, 22px)/1.3 var(--font-body); color: var(--ink); }
.bout-lobby-callout .bout-cta-primary { flex: none; min-height: 48px; padding: 0 24px; }
.bout-nav-lobby-phone { display: none; }
@media (max-width: 767px) {
  .bout-lobby-callout { flex-direction: column; align-items: stretch; padding: 16px; }
  .bout-lobby-callout .bout-cta-primary { justify-content: center; }
  .bout-nav-lobby-phone { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; margin-right: 8px; }
}