/**
 * Animation Styles
 * Standardized animations using 0.3s ease-in-out timing for consistency
 * Includes fade transitions, refresh effects, and button animations
 * @author Simeon Tsvetanov
 */

/* Refresh button animation */
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.refresh-button .refresh-icon {
  display: inline-block;
  transition: transform 0.5s ease-in-out;
}

.refresh-button:active .refresh-icon {
  animation: rotate 0.5s ease-in-out;
}

/* Fade animations */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}

.fade-in {
  animation: fadeIn 0.3s ease-in-out forwards;
}

.fade-out {
  animation: fadeOut 0.3s ease-in-out forwards;
}

/* Team refresh animation */
@keyframes teamRefresh {
  0% {
    transform: scale(1);
    filter: brightness(1);
    opacity: 1;
  }
  40% {
    transform: scale(0.98);
    filter: brightness(1.1);
    opacity: 0.9;
  }
  60% {
    transform: scale(0.98);
    filter: brightness(1.1);
    opacity: 0.9;
  }
  100% {
    transform: scale(1);
    filter: brightness(1);
    opacity: 1;
  }
}

.team-box.refresh {
  animation: teamRefresh 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Refresh button animation */
@keyframes singleSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
