:root {
  color-scheme: dark;
  --loading-background: #000;
  --loading-text: #fff;
}

html, body, #canvas {
  margin: 0;
  padding: 0;
  border: 0;
}

html, body {
  width: 100%;
  height: 100%;
  overscroll-behavior: none;
}

body {
  overflow: hidden;
  background: var(--loading-background);
  color: var(--loading-text);
  touch-action: none;
  font-family: system-ui, sans-serif;
}

#game-viewport {
  position: fixed;
  top: env(safe-area-inset-top, 0px);
  right: env(safe-area-inset-right, 0px);
  bottom: env(safe-area-inset-bottom, 0px);
  left: env(safe-area-inset-left, 0px);
}

#canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

#canvas:focus {
  outline: none;
}

#status {
  position: fixed;
  inset: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  background: var(--loading-background);
}

#status-notice {
  max-width: 32rem;
  padding: 0 1rem;
  text-align: center;
}

#status-progress {
  width: min(24rem, 70vw);
}
