/* TICKERDOME dome/stadium theme tokens (Show Graphics & QA, Nov 1 2026).
   Load AFTER css/tokens.css and assets/graphics/floor_tokens.css. Overrides --floor-* so existing site.css re-themes
   without edits, and adds --td-* tokens + .td-* classes. SHOW_TITLE ("Tickerdome") is text; no title baked in art. */
:root{
  /* arena */
  --td-arena:#07080F; --td-bowl:#121628; --td-card:#161B30; --td-card-hi:#1D2340; --td-steel:#2A3150; --td-rule:rgba(57,213,255,.18);
  /* scoreboard */
  --td-green:#2BE38A; --td-amber:#FFB020; --td-red:#FF4D5E;
  /* accents */
  --td-cyan:#39D5FF; --td-gold:#FFCD50; --td-on-gold:#140E00;
  /* text (muted readable cards: body on --td-card is >= 7:1) */
  --td-fg:#F2F4FA; --td-dim:#A9B1CC; --td-mute:#8A93B3;
  /* status */
  --td-onair:#2BE38A; --td-bench:#4A5170; --td-workshop:#FFB020; --td-unseen:#3A4A86;
  /* fonts */
  --td-font-display:"Oswald","Bebas Neue","Arial Narrow",Impact,sans-serif;
  --td-font-score:"DejaVu Sans Mono","IBM Plex Mono","Consolas",ui-monospace,monospace;
  --td-font-body:"Oswald","DejaVu Sans","Verdana",system-ui,sans-serif;
  /* spacing / shape */
  --td-radius:12px; --td-pill:999px; --td-gap:16px; --td-card-pad:18px; --td-min-text:16px;
  --td-glow:0 0 0 1px var(--td-steel),0 8px 28px rgba(0,0,0,.55);
  --td-spot:radial-gradient(ellipse at 50% -10%,rgba(255,205,80,.16),transparent 55%),radial-gradient(ellipse at 15% -10%,rgba(57,213,255,.12),transparent 50%),radial-gradient(ellipse at 85% -10%,rgba(57,213,255,.12),transparent 50%);

  /* re-map legacy floor tokens to dome palette */
  --floor-bg:var(--td-arena); --floor-panel:var(--td-card); --floor-grid:var(--td-rule);
  --floor-gold:var(--td-gold); --floor-on-gold:var(--td-on-gold); --floor-fg:var(--td-fg); --floor-dim:var(--td-dim); --floor-grey:var(--td-mute);
  --floor-win:var(--td-green); --floor-loss:var(--td-red); --floor-flat:var(--td-mute); --floor-cyan:var(--td-cyan); --floor-amber:var(--td-amber);
  --floor-onair:var(--td-onair); --floor-unseen:var(--td-unseen); --floor-workshop:var(--td-workshop); --floor-bench:var(--td-bench);
  --floor-font:var(--td-font-body); --floor-radius:var(--td-radius);
}
/* Fonts: Oswald via Google Fonts link OR local file; falls back cleanly offline.
   <link href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;600;700&display=swap" rel="stylesheet"> */
body.td{background:var(--td-spot),var(--td-arena);color:var(--td-fg);font-family:var(--td-font-body);font-size:max(var(--td-min-text),1rem)}
.td-title{font:700 clamp(2rem,6vw,4.5rem)/1 var(--td-font-display);color:var(--td-gold);letter-spacing:.02em;text-transform:uppercase}
.td-score{font-family:var(--td-font-score);font-weight:700;font-variant-numeric:tabular-nums}
.td-win{color:var(--td-green)} .td-loss{color:var(--td-red)} .td-flat{color:var(--td-mute)}
.td-ticker{background:#05060B;border-top:2px solid var(--td-cyan);font:700 1rem var(--td-font-score);white-space:nowrap;overflow:hidden;padding:.5em 1em}
.td-scoreboard{background:#03040A;border:3px solid var(--td-steel);border-radius:var(--td-radius);box-shadow:inset 0 0 0 1px var(--td-rule)}
/* Muted readable player card */
.td-card{background:var(--td-card);border:1px solid var(--td-steel);border-radius:var(--td-radius);padding:var(--td-card-pad);box-shadow:var(--td-glow);display:grid;gap:10px}
.td-card:hover,.td-card:focus-within{background:var(--td-card-hi);border-color:var(--td-gold)}
.td-card__name{font:700 1.4rem var(--td-font-display);color:var(--td-gold);text-transform:uppercase}
.td-card__motto{color:var(--td-cyan);font-style:italic}
.td-card__meta{color:var(--td-dim);font-size:.95rem}
.td-card__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.td-stat{background:#0B0E1C;border:1px solid var(--td-steel);border-radius:8px;padding:8px}
.td-stat__k{font:600 .75rem var(--td-font-display);color:var(--td-mute);letter-spacing:.06em;text-transform:uppercase}
.td-stat__v{font:700 1.25rem var(--td-font-score)}
.td-pips{display:flex;gap:6px}.td-pip{width:14px;height:14px;border-radius:50%;background:var(--td-mute)}
.td-pip--win{background:var(--td-green)}.td-pip--stop{background:var(--td-red)}.td-pip--flat{background:var(--td-amber)}
.td-card--unseen{filter:saturate(.4);border-style:dashed} /* keep silhouette + "Strategy classified. Revealed on air." */
.td-card--bench .td-card__name{color:var(--td-dim)}
/* Tags / badges */
.td-tag{display:inline-block;font:700 .8rem var(--td-font-display);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--td-pill);padding:.25em .8em}
.td-tag--onair{background:var(--td-onair);color:#04140B}
.td-tag--onair::before{content:"● ";color:#04140B}
.td-tag--bench{background:var(--td-bench);color:var(--td-fg)}
.td-tag--workshop{background:var(--td-workshop);color:#120A00}
.td-tag--unseen{background:var(--td-unseen);color:var(--td-fg)}
.td-paper{display:inline-block;background:var(--td-amber);color:#120A00;font:700 .85rem var(--td-font-display);letter-spacing:.08em;border-radius:6px;padding:.2em .6em}
.td-proof{color:var(--td-amber);border:2px solid var(--td-amber);border-radius:6px;padding:.15em .6em;font:700 .8rem var(--td-font-display);letter-spacing:.04em}
.td-nextair{display:flex;gap:1rem;align-items:center;background:#03040A;border-top:3px solid var(--td-amber);padding:.8rem 1rem}
.td-nextair__pill{background:var(--td-red);color:#fff;font:700 1rem var(--td-font-display);padding:.3em .8em;border-radius:6px}
