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

@layer base {
  :root {
    --background: 210 20% 98%;
    --foreground: 215 25% 15%;
    --card: 0 0% 100%;
    --card-foreground: 215 25% 15%;
    --popover: 0 0% 100%;
    --popover-foreground: 215 25% 15%;
    --primary: 213 46% 32%;
    --primary-foreground: 0 0% 100%;
    --secondary: 210 20% 95%;
    --secondary-foreground: 215 25% 20%;
    --muted: 210 16% 93%;
    --muted-foreground: 215 14% 46%;
    --accent: 210 20% 94%;
    --accent-foreground: 215 25% 15%;
    --destructive: 0 84% 60%;
    --destructive-foreground: 0 0% 98%;
    --border: 214 18% 89%;
    --input: 214 18% 89%;
    --ring: 213 46% 32%;
    --surface: 210 20% 96%;
    --surface-elevated: 0 0% 100%;
    --radius: 0.75rem;
  }

  .dark {
    --background: 216 28% 7%;
    --foreground: 210 20% 96%;
    --card: 215 25% 10%;
    --card-foreground: 210 20% 96%;
    --popover: 215 25% 10%;
    --popover-foreground: 210 20% 96%;
    --primary: 213 46% 42%;
    --primary-foreground: 0 0% 100%;
    --secondary: 215 20% 15%;
    --secondary-foreground: 210 20% 90%;
    --muted: 215 20% 15%;
    --muted-foreground: 215 14% 55%;
    --accent: 215 20% 18%;
    --accent-foreground: 210 20% 96%;
    --destructive: 0 72% 51%;
    --destructive-foreground: 0 0% 98%;
    --border: 215 20% 18%;
    --input: 215 20% 18%;
    --ring: 213 46% 50%;
    --surface: 215 25% 9%;
    --surface-elevated: 215 25% 12%;
  }
}

@layer base {
  * {
    @apply border-border;
  }

  html {
    scroll-behavior: smooth;
  }

  body {
    @apply bg-background text-foreground antialiased;
    font-feature-settings: "rlig" 1, "calt" 1;
  }

  h1, h2, h3, h4, h5, h6 {
    @apply tracking-tight;
  }
}

@layer utilities {
  .text-gradient-blue {
    @apply bg-gradient-to-r from-[#2B4C77] via-[#3B6BA5] to-[#2B4C77] bg-clip-text text-transparent;
  }

  .dark .text-gradient-blue {
    @apply from-[#5B8DB8] via-[#7BAFD4] to-[#5B8DB8];
  }

  .glow-blue {
    box-shadow: 0 0 30px rgba(43, 76, 119, 0.2), 0 0 60px rgba(43, 76, 119, 0.08);
  }

  .glass-card {
    @apply bg-white/80 dark:bg-white/5 border border-border backdrop-blur-sm;
  }

  .noise-bg {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.02'/%3E%3C/svg%3E");
  }
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  @apply bg-primary/15 rounded-full;
}

::-webkit-scrollbar-thumb:hover {
  @apply bg-primary/25;
}

::selection {
  background: rgba(43, 76, 119, 0.15);
  color: inherit;
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

.animate-float {
  animation: float 4s ease-in-out infinite;
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.animate-gradient {
  background-size: 200% 200%;
  animation: gradient-shift 4s ease infinite;
}

@keyframes progress {
  from { width: 0%; }
  to { width: 100%; }
}
