body { padding: 0; margin: 0 }
#unity-container { position: fixed; width: 100%; height: 100%; }
#unity-canvas { width: 100%; height: 100%; background: #FFFFFF }
#unity-loading-bar { position: absolute; left: 50%; bottom: 48px; transform: translateX(-50%); display: none }
#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 }

/* PLAY gate: full-screen splash shown before the game boots. The click on the
   button is the user gesture that unlocks the browser audio context, so the
   Unity instance (and the intro video) starts with sound. */
#play-gate {
  position: fixed; inset: 0; z-index: 10;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: #FFFFFF;
  -webkit-tap-highlight-color: transparent; user-select: none; cursor: pointer;
}
#play-gate.hidden { display: none; }
#play-title {
  color: #fff; font-family: 'Trebuchet MS', Arial, sans-serif; font-weight: 800;
  font-size: clamp(28px, 7vw, 64px); letter-spacing: 2px; margin-bottom: 6vh;
  text-shadow: 0 4px 18px rgba(0,0,0,0.55);
}
#play-button {
  width: clamp(96px, 22vw, 168px); height: clamp(96px, 22vw, 168px);
  border-radius: 50%; border: none; cursor: pointer;
  background: radial-gradient(circle at 50% 35%, #ffffff 0%, #f2f2f2 70%, #e2e2e2 100%);
  box-shadow: 0 0 0 8px rgba(255,255,255,0.12), 0 12px 40px rgba(0,0,0,0.45);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.12s ease; animation: play-pulse 1.8s ease-in-out infinite;
}
#play-button:hover { transform: scale(1.06); }
#play-button:active { transform: scale(0.94); }
#play-button::after {
  content: ''; display: block;
  width: 0; height: 0; margin-left: 14%;
  border-style: solid; border-width: 22px 0 22px 38px;
  border-color: transparent transparent transparent #1a1a1a;
}
#play-label {
  color: #fff; font-family: 'Trebuchet MS', Arial, sans-serif; font-weight: 700;
  font-size: clamp(14px, 3.4vw, 22px); letter-spacing: 3px; margin-top: 4vh; opacity: 0.92;
}
@keyframes play-pulse {
  0%, 100% { box-shadow: 0 0 0 8px rgba(255,255,255,0.10), 0 12px 40px rgba(0,0,0,0.45); }
  50%      { box-shadow: 0 0 0 18px rgba(255,255,255,0.04), 0 12px 40px rgba(0,0,0,0.45); }
}
