/* ============================================================
   VibeSecurity - Color Tokens
   Dark-first palette. "Void" = backgrounds, "Ink" = text,
   "Purple" = brand, plus semantic + severity scales.
   ============================================================ */

:root {
  /* ── BACKGROUNDS (VOID) ── */
  --void:    #08080c;   /* page canvas */
  --void-1:  #0e0e14;   /* surface 1 (cards, boxes) */
  --void-2:  #15151d;   /* surface 2 (hover, featured) */
  --void-3:  #1c1c26;   /* surface 3 (deep hover) */

  /* ── INK (TEXT) ── */
  --ink:   #f2f2f5;     /* primary text */
  --ink-2: #8b8b9e;     /* secondary / muted */
  --ink-3: #45455a;     /* placeholder / disabled */

  /* ── BORDERS ── */
  --border:   rgba(255, 255, 255, 0.07);
  --border-2: rgba(255, 255, 255, 0.12);
  --border-3: rgba(255, 255, 255, 0.20);

  /* ── PURPLE (BRAND) ── */
  --p:        #7c5df9;   /* primary */
  --p-light:  #9d7eff;   /* accents, links */
  --p-dark:   #5a3fd4;   /* hover-dark, gradients */
  --p-fog:    rgba(124, 93, 249, 0.12);  /* tinted fill */
  --p-fog-2:  rgba(124, 93, 249, 0.06);  /* faint wash */

  /* ── SEMANTICS ── */
  --green:  #2dd4aa;   /* success / OK */
  --red:    #f56565;   /* error / critical */
  --amber:  #f6a623;   /* warning / high */

  /* ── SEVERITY (report scale) ── */
  --sev-crit-bg:    rgba(245, 101, 101, 0.10);
  --sev-crit-text:  #fca5a5;
  --sev-crit-border:rgba(245, 101, 101, 0.20);
  --sev-high-bg:    rgba(124,  93, 249, 0.10);
  --sev-high-text:  #c4b5fd;
  --sev-high-border:rgba(124,  93, 249, 0.20);
  --sev-med-bg:     rgba(246, 166,  35, 0.10);
  --sev-med-text:   #fcd34d;
  --sev-med-border: rgba(246, 166,  35, 0.20);

  /* ── SEMANTIC ALIASES ── */
  --bg-page:       var(--void);
  --surface-card:  var(--void-1);
  --surface-hover: var(--void-2);
  --text-default:  var(--ink);
  --text-muted:    var(--ink-2);
  --text-faint:    var(--ink-3);
  --accent:        var(--p);
  --accent-soft:   var(--p-light);
}
