/* --- CSS CUSTOM PROPERTIES (Design Tokens) --- */
:root {
  /* Primary Palette */
  --color-primary: #1B4332;
  --color-primary-light: #2D6A4F;
  --color-primary-dark: #0F2B1E;
  --color-primary-50: #E8F5E9;
  --color-primary-100: #C8E6C9;

  /* Secondary */
  --color-secondary: #B8652A;
  --color-secondary-light: #D4864B;
  --color-secondary-dark: #8B4D1F;

  /* Accents */
  --color-accent-sky: #5BA3D9;
  --color-accent-sunset: #E07A3A;

  /* Neutrals */
  --color-neutral-warm: #F5F0EB;
  --color-neutral-light: #E8E0D8;
  --color-neutral-mid: #9E948A;
  --color-neutral-dark: #3D3630;
  --color-white: #FFFFFF;
  --color-black: #1A1714;

  /* Semantic */
  --color-success: #4CAF50;
  --color-warning: #FF9800;
  --color-error: #F44336;
  --color-info: #2196F3;

  /* Difficulty Colors */
  --color-difficulty-easy: #4CAF50;
  --color-difficulty-moderate: #FF9800;
  --color-difficulty-hard: #F44336;
  --color-difficulty-expert: #9C27B0;

  /* Surface Colors */
  --color-surface: #FFFFFF;
  --color-surface-alt: #F7F4F0;
  --color-overlay-dark: rgba(15, 43, 30, 0.7);
  --color-overlay-gradient: linear-gradient(180deg, rgba(15,43,30,0.3) 0%, rgba(15,43,30,0.8) 100%);

  /* Typography */
  --font-heading: 'Barlow Condensed', Arial, sans-serif;
  --font-body: 'DM Sans', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* Type Scale - Fluid with clamp() */
  --text-xs: clamp(0.65rem, 1.5vw, 0.6875rem);
  --text-sm: clamp(0.75rem, 2vw, 0.8125rem);
  --text-base: clamp(0.9rem, 2.5vw, 1rem);
  --text-lg: clamp(1rem, 3vw, 1.125rem);
  --text-xl: clamp(1.1rem, 3.5vw, 1.375rem);
  --text-2xl: clamp(1.25rem, 4vw, 1.75rem);
  --text-3xl: clamp(1.5rem, 5vw, 2.25rem);
  --text-4xl: clamp(2rem, 6vw, 3rem);
  --text-5xl: clamp(2.5rem, 8vw, 3.875rem);

  /* Spacing Scale - Fluid with clamp() */
  --space-1: clamp(0.25rem, 1vw, 0.25rem);
  --space-2: clamp(0.4rem, 1.5vw, 0.5rem);
  --space-3: clamp(0.5rem, 2vw, 0.75rem);
  --space-4: clamp(0.75rem, 2.5vw, 1rem);
  --space-5: clamp(1rem, 3vw, 1.5rem);
  --space-6: clamp(1.25rem, 4vw, 2rem);
  --space-8: clamp(1.5rem, 5vw, 3rem);
  --space-10: clamp(2rem, 6vw, 4rem);
  --space-12: clamp(3rem, 8vw, 6rem);
  --space-16: clamp(4rem, 10vw, 8rem);

  /* Container Widths */
  --container-max: 1200px;
  --container-narrow: 800px;
  --container-padding: clamp(1rem, 4vw, 2rem);

  /* Borders & Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.1);
  --shadow-lg: 0 8px 30px rgba(0,0,0,0.12);
  --shadow-xl: 0 16px 50px rgba(0,0,0,0.15);

  /* Transitions */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Z-index scale */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-loader: 500;
  --z-cursor: 600;
  --z-particles: 0;
}
