@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background-light: 0 0% 100%; --background-dark: 222.2 84% 4.9%; --text-light: 222.2 47.4% 11.2%; --text-dark: 210 40% 98%; --primary: 221.2 83.2% 53.3%; --primary-dark: 222.2 47.4% 11.2%; --primary-light: 210 40% 98%; --secondary: 142.1 76.2% 36.3%; --secondary-dark: 142.1 70.6% 45.3%; --secondary-light: 138 76.5% 96.7%; } html { scroll-behavior: smooth; } body { @apply min-h-screen font-sans antialiased; } h1, h2, h3, h4, h5, h6 { @apply font-sans; } } @layer components { .container { @apply mx-auto px-4 sm:px-6 lg:px-8; } .gradient-text { @apply bg-clip-text text-transparent bg-gradient-to-r from-primary to-secondary; } .glass-card { @apply bg-white/80 dark:bg-gray-800/80 backdrop-blur-lg; } } /* Animations */ @keyframes floating { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-20px); } } @keyframes pulse-slow { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .animate-floating { animation: floating 5s ease-in-out infinite; } .animate-pulse-slow { animation: pulse-slow 3s ease-in-out infinite; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { @apply bg-gray-100 dark:bg-gray-800; } ::-webkit-scrollbar-thumb { @apply bg-primary/50 dark:bg-primary/70 rounded-full; border: 2px solid transparent; background-clip: content-box; } ::-webkit-scrollbar-thumb:hover { @apply bg-primary/70 dark:bg-primary/90; } /* Focus styles for accessibility */ :focus-visible { @apply outline-none ring-2 ring-primary/50 ring-offset-2 ring-offset-white dark:ring-offset-gray-900; } /* Smooth theme transition */ * { transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease; }