/* 首屏点击热区（转场动画由 profile-lottie-transition.js + profile-intro.js 驱动） */

.portfolio-entry-gate {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  pointer-events: auto !important;
  cursor: pointer;
  touch-action: manipulation;
}

.portfolio-entry-gate[hidden] {
  display: none !important;
  pointer-events: none !important;
}

.portfolio-entry-gate__btn {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  cursor: pointer;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
}

/* 入场期间确保 Lottie 转场层可见（z-index:7，低于 #profile-intro:8，位于个人信息下层） */
body.portfolio-entry-running .lottie-transition-container.is-playing,
body.portfolio-entry-running .lottie-transition-container.is-fading-out {
  display: block !important;
  pointer-events: none !important;
}

body.portfolio-entry-running #profile-intro:not([hidden]) {
  visibility: visible !important;
}

/* 转场后永久禁用首屏 CSS 动画、过渡，释放 GPU */
.hero-all-anim-stop #hero *,
.hero-all-anim-stop .hero__loading,
.hero-all-anim-stop .hero__portal,
.hero-all-anim-stop .hero-bloom {
  animation: none !important;
  animation-play-state: paused !important;
  transition: none !important;
  will-change: auto;
}

.hero-all-anim-stop #hero {
  visibility: hidden;
  pointer-events: none;
  contain: layout;
}

/* 首屏关停后：个人信息页与履历区强制保留可见与交互（不受 #hero 隐藏影响） */
.hero-all-anim-stop #profile-intro:not([hidden]) {
  visibility: visible !important;
  pointer-events: auto !important;
}

.hero-all-anim-stop #profile-intro.profile-intro--active .profile-intro__stage,
.hero-all-anim-stop #profile-intro.profile-intro--settled .profile-intro__stage {
  pointer-events: auto !important;
}

.hero-all-anim-stop #profile-intro.profile-intro--deck-mode .profile-intro__pinch {
  pointer-events: auto !important;
}

.hero-all-anim-stop .profile-resume-clip,
.hero-all-anim-stop .profile-resume-track,
.hero-all-anim-stop .profile-resume-thumb {
  visibility: visible !important;
  pointer-events: auto !important;
}

.hero-all-anim-stop .profile-resume-thumb {
  cursor: grab !important;
}

.hero-all-anim-stop .profile-resume-thumb:active,
.hero-all-anim-stop .profile-resume-thumb.is-dragging {
  cursor: grabbing !important;
}

.hero-all-anim-stop .portfolio-entry-gate {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
