html {
  height: 100%;
  font-size: 16pt;
}

body {
  margin: 0;
  height: 100%;
  overflow: hidden;

  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;

  min-width: 20rem;

  display: flex;
  justify-content: center;
  align-items: center;

  background-repeat: no-repeat;
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
    url(skyline_tokyotower_lights.png),
    url(skyline.png),
    linear-gradient(to bottom, #220a64, #3a2078);

  background-position: center, bottom left, bottom left, center;
  background-size: auto, 40%, 40%, auto;

  animation: backgroundBlendAnimation ease-in-out 2s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

h1 {
  color: #fff;
  font-size: 15vw;
}

img {
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;

  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

#monkey {
  width: 10vw;
  position: fixed;
  top: 51%;
  left: 49%;

  transform-origin: center top;
  animation-name: fadeInAnimation, swingAnimation;
  animation-duration: 3s;
  animation-iteration-count: 1;
  animation-timing-function: ease;
}

#wordmark {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes backgroundBlendAnimation {
  from {
    background-blend-mode: normal, normal, normal, normal;
  }
  to {
    background-blend-mode: normal, darken, normal, normal;
  }
}

@keyframes fadeInAnimation {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes swingAnimation {
  0% { transform: rotate(0deg); }
  20% { transform: rotate(-10deg); }
  60% { transform: rotate(10deg); }
  100% { transform: rotate(0deg); }
}

.star {
  opacity: 0;
  position: fixed;
  animation: fadeInAnimation ease 2s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

body .star:nth-child(1) {
  animation-delay: 0s;
  left: 10vw;
  top: 2vh;
}

body .star:nth-child(2) {
  animation-delay: 1s;
  left: 6vw;
  top: 6vh;
}

body .star:nth-child(3) {
  animation-delay: 2s;
  left: 90vw;
  top: 20vh;
}

body .star:nth-child(4) {
  animation-delay: 3s;
  left: 4vw;
  top: 50vh;
}

body .star:nth-child(5) {
  animation-delay: 4s;
  left: 70vw;
  top: 70vh;
}

body .star:nth-child(6) {
  animation-delay: 5s;
  left: 87vw;
  top: 12vh;
}

body .star:nth-child(7) {
  animation-delay: 6s;
  left: 50vw;
  top: 30vh;
}

body .star:nth-child(8) {
  animation-delay: 7s;
  left: 10vw;
  top: 20vh;
}

body .star:nth-child(9) {
  animation-delay: 8s;
  left: 60vw;
  top: 10vh;
}

body .star:nth-child(10) {
  animation-delay: 9s;
  left: 90vw;
  top: 90vh;
}
