/* ActiveQ tokens — compiled from tokens.json. Night shift is the default; data-theme="day" switches. */
:root,[data-theme="night"]{
  --bg:#0b0d10;--surface:#13161b;--surface-raised:#1b1f26;--surface-sunken:#08090b;--surface-hover:#1f242c;
  --line:#232830;--line-strong:#626b78;--ink:#f2f3ee;--ink-muted:#9ba2ad;--ink-faint:#6b727d;
  --volt:#c8f135;--on-volt:#0e1012;--volt-text:#c8f135;--volt-soft:rgba(200, 241, 53, 0.12);
  --flare:#ff5a36;--on-flare:#0e1012;--flare-text:#ff7a5c;--flare-soft:rgba(255, 90, 54, 0.14);
  --amber:#ffb020;--on-amber:#0e1012;--amber-text:#ffc14d;--amber-soft:rgba(255, 176, 32, 0.14);
  --tide:#3dd6f5;--on-tide:#0e1012;--tide-text:#5cdcf7;--tide-soft:rgba(61, 214, 245, 0.12);
  --focus:#c8f135;--scrim:rgba(5, 6, 8, 0.6);
  --status-new:var(--tide-text);--status-active:var(--volt-text);--status-waiting:var(--amber-text);--status-resolved:var(--ink-muted);--status-breach:var(--flare-text);
  --shadow-card:0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-lift:0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-pop:0 0 0 1px rgba(255, 255, 255, 0.06), 0 24px 64px rgba(0, 0, 0, 0.6);
  --shadow-glow:0 0 0 1px rgba(200, 241, 53, 0.55), 0 0 24px rgba(200, 241, 53, 0.28);
}
[data-theme="day"]{
  --bg:#f5f5f0;--surface:#ffffff;--surface-raised:#ffffff;--surface-sunken:#ecece5;--surface-hover:#f0f0ea;
  --line:#e2e2db;--line-strong:#8c8c82;--ink:#0e1012;--ink-muted:#5a5f67;--ink-faint:#9a9ea4;
  --volt:#c8f135;--on-volt:#0e1012;--volt-text:#4a6600;--volt-soft:#eef8cc;
  --flare:#ff5a36;--on-flare:#0e1012;--flare-text:#c2340f;--flare-soft:#ffe6df;
  --amber:#ffb020;--on-amber:#0e1012;--amber-text:#8a5800;--amber-soft:#fff1d6;
  --tide:#3dd6f5;--on-tide:#0e1012;--tide-text:#00708a;--tide-soft:#dcf6fc;
  --focus:#4a6600;--scrim:rgba(14, 16, 18, 0.32);
  --status-new:var(--tide-text);--status-active:var(--volt-text);--status-waiting:var(--amber-text);--status-resolved:var(--ink-muted);--status-breach:var(--flare-text);
  --shadow-card:0 1px 2px rgba(14, 16, 18, 0.06), 0 0 0 1px rgba(14, 16, 18, 0.05);
  --shadow-lift:0 2px 4px rgba(14, 16, 18, 0.06), 0 12px 28px rgba(14, 16, 18, 0.10);
  --shadow-pop:0 0 0 1px rgba(14, 16, 18, 0.06), 0 24px 64px rgba(14, 16, 18, 0.18);
  --shadow-glow:0 0 0 1px rgba(200, 241, 53, 0.55), 0 0 24px rgba(200, 241, 53, 0.28);
}
:root{
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
  --radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;
  --dur-instant:80ms;--dur-fast:140ms;--dur-base:220ms;--dur-slow:360ms;--dur-story:640ms;
  --ease-out:cubic-bezier(0.16, 1, 0.3, 1);--ease-in:cubic-bezier(0.5, 0, 0.75, 0);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-linear:linear;
  --z-sticky:10;--z-popover:40;--z-overlay:60;--z-toast:80;
  --font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --font-text:Geist, ui-sans-serif, system-ui, sans-serif;
  --font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
@font-face{font-family:"Bricolage Grotesque";src:url("fonts/BricolageGrotesque-Variable.woff2") format("woff2");font-weight:200 800;font-display:swap;}
@font-face{font-family:"Geist";src:url("fonts/Geist-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap;}
@font-face{font-family:"Geist Mono";src:url("fonts/GeistMono-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap;}
