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

.rainbow-bg {
  background: linear-gradient(45deg, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #9400d3);
  background-size: 400% 400%;
  animation: rainbow 2s ease infinite;
}

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

.animate-bounce {
  animation: bounce 0.5s ease;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes trending-glow {
  0%, 100% { box-shadow: 0 0 5px rgba(255, 165, 0, 0.5); }
  50% { box-shadow: 0 0 20px rgba(255, 165, 0, 0.8); }
}

.trending-card {
  animation: trending-glow 2s ease-in-out infinite;
}

@keyframes sparkle {
  0%, 100% { transform: scale(1) rotate(0deg); opacity: 1; }
  50% { transform: scale(1.2) rotate(180deg); opacity: 0.8; }
}

.influencer-mode::before {
  content: '✨';
  position: fixed;
  top: 10%;
  left: 10%;
  font-size: 2rem;
  animation: sparkle 3s ease-in-out infinite;
  pointer-events: none;
  z-index: 1000;
}

.influencer-mode::after {
  content: '🌟';
  position: fixed;
  bottom: 15%;
  right: 15%;
  font-size: 2rem;
  animation: sparkle 3s ease-in-out infinite 1.5s;
  pointer-events: none;
  z-index: 1000;
}

* {
  scrollbar-width: thin;
  scrollbar-color: #FF4757 #f1f1f1;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

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

::-webkit-scrollbar-thumb:hover {
  background: #e73c4e;
}

.dark ::-webkit-scrollbar-track {
  background: #1f2937;
}

.dark ::-webkit-scrollbar-thumb {
  background: #9B59B6;
}