/* Animaties — globaal */

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}
@keyframes fade-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes pop-in {
  0% { transform: scale(0); opacity: 0; }
  70% { transform: scale(1.08); }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes vraag-in {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes monster-zweven {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes ademen {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.92; transform: scale(1.02); }
}
@keyframes ogen-knipperen {
  0%, 90%, 100% { transform: scaleY(1); }
  93%, 97% { transform: scaleY(0.1); }
}
@keyframes vlam-flikker {
  0%, 100% { filter: drop-shadow(0 0 16px rgba(255,149,64,0.55)); }
  50%      { filter: drop-shadow(0 0 22px rgba(255,149,64,0.85)); }
}

.fade-in { animation: fade-in 0.4s ease both; }
.pop-in { animation: pop-in 0.4s ease both; }
.vraag-in { animation: vraag-in 0.3s ease both; }
.monster-full { animation: monster-zweven 3s ease-in-out infinite, ademen 4s ease-in-out infinite; }
.knipper { transform-origin: center; animation: ogen-knipperen 5s ease-in-out infinite; }
