/* ============================================================
   STRATIKA — Design Tokens
   Single source of truth for the landing (stratika.one) and
   the offline HTML client. Forked from the NODX design system.

   Divergence from NODX (deliberate, see design brief):
   · Light is the DEFAULT and ONLY theme. No dark mode in v1
     (client runs from file://, zero localStorage, prints to PDF).
   · Accent hue shifted 289 (violet, "tech/AI") → 250 (ink blue,
     "regulatory infrastructure"). One variable repositions the
     whole product. Pragmatika keeps violet; Stratika takes blue.
   · Every oklch() ships with a hex fallback — the offline client
     must render identically without modern-CSS support.

   Kinship: Stratika shares JetBrains Mono with Pragmatika and
   the single-accent geometric mark language. The "-ika" family
   reads through type + mark, never stated outright.

   Archetype tokens (--stk-arch-*): the keys MUST match the 11
   canonical archetype ids in taxonomy.json (lowercase, no
   separators). See docs/03-data-spec.md §4. Values here are
   defaults — the real colours arrive from taxonomy.json and
   are applied at render time. Renaming a key here without
   updating taxonomy.json silently breaks colour resolution.
   ============================================================ */

:root {
  /* ---- ACCENT (driven by one hue) ----------------------- */
  --stk-hue: 250;

  --stk-accent:        #00579a;  /* oklch(0.45 0.13 250) — primary actions, links */
  --stk-accent-mid:    #437eb9;  /* oklch(0.58 0.11 250) — icons, secondary accent */
  --stk-accent-light:  #e1f0ff;  /* oklch(0.95 0.028 250) — row highlight, tint */
  --stk-accent-tint:   #c6e1ff;  /* oklch(0.90 0.05 250) — selected-row fill */
  --stk-accent-dark:   #003e78;  /* oklch(0.36 0.12 250) — hover, pressed */

  /* ---- NEUTRAL SURFACE (warm paper, inherited from NODX) - */
  --stk-bg:            #f4f2ec;  /* page */
  --stk-bg-2:          #eceae3;  /* cards, panels, sidebar */
  --stk-bg-3:          #e2e0d8;  /* table headers, code bg, recessed */
  --stk-bg-inverse:    #0d0c0a;  /* dark sections, footer */

  /* ---- INK (text) --------------------------------------- */
  --stk-ink:           #0d0c0a;  /* headings, body, primary data */
  --stk-ink-2:         #3a3830;  /* secondary body */
  --stk-ink-3:         #7a7868;  /* labels, captions, muted */
  --stk-ink-inverse:   #f4f2ec;  /* text on inverse surface */
  --stk-rule:          #d0cdc4;  /* dividers, hairline borders */
  --stk-rule-strong:   #bcb8ac;  /* emphasised dividers */

  /* ---- DATA STATES (the five values — must be distinct) -- */
  /* symbol + weight + restrained colour, never bare 1/0 */
  --stk-true:          #317a45;  /* ✓ true   — calm green */
  --stk-false:         #b54b41;  /* ✗ false  — muted brick */
  --stk-not-assessed:  #a39f93;  /* ·  not assessed (null, applicable) */
  --stk-not-applicable:#cfccc3;  /* —  not applicable (off-archetype) */
  --stk-number:        #0d0c0a;  /* numeric values, mono */

  /* ---- CONFIDENCE BADGES -------------------------------- */
  --stk-conf-verified: #317a45;  /* verified */
  --stk-conf-derived:  #a36e09;  /* derived (amber, ambivalent not alarming) */
  --stk-conf-unreviewed:#7a7868; /* unreviewed (grey) */

  /* ---- ARCHETYPE PALETTE (data, not brand) -------------- */
  /* Low-chroma so they sit BEHIND the accent, never fight it.
     Keys MUST match canonical archetype ids in taxonomy.json
     (data-spec §4): the 11 archetypes, lowercase, no separators.
     Real colours arrive from taxonomy.json at runtime; these
     are fallback defaults. */
  --stk-arch-capitalcompany:        #577594;
  --stk-arch-partnership:           #587c5f;
  --stk-arch-trust:                 #776a90;
  --stk-arch-foundation:            #866d49;
  --stk-arch-cooperative:           #437c7f;
  --stk-arch-investmentvehicle:     #647095;
  --stk-arch-specialpurposevehicle: #6c7280;
  --stk-arch-nonprofitentity:       #8a647d;
  --stk-arch-socialenterprise:      #8f6752;
  --stk-arch-statutorybody:         #73754b;
  --stk-arch-soleproprietorship:    #91655d;
  --stk-arch-other:                 #4a7d6f;  /* fallback for unknown class */

  /* ---- TYPE --------------------------------------------- */
  /* Landing may load these from a CDN. The CLIENT must embed
     them as base64 woff2 (file://, zero network) — see brief §7
     and PROJECT_PLAN.md open questions. */
  --stk-font-sans: 'Space Grotesk', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --stk-font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', 'Cascadia Code', Menlo, Consolas, monospace;

  --stk-text-xs:   11px;  /* labels, overlines */
  --stk-text-sm:   13px;  /* captions, table cells */
  --stk-text-base: 15px;  /* body */
  --stk-text-md:   17px;  /* lead, hero sub */
  --stk-text-lg:   20px;  /* card heading */
  --stk-text-xl:   28px;  /* sub-heading */
  --stk-text-2xl:  40px;  /* section title */
  --stk-text-3xl:  56px;  /* hero */
  --stk-text-4xl:  76px;  /* hero (large) */

  --stk-track-label: 0.14em;  /* mono label tracking */
  --stk-track-tag:   0.10em;

  /* ---- SPACING (8-pt grid) ------------------------------ */
  --stk-space-1: 4px;   --stk-space-2: 8px;   --stk-space-3: 12px;
  --stk-space-4: 16px;  --stk-space-5: 20px;  --stk-space-6: 24px;
  --stk-space-8: 32px;  --stk-space-10: 40px; --stk-space-12: 48px;
  --stk-space-16: 64px; --stk-space-20: 80px; --stk-space-24: 100px;
  --stk-space-28: 140px;

  /* ---- MOTION (restrained; UI only) --------------------- */
  --stk-fast: 150ms;
  --stk-base: 200ms;
  --stk-slow: 350ms;
  --stk-ease-out: cubic-bezier(0,0,0.2,1);
  --stk-ease-in-out: cubic-bezier(0.4,0,0.2,1);

  /* no border-radius — sharp corners are part of the system */
  --stk-radius: 0px;
}
