:root {
  --color-bg-primary: #FFFFFF;
  --color-bg-secondary: #F5F5F7;
  --color-bg-tertiary: #FAFAFA;
  --color-border: #D2D2D7;
  --color-divider: #E5E5E7;

  --color-text-primary: #1D1D1F;
  --color-text-secondary: #6E6E73;
  --color-text-tertiary: #86868B;

  --color-success: #30D158;
  --color-success-soft: #E7F8ED;
  --color-warning: #FF9F0A;
  --color-warning-soft: #FFF4E0;
  --color-error: #FF453A;
  --color-error-soft: #FFE7E5;
  --color-info: #0071E3;
  --color-info-soft: #E5F1FE;

  --font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;

  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 24px;
  --text-2xl: 32px;
  --text-3xl: 48px;
  --text-4xl: 72px;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.08);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;
}

:root[data-theme="dark"] {
  --color-bg-primary: #000000;
  --color-bg-secondary: #1C1C1E;
  --color-bg-tertiary: #2C2C2E;
  --color-border: #38383A;
  --color-divider: #2C2C2E;

  --color-text-primary: #F5F5F7;
  --color-text-secondary: #98989D;
  --color-text-tertiary: #6E6E73;

  --color-success-soft: rgba(48, 209, 88, 0.12);
  --color-warning-soft: rgba(255, 159, 10, 0.12);
  --color-error-soft: rgba(255, 69, 58, 0.12);
  --color-info-soft: rgba(0, 113, 227, 0.18);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
