/*
 |----------------------------------------------------------------------------
 | The tokens file — spec 14
 |----------------------------------------------------------------------------
 |
 | THE TOKENS FILE HOLDS EXACTLY ONE ACTIVE VALUE SET: a single flat token
 | table with NO theming dimension. The Station-3 identity handover REPLACES
 | values in place. Dark mode, when it arrives with the final identity,
 | introduces its dimension THEN — not speculatively now.
 |
 | Screens are built against TOKEN NAMES, never raw values. A screen that
 | hard-codes a hex is a defect, not a shortcut.
 */

:root {
  /* Surfaces and ink */
  --bg: #f7f8fc;
  --surface: #ffffff;
  --surface-soft: #f1f3f8;
  --surface-hover: #f5f6fa;
  --ink: #111522;
  --ink-soft: #34394a;
  --muted: #707789;
  --line: #e6e8ef;
  --line-strong: #d8dbe5;

  /* Identity */
  --primary: #5b5ff7;
  --primary-hover: #494dda;
  --primary-soft: #eef0ff;
  --primary-ink: #3538a8;
  --primary-soft-hover: #e2e5ff;
  --on-accent: #ffffff;

  /* Accents — used sparingly, never as a default */
  --electric: #b8f34a;
  --electric-hover: #a8e638;
  --electric-soft: #f1fbdc;
  --electric-ink: #394d0b;
  --aqua: #20c7c7;
  --aqua-soft: #e7fafa;
  --aqua-ink: #087979;

  /* Functional states — always the triple: base, soft, ink */
  --success: #20a66a;
  --success-soft: #e9f8f1;
  --success-soft-hover: #ddf3e8;
  --success-ink: #16754c;
  --warning: #d89520;
  --warning-soft: #fff6df;
  --warning-ink: #966414;
  --danger: #dc4c64;
  --danger-hover: #cf475e;
  --danger-soft: #fdecef;
  --danger-ink: #a93449;
  --info: #3f7df4;
  --info-soft: #ebf2ff;
  --info-ink: #2a56ad;
  --behalf: #9b72e8;
  --behalf-soft: #f5f0ff;
  --behalf-ink: #5d35a7;

  /* Structure depth — depth-ordered, never level-named. Cycles past five. */
  --depth-1: #d6a438;  --depth-1-soft: #fdf3e0;  --depth-1-ink: #8a6415;
  --depth-2: #3f3fae;  --depth-2-soft: #e9e9fb;  --depth-2-ink: #33339b;
  --depth-3: #d96b40;  --depth-3-soft: #fbeee7;  --depth-3-ink: #9c4526;
  --depth-4: #17a8ac;  --depth-4-soft: #e4f6f6;  --depth-4-ink: #0d7b7e;
  --depth-5: #5f6b85;  --depth-5-soft: #eef0f5;  --depth-5-ink: #454f66;

  /* Portrait backgrounds — six, assigned deterministically per person */
  --portrait-1: #eef0ff;
  --portrait-2: #e7fafa;
  --portrait-3: #f1fbdc;
  --portrait-4: #ebf2ff;
  --portrait-5: #fdecef;
  --portrait-6: #fff6df;

  /* Distinction — gold carries three roles, one family, never co-occurring */
  --executive-gold: #d6a438;
  --executive-gold-soft: #fff7e2;
  --executive-tint: #fffdf7;

  /* Overlays — spec 14: the dialog scrim is ink at 55%, with a 3-4px blur
     applied by the rule that uses it. */
  --scrim: rgba(17, 21, 34, 0.55);

  /* Metadata — a deliberate fourth tier below muted */
  --meta-ink: #8b91a1;

  /* Printed documents — independent of the interface identity */
  --doc-accent: #14563c;
  --doc-ink: #3d4a42;
  --doc-line: #c9cec9;
  --doc-table-line: #8f978f;
  --doc-table-head: #eef1ec;

  /* Radii — this scale only; no intermediate value */
  --radius-sm: 6px;
  --radius-md: 9px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --radius-pill: 999px;

  /* Shadows — flat by default; elevation is earned */
  --shadow-hover: 0 8px 24px rgba(17, 21, 34, 0.06);
  --shadow-floating: 0 12px 32px rgba(17, 21, 34, 0.08);
  --shadow-popover: 0 16px 40px rgba(17, 21, 34, 0.12);
  --focus-ring: 0 0 0 3px var(--primary-soft);

  /* Motion — one curve, everywhere */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --press: 80ms;
  --colour: 150ms;
  --elevation: 180ms;
  --structural: 200ms;

  /* Typography */
  /* Cairo carries BOTH scripts (ruling 2026-08-24). Self-hosted; the stack
     below is only what paints before the file lands, or if it never does. */
  --font-sans: "Cairo", "Segoe UI", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", "Courier New", monospace;

  /* Layout metrics */
  --nav-width: 264px;
  --nav-rail: 72px;
  --control-height: 44px;
  --control-height-prominent: 52px;
  --control-height-compact: 36px;
  --nav-item-height: 46px;
  --row-height: 48px;
}
