/* Aetheridge Central Station beneath the existing Pulse and Echo pose layers. */
#prologue .station-loop-video {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(.78) saturate(.94);
  pointer-events: none;
}
#prologue .intro-energy { display: none; }
#prologue .intro-background { animation: none; transform: none; }

/* First contact: character art stays on the station's locked camera. */
#prologue .intro-character { opacity: .95; filter: none; transform: none; }
#prologue .intro-character img { object-fit: cover; object-position: center; }
#prologue .vn-stage.speaker-pulse .intro-echo,
#prologue .vn-stage.speaker-echo .intro-pulse { opacity: .76; filter: brightness(.88) saturate(.88); }
#prologue .vn-stage.speaker-pulse .intro-pulse,
#prologue .vn-stage.speaker-echo .intro-echo { opacity: 1; filter: brightness(1.03) saturate(1.04); }
#prologue .vn-shade {
  background: linear-gradient(to bottom,rgba(8,18,48,.08) 0%,rgba(8,18,48,0) 45%,rgba(7,19,45,.22) 68%,rgba(5,15,39,.7) 100%);
}
#prologue .intro-signal-wake,#prologue .vn-system { display: none; }
#prologue .vn-dialogue {
  --vn-line-color: rgba(94,158,226,.55);
  border: 1px solid rgba(90,150,220,.48);
  border-left: 1px solid rgba(90,150,220,.48);
  border-radius: 12px;
  background: linear-gradient(110deg,rgba(8,27,65,.83),rgba(13,35,76,.73));
  box-shadow: 0 18px 48px rgba(4,18,45,.3), inset 0 1px rgba(154,211,255,.2);
  backdrop-filter: blur(13px);
  overflow: hidden;
}
#prologue .vn-dialogue::before {
  content: "";position:absolute;top:0;left:0;right:0;height:2px;
  background: linear-gradient(to right,#24c16d 0 20%,#2bafff 20% 40%,#9f63ff 40% 60%,#f14d55 60% 80%,#ff9a31 80% 100%);
  box-shadow: 0 0 12px rgba(107,163,255,.4);
}
#prologue .vn-name-row { position:relative; }
#prologue .vn-name-row::after { content:"EGO CHECK // AETHERIDGE";font-size:.58rem;letter-spacing:.2em;color:#93b9df; }
#prologue .vn-name-row small { display:none; }
#prologue .speaker-echo #vn-speaker {
  background:linear-gradient(90deg,#65da94,#78caff,#b89aff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 8px rgba(112,185,255,.35));
}
#prologue .speaker-pulse #vn-speaker {
  background:linear-gradient(90deg,#ff7073,#ffae50);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 8px rgba(255,123,82,.35));
}
#prologue .vn-dialogue p {color:#dcecff;text-shadow:0 0 13px rgba(118,181,255,.13)}
#prologue .vn-advance {color:#a8caee}
#prologue .vn-stage.awaiting-choice .vn-art {filter:none}
#prologue .vn-stage.awaiting-choice .vn-dialogue {opacity:.45}
#prologue .vn-choices .btn {min-width:220px}
body.station-explorer #gateway .gateway-kicker {color:#87c8fa}
@media(max-width:700px){
 #prologue .vn-name-row::after{content:"AETHERIDGE";font-size:.48rem;letter-spacing:.1em}
 #prologue .vn-choices.active{flex-direction:column;align-items:center}
 #prologue .vn-choices .btn{width:min(340px,90vw)}
}

/* Keep the optional Music Box available after the introduction. */
body[data-screen="prologue"] .music-control { display:none!important; }
#prologue .vn-dialogue {min-height:130px;padding:1rem 1.3rem .75rem}
#prologue .vn-dialogue p {margin:.38rem 0 .6rem;min-height:1.8em}
#prologue .vn-stage.speaker-pulse .intro-echo,
#prologue .vn-stage.speaker-echo .intro-pulse {opacity:.86;filter:brightness(.95) saturate(.94)}

/* The dialogue is a viewport scene: advancing a line must not scroll the camera. */
body[data-screen="prologue"] {overflow:hidden}
#prologue.vn-screen.active {position:fixed;inset:0;z-index:1000;width:100vw;height:100dvh;min-height:0;padding:0}
#prologue .vn-stage {width:100%;height:100%;min-height:0;border-radius:0}
#prologue .intro-character img {object-fit:contain;object-position:center}

/* Keep the outgoing portrait in place while the decoded station pose fades in. */
#prologue .intro-character .station-pose-incoming {
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center;
  opacity:0;transition:opacity .26s ease;
  pointer-events:none;
}
#prologue .intro-character .station-pose-incoming.visible {opacity:1}
@media (prefers-reduced-motion:reduce){
 #prologue .intro-character .station-pose-incoming {transition:none}
}
