/* ============================================================
   FitChallenge — Theme System
   CSS Custom Properties for Light & Dark themes
   ============================================================ */

/* ---- Light Theme (Default) ---- */
:root,
[data-theme="light"] {
    /* Surfaces */
    --bg-primary: #f8f9fc;
    --bg-secondary: #ffffff;
    --bg-card: #ffffff;
    --bg-sidebar: #ffffff;
    --bg-input: #f1f3f9;
    --bg-hover: #f1f3f9;
    --bg-active: #e8f5e9;
    --bg-overlay: rgba(0, 0, 0, 0.4);
    --bg-badge: #f1f3f9;

    /* Borders */
    --border-color: #e2e6ef;
    --border-light: #eef0f6;
    --border-focus: #43a047;

    /* Text */
    --text-primary: #1a1d27;
    --text-secondary: #4a5068;
    --text-muted: #8892a8;
    --text-inverse: #ffffff;
    --text-link: #2e7d32;

    /* Accents */
    --accent-green: #43a047;
    --accent-green-hover: #388e3c;
    --accent-green-light: rgba(67, 160, 71, 0.1);
    --accent-green-bg: #e8f5e9;
    --accent-red: #ef5350;
    --accent-red-hover: #e53935;
    --accent-red-light: rgba(239, 83, 80, 0.1);
    --accent-red-bg: #ffebee;
    --accent-blue: #42a5f5;
    --accent-blue-hover: #1e88e5;
    --accent-blue-light: rgba(66, 165, 245, 0.1);
    --accent-blue-bg: #e3f2fd;
    --accent-amber: #ffa726;
    --accent-amber-hover: #fb8c00;
    --accent-amber-light: rgba(255, 167, 38, 0.1);
    --accent-amber-bg: #fff8e1;
    --accent-purple: #ab47bc;
    --accent-purple-light: rgba(171, 71, 188, 0.1);

    /* Shadows */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.03);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.06), 0 4px 6px rgba(0, 0, 0, 0.03);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.08), 0 8px 10px rgba(0, 0, 0, 0.03);
    --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.08);

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #43a047 0%, #66bb6a 100%);
    --gradient-hero: linear-gradient(135deg, #1a1d27 0%, #2d3142 100%);
    --gradient-chart: rgba(67, 160, 71, 0.15);

    /* Radius */
    --radius-xs: 4px;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --radius-full: 9999px;

    /* Spacing scale */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;

    /* Typography */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.8125rem;
    --font-size-base: 0.9375rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.625;

    /* Layout */
    --sidebar-width: 260px;
    --sidebar-collapsed-width: 72px;
    --navbar-height: 64px;
    --bottom-nav-height: 64px;
    --content-max-width: 1200px;

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;
    --transition-spring: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);

    /* Z-index scale */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-overlay: 300;
    --z-modal: 400;
    --z-toast: 500;
}

/* ---- Dark Theme ---- */
[data-theme="dark"] {
    /* Surfaces */
    --bg-primary: #0f1117;
    --bg-secondary: #161822;
    --bg-card: #1c1e2e;
    --bg-sidebar: #13141f;
    --bg-input: #1c1e2e;
    --bg-hover: #252839;
    --bg-active: rgba(67, 160, 71, 0.12);
    --bg-overlay: rgba(0, 0, 0, 0.6);
    --bg-badge: #252839;

    /* Borders */
    --border-color: #2a2d3e;
    --border-light: #22253a;
    --border-focus: #66bb6a;

    /* Text */
    --text-primary: #e8eaf0;
    --text-secondary: #a0a6be;
    --text-muted: #6b7194;
    --text-inverse: #0f1117;
    --text-link: #66bb6a;

    /* Accents (slightly brighter for dark bg) */
    --accent-green: #66bb6a;
    --accent-green-hover: #81c784;
    --accent-green-light: rgba(102, 187, 106, 0.12);
    --accent-green-bg: rgba(102, 187, 106, 0.08);
    --accent-red: #ef5350;
    --accent-red-hover: #f44336;
    --accent-red-light: rgba(239, 83, 80, 0.12);
    --accent-red-bg: rgba(239, 83, 80, 0.08);
    --accent-blue: #64b5f6;
    --accent-blue-hover: #42a5f5;
    --accent-blue-light: rgba(100, 181, 246, 0.12);
    --accent-blue-bg: rgba(100, 181, 246, 0.08);
    --accent-amber: #ffb74d;
    --accent-amber-hover: #ffa726;
    --accent-amber-light: rgba(255, 183, 77, 0.12);
    --accent-amber-bg: rgba(255, 183, 77, 0.08);
    --accent-purple: #ce93d8;
    --accent-purple-light: rgba(206, 147, 216, 0.12);

    /* Shadows (subtle on dark) */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.25);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.3);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.35);
    --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.4);

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #388e3c 0%, #66bb6a 100%);
    --gradient-hero: linear-gradient(135deg, #1c1e2e 0%, #252839 100%);
    --gradient-chart: rgba(102, 187, 106, 0.15);
}
