:root {
    /* Primary Colors - HSL for easy manipulation */
    --primary-hue: 210;
    --primary-sat: 100%;
    --primary-lig: 50%;
    
    --color-primary: hsl(var(--primary-hue), var(--primary-sat), var(--primary-lig));
    --color-primary-light: hsl(var(--primary-hue), var(--primary-sat), 60%);
    --color-primary-dark: hsl(var(--primary-hue), var(--primary-sat), 40%);
    --color-primary-alpha: hsla(var(--primary-hue), var(--primary-sat), var(--primary-lig), 0.1);

    /* Secondary/Accent Colors */
    --color-accent: hsl(280, 80%, 60%);
    --color-success: hsl(150, 60%, 45%);
    --color-warning: hsl(40, 90%, 55%);
    --color-danger: hsl(0, 70%, 55%);
    --color-info: hsl(190, 80%, 50%);

    /* Neutral Colors */
    --color-bg-body: hsl(210, 20%, 98%);
    --color-bg-surface: #ffffff;
    --color-bg-surface-alt: hsl(210, 20%, 96%);
    
    --color-text-main: hsl(210, 20%, 15%);
    --color-text-muted: hsl(210, 10%, 50%);
    --color-border: hsl(210, 20%, 90%);
    
    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
    
    /* Spacing */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    
    /* Border Radius */
    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;
    --radius-lg: 1rem;
    --radius-full: 9999px;
    
    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-normal: 300ms ease;
}

[data-theme="dark"] {
    --color-bg-body: hsl(210, 20%, 10%);
    --color-bg-surface: hsl(210, 20%, 15%);
    --color-bg-surface-alt: hsl(210, 20%, 20%);
    
    --color-text-main: hsl(210, 20%, 95%);
    --color-text-muted: hsl(210, 10%, 70%);
    --color-border: hsl(210, 20%, 25%);
}
