/* One loading identity for HTML boot, React gates and standalone scenes. */
.gn-loading-screen,
.mhl-setup-loader {
  background: #000 !important;
  color: #f5efdf !important;
  font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.gn-loading-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(280px, 100%);
  flex: 0 0 auto;
  color: #f5efdf;
  text-align: center;
}
.gn-loading-ball {
  display: block;
  width: 72px;
  height: 72px;
  margin-bottom: 20px;
  flex: 0 0 auto;
}
.gn-loading-brand .gn-wordmark,
.gn-loading-word { display: block; width: 100%; max-width: 280px; margin: 0; }
.gn-loading-word img { display: block; width: 100%; height: auto; }
.gn-loading-subtitle,
.gn-loading-brand .gn-wordmark__subtitle {
  display: block;
  margin-top: 10px;
  padding-left: .3em;
  font: 700 10px/1.2 system-ui, sans-serif;
  letter-spacing: .3em;
  color: #f5efdf;
}
.gn-loading-dots { display: flex; gap: 7px; margin-top: 20px; }
.gn-loading-dots i { display: block; width: 8px; height: 8px; border-radius: 2px; background: #f7ad30; animation: gn-loading-pulse 1.2s infinite; }
.gn-loading-dots i:nth-child(2) { animation-delay: .2s; }
.gn-loading-dots i:nth-child(3) { animation-delay: .4s; }
.gn-loading-message { margin: 22px 0 0; color: #bdb8ae; font: 600 14px/1.4 system-ui, sans-serif; text-align: center; letter-spacing: normal; text-transform: none; }
@keyframes gn-loading-pulse { 0%,80%,100% { opacity: .25; } 40% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .gn-loading-dots i { animation: none; opacity: .7; } }

.gn-loading-content { width: min(328px, 100%); padding-inline: 24px; box-sizing: border-box; }
#loading.gn-loading-screen { gap: 0; padding: 24px; }
