@tailwind base; @tailwind components; @tailwind utilities; body { font-family: 'Inter', sans-serif; } @layer base { :root { --background: 220 13% 96%; /* Light Gray */ --foreground: 224 71% 4%; --card: 220 13% 98%; --card-foreground: 224 71% 4%; --popover: 0 0% 100%; --popover-foreground: 224 71% 4%; --primary: 221 83% 53%; /* Deep Blue */ --primary-foreground: 210 40% 98%; --secondary: 220 14% 91%; --secondary-foreground: 224 71% 4%; --muted: 220 14% 91%; --muted-foreground: 220 9% 46%; --accent: 196 84% 78%; /* Soft Sky Blue */ --accent-foreground: 224 71% 4%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 0 0% 98%; --border: 220 13% 89%; --input: 220 13% 94%; --ring: 221 83% 53%; --radius: 0.8rem; } .dark { --background: 222 47% 11%; --foreground: 210 40% 98%; --card: 222 47% 11%; --card-foreground: 210 40% 98%; --popover: 222 47% 11%; --popover-foreground: 210 40% 98%; --primary: 221 83% 53%; --primary-foreground: 210 40% 98%; --secondary: 217 33% 17%; --secondary-foreground: 210 40% 98%; --muted: 217 33% 17%; --muted-foreground: 215 20% 65%; --accent: 196 84% 78%; --accent-foreground: 224 71% 4%; --destructive: 0 63% 31%; --destructive-foreground: 210 40% 98%; --border: 217 33% 17%; --input: 217 33% 17%; --ring: 221 83% 53%; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; } } @layer utilities { .animate-fade-in { animation: fade-in 0.5s ease-out forwards; opacity: 0; } .animate-fade-out { animation: fade-out 0.5s ease-in forwards; } @keyframes fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } @keyframes fade-out { from { opacity: 1; } to { opacity: 0; } } .animate-pulse-slow-1 { animation: pulse-float 8s ease-in-out infinite; } .animate-pulse-slow-2 { animation: pulse-float 10s ease-in-out infinite; } .animate-pulse-slow-3 { animation: pulse-float 12s ease-in-out infinite; } .animate-pulse-fast { animation: pulse-float 6s ease-in-out infinite; } @keyframes pulse-float { 0%, 100% { transform: scale(1) translate(0, 0); opacity: 0.5; } 50% { transform: scale(1.1) translate(5px, -5px); opacity: 1; } } }