:root {
    --primary: #6a0dad;
    --primary-light: #8e24aa;
    --primary-dark: #4b0082;
    --primary-gradient: linear-gradient(135deg, var(--primary-dark), var(--primary));
    
    --secondary: #4b0082;
    --secondary-light: #673ab7;
    --secondary-dark: #311b92;
    
    --accent: #9c27b0;
    --accent-light: #ba68c8;
    --accent-dark: #7b1fa2;

    --success: #2e7d32;
    --success-light: #4caf50;
    --success-dark: #1b5e20;
    
    --warning: #f57c00;
    --warning-light: #ff9800;
    --warning-dark: #e65100;
    
    --error: #d32f2f;
    --error-light: #f44336;
    --error-dark: #b71c1c;
    
    --dark: #121212;
    --dark-800: #1d1d1d;
    --dark-700: #282828;
    --dark-600: #333333;
    --dark-500: #444444;
    
    --light: #ffffff;
    --light-800: #f5f5f5;
    --light-700: #eeeeee;
    --light-600: #e0e0e0;
    --light-500: #bbbbbb;
    
    --card-bg: rgba(30, 30, 30, 0.9);
    --card-bg-hover: rgba(40, 40, 40, 0.95);
    --card-header-bg: var(--primary-gradient);
    --card-border: rgba(255, 255, 255, 0.1);
    
    --input-bg: rgba(255, 255, 255, 0.07);
    --input-border: rgba(255, 255, 255, 0.15);
    --input-focus-border: rgba(255, 255, 255, 0.3);
    
    --button-primary-bg: var(--primary);
    --button-primary-text: var(--light);
    --button-secondary-bg: rgba(255, 255, 255, 0.1);
    --button-secondary-text: var(--light);
    
    --text-primary: rgba(255, 255, 255, 0.9);
    --text-secondary: rgba(255, 255, 255, 0.7);
    --text-tertiary: rgba(255, 255, 255, 0.5);
    
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.25);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.3);
    --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.4);
    
    --glow-primary: 0 0 20px rgba(106, 13, 173, 0.5);
    --glow-accent: 0 0 20px rgba(156, 39, 176, 0.5);
    
    --header-height: 70px;
    --footer-height: 60px;
    --border-radius-sm: 6px;
    --border-radius-md: 10px;
    --border-radius-lg: 16px;
    
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;
    --space-8: 64px;
    
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
    
    --z-negative: -1;
    --z-normal: 1;
    --z-dropdown: 10;
    --z-sticky: 100;
    --z-fixed: 200;
    --z-modal: 1000;
    --z-popover: 2000;
    --z-tooltip: 3000;
    --z-notification: 5000;
}

[data-theme="light"] {
    --card-bg: rgba(245, 245, 245, 0.9);
    --card-bg-hover: rgba(235, 235, 235, 0.95);
    --card-header-bg: var(--primary-gradient);
    --card-border: rgba(0, 0, 0, 0.1);
    
    --input-bg: rgba(0, 0, 0, 0.05);
    --input-border: rgba(0, 0, 0, 0.15);
    --input-focus-border: rgba(0, 0, 0, 0.3);
    
    --text-primary: rgba(0, 0, 0, 0.9);
    --text-secondary: rgba(0, 0, 0, 0.7);
    --text-tertiary: rgba(0, 0, 0, 0.5);
    
    --dark: #ffffff;
    --light: #121212;
    
    --button-secondary-bg: rgba(0, 0, 0, 0.1);
    --button-secondary-text: var(--text-primary);
}

:root {
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    --font-code: 'Fira Code', 'Courier New', monospace;
    
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-md: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    
    --font-light: 300;
    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;
}