/* Restore the approved Stargate diagnostic interface before the cosmic flight. */
.entry-sequence .entry-gate-ui { position:absolute; inset:0; z-index:3; width:100%; height:100%; pointer-events:none; opacity:1; transition:opacity .55s ease-in-out; }
.entry-sequence.is-flight .entry-gate-ui, .entry-sequence.is-hud .entry-gate-ui, .entry-sequence.is-skipping .entry-gate-ui { opacity:0; }
.entry-sequence.entry-pending .entry-gate-ui { background:#020b19; }
.entry-sequence:not(.is-flight) .entry-vortex i,
.entry-sequence:not(.is-flight) .entry-vortex::before { animation-play-state:paused; }
.entry-sequence.has-plasma-flight .entry-vortex { display:none; }
.entry-sequence .entry-cosmos-rim { animation-name: entry-v62-straight-flight; }
@keyframes entry-v62-straight-flight {
  from { transform: scale(1.025); }
  to { transform: scale(1.19); }
}
@media (max-width:700px) {
  .entry-sequence .entry-cosmos-rim { animation-name: entry-v62-straight-mobile; }
  @keyframes entry-v62-straight-mobile {
    from { transform: scale(1.01); }
    to { transform: scale(1.095); }
  }
}

/* One restrained HUD boot replaces the two stacked legacy reveal effects.
   All rules are scoped to the tunnel-to-menu handoff, never the idle site. */
.entry-sequence.hud-boot,
.entry-sequence.hud-boot.is-revealing {
  animation: none;
  background: rgba(2, 12, 24, .24);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: opacity .3s ease-out;
}
.entry-sequence.hud-boot.is-revealing,
.entry-sequence.hud-boot.is-leaving { opacity: 0; }
.entry-sequence.hud-boot .entry-flash,
.entry-sequence.hud-boot .entry-reveal { display: none; animation: none; }
.entry-sequence.hud-boot .entry-gate-ui { visibility: hidden; opacity: 0; transition: none; }
.entry-sequence.hud-boot .entry-cosmos-rim { opacity: 0; transition: opacity .18s ease-out; }
.entry-sequence.hud-boot .entry-canvas { opacity: 0; transition: opacity .18s ease-out; }
.entry-sequence.hud-boot .entry-hud {
  opacity: 1;
  transition: none;
  animation: entry-v65-signal 1.5s linear both;
}
.entry-sequence.hud-boot .entry-hud::before {
  content: '';
  inset: 0;
  width: auto;
  height: auto;
  box-shadow: none;
  background: repeating-linear-gradient(0deg, transparent 0 7px, #8de5ff14 7px 8px);
  opacity: 0;
  animation: entry-v65-interference .9s linear both;
}
.entry-sequence.hud-boot .entry-hud::after {
  content: 'LINK / 06    SYNC / 100%';
  left: 5%;
  top: 18%;
  right: auto;
  bottom: auto;
  width: auto;
  height: auto;
  background: none;
  box-shadow: none;
  color: #a9dce7;
  font: 9px/1.5 ui-monospace, Consolas, monospace;
  letter-spacing: .14em;
  animation: entry-v65-readout 1.1s ease-out both;
}
.entry-sequence.hud-boot .entry-hud-core { text-shadow: 0 0 14px #65d8ff55; }
.entry-sequence.hud-boot .entry-hud-core b { font-size: 25px; }
.entry-sequence.hud-boot .entry-scan {
  top: 17%;
  height: 1px;
  background: linear-gradient(90deg, transparent 5%, #b3eaf5aa 50%, transparent 95%);
  box-shadow: 0 0 9px 1px #65cfff55;
  animation: entry-v65-scan .95s cubic-bezier(.2,.65,.2,1) both;
}
.entry-sequence.hud-boot .entry-target {
  border: 1px solid #a5e6f570;
  box-shadow: 0 0 0 3px #71dafa12, inset 0 0 14px #6ddfff12;
  animation: entry-v65-lock .75s cubic-bezier(.2,.6,.2,1) both;
}
.entry-sequence.hud-boot .entry-target span { font-size: 8px; }
.entry-sequence.hud-boot[data-boot-phase='locked'] .entry-target,
.entry-sequence.hud-boot[data-boot-phase='stable'] .entry-target {
  border-color: #c9f8ffb8;
  box-shadow: 0 0 12px #7ddfff35;
}
body.entry-hud-boot-active .experience-hero .hero-shell {
  animation: entry-v65-focus 1.5s cubic-bezier(.2,.65,.2,1) both;
}
body.entry-hud-boot-active.entry-reveal-active .experience-hero .studio-panel {
  animation: none !important;
}
@keyframes entry-v65-signal {
  0% { opacity: .15; transform: translate3d(0, 1px, 0); }
  10% { opacity: .82; }
  16% { opacity: .38; transform: translate3d(1px, 0, 0); }
  23% { opacity: .92; transform: translate3d(0, 0, 0); }
  34% { opacity: .65; }
  45%, 100% { opacity: 1; transform: none; }
}
@keyframes entry-v65-interference {
  0% { opacity: .12; transform: translateY(1px); }
  20% { opacity: .4; }
  28% { opacity: .08; transform: translateY(-1px); }
  46% { opacity: .25; }
  70%, 100% { opacity: 0; transform: none; }
}
@keyframes entry-v65-readout {
  0% { opacity: 0; }
  30%, 72% { opacity: .7; }
  100% { opacity: .35; }
}
@keyframes entry-v65-scan {
  0% { top: 17%; opacity: 0; }
  15% { opacity: .7; }
  100% { top: 83%; opacity: 0; }
}
@keyframes entry-v65-lock {
  0% { opacity: 0; transform: scale(1.035); }
  24% { opacity: .65; transform: scale(.995); }
  42% { opacity: .3; }
  62% { opacity: .92; }
  100% { opacity: 1; transform: none; }
}
@keyframes entry-v65-focus {
  0% { filter: blur(2px) saturate(.8); opacity: .64; }
  22% { filter: blur(.9px) saturate(.9); opacity: .86; }
  34% { filter: blur(1.1px) saturate(.86); opacity: .8; }
  70%, 100% { filter: none; opacity: 1; }
}
@media (max-width:700px) {
  .entry-sequence.hud-boot .entry-hud::after { display: none; }
  body.entry-hud-boot-active .experience-hero .hero-shell { animation-name: entry-v65-mobile-focus; }
  @keyframes entry-v65-mobile-focus {
    from { opacity: .7; }
    to { opacity: 1; }
  }
}
@media (prefers-reduced-motion:reduce) {
  .entry-sequence.hud-boot:not(.force-play) .entry-hud,
  .entry-sequence.hud-boot:not(.force-play) .entry-hud::before,
  .entry-sequence.hud-boot:not(.force-play) .entry-hud::after,
  .entry-sequence.hud-boot:not(.force-play) .entry-scan,
  .entry-sequence.hud-boot:not(.force-play) .entry-target,
  body.entry-hud-boot-active .experience-hero .hero-shell { animation: none; }
  .entry-sequence.hud-boot:not(.force-play) .entry-target { opacity: 1; }
  .entry-sequence.hud-boot:not(.force-play) .entry-scan { opacity: 0; }
}

/* V66: seven real menu visuals arrive through depth before the room powers on.
   The animated scene is inert, temporary, and never repositions the live menu. */
.entry-sequence.hud-arrival {
  background: transparent;
  animation: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: opacity .15s ease-out;
}
.entry-sequence.hud-arrival .entry-cosmos-rim,
.entry-sequence.hud-arrival .entry-canvas,
.entry-sequence.hud-arrival .entry-gate-ui,
.entry-sequence.hud-arrival .entry-vortex,
.entry-sequence.hud-arrival .entry-hud,
.entry-sequence.hud-arrival .entry-flash,
.entry-sequence.hud-arrival .entry-reveal { display: none !important; }
.entry-arrival-veil {
  position: absolute;
  inset: 0;
  z-index: 5;
  background: #01040a;
  opacity: 1;
  pointer-events: none;
}
.entry-sequence.is-powering-on .entry-arrival-veil {
  animation: entry-v66-room-power var(--arrival-light-duration) linear both;
}
.entry-arrival-scene.experience-hero {
  position: absolute !important;
  z-index: 6;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  isolation: auto;
  background: transparent !important;
  pointer-events: none !important;
  opacity: 1;
  transition: opacity .2s ease;
}
.entry-arrival-scene *, .entry-arrival-scene *::before, .entry-arrival-scene *::after { pointer-events: none !important; }
.entry-arrival-scene .hero-image,
.entry-arrival-scene .hero-shade,
.entry-arrival-scene .hero-titleband,
.entry-arrival-scene .hero-bottom,
.entry-arrival-scene .entry-replay { visibility: hidden !important; }
.entry-arrival-scene .hero-shell { opacity: 1 !important; filter: none !important; animation: none !important; }
.entry-arrival-scene .hero-hotspots { perspective: 1250px; perspective-origin: 50% 38%; }
.entry-arrival-carrier {
  position: relative;
  min-width: 0;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transform-origin: center;
  backface-visibility: hidden;
  will-change: transform, opacity;
  animation: entry-v66-arrive .9s cubic-bezier(.16,.7,.22,1) var(--arrival-delay) both;
}
.entry-arrival-carrier > .studio-panel,
.entry-arrival-carrier > .hero-showcase {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}
.entry-arrival-scene .showcase-browser { transform: none !important; }
.entry-arrival-scene .studio-panel *,
.entry-arrival-scene .hero-showcase * { animation: none !important; transition: none !important; }
.entry-arrival-carrier::before {
  content: '';
  position: absolute;
  inset: -4px;
  z-index: 4;
  border: 1px solid #9deeffa6;
  border-radius: 16px;
  box-shadow: 0 0 20px #60dfff70;
  opacity: 0;
  animation: entry-v66-edge .9s ease-out var(--arrival-delay) both;
}
.entry-arrival-carrier::after {
  content: 'MODULE / 0' attr(data-module);
  position: absolute;
  z-index: 5;
  left: 9px;
  top: -22px;
  font: 8px/1.4 ui-monospace, Consolas, monospace;
  letter-spacing: .16em;
  color: #acecfa;
  opacity: 0;
  animation: entry-v66-edge .9s ease-out var(--arrival-delay) both;
}
.entry-arrival-status {
  position: absolute;
  z-index: 8;
  top: max(24px, env(safe-area-inset-top));
  left: 50%;
  transform: translateX(-50%);
  color: #a5e5f5;
  font: 10px/1.6 ui-monospace, Consolas, monospace;
  letter-spacing: .18em;
  text-align: center;
  pointer-events: none;
  transition: opacity .2s ease;
}
.entry-arrival-scene.is-transferring,
.entry-arrival-status.is-transferring { opacity: 0; }
.entry-arrival-scene.force-settled .entry-arrival-carrier {
  animation: none;
  transform: none;
  opacity: 1;
}
.entry-arrival-scene.force-settled .entry-arrival-carrier::before,
.entry-arrival-scene.force-settled .entry-arrival-carrier::after { animation: none; opacity: 0; }
@keyframes entry-v66-arrive {
  0% { opacity: 0; transform: translateZ(-2400px) rotateY(var(--arrival-yaw)) rotateX(13deg); }
  12% { opacity: .55; }
  66% { opacity: 1; transform: translateZ(95px) rotateY(-1deg) rotateX(-1deg); }
  83% { transform: translateZ(-12px) rotateY(.3deg) rotateX(.3deg); }
  100% { opacity: 1; transform: translateZ(0) rotateY(0) rotateX(0); }
}
@keyframes entry-v66-edge {
  0%, 8% { opacity: 0; }
  35% { opacity: .95; }
  65% { opacity: .6; }
  100% { opacity: 0; }
}
@keyframes entry-v66-room-power {
  0% { opacity: 1; }
  15% { opacity: .75; }
  24% { opacity: .94; }
  39% { opacity: .45; }
  49% { opacity: .7; }
  66% { opacity: .18; }
  75% { opacity: .34; }
  100% { opacity: 0; }
}
.entry-sequence.arrival-reduced .entry-arrival-carrier {
  animation-name: entry-v66-fade;
  animation-duration: .15s;
}
.entry-sequence.arrival-reduced .entry-arrival-carrier::before,
.entry-sequence.arrival-reduced .entry-arrival-carrier::after { animation: none; }
.entry-sequence.arrival-reduced.is-powering-on .entry-arrival-veil { animation-name: entry-v66-quiet-light; }
@keyframes entry-v66-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes entry-v66-quiet-light { from { opacity: 1; } to { opacity: 0; } }
/* V67: the opaque intro covers the real page. Pause only that covered page,
   never the seven arriving copies inside the separate intro overlay. */
body.entry-active > main *, body.entry-active > main *::before,
body.entry-active > main *::after { animation-play-state: paused !important; }
.entry-arrival-carrier .studio-panel,
.entry-arrival-carrier .showcase-browser {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.studio-panel:hover, .interactive-frame:hover, .hero-showcase:hover,
.scene-teasers a:hover, .showcase-film a:hover { will-change: transform; }
@media(max-width:700px) {
  .entry-arrival-status { top: 15px; width: 92%; font-size: 8px; }
  .entry-arrival-carrier::before { box-shadow: none; }
  .entry-arrival-carrier::after { display: none; }
}

/* Composite the moving surfaces independently; no visual values change. */
#atmosphere-canvas,.entry-canvas,.entry-gate-ui { will-change:transform; transform:translateZ(0); backface-visibility:hidden; contain:strict; }
.spatial-scene { contain:strict; }
.hud-ring-outer,.hud-ring-inner { will-change:transform; }
