@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;
}
