html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: #000;
  touch-action: none;
  overscroll-behavior: none;
  user-select: none;
  -webkit-user-select: none;
}

canvas {
  display: block;
  width: 100vw !important;
  height: 100vh !important;
  object-fit: contain;
  image-rendering: pixelated;
  outline: none;
}

canvas:focus,
canvas:focus-visible {
  outline: none;
}

#boot-error[hidden] {
  display: none;
}

#boot-error {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  margin: 0;
  max-width: min(32rem, calc(100vw - 2rem));
  padding: 0.75rem;
  border: 1px solid #fff3;
  background: #000c;
  color: #fff;
  white-space: pre-wrap;
  font: 14px/1.4 monospace;
}

#touch-hint {
  display: none;
  position: fixed;
  left: max(12px, env(safe-area-inset-left));
  right: max(12px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  margin: 0;
  color: #fff;
  background: #000b;
  padding: 8px;
  font: 12px/1.5 monospace;
  text-align: center;
  pointer-events: none;
}

@media (any-pointer: coarse) {
  #touch-hint:not([hidden]) { display: block; }
}
