/* ------------------------------------------------------------------
   lagstyr — design tokens
   Dark-committed "precision infrastructure" system. The accent is the
   product's real brand indigo; the risk-tier hues are the product's real
   governance colour language, used only where governance is shown.
------------------------------------------------------------------ */

:root {
  color-scheme: dark;

  /* --- surface: an indigo-black substrate, lifting toward the record --- */
  --void:        #07080f;   /* page background            */
  --void-2:      #090b15;   /* faint band separation      */
  --substrate:   #0d1020;   /* cards / raised panels       */
  --substrate-2: #12162a;   /* nested panels, inputs       */
  --spine:       #1b2036;   /* hairlines, lattice lines    */
  --spine-2:     #2a3050;   /* hover borders               */

  /* --- ink --- */
  --ink:      #eceef7;      /* primary text                */
  --ink-dim:  #c6cadb;      /* de-emphasised body          */
  --mist:     #8b90a8;      /* captions, secondary          */
  --mist-2:   #5c6178;      /* faint labels, dividers text */

  /* --- accent: lagstyr indigo --- */
  --indigo:        #7c8cff;
  --indigo-bright: #9aa6ff;
  --indigo-deep:   #4b59cf;
  --indigo-glow:   rgba(124, 140, 255, 0.16);

  /* --- risk-tier language (governance contexts only) --- */
  --tier-read:     #4fd18a;
  --tier-safe:     #7c8cff;
  --tier-governed: #ffab55;
  --tier-kernel:   #ff6f6f;

  --ok:     #4fd18a;
  --danger: #ff6f6f;

  /* --- type --- */
  --font-display: 'Space Grotesk', system-ui, -apple-system, Segoe UI, sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* fluid type scale */
  --t-display: clamp(2.7rem, 6.4vw, 5.1rem);
  --t-h2:      clamp(1.9rem, 3.8vw, 3rem);
  --t-h3:      clamp(1.15rem, 1.7vw, 1.4rem);
  --t-lead:    clamp(1.05rem, 1.5vw, 1.3rem);
  --t-body:    1.0625rem;
  --t-small:   0.875rem;
  --t-mono:    0.78rem;

  /* spacing (8px base) */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px;
  --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px;
  --s-9: 96px; --s-10: 128px;

  --radius:    14px;
  --radius-sm: 9px;
  --radius-pill: 999px;

  --maxw: 1160px;
  --gutter: clamp(20px, 5vw, 56px);

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  --shadow: 0 24px 60px -28px rgba(0, 0, 0, 0.7);
  --ring: 0 0 0 3px rgba(124, 140, 255, 0.45);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
