@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --font-sans: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-display: 'Outfit', var(--font-sans); } html { font-family: var(--font-sans); } h1, h2, h3, h4, h5, h6, .font-display { font-family: var(--font-display); letter-spacing: -0.02em; } /* Noise Texture */ .noise-overlay { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); } /* Animations */ @keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-up { animation: fadeUp 0.5s ease-out forwards; } .delay-100 { animation-delay: 100ms; } .delay-200 { animation-delay: 200ms; } .delay-300 { animation-delay: 300ms; } .delay-400 { animation-delay: 400ms; } .delay-500 { animation-delay: 500ms; } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background-color: theme('colors.gray.300'); border-radius: 20px; border: 2px solid transparent; background-clip: content-box; } .dark ::-webkit-scrollbar-thumb { background-color: theme('colors.gray.600'); } ::-webkit-scrollbar-thumb:hover { background-color: theme('colors.gray.400'); } .dark ::-webkit-scrollbar-thumb:hover { background-color: theme('colors.gray.500'); } /* Firefox */ * { scrollbar-width: thin; scrollbar-color: theme('colors.gray.300') transparent; } .dark * { scrollbar-color: theme('colors.gray.600') transparent; } } @layer utilities { [x-cloak] { display: none !important; } }