/*
 * CSS Custom Properties - Theme Variables
 * Contains all CSS variables for colors, typography, spacing, and layout
 */

:root {
  /* Light theme colors */
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --bg-accent: #e9ecef;
  --text-primary: #121212;
  --text-secondary: #666666;
  --text-muted: #999999;
  --border-color: #e5e5e5;
  --link-color: #326891;
  --link-hover: #1a4971;
  --accent-color: #d32f2f;
  
  /* Typography - NYT Style */
  --font-headline: 'Playfair Display', 'Times New Roman', Georgia, serif;
  --font-body: 'PT Serif', Georgia, serif;
  --font-ui: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --font-mono: 'Fira Code', Consolas, monospace;
  
  /* Spacing */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-xxl: 3rem;
  
  /* Layout */
  --container-max-width: 1200px;
  --article-max-width: 700px;
  --border-radius: 4px;
  --shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  --transition: all 0.3s ease;
}

/* Dark theme colors */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-primary: #1a1a1a;
    --bg-secondary: #2d2d2d;
    --bg-accent: #404040;
    --text-primary: #ffffff;
    --text-secondary: #cccccc;
    --text-muted: #999999;
    --border-color: #404040;
    --link-color: #66b3ff;
    --link-hover: #4da3ff;
    --accent-color: #ff6b6b;
  }
}

/* Dark theme override class */
[data-theme="dark"] {
  --bg-primary: #1a1a1a;
  --bg-secondary: #2d2d2d;
  --bg-accent: #404040;
  --text-primary: #ffffff;
  --text-secondary: #cccccc;
  --text-muted: #999999;
  --border-color: #404040;
  --link-color: #66b3ff;
  --link-hover: #4da3ff;
  --accent-color: #ff6b6b;
}

/* Light theme override class */
[data-theme="light"] {
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --bg-accent: #e9ecef;
  --text-primary: #121212;
  --text-secondary: #666666;
  --text-muted: #999999;
  --border-color: #e5e5e5;
  --link-color: #326891;
  --link-hover: #1a4971;
  --accent-color: #d32f2f;
}
