/* WaveMoon — Smooth scroll + quality animations */

@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 20px rgba(139, 92, 246, 0.15); }
  50% { box-shadow: 0 0 35px rgba(139, 92, 246, 0.3), 0 0 60px rgba(99, 102, 241, 0.1); }
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

body {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  background-color: #0a0f1a !important;
}

/* No pull-to-refresh, but allow smooth scroll */
body {
  overscroll-behavior: contain;
}

/* Quality card transitions */
[class*="card"], [class*="Card"],
[class*="panel"], [class*="Panel"],
[class*="item"], [class*="Item"] {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Button press effect */
button, [class*="btn"], [class*="Btn"],
[class*="button"], [class*="Button"] {
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

button:active, [class*="btn"]:active,
[class*="Btn"]:active, [class*="button"]:active,
[class*="Button"]:active {
  transform: scale(0.97) !important;
}

/* Card entrance */
.animate-card {
  animation: slideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  opacity: 0;
}

.animate-card:nth-child(1) { animation-delay: 0.05s; }
.animate-card:nth-child(2) { animation-delay: 0.1s; }
.animate-card:nth-child(3) { animation-delay: 0.15s; }
.animate-card:nth-child(4) { animation-delay: 0.2s; }

/* Scrollbar */
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(139, 92, 246, 0.3);
  border-radius: 3px;
}

@media (max-width: 768px) {
  ::-webkit-scrollbar { display: none; }
}
