/* Dekodi color system v2 · Connected Intelligence
   Optical black ground, ultraviolet signal, warm white type.
   Violet is the SIGNAL, not the surface: it marks rails, nodes, indices, and
   active states. It is never the resting fill of a primary button. */
:root{
  /* ground */
  --dk-black:#050506;          /* canvas, optical black */
  --dk-ink:#0C0C0F;            /* surface / stage */
  --dk-ink-2:#121217;          /* raised surface */
  --dk-line:#25232B;           /* structural hairline */
  --dk-line-quiet:#18171C;     /* section divider */

  /* signal */
  --dk-violet:#8B5CFF;         /* primary signal */
  --dk-lilac:#B8A0FF;          /* supporting signal, focus ring */
  --dk-ultraviolet:#5B24D6;    /* depth, shadow tint, field gradients */
  --dk-violet-legacy:#792EFF;  /* Brand Core exact match, existing collateral only */
  --dk-field:rgba(139,92,255,.10);
  --dk-field-brd:rgba(139,92,255,.24);
  --dk-track:rgba(139,92,255,.14);

  /* type */
  --dk-white:#F4F2F7;          /* primary text and primary control */
  --dk-text-2:#A4A0AA;         /* secondary */
  --dk-text-3:#85818C;         /* tertiary, captions */
  --dk-on-white:#09090B;

  /* status · one green, used for live, available, and recommended */
  --dk-live:#6CF58C;
  --dk-live-wash:rgba(108,245,140,.10);
  --dk-live-brd:rgba(108,245,140,.16);
  --dk-live-text:#9CF7AE;

  /* audit rating legend · a data scale, not brand chrome.
     Never place a rating badge beside a live or recommended marker. */
  --dk-rating-excellent:#22C55E;
  --dk-rating-onpar:#0097A7;
  --dk-rating-needswork:#FDB91C;
  --dk-rating-poor:#CC0000;
  --dk-rating-poor-text:#FF6B6B;
  --dk-rating-na:#9E9E9E;

  /* fields and gradients */
  --dk-glow-core:radial-gradient(circle at 50% 46%,rgba(71,35,151,.19),transparent 29%); /* @kind color */
  --dk-glow-close:radial-gradient(circle at 50% 50%,rgba(91,36,214,.23),transparent 31%); /* @kind color */
  --dk-glow-viewport:radial-gradient(circle at 50% 42%,rgba(91,36,214,.35),transparent 28%),linear-gradient(145deg,#17141E,#08080A); /* @kind color */
  --dk-sweep:linear-gradient(110deg,transparent 46%,rgba(255,255,255,.025) 50%,transparent 54%); /* @kind color */

  /* legacy aliases · keep older components compiling */
  --dk-bg:var(--dk-black);
  --dk-bg-2:var(--dk-ink);
  --dk-hairline:var(--dk-line);
  --dk-accent:var(--dk-violet);
  --dk-accent-2:var(--dk-ultraviolet);
  --dk-accent-deep:#3B1580;
  --dk-panel:var(--dk-field);
  --dk-panel-brd:var(--dk-field-brd);
  --dk-text:var(--dk-white);
  --dk-muted:var(--dk-text-2);
  --dk-on-accent:#fff;
  --dk-on-light:var(--dk-on-white);
  --dk-light-surface:var(--dk-white);
  --dk-rec:var(--dk-live);
  --dk-rec-wash:var(--dk-live-wash);
  --dk-excellent:var(--dk-rating-excellent);
  --dk-onpar:var(--dk-rating-onpar);
  --dk-needswork:var(--dk-rating-needswork);
  --dk-poor:var(--dk-rating-poor);
  --dk-poor-text:var(--dk-rating-poor-text);
  --dk-na:var(--dk-rating-na);

  /* semantic */
  --surface-canvas:var(--dk-black);
  --surface-stage:var(--dk-ink);
  --surface-raised:var(--dk-ink-2);
  --surface-field:var(--dk-field);
  --border-structural:var(--dk-line);
  --border-quiet:var(--dk-line-quiet);
  --text-body:var(--dk-white);
  --text-secondary:var(--dk-text-2);
  --text-tertiary:var(--dk-text-3);
  --signal:var(--dk-violet);
  --signal-support:var(--dk-lilac);
  --focus-ring:var(--dk-lilac);
  --action-bg:var(--dk-white);
  --action-fg:var(--dk-on-white);
  --action-bg-hover:var(--dk-violet);
  --status-live:var(--dk-live);
  --recommended:var(--dk-live);
}
