* { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #000;
  cursor: none;
}

#stage {
  position: fixed;
  inset: 0;
  background: #000;
}

.layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}

.layer.visible { opacity: 1; }

#hint {
  position: fixed;
  bottom: 2vh;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.6em 1.2em;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.8);
  font: 1.4vh/1.4 system-ui, sans-serif;
  transition: opacity 0.6s ease;
}

#hint.hidden { opacity: 0; }
