@tailwind base; @tailwind components; @tailwind utilities; /* Definition of the design system. All colors, gradients, fonts, etc should be defined here. All colors MUST be HSL. */ @layer base { :root { /* Futuristic Dark Theme */ --background: 220 27% 4%; --foreground: 210 40% 98%; --card: 220 20% 8%; --card-foreground: 210 40% 98%; --popover: 220 20% 8%; --popover-foreground: 210 40% 98%; --primary: 260 100% 70%; --primary-foreground: 220 27% 4%; --secondary: 280 100% 65%; --secondary-foreground: 220 27% 4%; --muted: 220 20% 14%; --muted-foreground: 215 16% 65%; --accent: 240 100% 75%; --accent-foreground: 220 27% 4%; --destructive: 0 84% 60%; --destructive-foreground: 210 40% 98%; --border: 220 20% 14%; --input: 220 20% 14%; --ring: 260 100% 70%; --radius: 0.75rem; /* Custom Futuristic Variables */ --neon-blue: 240 100% 75%; --neon-purple: 280 100% 65%; --neon-pink: 300 100% 70%; --glass-bg: 220 20% 8%; --glass-border: 220 20% 20%; /* Gradients */ --gradient-primary: linear-gradient(135deg, hsl(260 100% 70% / 0.8), hsl(240 100% 75% / 0.8)); --gradient-subtle: linear-gradient(180deg, hsl(220 20% 8% / 0.8), hsl(260 20% 6% / 0.9)); --gradient-glow: radial-gradient(circle at center, hsl(260 100% 70% / 0.3), transparent 70%); /* Shadows */ --shadow-glow: 0 0 30px hsl(260 100% 70% / 0.3); --shadow-float: 0 10px 40px hsl(220 27% 4% / 0.5); --shadow-inner: inset 0 1px 0 hsl(220 20% 20% / 0.8); --radius: 0.75rem; --sidebar-background: 0 0% 98%; --sidebar-foreground: 240 5.3% 26.1%; --sidebar-primary: 240 5.9% 10%; --sidebar-primary-foreground: 0 0% 98%; --sidebar-accent: 240 4.8% 95.9%; --sidebar-accent-foreground: 240 5.9% 10%; --sidebar-border: 220 13% 91%; --sidebar-ring: 217.2 91.2% 59.8%; } .dark { --background: 222.2 84% 4.9%; --foreground: 210 40% 98%; --card: 222.2 84% 4.9%; --card-foreground: 210 40% 98%; --popover: 222.2 84% 4.9%; --popover-foreground: 210 40% 98%; --primary: 210 40% 98%; --primary-foreground: 222.2 47.4% 11.2%; --secondary: 217.2 32.6% 17.5%; --secondary-foreground: 210 40% 98%; --muted: 217.2 32.6% 17.5%; --muted-foreground: 215 20.2% 65.1%; --accent: 217.2 32.6% 17.5%; --accent-foreground: 210 40% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 210 40% 98%; --border: 217.2 32.6% 17.5%; --input: 217.2 32.6% 17.5%; --ring: 212.7 26.8% 83.9%; --sidebar-background: 240 5.9% 10%; --sidebar-foreground: 240 4.8% 95.9%; --sidebar-primary: 224.3 76.3% 48%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 240 3.7% 15.9%; --sidebar-accent-foreground: 240 4.8% 95.9%; --sidebar-border: 240 3.7% 15.9%; --sidebar-ring: 217.2 91.2% 59.8%; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; } } @layer components { .glass-panel { @apply bg-card/60 backdrop-blur-xl border border-border/50 rounded-xl; box-shadow: var(--shadow-float), var(--shadow-inner); } .glass-panel-glow { @apply glass-panel; box-shadow: var(--shadow-float), var(--shadow-glow), var(--shadow-inner); } .neon-border { @apply border border-primary/50; box-shadow: 0 0 20px hsl(var(--primary) / 0.3), inset 0 0 20px hsl(var(--primary) / 0.1); } .floating-window { @apply glass-panel transform transition-all duration-300 hover:scale-[1.02] hover:shadow-2xl; animation: float 6s ease-in-out infinite; } .search-glow:focus { @apply ring-2 ring-primary/50; box-shadow: 0 0 30px hsl(var(--primary) / 0.3); } } @layer utilities { .animate-float { animation: float 6s ease-in-out infinite; } .animate-glow { animation: glow 2s ease-in-out infinite alternate; } } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } @keyframes glow { from { box-shadow: 0 0 20px hsl(var(--primary) / 0.3); } to { box-shadow: 0 0 30px hsl(var(--primary) / 0.6), 0 0 40px hsl(var(--secondary) / 0.3); } }