| @tailwind base; |
| @tailwind components; |
| @tailwind utilities; |
|
|
| |
| |
| |
|
|
| @layer base { |
| :root { |
| |
| --background: 240 6% 8%; |
| --foreground: 0 0% 98%; |
|
|
| |
| --card: 240 6% 10%; |
| --card-foreground: 0 0% 98%; |
|
|
| --popover: 240 6% 12%; |
| --popover-foreground: 0 0% 98%; |
|
|
| |
| --primary: 220 100% 60%; |
| --primary-foreground: 240 6% 8%; |
|
|
| |
| --secondary: 270 95% 65%; |
| --secondary-foreground: 0 0% 98%; |
|
|
| |
| --muted: 240 6% 15%; |
| --muted-foreground: 0 0% 70%; |
|
|
| |
| --accent: 180 100% 50%; |
| --accent-foreground: 240 6% 8%; |
|
|
| --destructive: 0 84% 60%; |
| --destructive-foreground: 0 0% 98%; |
|
|
| |
| --border: 240 6% 20%; |
| --input: 240 6% 15%; |
| --ring: 220 100% 60%; |
|
|
| --radius: 1rem; |
|
|
| |
| --electric-blue: 220 100% 60%; |
| --neon-violet: 270 95% 65%; |
| --cyber-teal: 180 100% 50%; |
| --neon-pink: 320 100% 70%; |
| --glass-bg: 240 6% 10%; |
| --glass-border: 240 6% 20%; |
|
|
| |
| --gradient-primary: linear-gradient(135deg, hsl(220, 100%, 60%), hsl(270, 95%, 65%)); |
| --gradient-secondary: linear-gradient(135deg, hsl(180, 100%, 50%), hsl(320, 100%, 70%)); |
| --gradient-hero: linear-gradient(135deg, hsl(220, 100%, 60%) 0%, hsl(270, 95%, 65%) 50%, hsl(180, 100%, 50%) 100%); |
| --gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); |
|
|
| |
| --glow-primary: 0 0 20px hsl(220, 100%, 60%); |
| --glow-secondary: 0 0 20px hsl(270, 95%, 65%); |
| --glow-accent: 0 0 20px hsl(180, 100%, 50%); |
|
|
| --sidebar-background: 240 6% 8%; |
| --sidebar-foreground: 0 0% 98%; |
| --sidebar-primary: 220 100% 60%; |
| --sidebar-primary-foreground: 240 6% 8%; |
| --sidebar-accent: 240 6% 15%; |
| --sidebar-accent-foreground: 0 0% 98%; |
| --sidebar-border: 240 6% 20%; |
| --sidebar-ring: 220 100% 60%; |
| } |
|
|
| .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-card { |
| @apply backdrop-blur-md bg-gradient-to-br from-white/10 to-white/5 border border-white/20 rounded-2xl; |
| } |
|
|
| .glass-button { |
| @apply backdrop-blur-md bg-gradient-to-r from-primary/20 to-secondary/20 border border-primary/30 rounded-xl hover:from-primary/30 hover:to-secondary/30 hover:border-primary/50 transition-all duration-300; |
| } |
|
|
| .neon-glow { |
| @apply shadow-[0_0_20px_hsl(var(--primary))] hover:shadow-[0_0_40px_hsl(var(--primary))] transition-all duration-300; |
| } |
|
|
| .hero-text { |
| @apply bg-gradient-to-r from-primary via-secondary to-accent bg-clip-text text-transparent; |
| } |
|
|
| .animate-float { |
| animation: float 6s ease-in-out infinite; |
| } |
|
|
| .animate-glow { |
| animation: glow 2s ease-in-out infinite alternate; |
| } |
|
|
| .animate-slide-up { |
| animation: slideUp 0.8s ease-out; |
| } |
|
|
| .scroll-reveal { |
| opacity: 0; |
| transform: translateY(50px); |
| transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); |
| } |
|
|
| .scroll-reveal.revealed { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| @layer utilities { |
| .text-gradient-primary { |
| @apply bg-gradient-to-r from-primary to-secondary bg-clip-text text-transparent; |
| } |
|
|
| .text-gradient-accent { |
| @apply bg-gradient-to-r from-accent to-primary bg-clip-text text-transparent; |
| } |
|
|
| .bg-gradient-hero { |
| background: var(--gradient-hero); |
| } |
|
|
| .bg-gradient-glass { |
| background: var(--gradient-glass); |
| } |
| } |
|
|
| @keyframes float { |
| 0%, 100% { |
| transform: translateY(0px); |
| } |
| 50% { |
| transform: translateY(-20px); |
| } |
| } |
|
|
| @keyframes glow { |
| from { |
| box-shadow: 0 0 20px hsl(var(--primary)); |
| } |
| to { |
| box-shadow: 0 0 40px hsl(var(--primary)), 0 0 60px hsl(var(--secondary)); |
| } |
| } |
|
|
| @keyframes slideUp { |
| from { |
| opacity: 0; |
| transform: translateY(100px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |