:root { /* Dark mode first (default) */ --color-bg-primary: hsl(220, 20%, 8%); --color-bg-secondary: hsl(220, 18%, 12%); --color-bg-tertiary: hsl(220, 16%, 16%); --color-surface: hsl(220, 14%, 20%); --color-border: hsl(220, 12%, 24%); --color-text-primary: hsl(220, 10%, 92%); --color-text-secondary: hsl(220, 8%, 68%); --color-text-muted: hsl(220, 6%, 48%); --color-accent: hsl(200, 85%, 55%); --color-accent-hover: hsl(200, 85%, 65%); --color-accent-glow: hsl(200 85% 55% / 0.2); --color-success: hsl(145, 65%, 45%); --color-warning: hsl(40, 90%, 55%); --color-danger: hsl(0, 75%, 55%); /* Typography */ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; --font-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, monospace; /* Type scale (1.25 ratio) */ --text-xs: 0.75rem; --text-sm: 0.875rem; --text-base: 1rem; --text-lg: 1.25rem; --text-xl: 1.563rem; --text-2xl: 1.953rem; --text-3xl: 2.441rem; --text-4xl: 3.052rem; /* Spacing */ --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-6: 1.5rem; --space-8: 2rem; --space-12: 3rem; --space-16: 4rem; --space-24: 6rem; /* Layout */ --max-width: 1200px; --max-width-narrow: 800px; --radius-sm: 0.375rem; --radius-md: 0.75rem; --radius-lg: 1rem; /* Transitions */ --transition-fast: 150ms ease; --transition-base: 250ms ease; --transition-slow: 400ms ease; /* Shadows */ --shadow-sm: 0 1px 2px hsl(0 0% 0% / 0.3); --shadow-md: 0 4px 12px hsl(0 0% 0% / 0.4); --shadow-lg: 0 8px 32px hsl(0 0% 0% / 0.5); --shadow-glow: 0 0 20px var(--color-accent-glow); } [data-theme="light"] { --color-bg-primary: hsl(220, 20%, 97%); --color-bg-secondary: hsl(220, 18%, 100%); --color-bg-tertiary: hsl(220, 16%, 95%); --color-surface: hsl(220, 14%, 92%); --color-border: hsl(220, 12%, 85%); --color-text-primary: hsl(220, 20%, 12%); --color-text-secondary: hsl(220, 12%, 38%); --color-text-muted: hsl(220, 8%, 56%); --color-accent: hsl(200, 85%, 42%); --shadow-sm: 0 1px 2px hsl(0 0% 0% / 0.05); --shadow-md: 0 4px 12px hsl(0 0% 0% / 0.08); --shadow-lg: 0 8px 32px hsl(0 0% 0% / 0.12); }