/* 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;
}
[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;
}

:root {
  --space-0: 0px;
  --space-0-5: 2px;
  --space-1: 4px;
  --space-1-5: 6px;
  --space-2: 8px;
  --space-2-5: 10px;
  --space-3: 12px;
  --space-3-5: 14px;
  --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;
  --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;
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0em;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-widest: 0.1em;
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 24px;
  --radius-full: 9999px;
  --border-none: 0px;
  --border-thin: 1px;
  --border-medium: 2px;
  --border-thick: 4px;
  --control-xs: 24px;
  --control-sm: 32px;
  --control-md: 40px;
  --control-lg: 48px;
  --control-xl: 56px;
  --icon-xs: 12px;
  --icon-sm: 16px;
  --icon-md: 20px;
  --icon-lg: 24px;
  --icon-xl: 32px;
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1280px;
  --container-2xl: 1400px;
  --container-prose: 65ch;
  --duration-instant: 0ms;
  --duration-fast: 100ms;
  --duration-base: 200ms;
  --duration-moderate: 300ms;
  --duration-slow: 500ms;
  --ease-linear: cubic-bezier(0, 0, 1, 1);
  --ease-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --font-sans: "Articulat CF", system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
  --font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;
  --font-pixel: Silkscreen, Chicago, var(--font-mono);
  --reveal-i: 0;
  --wall-shift: 0px;
}
