:root {
  --color-bg: #0b0a14;
  --color-bg-soft: #14132a;
  --color-bg-elevated: #1d1b3a;
  --color-surface: #25224a;
  --color-border: #2f2c5c;
  --color-border-strong: #423e7a;

  --color-text: #f4f3ff;
  --color-text-soft: #c8c5e8;
  --color-text-muted: #8e8bb8;

  --color-primary: #7c5cff;
  --color-primary-hover: #9580ff;
  --color-primary-soft: #2a1f6b;

  --color-accent: #ffb94a;
  --color-accent-soft: #3a2a14;

  --color-success: #3ecf8e;
  --color-warning: #ffb94a;
  --color-danger: #ff5c7a;

  --color-link: #9580ff;
  --color-link-hover: #b3a5ff;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 6px 16px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 18px 40px rgba(0, 0, 0, 0.55);

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 999px;

  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-display: 'Inter', system-ui, sans-serif;
  --font-mono: ui-monospace, 'SF Mono', 'JetBrains Mono', Consolas, monospace;

  --fs-h1: clamp(1.85rem, 4vw + 1rem, 3.25rem);
  --fs-h2: clamp(1.4rem, 2.5vw + 0.75rem, 2.25rem);
  --fs-h3: clamp(1.2rem, 1.5vw + 0.75rem, 1.65rem);
  --fs-h4: clamp(1.05rem, 1vw + 0.75rem, 1.35rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-xs: 0.78rem;

  --lh-tight: 1.2;
  --lh-normal: 1.55;
  --lh-loose: 1.7;

  --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;
  --space-9: 6rem;

  --container: min(100% - 2rem, 1180px);
  --container-narrow: min(100% - 2rem, 760px);
  --container-wide: min(100% - 2rem, 1360px);

  --header-h: 64px;

  --transition-fast: 120ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 320ms ease;

  --z-banner: 50;
  --z-header: 100;
  --z-modal: 200;
  --z-cookie: 300;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
