.bot-profile-art { position: relative; }
.profile-image-only { cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent; }
.profile-image-only.is-shaking { animation: profile-shake-v2 .55s steps(6, end) both; }
.pixel-heart-v2 {
  position: absolute;
  z-index: 3;
  color: #ff6f91;
  pointer-events: none;
  font: 700 42px/1 'Pixelify Sans', sans-serif;
  text-shadow: 3px 3px 0 #171311;
  animation: heart-float-v2 1.1s steps(8, end) forwards;
}
@keyframes profile-shake-v2 {
  0%, 100% { transform: translateX(0) rotate(0); }
  16% { transform: translateX(-10px) rotate(-3deg); }
  32% { transform: translateX(10px) rotate(3deg); }
  48% { transform: translateX(-8px) rotate(-2deg); }
  64% { transform: translateX(8px) rotate(2deg); }
  80% { transform: translateX(-4px) rotate(-1deg); }
}
@keyframes heart-float-v2 {
  0% { opacity: 0; transform: translate(-50%, 20px) scale(.65); }
  20% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--heart-x)), -24px) scale(1.15); }
}
