/* GENERATED by design-system/tools/gen-dist.mjs from design-system/tokens/*.json — do not edit; run `make ds-build`. */
:root,
[data-theme="light"] {
  color-scheme: light;
  /* == semantic: color == */
  --color-neutral-0: #ffffff;
  --color-neutral-50: #f8f9fa;
  --color-neutral-100: #f1f3f5;
  --color-neutral-200: #dee2e6;
  --color-neutral-300: #848b93;
  --color-neutral-400: #adb5bd;
  --color-neutral-500: #6a727a;
  --color-neutral-600: #5c646c;
  --color-neutral-700: #495057;
  --color-neutral-800: #343a40;
  --color-neutral-900: #212529;
  --color-accent-primary: #1a56db;
  --color-accent-primary-hover: #1648b8;
  --color-accent-secondary: #2563eb;
  --color-accent-primary-contrast: #ffffff;
  --color-accent-primary-soft: #e8f0fe;
  --color-semantic-success: #0d7a50;
  --color-semantic-success-soft: #ecfdf5;
  --color-semantic-warning: #a05a08;
  --color-semantic-warning-soft: #fffbeb;
  --color-semantic-error: #b91c1c;
  --color-semantic-error-soft: #fef2f2;
  --color-semantic-info: #1a56db;
  --color-semantic-info-soft: #e8f0fe;
  --color-semantic-priority: #7c3aed;
  --color-semantic-priority-soft: #f5f3ff;
  --color-semantic-vip: #a05a08;
  --color-semantic-vip-soft: #fffbeb;
  --color-surface-page: var(--color-neutral-50);
  --color-surface-card: var(--color-neutral-0);
  --color-surface-raised: var(--color-neutral-0);
  --color-surface-overlay: rgba(0, 0, 0, 0.5);
  --color-surface-inverse: var(--color-neutral-900);
  --color-surface-on-inverse: var(--color-neutral-0);
  --color-chart-band-neutral: var(--color-neutral-100);
  --color-chart-band-low: var(--color-semantic-success-soft);
  --color-chart-band-mid: var(--color-semantic-warning-soft);
  --color-chart-band-high: #fed7aa;
  --color-chart-band-critical: var(--color-semantic-error-soft);
  --color-brand-primary: #000099;
  --color-brand-primary-hover: #0000c2;
  --color-brand-primary-contrast: var(--color-neutral-0);
  --color-brand-primary-soft: #e8ecfb;
  --color-brand-accent: #33cc66;
  --color-brand-on-accent: #0f172a;
  --color-brand-glow: rgba(51, 153, 255, 0.18);
  --color-brand-band: #000099;
  --color-brand-on-band: #ffffff;
  --color-brand-deep: #000066;
  --color-brand-endless: #3399ff;
  --color-brand-page: var(--color-neutral-50);
  --color-brand-card: var(--color-neutral-0);
  --color-brand-device-frame: #0f172a;
  --color-brand-screen: #f8f9fa;
  --color-brand-screen-card: #ffffff;
  --color-brand-screen-ink: #212529;
  --color-brand-screen-ink-muted: #5c646c;
  --color-brand-screen-line: #dee2e6;
  --color-brand-screen-accent: #1a56db;
  --color-brand-screen-success: #0d7a50;
  --color-brand-screen-success-soft: #ecfdf5;
  --color-display-palette-navy-primary: #163f80;
  --color-display-palette-navy-primary-hover: #244e8b;
  --color-display-palette-navy-primary-soft: #e9f0fd;
  --color-display-palette-navy-primary-contrast: var(--color-neutral-0);
  --color-display-palette-green-primary: #0f766e;
  --color-display-palette-green-primary-hover: #115e59;
  --color-display-palette-green-primary-soft: #e6f4f1;
  --color-display-palette-green-primary-contrast: var(--color-neutral-0);
  --color-display-palette-red-primary: #b42318;
  --color-display-palette-red-primary-hover: #912018;
  --color-display-palette-red-primary-soft: #fdeceb;
  --color-display-palette-red-primary-contrast: var(--color-neutral-0);
  --color-display-palette-graphite-primary: #344054;
  --color-display-palette-graphite-primary-hover: #1d2939;
  --color-display-palette-graphite-primary-soft: #f2f4f7;
  --color-display-palette-graphite-primary-contrast: var(--color-neutral-0);
  /* == semantic: type == */
  --type-body-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --type-heading-family: 'Mulish', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --type-heading-weight: 900;
  --type-code-family: var(--type-body-family);
  --type-display-size: 3rem;
  --type-display-weight: 700;
  --type-display-family: var(--type-body-family);
  --type-display-leading: 1.15;
  --type-h1-size: 1.75rem;
  --type-h1-weight: 700;
  --type-h1-family: var(--type-body-family);
  --type-h1-leading: 1.25;
  --type-h2-size: 1.375rem;
  --type-h2-weight: 700;
  --type-h2-family: var(--type-body-family);
  --type-h2-leading: 1.35;
  --type-h3-size: 1.125rem;
  --type-h3-weight: 700;
  --type-h3-family: var(--type-body-family);
  --type-h3-leading: 1.35;
  --type-body-size: 0.9375rem;
  --type-body-weight: 400;
  --type-body-leading: 1.5;
  --type-body-large-size: 1.0625rem;
  --type-body-large-weight: 400;
  --type-body-large-family: var(--type-body-family);
  --type-body-large-leading: 1.45;
  --type-caption-size: 0.8125rem;
  --type-caption-weight: 500;
  --type-caption-family: var(--type-body-family);
  --type-caption-leading: 1.45;
  --type-code-size: var(--type-body-size);
  --type-code-weight: 400;
  --type-code-leading: 1.5;
  /* == semantic: radius, elevation, touch, space, motion, icon size == */
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --radius-full: 9999px;
  --elevation-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --elevation-card: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --elevation-card-hover: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  --elevation-dropdown: 0 4px 16px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.04);
  --elevation-dialog: 0 16px 48px rgba(0, 0, 0, 0.12), 0 4px 12px rgba(0, 0, 0, 0.06);
  --touch-web: 44px;
  --touch-kiosk: 80px;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --motion-fast: 150ms;
  --motion-standard: 250ms;
  --motion-slow: 400ms;
  --motion-success: 800ms;
  --motion-attention: 2000ms;
  --icon-size-xs: 12px;
  --icon-size-sm: 16px;
  --icon-size-md: 20px;
  --icon-size-lg: 24px;
  --icon-size-xl: 32px;
  /* == component tier — var() references only (TOKENS.md § Component tier) == */
  --button-primary-bg: var(--color-accent-primary);
  --button-primary-bg-hover: var(--color-accent-primary-hover);
  --button-primary-fg: var(--color-accent-primary-contrast);
  --button-secondary-bg: var(--color-surface-card);
  --button-secondary-bg-hover: var(--color-neutral-50);
  --button-secondary-fg: var(--color-neutral-700);
  --button-secondary-border: var(--color-neutral-300);
  --button-danger-bg: var(--color-semantic-error);
  --button-danger-bg-hover: var(--color-semantic-error);
  --button-danger-fg: var(--color-accent-primary-contrast);
  --button-ghost-fg: var(--color-accent-primary);
  --button-ghost-bg-hover: var(--color-accent-primary-soft);
  --button-focus-ring: var(--color-accent-primary);
  --input-bg: var(--color-surface-card);
  --input-fg: var(--color-neutral-700);
  --input-border: var(--color-neutral-300);
  --input-border-focus: var(--color-accent-primary);
  --input-border-invalid: var(--color-semantic-error);
  --input-placeholder-fg: var(--color-neutral-600);
  --input-label-fg: var(--color-neutral-700);
  --input-error-fg: var(--color-semantic-error);
  --dialog-overlay-bg: var(--color-surface-overlay);
  --dialog-surface-bg: var(--color-surface-raised);
  --dialog-surface-border: var(--color-neutral-200);
  --badge-neutral-bg: var(--color-surface-card);
  --badge-neutral-fg: var(--color-neutral-700);
  --badge-neutral-border: var(--color-neutral-200);
  --badge-info-bg: var(--color-semantic-info-soft);
  --badge-info-fg: var(--color-semantic-info);
  --badge-success-bg: var(--color-semantic-success-soft);
  --badge-success-fg: var(--color-semantic-success);
  --badge-warning-bg: var(--color-semantic-warning-soft);
  --badge-warning-fg: var(--color-semantic-warning);
  --badge-danger-bg: var(--color-semantic-error-soft);
  --badge-danger-fg: var(--color-semantic-error);
  --badge-vip-bg: var(--color-semantic-vip-soft);
  --badge-vip-fg: var(--color-semantic-vip);
  --badge-priority-bg: var(--color-semantic-priority-soft);
  --badge-priority-fg: var(--color-semantic-priority);
  --card-bg: var(--color-surface-card);
  --card-border: var(--color-neutral-200);
  --chip-radius: var(--radius-md);
  /* == shell — non-themable literals (README § Shell slots) == */
  --sidebar-bg: #0f172a;
  --sidebar-fg: #e2e8f0;
  --sidebar-fg-muted: #94a3b8;
  --sidebar-fg-dim: #94a3b8;
  --sidebar-fg-disabled: #64748b;
  --sidebar-divider: rgba(148, 163, 184, 0.12);
  --sidebar-hover-bg: rgba(148, 163, 184, 0.08);
  --sidebar-pill-bg: rgba(148, 163, 184, 0.1);
  --sidebar-danger-mark: #f87171;
  --sidebar-danger-fg: #fca5a5;
}

[data-theme="dark"] {
  color-scheme: dark;
  /* == color == */
  --color-neutral-0: #0f172a;
  --color-neutral-50: #1b2537;
  --color-neutral-100: #283548;
  --color-neutral-200: #64748b;
  --color-neutral-300: #7d8da4;
  --color-neutral-400: #8e9db3;
  --color-neutral-500: #a3b1c6;
  --color-neutral-600: #cbd5e1;
  --color-neutral-700: #e2e8f0;
  --color-neutral-800: #f8fafc;
  --color-neutral-900: #ffffff;
  --color-accent-primary: #6ea8ff;
  --color-accent-primary-hover: #8dbaff;
  --color-accent-secondary: #7ab0ff;
  --color-accent-primary-contrast: #0f172a;
  --color-accent-primary-soft: #172a4f;
  --color-semantic-success: #4ade80;
  --color-semantic-success-soft: #052e1c;
  --color-semantic-warning: #fbbf24;
  --color-semantic-warning-soft: #3b2605;
  --color-semantic-error: #fca5a5;
  --color-semantic-error-soft: #3f1212;
  --color-semantic-info: #6ea8ff;
  --color-semantic-info-soft: #172a4f;
  --color-semantic-priority: #b7a1fb;
  --color-semantic-priority-soft: #2a1d4d;
  --color-semantic-vip: #fbbf24;
  --color-semantic-vip-soft: #3b2605;
  --color-surface-page: var(--color-neutral-0);
  --color-surface-card: var(--color-neutral-50);
  --color-surface-raised: var(--color-neutral-100);
  --color-surface-overlay: rgba(0, 0, 0, 0.7);
  --color-surface-inverse: var(--color-neutral-200);
  --color-surface-on-inverse: var(--color-neutral-900);
  --color-chart-band-neutral: var(--color-neutral-100);
  --color-chart-band-low: var(--color-semantic-success-soft);
  --color-chart-band-mid: var(--color-semantic-warning-soft);
  --color-chart-band-high: #4a2a0a;
  --color-chart-band-critical: var(--color-semantic-error-soft);
  --color-brand-primary: #33cc66;
  --color-brand-primary-hover: #4fd97d;
  --color-brand-primary-contrast: var(--color-neutral-0);
  --color-brand-primary-soft: #12273b;
  --color-brand-accent: #33cc66;
  --color-brand-on-accent: #0f172a;
  --color-brand-glow: rgba(0, 0, 153, 0.6);
  --color-brand-band: #000099;
  --color-brand-on-band: #ffffff;
  --color-brand-deep: #000066;
  --color-brand-endless: #3399ff;
  --color-brand-page: #03031f;
  --color-brand-card: #0c0c34;
  --color-brand-device-frame: #0f172a;
  --color-brand-screen: #f8f9fa;
  --color-brand-screen-card: #ffffff;
  --color-brand-screen-ink: #212529;
  --color-brand-screen-ink-muted: #5c646c;
  --color-brand-screen-line: #dee2e6;
  --color-brand-screen-accent: #1a56db;
  --color-brand-screen-success: #0d7a50;
  --color-brand-screen-success-soft: #ecfdf5;
  --color-display-palette-navy-primary: #8db4f2;
  --color-display-palette-navy-primary-hover: #a9c6f5;
  --color-display-palette-navy-primary-soft: #162a4c;
  --color-display-palette-navy-primary-contrast: var(--color-neutral-0);
  --color-display-palette-green-primary: #5cc7b8;
  --color-display-palette-green-primary-hover: #7fd4c8;
  --color-display-palette-green-primary-soft: #0e3330;
  --color-display-palette-green-primary-contrast: var(--color-neutral-0);
  --color-display-palette-red-primary: #f4a097;
  --color-display-palette-red-primary-hover: #f7bab3;
  --color-display-palette-red-primary-soft: #3d1714;
  --color-display-palette-red-primary-contrast: var(--color-neutral-0);
  --color-display-palette-graphite-primary: #b9c3d1;
  --color-display-palette-graphite-primary-hover: #d2d9e3;
  --color-display-palette-graphite-primary-soft: #222c3c;
  --color-display-palette-graphite-primary-contrast: var(--color-neutral-0);
  /* == elevation == */
  --elevation-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
  --elevation-card: 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4);
  --elevation-card-hover: 0 4px 12px rgba(0, 0, 0, 0.5), 0 2px 4px rgba(0, 0, 0, 0.4);
  --elevation-dropdown: 0 4px 16px rgba(0, 0, 0, 0.6), 0 2px 4px rgba(0, 0, 0, 0.4);
  --elevation-dialog: 0 16px 48px rgba(0, 0, 0, 0.7), 0 4px 12px rgba(0, 0, 0, 0.5);
}

@supports (color: color-mix(in srgb, red, red)) {
  :root,
  [data-theme="light"] {
    --button-danger-bg-hover: color-mix(in srgb, var(--color-semantic-error) 85%, black);
  }
}
