/* CSS Variables - Ultra-modern design system */
:root {
    /* Color Palette - Dark Mode First */
    --primary-900: #0a0e27;
    --primary-800: #0d1117;
    --primary-700: #161b22;
    --primary-600: #21262d;
    --primary-500: #30363d;
    --primary-400: #484f58;
    --primary-300: #6e7681;
    --primary-200: #b1bac4;
    --primary-100: #f0f6fc;
    
    /* Accent Colors - Vibrant Gradients */
    --accent-primary: #3b82f6;
    --accent-secondary: #8b5cf6;
    --accent-tertiary: #ec4899;
    --accent-success: #10b981;
    --accent-warning: #f59e0b;
    --accent-error: #ef4444;
    
    /* Gradient Definitions */
    --gradient-primary: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
    --gradient-secondary: linear-gradient(135deg, var(--accent-secondary) 0%, var(--accent-tertiary) 100%);
    --gradient-accent: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%);
    --gradient-dark: linear-gradient(135deg, var(--primary-900) 0%, var(--primary-800) 100%);
    --gradient-glow: radial-gradient(circle at center, var(--accent-primary) 0%, transparent 70%);
    
    /* Typography Scale */
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'JetBrains Mono', 'Courier New', monospace;
    
    --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
    --text-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);
    --text-base: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
    --text-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
    --text-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
    --text-2xl: clamp(1.5rem, 1.3rem + 1vw, 2rem);
    --text-3xl: clamp(2rem, 1.7rem + 1.5vw, 2.5rem);
    --text-4xl: clamp(2.5rem, 2rem + 2.5vw, 3.5rem);
    --text-5xl: clamp(3rem, 2.5rem + 2.5vw, 4rem);
    
    /* Spacing Scale */
    --space-xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem);
    --space-sm: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
    --space-md: clamp(1rem, 0.8rem + 1vw, 1.5rem);
    --space-lg: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
    --space-xl: clamp(2rem, 1.5rem + 2.5vw, 3rem);
    --space-2xl: clamp(3rem, 2rem + 5vw, 5rem);
    --space-3xl: clamp(4rem, 3rem + 5vw, 6rem);
    
    /* Layout */
    --container-max: 1400px;
    --header-height: 80px;
    --sidebar-width: 280px;
    
    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;
    
    /* Shadows - Soft and layered */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
    --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);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --shadow-glow: 0 0 20px rgba(59, 130, 246, 0.4);
    --shadow-glow-lg: 0 0 40px rgba(59, 130, 246, 0.6);
    
    /* Animation Timing */
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    
    /* Transitions */
    --transition-fast: 150ms var(--ease-out);
    --transition-base: 200ms var(--ease-out);
    --transition-slow: 300ms var(--ease-out);
    --transition-slower: 500ms var(--ease-out);
    
    /* Z-index Scale */
    --z-base: 1;
    --z-dropdown: 10;
    --z-sticky: 20;
    --z-fixed: 30;
    --z-modal-backdrop: 40;
    --z-modal: 50;
    --z-popover: 60;
    --z-tooltip: 70;
    --z-notification: 80;
    
    /* Glass Morphism */
    --glass-bg: rgba(255, 255, 255, 0.02);
    --glass-border: rgba(255, 255, 255, 0.08);
    --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
    --glass-blur: blur(8px);
    
    /* Glow Effects */
    --glow-xs: 0 0 4px;
    --glow-sm: 0 0 8px;
    --glow-md: 0 0 16px;
    --glow-lg: 0 0 24px;
    --glow-xl: 0 0 32px;
}

/* Light Theme Overrides */
[data-theme="light"] {
    --primary-900: #f0f6fc;
    --primary-800: #e1e7ed;
    --primary-700: #d1d9e0;
    --primary-600: #c2cbd3;
    --primary-500: #b3bcc6;
    --primary-400: #8891a0;
    --primary-300: #5d667a;
    --primary-200: #323b54;
    --primary-100: #0a0e27;
    
    --glass-bg: rgba(255, 255, 255, 0.7);
    --glass-border: rgba(0, 0, 0, 0.08);
    --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
}

/* Responsive Breakpoints */
@custom-media --mobile (max-width: 639px);
@custom-media --tablet (min-width: 640px) and (max-width: 1023px);
@custom-media --desktop (min-width: 1024px);
@custom-media --wide (min-width: 1280px);
@custom-media --ultra (min-width: 1536px);

/* Animation Keyframes */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes glow-pulse {
    0%, 100% { 
        box-shadow: 0 0 20px rgba(59, 130, 246, 0.5),
                    0 0 40px rgba(59, 130, 246, 0.3);
    }
    50% { 
        box-shadow: 0 0 30px rgba(59, 130, 246, 0.8),
                    0 0 60px rgba(59, 130, 246, 0.4);
    }
}

@keyframes gradient-shift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}