* {
  box-sizing: border-box;
}

body {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: black;
}
body button {
  position: absolute;
  top: 0;
  font-size: 0.8rem;
  cursor: pointer;
}
body button img {
  object-fit: cover;
  width: 6rem;
  height: 6rem;
}
body #bg {
  position: relative;
  width: 100%;
  height: 100%;
  filter: blur(25px) saturate(2.5) contrast(1.5);
  background: 50%/200% no-repeat url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTJ-jUcypwhnxwfuWjHNPUpLUnghvRbAKcSnQ&usqp=CAU);
  transform: scale(1.25);
}
body #bg::before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  animation: rotate 20s linear infinite;
  opacity: 1;
  background: inherit;
  mix-blend-mode: color-dodge;
}
body #bg::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  animation: rotate 30s linear infinite;
  animation-direction: reverse;
  background: inherit;
  opacity: 0.85;
  mix-blend-mode: difference;
}

@media (orientation: landscape) {
  #bg::before, #bg::after {
    width: 100vw;
    height: 100vw;
  }
}
@media (orientation: portrait) {
  #bg::before, #bg::after {
    width: 100vh;
    height: 100vh;
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1.25);
    filter: hue-rotate(-180deg);
    backdrop-filter: hue-rotate(0deg);
  }
  50% {
    transform: rotate(180deg) scale(1);
  }
  100% {
    transform: rotate(360deg) scale(1.25);
    filter: hue-rotate(180deg);
    backdrop-filter: hue-rotate(360deg);
  }
}