.tetris-animator {
  display: grid;
  grid-template-columns: repeat(var(--x-length), 1fr);
  grid-template-rows: repeat(var(--y-length), 1fr);
  gap: 12px;
}
.tetris-animator.float-left {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
}
.tetris-animator.float-right {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
}
.tetris-animator > .tetris-animator-cell {
  display: block;
  min-width: 100%;
  max-width: 118px;
  aspect-ratio: 1/1;
  background-image: var(--image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--color, #fff);
  opacity: 0;
  transform: scale(0.8) translateY(20px);
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}
.tetris-animator > .tetris-animator-cell.revealed {
  transform: scale(1) translateY(0);
  opacity: 1;
}
