@import "tailwindcss"; :root { --background: #03070b; --foreground: #f8fafc; --bg-primary: #03070b; --bg-secondary: #070d14; --bg-tertiary: #0c141d; --color-emerald: #0df293; --color-emerald-dim: rgba(13, 242, 147, 0.15); --color-cyan: #00f2fe; --color-cyan-dim: rgba(0, 242, 254, 0.15); --text-primary: #f8fafc; --text-secondary: #94a3b8; --text-dim: #64748b; --border-glow: rgba(13, 242, 147, 0.15); --border-cyan-glow: rgba(0, 242, 254, 0.15); } @theme { --color-bg-primary: var(--bg-primary); --color-bg-secondary: var(--bg-secondary); --color-bg-tertiary: var(--bg-tertiary); --color-accent-emerald: var(--color-emerald); --color-accent-emerald-dim: var(--color-emerald-dim); --color-accent-cyan: var(--color-cyan); --color-accent-cyan-dim: var(--color-cyan-dim); --color-text-primary: var(--text-primary); --color-text-secondary: var(--text-secondary); --color-text-dim: var(--text-dim); --font-space: var(--font-space-grotesk); --font-outfit: var(--font-outfit); --animate-pulse-slow: pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite; --animate-spin-slow: spin 20s linear infinite; --animate-float: float 6s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } /* Base resets & layouts */ body { background: var(--background); color: var(--foreground); overflow-x: hidden; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; } /* Custom premium utilities */ .glow-text-emerald { text-shadow: 0 0 20px rgba(13, 242, 147, 0.3); } .glow-text-cyan { text-shadow: 0 0 20px rgba(0, 242, 254, 0.3); } .border-glow-emerald { border-color: var(--border-glow); box-shadow: 0 0 15px rgba(13, 242, 147, 0.05); } .border-glow-cyan { border-color: var(--border-cyan-glow); box-shadow: 0 0 15px rgba(0, 242, 254, 0.05); } .glass-panel { background: rgba(7, 13, 20, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(13, 242, 147, 0.08); } .glass-panel-cyan { background: rgba(7, 13, 20, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(0, 242, 254, 0.08); } /* Custom scrollbars */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: var(--bg-primary); } ::-webkit-scrollbar-thumb { background: var(--bg-tertiary); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: var(--color-emerald); } /* Lenis smooth scroll fix */ html.lenis, html.lenis body { height: auto; } .lenis.lenis-smooth { scroll-behavior: auto !important; } .lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; } .lenis.lenis-stopped { overflow: hidden; } .lenis.lenis-scrolling iframe { pointer-events: none; }