/**
 * ==============================================
 * DESIGN TOKENS
 * ==============================================
 * Single source of truth for colors, fonts, spacing
 * Naming: --category-property-variant
 */

/* ===== Font Imports ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&family=Sora:wght@700;800&display=swap');
@import url('https://api.fontshare.com/v2/css?f[]=clash-display@600;700&display=swap');

:root {
    /* ===== Colors - Brand ===== */
    --color-primary: #FACC15;
    --color-secondary: #F97316;
    --color-accent: #14B8A6;
    --color-purple: #A855F7;
    
    /* ===== Colors - Background ===== */
    --color-bg-dark: #0A0A0A;
    --color-bg-darker: #000000;
    --color-bg-primary: #111418;
    --color-bg-glass: rgba(255, 255, 255, 0.05);
    --color-bg-glass-hover: rgba(255, 255, 255, 0.08);
    
    /* ===== Colors - Text ===== */
    --color-text-primary: rgba(255, 255, 255, 0.95);
    --color-text-secondary: rgba(255, 255, 255, 0.7);
    --color-text-muted: rgba(255, 255, 255, 0.5);
    
    /* ===== Colors - Borders ===== */
    --color-border-light: rgba(255, 255, 255, 0.1);
    --color-border-lighter: rgba(255, 255, 255, 0.08);
    
    /* ===== Colors - Semantic ===== */
    --color-success: #22c55e;
    --color-error: #F85149;
    --color-terminal-green: #3FB950;
    --color-terminal-blue: #58A6FF;
    
    /* ===== Typography - Font Families ===== */
    --font-display: 'Clash Display', sans-serif;
    --font-heading: 'Sora', sans-serif;
    --font-body: 'Inter', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
    
    /* ===== Typography - Sizes ===== */
    --text-xs: 0.7rem;
    --text-sm: 0.85rem;
    --text-base: 1rem;
    --text-lg: 1.15rem;
    --text-xl: 1.5rem;
    --text-2xl: 2rem;
    --text-3xl: 2.8rem;
    
    /* ===== Spacing ===== */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;
    --space-4xl: 8rem;
    
    /* ===== Border Radius ===== */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 24px;
    --radius-full: 50%;
    
    /* ===== Shadows ===== */
    --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.2);
    --shadow-md: 0 8px 32px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.4);
    --shadow-glow-primary: 0 0 20px rgba(250, 204, 21, 0.6);
    --shadow-glow-accent: 0 0 20px rgba(20, 184, 166, 0.4);
    
    /* ===== Transitions ===== */
    --transition-fast: 0.15s ease;
    --transition-base: 0.3s ease;
    --transition-slow: 0.4s ease;
    --transition-bounce: 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    
    /* ===== Z-Index Scale ===== */
    --z-base: 1;
    --z-dropdown: 100;
    --z-sticky: 500;
    --z-fixed: 1000;
    --z-modal: 2000;
    --z-tooltip: 9000;
    --z-top: 9999;
    
    /* ===== Accessibility ===== */
    --focus-ring: 0 0 0 3px rgba(250, 204, 21, 0.5);
    --focus-ring-accent: 0 0 0 3px rgba(20, 184, 166, 0.5);
}

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

/* ===== High Contrast Mode ===== */
@media (prefers-contrast: high) {
    :root {
        --color-text-primary: #ffffff;
        --color-text-secondary: #e0e0e0;
        --color-text-muted: #b0b0b0;
        --color-border-light: rgba(255, 255, 255, 0.3);
    }
}
