@media only screen and (max-width: 600px) {
  :root {
    font-size: 18pt;
  }
}

* {
  box-sizing: border-box;
}

:root {
  --margin: 1rem;
  --background: black;
  --color: white;
  color: var(--color);
  background: var(--background);
}

html {
  height: 100%;
}

body {
  height: 100%;
  margin: 0;
  padding: 0;
}

#renderCanvas {
  width: 100%;
  height: 100%;
  touch-action: none;
}

#splash {
  background: var(--background);
  display: grid;
  place-items: center;
  transition: .5s ease-in-out;
}

#splash[hidden] {
  opacity: 0;
  pointer-events: none;
}

#overlay {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  pointer-events: none;
}

#overlay>* {
  background: #0008;
  padding: var(--margin);
  pointer-events: auto;
}

button {
  border: none;
  background: var(--color);
  color: var(--background);
  font-family: unset;
  font-size: unset;
  padding: var(--margin);
  width: 100%;
}

#main-menu {
  height: 100%;
  display: flex;
  flex-direction: column;
}

#main-menu h1 {
  flex-grow: 1;
  display: grid;
  place-items: center;
  text-align: center;
}

.fill-parent-remove-from-flow {
  position: absolute;
  width: 100%;
  height: 100%;
}

.fade-when-hidden {
  transition: .5s ease-in-out;
}

.fade-when-hidden[hidden] {
  opacity: 0;
  pointer-events: none;
}