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

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

#stage canvas {
  display: block;
  touch-action: none;
}

/* the only overlay: a faint control line that fades away and stays gone,
   so the model itself keeps zero interface */
#hint {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  font: 400 11px/1.4 "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  letter-spacing: 0.14em;
  color: #7e93ad;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.9);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  animation: hint 12s ease 1.6s forwards;
}

@keyframes hint {
  0% { opacity: 0; }
  12% { opacity: 0.85; }
  72% { opacity: 0.85; }
  100% { opacity: 0; }
}

/* opening fade — no text, no controls, the diorama is the whole interface */
#veil {
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at 50% 46%, #0b1220 0%, #04060b 70%);
  pointer-events: none;
  opacity: 1;
  transition: opacity 1.5s ease 0.25s;
}

body.ready #veil {
  opacity: 0;
}
