html, body {
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #000;
}

body {
  overscroll-behavior: none;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* Full-viewport art behind the letterboxed game stage. */
#game-backdrop {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: #0a1a12;
}

#game-backdrop::before {
  content: "";
  position: absolute;
  /* Oversized so blur does not show hard edges at the viewport. */
  inset: -24px;
  background: url("background.jpg") center / cover no-repeat;
  filter: blur(8px) saturate(1.05) brightness(0.88);
  transform: scale(1.05);
}

#game-backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.22);
}

/* Position, size and rotation are all driven by the layout script. */
#unity-container {
  position: fixed;
  z-index: 1;
  transform-origin: 50% 50%;
  overflow: hidden;
}

#unity-canvas { display: block; width: 100%; height: 100%; background: #1F1F20 }
#unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
#unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center }
#unity-progress-bar-empty { margin-left: auto; margin-right: auto; width: 141px; height: 18px; margin-top: 10px; background: url('progress-bar-empty-dark.png') no-repeat center }
#unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
#unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }
