/* ── CANONICAL DESIGN TOKENS — single source of truth for BOTH surfaces ───────────
   • Co-Pilot app  → globals.css does `@import "./tokens.css"` (values bake in at build).
   • Public board  → giorgiotrader.org links the served copy (`/tokens.css`, symlinked
                     from this file) and reads the same var() names live.
   Change a value HERE and it applies to both (public updates immediately; Co-Pilot on
   its next build). Dark-only, neutral near-black surfaces (no blue tint), MONOCHROME
   accent, functional-only color (go/caution/stop). Anchored on Mobbin dark-fintech
   refs (Kraken Pro / Binance / Coinbase). Keep :root and .dark identical so adding the
   `.dark` class (for shadcn `dark:` variants) changes nothing. */

:root {
  color-scheme: dark;

  /* surfaces — neutral near-black, tiered */
  --background: oklch(0.155 0 0);
  --surface: oklch(0.195 0 0);
  --card: oklch(0.215 0 0);
  --border: oklch(0.275 0 0);
  --input: oklch(0.275 0 0);

  /* text — tiered ink, neutral */
  --foreground: oklch(0.97 0 0);
  --ink-2: oklch(0.71 0 0);
  --ink-3: oklch(0.52 0 0);

  /* accent = neutral light (mono UI); functional colors carry all the meaning */
  --brand: oklch(0.86 0 0);
  --go: oklch(0.74 0.17 150);
  --caution: oklch(0.80 0.15 85);
  --stop: oklch(0.64 0.21 25);

  /* shadcn role aliases */
  --card-foreground: var(--foreground);
  --popover: var(--card);
  --popover-foreground: var(--foreground);
  --primary: oklch(0.97 0 0);
  --primary-foreground: oklch(0.16 0 0);
  --secondary: oklch(0.245 0 0);
  --secondary-foreground: var(--foreground);
  --muted: oklch(0.245 0 0);
  --muted-foreground: var(--ink-2);
  --accent: oklch(0.26 0 0);
  --accent-foreground: var(--foreground);
  --destructive: var(--stop);
  --ring: oklch(0.55 0 0);
  --radius: 1rem;
}

.dark {
  --background: oklch(0.155 0 0);
  --surface: oklch(0.195 0 0);
  --card: oklch(0.215 0 0);
  --border: oklch(0.275 0 0);
  --input: oklch(0.275 0 0);
  --foreground: oklch(0.97 0 0);
  --ink-2: oklch(0.71 0 0);
  --ink-3: oklch(0.52 0 0);
  --brand: oklch(0.86 0 0);
  --go: oklch(0.74 0.17 150);
  --caution: oklch(0.80 0.15 85);
  --stop: oklch(0.64 0.21 25);
  --card-foreground: var(--foreground);
  --popover: var(--card);
  --popover-foreground: var(--foreground);
  --primary: oklch(0.97 0 0);
  --primary-foreground: oklch(0.16 0 0);
  --secondary: oklch(0.245 0 0);
  --secondary-foreground: var(--foreground);
  --muted: oklch(0.245 0 0);
  --muted-foreground: var(--ink-2);
  --accent: oklch(0.26 0 0);
  --accent-foreground: var(--foreground);
  --destructive: var(--stop);
  --ring: oklch(0.55 0 0);
  --radius: 1rem;
}
