/* styles/balls.css -- the page the 2026-10-28 handoff gave Today and
   Programme (`.tb-page`: its ground, its font, its tokens), and the four
   session groups' colours the Schedule's key reads (`--g-*`, `.g-*`).
   2026-11-02 (Batch 6, R5 "Blue ticks": "the X ball goes with the track"):
   WAS also the X ball (`.xb`), Today's track (`.tt-*`) and its cards, the
   order popup, N7's completion scene (`.n7`) and Z1's (`.zf`) -- gone with
   the ball; Today's Td2 look is styles/today.css's (`.td-*`). */

/* The four session groups' colours -- the app's, since the Schedule's
   key and blocks read them too (2026-10-29, the owner's Schedule week
   handoff J1 §7: "They match the Today screen"). WAS on `.tb-page`. */
:root {
  --g-gym: #7fd1b0; --g-court: #a79fe8; --g-recovery: #f0907a;
  --g-comp: #f2b24c;
}

/* ───────────────────────── the page (§7) */
.tb-page {
  --tb-bg: #07090d; --tb-card: #0d1118; --tb-line: #1d2532;
  --tb-ink: #eef2f8; --tb-mute: #a3acba; --tb-body: #c3cbd8;
  --tb-act: #1479d1; --tb-link: #8ec5ff; --tb-logo: #00aeef;
  --tb-gold: #f2b24c;
  font-family: "Archivo", system-ui, sans-serif;
  color: var(--tb-ink);
  background: radial-gradient(120% 40% at 50% 112%, #0f3a5e 0%,
              rgba(7, 9, 13, 0) 70%), var(--tb-bg);
  min-height: 100vh; min-height: 100dvh;
}
.tb-page button { font-family: inherit; margin: 0; min-height: 0; }
/* the app's own button look (index.html `button`) is none of these */
.cl-day, .cl-goal { width: auto; border-radius: 0;
  padding: 0; background: none; }
.g-gym { --gc: var(--g-gym); }
.g-court { --gc: var(--g-court); }
.g-recovery { --gc: var(--g-recovery); }
.g-comp { --gc: var(--g-comp); }

