/* Decorative, unlocated prayer NFT motifs over either map presentation. */
#jcs-map-viewport #jcs-prayer-descent {
  grid-column: 1;
  grid-row: 3;
  position: relative;
  align-self: stretch;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  z-index: 3;
  pointer-events: none;
}
#jcs-map-viewport #jcs-prayer-descent[hidden] { display: none !important; }
#jcs-map-focus-frame #jcs-map-viewport #jcs-prayer-descent {
  grid-area: 1 / 1 !important;
  width: 100%;
  height: 100%;
}
.jcs-prayer-descent-badge {
  position: absolute;
  top: 12px;
  left: 14px;
  z-index: 1;
  max-width: min(70%, 260px);
  padding: 5px 8px;
  border: 1px solid #95d9ce88;
  border-radius: 6px;
  background: #102c34e8;
  color: #c3f4e9;
  font: 600 11px/1.35 system-ui, sans-serif;
  text-shadow: 0 1px 2px #071b21;
}
.jcs-prayer-light {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 10px;
  height: 10px;
  border: 1px solid #e1fff8;
  border-radius: 50%;
  background: #bceee2;
  box-shadow: 0 0 7px 3px #77dccc, 0 0 22px 9px #56d2c188;
  opacity: 0;
  animation: jcs-prayer-fall 14s ease-in-out var(--delay) infinite;
}
.jcs-prayer-light::after {
  content: '';
  position: absolute;
  left: 3px;
  top: -28px;
  width: 2px;
  height: 27px;
  background: linear-gradient(transparent, #a3eadbaa);
}
@keyframes jcs-prayer-fall {
  0% { opacity: 0; transform: translate(-50%, -210px) scale(.5); }
  15% { opacity: .85; }
  35% { opacity: 1; transform: translate(-50%, 0) scale(1); }
  70% { opacity: .65; transform: translate(-50%, 0) scale(.82); }
  100% { opacity: 0; transform: translate(-50%, 0) scale(.65); }
}
#jcs-prayer-descent.is-paused .jcs-prayer-light,
body.atlas-motion-paused #jcs-prayer-descent .jcs-prayer-light {
  animation-play-state: paused;
}
#jcs-prayer-descent-note { color: var(--gold); }
@media (prefers-reduced-motion: reduce) {
  #jcs-prayer-descent .jcs-prayer-light {
    animation: none;
    opacity: .72;
    transform: translate(-50%, 0) scale(.8);
  }
  #jcs-prayer-descent .jcs-prayer-light::after { display: none; }
}

/* Scale illustration endpoints with the visible globe, never with signer coordinates. */
body[data-map-projection="globe"] #jcs-prayer-descent .jcs-prayer-light {
  left: calc(var(--jcs-globe-x, 50%) + var(--jcs-globe-radius, 180px) * var(--orbit-x, 0));
  top: calc(var(--jcs-globe-y, 52%) + var(--jcs-globe-radius, 180px) * var(--orbit-y, 0));
}
