@import './colors.css'; @tailwind base; @tailwind components; @tailwind utilities; /* Font loading states */ html.fonts-loading body { opacity: 0; transition: opacity 0.2s ease-in-out; } html.fonts-loaded body, html.fonts-fallback body { opacity: 1; } @layer base { :root { font-family: Inter, system-ui, sans-serif; } html { background-color: transparent !important; } body { @apply text-foreground antialiased; background-color: transparent !important; } #root { background-color: transparent !important; } h1, h2, h3, h4, h5, h6 { @apply font-sans font-bold tracking-tight; } } @layer components { .container { @apply px-4 mx-auto max-w-7xl sm:px-6 lg:px-8; } .transition-standard { @apply transition-all duration-300 ease-in-out; } .animate-float { animation: float 6s ease-in-out infinite; } .animate-pulse-slow { animation: pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite; } } @layer utilities { .text-gradient { @apply bg-clip-text text-transparent bg-gradient-to-r from-primary via-accent to-secondary; } /* GPU acceleration utilities - simplified */ .gpu-accelerated { transform: translateZ(0); -webkit-transform: translateZ(0); backface-visibility: hidden; -webkit-backface-visibility: hidden; } } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } } @keyframes pulse { 0%, 100% { opacity: 0.1; } 50% { opacity: 0.3; } } @keyframes slide-right { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } @keyframes slide-down { 0% { transform: translateY(-100%); } 100% { transform: translateY(100%); } } .animate-slide-right { animation: slide-right 8s linear infinite; } .animate-slide-down { animation: slide-down 8s linear infinite; } /* Prevent hover flickering */ * { -webkit-tap-highlight-color: transparent; } a, button { -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); } /* Scrollbar Styling */ @media (pointer: fine) { ::-webkit-scrollbar { @apply w-2; } ::-webkit-scrollbar-track { @apply bg-muted; } ::-webkit-scrollbar-thumb { @apply bg-accent rounded-full hover:bg-accent-foreground transition-colors; } } /* Improved Mobile Experience */ @media (max-width: 640px) { h1 { @apply text-3xl; } h2 { @apply text-2xl; } .prose { @apply text-base space-y-6; } .prose p { @apply leading-relaxed; } button, a { @apply min-h-[44px] min-w-[44px]; } }