/* Design System Variables */
:root {
    /* Primary Colors */
    --primary: #4FC3F7;
    --primary-dark: #0288D1;
    --primary-light: #81D4FA;
    --on-primary: #0D172A;

    /* Secondary Colors */
    --secondary: #B0BEC5;
    --secondary-dark: #78909C;
    --on-secondary: #1C1B1F;

    /* Accent Colors */
    --accent: #00BFA5;
    --accent-purple: #7C4DFF;
    --tertiary: #0D47A1;

    /* Background & Surface */
    --background: #0D172A;
    --background-alt: #0A1120;
    --on-background: #E0E7E9;
    --surface: #1A2E44;
    --surface-variant: #2D4C75;
    --surface-hover: #223A5C;
    --on-surface: #E0E7E9;
    --on-surface-variant: #AAB9C4;

    /* Borders & Outlines */
    --outline: #3E5B80;
    --outline-hover: #4FC3F7;
    --border-color: rgba(79, 195, 247, 0.1);

    /* Shadows & Effects */
    --shadow: rgba(0, 0, 0, 0.7);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.5);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.6);
    --glow: 0 0 20px rgba(79, 195, 247, 0.3);
    --glow-strong: 0 0 30px rgba(79, 195, 247, 0.5);

    /* Typography */
    --font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

    /* Font Sizes */
    --fs-xs: 0.75rem;
    --fs-sm: 0.875rem;
    --fs-base: 1rem;
    --fs-lg: 1.125rem;
    --fs-xl: 1.25rem;
    --fs-2xl: 1.5rem;
    --fs-3xl: 1.875rem;
    --fs-4xl: 2.25rem;
    --fs-5xl: 3rem;
    --fs-6xl: 4rem;

    /* Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 2.5rem;
    --space-3xl: 3rem;
    --space-4xl: 4rem;
    --space-5xl: 5rem;

    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 999px;

    /* Transitions */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);

    /* Z-Index Scale */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
}

/* Light Theme */
[data-theme="light"] {
    --primary: #0288D1;
    --primary-dark: #01579B;
    --primary-light: #4FC3F7;
    --on-primary: #FFFFFF;

    --secondary: #546E7A;
    --secondary-dark: #37474F;
    --on-secondary: #FFFFFF;

    --accent: #00897B;
    --accent-purple: #5E35B1;

    --background: #F5F7FA;
    --background-alt: #FFFFFF;
    --on-background: #1C1B1F;
    --surface: #FFFFFF;
    --surface-variant: #E8EAF6;
    --surface-hover: #F0F2F8;
    --on-surface: #1C1B1F;
    --on-surface-variant: #455A64;

    --outline: #CFD8DC;
    --outline-hover: #0288D1;
    --border-color: rgba(2, 136, 209, 0.1);

    --shadow: rgba(0, 0, 0, 0.15);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.15);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.2);
    --glow: 0 0 20px rgba(2, 136, 209, 0.2);
    --glow-strong: 0 0 30px rgba(2, 136, 209, 0.3);
}

/* Gradient Presets */
.gradient-primary {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
}

.gradient-accent {
    background: linear-gradient(135deg, var(--accent), var(--accent-purple));
}

.gradient-surface {
    background: linear-gradient(135deg, var(--surface), var(--surface-variant));
}

.gradient-text {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
