.animated-characters {
  position: relative;
  width: 550px;
  height: 400px;
}

.character {
  position: absolute;
  bottom: 0;
  will-change: transform;
  transform-origin: bottom center;
  transition: all 0.7s ease-in-out;
}

.character-purple {
  left: 70px;
  width: 180px;
  background-color: #6c3ff5;
  border-radius: 10px 10px 0 0;
  z-index: 1;
}

.character-black {
  left: 240px;
  width: 120px;
  height: 310px;
  background-color: #2d2d2d;
  border-radius: 8px 8px 0 0;
  z-index: 2;
}

.character-black .character-eyes {
  gap: 24px;
}

.character-orange {
  left: 0;
  width: 240px;
  height: 200px;
  background-color: #ff9b6b;
  border-radius: 120px 120px 0 0;
  z-index: 3;
}

.character-yellow {
  left: 310px;
  width: 140px;
  height: 230px;
  background-color: #e8d754;
  border-radius: 70px 70px 0 0;
  z-index: 4;
}

.character-eyes {
  position: absolute;
  display: flex;
  gap: 32px;
  will-change: transform, left, top;
  transition: all 0.7s ease-in-out;
}

.character-eyes--pupils {
  gap: 24px;
  will-change: transform, left, top;
  transition: all 0.2s ease-out;
}

.character-mouth {
  position: absolute;
  width: 80px;
  height: 4px;
  background-color: #2d2d2d;
  border-radius: 9999px;
  will-change: transform, left, top;
  transition: all 0.2s ease-out;
}

.eyeball {
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: height 0.15s ease;
  overflow: hidden;
}

.eyeball-pupil {
  border-radius: 9999px;
  transition: transform 0.1s ease-out;
  will-change: transform;
}

.pupil {
  border-radius: 9999px;
  transition: transform 0.1s ease-out;
  will-change: transform;
}
