:root {
  /* Colors - Dark Fantasy Theme */
  --color-bg-primary: #0a0a14;
  --color-bg-secondary: #10101c;
  --color-bg-elevated: #181828;
  --color-bg-hero: #060610;
  --color-bg-card: #14142a;

  --color-text-primary: #e8e6e3;
  --color-text-secondary: #a0a0b0;
  --color-text-heading: #f0ece6;
  --color-text-muted: #6e6e80;

  --color-accent: #c9a84c;
  --color-accent-hover: #dfc06a;
  --color-accent-subtle: rgba(201, 168, 76, 0.15);
  --color-accent-secondary: #7b68ee;

  --color-border: #2a2a3e;
  --color-border-accent: rgba(201, 168, 76, 0.25);

  --color-focus: #7b68ee;
  --color-overlay: rgba(6, 6, 16, 0.85);
  --color-bg-menu: #141432;
  --color-text-menu: #f0ece6;

  /* Typography */
  --font-heading: 'Cinzel', 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
  --font-body: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 2rem;
  --fs-3xl: 2.5rem;
  --fs-hero: clamp(2.25rem, 5vw, 4rem);
  --fs-page-title: clamp(1.75rem, 4vw, 3rem);

  --lh-tight: 1.2;
  --lh-normal: 1.6;
  --lh-loose: 1.8;

  --fw-normal: 400;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* Spacing */
  --sp-xs: 0.25rem;
  --sp-sm: 0.5rem;
  --sp-md: 1rem;
  --sp-lg: 1.5rem;
  --sp-xl: 2rem;
  --sp-2xl: 3rem;
  --sp-3xl: 4rem;
  --sp-4xl: 6rem;

  /* Layout */
  --max-w-content: 75rem;
  --max-w-text: 42rem;
  --max-w-narrow: 55rem;

  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;

  /* Transitions */
  --transition-fast: 150ms ease-in-out;
  --transition-normal: 300ms ease-in-out;

  /* Shadows */
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.4);
  --shadow-hover: 0 8px 32px rgba(0, 0, 0, 0.6);
  --shadow-nav: 0 2px 16px rgba(0, 0, 0, 0.5);

  /* Z-index — z-nav must be ≥ z-menu so the header
     stacking context sits above the overlay (z-menu - 1) */
  --z-nav: 400;
  --z-overlay: 200;
  --z-menu: 300;
}

/* ========================
   LIGHT THEME
   ======================== */
[data-theme="light"] {
  --color-bg-primary: #f5f3ef;
  --color-bg-secondary: #eae7e1;
  --color-bg-elevated: #ffffff;
  --color-bg-hero: #ede9e3;
  --color-bg-card: #ffffff;

  --color-text-primary: #1a1a2e;
  --color-text-secondary: #4a4a5a;
  --color-text-heading: #0f0f1e;
  --color-text-muted: #7a7a8a;

  --color-accent: #a07830;
  --color-accent-hover: #8a6828;
  --color-accent-subtle: rgba(160, 120, 48, 0.12);

  --color-border: #d0cec8;
  --color-border-accent: rgba(160, 120, 48, 0.3);

  --color-focus: #5a4ed0;
  --color-overlay: rgba(245, 243, 239, 0.9);
  --color-bg-menu: #ffffff;
  --color-text-menu: #0f0f1e;

  --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.08);
  --shadow-hover: 0 4px 20px rgba(0, 0, 0, 0.12);
  --shadow-nav: 0 1px 8px rgba(0, 0, 0, 0.1);
}
