/* ============================================================
   CAIRN · COLOR SYSTEM
   Dark-first operator console. Monochrome cool-grey base,
   a single electric "Signal" accent, and a forensic risk scale.
   Base values first, semantic aliases below.
   ============================================================ */

:root {
  /* ---- Core neutral ramp (cool, near-black void → bright fog) ---- */
  --cn-void:      #06080b;  /* deepest background, the "outside" */
  --cn-900:       #0a0e13;  /* app canvas */
  --cn-850:       #0e131a;  /* panel / sunken */
  --cn-800:       #131922;  /* card surface */
  --cn-750:       #1a212c;  /* raised surface / hover */
  --cn-700:       #222b38;  /* control fill */
  --cn-600:       #2e3947;  /* strong border / divider on dark */
  --cn-500:       #3d4a5c;  /* muted lines */
  --cn-400:       #5b6b80;  /* disabled text / faint icon */
  --cn-300:       #8493a6;  /* secondary / meta text */
  --cn-200:       #aab6c6;  /* tertiary label */
  --cn-100:       #d6dde6;  /* body text on dark */
  --cn-50:        #eef2f6;  /* primary text on dark */
  --cn-white:     #f7fafc;  /* high-emphasis headline */

  /* ---- Signal accent (electric cyan-blue — "live", interactive, traced) ---- */
  --signal-100:   #c8f5ff;
  --signal-300:   #6fe4ff;
  --signal-500:   #1ec8f0;  /* primary accent */
  --signal-600:   #12a6cc;
  --signal-700:   #0c7f9e;
  --signal-glow:  rgba(30, 200, 240, 0.35);

  /* ---- Forensic risk scale (address / entity scoring) ---- */
  --risk-cleared: #3fd07f;  /* low / cleared */
  --risk-watch:   #f2c14e;  /* monitor */
  --risk-elevated:#f08a3c;  /* elevated exposure */
  --risk-severe:  #f0533c;  /* high risk */
  --risk-sanctioned:#d6409f;/* sanctioned / OFAC */

  /* ---- Semantic status ---- */
  --status-ok:    var(--risk-cleared);
  --status-warn:  var(--risk-watch);
  --status-error: var(--risk-severe);
  --status-info:  var(--signal-500);

  /* ---- Tint washes (translucent fills over dark surfaces) ---- */
  --wash-signal:     rgba(30, 200, 240, 0.10);
  --wash-cleared:    rgba(63, 208, 127, 0.12);
  --wash-watch:      rgba(242, 193, 78, 0.12);
  --wash-elevated:   rgba(240, 138, 60, 0.12);
  --wash-severe:     rgba(240, 83, 60, 0.13);
  --wash-sanctioned: rgba(214, 64, 159, 0.13);
  --wash-white:      rgba(247, 250, 252, 0.04);

  /* ---- Hairlines (Cairn leans on borders, not shadows) ---- */
  --line-faint:   rgba(247, 250, 252, 0.06);
  --line:         rgba(247, 250, 252, 0.10);
  --line-strong:  rgba(247, 250, 252, 0.16);

  /* ============================================================
     SEMANTIC ALIASES — reference these in components
     ============================================================ */
  --bg-void:        var(--cn-void);
  --bg-canvas:      var(--cn-900);
  --bg-sunken:      var(--cn-850);
  --surface-card:   var(--cn-800);
  --surface-raised: var(--cn-750);
  --surface-control:var(--cn-700);

  --text-strong:    var(--cn-white);
  --text-body:      var(--cn-100);
  --text-muted:     var(--cn-300);
  --text-faint:     var(--cn-400);
  --text-onaccent:  var(--cn-void);

  --border-faint:   var(--line-faint);
  --border:         var(--line);
  --border-strong:  var(--line-strong);

  --accent:         var(--signal-500);
  --accent-hover:   var(--signal-300);
  --accent-press:   var(--signal-600);
  --accent-wash:    var(--wash-signal);
  --focus-ring:     var(--signal-glow);
}
