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

@layer base {
  :root {
    --background: 240 10% 3.9%;
    --foreground: 240 4.8% 95.9%;
    --card: 240 10% 3.9%;
    --card-foreground: 240 4.8% 95.9%;
    --popover: 240 10% 3.9%;
    --popover-foreground: 240 4.8% 95.9%;
    --primary: 271 91% 39%;
    --primary-foreground: 240 5.9% 10%;
    --secondary: 240 3.7% 15.9%;
    --secondary-foreground: 240 5.9% 90%;
    --muted: 240 3.7% 15.9%;
    --muted-foreground: 240 5% 64.9%;
    --accent: 240 3.7% 15.9%;
    --accent-foreground: 240 5.9% 90%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 240 5.9% 90%;
    --border: 240 3.7% 15.9%;
    --input: 240 3.7% 15.9%;
    --ring: 271 91% 39%;
    --radius: 0.5rem;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }

  /* Smooth scrolling */
  html.lenis {
    height: auto;
  }

  .lenis.lenis-smooth {
    scroll-behavior: auto;
  }

  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }

  .lenis.lenis-stopped {
    overflow: hidden;
  }

  .lenis.lenis-scrolling iframe {
    pointer-events: none;
  }
}

@layer components {
  /* Custom gradient backgrounds */
  .gradient-primary {
    background: linear-gradient(135deg, #6B21A8 0%, #9333ea 100%);
  }

  .gradient-dark {
    background: linear-gradient(135deg, #101014 0%, #1a1a1f 100%);
  }

  /* Glassmorphism effect */
  .glass {
    background: rgba(26, 26, 31, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(208, 209, 219, 0.1);
  }

  /* Custom scrollbar */
  ::-webkit-scrollbar {
    width: 8px;
  }

  ::-webkit-scrollbar-track {
    background: #1a1a1f;
  }

  ::-webkit-scrollbar-thumb {
    background: #6B21A8;
    border-radius: 4px;
  }

  ::-webkit-scrollbar-thumb:hover {
    background: #7c3aed;
  }
}

@layer utilities {
  .text-balance {
    text-wrap: balance;
  }

  .animation-delay-200 {
    animation-delay: 200ms;
  }

  .animation-delay-400 {
    animation-delay: 400ms;
  }

  .animation-delay-600 {
    animation-delay: 600ms;
  }
}
