@tailwind base;
@tailwind components;
@tailwind utilities;

/* Lenis Smooth Scroll Setup */
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;
}

/* Custom Web Scrollbar */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #030306;
}
::-webkit-scrollbar-thumb {
  background: #181828;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #00f5d4;
}

/* 3D WebGL Layer */
#webgl-hero {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* Cyber Glassmorphism & Specular Lighting */
.cyber-card {
  position: relative;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease;
}

.cyber-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(800px circle at var(--mouse-x, 0px) var(--mouse-y, 0px), rgba(255,255,255,0.06), transparent 40%);
  pointer-events: none;
}

.cyber-card:hover {
  transform: translateY(-8px);
}

/* Infinite Marquee */
.marquee-track {
  animation: marquee 25s linear infinite;
}

@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

/* Magnetic Button */
.magnetic-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}