.mika-avatar {
  position: relative;
  width: 110px;
  height: 135px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.18));
}

.mika-avatar svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.coach-badge {
  position: absolute;
  right: -4px;
  top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  font-size: 14px;
}

.mika-float {
  animation: mikaFloat 2.4s ease-in-out infinite;
}

.mika-wave {
  animation: mikaWave 1.4s ease-in-out infinite;
  transform-origin: 70% 40%;
}

.mika-bounce {
  animation: mikaBounce 0.9s ease-in-out infinite;
  transform-origin: center bottom;
}

.mika-shake {
  animation: mikaShake 0.5s ease-in-out infinite;
  transform-origin: center center;
}

.mika-sad {
  animation: mikaSad 2s ease-in-out infinite;
}

@keyframes mikaFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@keyframes mikaWave {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(2deg); }
  50% { transform: rotate(-2deg); }
  75% { transform: rotate(2deg); }
}

@keyframes mikaBounce {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6px) scale(1.02); }
}

@keyframes mikaShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-2px); }
  50% { transform: translateX(2px); }
  75% { transform: translateX(-2px); }
}

@keyframes mikaSad {
  0%, 100% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(2px); opacity: 0.96; }
}
