/* Lottie 矢量转场层（1920×1350 舞台坐标系，挂载 #stage 内；z-index:9 覆盖 #profile-intro:8，淡出后露出下层 DOM） */

.lottie-transition-container {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 1350px;
  z-index: 9;
  pointer-events: none;
  overflow: hidden;
  transform: translateZ(1px);
  backface-visibility: hidden;
  contain: strict;
  display: none;
  background: transparent;
  opacity: 1;
  will-change: opacity;
  /* 静置 60ms 不变；淡出 120ms 缓出，平缓过渡弱化底色混色闪白 */
  transition: opacity 120ms ease-out;
}

/* 播放中 / 淡出全程 display:block，淡出期间 renderer 持续绘制直至 opacity 归零 */
.lottie-transition-container.is-playing,
.lottie-transition-container.is-fading-out {
  display: block;
  opacity: 1;
}

.lottie-transition-container__host {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 1350px;
  pointer-events: none;
  background: transparent;
}

.lottie-transition-container__host canvas,
.lottie-transition-container__host svg {
  display: block;
  width: 1920px;
  height: 1350px;
  max-width: none;
  max-height: none;
}

/* 入场期间确保 Lottie 转场层可见（仅 display，避免 visibility/opacity 预隐藏导致 Canvas 休眠） */
body.portfolio-entry-running .lottie-transition-container.is-playing,
body.portfolio-entry-running .lottie-transition-container.is-fading-out {
  display: block !important;
}
