body {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;

  height: 100vh;
  width: 100vw;

  margin: 0;
  padding: 0;

  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
button.merge {
  position: absolute;
  top: 1rem;

  height: 3rem;
  width: 6rem;
  background-color: #f9ca24;
  border-radius: 0.3rem;
  border: none;
}
button.merge:active {
  transform: scale(0.98);
}
.container {
  --size: 10rem;

  display: grid;
  grid-template-columns: repeat(4, var(--size));
  grid-template-rows: repeat(4, var(--size));

  grid-gap: 1rem;
  transition: all 1s;
}
.container.merge {
  grid-gap: 0rem;
}
.container .block {
  height: 100%;
  width: 100%;
  background-color: #000;

  overflow: hidden;
  transition: all 1s;
}
.container.merge .block {
  transform: rotate(360deg);
}
.container .block::before {
  content: "";
  display: block;

  height: calc(var(--size) * 4);
  width: calc(var(--size) * 4);

  background-image: url(../../public/image/1-1338-753.png);
  background-position: center;
  background-size: cover;

  transform: translate(
    calc(var(--x) * var(--size) * (-1)),
    calc(var(--y) * var(--size) * (-1))
  );
}
