@tailwind base; @tailwind components; @tailwind utilities; @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap'); :root { --brand: #2a8bff; --brand-dark: #0d54e1; } * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Inter', system-ui, -apple-system, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Scrollbar */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #374151; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: #4b5563; } /* Dark mode scrollbar */ .dark ::-webkit-scrollbar-thumb { background: #4b5563; } .dark ::-webkit-scrollbar-thumb:hover { background: #6b7280; } /* Glass effect */ .glass { background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.12); } .glass-dark { background: rgba(0, 0, 0, 0.3); backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.06); } /* Gradient text */ .gradient-text { background: linear-gradient(135deg, #2a8bff 0%, #a855f7 50%, #ec4899 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Skeleton loading */ @keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } } .skeleton { background: linear-gradient(90deg, #1e1f2b 25%, #2a2b3d 50%, #1e1f2b 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; border-radius: 8px; } /* Focus ring */ .focus-ring:focus { outline: none; box-shadow: 0 0 0 3px rgba(42, 139, 255, 0.4); } @layer utilities { .text-balance { text-wrap: balance; } }