* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; background: #000; overflow: hidden; touch-action: none; }
body { display: flex; align-items: center; justify-content: center; }
#bg {
  position: fixed; inset: 0;
  width: 100vw; height: 100vh;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  pointer-events: none;
  display: block;
}
#game {
  position: relative; z-index: 1;
  background: #000;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  touch-action: none;
  width: min(100vw, calc(100vh * 160 / 144));
  height: min(100vh, calc(100vw * 144 / 160));
}
#game:focus, #game:focus-visible { outline: none; }