/* Home-only proportional composition. Never change the game viewport contract. */
.intro-menu-slot { display: grid; }
.intro-menu-buttons, .intro-start-prompt { grid-area: 1 / 1; }
.intro-start-prompt {
  display: none;
  align-self: center;
  margin: 0;
  color: #000;
  font-family: inherit;
  font-size: 1.65rem;
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
  transform-origin: center;
}
.is-awaiting-start .intro-start-prompt { display: block; }
@media (prefers-reduced-motion: no-preference) {
  .is-awaiting-start .intro-start-prompt { animation: home-start-pulse 1.2s ease-in-out infinite; }
}
@keyframes home-start-pulse {
  0%, 100% { transform: scale(.85); }
  50% { transform: scale(1.1); }
}
.is-awaiting-start .intro-menu-buttons,
.is-awaiting-start .menu-audio-controls { visibility: hidden; }
.home-start-button {
  position: absolute;
  z-index: 10;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.home-start-button[hidden] { display: none; }
.home-start-button:focus-visible { outline-offset: -.4rem; }
html.is-home-layout, .is-home-layout body { min-width: 0; overflow: hidden; }
#intro { width: 100%; height: 100dvh; min-height: 0; padding: 0; }
#intro .intro-content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 47.5rem;
  flex: none;
  transform: translate(-50%, -50%) scale(var(--home-scale, 1));
  transform-origin: center;
}
#intro .intro-pretitle-art { width: 18rem; }
#intro .intro-content h1 img { width: 38.75rem; }
#intro .intro-actions { flex-wrap: nowrap; }
#intro .intro-actions .button { flex: none; }
#intro .intro-secondary-actions { width: 26.8rem; }
#intro .menu-audio-controls {
  position: absolute;
  top: calc(1.15rem * var(--home-scale, 1) + env(safe-area-inset-top, 0px));
  right: calc(1.2rem * var(--home-scale, 1) + env(safe-area-inset-right, 0px));
  transform: scale(var(--home-scale, 1));
  transform-origin: top right;
}
#intro .intro-footnote {
  left: 50%;
  bottom: calc(1.4rem * var(--home-scale, 1) + env(safe-area-inset-bottom, 0px));
  width: max-content;
  white-space: nowrap;
  transform: translateX(-50%) scale(var(--home-scale, 1));
  transform-origin: bottom center;
}
