/* Generated by design-system/build.mjs. Edit design/tokens.json. */
:root {
  --signal-font-display: 'Manrope', sans-serif;
  --signal-font-body: 'Source Sans 3', sans-serif;
  --signal-font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --signal-hero-bg: #0c1c33;
  --signal-hero-text: #f4f7fb;
  --signal-hero-muted: #cad7e7;
  --signal-hero-line: #355473;
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;
  --sp-32: 8rem;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --signal-touch: 44px;
  --signal-border: 1px;
  --signal-focus: 2px;
  --signal-focus-offset: 4px;
  --fs-display: clamp(2.5rem, 5.2vw, 5rem);
  --fs-h1: clamp(2.25rem, 4.6vw, 4.5rem);
  --fs-h2: clamp(1.75rem, 3.2vw, 3rem);
  --fs-h3: clamp(1.125rem, 1.6vw, 1.5rem);
  --fs-lead: clamp(1rem, 1.4vw, 1.125rem);
  --fs-body: 1rem;
  --fs-sm: 0.875rem;
  --fs-xs: 0.75rem;
  --fs-label: 0.6875rem;
  --fs-metric: clamp(2rem, 4vw, 3.5rem);
  --signal-tracking: 0.05em;
  --signal-display-tracking: -0.025em;
  --signal-leading: 1.6;
  --signal-heading-leading: 1.12;
  --signal-mono-leading: 1.5;
  --signal-fast: 100ms;
  --signal-normal: 240ms;
  --signal-slow: 440ms;
  --signal-flow-duration: 800ms;
  --signal-spring: cubic-bezier(.2,.8,.2,1.15);
  --signal-ease: cubic-bezier(.2,.7,.2,1);
  --signal-lift: -2px;
  --signal-card-scale: 1.02;
  --signal-reveal-y: 20px;
  --signal-grid: 32px;
  --signal-dot: 6px;
  --signal-connector: 32px;
  --signal-node-min: 88px;
  --signal-diagram-min: 180px;
  --signal-diagram-wide: 640px;
  --signal-video-ratio: 16 / 9;
  --signal-rail: 224px;
  --signal-topbar: 64px;
  --signal-z-nav: 20;
  --signal-z-overlay: 60;
  --container: 1280px;
  --container-narrow: 760px;
  --gutter: clamp(1rem, 4vw, 3rem);
  --header-h: 80px;
  --section-y: clamp(3rem, 7vw, 7rem);
  --signal-bg: #f4f7fb;
  --signal-base: #e9f0f7;
  --signal-surface: #ffffff;
  --signal-elevated: #e6edf5;
  --signal-overlay: #ffffff;
  --signal-text: #12253e;
  --signal-muted: #354961;
  --signal-faint: #51657b;
  --signal-line: #cad7e7;
  --signal-line-strong: #6c839f;
  --signal-accent: #195dad;
  --signal-accent-text: #1754a0;
  --signal-accent-ink: #ffffff;
  --signal-accent-wash: #dfebfb;
  --signal-copper: #b86d46;
  --signal-copper-text: #8b4b2c;
  --signal-allow: #225746;
  --signal-notify: #254b7e;
  --signal-hitl: #755014;
  --signal-deny: #943535;
  --signal-drift: #63498d;
  --signal-taint: #84422e;
  --signal-quarantine: #485a70;
  --signal-shadow: 0 8px 24px #17355414;
  --signal-scheme: light;
  --font-display: var(--signal-font-display);
  --font-body: var(--signal-font-body);
  --font-mono: var(--signal-font-mono);
  --ink-950: var(--signal-base);
  --ink-900: var(--signal-bg);
  --ink-800: var(--signal-surface);
  --ink-700: var(--signal-elevated);
  --ink-600: var(--signal-overlay);
  --canvas: var(--signal-bg);
  --text-hi: var(--signal-text);
  --text-mid: var(--signal-muted);
  --text-low: var(--signal-faint);
  --text-faint: var(--signal-faint);
  --title-ink: var(--signal-text);
  --title-glint: var(--signal-text);
  --title-glint-warm: var(--signal-text);
  --surface: var(--signal-surface);
  --surface-up: var(--signal-elevated);
  --border: var(--signal-line);
  --border-mid: var(--signal-line-strong);
  --copper: var(--signal-accent);
  --copper-text: var(--signal-accent-text);
  --copper-deep: var(--signal-accent-text);
  --copper-sheen: var(--signal-accent-text);
  --copper-shade: var(--signal-accent);
  --copper-bright: var(--signal-accent);
  --copper-wash: var(--signal-accent-wash);
  --copper-line: var(--signal-line-strong);
  --copper-glow: var(--signal-accent-wash);
  --copper-metal: var(--signal-accent);
  --copper-metal-hot: var(--signal-accent);
  --copper-text-metal: var(--signal-accent-text);
  --danger: var(--signal-deny);
  --success: var(--signal-allow);
  --shadow-copper: var(--signal-shadow);
  --shadow-dark: var(--signal-shadow);
  --ease: var(--signal-ease);
  --ease-out: var(--signal-ease);
  --t-fast: var(--signal-fast);
  --t-mid: var(--signal-normal);
  --t-slow: var(--signal-slow);
  --t-reveal: var(--signal-slow);
  color-scheme: light;
}
:root[data-theme="dark"], .section--dark {
  --signal-bg: #0c1c33;
  --signal-base: #081526;
  --signal-surface: #132942;
  --signal-elevated: #19324d;
  --signal-overlay: #223e58;
  --signal-text: #f5f8fc;
  --signal-muted: #cbd8e8;
  --signal-faint: #abbed5;
  --signal-line: #304863;
  --signal-line-strong: #6d8bad;
  --signal-accent: #3f93ff;
  --signal-accent-text: #a5cdff;
  --signal-accent-ink: #08182b;
  --signal-accent-wash: #173b62;
  --signal-copper: #d58b68;
  --signal-copper-text: #e8bba2;
  --signal-allow: #a6d3c2;
  --signal-notify: #a7c6eb;
  --signal-hitl: #e7c68a;
  --signal-deny: #f4aaa9;
  --signal-drift: #c6b8e4;
  --signal-taint: #e7bcaf;
  --signal-quarantine: #b8c8dd;
  --signal-shadow: 0 8px 24px #030f2333;
  --signal-scheme: dark;
  --font-display: var(--signal-font-display);
  --font-body: var(--signal-font-body);
  --font-mono: var(--signal-font-mono);
  --ink-950: var(--signal-base);
  --ink-900: var(--signal-bg);
  --ink-800: var(--signal-surface);
  --ink-700: var(--signal-elevated);
  --ink-600: var(--signal-overlay);
  --canvas: var(--signal-bg);
  --text-hi: var(--signal-text);
  --text-mid: var(--signal-muted);
  --text-low: var(--signal-faint);
  --text-faint: var(--signal-faint);
  --title-ink: var(--signal-text);
  --title-glint: var(--signal-text);
  --title-glint-warm: var(--signal-text);
  --surface: var(--signal-surface);
  --surface-up: var(--signal-elevated);
  --border: var(--signal-line);
  --border-mid: var(--signal-line-strong);
  --copper: var(--signal-accent);
  --copper-text: var(--signal-accent-text);
  --copper-deep: var(--signal-accent-text);
  --copper-sheen: var(--signal-accent-text);
  --copper-shade: var(--signal-accent);
  --copper-bright: var(--signal-accent);
  --copper-wash: var(--signal-accent-wash);
  --copper-line: var(--signal-line-strong);
  --copper-glow: var(--signal-accent-wash);
  --copper-metal: var(--signal-accent);
  --copper-metal-hot: var(--signal-accent);
  --copper-text-metal: var(--signal-accent-text);
  --danger: var(--signal-deny);
  --success: var(--signal-allow);
  --shadow-copper: var(--signal-shadow);
  --shadow-dark: var(--signal-shadow);
  --ease: var(--signal-ease);
  --ease-out: var(--signal-ease);
  --t-fast: var(--signal-fast);
  --t-mid: var(--signal-normal);
  --t-slow: var(--signal-slow);
  --t-reveal: var(--signal-slow);
  color-scheme: dark;
}
:root[data-theme="light"], .section--light {
  --signal-bg: #f4f7fb;
  --signal-base: #e9f0f7;
  --signal-surface: #ffffff;
  --signal-elevated: #e6edf5;
  --signal-overlay: #ffffff;
  --signal-text: #12253e;
  --signal-muted: #354961;
  --signal-faint: #51657b;
  --signal-line: #cad7e7;
  --signal-line-strong: #6c839f;
  --signal-accent: #195dad;
  --signal-accent-text: #1754a0;
  --signal-accent-ink: #ffffff;
  --signal-accent-wash: #dfebfb;
  --signal-copper: #b86d46;
  --signal-copper-text: #8b4b2c;
  --signal-allow: #225746;
  --signal-notify: #254b7e;
  --signal-hitl: #755014;
  --signal-deny: #943535;
  --signal-drift: #63498d;
  --signal-taint: #84422e;
  --signal-quarantine: #485a70;
  --signal-shadow: 0 8px 24px #17355414;
  --signal-scheme: light;
  --font-display: var(--signal-font-display);
  --font-body: var(--signal-font-body);
  --font-mono: var(--signal-font-mono);
  --ink-950: var(--signal-base);
  --ink-900: var(--signal-bg);
  --ink-800: var(--signal-surface);
  --ink-700: var(--signal-elevated);
  --ink-600: var(--signal-overlay);
  --canvas: var(--signal-bg);
  --text-hi: var(--signal-text);
  --text-mid: var(--signal-muted);
  --text-low: var(--signal-faint);
  --text-faint: var(--signal-faint);
  --title-ink: var(--signal-text);
  --title-glint: var(--signal-text);
  --title-glint-warm: var(--signal-text);
  --surface: var(--signal-surface);
  --surface-up: var(--signal-elevated);
  --border: var(--signal-line);
  --border-mid: var(--signal-line-strong);
  --copper: var(--signal-accent);
  --copper-text: var(--signal-accent-text);
  --copper-deep: var(--signal-accent-text);
  --copper-sheen: var(--signal-accent-text);
  --copper-shade: var(--signal-accent);
  --copper-bright: var(--signal-accent);
  --copper-wash: var(--signal-accent-wash);
  --copper-line: var(--signal-line-strong);
  --copper-glow: var(--signal-accent-wash);
  --copper-metal: var(--signal-accent);
  --copper-metal-hot: var(--signal-accent);
  --copper-text-metal: var(--signal-accent-text);
  --danger: var(--signal-deny);
  --success: var(--signal-allow);
  --shadow-copper: var(--signal-shadow);
  --shadow-dark: var(--signal-shadow);
  --ease: var(--signal-ease);
  --ease-out: var(--signal-ease);
  --t-fast: var(--signal-fast);
  --t-mid: var(--signal-normal);
  --t-slow: var(--signal-slow);
  --t-reveal: var(--signal-slow);
  color-scheme: light;
}
