html, body {
  margin: 0;
  height: 100%;
  background: #000;
  overflow: hidden;
  font-family: Verdana, Tahoma, sans-serif;
  color: #fff;
  user-select: none;
}
canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
#ui {
  pointer-events: none;
}
#boot {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  z-index: 10;
}
#boot.hidden {
  display: none;
}
/* splash.jpg at 4:3 like the original's 640x480 screen; the bar fills the slot drawn in the picture */
#boot-stage {
  position: relative;
  width: min(100vw, calc(100vh * 4 / 3));
  aspect-ratio: 4 / 3;
}
#boot-splash {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  image-rendering: auto;
}
#boot-slot {
  position: absolute;
  left: calc(353 / 640 * 100%);
  top: calc(445 / 480 * 100%);
  width: calc(277 / 640 * 100%);
  height: calc(16 / 480 * 100%);
}
#boot-fill {
  height: 100%;
  width: 0;
  background: #1a2fd0;
}
#boot-msg {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 24px;
  text-align: center;
}
#boot-status {
  font-size: 13px;
  min-height: 18px;
  color: #dfe8ff;
}
#boot-pick p {
  font-size: 13px;
  color: #cfdcff;
  line-height: 1.5;
}
.btn {
  display: inline-block;
  margin: 6px;
  padding: 8px 16px;
  border: 2px solid #ffd23a;
  color: #ffd23a;
  cursor: pointer;
  font-weight: bold;
  font-size: 13px;
}
.btn:hover {
  background: #ffd23a;
  color: #10204a;
}
code {
  color: #ffe9a0;
}
