html {
  height: 100dvh;
  background-color: #000;
}

body {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(to bottom, #3cbcfc 50%, #000 50%);
  overflow: clip;
  height: 100dvh;
}

img {
  pointer-events: none;
  user-select: none;
}

.top-text {
  position: absolute;
  height: 50%;
  top: 5vh;
}

.typewriter {
  image-rendering: pixelated;
}

@media (max-aspect-ratio: 1/1) {
  .typewriter {
    height: 80%;
    image-rendering: pixelated;
  }

  .textbox {
    font-size: 4vw;
    bottom: 40px;

    margin-left: 20px;
    margin-right: 20px;
    height: 20px;
  }
}

@media (min-aspect-ratio: 1/1) {
  .typewriter {
    width: 100vw;
    image-rendering: pixelated;
    margin-top: -30vw;
  }

  .textbox {
    font-size: 2vw;
    bottom: 15px;
  }
}

.textbox {
  color: white;
  position: absolute;
  image-rendering: pixelated;
  font-family: "Doto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-variation-settings: "ROND" 0;

  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefo */
}

.button {
  position: absolute;
  image-rendering: pixelated;
  width: 32px;
  bottom: 10px;
  right: 10px;
  transition: opacity 0.3s ease;
  transition: transform 0.3s ease;
  pointer-events: auto;
  filter: drop-shadow(2px 2px 0 #000);
}

.top-logo {
  position: absolute;
  image-rendering: pixelated;
  height: 20px;
  top: 10px;
  left: 10px;
}

.inner-button {
  opacity: 0;
}

#uparrow {
  bottom: 10px;
  right: 10px;
}
