/* ============================================================
 *  Page Transition System · v1.0
 *  全站统一页面过渡动画（仅用 overlay 遮罩，不动 body）
 *  - 三态：IDLE(透明可点) → LEAVE(白屏覆盖220ms) → ENTER(白屏渐隐260ms)
 *  - overlay 由 JS 创建到 body，head 里只放 link 保证文件预加载
 * ============================================================ */

#pt-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;                 /* 盖住一切，包括 modal */
  background: #ffffff;
  pointer-events: none;           /* 默认不拦截点击 */
  opacity: 0;
  transition: opacity 220ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity;
  -webkit-font-smoothing: antialiased;
  backface-visibility: hidden;
}

@media (prefers-color-scheme: dark) {
  #pt-overlay { background: #0f172a; }
}

/* ---------- 离开态：overlay 盖住页面 ---------- */
html[data-pt-state="leave"] #pt-overlay {
  opacity: 1;
  pointer-events: auto;
  transition-duration: 220ms;
}

/* ---------- 新页面刚加载：overlay 保持盖住（等 JS 切到 enter 再渐隐）---------- */
html[data-pt-state="boot"] #pt-overlay {
  opacity: 1;
  pointer-events: auto;
  transition: none;               /* 瞬间进入盖住状态，不要从 0 动画到 1 */
}

/* ---------- 进入态：overlay 渐隐 ---------- */
html[data-pt-state="enter"] #pt-overlay {
  opacity: 0;
  pointer-events: none;
  transition-duration: 260ms;
}
