/* ==========================================================================
   THEMES - CSS Custom Properties for Light & Dark modes
   ========================================================================== */

:root {
    /* Primary palette */
    --primary: hsl(225, 73%, 57%);
    --primary-light: hsl(225, 73%, 67%);
    --primary-dark: hsl(225, 73%, 47%);
    --primary-alpha: hsla(225, 73%, 57%, 0.15);

    /* Accent */
    --accent: hsl(280, 68%, 60%);
    --accent-light: hsl(280, 68%, 70%);
    --accent-alpha: hsla(280, 68%, 60%, 0.15);

    /* Gradient */
    --gradient-primary: linear-gradient(135deg, var(--primary), var(--accent));
    --gradient-hero: linear-gradient(135deg, hsl(225, 73%, 57%), hsl(280, 68%, 60%), hsl(340, 82%, 59%));
    --gradient-card: linear-gradient(135deg, rgba(79, 124, 255, 0.1), rgba(168, 85, 247, 0.05));

    /* Semantic */
    --success: hsl(152, 69%, 45%);
    --success-light: hsl(152, 69%, 92%);
    --warning: hsl(38, 92%, 55%);
    --warning-light: hsl(38, 92%, 92%);
    --danger: hsl(0, 78%, 62%);
    --danger-light: hsl(0, 78%, 93%);
    --info: hsl(199, 89%, 48%);
    --info-light: hsl(199, 89%, 92%);

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

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

    /* Spacing */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;

    /* Border radius */
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;

    /* 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);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
    --shadow-glow: 0 0 20px var(--primary-alpha);

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 350ms ease;

    /* Z-index */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-modal-backdrop: 300;
    --z-modal: 400;
    --z-tooltip: 500;
    --z-toast: 600;
}

/* ---- Light Theme (default) ---- */
[data-theme="light"], :root {
    --bg-primary: hsl(220, 14%, 96%);
    --bg-secondary: hsl(220, 14%, 100%);
    --bg-tertiary: hsl(220, 14%, 93%);
    --bg-card: hsl(0, 0%, 100%);
    --bg-sidebar: hsl(0, 0%, 100%);
    --bg-input: hsl(0, 0%, 100%);
    --bg-hover: hsl(220, 14%, 94%);
    --bg-glass: rgba(255, 255, 255, 0.7);

    --text-primary: hsl(222, 47%, 11%);
    --text-secondary: hsl(215, 16%, 47%);
    --text-tertiary: hsl(215, 13%, 65%);
    --text-inverse: hsl(0, 0%, 100%);

    --border-color: hsl(220, 13%, 91%);
    --border-hover: hsl(220, 13%, 82%);

    --sidebar-bg: hsl(0, 0%, 100%);
    --sidebar-text: hsl(222, 47%, 11%);
    --sidebar-hover: hsl(220, 14%, 96%);
    --sidebar-active: var(--primary-alpha);
}

/* ---- Dark Theme ---- */
[data-theme="dark"] {
    --bg-primary: hsl(222, 47%, 8%);
    --bg-secondary: hsl(222, 47%, 11%);
    --bg-tertiary: hsl(222, 47%, 14%);
    --bg-card: hsl(222, 47%, 13%);
    --bg-sidebar: hsl(222, 47%, 10%);
    --bg-input: hsl(222, 47%, 15%);
    --bg-hover: hsl(222, 47%, 16%);
    --bg-glass: rgba(15, 23, 42, 0.8);

    --text-primary: hsl(213, 31%, 91%);
    --text-secondary: hsl(215, 20%, 65%);
    --text-tertiary: hsl(215, 13%, 45%);
    --text-inverse: hsl(222, 47%, 11%);

    --border-color: hsl(222, 30%, 18%);
    --border-hover: hsl(222, 30%, 28%);

    --sidebar-bg: hsl(222, 47%, 10%);
    --sidebar-text: hsl(213, 31%, 91%);
    --sidebar-hover: hsl(222, 47%, 15%);
    --sidebar-active: var(--primary-alpha);

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.2);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.3), 0 2px 4px -1px rgba(0,0,0,0.2);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.3), 0 4px 6px -2px rgba(0,0,0,0.2);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.3), 0 10px 10px -5px rgba(0,0,0,0.2);
}
