/* ==============================================
   DESIGN TOKENS — Single source of truth for all visual values
   ============================================== */

:root {
  /* === SPACING (8px base) === */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;

  /* === TYPOGRAPHY === */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --text-4xl: 2.5rem;
  --text-5xl: 3.5rem;

  --leading-tight: 1.2;
  --leading-normal: 1.6;

  /* === BORDER RADIUS === */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

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

  /* === Z-INDEX === */
  --z-base: 1;
  --z-sticky: 200;
  --z-navbar: 300;
  --z-overlay: 400;

  /* === CONTAINER === */
  --container-max: 1100px;
  --container-padding: var(--space-md);

  /* === NAVBAR === */
  --navbar-height: 64px;
}

/* === DARK THEME (default) === */
[data-theme="dark"] {
  --color-bg-primary: #24211E;
  --color-bg-secondary: #1E1B18;
  --color-bg-surface: #3A3531;
  --color-bg-elevated: #46413C;

  --color-text-primary: #F0EBE2;
  --color-text-secondary: #A89F94;
  --color-text-tertiary: #7A7268;

  --color-accent: #E57A44;
  --color-accent-hover: #F08A56;
  --color-accent-subtle: rgba(229, 122, 68, 0.1);

  --color-accent2: #5A9A98;
  --color-accent2-hover: #6DB0AE;
  --color-accent2-subtle: rgba(90, 154, 152, 0.1);

  --color-border: rgba(240, 235, 226, 0.08);
  --color-border-hover: rgba(240, 235, 226, 0.15);

  --color-tag-bg: rgba(90, 154, 152, 0.12);
  --color-tag-text: #5A9A98;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.5);

  --icon-filter-invert: invert(1) brightness(1.5);
}

/* === LIGHT THEME === */
[data-theme="light"] {
  --color-bg-primary: #FCF9F4;
  --color-bg-secondary: #F5F1EA;
  --color-bg-surface: #FFFFFF;
  --color-bg-elevated: #F0ECE5;

  --color-text-primary: #3C352E;
  --color-text-secondary: #817567;
  --color-text-tertiary: #A89F94;

  --color-accent: #D96D38;
  --color-accent-hover: #C45E2B;
  --color-accent-subtle: rgba(217, 109, 56, 0.08);

  --color-accent2: #487C7A;
  --color-accent2-hover: #3A6664;
  --color-accent2-subtle: rgba(72, 124, 122, 0.08);

  --color-border: rgba(60, 53, 46, 0.1);
  --color-border-hover: rgba(60, 53, 46, 0.2);

  --color-tag-bg: rgba(72, 124, 122, 0.1);
  --color-tag-text: #487C7A;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.12);

  --icon-filter-invert: none;
}
