:root {
  /* Warm palette — ambers */
  --color-amber-50: #fffbeb;
  --color-amber-100: #fef3c7;
  --color-amber-200: #fde68a;
  --color-amber-300: #fcd34d;
  --color-amber-400: #fbbf24;
  --color-amber-500: #f59e0b;
  --color-amber-600: #d97706;
  --color-amber-700: #b45309;

  /* Warm grays */
  --color-warm-50: #fafaf9;
  --color-warm-100: #f5f5f4;
  --color-warm-200: #e7e5e4;
  --color-warm-300: #d6d3d1;
  --color-warm-400: #a8a29e;
  --color-warm-500: #78716c;
  --color-warm-600: #57534e;
  --color-warm-700: #44403c;
  --color-warm-800: #292524;
  --color-warm-900: #1c1917;

  /* Deep teal accent */
  --color-teal-400: #2dd4bf;
  --color-teal-500: #14b8a6;
  --color-teal-600: #0d9488;
  --color-teal-700: #0f766e;
  --color-teal-800: #115e59;

  /* Category colors — Personal = blues, Work = purples */
  --color-cat-personal-code: #3b82f6;      /* Blue 500 */
  --color-cat-personal-projects: #60a5fa;  /* Blue 400 */
  --color-cat-work-proposals: #8b5cf6;     /* Violet 500 */
  --color-cat-work-projects: #a78bfa;      /* Violet 400 */
  --color-cat-work-other: #7c3aed;         /* Violet 600 */

  /* Semantic tokens */
  --color-bg: var(--color-warm-50);
  --color-surface: #ffffff;
  --color-text: var(--color-warm-800);
  --color-text-secondary: var(--color-warm-600);
  --color-text-muted: var(--color-warm-500);
  --color-accent: var(--color-teal-600);
  --color-accent-hover: var(--color-teal-700);
  --color-highlight: var(--color-amber-400);
  --color-border: var(--color-warm-200);
  --color-border-light: var(--color-warm-100);

  /* Typography */
  --font-body: 'Source Serif 4', Georgia, serif;
  --font-heading: 'DM Sans', system-ui, sans-serif;

  /* Font sizes */
  --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: 1.875rem;

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;

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

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(28, 25, 23, 0.05);
  --shadow-md: 0 4px 6px rgba(28, 25, 23, 0.07);
  --shadow-lg: 0 10px 15px rgba(28, 25, 23, 0.1);
  --shadow-xl: 0 20px 25px rgba(28, 25, 23, 0.1);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 400ms ease-out;
}
