/* StorePilot design tokens - the locked system. Source of truth: /design.md.
   Loaded before site.css on every page. Pages reference tokens by name only. */

:root {
  /* ---- colour · "warm quiet", brand-orange anchor (hue ≈ 40–75) ---- */
  --color-paper:       oklch(98.6% 0.006 75);
  --color-paper-2:     oklch(96.4% 0.01 75);
  --color-rule:        oklch(88% 0.014 70);
  --color-faint:       oklch(47% 0.02 55);
  --color-muted:       oklch(38% 0.02 50);
  --color-ink:         oklch(22% 0.018 45);
  --color-ink-lift:    oklch(30% 0.02 45);      /* hover state of ink fills */
  --color-accent:      oklch(63% 0.19 40);      /* brand orange, large/graphic use */
  --color-accent-text: oklch(53% 0.17 40);      /* accent at body sizes (≥4.5:1) */
  --color-accent-soft: oklch(94% 0.03 60);
  --color-focus:       oklch(55% 0.19 40);
  --color-ok:          oklch(40% 0.1 150);
  --color-ok-soft:     oklch(95% 0.03 150);
  --color-err:         oklch(45% 0.15 25);
  --color-err-soft:    oklch(95% 0.025 25);

  /* ---- type · Neusharp display / Lexend body / NeusharpCond outlier ---- */
  --font-display: Neusharp, Lexend, Avenir, "Helvetica Neue", Helvetica, sans-serif;
  --font-body:    Lexend, Avenir, Arial, "Helvetica Neue", Helvetica, sans-serif;
  --font-outlier: NeusharpCond, Neusharp, Lexend, sans-serif;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-md:   1.125rem;
  --text-lg:   1.25rem;
  --text-xl:   1.5625rem;
  --text-2xl:  1.9531rem;
  --text-3xl:  2.4414rem;
  --text-4xl:  3.0518rem;
  --text-display-s: clamp(1.875rem, 1.6vw + 1.25rem, 2.6rem);
  --text-display:   clamp(2.25rem, 3.2vw + 1rem, 4rem);

  /* ---- space · 4pt scale ---- */
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  /* ---- motion ---- */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;

  /* ---- shape ---- */
  --rule-hair:    1px;
  --radius-card:  10px;
  --radius-input: 10px;
  --radius-pill:  999px;

  /* ---- z scale ---- */
  --z-base:     1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;
  --z-tooltip:  600;
}
