*,
*::before,
*::after {
  box-sizing: border-box;
}
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: black;
  overflow: hidden;
  user-select: none;
}
canvas {
  width: 233.333333vh !important;
  height: 100vh !important;
  max-width: 233.333333dvh !important;
  max-height: 100dvh !important;
  top: 50vh !important;
  transform: translate(-50%, -50%) !important;
}
@media (max-aspect-ratio: 7/3) {
  canvas {
    width: 100vw !important;
    height: 42.857143vw !important;
    max-width: 100dvw !important;
    max-height: 42.857143dvw !important;
  }
}
#ui {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  max-width: 100dvw;
  max-height: 100dvh;
  z-index: 9;
}
#left-key,
#center-key,
#right-key {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 99;
}
#left-key {
  left: 0;
  right: 66.666666vw;
}
#center-key {
  left: 33.333333vw;
  right: 33.333333vw;
}
#right-key {
  left: 66.666666vw;
  right: 0;
}
.modal-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.6);
}
.modal-content {
  position: absolute;
  left: 50%;
  top: 50%;
  padding: 30px;
  border: 1px solid black;
  background: white;
  transform: translate(-50%, -50%);
}

