html,
body {
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  text-align: center;
  background: rgb(49, 49, 105);
  color: white;
  font-family: sans-serif;
  font-size: 20pt;
}

#canvas {
  width: 100vw;
  height: 100vw;
  position: relative;
  font-size: 15vw;
}

#canvas > div {
  display: block;
  position: absolute;
  width: 25vw;
  height: 25vw;
  transition: top 0.5s, left 0.5s;
  animation: appear 1s;
}

@keyframes appear {
  0% {
    opacity: 0;
  }
  49% {
    opacity: 0;
  }
  50% {
    opacity: 1;
    color: yellow;
    filter: blur(50vw);
  }
  100% {
    color: white;
    filter: blur(0);
  }
}

@keyframes disappear {
  from {
    opacity: 1;
    filter: blur(0);
    color: white;
  }
  to {
    opacity: 0;
    filter: blur(50vw);
    color: black
  }
}

button {
  background: none;
  border: none;
  color: inherit;
  font-size: inherit;
  padding: 0.5em;
}
