.inbound-remembrance-overlay {
  position: fixed; inset: 0; z-index: 2147483646;
  background: rgba(5, 13, 35, .80); pointer-events: none;
  overflow: hidden; isolation: isolate;
  animation: inbound-remembrance-scene 3.7s ease-in-out both;
}
.inbound-remembrance-art { position: absolute; inset: 0; }
.inbound-remembrance-beam {
  position: absolute; bottom: -5%; height: 112%;
  width: clamp(26px, 4vw, 68px); left: calc(50% - clamp(26px, 4vw, 68px) - 17px);
  background: linear-gradient(to top, rgba(225,240,255,.75), rgba(205,226,255,.45) 55%, rgba(190,217,255,.12)),
    linear-gradient(to right, transparent, rgba(227,242,255,.6) 45%, rgba(227,242,255,.6) 55%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 35%, #000 65%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 35%, #000 65%, transparent);
  transform-origin: bottom center;
  animation: inbound-remembrance-rise .9s cubic-bezier(.2,.5,.3,1) both;
}
.inbound-remembrance-beam + .inbound-remembrance-beam { left: calc(50% + 17px); }
.inbound-remembrance-message {
  position: absolute; top: 57%; left: 0; width: 100%; box-sizing: border-box;
  margin: 0; padding: 20px; text-align: center;
  font-family: inherit; font-size: clamp(24px, 3.4vw, 46px); font-weight: 400;
  line-height: 1.35; letter-spacing: .035em; color: #fff;
  text-shadow: 0 2px 14px #050d23, 0 1px 4px #050d23;
  background: radial-gradient(ellipse at center, rgba(5,13,35,.78), transparent 70%);
  animation: inbound-remembrance-words .65s .25s ease-out both;
}
.inbound-remembrance-skip {
  position: absolute; right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom)); pointer-events: auto;
  min-height: 44px; padding: 10px 16px; border: 1px solid #8d99ad;
  border-radius: 4px; background: #101c33; color: #fff;
  font: 400 14px/1.4 system-ui, sans-serif; cursor: pointer;
}
.inbound-remembrance-skip:focus-visible { outline: 3px solid white; outline-offset: 4px; }
.inbound-remembrance-note {
  margin: 0; padding: 12px 20px; background: #101c33; color: #fff;
  text-align: center; font: 400 14px/1.5 system-ui, sans-serif;
}
@keyframes inbound-remembrance-scene { 0% { opacity: 0; } 24%, 78% { opacity: 1; } 100% { opacity: 0; } }
@keyframes inbound-remembrance-rise { from { transform: scaleY(.08); opacity: 0; } to { transform: scaleY(1); opacity: 1; } }
@keyframes inbound-remembrance-words { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .inbound-remembrance-overlay { display: none; animation: none; } }
@media print { .inbound-remembrance-overlay, .inbound-remembrance-note { display: none; } }
