/* ============================================================
   KATALYST · COLOR TOKENS
   Dark-first system. Near-black canvas, four-stop brand spectrum
   (teal → cyan → violet → magenta), and a long cool-gray text ramp.
   Base tokens (--k-*) hold raw values; semantic aliases below map
   them to roles. Prefer the semantic names in product code.
   ============================================================ */
:root {
  /* ---- Canvas & surfaces (near-black, faintly cool) ---- */
  --k-bg:            #07070B;   /* page canvas */
  --k-bg-footer:     #08080D;   /* deepest panel */
  --k-surface-1:     #0B0B12;   /* card bottom (gradient end) */
  --k-surface-2:     #101019;   /* card top   (gradient start) */
  --k-surface-3:     #11111C;   /* raised / featured card */
  --k-surface-violet:#121120;   /* featured card on violet side */

  /* translucent surface fills layered over the canvas */
  --k-fill-01:  rgba(255,255,255,0.012);
  --k-fill-02:  rgba(255,255,255,0.02);
  --k-fill-03:  rgba(255,255,255,0.03);
  --k-fill-04:  rgba(255,255,255,0.05);
  --k-fill-06:  rgba(255,255,255,0.06);

  /* ---- Brand spectrum (the four stops of the signature gradient) ---- */
  --k-teal:    #5EEAD4;   /* Sales path · primary signal · success */
  --k-cyan:    #56C7E8;   /* Founder path */
  --k-violet:  #A78BFA;   /* eyebrows · secondary brand */
  --k-magenta: #C084FC;   /* Customer Success path · links */

  /* brand tints (used for badge / pill / glow backgrounds) */
  --k-teal-12:    rgba(94,234,212,0.12);
  --k-teal-08:    rgba(94,234,212,0.08);
  --k-teal-bg:    rgba(94,234,212,0.10);
  --k-teal-border:rgba(94,234,212,0.32);
  --k-cyan-bg:    rgba(86,199,232,0.10);
  --k-cyan-border:rgba(86,199,232,0.32);
  --k-violet-12:  rgba(167,139,250,0.12);
  --k-violet-28:  rgba(167,139,250,0.28);
  --k-magenta-bg: rgba(192,132,252,0.10);
  --k-magenta-border:rgba(192,132,252,0.32);

  /* ---- Extended stops (Katya / governance semantics — not part of the 4-stop brand gradient) ---- */
  --k-amber:  #F0C377;   /* evidence · review · gate active · revalidation */
  --k-rose:   #F3A8BE;   /* human signal · boundary context — sparingly */
  --k-amber-bg:    rgba(240,195,119,0.10);
  --k-amber-border:rgba(240,195,119,0.32);
  --k-rose-bg:     rgba(243,168,190,0.10);
  --k-rose-border: rgba(243,168,190,0.32);

  /* ---- Text ramp (cool grays, high → faint) ---- */
  --k-text-1:  #F4F4F7;   /* primary headings & key copy */
  --k-text-2:  #E4E4EC;   /* strong body */
  --k-text-3:  #C7C7D2;   /* labels */
  --k-text-4:  #B7B7C4;   /* secondary copy */
  --k-text-5:  #A8A8B6;   /* body / lede muted */
  --k-text-6:  #9A9AA8;   /* supporting / card body */
  --k-text-7:  #8E8E9E;   /* captions */
  --k-text-8:  #7E7E8E;   /* faint meta */
  --k-text-9:  #6E6E7E;   /* faintest meta */
  --k-text-10: #5E5E6C;   /* disclaimers */
  --k-placeholder: #5A5A68;/* input placeholders */

  /* ---- Borders / hairlines ---- */
  --k-border-1: rgba(255,255,255,0.06);  /* default hairline */
  --k-border-2: rgba(255,255,255,0.09);  /* card edge */
  --k-border-3: rgba(255,255,255,0.12);  /* pill / chip edge */
  --k-border-4: rgba(255,255,255,0.16);  /* secondary button edge */
  --k-border-sep: #3A3A46;               /* solid inline separators */

  /* ---- Status ---- */
  --k-danger:  #F87171;
  --k-on-brand:#07070B;   /* ink on bright gradient buttons */

  /* selection */
  --k-selection: rgba(167,139,250,0.35);

  /* ============================================================
     SEMANTIC ALIASES — prefer these in product code
     ============================================================ */
  --surface-page:     var(--k-bg);
  --surface-card:     var(--k-surface-2);
  --surface-card-end: var(--k-surface-1);
  --surface-raised:   var(--k-surface-3);
  --surface-subtle:   var(--k-fill-02);

  --text-primary:    var(--k-text-1);
  --text-body:       var(--k-text-5);
  --text-muted:      var(--k-text-6);
  --text-faint:      var(--k-text-9);
  --text-on-accent:  var(--k-on-brand);

  --accent-primary:  var(--k-teal);
  --accent-secondary:var(--k-violet);
  --accent-link:     var(--k-magenta);

  --border-default:  var(--k-border-1);
  --border-card:     var(--k-border-2);
  --border-strong:   var(--k-border-4);

  --path-sales:    var(--k-teal);
  --path-founder:  var(--k-cyan);
  --path-cs:       var(--k-magenta);

  /* ============================================================
     KATYA COLOR FAMILY — a narrower, recognizable slice of the
     Kataclyzim spectrum. Katya is never a rainbow agent: cyan +
     violet carry her identity; teal/amber/rose are state semantics.
     ============================================================ */
  --katya-attention: var(--k-cyan);    /* attention · interpretation */
  --katya-reasoning: var(--k-violet);  /* governed reasoning */
  --katya-resolved:  var(--k-teal);    /* resolved · approved · reusable */
  --katya-gate:      var(--k-amber);   /* evidence · review · gate */
  --katya-human:     var(--k-rose);    /* human emotional signal · boundary — sparingly */
  --katya-core:      #E9E6F7;          /* pale lavender · central judgment core / presence */

  /* Katya governed states → accent */
  --katya-state-available:    var(--k-violet);
  --katya-state-listening:    var(--k-cyan);
  --katya-state-interpreting: var(--k-cyan);
  --katya-state-ready:        var(--k-teal);
  --katya-state-evidence:     var(--k-amber);
  --katya-state-boundary:     var(--k-rose);
  --katya-state-certified:    var(--k-teal);
  --katya-state-revalidation: var(--k-amber);
  --katya-state-unavailable:  var(--k-text-8);   /* neutral — never panic red */

  /* Expert provenance — intelligence visually has an origin */
  --provenance-marker: var(--k-violet);
}
