/* lib/shared/tokens.css — shared design tokens (Phase 1a, reference-layer step 1).
 * Loaded by a plain <link> in all three app shells; served statically from /lib/
 * (no _redirects wildcard touches it). CSS custom properties resolve live in both
 * stylesheet rules and JS inline styles, so a deleted/renamed token degrades to the
 * browser default rather than white-screening the app (unlike a deleted JS const).
 *
 * Fonts only for now. Radii (4/6/8 head), touch floors (44px), and the semantic
 * accent palette are deliberately NOT defined yet — they get added in 1b when the
 * shared primitives actually consume them. Defining unused vars now is dead CSS.
 * The fallbacks match the shells' own @font-face / Google-Fonts declarations.
 */
:root {
  --font-display: 'Orbitron', sans-serif;        /* headings, display, numerics-as-label */
  --font-body:    'Rajdhani', sans-serif;         /* body / UI text */
  --font-mono:    'Share Tech Mono', monospace;   /* data, stats, monospaced numerics */
}

/* Text-colour tokens (NPC gold-standard Lap A, A1 — WCAG AA against the near-black bg #02010a).
 * Discharges the Phase-1 R-UI-A2 rider: colour tokens land here in the CSS layer, consumed via
 * var(), never hardcoded in JS. Contrast verified (scripts/check_text_contrast.py):
 *   primary 18.6:1, muted 7.4:1 (AA-normal 4.5:1), faint 4.2:1 (AA-large 3:1, decorative/large only). */
:root {
  --text-primary: #f2f2f2;   /* body / headings */
  --text-muted:   #9a9a9a;   /* secondary labels — AA-normal (>=4.5:1) */
  --text-faint:   #707070;   /* large/decorative only — AA-large (>=3:1) */
}
