/* ══════════════════════════════════════════════════════════════════════════════
   design-tokens.css — THE single source of truth for the Loryn site palette /
   type / motion. Loaded FIRST on every redesign surface (ahead of redesign.css),
   so both the redesign's own tokens AND the legacy --vv-* names resolve from here.

   This is the bridge that ends the "two design systems" split: the OLD funnel/legal
   CSS is written against --vv-* (from visual-vocab.css); the NEW marketing CSS uses
   --void/--blue/--ink/etc. Their VALUES were always identical — only the names
   differed. Here the canonical set is defined ONCE, and every legacy --vv-* name is
   ALIASED to it where the value matches (change the blue → one edit, everywhere the
   var flows). Legacy tokens with no canonical equivalent (spacing/durations/some
   eases) keep their literal so nothing shifts.

   As each funnel/legal page moves onto redesign chrome it loads this file and its
   --vv-* styling keeps working unchanged — no per-page token rewrite needed.
   ══════════════════════════════════════════════════════════════════════════════ */
:root {
  /* ── canonical (mirrors redesign.css :root — the names the new CSS uses) ────── */
  --void: #020204;  --near: #050507;  --surface: #0d0d0d;  --surface2: #111113;
  --blue: #7ab8f5;
  --ink: #e8f0fff5;  --ink2: #e8f0ffad;  --muted: #e8f0ff6b;  --quiet: #e8f0ff3d;
  --hair: #ffffff14;
  --sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --ease: cubic-bezier(.16, 1, .3, 1);

  /* ── legacy --vv-* → aliased to canonical (identical values, now one source) ── */
  --vv-cyan-accent: var(--blue);
  --vv-void-far: var(--void);  --vv-void-near: var(--near);  --vv-void-mid: #030305;
  --vv-text-primary: var(--ink);  --vv-text-secondary: var(--ink2);
  --vv-text-muted: var(--muted);  --vv-text-quiet: var(--quiet);
  --vv-text-tertiary: rgba(232, 240, 255, 0.32);
  --vv-hairline: var(--hair);
  --vv-font-display: var(--sans);  --vv-font-label: var(--sans);  --vv-font-numerals: var(--sans);
  --vv-ease-emerge: var(--ease);   /* cubic-bezier(.16,1,.3,1) — matches --ease */

  /* ── legacy --vv-* with NO canonical equal → keep literal (nothing shifts) ──── */
  --vv-ease-cinematic: cubic-bezier(0.4, 0, 0.1, 1);
  --vv-ease-breath: cubic-bezier(0.45, 0, 0.55, 1);
  --vv-dur-quick: 320ms;  --vv-dur-considered: 560ms;  --vv-dur-cinematic: 900ms;
  --vv-dur-breath: 14s;   --vv-dur-drift: 72s;
  --vv-space-hair: 2px;  --vv-space-tight: 6px;  --vv-space-snug: 10px;
  --vv-space-comfort: 16px;  --vv-space-roomy: 24px;  --vv-space-generous: 40px;  --vv-space-vast: 80px;
  --vv-shadow-soft: 0 8px 32px 0 rgba(0, 0, 0, 0.4);  --vv-shadow-deep: 0 20px 64px 0 rgba(0, 0, 0, 0.6);
  --vv-glow-soft: 0 0 32px 0 rgba(122, 184, 245, 0.06);  --vv-glow-medium: 0 0 56px 0 rgba(122, 184, 245, 0.09);
  --vv-edge-glass: inset 0 1px 0 0 rgba(255, 255, 255, 0.04);
  --vv-hero-weight: 250;  --vv-hero-tracking: -0.02em;  --vv-hero-leading: 1.04;  --vv-hero-size: 64px;
  --vv-stat-weight: 300;  --vv-stat-tracking: -0.01em;  --vv-stat-leading: 1.1;  --vv-stat-size: 28px;
  --vv-body-weight: 400;  --vv-body-tracking: 0;  --vv-body-leading: 1.55;  --vv-body-size: 15px;
  --vv-label-weight: 700;  --vv-label-tracking: 0.22em;  --vv-label-size: 10px;  --vv-label-color: var(--muted);
  --vv-micro-weight: 500;  --vv-micro-tracking: 0.06em;  --vv-micro-size: 11px;  --vv-micro-color: var(--muted);
  --vv-warn-ash: rgba(180, 188, 200, 0.82);
  --vv-ambient-blue: 220 80% 70%;  --vv-ambient-warm: 210 50% 75%;
  /* legacy layout scale (website-base) — literal, for funnel pages that reference it */
  --site-content: 1100px;  --site-prose: 720px;  --site-wide: 2100px;
  --site-gutter: clamp(16px, 4vw, 40px);
  --site-display-1: clamp(46px, 7.2vw, 108px);  --site-display-2: clamp(30px, 4.2vw, 56px);  --site-display-3: clamp(22px, 2.6vw, 34px);
  /* danger stays literal for now — the no-red decision for destructive actions is Jake's, pending */
  --vv-alarm-red: #d04848;
}
