/* ===== ANIMATED GAME ICONS (from /games) ===== */
@keyframes flag-wave {
  0%, 100% { transform: skewY(0deg) scaleX(1); }
  25% { transform: skewY(-4deg) scaleX(0.95); }
  75% { transform: skewY(4deg) scaleX(0.98); }
}

@keyframes ghost-float-deep {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-6px) rotate(2deg); }
}

@keyframes ghost-billow {
  0%, 100% { transform: skewX(0deg) scaleY(1); }
  25% { transform: skewX(-4deg) scaleY(1.02); }
  75% { transform: skewX(4deg) scaleY(0.98); }
}

@keyframes ghost-manifest-deep {
  0%, 100% { opacity: 0; filter: blur(6px); transform: scale(0.85) translateY(10px); }
  15%, 85% { opacity: 0.8; filter: blur(0px); transform: scale(1) translateY(0); }
}

@keyframes blitz-crackle {
  0%, 100% { opacity: 1; transform: scale(1); filter: drop-shadow(0 0 0px #facc15); }
  10% { opacity: 0.7; transform: scale(0.98); }
  20% { opacity: 1; transform: scale(1.05); filter: drop-shadow(0 0 8px #f59e0b); }
  30% { opacity: 0.8; transform: scale(0.95); }
  40% { opacity: 1; transform: scale(1.02); }
}

@keyframes spark-blink {
  0%, 80%, 100% { opacity: 0; transform: scale(0); }
  85% { opacity: 1; transform: scale(1.2); }
  90% { opacity: 0; transform: scale(1); }
}

@keyframes aura-pulse {
  0%, 100% { transform: scale(1); opacity: 0.1; }
  50% { transform: scale(1.2); opacity: 0.3; }
}

@keyframes globe-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes globe-aura {
  0%, 100% { opacity: 0.1; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(1.1); }
}

@keyframes hammer-swing {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(-10deg); }
}

@keyframes brick-pulse {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.05); opacity: 1; }
}

@keyframes wordrush-line-sweep {
  0%, 100% { transform: translateX(0); opacity: 1; }
  50% { transform: translateX(1px); opacity: 0.72; }
}

@keyframes wordrush-ring-pulse {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  50% { transform: scale(1.1); opacity: 1; }
}

@keyframes wordrush-check-pop {
  0%, 100% { transform: scale(1); }
  40% { transform: scale(1.15); }
  65% { transform: scale(0.94); }
}

.animate-flag-wave {
  animation: flag-wave 2s ease-in-out infinite;
  transform-origin: left center;
}

.animate-ghost-deep {
  animation: ghost-manifest-deep 6s ease-in-out infinite;
  display: block;
}

.ghost-sheet {
  animation: ghost-float-deep 3s ease-in-out infinite;
  transform-origin: center top;
}

.ghost-bottom {
  animation: ghost-billow 1.5s ease-in-out infinite;
  transform-origin: center top;
}

.animate-blitz {
  animation: blitz-crackle 0.4s step-end infinite;
}

.bolt-spark {
  animation: spark-blink 1.5s ease-in-out infinite;
}

.blitz-aura {
  animation: aura-pulse 2s ease-in-out infinite;
  transform-origin: center;
}

.animate-globe-tilt {
  transform: rotate(16deg);
  display: block;
  overflow: visible !important;
}

.globe-continents {
  animation: globe-spin 9s linear infinite;
  transform-origin: 12px 12px;
}

.globe-aura {
  animation: globe-aura 3s ease-in-out infinite;
  transform-origin: center;
}

.animate-builders .builder-hammer {
  animation: hammer-swing 1.5s ease-in-out infinite;
  transform-origin: center;
}

.animate-builders .builder-brick-1 {
  animation: brick-pulse 2s ease-in-out infinite;
  transform-origin: center bottom;
}

.animate-builders .builder-brick-2 {
  animation: brick-pulse 2s ease-in-out infinite 0.5s;
  transform-origin: center bottom;
}

.animate-wordrush .wr-line-1 {
  animation: wordrush-line-sweep 1.2s ease-in-out infinite;
}

.animate-wordrush .wr-line-2 {
  animation: wordrush-line-sweep 1.2s ease-in-out infinite 0.15s;
}

.animate-wordrush .wr-line-3 {
  animation: wordrush-line-sweep 1.2s ease-in-out infinite 0.3s;
}

.animate-wordrush .wr-check-ring {
  animation: wordrush-ring-pulse 2s ease-in-out infinite;
  transform-origin: 18px 16px;
}

.animate-wordrush .wr-check-mark {
  animation: wordrush-check-pop 1.5s ease-in-out infinite;
  transform-origin: 18px 16px;
}

/* Hover effects for login game cards */
.login-game-card:hover .animate-flag-wave {
  animation-duration: 0.8s;
}

.login-game-card:hover .animate-ghost-deep {
  animation: ghost-float-deep 0.4s ease-in-out infinite;
  opacity: 1 !important;
  filter: blur(0px) !important;
  transform: scale(1.15) !important;
}

.login-game-card:hover .animate-blitz {
  animation-duration: 0.15s;
  transform: scale(1.2);
}

.login-game-card:hover .globe-continents {
  animation-duration: 1.5s;
}

.login-game-card:hover .animate-globe-tilt {
  transform: rotate(16deg) scale(1.08);
}

.login-game-card:hover .animate-builders .builder-hammer {
  animation-duration: 0.5s;
}

.login-game-card:hover .animate-wordrush .wr-line-1,
.login-game-card:hover .animate-wordrush .wr-line-2,
.login-game-card:hover .animate-wordrush .wr-line-3 {
  animation-duration: 0.45s;
}

.login-game-card:hover .animate-wordrush .wr-check-ring {
  animation-duration: 1s;
}

.login-game-card:hover .animate-wordrush .wr-check-mark {
  animation-duration: 0.75s;
}
