html, body {
  margin: 0;
  height: 100%;
  overflow: hidden;
  background: #0d0b1f;
}

#stage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: env(safe-area-inset-top) env(safe-area-inset-right)
           env(safe-area-inset-bottom) env(safe-area-inset-left);
}

#screen {
  aspect-ratio: 9 / 16;
  width: min(100vw, 56.25vh);
  height: min(177.78vw, 100vh);
  max-width: 100%;
  max-height: 100%;
  /* Fallbacks first, `pixelated` last: the last declaration a browser understands
     wins, and pixelated is the one we actually want wherever it is supported. */
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}
