/* ======================================== MSPE CSS Variables - Unified Design Tokens Single Source of Truth for Colors, Typography, Spacing, and Breakpoints ======================================== */ :root { /* ==================== COLOR SYSTEM ==================== */ /* Primary Colors */ --color-primary: #10223b; --color-primary-light: #1f3f69; --color-primary-dark: #0b1930; /* Accent Colors - Single Definition */ --color-accent: #0ea5e9; --color-accent-light: #38bdf8; --color-accent-dark: #0284c7; --color-accent-glow: rgba(14, 165, 233, 0.3); /* Secondary Colors */ --color-secondary: #0d9488; --color-secondary-light: #14b8a6; /* Status Colors */ --color-success: #10b981; --color-warning: #f59e0b; --color-danger: #ef4444; /* Neutral Colors */ --color-white: #ffffff; --color-gray-50: #f8fafc; --color-gray-100: #f1f5f9; --color-gray-200: #e2e8f0; --color-gray-300: #cbd5e1; --color-gray-400: #94a3b8; --color-gray-500: #64748b; --color-gray-600: #475569; --color-gray-700: #334155; --color-gray-800: #1e293b; --color-gray-900: #0f172a; /* Neon/Glow Colors */ --color-neon-cyan: #0ea5e9; --color-neon-cyan-soft: #38bdf8; --color-neon-purple: #0284c7; --color-neon-purple-soft: #0369a1; --color-neon-pink: #0c4a6e; --color-neon-pink-soft: #075985; --color-neon-blue: #2563eb; --color-neon-blue-soft: #3b82f6; --color-neon-green: #10b981; --color-neon-gold: #e6c068; --color-neon-orange: #f59e0b; /* Text Colors */ --text-white: #ffffff; --text-dark: #0a1628; --text-body: #64748b; --text-muted: #94a3b8; /* Background Colors */ --bg-dark: #122a47; --bg-light: #f8fafc; --bg-ultra-dark: #0d2038; --bg-darker: #17335a; --bg-medium: #10223d; /* Border Color */ --border-light: #e2e8f0; --border-dark: rgba(255, 255, 255, 0.08); --border-dark-hover: rgba(255, 255, 255, 0.15); /* Glass Effect Colors */ --glass-bg: rgba(255, 255, 255, 0.03); --glass-bg-hover: rgba(255, 255, 255, 0.08); --glass-bg-active: rgba(255, 255, 255, 0.12); /* ==================== TYPOGRAPHY ==================== */ /* Font Families */ --font-primary: 'DM Sans', sans-serif; --font-display: 'Space Grotesk', sans-serif; --font-heading: 'Space Grotesk', sans-serif; /* Font Sizes - Heading Scale */ --font-size-h1: clamp(2.5rem, 5vw, 4rem); --font-size-h2: clamp(2rem, 4vw, 2.75rem); --font-size-h3: clamp(1.5rem, 3vw, 1.875rem); --font-size-h4: clamp(1.25rem, 2.5vw, 1.5rem); --font-size-h5: 1.25rem; --font-size-h6: 1rem; /* Font Sizes - Body */ --font-size-body: 1rem; --font-size-body-lg: 1.125rem; --font-size-body-sm: 0.875rem; --font-size-body-xs: 0.75rem; /* Font Weights */ --font-weight-regular: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; /* Line Heights */ --line-height-tight: 1.2; --line-height-normal: 1.6; --line-height-relaxed: 1.75; /* ==================== SPACING SCALE ==================== */ --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; --spacing-2xl: 3rem; --spacing-3xl: 4rem; --spacing-4xl: 5rem; --spacing-section: 5rem; /* ==================== BORDER RADIUS ==================== */ --radius-sm: 0.375rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --radius-xl: 1rem; --radius-2xl: 1.5rem; --radius-full: 9999px; /* ==================== SHADOWS ==================== */ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1); --shadow-glow: 0 0 20px rgba(14, 165, 233, 0.4); --shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, 0.4); --shadow-glass-lg: 0 16px 48px 0 rgba(0, 0, 0, 0.5); /* Neon Shadows */ --shadow-neon-cyan: 0 0 15px var(--color-neon-cyan), 0 0 30px rgba(14, 165, 233, 0.5), 0 0 45px rgba(14, 165, 233, 0.3); --shadow-neon-purple: 0 0 15px var(--color-neon-purple), 0 0 30px rgba(2, 132, 199, 0.5); --shadow-neon-pink: 0 0 15px var(--color-neon-pink), 0 0 30px rgba(12, 74, 110, 0.5); --shadow-neon-multi: 0 0 20px var(--color-neon-cyan), 0 0 40px var(--color-neon-purple), 0 0 60px var(--color-neon-pink); /* ==================== GRADIENTS ==================== */ --gradient-primary: linear-gradient(135deg, var(--color-neon-cyan) 0%, var(--color-neon-purple) 50%, var(--color-neon-pink) 100%); --gradient-glass: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.02) 100%); --gradient-shine: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); --gradient-accent: linear-gradient(135deg, var(--color-accent), var(--color-secondary)); /* ==================== TRANSITIONS ==================== */ --transition-fast: 0.15s ease; --transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1); --transition-base-alt: all 0.3s ease; --transition-smooth: 0.5s cubic-bezier(0.22, 1, 0.36, 1); --transition-bounce: 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); --transition-slow: 0.5s ease; /* ==================== Z-INDEX SCALE ==================== */ --z-dropdown: 100; --z-sticky: 1000; --z-modal: 9000; --z-preloader: 9999; --z-skip-to-content: 10000; /* ==================== RESPONSIVE BREAKPOINTS ==================== */ /* Mobile First Approach */ --bp-xs: 320px; /* Extra small phones */ --bp-sm: 480px; /* Small phones */ --bp-md: 768px; /* Tablets */ --bp-lg: 1024px; /* Desktops */ --bp-xl: 1280px; /* Large desktops */ --bp-2xl: 1536px; /* Extra large screens */ /* ==================== ALIASES FOR BACKWARD COMPATIBILITY ==================== */ /* Maintain compatibility with existing code */ --primary: var(--color-primary); --primary-light: var(--color-primary-light); --primary-dark: var(--color-primary-dark); --accent: var(--color-accent); --accent-light: var(--color-accent-light); --accent-dark: var(--color-accent-dark); --accent-glow: var(--color-accent-glow); --accent-cyan: var(--color-accent); --secondary: var(--color-secondary); --secondary-light: var(--color-secondary-light); --secondary-teal: var(--color-secondary); --neon-cyan: var(--color-neon-cyan); --neon-cyan-soft: var(--color-neon-cyan-soft); --neon-purple: var(--color-neon-purple); --neon-purple-soft: var(--color-neon-purple-soft); --neon-pink: var(--color-neon-pink); --neon-pink-soft: var(--color-neon-pink-soft); --neon-blue: var(--color-neon-blue); --neon-blue-soft: var(--color-neon-blue-soft); --neon-green: var(--color-neon-green); --neon-gold: var(--color-neon-gold); --neon-orange: var(--color-neon-orange); --white: var(--color-white); --gray-50: var(--color-gray-50); --gray-100: var(--color-gray-100); --gray-200: var(--color-gray-200); --gray-300: var(--color-gray-300); --gray-400: var(--color-gray-400); --gray-500: var(--color-gray-500); --gray-600: var(--color-gray-600); --gray-700: var(--color-gray-700); --gray-800: var(--color-gray-800); --gray-900: var(--color-gray-900); --glass-bg-hover: var(--glass-bg-hover); --glass-bg-active: var(--glass-bg-active); --glass-shadow: var(--shadow-glass); --glass-shadow-lg: var(--shadow-glass-lg); }