/* BlueRabbit Design System */
:root {
    /* Colors - Premium Dark Theme */
    --color-bg: #0f0f1a;
    --color-bg-elevated: #141428;
    --color-surface: #1a1a2e;
    --color-surface-hover: #242445;
    --color-surface-active: #2d2d55;
    --color-border: rgba(255, 255, 255, 0.08);
    --color-border-hover: rgba(255, 255, 255, 0.15);
    
    /* Brand Colors */
    --color-primary: #4361ee;
    --color-primary-hover: #5a75f0;
    --color-primary-active: #3651de;
    --color-primary-muted: rgba(67, 97, 238, 0.15);
    
    --color-secondary: #7209b7;
    --color-secondary-hover: #8a1dd0;
    --color-secondary-muted: rgba(114, 9, 183, 0.15);
    
    --color-accent: #f72585;
    --color-accent-hover: #f83d93;
    --color-accent-muted: rgba(247, 37, 133, 0.15);
    
    /* Semantic Colors */
    --color-success: #10b981;
    --color-success-hover: #34d399;
    --color-success-muted: rgba(16, 185, 129, 0.15);
    
    --color-warning: #f59e0b;
    --color-warning-hover: #fbbf24;
    --color-warning-muted: rgba(245, 158, 11, 0.15);
    
    --color-error: #ef4444;
    --color-error-hover: #f87171;
    --color-error-muted: rgba(239, 68, 68, 0.15);
    
    --color-info: #06b6d4;
    --color-info-hover: #22d3ee;
    --color-info-muted: rgba(6, 182, 212, 0.15);
    
    /* Text Colors */
    --color-text: #ffffff;
    --color-text-secondary: #a0a0b0;
    --color-text-muted: #6b6b80;
    --color-text-inverse: #0f0f1a;
    
    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #4361ee 0%, #7209b7 100%);
    --gradient-accent: linear-gradient(135deg, #f72585 0%, #7209b7 100%);
    --gradient-success: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
    --gradient-surface: linear-gradient(180deg, #1a1a2e 0%, #141428 100%);
    
    /* Typography */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
    
    --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: 2rem;
    --text-4xl: 2.5rem;
    
    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;
    
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.75;
    
    /* Spacing (4px base) */
    --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;
    --space-20: 5rem;
    
    /* Border Radius */
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4), 0 2px 4px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.5), 0 5px 10px rgba(0, 0, 0, 0.4);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.6);
    --shadow-glow: 0 0 20px rgba(67, 97, 238, 0.3);
    --shadow-glow-accent: 0 0 20px rgba(247, 37, 133, 0.3);
    
    /* Transitions */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);
    
    /* Z-Index Scale */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-modal: 300;
    --z-toast: 400;
    --z-tooltip: 500;
    
    /* Safe Areas (for notched devices) */
    --safe-top: env(safe-area-inset-top, 0px);
    --safe-bottom: env(safe-area-inset-bottom, 0px);
    --safe-left: env(safe-area-inset-left, 0px);
    --safe-right: env(safe-area-inset-right, 0px);
    
    /* Component Sizes */
    --header-height: 64px;
    --bottom-nav-height: 72px;
    --sidebar-width: 280px;
    --max-content-width: 1200px;
}

/* Text Overflow Utilities */
.text-truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.text-wrap {
    word-break: break-word;
    overflow-wrap: break-word;
}

.flex-min-0 {
    min-width: 0;
}

/* Dark mode is default, but define light mode for future */
@media (prefers-color-scheme: light) {
    :root.auto-theme {
        /* Light theme overrides would go here */
    }
}
