/* Design System Variables */
:root {
    /* Primary Brand Colors (refined) */
    --primary-color: #0f1724; /* deep navy */
    --secondary-color: #0b1220; /* darker */
    --accent-color: #2563eb; /* vivid blue */
    --highlight-color: #ef4444; /* warm red accent */
    --success-color: #10b981; /* emerald */
    --warning-color: #fb923c; /* amber */

    /* Background Colors */
    --dark-bg: #0b1220;
    --light-bg: #f6f8fb;
    --card-bg: #ffffff;
    --section-bg: #fbfdff;
    
    /* Text Colors */
    --text-dark: #1a1a2e;
    --text-light: #64748b;
    --text-muted: #94a3b8;
    --text-white: #ffffff;
    --white: #ffffff;
    
    /* Border & Divider Colors */
    --border-light: #e2e8f0;
    --border-medium: #cbd5e1;
    --divider: #f1f5f9;
    
    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);
    --gradient-secondary: linear-gradient(135deg, #ef4444 0%, #fb7185 100%);
    --gradient-accent: linear-gradient(135deg, #60a5fa 0%, #38bdf8 100%);
    --gradient-hero: linear-gradient(135deg, #0b1220 0%, #0f1724 50%, #2563eb 100%);
    --gradient-card: linear-gradient(145deg, #ffffff 0%, #f6f8fb 100%);
    --gradient-subtle: linear-gradient(145deg, #fbfdff 0%, #f1f5f9 100%);
    
    /* Shadows */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 8px 25px rgba(0, 0, 0, 0.12);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.15);
    --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);
    
    /* Border Radius */
    --radius-xs: 4px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-2xl: 32px;
    --radius-full: 9999px;
    
    /* Spacing */
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
    --space-2xl: 4rem;
    --space-3xl: 6rem;
    
    /* Typography */
    --font-sans: 'Inter', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', 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;
    
    /* Line Heights */
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    
    /* Transitions */
    --transition-fast: 0.15s ease-out;
    --transition-base: 0.3s ease-out;
    --transition-slow: 0.5s ease-out;
    
    /* 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;
}

/* Accessibility: Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
