/**
 * CSS Variables - Design System
 * Noir crime thriller aesthetic with bold contrasts
 */

:root {
    /* Color Palette - Dark Crime Noir */
    --color-bg-primary: #0a0a0f;
    --color-bg-secondary: #151520;
    --color-bg-tertiary: #1a1a28;
    --color-bg-elevated: #20202e;
    
    --color-surface: #252535;
    --color-surface-hover: #2d2d40;
    --color-surface-active: #35354a;
    
    /* Accent Colors - Bold Crime Theme */
    --color-primary: #d4af37; /* Gold */
    --color-primary-dark: #b8941f;
    --color-primary-light: #e8c96f;
    
    --color-secondary: #8b0000; /* Blood red */
    --color-secondary-dark: #660000;
    --color-secondary-light: #a52a2a;
    
    --color-accent: #c41e3a; /* Crime red */
    --color-accent-glow: rgba(196, 30, 58, 0.3);
    
    /* Status Colors */
    --color-success: #2ecc71;
    --color-warning: #f39c12;
    --color-error: #e74c3c;
    --color-info: #3498db;
    
    /* Text Colors */
    --color-text-primary: #ffffff;
    --color-text-secondary: #b8b8c8;
    --color-text-tertiary: #888899;
    --color-text-muted: #5a5a6a;
    --color-text-inverse: #0a0a0f;
    
    /* Border Colors */
    --color-border: #30303e;
    --color-border-light: #3a3a4a;
    --color-border-dark: #20202e;
    --color-border-accent: var(--color-primary);
    
    /* Resource Colors */
    --color-cash: #2ecc71;
    --color-gold: #d4af37;
    --color-energy: #3498db;
    --color-health: #e74c3c;
    --color-experience: #9b59b6;
    
    /* Shadows */
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.5);
    --shadow-xl: 0 12px 24px rgba(0, 0, 0, 0.6);
    --shadow-glow: 0 0 20px var(--color-accent-glow);
    --shadow-gold-glow: 0 0 20px rgba(212, 175, 55, 0.3);
    
    /* Typography */
    --font-primary: 'Rajdhani', sans-serif;
    --font-display: 'Bebas Neue', cursive;
    --font-body: 'Titillium Web', sans-serif;
    
    --font-size-xs: 0.75rem;    /* 12px */
    --font-size-sm: 0.875rem;   /* 14px */
    --font-size-base: 1rem;     /* 16px */
    --font-size-lg: 1.125rem;   /* 18px */
    --font-size-xl: 1.25rem;    /* 20px */
    --font-size-2xl: 1.5rem;    /* 24px */
    --font-size-3xl: 1.875rem;  /* 30px */
    --font-size-4xl: 2.25rem;   /* 36px */
    --font-size-5xl: 3rem;      /* 48px */
    
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    
    --line-height-tight: 1.2;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;
    
    /* Spacing */
    --spacing-xs: 0.25rem;   /* 4px */
    --spacing-sm: 0.5rem;    /* 8px */
    --spacing-md: 1rem;      /* 16px */
    --spacing-lg: 1.5rem;    /* 24px */
    --spacing-xl: 2rem;      /* 32px */
    --spacing-2xl: 3rem;     /* 48px */
    --spacing-3xl: 4rem;     /* 64px */
    
    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;
    
    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 350ms ease;
    --transition-all: all var(--transition-base);
    
    /* Z-Index Layers */
    --z-base: 0;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-popover: 600;
    --z-tooltip: 700;
    --z-toast: 800;
    
    /* Layout */
    --navbar-height: 70px;
    --sidebar-width: 240px;
    --sidebar-collapsed-width: 70px;
    
    --content-max-width: 1400px;
    --container-padding: var(--spacing-lg);
    
    /* Animation Timings */
    --anim-duration-fast: 0.15s;
    --anim-duration-base: 0.3s;
    --anim-duration-slow: 0.5s;
    
    /* Gradients */
    --gradient-primary: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
    --gradient-secondary: linear-gradient(135deg, var(--color-secondary-dark) 0%, var(--color-secondary) 100%);
    --gradient-accent: linear-gradient(135deg, #8b0000 0%, #c41e3a 100%);
    --gradient-dark: linear-gradient(180deg, var(--color-bg-secondary) 0%, var(--color-bg-primary) 100%);
    --gradient-overlay: linear-gradient(180deg, rgba(10, 10, 15, 0) 0%, rgba(10, 10, 15, 0.8) 100%);
    
    /* Effects */
    --blur-sm: blur(4px);
    --blur-md: blur(8px);
    --blur-lg: blur(12px);
    
    /* Responsive Breakpoints */
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;
}

/* Dark Theme Adjustments (Default) */
[data-theme="dark"] {
    --color-bg-primary: #0a0a0f;
    --color-bg-secondary: #151520;
}

/* Light Theme Option */
[data-theme="light"] {
    --color-bg-primary: #f5f5f7;
    --color-bg-secondary: #ffffff;
    --color-bg-tertiary: #e8e8ea;
    --color-bg-elevated: #ffffff;
    
    --color-surface: #ffffff;
    --color-surface-hover: #f0f0f2;
    --color-surface-active: #e5e5e7;
    
    --color-text-primary: #1a1a1f;
    --color-text-secondary: #4a4a5a;
    --color-text-tertiary: #6a6a7a;
    --color-text-muted: #8a8a9a;
    
    --color-border: #d0d0d5;
    --color-border-light: #e0e0e5;
    --color-border-dark: #c0c0c5;
    
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.16);
}

/* Accessibility - Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    :root {
        --transition-fast: 0ms;
        --transition-base: 0ms;
        --transition-slow: 0ms;
        --anim-duration-fast: 0.01s;
        --anim-duration-base: 0.01s;
        --anim-duration-slow: 0.01s;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    :root {
        --color-border: #ffffff;
        --color-text-secondary: #ffffff;
    }
}
