/* Glasswall components (Courtside direction)
   Requires tokens.css loaded first. All classes are prefixed gw- so they
   can sit alongside existing styles while screens are migrated. */

/* ---------- Base ---------- */
.gw, .gw * { box-sizing: border-box; }
.gw {
  margin: 0;
  min-height: 100vh;
  background: var(--gw-bg);
  color: var(--gw-ink);
  font-family: var(--gw-font-sans);
  font-size: var(--gw-text-md);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.gw a { color: var(--gw-link); }
.gw a:hover { color: var(--gw-link-hover); }
.gw button, .gw input, .gw select { font: inherit; }
.gw input, .gw select { color: inherit; }
.gw button { cursor: pointer; }
.gw :focus-visible { outline: 2px solid var(--gw-link); outline-offset: 2px; }
.gw-mono { font-family: var(--gw-font-mono); font-size: var(--gw-text-xs); }
.gw-muted { color: var(--gw-ink-muted); }
.gw-faint { color: var(--gw-ink-faint); }
.gw-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gw-h1 { margin: 0; font-size: var(--gw-text-4xl); font-weight: var(--gw-weight-strong); line-height: 1.2; }
.gw-h2 { margin: 0; font-size: var(--gw-text-xl); font-weight: var(--gw-weight-strong); line-height: 1.3; }
.gw-sub { margin: 2px 0 0; color: var(--gw-ink-muted); }

/* ---------- Brand wordmark (swap for the real logo SVG) ---------- */
.gw-brand { display: flex; flex-direction: column; }
.gw-brand__asn { font-weight: var(--gw-weight-strong); letter-spacing: 0.08em; font-size: var(--gw-text-xs); }
.gw-brand__product { font-size: var(--gw-text-2xl); font-weight: var(--gw-weight-medium); }
.gw-brand--inline { flex-direction: row; align-items: baseline; gap: 10px; }
.gw-brand--inline .gw-brand__asn { font-size: 11px; }
.gw-brand--inline .gw-brand__product { font-size: var(--gw-text-lg); }

/* ---------- Buttons ---------- */
.gw-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--gw-space-2);
  height: var(--gw-control-h); padding: 0 var(--gw-space-4);
  border-radius: var(--gw-radius-md);
  border: 1px solid var(--gw-control-border);
  background: var(--gw-surface); color: var(--gw-ink);
  font-size: var(--gw-text-sm); font-weight: var(--gw-weight-regular);
  text-decoration: none; white-space: nowrap;
}
.gw a.gw-btn { color: var(--gw-ink); }
.gw a.gw-btn--primary { color: var(--gw-on-base); }
.gw a.gw-btn--accent { color: var(--gw-on-accent); }
.gw-btn:hover { border-color: var(--gw-ink-muted); }
.gw-btn--primary { background: var(--gw-base); border-color: var(--gw-base); color: var(--gw-on-base); font-weight: var(--gw-weight-medium); }
.gw-btn--primary:hover { background: var(--gw-base-raised); border-color: var(--gw-base-raised); }
.gw-btn--accent { background: var(--gw-accent); border-color: var(--gw-accent); color: var(--gw-on-accent); font-weight: var(--gw-weight-strong); }
.gw-btn--danger { background: transparent; border-color: var(--gw-danger-border); color: var(--gw-danger-text); font-weight: var(--gw-weight-medium); }
.gw-btn--sm { height: 32px; padding: 0 var(--gw-space-3); font-size: var(--gw-text-xs); }
.gw-btn--lg { height: 52px; font-size: var(--gw-text-xl); border-radius: var(--gw-radius-lg); width: 100%; }
.gw-btn--block { width: 100%; }
.gw-btn[disabled] { background: var(--gw-track); border-color: var(--gw-track); color: var(--gw-ink-faint); cursor: not-allowed; }
.gw-icon-btn { width: var(--gw-control-h); padding: 0; flex-shrink: 0; }

/* ---------- Dots, tallies, chips, pills ---------- */
.gw-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; background: var(--gw-ink-faint); }
.gw-dot--live { background: var(--gw-live); }
.gw-dot--ok { background: var(--gw-ok-dot); }
.gw-dot--warn { background: var(--gw-warn-dot); }
.gw-status { display: inline-flex; align-items: center; gap: var(--gw-space-2); font-size: var(--gw-text-sm); }
.gw-status--ok { color: var(--gw-ok-text); }
.gw-status--warn { color: var(--gw-warn-text); }

.gw-tally {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 8px; border-radius: var(--gw-radius-sm);
  font-size: 11px; font-weight: var(--gw-weight-strong); letter-spacing: 0.06em;
  background: var(--gw-base-line); color: var(--gw-on-base-soft);
}
.gw-tally--on { background: var(--gw-live); color: #FFFFFF; }

.gw-chip { display: inline-block; padding: 2px 8px; border-radius: var(--gw-radius-sm); font-size: var(--gw-text-xs); }
.gw-chip--ok { background: var(--gw-ok-bg); color: var(--gw-ok-text); }
.gw-chip--warn { background: var(--gw-warn-bg); color: var(--gw-warn-text); }

.gw-pill {
  display: inline-flex; align-items: center; gap: var(--gw-space-2);
  padding: 6px 12px; border-radius: var(--gw-radius-pill);
  background: var(--gw-surface); border: 1px solid var(--gw-border); font-size: var(--gw-text-sm);
}
.gw-pill--warn { background: var(--gw-warn-bg); border-color: var(--gw-warn-border); color: var(--gw-warn-text); }
.gw-pill--accent { padding: 3px 10px; border: none; background: var(--gw-accent); color: var(--gw-on-accent); font-size: var(--gw-text-xs); font-weight: var(--gw-weight-strong); }

/* ---------- Cards ---------- */
.gw-card { background: var(--gw-surface); border: 1px solid var(--gw-border); border-radius: var(--gw-radius-lg); }
.gw-card--pad { padding: var(--gw-space-5); display: flex; flex-direction: column; gap: var(--gw-space-3); }
.gw-card__head { display: flex; justify-content: space-between; align-items: center; gap: var(--gw-space-3); padding: 14px var(--gw-space-5); border-bottom: 1px solid var(--gw-divider); }
.gw-card__body { padding: var(--gw-space-4) var(--gw-space-5); }

/* Key/value list */
.gw-kv { margin: 0; display: grid; grid-template-columns: 96px minmax(0, 1fr); row-gap: 4px; font-size: var(--gw-text-sm); }
.gw-kv dt { color: var(--gw-ink-muted); }
.gw-kv dd { margin: 0; min-width: 0; }
.gw-kv .is-error { color: var(--gw-error-text); }

/* ---------- Admin shell ---------- */
.gw-admin { display: flex; min-height: 100vh; }
.gw-sidebar {
  width: var(--gw-sidebar-w); flex-shrink: 0;
  background: var(--gw-base); color: var(--gw-on-base);
  padding: var(--gw-space-6) var(--gw-space-4);
  display: flex; flex-direction: column; gap: var(--gw-space-7);
  position: sticky; top: 0; height: 100vh;
}
.gw-sidebar .gw-brand { padding: 0 var(--gw-space-2); }
.gw-sidebar__label { margin: 0 var(--gw-space-2) var(--gw-space-2); font-size: var(--gw-text-xs); color: var(--gw-on-base-muted); }
.gw-venue {
  width: 100%; display: flex; justify-content: space-between; align-items: center;
  background: var(--gw-base-raised); color: var(--gw-on-base);
  border: 1px solid var(--gw-base-line); border-radius: var(--gw-radius-md);
  padding: 10px 12px; font-size: var(--gw-text-md); text-align: left;
}
.gw-count { font-family: var(--gw-font-mono); font-size: var(--gw-text-xs); color: var(--gw-on-base-muted); }
.gw-nav { display: flex; flex-direction: column; gap: 2px; }
.gw .gw-nav a {
  display: flex; justify-content: space-between; align-items: center;
  padding: 9px 12px; border-radius: var(--gw-radius-md);
  color: var(--gw-on-base-soft); text-decoration: none;
}
.gw .gw-nav a:hover { background: var(--gw-base-raised); color: var(--gw-on-base); }
.gw .gw-nav a[aria-current="page"] { background: var(--gw-surface); color: var(--gw-base); }
.gw .gw-nav a[aria-current="page"] .gw-count { color: var(--gw-ink-muted); }
.gw-sidebar__foot { margin-top: auto; padding: 0 var(--gw-space-2); display: flex; flex-direction: column; gap: var(--gw-space-2); font-size: var(--gw-text-xs); color: var(--gw-on-base-muted); }
.gw .gw-sidebar__foot a { color: var(--gw-on-base); }

.gw-main { flex: 1; min-width: 0; padding: var(--gw-space-7) var(--gw-space-8) 56px; display: flex; flex-direction: column; gap: var(--gw-space-6); }
.gw-main > * { min-width: 0; }
.gw-page-head { display: flex; justify-content: space-between; align-items: center; gap: var(--gw-space-4); flex-wrap: wrap; }
.gw-actions { display: flex; gap: var(--gw-space-2); flex-wrap: wrap; align-items: center; }
.gw-crumbs { margin: 0 0 6px; font-size: var(--gw-text-sm); color: var(--gw-ink-muted); }
.gw-crumbs span[aria-hidden] { color: var(--gw-ink-faint); margin: 0 4px; }

/* ---------- Video feed with court markings ---------- */
.gw-feed {
  position: relative; background: var(--gw-feed); overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  min-height: 180px;
}
.gw-feed::before { content: ""; position: absolute; inset: 16px 20px; border: 1px solid var(--gw-court-line); }
.gw-feed::after { content: ""; position: absolute; top: 16px; bottom: 16px; left: 50%; width: 1px; background: var(--gw-court-line); }
.gw-feed--video::before, .gw-feed--video::after { display: none; } /* hide markings when real video is playing */
.gw-feed > video, .gw-feed > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gw-feed__label { position: relative; z-index: 1; font-family: var(--gw-font-mono); font-size: 11px; letter-spacing: 0.1em; color: var(--gw-on-base-muted); background: var(--gw-feed); padding: 2px 8px; }
.gw-feed .gw-tally { position: absolute; z-index: 2; top: 10px; left: 10px; }
.gw-feed--wide { aspect-ratio: 16 / 9; border-radius: var(--gw-radius-lg); }
.gw-feed--wide::before { inset: 24px 32px; }
.gw-feed--wide::after { top: 24px; bottom: 24px; }

/* ---------- Court card (admin) ---------- */
.gw-courts { display: grid; grid-template-columns: repeat(auto-fill, minmax(500px, 1fr)); gap: var(--gw-space-4); }
.gw-court { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); overflow: hidden; }
.gw-court__body { padding: var(--gw-space-4); display: flex; flex-direction: column; gap: var(--gw-space-3); min-width: 0; }
.gw-court__title { display: flex; justify-content: space-between; align-items: baseline; gap: var(--gw-space-2); }
.gw-court__title h2 { margin: 0; font-size: var(--gw-text-2xl); font-weight: var(--gw-weight-strong); }
.gw .gw-court__title h2 a { color: var(--gw-ink); text-decoration: none; }
.gw-court__title .gw-edit { font-size: var(--gw-text-xs); color: var(--gw-ink-muted); }
.gw-court__actions { margin-top: auto; display: flex; gap: var(--gw-space-2); }
.gw-court__actions .gw-btn:not(.gw-icon-btn) { flex: 1; min-width: 0; padding: 0 10px; }

/* Match score */
.gw-score { background: var(--gw-bg); border-radius: var(--gw-radius-md); padding: 6px 10px; font-size: var(--gw-text-sm); }
.gw-score__row { display: flex; justify-content: space-between; gap: var(--gw-space-2); padding: 2px 0; }
.gw-score__row + .gw-score__row { border-top: 1px solid var(--gw-border); }
.gw-score__team { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gw-score__sets { font-family: var(--gw-font-mono); white-space: pre; }
.gw-score--plain { background: none; padding: 0; font-size: var(--gw-text-lg); }
.gw-score--plain .gw-score__row { padding: 6px 0; }

/* ---------- Tables ---------- */
.gw-table-wrap { overflow-x: auto; position: relative; }
.gw-table { width: 100%; border-collapse: collapse; font-size: var(--gw-text-sm); min-width: 720px; }
.gw-table th { text-align: left; padding: 10px var(--gw-space-3); font-size: var(--gw-text-xs); font-weight: var(--gw-weight-medium); color: var(--gw-ink-muted); }
.gw-table td { padding: 10px var(--gw-space-3); border-top: 1px solid var(--gw-divider); vertical-align: middle; }
.gw-table th:first-child, .gw-table td:first-child { padding-left: var(--gw-space-5); }
.gw-table th:last-child, .gw-table td:last-child { padding-right: var(--gw-space-5); }
.gw-table .num { text-align: right; font-family: var(--gw-font-mono); font-size: var(--gw-text-xs); }
.gw-table tr.is-attention td { background: var(--gw-warn-row); }
.gw-inline { display: inline-flex; align-items: center; gap: 10px; }
.gw-thumb { width: 64px; height: 36px; border-radius: var(--gw-radius-sm); background: var(--gw-feed); flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- Segmented control ---------- */
.gw-seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: var(--gw-radius-lg); background: var(--gw-track); }
.gw-seg button, .gw-seg label { height: 32px; padding: 0 14px; border-radius: var(--gw-radius-md); border: none; background: transparent; color: var(--gw-ink-muted); font-size: var(--gw-text-sm); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.gw-seg [aria-pressed="true"], .gw-seg label:has(input:checked) { background: var(--gw-surface); color: var(--gw-ink); font-weight: var(--gw-weight-strong); }
.gw-seg--block { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gw-seg--block label { height: 40px; font-size: var(--gw-text-md); }
.gw-seg input { position: absolute; opacity: 0; pointer-events: none; }

/* ---------- Switch ---------- */
.gw-switch { width: 44px; height: 26px; border-radius: var(--gw-radius-pill); background: var(--gw-control-border); border: none; position: relative; padding: 0; flex-shrink: 0; }
.gw-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--gw-surface); transition: left 0.15s; }
.gw-switch[aria-checked="true"] { background: var(--gw-base); }
.gw-switch[aria-checked="true"]::after { left: 21px; background: var(--gw-accent); }

/* ---------- Forms ---------- */
.gw-field { display: flex; flex-direction: column; gap: 4px; font-size: var(--gw-text-sm); color: var(--gw-ink-muted); }
.gw-field .gw-input { color: var(--gw-ink); }
.gw-input { height: 40px; width: 100%; border-radius: var(--gw-radius-md); border: 1px solid var(--gw-control-border); background: var(--gw-surface); padding: 0 12px; font-size: var(--gw-text-md); }
.gw-input::placeholder { color: var(--gw-ink-faint); }
.gw-option { display: flex; gap: 12px; align-items: flex-start; padding: 14px; background: var(--gw-surface); border: 1px solid var(--gw-border); border-radius: var(--gw-radius-lg); cursor: pointer; }
.gw-option input { margin-top: 4px; accent-color: var(--gw-base); }
.gw-option:has(input:checked) { border: 2px solid var(--gw-base); padding: 13px; }
.gw-option--compact { align-items: center; min-height: var(--gw-touch-h); padding: 0 12px; border-radius: var(--gw-radius-md); }
.gw-option--compact input { margin-top: 0; }
.gw-option--compact:has(input:checked) { padding: 0 11px; }
.gw-option__title { display: block; font-weight: var(--gw-weight-strong); }
.gw-option__help { display: block; font-size: var(--gw-text-sm); color: var(--gw-ink-muted); }
.gw-toggle-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; padding: 0 14px; background: var(--gw-surface); border: 1px solid var(--gw-border); border-radius: var(--gw-radius-lg); }
.gw-callout { display: flex; gap: 14px; align-items: flex-start; padding: var(--gw-space-4) var(--gw-space-5); }
.gw-callout p { margin: 0; }
.gw-dropzone { border: 1px dashed var(--gw-control-border); border-radius: var(--gw-radius-lg); padding: var(--gw-space-7); text-align: center; color: var(--gw-ink-muted); }
.gw-log { padding: 12px var(--gw-space-5); font-family: var(--gw-font-mono); font-size: var(--gw-text-xs); line-height: 1.8; color: var(--gw-ink-muted); background: var(--gw-surface-sunk); border-radius: 0 0 var(--gw-radius-lg) var(--gw-radius-lg); overflow-x: auto; }
.gw-log .is-error { color: var(--gw-error-text); }

/* Sponsor preview */
.gw-sponsors { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--gw-space-4); }
.gw-checker { aspect-ratio: 16 / 9; background-color: #FFFFFF; background-image: repeating-conic-gradient(#ECECF1 0% 25%, transparent 0% 50%); background-size: 16px 16px; border-bottom: 1px solid var(--gw-divider); }
.gw-checker img { width: 100%; height: 100%; object-fit: contain; display: block; }
.gw-sponsor { margin: 0; overflow: hidden; }
.gw-sponsor figcaption { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; }

/* Empty state */
.gw-empty { padding: 48px 24px; display: flex; flex-direction: column; align-items: center; gap: var(--gw-space-2); text-align: center; }
.gw-empty p { margin: 0; max-width: 420px; color: var(--gw-ink-muted); }
.gw-empty__icon { width: 44px; height: 44px; border-radius: 50%; background: var(--gw-bg); display: flex; align-items: center; justify-content: center; }

/* ---------- Customer (mobile first) ---------- */
.gw-cust { max-width: 480px; margin: 0 auto; min-height: 100vh; background: var(--gw-bg); font-size: var(--gw-text-lg); }
.gw-cust-hero { background: var(--gw-base); color: var(--gw-on-base); padding: 0 var(--gw-space-5) var(--gw-space-6); }
.gw-cust-hero p { color: var(--gw-on-base-soft); font-size: var(--gw-text-md); margin: 0; }
.gw .gw-cust-hero a { color: var(--gw-on-base); }
.gw-cust-header { display: flex; align-items: center; justify-content: space-between; height: 56px; font-size: var(--gw-text-sm); }
.gw-cust-hero h1 { margin: 10px 0 2px; font-size: 22px; font-weight: var(--gw-weight-strong); line-height: 1.25; }
.gw-cust-section { padding: var(--gw-space-6) var(--gw-space-5); display: flex; flex-direction: column; gap: var(--gw-space-5); }
.gw-cust-section .gw-h2 { font-size: var(--gw-text-3xl); }
.gw-label { margin: 0 0 var(--gw-space-2); font-size: var(--gw-text-sm); font-weight: var(--gw-weight-medium); color: var(--gw-ink-muted); }
.gw-legend { padding: 0; margin-bottom: 4px; font-size: var(--gw-text-2xl); font-weight: var(--gw-weight-strong); }
.gw-fieldset { border: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--gw-space-2); }
.gw-footnote { margin: 0; text-align: center; font-size: var(--gw-text-xs); color: var(--gw-ink-muted); }

/* Countdown block inside the hero: drawn as a court outline */
.gw-countdown-court { position: relative; margin-top: var(--gw-space-2); border: 1px solid rgba(255, 255, 255, 0.28); padding: 22px 20px 20px; }
.gw-countdown-court::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: rgba(255, 255, 255, 0.14); }
.gw-countdown-court > * { position: relative; background: var(--gw-base); padding: 4px 0; }
.gw-countdown { font-family: var(--gw-font-mono); font-size: 48px; line-height: 1; font-weight: var(--gw-weight-regular); }
.gw-countdown--sm { font-size: 28px; line-height: 1.1; }
.gw-countdown__label { font-size: var(--gw-text-sm); color: var(--gw-on-base-muted); margin-top: 6px; }

/* Pickers: court tiles, days, time slots (radio inputs inside labels) */
.gw-pick { position: relative; cursor: pointer; }
.gw-pick input { position: absolute; opacity: 0; pointer-events: none; }
.gw-pick-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gw-space-2); }
.gw-pick-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.gw-pick-grid-5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }

.gw-court-tile { height: 84px; border-radius: var(--gw-radius-md); background: var(--gw-surface); border: 2px solid var(--gw-border); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.gw-court-tile::before { content: ""; position: absolute; inset: 10px 12px; border: 1px solid var(--gw-border); }
.gw-court-tile::after { content: ""; position: absolute; top: 10px; bottom: 10px; left: 50%; width: 1px; background: var(--gw-border); }
.gw-court-tile span { position: relative; z-index: 1; font-size: var(--gw-text-md); font-weight: var(--gw-weight-strong); background: var(--gw-surface); padding: 0 6px; }
.gw-court-tile:has(input:checked) { background: var(--gw-base-raised); border-color: var(--gw-base); color: var(--gw-on-base); }
.gw-court-tile:has(input:checked)::before, .gw-court-tile:has(input:checked)::after { border-color: rgba(255, 255, 255, 0.35); background-color: transparent; }
.gw-court-tile:has(input:checked)::after { background: rgba(255, 255, 255, 0.35); }
.gw-court-tile:has(input:checked) span { background: var(--gw-base-raised); }

.gw-day, .gw-slot { border-radius: var(--gw-radius-md); background: var(--gw-surface); border: 1px solid var(--gw-border); display: flex; align-items: center; justify-content: center; }
.gw-day { height: 58px; flex-direction: column; }
.gw-day small { font-size: var(--gw-text-xs); }
.gw-day strong { font-size: 17px; font-weight: var(--gw-weight-strong); }
.gw-slot { height: var(--gw-touch-h); font-family: var(--gw-font-mono); font-size: var(--gw-text-sm); }
.gw-day:has(input:checked), .gw-slot:has(input:checked) { background: var(--gw-base); border-color: var(--gw-base); color: var(--gw-on-base); }
.gw-slot:has(input:disabled) { color: var(--gw-ink-faint); background: transparent; border-color: var(--gw-divider); text-decoration: line-through; cursor: not-allowed; }
.gw-pick :focus-visible + * , .gw-pick:has(input:focus-visible) { outline: 2px solid var(--gw-link); outline-offset: 2px; }

.gw-hint { margin: 0; padding: 14px 16px; border-radius: var(--gw-radius-lg); background: var(--gw-track); font-size: var(--gw-text-md); color: var(--gw-ink-muted); }
.gw-linkbox { display: flex; align-items: center; height: var(--gw-touch-h); padding: 0 12px; border-radius: var(--gw-radius-md); background: var(--gw-bg); font-family: var(--gw-font-mono); font-size: var(--gw-text-sm); color: var(--gw-ink-muted); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.gw-cust .gw-btn { height: var(--gw-touch-h); font-size: var(--gw-text-md); }
.gw-cust .gw-btn--lg { height: 52px; font-size: var(--gw-text-xl); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .gw-courts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .gw-admin { flex-direction: column; }
  .gw-sidebar { width: auto; height: auto; position: static; flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--gw-space-3); padding: var(--gw-space-3) var(--gw-space-4); }
  .gw-sidebar__venue, .gw-sidebar__foot span { display: none; }
  .gw-nav { flex-direction: row; overflow-x: auto; flex: 1 1 100%; min-width: 0; order: 3; }
  .gw-nav a { white-space: nowrap; gap: 8px; }
  .gw-sidebar__foot { margin: 0 0 0 auto; }
  .gw-main { padding: var(--gw-space-5) var(--gw-space-4) 40px; }
  .gw-court { grid-template-columns: minmax(0, 1fr); }
  .gw-court .gw-feed { aspect-ratio: 16 / 9; }
}

/* ---- GlassWall wordmark (2026-10-02): "ASN logo | GLASSWALL", same treatment as the Overtime sign-in lockup ---- */
@font-face { font-family: 'GW Poppins'; src: url('/static/Poppins-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
body .brand-product, body .gw-brand-link__product, body .gw-hero-brand__product, body .gw-wordmark {
  font-family: 'GW Poppins', 'Poppins', system-ui, sans-serif; font-weight: 700; font-size: 15px;
  letter-spacing: 1px; text-transform: uppercase; line-height: 1; }
body .brand img { filter: brightness(0); }
body .brand-divider { height: 22px; }
