/* v1578: corrected supplied rose asset; sizing and fail-closed boot behavior remain unchanged. */
/* v1577: loading rose must never change or block the canonical game boot path. */
html body #app #lrsScreenLoadingGate[hidden],
html body #lrsScreenLoadingGate[hidden] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body #app #lrsScreenLoadingGate:not(.is-active):not(.is-revealing),
html body #lrsScreenLoadingGate:not(.is-active):not(.is-revealing) {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* v1576: critical loading rose delivery styles are loaded directly from index.html.
   This file intentionally remains separate from the bundled main stylesheet so the
   supplied rose is correctly sized even when an older cached bundle is still present. */
html body #app #lrsScreenLoadingGate .lrsScreenLoadingSigil {
  overflow: visible !important;
}

html body #app #lrsScreenLoadingGate .lrsScreenLoadingSigil > img.lrsScreenLoadingRoseV1576,
html body #lrsScreenLoadingGate .lrsScreenLoadingSigil > img.lrsScreenLoadingRoseV1576 {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 4 !important;

  display: block !important;
  width: clamp(118px, 8.4vw, 152px) !important;
  height: clamp(118px, 8.4vw, 152px) !important;
  max-width: 78% !important;
  max-height: 78% !important;

  object-fit: contain !important;
  object-position: center !important;

  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  color: transparent !important;
  opacity: 1 !important;

  filter:
    drop-shadow(0 0 14px rgba(255, 48, 137, 0.38))
    drop-shadow(0 0 28px rgba(255, 112, 190, 0.22)) !important;

  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;

  transform: translate(-50%, -50%) scale(0.97) !important;
  transform-origin: center center !important;
  animation: lrsLoadingRosePulseV1576 2.1s ease-in-out infinite !important;
}

html body #app #lrsScreenLoadingGate .lrsScreenLoadingSigil > img.lrsScreenLoadingRoseV1576[data-lrs-loading-rose-error="true"],
html body #lrsScreenLoadingGate .lrsScreenLoadingSigil > img.lrsScreenLoadingRoseV1576[data-lrs-loading-rose-error="true"] {
  display: none !important;
}

@keyframes lrsLoadingRosePulseV1576 {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(0.97);
    opacity: 0.94;
  }

  50% {
    transform: translate(-50%, -50%) scale(1.03);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body #app #lrsScreenLoadingGate .lrsScreenLoadingSigil > img.lrsScreenLoadingRoseV1576,
  html body #lrsScreenLoadingGate .lrsScreenLoadingSigil > img.lrsScreenLoadingRoseV1576 {
    animation: none !important;
    transform: translate(-50%, -50%) !important;
  }
}
