.game-surface {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #000;
}
.game-surface > canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.resume-input {
  position: absolute;
  left: 50%;
  bottom: 20px;
  z-index: 3;
  transform: translateX(-50%);
  border: 1px solid #e6dfcd;
  padding: 11px 15px;
  color: #fff5dc;
  background: #10151eed;
  font: 700 11px 'Courier New', monospace;
  cursor: pointer;
  white-space: nowrap;
}
#game-screen:fullscreen {
  display: grid;
  place-items: center;
  width: 100vw;
  height: 100dvh;
  aspect-ratio: auto;
  padding: 24px;
  border: 0;
  background: #000;
}
#game-screen:fullscreen .game-surface {
  width: var(--fullscreen-game-width, min(1280px, calc(100vw - 48px), calc((100dvh - 48px) * 4 / 3)));
  height: var(--fullscreen-game-height, auto);
  max-width: 1280px;
  max-height: 960px;
  aspect-ratio: 4 / 3;
}
