@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap'); @tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background: 240 10% 3.9%; --foreground: 0 0% 98%; --card: 240 10% 6%; --card-foreground: 0 0% 98%; --primary: 262.1 83.3% 57.8%; --primary-foreground: 210 20% 98%; --secondary: 240 3.7% 15.9%; --secondary-foreground: 0 0% 98%; --muted: 240 3.7% 15.9%; --muted-foreground: 240 5% 64.9%; --accent: 262.1 83.3% 57.8%; --accent-foreground: 0 0% 98%; --border: 240 3.7% 15.9%; --input: 240 3.7% 15.9%; --ring: 262.1 83.3% 57.8%; --radius: 0.75rem; } * { @apply border-border; } html { scroll-behavior: smooth; } body { @apply bg-background text-foreground font-sans antialiased; font-feature-settings: 'rlig' 1, 'calt' 1; } } /* Scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: hsl(var(--background)); } ::-webkit-scrollbar-thumb { background: hsl(var(--muted)); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: hsl(var(--muted-foreground) / 0.5); } /* Utility classes */ .glass { backdrop-filter: blur(16px) saturate(180%); background: hsl(var(--background) / 0.7); border: 1px solid hsl(var(--border) / 0.3); } .gradient-text { background: linear-gradient(135deg, hsl(var(--primary)), hsl(280 90% 70%), hsl(320 80% 65%)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .gradient-border { position: relative; &::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, hsl(var(--primary)), hsl(280 90% 70%), transparent); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; } } .section-fade { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease-out, transform 0.8s ease-out; &.visible { opacity: 1; transform: translateY(0); } } /* Parallax container */ .parallax-section { will-change: transform; } /* Ad placeholder */ .ad-slot { display: none; &.ad-enabled { display: block; min-height: 90px; background: hsl(var(--card)); border: 1px dashed hsl(var(--border)); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; color: hsl(var(--muted-foreground)); font-size: 0.75rem; } }