/* =============================================================================
   KOINOS VENTURE STUDIO — DESIGN TOKENS  (Identity v2 · 2026)
   -----------------------------------------------------------------------------
   Synced from canon: koinos-os/brand/kvs/tokens.css (AGENTS-BRAND-STANDARDS.md
   precedence). App-adapted: this file ALSO loads the brand fonts (the canonical
   token file assumes the host loads them) and preserves the app's radius scale.

   What actually renders the UI is app/globals.css (the shadcn .dark theme, whose
   values are reconciled to the Dark Official tokens below). The --kvs-* tokens
   here are the canonical mirror + the single source for the font @import.

   SYSTEM IN ONE BREATH
   - Type:   Archivo (neo-grotesque) for display + reading text; Space Mono for
             labels, kickers, figures, tags, buttons, footers — the "ledger" voice.
   - Colour: brand pink #ff006c is LOCKED (mark only, never recoloured). One accent
             per surface, AA-tuned: #ff4d93 small text on dark, #c10054 on light.
   - Modes:  Dark Official (web / product) and Editorial Light (print / investor).
   - Pink budget: <= ~10% of any surface. One hero pink moment per surface.
   ========================================================================== */

/* Brand fonts — the 2 canonical families, canonical weight axes (§2). Must stay
   the FIRST rule (CSS @import precedes all other statements). */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

:root {
  /* ---- BRAND CONSTANT (NEVER CHANGES, NEVER RECOLOURED) ------------------ */
  --kvs-brand:        #ff006c;   /* dot-burst mark + primary fills           */
  --kvs-brand-press:  #d6005a;   /* hover/active on brand fills              */

  /* ---- ACCENT, CONTRAST-TUNED PER GROUND -------------------------------- */
  --kvs-accent-on-dark:  #ff4d93; /* small text/links on dark  (AA on #08080c) */
  --kvs-accent-on-light: #c10054; /* small text/links on light (AA on #fff)    */
  --kvs-accent-deep:     #8f0042; /* emphasis on light grounds                 */

  /* ---- WORKFLOW STATE (visible everywhere, internal + external) ---------- */
  --kvs-pending-bg:   #fef3c7;   /* amber — "pending / internal" tag         */
  --kvs-pending-ink:  #633806;

  /* ---- TYPE FAMILIES ----------------------------------------------------- */
  --kvs-sans:  "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --kvs-mono:  "Space Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* ---- TYPE SCALE (fluid where it earns it) ----------------------------- */
  --kvs-fs-display: clamp(34px, 5.2vw, 60px); /* hero thesis                 */
  --kvs-fs-h1:      clamp(26px, 3.4vw, 38px);
  --kvs-fs-h2:      clamp(20px, 2.4vw, 26px);
  --kvs-fs-lede:    clamp(18px, 2.0vw, 22px);
  --kvs-fs-body:    16px;
  --kvs-fs-small:   13.5px;
  --kvs-fs-micro:   11.5px;  /* mono labels / kickers                        */

  --kvs-lh-tight:   1.08;
  --kvs-lh-snug:    1.28;
  --kvs-lh-body:    1.62;

  /* tracking */
  --kvs-track-label: 0.22em;  /* mono kickers / section labels (uppercase)   */
  --kvs-track-lock:  0.15em;  /* the wordmark lockup                         */
  --kvs-track-tight: -0.02em; /* large display headings                      */

  /* ---- SPACING (8pt base, plus a tight 4 step) -------------------------- */
  --kvs-s1: 4px;   --kvs-s2: 8px;   --kvs-s3: 12px;  --kvs-s4: 16px;
  --kvs-s5: 24px;  --kvs-s6: 32px;  --kvs-s7: 48px;  --kvs-s8: 64px;
  --kvs-s9: 96px;  --kvs-s10: 128px;

  /* ---- MOTION ----------------------------------------------------------- */
  --kvs-ease:  cubic-bezier(.2, .7, .2, 1);
  --kvs-dur-1: 140ms;        /* hovers                                       */
  --kvs-dur-2: 320ms;        /* reveals                                      */
  --kvs-dur-3: 600ms;        /* signature dot-burst breath                   */

  /* ---- MODE A — DARK OFFICIAL (web / product / decks / screens) --------- */
  --kvs-dark-bg:      #08080c;
  --kvs-dark-bg-2:    #0c0c12;
  --kvs-dark-panel:   #121219;
  --kvs-dark-panel-2: #16161f;
  --kvs-dark-line:    #262631;
  --kvs-dark-line-2:  #34343f;
  --kvs-dark-ink:     #f3f2f7;
  --kvs-dark-soft:    #b4b2bf;
  --kvs-dark-faint:   #807e8c;

  /* ---- MODE B — EDITORIAL LIGHT (print / investor / legal) -------------- */
  --kvs-light-app:    #e8e9ec;
  --kvs-light-paper:  #ffffff;
  --kvs-light-panel:  #f1f2f5;
  --kvs-light-line:   #dadce2;
  --kvs-light-ink:    #14141a;
  --kvs-light-soft:   #494c56;
  --kvs-light-faint:  #757a85;

  /* ---- APP COMPATIBILITY ------------------------------------------------ */
  /* Consumed via raw var(--radius-*) by shadcn button/select + koinos-prose.
     Kept at the app's tuned values so corner radii do not shift on sync. */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 9999px;
}

@media (prefers-reduced-motion: reduce) {
  :root { --kvs-dur-1: 0ms; --kvs-dur-2: 0ms; --kvs-dur-3: 0ms; }
}
