/* ===== 骨架屏：全站封面占位（加载中显示流光占位，加载后自动消失） ===== */
.video-poster{position:relative;overflow:hidden}
.video-poster img{transition:opacity .35s ease}
.video-poster.sk-on{
  background:linear-gradient(120deg,#23262f 25%,#353a4d 40%,#23262f 63%)!important;
  background-size:300% 100%!important;
  animation:sk-shimmer 1.5s linear infinite
}
.video-poster img.sk-loading{opacity:0!important}
.video-poster img.sk-noimg{display:none!important}
@keyframes sk-shimmer{0%{background-position:0% 0}100%{background-position:140% 0}}

/* ===== View Transitions 全站页面切换过渡 ===== */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .22s ease}
::view-transition-new(root){animation:vt-in .3s ease}
@keyframes vt-out{to{opacity:0;transform:scale(.99)}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}

/* ===== 图片体系统一：空/错误封面默认状态（无图/加载失败时显示） ===== */
.video-card .video-poster.sk-noimg::before,
.h-card .h-poster.sk-noimg::before,
.hero-poster.sk-noimg::before{
  content:'暂无封面';position:absolute;inset:0;z-index:2;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;color:#7c8290;letter-spacing:2px
}
.video-card .video-poster.sk-noimg::after,
.h-card .h-poster.sk-noimg::after,
.hero-poster.sk-noimg::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,#262a35,#2f3440)
}
.video-card .video-poster em,
.h-card .h-poster em{z-index:3}
