#chibi-floaters-root{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 8px;
  pointer-events: none;
  z-index: 9999;
}
.chibi-lane{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: var(--chibi-size);
  pointer-events: none;
}
.chibi-wrap{
  position: absolute;
  bottom: 0;
  pointer-events: auto;
}
.chibi-link{
  display: inline-block;
  text-decoration: none;
}
.chibi{
  width: var(--chibi-size);
  height: var(--chibi-size);
  object-fit: contain;
  image-rendering: auto;
  cursor: pointer;
  will-change: transform;
  user-select: none;
  -webkit-user-drag: none;
}
.chibi.flip-x { transform: scaleX(-1); }

@keyframes chibi-walk {
  0% { transform: translateX(-5vw) }
  50% { transform: translateX(90vw) }
  100% { transform: translateX(-5vw) }
}

.chibi.walking {
  animation-name: chibi-walk;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.chibi-burst{
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
  font-weight: 700;
  text-shadow: 0 2px 6px rgba(0,0,0,.35);
  white-space: nowrap;
}

.chibi-heart{
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
}

@keyframes compliment-fall {
  0% { transform: translateY(0) translateX(0) rotate(0deg); opacity: 1; }
  100% { transform: translateY(40vh) translateX(10vw) rotate(20deg); opacity: 0; }
}

@keyframes heart-pop {
  0% { transform: translateY(0) scale(.6); opacity: 0; }
  30% { opacity: 1; }
  100% { transform: translateY(-10vh) scale(1.4); opacity: 0; }
}

@media (max-width: 768px){
  #chibi-floaters-root.mobile-hidden{
    display: none !important;
  }
}
