@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&display=swap');

:root {
  --background: #ffffff;
  --foreground: #141414;
  --primary: #736df3;
  --primary-foreground: #ffffff;
  --secondary: #f0edf3;
  --accent: #e467cc;
  --emerald-500: #10b981;
  --emerald-600: #059669;
}

body {
  font-family: 'Nunito', sans-serif;
  background-color: var(--background);
  color: var(--foreground);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* Base Tailwind 4 polyfill for missing background size arbitrary values */
.bg-size-\[10px_10px\] { background-size: 10px 10px !important; }
.bg-size-\[40px_40px\] { background-size: 40px 40px !important; }
.bg-size-\[200\%_auto\] { background-size: 200% auto !important; }

/* Hide scrollbar but keep scrolling */
.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Animations */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}
.animate-float {
  animation: float 6s ease-in-out infinite;
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(115, 109, 243, 0.3); }
  50% { box-shadow: 0 0 40px rgba(115, 109, 243, 0.6), 0 0 60px rgba(228, 103, 204, 0.3); }
}
.animate-pulse-glow {
  animation: pulse-glow 3s ease-in-out infinite;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.animate-shimmer {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 100%);
  background-size: 200% 100%;
  animation: shimmer 2s infinite;
}

@keyframes shine {
  from { background-position: 0% center; }
  to { background-position: -200% center; }
}
.animate-shine {
  animation: shine 3s linear infinite;
}

@keyframes spin-slow {
  to { transform: rotate(360deg); }
}
.animate-spin-slow {
  animation: spin-slow 8s linear infinite;
}

.catalog-blob {
  animation: catalog-blob-expand 7s ease-in-out infinite;
  will-change: transform, opacity;
}

@keyframes catalog-blob-expand {
  0%, 100% { transform: scale(1) translateY(0px); opacity: 0.85; }
  33% { transform: scale(1.18) translateY(-8px); opacity: 1; }
  66% { transform: scale(0.92) translateY(4px); opacity: 0.7; }
}
