/* MIT Animations & Micro-interactions */

@keyframes pulseGreen {
  0% {
    box-shadow: 0 0 0 0 rgba(13, 104, 50, 0.4);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(13, 104, 50, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(13, 104, 50, 0);
  }
}

.pulse-mit {
  animation: pulseGreen 2.2s infinite;
}

@keyframes floatSlow {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(1deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

.float-effect {
  animation: floatSlow 5s ease-in-out infinite;
}

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

.animated-gradient-bg {
  background: linear-gradient(-45deg, #0d6832, #f97316, #8b5cf6, #0284c7);
  background-size: 400% 400%;
  animation: gradientShift 15s ease infinite;
}

/* Entry Animation */
.animate-fade-in {
  animation: fadeIn 0.4s ease-out forwards;
}

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

/* Spinner */
.spinner-mit {
  width: 24px;
  height: 24px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #ffffff;
  animation: spin 0.8s ease-in-out infinite;
  display: inline-block;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}
