/* variables.css — Design tokens for light and dark themes */

:root,
[data-theme="light"] {
  --color-bg: #F8F7F4;
  --color-surface: #FFFFFF;
  --color-text: #1A1A2E;
  --color-text-muted: #4A4A68;
  --color-accent: #E85D2C;
  --color-accent-hover: #D04E1F;
  --color-accent-secondary: #2D6A4F;
  --color-border: #D4D2CC;
  --color-border-light: #E8E6E1;
  --color-code-bg: #1E1E2E;
  --color-code-text: #E8E6E1;
  --color-header-bg: rgba(248, 247, 244, 0.92);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-nav: 0 1px 3px rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] {
  --color-bg: #0F0F1A;
  --color-surface: #1A1A2E;
  --color-text: #E8E6E1;
  --color-text-muted: #9A98A8;
  --color-accent: #F0793A;
  --color-accent-hover: #FF8C4F;
  --color-accent-secondary: #40B87C;
  --color-border: #2A2A40;
  --color-border-light: #1F1F35;
  --color-code-bg: #1E1E2E;
  --color-code-text: #E8E6E1;
  --color-header-bg: rgba(15, 15, 26, 0.92);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-nav: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Category colors — stable across themes */
:root {
  --color-creational: #2563EB;
  --color-structural: #6B7280;
  --color-behavioral: #059669;
  --color-solid: #DC2626;
  --color-oop: #7C3AED;
  --color-tutorial: #0891B2;
  --color-project: #E85D2C;

  /* Spacing scale */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-24: 96px;

  /* Border radius */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-full: 9999px;

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

  /* Header height */
  --header-height: 88px;
}
