@keyframes pulse-glow {
  0%,
  100% {
    box-shadow: 0 0 20px 2px rgba(59, 130, 246, 0.3);
  }
  50% {
    box-shadow: 0 0 30px 5px rgba(59, 130, 246, 0.8);
  }
}

@keyframes gradient-x {
  0%,
  100% {
    transform: translateX(0%);
  }
  50% {
    transform: translateX(100%);
  }
}

@keyframes slide-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b  100%);
  color: white;
  overflow-x: hidden;
}

.sidebar-gradient {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
}

.glass-effect {
  background: rgba(30, 41, 59, 0.6);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(59, 130, 246, 0.2);
}

.animate-pulse-glow {
  animation: pulse-glow 3s infinite;
}

.animate-gradient-x {
  animation: gradient-x 3s infinite;
}

.animate-slide-up {
  animation: slide-up 0.6s ease-out;
}

.sentiment-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
  height: 400px;
}

.crypto-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 16px;
  height: 600px;
}

.trend-card {
  transition: all 0.3s ease;
  cursor: pointer;
}

.trend-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 30px rgba(59, 130, 246, 0.3);
}