html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: #000;
  color: white;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

canvas {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  display: block;
  background: #000;
  cursor: grab;
}

canvas:active { cursor: grabbing; }

.hud {
  position: fixed;
  left: 22px;
  top: 20px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  opacity: .82;
  mix-blend-mode: screen;
  user-select: none;
}

.title, button, .hint {
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.24);
  box-shadow: 0 0 35px rgba(90,160,255,.08), inset 0 1px rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 999px;
  color: rgba(240,248,255,.88);
  letter-spacing: .18em;
  font-size: 11px;
  font-weight: 700;
}

.title { padding: 11px 14px; }
button { padding: 11px 13px; cursor: pointer; }
button:hover { border-color: rgba(255,255,255,.46); color: white; }

.hint {
  position: fixed;
  right: 22px;
  bottom: 20px;
  z-index: 2;
  padding: 11px 14px;
  opacity: .55;
  user-select: none;
}

@media (max-width: 760px) {
  .hud { left: 12px; top: 12px; right: 12px; flex-wrap: wrap; }
  .title, button, .hint { font-size: 9px; }
  .hint { left: 12px; right: auto; bottom: 12px; }
}
