:root {
  /* Dark mode first (default) */
  --color-bg-primary: hsl(220, 20%, 8%);
  --color-bg-secondary: hsl(220, 18%, 12%);
  --color-bg-tertiary: hsl(220, 16%, 16%);
  --color-surface: hsl(220, 14%, 20%);
  --color-border: hsl(220, 12%, 24%);

  --color-text-primary: hsl(220, 10%, 92%);
  --color-text-secondary: hsl(220, 8%, 68%);
  --color-text-muted: hsl(220, 6%, 48%);

  --color-accent: hsl(200, 85%, 55%);
  --color-accent-hover: hsl(200, 85%, 65%);
  --color-accent-glow: hsl(200 85% 55% / 0.2);

  --color-success: hsl(145, 65%, 45%);
  --color-warning: hsl(40, 90%, 55%);
  --color-danger: hsl(0, 75%, 55%);

  /* Typography */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  --font-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, monospace;

  /* Type scale (1.25 ratio) */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.563rem;
  --text-2xl: 1.953rem;
  --text-3xl: 2.441rem;
  --text-4xl: 3.052rem;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;

  /* Layout */
  --max-width: 1200px;
  --max-width-narrow: 800px;
  --radius-sm: 0.375rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* Shadows */
  --shadow-sm: 0 1px 2px hsl(0 0% 0% / 0.3);
  --shadow-md: 0 4px 12px hsl(0 0% 0% / 0.4);
  --shadow-lg: 0 8px 32px hsl(0 0% 0% / 0.5);
  --shadow-glow: 0 0 20px var(--color-accent-glow);
}

[data-theme="light"] {
  --color-bg-primary: hsl(220, 20%, 97%);
  --color-bg-secondary: hsl(220, 18%, 100%);
  --color-bg-tertiary: hsl(220, 16%, 95%);
  --color-surface: hsl(220, 14%, 92%);
  --color-border: hsl(220, 12%, 85%);
  --color-text-primary: hsl(220, 20%, 12%);
  --color-text-secondary: hsl(220, 12%, 38%);
  --color-text-muted: hsl(220, 8%, 56%);
  --color-accent: hsl(200, 85%, 42%);
  --shadow-sm: 0 1px 2px hsl(0 0% 0% / 0.05);
  --shadow-md: 0 4px 12px hsl(0 0% 0% / 0.08);
  --shadow-lg: 0 8px 32px hsl(0 0% 0% / 0.12);
}
