/* VENDORED from Zaiphr-Ai/zaiphr-brand tokens/tokens.css (SSOT: tokens.json).
   Do not hand-edit values here — change the token upstream and re-vendor. */
/* ==================================================================
   ZAIPHR / TOKENS v1.2.2 — GENERATED FROM tokens.json. DO NOT EDIT.
   Regenerate: python3 tokens/build.py   Validate: test_tokens.py
   SSOT + rules + migration map: tokens/tokens.json, tokens/README.md
   Locked decisions: docs/DECISIONS-2026-08-03.md
   ================================================================== */

:root {
  /* FOUNDATION — the ink ramp (D4: roles, not one navy) */
  --z-void: #05060e;
  --z-ground: #0d1424;
  --z-surface-1: #161f33;
  --z-surface-2: #1a2138;
  --z-ink: #121826;

  /* GLASS (glass-2 is NEVER blurred — perf rule; flat in Light) */
  --z-glass-1: rgba(13,17,32,0.55);
  --z-glass-2: rgba(16,21,38,0.72);
  --z-glass-3: rgba(22,28,48,0.92);
  --z-surface-glass: rgba(255,255,255,0.035);
  --z-blur: 16px;

  /* TEXT */
  --z-fg: #f4f6fc;
  --z-fg-muted: #b8c0d8;
  --z-fg-subtle: #7c87a3;

  /* SIGNAL — Zaiphr Flame (action/attention/selection; keep <=5-10% of any composition). Orange TEXT always uses accent-text */
  --z-accent: #f97316;
  --z-accent-text: #fdba74;
  --z-accent-deep: #ea580c;
  --z-accent-soft: rgba(249,115,22,0.16);
  --z-on-accent: #121826;

  /* SEMANTIC (D10 — colour appears because something MEANS something) */
  --z-ai: #8b5cf6;
  --z-live: #22d3ee;
  --z-success: #4ade80;
  --z-success-text: #4ade80;
  --z-success-soft: rgba(74,222,128,0.08);
  --z-warning: #eab308;
  --z-warning-text: #eab308;
  --z-warning-soft: rgba(234,179,8,0.08);
  --z-danger: #ef4444;

  /* STRUCTURE (every border in the house is 1px) */
  --z-border: rgba(255,255,255,0.08);
  --z-border-strong: rgba(255,255,255,0.14);
  --z-border-accent: rgba(249,115,22,0.35);

  /* RADIUS (D8 — 14px is THE card radius) */
  --z-radius-sm: 6px;
  --z-radius-md: 10px;
  --z-radius-lg: 14px;
  --z-radius-pill: 999px;

  /* MOTION (Zoe and Aurora already shared these exact curves) */
  --z-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --z-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --z-dur-micro: 140ms;
  --z-dur-std: 240ms;
  --z-dur-enter: 420ms;

  /* TYPOGRAPHY (D2/D3 — Jost is the face; display-only in dense
     product UI, body on editorial. Orbitron is retired.) */
  --z-font-display: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --z-font-editorial: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --z-font-ui: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --z-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* UI type scale — the only sanctioned app sizes */
  --z-fs-2xs: 11px;
  --z-fs-xs: 12px;
  --z-fs-sm: 13px;
  --z-fs-base: 14px;
  --z-fs-md: 16px;
  --z-fs-lg: 20px;
  --z-fs-xl: 28px;
  --z-fs-2xl: 36px;

  /* tracked-caps metadata: font-mono, 12px, uppercase, tracked,
     fg-subtle (or accent-text for keys) */
  --z-track-label: 0.14em;
  --z-track-wide: 0.18em;

  color-scheme: dark;
}

[data-theme="light"] {
  /* FOUNDATION — the ink ramp (D4: roles, not one navy) */
  --z-void: #05060e;
  --z-ground: #f6f7fc;
  --z-surface-1: #ffffff;
  --z-surface-2: #f1f4fa;
  --z-ink: #121826;

  /* GLASS (glass-2 is NEVER blurred — perf rule; flat in Light) */
  --z-glass-1: #ffffff;
  --z-glass-2: #f7f9fd;
  --z-glass-3: #ffffff;
  --z-surface-glass: #ffffff;
  --z-blur: 0px;

  /* TEXT */
  --z-fg: #1a202c;
  --z-fg-muted: #52627a;
  --z-fg-subtle: #5c6a80;

  /* SIGNAL — Zaiphr Flame (action/attention/selection; keep <=5-10% of any composition). Orange TEXT always uses accent-text */
  --z-accent: #f97316;
  --z-accent-text: #b45309;
  --z-accent-deep: #ea580c;
  --z-accent-soft: #fff7ef;
  --z-on-accent: #121826;

  /* SEMANTIC (D10 — colour appears because something MEANS something) */
  --z-ai: #7c3aed;
  --z-live: #0891b2;
  --z-success: #15a06e;
  --z-success-text: #1b7c54;
  --z-success-soft: #ecfdf5;
  --z-warning: #d97706;
  --z-warning-text: #92400e;
  --z-warning-soft: #fffbeb;
  --z-danger: #dc2626;

  /* STRUCTURE (every border in the house is 1px) */
  --z-border: #d9e1ea;
  --z-border-strong: #d4dae6;
  --z-border-accent: rgba(249,115,22,0.40);

  color-scheme: light;
}

/* prefers-reduced-motion: one implementation, not five */
@media (prefers-reduced-motion: reduce) {
  :root,
  [data-theme="light"] {
    --z-dur-micro: 0.001ms;
    --z-dur-std: 0.001ms;
    --z-dur-enter: 0.001ms;
  }
}
