/* 成品24 · star-harbor · 星港观测台 */
.cp-body[data-skin="star-harbor"]{
  --sh-max:1180px;
  --sh-night:#0a1022;
  --sh-panel:#121a33;
  --sh-chalk:#eef2ff;
  --sh-muted:#9aa6c3;
  --sh-pink:#ff6bcb;
  --sh-cyan:#5ce1ff;
  --sh-gold:#ffd166;
  --sh-violet:#a78bfa;
  --sh-mint:#74f0a4;
  --sh-line:rgba(238,242,255,.12);
  background:
    radial-gradient(ellipse 80% 50% at 20% -10%,rgba(167,139,250,.22),transparent 55%),
    radial-gradient(ellipse 70% 45% at 90% 10%,rgba(92,225,255,.14),transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 100%,rgba(255,107,203,.1),transparent 55%),
    linear-gradient(180deg,#070b18 0%,var(--sh-night) 45%,#0d152c 100%)!important;
  color:var(--sh-chalk);
  font-family:"Noto Sans SC","Outfit",system-ui,sans-serif;
  min-height:100vh;
}
.cp-body[data-skin="star-harbor"] .cp-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
.cp-body[data-skin="star-harbor"] .cp-main,
.cp-body[data-skin="star-harbor"] .page-main{
  max-width:var(--sh-max);margin:0 auto;padding:16px 16px 48px;width:100%;box-sizing:border-box;flex:1;
}

/* 呼吸上浮星点 */
.sh-stars{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.sh-stars i{
  position:absolute;left:var(--ax);bottom:-8px;
  width:var(--as);height:var(--as);border-radius:50%;
  background:rgba(var(--c),.9);
  box-shadow:0 0 8px rgba(var(--c),.55),0 0 18px rgba(var(--c),.25);
  animation:sh-rise var(--ad) ease-in-out var(--adelay) infinite;
  opacity:0;
}
@keyframes sh-rise{
  0%{transform:translate3d(0,0,0) scale(.6);opacity:0}
  12%{opacity:var(--ao,.75)}
  50%{opacity:calc(var(--ao,.75)*.55)}
  100%{transform:translate3d(var(--drift),-110vh,0) scale(1.15);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .sh-stars i{animation:none;opacity:.35;bottom:auto;top:var(--ay,20%)}
}

/* 顶栏：观测台控制条 · 虹光 + 多色导航坞 */
.sh-head{
  position:sticky;top:0;z-index:40;
  background:
    linear-gradient(180deg,rgba(12,18,40,.96),rgba(10,16,34,.9));
  backdrop-filter:blur(16px) saturate(1.25);
  border-bottom:1px solid rgba(92,225,255,.18);
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.sh-head__glow{
  height:3px;
  background:linear-gradient(90deg,var(--sh-pink),var(--sh-cyan),var(--sh-gold),var(--sh-violet),var(--sh-mint),var(--sh-pink));
  background-size:200% 100%;
  animation:sh-glow-slide 10s linear infinite;
}
@keyframes sh-glow-slide{to{background-position:200% 0}}
@media (prefers-reduced-motion:reduce){.sh-head__glow{animation:none}}
.sh-head__shell{
  max-width:var(--sh-max);margin:0 auto;padding:0 16px;
  box-sizing:border-box;
}
.sh-head__bar{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:12px 16px;
  padding:14px 0 10px;
}
.sh-brand{
  display:flex;align-items:center;gap:12px;
  text-decoration:none!important;color:inherit!important;
  min-width:0;max-width:100%;justify-self:start;width:max-content;
}
.sh-brand__mark{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;position:relative;flex:none;
  font-family:"Outfit","Noto Sans SC",sans-serif;font-weight:800;font-size:1.15rem;
  color:var(--sh-gold);
  background:
    radial-gradient(circle at 35% 30%,rgba(255,209,102,.25),transparent 50%),
    var(--sh-panel);
  border:2px solid transparent;
  background-clip:padding-box;
  box-shadow:
    0 0 0 2px rgba(92,225,255,.55),
    0 0 0 6px rgba(255,107,203,.12),
    0 0 22px rgba(92,225,255,.25);
}
.sh-brand__mark::before{
  content:"";position:absolute;inset:-7px;border-radius:50%;
  border:1px dashed rgba(167,139,250,.55);
  animation:sh-spin 22s linear infinite;
  pointer-events:none;
}
.sh-brand__mark::after{
  content:"";position:absolute;width:6px;height:6px;border-radius:50%;
  background:var(--sh-mint);top:4px;right:4px;
  box-shadow:0 0 8px var(--sh-mint);
}
@keyframes sh-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sh-brand__mark::before{animation:none}}
.sh-brand__text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.sh-brand__text strong{
  font-family:"Outfit","Noto Sans SC",sans-serif;
  font-size:1.4rem;font-weight:800;color:#fff;letter-spacing:.02em;
}
.sh-brand__text small{
  font-size:.72rem;color:var(--sh-muted);font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16em;
}
.sh-search{
  display:flex;align-items:stretch;width:100%;max-width:560px;
  justify-self:stretch;margin-inline:0;
  background:rgba(7,11,24,.72);
  border:1px solid rgba(92,225,255,.32);
  border-radius:999px;overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,107,203,.08),0 0 20px rgba(92,225,255,.06);
}
.sh-search:focus-within{
  border-color:rgba(255,107,203,.55);
  box-shadow:0 0 0 3px rgba(255,107,203,.15),0 0 24px rgba(92,225,255,.12);
}
.sh-search input{
  flex:1;border:0;outline:0;padding:12px 16px;background:transparent;
  font:inherit;min-width:0;color:var(--sh-chalk);
}
.sh-search input::placeholder{color:#6b7a9c}
.sh-search button{
  border:0;padding:12px 20px;font-weight:800;cursor:pointer;
  background:linear-gradient(135deg,var(--sh-pink),var(--sh-violet) 55%,#7c6cff);
  color:#fff;font-family:"Outfit",sans-serif;letter-spacing:.06em;
  transition:filter .15s ease;
}
.sh-search button:hover{filter:brightness(1.08)}
.sh-toggle{
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(92,225,255,.4);
  background:var(--sh-panel);display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.sh-toggle span{display:block;width:16px;height:2px;background:var(--sh-cyan);border-radius:2px}
.sh-nav{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  padding:0 0 14px;
}
.sh-nav a{
  position:relative;
  text-decoration:none!important;color:#c5cee6!important;font-weight:700;
  padding:8px 14px;font-size:.86rem;border-radius:999px;
  font-family:"Outfit","Noto Sans SC",sans-serif;
  background:rgba(238,242,255,.04);
  border:1px solid rgba(238,242,255,.08);
  transition:color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease;
}
.sh-nav a:nth-child(1):hover,.sh-nav a:nth-child(1)[aria-current="page"]{color:#0a1022!important;background:var(--sh-cyan)!important;border-color:var(--sh-cyan)!important}
.sh-nav a:nth-child(2):hover,.sh-nav a:nth-child(2)[aria-current="page"]{color:#0a1022!important;background:var(--sh-pink)!important;border-color:var(--sh-pink)!important}
.sh-nav a:nth-child(3):hover,.sh-nav a:nth-child(3)[aria-current="page"]{color:#0a1022!important;background:var(--sh-gold)!important;border-color:var(--sh-gold)!important}
.sh-nav a:nth-child(4):hover,.sh-nav a:nth-child(4)[aria-current="page"]{color:#0a1022!important;background:var(--sh-violet)!important;border-color:var(--sh-violet)!important}
.sh-nav a:nth-child(5):hover,.sh-nav a:nth-child(5)[aria-current="page"]{color:#0a1022!important;background:var(--sh-mint)!important;border-color:var(--sh-mint)!important}
.sh-nav a:nth-child(6):hover,.sh-nav a:nth-child(6)[aria-current="page"]{color:#0a1022!important;background:var(--sh-cyan)!important;border-color:var(--sh-cyan)!important}
.sh-nav a:nth-child(7):hover,.sh-nav a:nth-child(7)[aria-current="page"]{color:#fff!important;background:linear-gradient(135deg,var(--sh-pink),var(--sh-violet))!important;border-color:transparent!important}
.sh-nav a:hover{transform:translateY(-1px)}
@media (max-width:820px){
  .sh-head__bar{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
  }
  .sh-brand{
    width:auto;max-width:calc(100% - 52px);
    justify-self:start;
  }
  .sh-brand__mark{width:40px;height:40px;font-size:1rem}
  .sh-brand__mark::before{inset:-4px}
  .sh-brand__text strong{font-size:1.12rem}
  .sh-brand__text small{max-width:11em;font-size:.64rem}
  .sh-search{
    grid-column:1/-1;max-width:none;justify-self:stretch;order:3;
  }
  .sh-toggle{display:inline-flex;justify-self:end;flex:none}
  .sh-nav{display:none;flex-direction:column;align-items:stretch;gap:6px;padding-bottom:14px}
  .sh-nav.open{
    display:flex;background:rgba(18,26,51,.95);
    border:1px solid rgba(92,225,255,.28);border-radius:16px;padding:10px;margin-bottom:12px;
  }
  .sh-nav.open a{text-align:center}
}

/* 首屏：望远镜圆窗 */
.sh-hero{
  position:relative;z-index:1;margin:0 0 28px;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(240px,380px);
  gap:28px;align-items:center;
  padding:12px 4px 18px; /* 给圆窗外环留边，避免裁切错位 */
}
.sh-hero__copy{min-width:0}
.sh-hero__kicker{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;
  font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sh-cyan);font-family:"Outfit",sans-serif;
}
.sh-hero__kicker::before{
  content:"";width:22px;height:2px;
  background:linear-gradient(90deg,var(--sh-pink),var(--sh-cyan));border-radius:2px;
}
.sh-hero h1{
  margin:0 0 14px;font-family:"Outfit","Noto Sans SC",sans-serif;
  font-size:clamp(2.4rem,6vw,3.5rem);line-height:.95;font-weight:800;
  letter-spacing:.01em;
  background:linear-gradient(120deg,#fff 20%,var(--sh-cyan) 55%,var(--sh-pink) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.sh-hero__desc{margin:0 0 20px;color:var(--sh-muted);line-height:1.75;max-width:34em;font-size:.95rem}
.sh-hero__cta{display:flex;flex-wrap:wrap;gap:10px}
.sh-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 20px;border-radius:999px;font-weight:800;text-decoration:none!important;
  font-family:"Outfit","Noto Sans SC",sans-serif;letter-spacing:.04em;font-size:.98rem;
}
.sh-btn--hot{
  background:linear-gradient(135deg,var(--sh-pink),var(--sh-violet));
  color:#fff!important;border:0;box-shadow:0 8px 24px rgba(255,107,203,.3);
}
.sh-btn--ghost{
  background:transparent;color:var(--sh-cyan)!important;
  border:1px solid rgba(92,225,255,.5);
}
.sh-hero__scope{
  position:relative;aspect-ratio:1;max-width:360px;margin:0 auto;width:100%;
  isolation:isolate;
}
.sh-hero__scope::before,
.sh-hero__scope::after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:2;
}
.sh-hero__scope::before{
  inset:0;border:2px solid rgba(92,225,255,.45);
  box-shadow:0 0 0 6px rgba(167,139,250,.12),0 0 36px rgba(92,225,255,.15);
}
.sh-hero__scope::after{
  inset:12px;border:1px dashed rgba(255,209,102,.45);
  animation:sh-spin 28s linear infinite;
}
@keyframes sh-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sh-hero__scope::after{animation:none}}
.sh-hero__scope a{
  display:block;position:absolute;inset:18px;border-radius:50%;overflow:hidden;
  text-decoration:none!important;
  border:3px solid rgba(255,107,203,.5);
  box-shadow:inset 0 0 40px rgba(10,16,34,.35);
}
.sh-hero__scope img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center 22%!important;display:block!important;
}
.sh-hero__badge{
  position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:3;
  max-width:calc(100% - 28px);
  padding:7px 12px;border-radius:999px;white-space:nowrap;
  background:rgba(10,16,34,.92);border:1px solid rgba(92,225,255,.4);
  color:#fff;font-weight:800;font-size:.78rem;
  display:flex;gap:8px;align-items:baseline;justify-content:center;
  box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;
}
.sh-hero__badge em{font-style:normal;color:var(--sh-gold);font-family:"Outfit",sans-serif;font-size:.72rem;letter-spacing:.08em}
@media (max-width:900px){
  .sh-hero{grid-template-columns:1fr;gap:18px}
  .sh-hero__scope{max-width:300px}
}

/* 分区头 */
.cp-body[data-skin="star-harbor"] .cp-section-head,
.cp-body[data-skin="star-harbor"] .section-head{
  display:flex!important;align-items:center;justify-content:space-between;gap:12px;
  margin:4px 0 14px!important;padding:0 0 12px!important;
  border-bottom:1px solid var(--sh-line)!important;
  background:none!important;
}
.cp-body[data-skin="star-harbor"] .cp-section-head > div,
.cp-body[data-skin="star-harbor"] .section-head > div{
  display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 10px;min-width:0;
}
.cp-body[data-skin="star-harbor"] .section-head .section-icon{color:var(--sh-gold);font-weight:900}
.cp-body[data-skin="star-harbor"] .cp-section-head h2,
.cp-body[data-skin="star-harbor"] .section-head h2{
  margin:0!important;font-size:1.22rem!important;font-weight:800!important;color:#fff!important;
  font-family:"Outfit","Noto Sans SC",sans-serif!important;line-height:1.2!important;
}
.cp-body[data-skin="star-harbor"] .cp-section-head a,
.cp-body[data-skin="star-harbor"] .section-head a,
.cp-body[data-skin="star-harbor"] .cp-more{
  color:var(--sh-cyan)!important;font-weight:800!important;text-decoration:none!important;
  white-space:nowrap;flex:none;
}
.cp-body[data-skin="star-harbor"] .cp-badge{
  display:inline-flex!important;align-items:center;
  background:linear-gradient(135deg,var(--sh-pink),var(--sh-violet))!important;
  color:#fff!important;border-radius:999px!important;border:0!important;
  padding:4px 10px!important;font-size:.7rem!important;font-weight:800!important;
  font-family:"Outfit",sans-serif;letter-spacing:.04em;
}

/* 网格：取消母模横滑；分类卡单独排版 */
.cp-body[data-skin="star-harbor"] .cp-scroll,
.cp-body[data-skin="star-harbor"] .cp-grid,
.cp-body[data-skin="star-harbor"] .movie-grid,
body.cp-body[data-skin="star-harbor"] .cp-scroll,
body.cp-body[data-skin="star-harbor"] .cp-grid,
body.cp-body[data-skin="star-harbor"] .movie-grid{
  display:grid!important;
  grid-auto-flow:row!important;
  grid-auto-columns:unset!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  overflow:visible!important;
  overflow-x:visible!important;
  scroll-snap-type:none!important;
  padding:0!important;
  -webkit-overflow-scrolling:auto!important;
  align-items:stretch!important;
}
.cp-body[data-skin="star-harbor"] .cp-scroll .cp-card,
.cp-body[data-skin="star-harbor"] .movie-grid .cp-card,
body.cp-body[data-skin="star-harbor"] .cp-scroll .cp-card{
  flex:none!important;min-width:0!important;width:auto!important;max-width:none!important;
  scroll-snap-align:unset!important;
}
@media (max-width:1100px){
  .cp-body[data-skin="star-harbor"] .cp-scroll,
  .cp-body[data-skin="star-harbor"] .cp-grid,
  .cp-body[data-skin="star-harbor"] .movie-grid,
  body.cp-body[data-skin="star-harbor"] .cp-scroll,
  body.cp-body[data-skin="star-harbor"] .cp-grid,
  body.cp-body[data-skin="star-harbor"] .movie-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:820px){
  .cp-body[data-skin="star-harbor"] .cp-scroll,
  .cp-body[data-skin="star-harbor"] .cp-grid,
  .cp-body[data-skin="star-harbor"] .movie-grid,
  .cp-body[data-skin="star-harbor"] .cp-cat-grid,
  body.cp-body[data-skin="star-harbor"] .cp-scroll,
  body.cp-body[data-skin="star-harbor"] .cp-grid,
  body.cp-body[data-skin="star-harbor"] .movie-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
}

/* 卡片：4:5 观测窗竖封面 + 五彩底边（人像海报完整可读，避开 16:9 票根/3:4 夜场） */
.cp-body[data-skin="star-harbor"] .cp-card{
  display:flex!important;flex-direction:column!important;gap:0!important;
  background:linear-gradient(180deg,rgba(22,32,62,.96),rgba(12,18,40,.98))!important;
  border:1px solid rgba(238,242,255,.14)!important;
  border-radius:18px!important;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(0,0,0,.32)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  height:auto!important;align-self:stretch!important;
}
.cp-body[data-skin="star-harbor"] .cp-card:hover{
  transform:translateY(-4px);
  border-color:rgba(92,225,255,.5)!important;
  box-shadow:0 16px 36px rgba(92,225,255,.18)!important;
}
.cp-body[data-skin="star-harbor"] .cp-card__link{
  display:flex!important;flex-direction:column!important;flex:1!important;
  color:inherit!important;text-decoration:none!important;min-width:0;
}
.cp-body[data-skin="star-harbor"] .cp-card__frame,
.cp-body[data-skin="star-harbor"] .cp-card__frame--tall{
  position:relative!important;display:block!important;width:100%!important;
  aspect-ratio:4/5!important;max-height:none!important;height:auto!important;
  overflow:hidden!important;
  background:
    radial-gradient(ellipse at 50% 20%,rgba(92,225,255,.12),transparent 55%),
    linear-gradient(160deg,#1a2444,#0c1228)!important;
  border-radius:0!important;border:0!important;box-shadow:none!important;
  flex:none!important;
}
.cp-body[data-skin="star-harbor"] .cp-card__frame::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;z-index:2;
  background:var(--sh-pink);
  box-shadow:0 0 14px rgba(255,107,203,.55);
}
.cp-body[data-skin="star-harbor"] .cp-card:nth-child(5n+2) .cp-card__frame::after{background:var(--sh-cyan);box-shadow:0 0 14px rgba(92,225,255,.55)}
.cp-body[data-skin="star-harbor"] .cp-card:nth-child(5n+3) .cp-card__frame::after{background:var(--sh-gold);box-shadow:0 0 14px rgba(255,209,102,.5)}
.cp-body[data-skin="star-harbor"] .cp-card:nth-child(5n+4) .cp-card__frame::after{background:var(--sh-violet);box-shadow:0 0 14px rgba(167,139,250,.55)}
.cp-body[data-skin="star-harbor"] .cp-card:nth-child(5n+5) .cp-card__frame::after{background:var(--sh-mint);box-shadow:0 0 14px rgba(116,240,164,.5)}
.cp-body[data-skin="star-harbor"] .cp-card__frame img{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center 12%!important;
  aspect-ratio:auto!important;margin:0!important;
}
.cp-body[data-skin="star-harbor"] .cp-card__badge{
  position:absolute;left:10px;top:10px;right:auto!important;z-index:3;
  padding:5px 10px;border-radius:999px;font-size:.68rem;font-weight:800;
  background:rgba(10,16,34,.88)!important;color:var(--sh-gold)!important;
  border:1px solid rgba(255,209,102,.5)!important;
  font-family:"Outfit","Noto Sans SC",sans-serif;letter-spacing:.04em;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.cp-body[data-skin="star-harbor"] .cp-card__play{
  position:absolute;inset:0;z-index:1;display:grid;place-items:center;
  background:linear-gradient(180deg,rgba(7,11,24,.08),rgba(7,11,24,.45));
  opacity:0;transition:opacity .2s ease;
  color:#fff;font-size:1.35rem;pointer-events:none;
  text-shadow:0 0 18px rgba(92,225,255,.55);
}
.cp-body[data-skin="star-harbor"] .cp-card:hover .cp-card__play{opacity:1}
.cp-body[data-skin="star-harbor"] .cp-card__title,
.cp-body[data-skin="star-harbor"] h3.cp-card__title{
  margin:0!important;padding:11px 12px 4px!important;
  font-size:.9rem!important;line-height:1.35!important;
  color:#fff!important;font-weight:800!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:0!important;
}
.cp-body[data-skin="star-harbor"] .cp-card__meta,
.cp-body[data-skin="star-harbor"] .cp-card__rank-meta{
  display:flex!important;flex-wrap:wrap;gap:5px!important;
  margin:0!important;padding:4px 12px 12px!important;
  font-size:.68rem!important;font-weight:700!important;color:var(--sh-muted)!important;
  background:transparent!important;border:0!important;
}
.cp-body[data-skin="star-harbor"] .cp-card__meta span{
  padding:3px 7px;border-radius:999px;
  background:rgba(238,242,255,.07)!important;border:1px solid var(--sh-line)!important;
  color:var(--sh-muted)!important;
}
.cp-body[data-skin="star-harbor"] .cp-card__meta span:first-child{
  color:var(--sh-cyan)!important;border-color:rgba(92,225,255,.4)!important;
}
/* rank 卡统一观测窗竖封面 */
.cp-body[data-skin="star-harbor"] .cp-card--rank .cp-card__link{
  display:flex!important;flex-direction:column!important;
}
.cp-body[data-skin="star-harbor"] .cp-card--rank .cp-card__frame--tall{
  width:100%!important;aspect-ratio:4/5!important;max-height:none!important;
}
.cp-body[data-skin="star-harbor"] .cp-card__rank-body{padding:0 12px 10px;color:#fff}
.cp-body[data-skin="star-harbor"] .cp-card__rank-body h3{margin:8px 0 4px;color:#fff!important;font-size:.88rem}

@media (max-width:820px){
  .cp-body[data-skin="star-harbor"] .cp-card__frame,
  .cp-body[data-skin="star-harbor"] .cp-card__frame--tall,
  .cp-body[data-skin="star-harbor"] .cp-card--rank .cp-card__frame--tall{
    aspect-ratio:4/5!important;max-height:none!important;
  }
}

/* 分类页星图板 */
.sh-catmap{margin:0 0 28px}
.sh-catmap__head{
  margin:0 0 16px;padding:22px 20px;
  border-radius:22px;
  background:
    radial-gradient(circle at 90% 20%,rgba(255,107,203,.2),transparent 40%),
    radial-gradient(circle at 10% 80%,rgba(92,225,255,.18),transparent 40%),
    var(--sh-panel);
  border:1px solid rgba(92,225,255,.28);
}
.sh-catmap__kicker{
  margin:0 0 8px;font-size:.72rem;font-weight:800;letter-spacing:.16em;
  color:var(--sh-gold);font-family:"Outfit",sans-serif;text-transform:uppercase;
}
.sh-catmap__head h1{margin:0 0 8px;font-size:clamp(1.6rem,3.5vw,2.1rem);font-weight:800;color:#fff;font-family:"Outfit","Noto Sans SC",sans-serif}
.sh-catmap__desc{margin:0;color:var(--sh-muted);font-size:.92rem;line-height:1.6;max-width:36em}
.cp-body[data-skin="star-harbor"] .category-grid,
.cp-body[data-skin="star-harbor"] .cp-cat-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;
}
.cp-body[data-skin="star-harbor"] .overview-card{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  grid-template-rows:auto;
  gap:12px 14px;align-items:center;
  padding:14px 16px!important;min-height:84px;box-sizing:border-box;
  background:rgba(18,26,51,.92)!important;
  border:1px solid rgba(238,242,255,.12)!important;border-radius:16px!important;
  text-decoration:none!important;color:inherit!important;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.cp-body[data-skin="star-harbor"] .overview-card:hover{
  transform:translateY(-2px);
  border-color:rgba(92,225,255,.45)!important;
  box-shadow:0 12px 28px rgba(92,225,255,.12);
}
.cp-body[data-skin="star-harbor"] .overview-code{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  font-family:"Outfit",sans-serif;font-weight:800;font-size:.92rem;
  background:rgba(10,16,34,.85);color:var(--sh-cyan);
  border:2px solid rgba(92,225,255,.45);flex:none;
}
.cp-body[data-skin="star-harbor"] .overview-card:nth-child(5n+2) .overview-code{color:var(--sh-pink);border-color:rgba(255,107,203,.45)}
.cp-body[data-skin="star-harbor"] .overview-card:nth-child(5n+3) .overview-code{color:var(--sh-gold);border-color:rgba(255,209,102,.45)}
.cp-body[data-skin="star-harbor"] .overview-card:nth-child(5n+4) .overview-code{color:var(--sh-violet);border-color:rgba(167,139,250,.45)}
.cp-body[data-skin="star-harbor"] .overview-card:nth-child(5n+5) .overview-code{color:var(--sh-mint);border-color:rgba(116,240,164,.45)}
.cp-body[data-skin="star-harbor"] .overview-main{display:grid;gap:4px;min-width:0;align-content:center}
.cp-body[data-skin="star-harbor"] .overview-main strong{font-size:1.02rem;font-weight:800;color:#fff;line-height:1.25}
.cp-body[data-skin="star-harbor"] .overview-main > span{
  font-size:.76rem;line-height:1.45;color:var(--sh-muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.cp-body[data-skin="star-harbor"] .overview-links{
  display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;
  min-width:4.5em;
}
.cp-body[data-skin="star-harbor"] .overview-links span:first-child{
  font-size:.7rem;font-weight:700;color:var(--sh-muted);font-family:"Outfit",sans-serif;
}
.cp-body[data-skin="star-harbor"] .overview-links span:last-child{
  font-size:.76rem;font-weight:800;color:#0a1022;
  background:var(--sh-cyan);padding:5px 12px;border-radius:999px;white-space:nowrap;
}
.cp-body[data-skin="star-harbor"] .cp-page-banner,
.cp-body[data-skin="star-harbor"] .page-hero{display:none!important}
@media (max-width:820px){
  .cp-body[data-skin="star-harbor"] .category-grid,
  .cp-body[data-skin="star-harbor"] .cp-cat-grid{grid-template-columns:1fr!important;gap:10px!important}
  .cp-body[data-skin="star-harbor"] .overview-card{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:10px 12px!important;padding:12px!important;min-height:0!important;
  }
  .cp-body[data-skin="star-harbor"] .overview-links{
    flex-direction:column;align-items:flex-end;gap:6px;
  }
  .cp-body[data-skin="star-harbor"] .overview-main > span{-webkit-line-clamp:2}
}

/* 播放页：目镜双环坞 */
.cp-body[data-skin="star-harbor"] .cp-crumb{
  margin:0 0 14px;color:var(--sh-muted);font-size:.85rem;
}
.cp-body[data-skin="star-harbor"] .cp-crumb a{color:var(--sh-cyan)!important;text-decoration:none!important;font-weight:700}
.cp-body[data-skin="star-harbor"] .cp-play{
  display:grid;gap:14px;
  margin-bottom:24px;
  padding:16px;border-radius:20px;
  background:rgba(18,26,51,.82)!important;
  border:1px solid rgba(92,225,255,.22)!important;
  box-shadow:0 0 0 5px rgba(167,139,250,.08)!important;
  color:var(--sh-chalk)!important;
}
.cp-body[data-skin="star-harbor"] .cp-play__screen{
  position:relative;border-radius:14px;overflow:hidden;margin:0!important;
  background:#000;border:2px solid rgba(255,107,203,.35);
  box-shadow:0 0 0 5px rgba(92,225,255,.12);
}
.cp-body[data-skin="star-harbor"] .cp-play__screen video,
.cp-body[data-skin="star-harbor"] #movie-player{
  width:100%;max-width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:contain;background:#000;
}
.cp-body[data-skin="star-harbor"] .cp-play__head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;
  margin:0!important;padding:0 0 12px!important;
  border-bottom:1px solid var(--sh-line)!important;
}
.cp-body[data-skin="star-harbor"] .cp-play__head h1{
  margin:0;font-size:clamp(1.25rem,3vw,1.7rem);font-weight:800;color:#fff!important;
  font-family:"Outfit","Noto Sans SC",sans-serif;line-height:1.25;
}
.cp-body[data-skin="star-harbor"] .cp-play__meta{
  display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start;
}
.cp-body[data-skin="star-harbor"] .cp-play__thumb{
  width:110px;height:146px;object-fit:cover;border-radius:12px;
  border:2px solid rgba(255,209,102,.4)!important;aspect-ratio:auto!important;
}
.cp-body[data-skin="star-harbor"] .cp-play__facts ul{
  list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
}
.cp-body[data-skin="star-harbor"] .cp-play__facts li{
  display:flex;flex-direction:column;justify-content:flex-start;gap:3px;
  padding:10px 12px!important;border-radius:12px;border-bottom:0!important;
  background:rgba(7,11,24,.5);border:1px solid var(--sh-line);
}
.cp-body[data-skin="star-harbor"] .cp-play__facts span{font-size:.7rem;color:var(--sh-muted)!important;font-weight:700}
.cp-body[data-skin="star-harbor"] .cp-play__facts strong{color:#fff!important;font-size:.9rem;font-weight:800}
.cp-body[data-skin="star-harbor"] .cp-play__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cp-body[data-skin="star-harbor"] .cp-play__tags span{
  padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;
  background:rgba(92,225,255,.1)!important;color:var(--sh-cyan)!important;border:1px solid rgba(92,225,255,.28)!important;
}
.cp-body[data-skin="star-harbor"] .cp-play__brief{color:var(--sh-muted)!important;line-height:1.7;margin:10px 0 0}
.cp-body[data-skin="star-harbor"] .cp-synopsis{
  margin-top:16px;padding:14px 16px;border-radius:14px;
  background:rgba(18,26,51,.65)!important;border:1px solid var(--sh-line)!important;color:var(--sh-muted)!important;line-height:1.75;
}

/* 片库筛选：压掉母模白底 */
.cp-body[data-skin="star-harbor"] .cp-filter-bar,
.cp-body[data-skin="star-harbor"] .filter-panel{
  display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;
  margin:0 0 18px;padding:14px 16px;border-radius:16px;
  background:rgba(18,26,51,.92)!important;
  border:1px solid rgba(92,225,255,.22)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
}
.cp-body[data-skin="star-harbor"] .cp-filter-bar__item,
.cp-body[data-skin="star-harbor"] .cp-filter-bar__item--grow{
  display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 140px;
}
.cp-body[data-skin="star-harbor"] .cp-filter-bar__item span,
.cp-body[data-skin="star-harbor"] .filter-panel label{
  font-size:.7rem;font-weight:800;letter-spacing:.06em;
  color:var(--sh-cyan)!important;text-transform:uppercase;
}
.cp-body[data-skin="star-harbor"] .cp-filter-bar input,
.cp-body[data-skin="star-harbor"] .cp-filter-bar select,
.cp-body[data-skin="star-harbor"] .filter-panel input,
.cp-body[data-skin="star-harbor"] .filter-panel select{
  width:100%;padding:10px 12px;border-radius:10px;box-sizing:border-box;
  border:1px solid rgba(92,225,255,.28)!important;
  background:rgba(7,11,24,.72)!important;color:var(--sh-chalk)!important;
  font-size:.9rem;outline:none;
}
.cp-body[data-skin="star-harbor"] .cp-filter-bar input:focus,
.cp-body[data-skin="star-harbor"] .cp-filter-bar select:focus{
  border-color:var(--sh-pink)!important;
  box-shadow:0 0 0 3px rgba(255,107,203,.18)!important;
}
.cp-body[data-skin="star-harbor"] .cp-empty{
  background:rgba(18,26,51,.85)!important;color:var(--sh-muted)!important;
  border:1px solid var(--sh-line)!important;border-radius:14px;
}
@media (max-width:720px){
  .cp-body[data-skin="star-harbor"] .cp-play__meta{grid-template-columns:88px minmax(0,1fr);gap:12px}
  .cp-body[data-skin="star-harbor"] .cp-play__thumb{width:88px;height:118px}
  .cp-body[data-skin="star-harbor"] .cp-filter-bar,
  .cp-body[data-skin="star-harbor"] .filter-panel{
    display:grid;grid-template-columns:1fr;gap:10px;
  }
  .cp-body[data-skin="star-harbor"] .cp-filter-bar__item,
  .cp-body[data-skin="star-harbor"] .cp-filter-bar__item--grow{flex:none;width:100%;min-width:0}
}
@media (max-width:480px){
  .cp-body[data-skin="star-harbor"] .cp-play__meta{grid-template-columns:1fr}
  .cp-body[data-skin="star-harbor"] .cp-play__thumb{width:72px;height:96px}
  .cp-body[data-skin="star-harbor"] .cp-play__facts ul{grid-template-columns:1fr 1fr}
}

/* 页脚 */
.sh-foot{
  margin-top:auto;position:relative;z-index:1;
  background:rgba(7,11,24,.92);color:var(--sh-muted);
  border-top:1px solid var(--sh-line);
}
.sh-foot__glow{
  height:3px;
  background:linear-gradient(90deg,var(--sh-mint),var(--sh-violet),var(--sh-gold),var(--sh-cyan),var(--sh-pink));
}
.sh-foot__inner{max-width:var(--sh-max);margin:0 auto;padding:24px 16px 30px;display:grid;gap:12px}
.sh-foot__logo{
  color:#fff!important;font-weight:800;font-size:1.3rem;text-decoration:none!important;
  font-family:"Outfit","Noto Sans SC",sans-serif;
}
.sh-foot__tag{margin:0;line-height:1.7;max-width:52em;color:#8b97b5}
.sh-foot__nav{display:flex;flex-wrap:wrap;gap:10px 16px}
.sh-foot__nav a{color:var(--sh-chalk)!important;font-weight:700;text-decoration:none!important}
.sh-foot__nav a:hover{color:var(--sh-cyan)!important}
.sh-foot__seo{font-size:.76rem;color:#64748b}

@supports (padding:max(0px)){
  .sh-head{padding-top:env(safe-area-inset-top)}
  .sh-foot{padding-bottom:env(safe-area-inset-bottom)}
}
.sh-search input,.sh-search button,.sh-btn,.sh-nav a,.sh-toggle,
.cp-body[data-skin="star-harbor"] .overview-card{
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.sh-search input,.sh-search button,.sh-btn,.sh-toggle{min-height:44px}

/* 压掉漫画波普残留 */
.cp-body[data-skin="star-harbor"] .cp-hero,
.cp-body[data-skin="star-harbor"] .cp-head__strip,
.cp-body[data-skin="star-harbor"] .cp-foot__wave{display:none!important}
.cp-body[data-skin="star-harbor"] .cp-hot,
.cp-body[data-skin="star-harbor"] .cp-block{margin-bottom:28px}
.cp-body[data-skin="star-harbor"] .cp-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 16px;border-radius:999px;font-weight:800;text-decoration:none!important;
  font-family:"Outfit","Noto Sans SC",sans-serif;border:0;cursor:pointer;
}
.cp-body[data-skin="star-harbor"] .cp-btn--primary{
  background:linear-gradient(135deg,var(--sh-pink),var(--sh-violet))!important;color:#fff!important;
}
.cp-body[data-skin="star-harbor"] .cp-btn--sm{padding:8px 14px;font-size:.85rem}
.cp-body[data-skin="star-harbor"] .cp-btn--ghost{
  background:transparent!important;color:var(--sh-cyan)!important;border:1px solid rgba(92,225,255,.45)!important;
}

/* pack24-mobile · 跨端收紧（不覆盖桌面已对齐规则） */
html{overflow-x:hidden;overflow-x:clip}
.cp-body[data-skin="star-harbor"],
.cp-body[data-skin="star-harbor"] .cp-shell{
  overflow-x:hidden;overflow-x:clip;max-width:100%;
}
.cp-body[data-skin="star-harbor"] *,
.cp-body[data-skin="star-harbor"] *::before,
.cp-body[data-skin="star-harbor"] *::after{box-sizing:border-box}
.cp-body[data-skin="star-harbor"] img,
.cp-body[data-skin="star-harbor"] video{max-width:100%;height:auto}
.cp-body[data-skin="star-harbor"] .sh-hero__scope img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center 22%!important;
}
.sh-search button{border-radius:0 999px 999px 0}

@media (max-width:900px){
  .sh-hero{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin:0 0 18px!important;
    padding:8px 0 10px!important;
  }
  .sh-hero__copy{order:1}
  .sh-hero__scope{
    order:2;
    max-width:min(240px,68vw)!important;
    width:100%;
    margin:6px auto 0!important;
  }
  .sh-hero__scope::before{inset:0}
  .sh-hero__scope::after{inset:10px}
  .sh-hero__scope a{inset:16px}
  .sh-hero h1{
    font-size:clamp(1.9rem,8.5vw,2.5rem)!important;
    line-height:1.05!important;
    margin-bottom:10px!important;
  }
  .sh-hero__desc{
    font-size:.86rem!important;
    line-height:1.6!important;
    margin:0 0 14px!important;
    max-width:none;
  }
  .sh-hero__cta{width:100%;gap:8px}
  .sh-hero__cta .sh-btn{flex:1 1 calc(50% - 4px);min-width:0;padding:11px 12px;font-size:.9rem;text-align:center}
  .sh-hero__badge{
    font-size:.7rem!important;
    padding:6px 10px!important;
    bottom:8px;
  }
}

@media (max-width:820px){
  .cp-body[data-skin="star-harbor"] .cp-main,
  .cp-body[data-skin="star-harbor"] .page-main{
    padding:12px 12px 40px!important;
  }
  .sh-head__shell{padding:0 12px}
  .sh-head__bar{padding:10px 0 8px;gap:10px}
  .sh-search{max-width:none!important}
  .sh-search input{padding:11px 12px;font-size:.9rem}
  .sh-search button{padding:11px 14px;font-size:.88rem;letter-spacing:.02em}

  .cp-body[data-skin="star-harbor"] .cp-scroll,
  .cp-body[data-skin="star-harbor"] .cp-grid,
  .cp-body[data-skin="star-harbor"] .movie-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .cp-body[data-skin="star-harbor"] .cp-card__frame,
  .cp-body[data-skin="star-harbor"] .cp-card__frame--tall{
    aspect-ratio:4/5!important;
    max-height:none!important;
  }
  .cp-body[data-skin="star-harbor"] .cp-card__title,
  .cp-body[data-skin="star-harbor"] h3.cp-card__title{
    font-size:.8rem!important;
    padding:8px 8px 2px!important;
  }
  .cp-body[data-skin="star-harbor"] .cp-card__meta{
    padding:2px 8px 8px!important;gap:3px!important;font-size:.6rem!important;
  }
  .cp-body[data-skin="star-harbor"] .cp-card__meta span{padding:1px 5px}
  .cp-body[data-skin="star-harbor"] .cp-section-head h2,
  .cp-body[data-skin="star-harbor"] .section-head h2{font-size:1.08rem!important}
  .cp-body[data-skin="star-harbor"] .cp-hot,
  .cp-body[data-skin="star-harbor"] .cp-block,
  .cp-body[data-skin="star-harbor"] .section-block{margin-bottom:20px}

  .cp-body[data-skin="star-harbor"] .category-grid,
  .cp-body[data-skin="star-harbor"] .cp-cat-grid{
    grid-template-columns:1fr!important;
  }
  .cp-body[data-skin="star-harbor"] .overview-card{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:10px 12px!important;
    padding:12px!important;
  }
  .sh-catmap__head{padding:16px 14px}
  .sh-catmap__head h1{font-size:1.45rem}

  .cp-body[data-skin="star-harbor"] .cp-play{padding:12px!important;border-radius:16px;gap:12px}
  .cp-body[data-skin="star-harbor"] .cp-play__head h1{font-size:1.2rem!important}
  .cp-body[data-skin="star-harbor"] .cp-play__facts ul{grid-template-columns:1fr 1fr!important;gap:6px}
  .cp-body[data-skin="star-harbor"] .cp-play__meta{
    grid-template-columns:84px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .cp-body[data-skin="star-harbor"] .cp-play__thumb{
    width:84px!important;height:112px!important;border-radius:10px;
  }

  .sh-foot__inner{padding:18px 12px 24px}
  .sh-foot__nav{gap:8px 12px}
  .sh-foot__nav a{font-size:.88rem}
}

@media (max-width:480px){
  .sh-hero__scope{max-width:min(200px,72vw)!important}
  .sh-hero__cta{flex-direction:column}
  .sh-hero__cta .sh-btn{flex:1 1 auto;width:100%}
  .cp-body[data-skin="star-harbor"] .cp-play__meta{grid-template-columns:1fr!important}
  .cp-body[data-skin="star-harbor"] .cp-play__thumb{width:72px!important;height:96px!important}
  .cp-body[data-skin="star-harbor"] .overview-main > span{-webkit-line-clamp:2}
}

@media (max-width:360px){
  .cp-body[data-skin="star-harbor"] .cp-scroll,
  .cp-body[data-skin="star-harbor"] .cp-grid,
  .cp-body[data-skin="star-harbor"] .movie-grid{
    grid-template-columns:1fr!important;
  }
}
