* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  height: 100dvh;
  background-color: #000;
  overscroll-behavior: none;
  display: grid;
  place-items: center;
}

#container {
  position: relative;

  canvas {
    image-rendering: pixelated;
    aspect-ratio: 400 / 244;
    touch-action: none;
    width: 400px;
    height: 244px;

    @media (min-width: 800px) and (min-height: 488px) {
      width: 800px;
      height: 488px;
    }

    @media (min-width: 1200px) and (min-height: 732px) {
      width: 1200px;
      height: 732px;
    }
  }

  .dialog {
    position: absolute;
    left: 2vw;
    right: 2vw;
    bottom: 2vw;
    padding: 2vw;
    font-size: 2.5vw;
    background: #00000080;
    color: #fff;
    font-family: monospace;

    p {
      margin: 0;
      padding: 0;

      + p {
        margin-block-start: 1lh;
      }
    }

    .choices {
      display: flex;
      justify-content: flex-end;
      gap: 1ch;
    }

    button {
      cursor: pointer;
      font: inherit;
      background: none;
      color: inherit;
      border: 0;

      &:before {
        content: "  ";
      }

      &:focus {
        outline: 0;

        &:before {
          content: "> ";
        }
      }
    }
  }
}
