/* ============================================================================
   ATLAS — tokens.css  ·  Obsidian design system (dark-first, cyan-teal accent)
   One file, consumed by every page. Elevation by surface, not hue.
   ============================================================================ */
:root{
  /* Surfaces: elevation ladder (never colored section backgrounds) */
  --bg-canvas:#0A0C10; --bg-sunken:#07090C; --bg-surface:#11141B;
  --bg-raised:#161A22; --bg-overlay:#1C212B; --bg-inset:#0E1117;

  /* Borders & depth */
  --border:#232A36; --border-strong:#2E3744; --border-subtle:#1A2029;
  --ring-top:rgba(255,255,255,.045);
  --shadow-card:0 1px 2px rgba(0,0,0,.25),0 6px 16px rgba(0,0,0,.30);
  --shadow-pop:0 8px 28px rgba(0,0,0,.45);

  /* Text */
  --text-strong:#F3F5F8; --text:#C7D0DC; --text-muted:#8A96A6;
  /* --text-faint lightened from #5A6573 (failed WCAG AA ~3.1:1) to meet AA on dark surfaces (audit WA-15) */
  --text-faint:#7C8896; --text-on-accent:#04121A;

  /* Brand accent — action/active/selected only */
  --accent:#34D6C3; --accent-hover:#4FE3D1; --accent-press:#21B7A6;
  --accent-soft:rgba(52,214,195,.14); --accent-line:rgba(52,214,195,.40);
  --accent-2:#6C8CFF; --focus:rgba(52,214,195,.55);

  /* Semantic status */
  --ok:#34D399;     --ok-soft:rgba(52,211,153,.14);   --ok-line:rgba(52,211,153,.45);
  --warn:#F5B544;   --warn-soft:rgba(245,181,68,.14); --warn-line:rgba(245,181,68,.45);
  --danger:#F4626B; --danger-soft:rgba(244,98,107,.14);--danger-line:rgba(244,98,107,.45);
  --info:#58A6FF;   --info-soft:rgba(88,166,255,.14); --info-line:rgba(88,166,255,.45);
  --neutral:#8A96A6;--neutral-soft:rgba(138,150,166,.12);
  --new:#C084FC;    --new-soft:rgba(192,132,252,.14); --new-line:rgba(192,132,252,.45);

  /* Data-viz categorical */
  --viz-1:#34D6C3; --viz-2:#6C8CFF; --viz-3:#F5B544; --viz-4:#F4626B;
  --viz-5:#A78BFA; --viz-6:#4ADE80; --viz-7:#38BDF8; --viz-8:#FB923C;
  --viz-9:#E879A6; --viz-10:#94A3B8; --viz-11:#2DD4BF; --viz-12:#FBBF24;

  /* Typography */
  --font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;
  --font-mono:"JetBrains Mono","Cascadia Code","SF Mono","Roboto Mono",ui-monospace,Menlo,Consolas,monospace;
  --fs-display:28px; --fs-h1:22px; --fs-h2:17px; --fs-h3:14px;
  --fs-body:13px; --fs-sm:12px; --fs-xs:11px; --fs-kpi:30px;
  --lh-tight:1.2; --lh-body:1.5;
  --fw-reg:400; --fw-med:500; --fw-semi:600; --fw-bold:700;

  /* Spacing / radius / motion */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-8:48px;
  --radius-sm:4px; --radius:8px; --radius-lg:12px; --radius-pill:999px;
  --row-h:38px; --topbar-h:56px; --rail-w:222px; --rail-w-collapsed:64px;
  --ease:cubic-bezier(.2,.6,.2,1); --dur:140ms;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg-canvas);color:var(--text);
  font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);
  font-feature-settings:"cv05" 1,"ss03" 1,"tnum" 1;-webkit-font-smoothing:antialiased;}
.num,td.num,.kpi-value,.mono,.axis-label{font-variant-numeric:tabular-nums;}
.mono,code,.domain,.ip,.hash,.asn{font-family:var(--font-mono);font-variant-numeric:tabular-nums;}
a{color:var(--accent-2);text-decoration:none} a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid var(--bg-canvas)}
::-webkit-scrollbar-track{background:transparent}
