/* tokens.css — the brand sheet, as variables (2026-10-02).
 *
 * Approved by Alwaz on 2026-10-02 ("approved, flat nav button"). The sheet
 * itself: https://claude.ai/artifact/3qYEzL6nHM1nRvoYjz5L6Y. When a page
 * disagrees with these values, the page changes.
 *
 * Loaded on every public page family (Head.tsx, static.tsx, hubs.tsx), FIRST,
 * so anything after it can use the names.
 *
 * This is the one :root a no-reset stylesheet may carry, and only because
 * every name is prefixed --sw-. The legacy page stylesheets define their
 * own --amber, --bg, --text in their own :root; nothing here can collide
 * with them. No reset, no body{}, no element selectors: the bar in
 * CLAUDE.md for a file loaded beside a legacy page stylesheet still holds.
 */
:root {
  /* Grounds */
  --sw-cream: #F5F2ED;
  --sw-paper: #FFFFFF;
  --sw-night: #111010;
  --sw-night-deep: #0B0A09;   /* the footer, one step under night */

  /* Text on light */
  --sw-ink: #16130F;
  --sw-body: #36312B;         /* 12:1 on cream; was #4A443C until 2026-10-03 ("contrast is thin") */
  --sw-muted: #5A534A;        /* 6.9:1 on cream; was #6B645B */
  --sw-line: #E2DDD4;         /* dividers only, never text */

  /* Text on night */
  --sw-night-body: #CFC8BD;
  --sw-night-line: rgba(255, 255, 255, 0.10);

  /* The one accent */
  --sw-amber: #B45309;        /* on light, and white text on it (5.0:1) */
  --sw-amber-hover: #92400E;
  --sw-amber-bright: #D97706; /* on night ONLY; fails as text on white */

  /* Status, for ticks, crosses and form states only */
  --sw-ok: #15803D;
  --sw-bad: #B91C1C;

  /* Type */
  --sw-display: 'Sora', 'Helvetica Neue', Arial, sans-serif;
  --sw-text: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;

  /* Shape */
  --sw-radius: 14px;          /* images and panels */
  --sw-radius-sm: 10px;       /* small cards */
  --sw-pill: 999px;           /* buttons */
  --sw-max: 1240px;
}
