:root { /* Color Palette - Premium HSL optimized */ --hue-primary: 250; /* Deep Indigo/Purple */ --hue-secondary: 190; /* Cyan/Teal */ /* Light Mode Variables */ --bg-app: hsl(220, 20%, 97%); --bg-surface: hsla(0, 0%, 100%, 0.7); --bg-surface-2: hsla(0, 0%, 100%, 0.5); --text-primary: hsl(220, 40%, 10%); --text-secondary: hsl(220, 20%, 40%); --border-color: hsla(220, 20%, 80%, 0.5); --accent: hsl(var(--hue-primary), 60%, 50%); --accent-glow: hsla(var(--hue-primary), 60%, 50%, 0.3); /* Neumorphic/Glassmorphic Shadows */ --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03); --shadow-glass: 0 8px 32px 0 rgba(31, 38, 135, 0.05), inset 0 0 0 1px rgba(255, 255, 255, 0.4); } /* Dark Mode overrides (Media Query OR .dark class) */ @media (prefers-color-scheme: dark) { :root { --bg-app: hsl(222, 47%, 11%); --bg-surface: hsla(217, 33%, 17%, 0.4); --bg-surface-2: hsla(217, 33%, 25%, 0.3); --text-primary: hsl(210, 40%, 98%); --text-secondary: hsl(215, 20%, 65%); --border-color: hsla(217, 33%, 50%, 0.1); --shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.05); } } /* Force Dark Mode via class */ body.dark { --bg-app: hsl(222, 47%, 11%); --bg-surface: hsla(217, 33%, 17%, 0.4); --bg-surface-2: hsla(217, 33%, 25%, 0.3); --text-primary: hsl(210, 40%, 98%); --text-secondary: hsl(215, 20%, 65%); --border-color: hsla(217, 33%, 50%, 0.1); --shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.05); } /* Global Styles */ body { background-color: var(--bg-app); color: var(--text-primary); font-family: 'Inter', system-ui, -apple-system, sans-serif; transition: background-color 0.5s ease, color 0.5s ease; min-height: 100vh; overflow-x: hidden; } /* Glassmorphism Utilities */ .glass-panel { background: var(--bg-surface); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: 16px; box-shadow: var(--shadow-glass); border: 1px solid var(--border-color); } .btn-primary { background: var(--accent); color: white; border: none; padding: 10px 20px; border-radius: 8px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 4px 15px var(--accent-glow); } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 20px var(--accent-glow); }