/* site-craft · 站5 · 方格蓝图 · 压在 layout-fix 之后 */
body.body-ab{
  --ab-primary:#1e3a8a!important;
  --ab-secondary:#1e40af!important;
  --ab-accent:#0ea5e9!important;
  --ab-hot:#ea580c!important;
  --ab-bg:#f1f5f9!important;
  --ab-surface:#ffffff!important;
  --ab-text:#0f172a!important;
  --ab-muted:#64748b!important;
}
body.body-ab .ab-poster__frame img{aspect-ratio:1/1!important;height:auto!important;object-fit:cover!important}
body.body-ab .ab-logo__name,
body.body-ab .ab-logo__tag,
body.body-ab .ab-nav a,
body.body-ab .ab-topbar__cta,
body.body-ab .ab-hero h1,
body.body-ab .ab-section__head h2,
body.body-ab .ab-play__panel h1,
body.body-ab .ab-pagehead h1,
body.body-ab .overview-main strong,
body.body-ab h1,body.body-ab h2{
  font-family:"IBM Plex Sans","Noto Sans SC",sans-serif!important;font-weight:700!important;
}
body.body-ab .ab-logo__tag{font-weight:600!important}

/* home-grid-fill · auto */
/* 主片库 4 列；不含 hero 聚光灯与 --3/--dense 等修饰 */
body.body-ab main .movie-grid:not([class*="--rel"]):not([class*="hero"]),
body.body-ab main .me-curate-grid,
body.body-ab main .me-cat-grid,
body.body-ab main .ab-wall:not([class*="--dense"]):not([class*="--related"]),
body.body-ab main .ab-poster-grid,
body.body-ab main .hr-grid:not([class*="--rel"]),
body.body-ab main .cb-featured__scroll,
body.body-ab main .cb-picks__grid,
body.body-ab main .cb-filterbar__grid,
body.body-ab main .cb-grid:not([class*="--3"]):not([class*="--rel"]),
body.body-ab main .mg-grid:not([class*="--3"]):not([class*="--rel"]),
body.body-ab main .lp-grid,
body.body-ab main .lp-scroll.movie-grid,
body.body-ab main .vx-shelf__grid,
body.body-ab main .vx-rail__track,
body.body-ab main .vx-cat-grid,
body.body-ab main .sf-grid,
body.body-ab main .sf-scroll.movie-grid,
body.body-ab main .tw-grid:not([class*="--rel"]),
body.body-ab main .ed-grid:not([class*="--rel"]),
body.body-ab main .nk-grid,
body.body-ab main .nk-wall:not([class*="--dense"]):not([class*="--catalog"]):not([class*="--cats"]):not([class*="--related"]),
body.body-ab main .div-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:var(--lf-gap,16px)!important;
  width:100%!important;
  max-width:100%!important;
}
/* 修饰符：尊重主题列数 */
body.body-ab main .mg-grid--3,body.body-ab main .cb-grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.body-ab main .nk-wall--dense{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
body.body-ab main .nk-wall--catalog,body.body-ab main .nk-wall--cats{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
body.body-ab main .ab-wall--dense{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
/* 相关推荐 3 列 */
body.body-ab main .hr-grid--rel,
body.body-ab main .ed-grid--rel,
body.body-ab main .nk-wall--related,
body.body-ab main .mg-grid--rel,
body.body-ab main [class*="related"] .movie-grid,
body.body-ab main [class*="related"] .vx-rail__track,
body.body-ab main [class*="related"] .sf-scroll,
body.body-ab main [class*="related"] .cb-grid,
body.body-ab main [class*="related"] .mg-grid,
body.body-ab main [class*="related"] .nk-wall,
body.body-ab main .vx-related .vx-rail__track,
body.body-ab main .sf-related .sf-scroll{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
}
/* 恰好 6 张 → 3 列满行 */
body.body-ab main .movie-grid:has(> :nth-child(6):last-child),
body.body-ab main .cb-grid:has(> :nth-child(6):last-child),
body.body-ab main .mg-grid:has(> :nth-child(6):last-child),
body.body-ab main .sf-scroll:has(> :nth-child(6):last-child),
body.body-ab main .vx-rail__track:has(> :nth-child(6):last-child),
body.body-ab main .nk-wall:has(> :nth-child(6):last-child):not([class*="--dense"]){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.body-ab main section.me-curate,
body.body-ab main section.me-scroll,
body.body-ab main section.cb-featured,
body.body-ab main section.cb-picks,
body.body-ab main section.hr-block,
body.body-ab main .me-section-head,
body.body-ab main .cb-section-head,
body.body-ab main .hr-section{
  display:block!important;
  grid-template-columns:none!important;
}
@media (max-width:900px){
  body.body-ab main .movie-grid:not([class*="--rel"]):not([class*="hero"]),
body.body-ab main .me-curate-grid,
body.body-ab main .me-cat-grid,
body.body-ab main .ab-wall:not([class*="--dense"]):not([class*="--related"]),
body.body-ab main .ab-poster-grid,
body.body-ab main .hr-grid:not([class*="--rel"]),
body.body-ab main .cb-featured__scroll,
body.body-ab main .cb-picks__grid,
body.body-ab main .cb-filterbar__grid,
body.body-ab main .cb-grid:not([class*="--3"]):not([class*="--rel"]),
body.body-ab main .mg-grid:not([class*="--3"]):not([class*="--rel"]),
body.body-ab main .lp-grid,
body.body-ab main .lp-scroll.movie-grid,
body.body-ab main .vx-shelf__grid,
body.body-ab main .vx-rail__track,
body.body-ab main .vx-cat-grid,
body.body-ab main .sf-grid,
body.body-ab main .sf-scroll.movie-grid,
body.body-ab main .tw-grid:not([class*="--rel"]),
body.body-ab main .ed-grid:not([class*="--rel"]),
body.body-ab main .nk-grid,
body.body-ab main .nk-wall:not([class*="--dense"]):not([class*="--catalog"]):not([class*="--cats"]):not([class*="--related"]),
body.body-ab main .div-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.body-ab main .hr-grid--rel,
body.body-ab main .ed-grid--rel,
body.body-ab main .nk-wall--related,
body.body-ab main .mg-grid--rel,
body.body-ab main [class*="related"] .movie-grid,
body.body-ab main [class*="related"] .vx-rail__track,
body.body-ab main [class*="related"] .sf-scroll,
body.body-ab main [class*="related"] .cb-grid,
body.body-ab main [class*="related"] .mg-grid,
body.body-ab main [class*="related"] .nk-wall,
body.body-ab main .vx-related .vx-rail__track,
body.body-ab main .sf-related .sf-scroll{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.body-ab main .nk-wall--dense,body.body-ab main .ab-wall--dense{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.body-ab main .mg-grid--3,body.body-ab main .cb-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* /home-grid-fill */

/* detail-polish · auto */
body.body-ab main{padding-top:18px!important;padding-bottom:48px!important}
body.body-ab main > section{margin-bottom:28px!important}
body.body-ab [class*="crumb"],body.body-ab .nk-crumb,body.body-ab .me-crumb{
  display:flex!important;flex-wrap:wrap!important;gap:6px 8px!important;
  align-items:center!important;margin:0 0 16px!important;font-size:.86rem!important;
}
body.body-ab #movie-player{aspect-ratio:16/9;max-height:min(72vh,740px);object-fit:contain;background:#000}
body.body-ab .ab-hero{align-items:stretch!important}
body.body-ab .ab-hero__strip{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
}
body.body-ab .ab-hero__strip .ab-poster:nth-child(n+5){display:none!important}
body.body-ab .ab-play__stage video,body.body-ab #movie-player{border-radius:4px!important}
body.body-ab .ab-wall{gap:14px!important}
body.body-ab .ab-catgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
/* /detail-polish */

/* starfield · auto */
/* 星点：全屏漂浮呼吸，不拦截点击 */
body::before,
body::after{
  content:""!important;
  position:fixed!important;
  left:0!important;top:0!important;
  width:2px!important;height:2px!important;
  margin:0!important;padding:0!important;border:0!important;
  border-radius:50%!important;
  pointer-events:none!important;
  z-index:40!important;
  mix-blend-mode:soft-light!important;
  will-change:transform,opacity;
}
body::before{
  box-shadow:59.28vw 136.69vh 0 1.13px rgba(30,64,175,0.83),88.46vw 77.53vh 0 0.66px rgba(30,64,175,0.82),74.92vw 11.79vh 0 0.71px rgba(14,165,233,0.43),53.42vw 99.88vh 0 1.14px rgba(13,148,136,0.80),64.12vw 5.27vh 0 0.43px rgba(30,64,175,0.53),37.75vw 66.02vh 0 0.83px rgba(79,70,229,0.54),3.72vw 118.68vh 0 0.73px rgba(234,88,12,0.84),11.44vw 23.06vh 0 0.64px rgba(14,165,233,0.39),83.09vw 43.73vh 0 0.63px rgba(14,165,233,0.75),61.22vw -5.16vh 0 0.99px rgba(13,148,136,0.52),57.50vw 80.55vh 0 0.90px rgba(13,148,136,0.72),89.33vw 82.69vh 0 0.61px rgba(79,70,229,0.68),52.37vw 73.39vh 0 0.72px rgba(79,70,229,0.77),58.69vw 149.70vh 0 0.84px rgba(234,88,12,0.40),50.20vw 139.80vh 0 1.00px rgba(13,148,136,0.79),25.77vw 25.10vh 0 0.95px rgba(30,64,175,0.48),88.39vw 0.43vh 0 0.85px rgba(234,88,12,0.40),86.16vw 94.12vh 0 0.85px rgba(234,88,12,0.71),78.71vw 72.51vh 0 0.96px rgba(234,88,12,0.69),63.12vw -9.48vh 0 0.52px rgba(13,148,136,0.41),31.84vw 51.75vh 0 0.55px rgba(234,88,12,0.67),25.82vw 33.16vh 0 0.54px rgba(79,70,229,0.52),77.98vw -5.87vh 0 0.86px rgba(234,88,12,0.65),15.70vw 85.47vh 0 0.78px rgba(13,148,136,0.68),57.04vw -9.45vh 0 1.09px rgba(234,88,12,0.38),17.56vw 142.33vh 0 0.91px rgba(79,70,229,0.71),85.69vw 28.18vh 0 1.07px rgba(79,70,229,0.50),84.45vw 120.77vh 0 0.49px rgba(234,88,12,0.46),28.85vw 28.65vh 0 0.87px rgba(79,70,229,0.69),10.37vw 135.82vh 0 1.09px rgba(13,148,136,0.40),20.30vw 41.84vh 0 1.07px rgba(30,64,175,0.53),13.01vw 143.48vh 0 0.88px rgba(30,64,175,0.58),56.97vw 7.03vh 0 0.66px rgba(13,148,136,0.71),90.22vw 64.86vh 0 0.70px rgba(234,88,12,0.57),29.25vw -0.15vh 0 0.63px rgba(30,64,175,0.68),56.65vw 18.53vh 0 0.82px rgba(79,70,229,0.39),47.90vw 88.93vh 0 0.70px rgba(13,148,136,0.37),83.23vw 8.30vh 0 0.76px rgba(30,64,175,0.44),67.29vw 147.65vh 0 0.46px rgba(14,165,233,0.48),51.37vw 145.18vh 0 0.95px rgba(13,148,136,0.63),57.96vw 91.87vh 0 0.80px rgba(13,148,136,0.74),3.88vw 118.05vh 0 0.66px rgba(30,64,175,0.59),18.30vw -1.22vh 0 1.06px rgba(13,148,136,0.41),44.19vw 128.13vh 0 0.81px rgba(234,88,12,0.51),23.74vw 13.30vh 0 1.15px rgba(79,70,229,0.77),63.34vw 86.73vh 0 0.55px rgba(234,88,12,0.49),12.08vw 124.19vh 0 1.02px rgba(30,64,175,0.78),89.38vw 79.24vh 0 0.66px rgba(79,70,229,0.45),89.06vw 148.40vh 0 0.69px rgba(30,64,175,0.43),93.73vw 107.38vh 0 0.95px rgba(234,88,12,0.60),45.87vw 92.85vh 0 0.86px rgba(30,64,175,0.53),55.26vw 69.39vh 0 0.91px rgba(30,64,175,0.73),58.55vw 120.87vh 0 0.57px rgba(14,165,233,0.77),78.82vw 59.01vh 0 0.41px rgba(30,64,175,0.47),80.55vw 108.13vh 0 0.69px rgba(14,165,233,0.81),42.26vw 65.91vh 0 1.01px rgba(79,70,229,0.52),21.09vw 38.96vh 0 0.79px rgba(234,88,12,0.47),38.97vw 70.25vh 0 0.96px rgba(234,88,12,0.54),48.07vw 52.16vh 0 0.75px rgba(79,70,229,0.71),44.85vw 93.06vh 0 0.84px rgba(14,165,233,0.35),73.44vw 95.29vh 0 0.47px rgba(14,165,233,0.75),32.01vw 2.43vh 0 1.11px rgba(234,88,12,0.44),66.81vw 57.11vh 0 0.80px rgba(234,88,12,0.63),42.68vw 49.61vh 0 0.46px rgba(13,148,136,0.80),63.55vw 103.67vh 0 1.00px rgba(13,148,136,0.46),10.64vw 129.38vh 0 1.56px rgba(13,148,136,0.57),56.72vw 42.02vh 0 0.79px rgba(13,148,136,0.56),9.63vw 29.05vh 0 1.66px rgba(79,70,229,0.50),20.89vw 16.73vh 0 1.29px rgba(14,165,233,0.75),58.79vw 51.44vh 0 1.58px rgba(30,64,175,0.51),28.97vw 139.14vh 0 0.78px rgba(30,64,175,0.78),66.54vw 111.76vh 0 1.02px rgba(30,64,175,0.86),30.02vw 82.60vh 0 1.68px rgba(30,64,175,0.71),33.19vw 114.11vh 0 1.24px rgba(234,88,12,0.80),73.23vw 109.26vh 0 0.97px rgba(14,165,233,0.66),6.69vw 35.74vh 0 1.06px rgba(14,165,233,0.53),51.79vw 127.19vh 0 1.14px rgba(79,70,229,0.85),81.16vw 18.13vh 0 1.69px rgba(14,165,233,0.76),32.07vw 19.92vh 0 1.33px rgba(30,64,175,0.54),4.62vw 61.34vh 0 1.03px rgba(234,88,12,0.70),93.78vw 8.87vh 0 1.20px rgba(79,70,229,0.69),26.16vw 145.91vh 0 1.60px rgba(79,70,229,0.59),51.88vw 28.45vh 0 0.90px rgba(234,88,12,0.70),85.01vw 55.79vh 0 0.90px rgba(30,64,175,0.64),93.77vw 98.32vh 0 0.76px rgba(30,64,175,0.49),48.91vw -5.25vh 0 0.98px rgba(30,64,175,0.65),31.84vw 79.02vh 0 1.19px rgba(30,64,175,0.53),18.53vw 98.84vh 0 0.82px rgba(14,165,233,0.41),89.27vw 67.18vh 0 1.30px rgba(234,88,12,0.68),71.53vw 9.59vh 0 0.96px rgba(79,70,229,0.62),17.02vw 92.77vh 0 1.40px rgba(79,70,229,0.72),78.76vw 61.88vh 0 0.80px rgba(79,70,229,0.54),66.53vw 121.97vh 0 1.14px rgba(234,88,12,0.73),64.30vw -8.32vh 0 1.32px rgba(13,148,136,0.84),9.90vw -2.76vh 0 0.92px rgba(234,88,12,0.58),45.51vw 44.86vh 0 1.30px rgba(234,88,12,0.88),73.22vw 62.90vh 0 1.68px rgba(14,165,233,0.59),36.64vw 53.56vh 0 0.98px rgba(234,88,12,0.88),30.75vw -7.02vh 0 0.82px rgba(234,88,12,0.80),92.98vw 80.95vh 0 1.13px rgba(14,165,233,0.56),39.16vw 90.39vh 0 1.11px rgba(234,88,12,0.72),30.13vw 83.19vh 0 1.20px rgba(14,165,233,0.61),30.32vw 119.46vh 0 1.57px rgba(79,70,229,0.86),13.23vw 115.14vh 0 1.10px rgba(234,88,12,0.60);
  opacity:0.7;
  animation:sf-float-a 40s ease-in-out infinite, sf-glow-a 5.5s ease-in-out infinite alternate!important;
}
body::after{
  box-shadow:43.98vw 46.00vh 0 1.91px rgba(234,88,12,0.70),23.49vw 16.78vh 0 1.26px rgba(79,70,229,0.77),14.50vw 130.46vh 0 2.00px rgba(13,148,136,0.70),74.45vw 98.14vh 0 1.92px rgba(79,70,229,0.94),80.31vw 78.43vh 0 1.27px rgba(13,148,136,0.66),95.84vw 14.80vh 0 2.06px rgba(30,64,175,0.78),33.34vw 32.80vh 0 2.13px rgba(14,165,233,0.84),13.66vw 149.73vh 0 1.84px rgba(79,70,229,0.95),72.87vw 41.58vh 0 1.80px rgba(234,88,12,0.98),82.10vw 68.94vh 0 2.10px rgba(13,148,136,0.89),97.73vw 30.81vh 0 1.53px rgba(14,165,233,0.65),38.49vw 58.02vh 0 1.84px rgba(234,88,12,0.66),80.75vw 31.87vh 0 1.34px rgba(79,70,229,0.90),38.63vw 146.42vh 0 1.65px rgba(13,148,136,0.65),98.46vw 106.99vh 0 1.41px rgba(79,70,229,0.58),53.62vw 92.57vh 0 2.07px rgba(13,148,136,0.98),18.40vw 97.54vh 0 1.40px rgba(234,88,12,0.82),16.42vw 124.86vh 0 1.36px rgba(13,148,136,0.54),97.85vw 54.53vh 0 1.46px rgba(14,165,233,0.84),59.35vw 2.58vh 0 1.38px rgba(234,88,12,0.62),32.45vw 91.76vh 0 1.63px rgba(234,88,12,0.85),71.25vw 52.78vh 0 2.02px rgba(234,88,12,0.84),82.74vw 34.78vh 0 1.48px rgba(30,64,175,0.68),64.70vw 29.54vh 0 1.24px rgba(13,148,136,0.77);
  opacity:0.7999999999999999;
  animation:sf-float-b 26s ease-in-out infinite, sf-glow-b 3.4s ease-in-out infinite alternate!important;
}
@keyframes sf-float-a{
  0%{transform:translate3d(0,0,0)}
  33%{transform:translate3d(-2vw,1.4vh,0)}
  66%{transform:translate3d(1.6vw,-1.8vh,0)}
  100%{transform:translate3d(0,0,0)}
}
@keyframes sf-float-b{
  0%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(2.4vw,-2vh,0)}
  100%{transform:translate3d(0,0,0)}
}
@keyframes sf-glow-a{
  0%{opacity:0.32}
  100%{opacity:0.90}
}
@keyframes sf-glow-b{
  0%{opacity:0.39}
  100%{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  body::before,body::after{animation:none!important;opacity:.4!important}
}
/* /starfield */
