/* Generated by scripts/build_tokens.mjs from tokens/*.json — do not edit by hand. */
:root {
  --color-action-primary: #2563eb;
  --color-action-primary-hover: #1d4ed8;
  --color-action-primary-active: #1e40af;
  --color-action-secondary: #f3f4f6;
  --color-action-secondary-hover: #e5e7eb;
  --color-action-secondary-active: #d1d5db;
  --color-action-destructive: #dc2626;
  --color-action-destructive-hover: #b91c1c;
  --color-feedback-success-bg: #f0fdf4;
  --color-feedback-success-text: #166534;
  --color-feedback-success-border: #86efac;
  --color-feedback-success-icon: #16a34a;
  --color-feedback-warning-bg: #fffbeb;
  --color-feedback-warning-text: #92400e;
  --color-feedback-warning-border: #fcd34d;
  --color-feedback-warning-icon: #d97706;
  --color-feedback-error-bg: #fef2f2;
  --color-feedback-error-text: #991b1b;
  --color-feedback-error-border: #fca5a5;
  --color-feedback-error-icon: #dc2626;
  --color-feedback-info-bg: #eff6ff;
  --color-feedback-info-text: #1e40af;
  --color-feedback-info-border: #93c5fd;
  --color-feedback-info-icon: #2563eb;
  --color-text-primary: #111827;
  --color-text-secondary: #4b5563;
  --color-text-tertiary: #9ca3af;
  --color-text-disabled: #d1d5db;
  --color-text-on-action: #ffffff;
  --color-text-on-dark: #f9fafb;
  --color-text-link: #2563eb;
  --color-text-link-hover: #1e40af;
  --color-surface-page: #ffffff;
  --color-surface-card: #ffffff;
  --color-surface-raised: #ffffff;
  --color-surface-sunken: #f9fafb;
  --color-surface-overlay: rgba(0, 0, 0, 0.5);
  --color-surface-disabled: #f3f4f6;
  --color-border-default: #e5e7eb;
  --color-border-strong: #6b7280;
  --color-border-focus: #3b82f6;
  --color-border-error: #ef4444;
  --color-border-disabled: #e5e7eb;
  --color-interactive-hover-overlay: rgba(0, 0, 0, 0.04);
  --color-interactive-active-overlay: rgba(0, 0, 0, 0.08);
  --color-interactive-selected-bg: #eff6ff;
  --color-interactive-selected-border: #bfdbfe;
  --color-interactive-focus-ring: #3b82f6;
  --color-button-primary-bg: #2563eb;
  --color-button-primary-bg-hover: #1d4ed8;
  --color-button-primary-bg-active: #1e40af;
  --color-button-primary-text: #ffffff;
  --color-button-secondary-bg: #f3f4f6;
  --color-button-secondary-bg-hover: #e5e7eb;
  --color-button-secondary-text: #111827;
  --color-button-ghost-bg-hover: rgba(0, 0, 0, 0.04);
  --color-button-ghost-text: #111827;
  --color-button-destructive-bg: #dc2626;
  --color-button-destructive-bg-hover: #b91c1c;
  --color-button-destructive-text: #ffffff;
  --color-button-disabled-bg: #f3f4f6;
  --color-button-disabled-text: #d1d5db;
  --color-input-bg: #ffffff;
  --color-input-bg-disabled: #f3f4f6;
  --color-input-border: #e5e7eb;
  --color-input-border-hover: #6b7280;
  --color-input-border-focus: #3b82f6;
  --color-input-border-error: #ef4444;
  --color-input-text: #111827;
  --color-input-placeholder: #9ca3af;
  --color-card-bg: #ffffff;
  --color-card-border: #e5e7eb;
  --color-badge-neutral-bg: #f3f4f6;
  --color-badge-neutral-text: #374151;
  --color-badge-primary-bg: #dbeafe;
  --color-badge-primary-text: #1d4ed8;
  --color-badge-success-bg: #dcfce7;
  --color-badge-success-text: #15803d;
  --color-badge-warning-bg: #fef3c7;
  --color-badge-warning-text: #b45309;
  --color-badge-error-bg: #fee2e2;
  --color-badge-error-text: #b91c1c;
  --color-avatar-bg: #e5e7eb;
  --color-avatar-text: #374151;
  --color-avatar-border: #ffffff;
  --font-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-serif: Lora, Georgia, Cambria, "Times New Roman", serif;
  --font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --text-4xl: 36px;
  --text-5xl: 48px;
  --text-6xl: 60px;
  --text-7xl: 72px;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-none: 1;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-9: 36px;
  --space-10: 40px;
  --space-11: 44px;
  --space-12: 48px;
  --space-14: 56px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-0.5: 2px;
  --space-1.5: 6px;
  --space-2.5: 10px;
  --space-3.5: 14px;
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 24px;
  --radius-full: 9999px;
  --radius-button: 6px;
  --radius-input: 6px;
  --radius-card: 8px;
  --radius-modal: 12px;
  --radius-badge: 9999px;
  --radius-avatar: 9999px;
  --radius-tooltip: 6px;
  --radius-dropdown: 8px;
  --radius-checkbox: 4px;
  --radius-toggle: 9999px;
  --radius-image: 8px;
  --shadow-none: none;
  --shadow-sm: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
  --shadow-md: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0px 10px 15px -3px rgba(0, 0, 0, 0.1), 0px 4px 6px -4px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 8px 10px -6px rgba(0, 0, 0, 0.1);
  --shadow-inner-sm: inset 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
  --shadow-inner-md: inset 0px 2px 4px 0px rgba(0, 0, 0, 0.08);
  --shadow-focus-ring: 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px #3b82f6;
  --duration-instant: 0ms;
  --duration-fast: 100ms;
  --duration-base: 200ms;
  --duration-moderate: 300ms;
  --duration-slow: 500ms;
  --ease-linear: cubic-bezier(0, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --transition-micro: 100ms cubic-bezier(0, 0, 0.2, 1);
  --transition-default: 200ms cubic-bezier(0, 0, 0.2, 1);
  --transition-enter: 300ms cubic-bezier(0, 0, 0.2, 1);
  --transition-exit: 200ms cubic-bezier(0.4, 0, 1, 1);
  --transition-emphasis: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --size-control-xs: 24px;
  --size-control-sm: 32px;
  --size-control-md: 40px;
  --size-control-lg: 48px;
  --size-control-xl: 56px;
  --size-icon-xs: 12px;
  --size-icon-sm: 16px;
  --size-icon-md: 20px;
  --size-icon-lg: 24px;
  --size-icon-xl: 32px;
  --size-avatar-sm: 24px;
  --size-avatar-md: 32px;
  --size-avatar-lg: 40px;
  --size-avatar-xl: 64px;
  --size-aspectRatio-square: 1;
  --size-aspectRatio-video: 16 / 9;
  --size-aspectRatio-portrait: 3 / 4;
  --size-aspectRatio-wide: 21 / 9;
  --size-aspectRatio-golden: 1.618 / 1;
  --size-screen-media-max-block: 60vh;
  --size-screen-media-max-inline: 100%;
  --size-screen-box-max-viewport-share: 0.35;
  --size-screen-box-min-content-density: 0.3;
  --size-screen-image-bytes-budget: 500000;
  --opacity-disabled: 0.5;
  --opacity-muted: 0.6;
  --opacity-subtle: 0.08;
  --opacity-pressed: 0.12;
  --opacity-selected: 0.16;
  --opacity-focus: 0.24;
  --opacity-scrim: 0.6;
  --opacity-ghost: 0.04;
  --blur-none: 0px;
  --blur-sm: 4px;
  --blur-md: 8px;
  --blur-lg: 16px;
  --blur-xl: 24px;
  --z-base: 0;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-fixed: 30;
  --z-overlay: 40;
  --z-modal: 50;
  --z-popover: 60;
  --z-toast: 70;
  --z-tooltip: 80;
  --bp-sm: 640px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --bp-2xl: 1536px;
  --color-chart-1: #2563EB;
  --color-chart-2: #E8710A;
  --color-chart-3: #0E9F6E;
  --color-chart-4: #D81B7A;
  --color-chart-5: #7C3AED;
  --color-chart-6: #0891B2;
  --color-chart-7: #B45309;
  --color-chart-8: #64748B;
  --color-chart-grid: #e5e7eb;
  --color-chart-axis-line: #6b7280;
  --color-chart-axis-tick: #e5e7eb;
  --color-chart-axis-label: #4b5563;

  /* deprecated aliases — removed in 3.0.0 */
  --color-action-danger: var(--color-action-destructive);
  --color-action-danger-hover: var(--color-action-destructive-hover);
  --color-text-error: var(--color-feedback-error-text);
  --color-feedback-error: var(--color-feedback-error-icon);
  --color-feedback-success: var(--color-feedback-success-icon);
  --color-feedback-warning: var(--color-feedback-warning-icon);
  --color-success: var(--color-feedback-success-icon);
  --radius-pill: var(--radius-full);
  --duration-normal: var(--duration-base);
  --ease-emphasized: var(--ease-spring);
}
:root[data-theme="dark"] {
  --color-text-primary: #f9fafb;
  --color-text-secondary: #9ca3af;
  --color-text-tertiary: #6b7280;
  --color-text-disabled: #4b5563;
  --color-text-on-action: #ffffff;
  --color-text-link: #60a5fa;
  --color-text-link-hover: #93c5fd;
  --color-surface-page: #030712;
  --color-surface-card: #111827;
  --color-surface-raised: #1f2937;
  --color-surface-sunken: #000000;
  --color-border-default: #1f2937;
  --color-border-strong: #6b7280;
  --color-action-primary: #2563eb;
  --color-action-primary-hover: #1d4ed8;
  --color-action-secondary: #1f2937;
  --color-action-secondary-hover: #374151;
  --color-button-primary-bg: #2563eb;
  --color-button-primary-bg-hover: #1d4ed8;
  --color-button-primary-bg-active: #1e40af;
  --color-button-primary-text: #ffffff;
  --color-button-secondary-bg: #1f2937;
  --color-button-secondary-bg-hover: #374151;
  --color-button-secondary-text: #f9fafb;
  --color-button-ghost-bg-hover: rgba(0, 0, 0, 0.04);
  --color-button-ghost-text: #f9fafb;
  --color-button-destructive-bg: #dc2626;
  --color-button-destructive-bg-hover: #b91c1c;
  --color-button-destructive-text: #ffffff;
  --color-button-disabled-bg: #f3f4f6;
  --color-button-disabled-text: #4b5563;
  --color-input-bg: #111827;
  --color-input-bg-disabled: #f3f4f6;
  --color-input-border: #1f2937;
  --color-input-border-hover: #6b7280;
  --color-input-border-focus: #3b82f6;
  --color-input-border-error: #ef4444;
  --color-input-text: #f9fafb;
  --color-input-placeholder: #6b7280;
  --color-card-bg: #111827;
  --color-card-border: #1f2937;
  --color-badge-neutral-bg: #f3f4f6;
  --color-badge-neutral-text: #374151;
  --color-badge-primary-bg: #dbeafe;
  --color-badge-primary-text: #1d4ed8;
  --color-badge-success-bg: #dcfce7;
  --color-badge-success-text: #15803d;
  --color-badge-warning-bg: #fef3c7;
  --color-badge-warning-text: #b45309;
  --color-badge-error-bg: #fee2e2;
  --color-badge-error-text: #b91c1c;
  --color-avatar-bg: #e5e7eb;
  --color-avatar-text: #374151;
  --color-avatar-border: #ffffff;
  --shadow-none: none;
  --shadow-sm: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
  --shadow-md: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0px 10px 15px -3px rgba(0, 0, 0, 0.1), 0px 4px 6px -4px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 8px 10px -6px rgba(0, 0, 0, 0.1);
  --shadow-focus-ring: 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px #3b82f6;
}
