@tailwind base; @tailwind components; @tailwind utilities; *, *::before, *::after { box-sizing: border-box; } html, body, #root { height: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background-color: #0a0f1a; color: #e2e8f0; -webkit-font-smoothing: antialiased; } code, pre, .mono { font-family: 'JetBrains Mono', 'Fira Code', monospace; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: #111827; } ::-webkit-scrollbar-thumb { background: #374151; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: #6366f1; } /* Typing cursor blink */ @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } .cursor-blink { display: inline-block; width: 2px; height: 1em; background: #6366f1; margin-left: 2px; vertical-align: text-bottom; animation: blink 0.8s ease-in-out infinite; } /* Particle shimmer on hero bg */ @keyframes shimmer { 0% { background-position: -1000px 0; } 100% { background-position: 1000px 0; } } .shimmer { background: linear-gradient(90deg, transparent 0%, rgba(99,102,241,0.06) 50%, transparent 100%); background-size: 1000px 100%; animation: shimmer 3s linear infinite; }