/* dyoo-fix — 颜色 / 分类 / 热门 / 榜单 排版修正 */
:root{
  --surface-soft:#f3eeee;
  --shadow-soft:0 12px 28px rgba(16,16,16,.08);
  --page-bg:var(--bg);
  /* 兼容 theme-adaptive / 详情子页 zp-* 变量 → 对齐 dyoo */
  --zp-ink:var(--text);
  --zp-bg:var(--bg);
  --zp-bg2:var(--surface-soft);
  --zp-card:var(--card);
  --zp-text:var(--text);
  --zp-muted:var(--text-muted);
  --zp-line:var(--border);
  --zp-accent:var(--accent);
  --zp-accent2:#b9822d;
  --zp-accent-soft:var(--accent-soft);
  --zp-danger:var(--danger);
  --zp-radius:var(--radius-xl);
  --zp-radius-sm:var(--radius-sm);
  --zp-shadow:var(--shadow);
  --zp-font:inherit;
  --zp-display:inherit;
  --zp-max:1200px;
}
html.dark,:root.dark,body.dark{
  --surface-soft:#1a1a1a;
  --shadow-soft:0 16px 40px rgba(0,0,0,.4);
  --page-bg:var(--bg);
  --zp-ink:var(--text);
  --zp-bg:var(--bg);
  --zp-bg2:#1a1a1a;
  --zp-card:var(--card);
  --zp-text:var(--text);
  --zp-muted:var(--text-muted);
  --zp-line:var(--border);
  --zp-accent:var(--accent);
  --zp-accent-soft:var(--accent-soft);
}
/* 全站同一底色：固定暖灰粉，避免长短页/白卡片造成“背景色不一样” */
html{
  background-color:var(--bg) !important;
}
html,body,.zp-body,.site-layout{
  background-color:var(--bg) !important;
  background-image:var(--hero-glow) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-attachment:fixed !important;
  color:var(--text) !important;
}
/* sticky 顶栏由 dyoo-nav 接管；勿再给 body 预留双层固定高度 */
body,.zp-body{
  margin:0 !important;
  min-height:100%;
  padding-left:0 !important;
  padding-right:0 !important;
}
.site-layout,.page-shell,.page-shell-main,#main-content,main,.zp-main{
  background:transparent !important;
}
/* 压住 theme-ui 白底/默认色 */
.theme-body,.bottom-nav,.side-fixed,.layout-box,.up.bg-white,.bg-white,.shadow,
.container,.row,.main-left,.main-right{
  background-color:transparent !important;
}
.bottom-nav{
  background:color-mix(in srgb,var(--bg) 92%,transparent) !important;
  backdrop-filter:blur(18px);
}
a{color:inherit}
.text-color,.text-primary,.btn-primary,.active>.text-color{color:var(--text)!important}
.bg-white,.layout-box,.up.bg-white,.shadow{background:transparent!important;box-shadow:none!important;color:var(--text)!important}
.zp-page,.layout-box.min{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.surface{
  background:color-mix(in srgb,var(--bg-elevated) 88%,var(--card)) !important;
  border:1px solid var(--border)!important;
  box-shadow:var(--shadow)!important;
  backdrop-filter:var(--glass-blur);
}

/* ===== DYOO 片库页（电影/剧集/动漫/综艺 = /mv /tv） ===== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.catalog-shell.panel,
.catalog-shell{
  display:grid!important;
  gap:10px!important;
  width:min(1200px,calc(100% - 32px))!important;
  margin:22px auto 0!important;
  padding:12px!important;
  border-radius:var(--radius-xl)!important;
  box-sizing:border-box;
}
.catalog-shell .filter-strip{
  align-items:center;
  display:flex;
  gap:12px;
  justify-content:space-between;
  flex-wrap:wrap;
}
.catalog-shell .active-filter-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
  align-items:center;
}
.catalog-shell .active-filter-row .muted{
  color:var(--text-soft);
  font-size:14px;
  font-weight:650;
}
.catalog-shell .filter-chip{
  align-items:center;
  background:var(--surface-strong);
  border:1px solid var(--border);
  border-radius:999px;
  color:var(--text);
  display:inline-flex;
  font-size:12px;
  font-weight:650;
  min-height:26px;
  padding:0 9px;
  text-decoration:none;
}
.catalog-shell .filter-actions{
  color:var(--text-soft);
  flex-wrap:wrap;
  font-size:13px;
  gap:8px;
  justify-content:flex-end;
  align-items:center;
  display:inline-flex;
}
.catalog-shell .inline-filter{
  align-items:center;
  display:inline-flex;
  gap:7px;
  min-height:32px;
}
.catalog-shell .sort-select{
  appearance:none;
  -webkit-appearance:none;
  background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);
  border:1px solid var(--border);
  border-radius:999px;
  color:var(--text);
  min-height:32px;
  padding:0 30px 0 12px;
  font:inherit;
  cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-soft) 50%),linear-gradient(135deg,var(--text-soft) 50%,transparent 50%);
  background-position:calc(100% - 14px) 55%,calc(100% - 9px) 55%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.catalog-shell .compact-action{
  font-size:13px;
  min-height:34px;
  padding-inline:12px;
}
.catalog-shell .mobile-filter-toggle{display:none}
.catalog-shell .filter-panel,
.catalog-shell .facet-grid{
  background:color-mix(in srgb,var(--bg-elevated) 80%,transparent);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  display:grid;
  gap:10px;
  padding:10px;
}
.catalog-shell .facet-row{
  align-items:start;
  display:grid;
  gap:8px;
  grid-template-columns:44px minmax(0,1fr);
}
.catalog-shell .facet-row strong{
  color:var(--text-soft);
  font-size:12px;
  padding-top:7px;
  font-weight:700;
}
.catalog-shell .facet-options{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding-bottom:2px;
}
.catalog-shell .compact-pill,
.facet-options .compact-pill{
  border-radius:999px;
  flex:0 0 auto;
  font-size:12px;
  min-height:31px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--border);
  background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);
  color:var(--text-soft);
  text-decoration:none;
  font-weight:650;
  box-sizing:border-box;
}
.catalog-shell .facet-options .active,
.catalog-shell .compact-pill.active{
  background:var(--accent)!important;
  border-color:transparent!important;
  color:var(--text-contrast)!important;
}
.catalog-grid.page-section,
.catalog-grid{
  display:grid!important;
  gap:18px!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  width:min(1200px,calc(100% - 32px))!important;
  margin:22px auto 0!important;
  padding:0!important;
}
.catalog-grid .media-card{
  border-radius:var(--radius-xl);
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:border-color .22s ease;
}
.catalog-grid .media-card:hover{border-color:var(--border-strong)}
.catalog-grid .card-title{
  display:block;
  font-size:16px;
  font-weight:750;
  line-height:1.25;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.catalog-grid .type-tags{
  color:var(--text-soft);
  display:block;
  font-size:12px;
  font-weight:650;
  letter-spacing:-.01em;
  line-height:1.25;
  overflow:hidden;
  white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg,#000,#000 calc(100% - 18px),transparent);
  mask-image:linear-gradient(90deg,#000,#000 calc(100% - 18px),transparent);
}
.catalog-grid .rating-strip span b{
  color:#ffffff9e;
  font-size:10px;
  font-weight:700;
  margin-right:3px;
}
.load-more-sentinel{
  width:min(1200px,calc(100% - 32px));
  margin:20px auto 0;
  min-height:70px;
  align-items:center;
  border-radius:var(--radius-xl);
  display:flex;
  justify-content:center;
  padding:12px;
  box-sizing:border-box;
}
.load-more-sentinel .ghost-button{
  text-decoration:none;
}
nav.pagination.surface,
.pagination.surface{
  width:min(1200px,calc(100% - 32px));
  margin:18px auto 0;
  align-items:center;
  border-radius:var(--radius-xl);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  padding:12px;
  box-sizing:border-box;
}
.pagination .page-number-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:center;
}
.pagination .page-number{
  align-items:center;
  background:color-mix(in srgb,var(--bg-elevated) 84%,transparent);
  border:1px solid var(--border);
  border-radius:999px;
  color:var(--text);
  display:inline-flex;
  font-size:13px;
  font-weight:700;
  justify-content:center;
  min-height:38px;
  min-width:38px;
  text-decoration:none;
  padding:0 10px;
  box-sizing:border-box;
}
.pagination .page-number.active{
  background:var(--accent);
  border-color:transparent;
  color:var(--text-contrast);
}
.pagination .page-nav{
  text-decoration:none;
}
.pagination .page-nav.disabled{
  opacity:.42;
  pointer-events:none;
}
@media (max-width:1040px){
  .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (max-width:820px){
  .catalog-grid{gap:14px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .catalog-shell,
  .catalog-grid,
  .load-more-sentinel,
  nav.pagination.surface{
    width:min(1200px,calc(100% - 24px))!important;
  }
  .catalog-shell .filter-actions span{font-size:12px}
  .catalog-shell .sort-select{max-width:100%;min-width:0}
}
@media (max-width:760px){
  .catalog-shell .filter-strip{align-items:flex-start;flex-direction:column}
  .catalog-shell .filter-actions{justify-content:flex-start;width:100%}
  .catalog-shell .active-filter-row{width:100%}
  .catalog-shell .facet-row{gap:6px;grid-template-columns:1fr}
  .catalog-shell .facet-row strong{padding-top:0}
  .catalog-shell .mobile-filter-toggle{display:inline-flex;margin-left:auto}
  .catalog-shell .filter-panel{display:none}
  .catalog-shell .filter-panel.is-mobile-open{display:grid}
  .pagination.surface{gap:8px;padding:10px}
  .pagination .page-number{min-width:34px;min-height:34px;font-size:12px}
}
@media (max-width:520px){
  .catalog-grid{gap:10px!important}
  .catalog-grid .card-body{gap:7px;min-height:64px;padding:10px}
  .catalog-grid .card-title{font-size:14px}
  .catalog-grid .type-tags{font-size:11px}
  .catalog-shell{padding:10px!important;margin-top:14px!important}
}

/* ===== 分类筛选：旧 type 页兼容 ===== */
.ck-filter{
  width:min(1200px,calc(100% - 32px))!important;
  margin:18px auto 0!important;
  padding:0!important;
}
.ck-filter .list-nav,
.ck-filter .top-type{
  width:100%!important;
  margin:0 0 12px!important;
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:color-mix(in srgb,var(--bg-elevated) 80%,transparent);
  backdrop-filter:blur(18px);
  padding:12px!important;
}
.ck-filter .list-nav ul{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:0;padding:0;list-style:none;
}
.ck-filter .list-nav h1{margin:0;font-size:18px;letter-spacing:-.03em}
.ck-filter .list-nav h1 a{color:var(--text)!important;font-weight:800}
.ck-filter .conreset a,.ck-filter .slideDown-btn{color:var(--text-soft)!important;font-size:13px}

.type-class,.zp-type-pinned,.type-selected{
  display:block!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  overflow:hidden; /* clear float */
}
.zp-type-label{
  float:left;
  width:48px;
  padding-top:8px;
  margin:0!important;
}
.zp-type-label .type-title,.type-title{
  color:var(--text-soft)!important;
  font-size:13px!important;
  font-weight:700!important;
  white-space:nowrap;
  display:inline!important;
  padding:0!important;border:0!important;background:transparent!important;min-height:0!important;
}
.zp-type-label .iconfont,.type-title .iconfont{display:none}
.zp-type-all{
  float:left;
  margin:0 8px 8px 0!important;
  padding:0!important;border:0!important;background:transparent!important;
  width:auto!important;
}
.zp-type-scroll{
  display:block!important;
  overflow:hidden!important; /* sit beside floated 全部 */
  margin:0!important;padding:0!important;border:0!important;background:transparent!important;
  max-height:none!important;width:auto!important;
}
.zp-type-scroll ul,.type-class ul,#nav,#mcid,#area,#year,#letter{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0!important;padding:0!important;list-style:none!important;
  width:auto!important;float:none!important;overflow:visible!important;max-height:none!important;
}
.type-class li,.zp-type-scroll li{float:none!important;width:auto!important;margin:0!important;padding:0!important;display:inline-flex!important}
.type-selected .zp-type-label{float:left;width:48px}
.type-selected ul.conbread{
  display:flex!important;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;overflow:hidden;
}
.type-selected .list-nav-total{display:block;clear:both;margin:8px 0 0;padding-left:48px}
.type-class a,.zp-type-all a,.type-class li a,.compact-pill{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:31px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  border:1px solid var(--border)!important;
  background:color-mix(in srgb,var(--bg-elevated) 86%,transparent)!important;
  color:var(--text-soft)!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1!important;
}
.type-class li.active a,.zp-type-all.active a,.type-class a.active,.list-nav a.active{
  background: #4b4242 !important;
  color:var(--text-contrast)!important;
  border-color:transparent!important;
}
.type-selected a,.opt a{
  display:inline-flex;align-items:center;min-height:26px;padding:0 9px;
  border-radius:999px;background:var(--surface-strong);border:1px solid var(--border);
  font-size:12px;font-weight:650;color:var(--text);
}
.list-nav-total{color:var(--text-muted);font-size:13px;margin:8px 0}

/* 顶栏导航：恢复 dyoo 原版圆角胶囊，不要下划线面包屑风 */
/* （已改回原版 zp-top / zp-cats 导航，旧 header-shell 规则停用） */

.section-title,.home-section-title{
  display:flex!important;align-items:flex-end;justify-content:space-between;gap:12px;
  margin:0 0 16px!important;
}
.section-kicker{color:var(--text-muted)!important;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}
.section-title h2,.home-section-title h2{margin:0!important;color:var(--text)!important;letter-spacing:-.04em}

/* ===== 首页热门 / 短评双栏 ===== */
.home-community-grid{
  display:grid!important;
  gap:16px!important;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr)!important;
  margin-top:38px!important;
  width:min(1200px,calc(100% - 32px));
  margin-left:auto;margin-right:auto;
}
.community-stream,.home-ranking{
  border-radius:var(--radius-2xl)!important;
  padding:18px!important;
  background:var(--card)!important;
  border:1px solid var(--border)!important;
  box-shadow:var(--shadow)!important;
  backdrop-filter:var(--glass-blur);
}
.community-stream .section-title h2,
.home-ranking .section-title h2{font-size:clamp(24px,3vw,32px)!important}
.community-review-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}
.community-review-card{
  background:var(--surface-soft)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-xl)!important;
  color:var(--text)!important;
  display:grid;gap:12px;grid-template-columns:58px minmax(0,1fr);
  min-height:120px;padding:12px;
}
.community-review-card img{aspect-ratio:2/3;border-radius:var(--radius-md);object-fit:cover;width:58px;height:auto}
.ranking-row{
  border-top:1px solid var(--border)!important;
  color:var(--text)!important;
  display:grid!important;
  gap:10px!important;
  grid-template-columns:36px minmax(0,1fr) auto!important;
  align-items:center;
  padding:13px 0!important;
  text-decoration:none!important;
}
.home-ranking .section-title+.ranking-row{border-top:0!important}
.ranking-row>span:first-child{
  color:var(--accent)!important;
  font-variant-numeric:tabular-nums;
  font-weight:860;font-size:18px;letter-spacing:-.04em;
}
.ranking-row:nth-child(-n+4)>span:first-child{color:var(--text)!important}
.ranking-row strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ranking-row small{color:var(--text-muted)!important;font-weight:750}

/* ===== 热门 / 榜单页（与片库发现同结构） ===== */
.hits-discovery{
  margin-top:22px;display:block!important;
}
.hits-discovery .top-featured-grid{margin:0 0 14px}
.hits-discovery .dy-rank-list{
  border:0!important;
  margin-bottom:18px;
  padding:6px 18px!important;
}
.hits-discovery .top-ranking-grid{
  border:0!important;
  margin-bottom:28px;
  padding:8px 18px!important;
}
.hits-controls{margin-bottom:12px}

.dy-hits-page,.ck-top-page{
  width:min(1200px,calc(100% - 32px))!important;
  margin:22px auto!important;
}
.dy-hits-page .section-title,
.ck-top-page .indextit{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin:0 0 16px!important;padding:0!important;border:0!important;background:transparent!important;
}
.dy-hits-page h2,.ck-top-page .indextit h2{
  font-size:clamp(28px,4vw,40px)!important;
  letter-spacing:-.05em!important;margin:0!important;color:var(--text)!important;
}
.top-featured-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;margin-bottom:22px;
}
.top-featured-card{
  border-radius:var(--radius-2xl)!important;
  border:1px solid var(--border)!important;
  background:var(--card)!important;
  backdrop-filter:var(--glass-blur);
  padding:22px!important;
  min-height:150px;
  display:flex;flex-direction:column;gap:10px;
  color:var(--text)!important;
  box-shadow:var(--shadow)!important;
}
.top-featured-card.imdb{background:linear-gradient(145deg,#1f1a14,#101010 55%,#0a0a0a)!important;color:#fff!important;border-color:#ffffff24!important}
.top-featured-card.douban{background:linear-gradient(145deg,#2a2118,#16120e 58%,#0c0a08)!important;color:#fff!important;border-color:#ffffff24!important}
.top-featured-card h3{font-size:24px;letter-spacing:-.03em;margin:0}
.top-featured-card p{margin:0;color:inherit;opacity:.78;line-height:1.6}
.top-featured-card .btn-go{
  margin-top:auto;align-self:flex-start;
  display:inline-flex;min-height:38px;align-items:center;padding:0 14px;
  border-radius:999px;background:#fff;color:#111;font-weight:800;font-size:13px;
}
.top-ranking-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 24px;
  border:1px solid var(--border);
  border-radius:var(--radius-2xl);
  background:var(--card);
  backdrop-filter:var(--glass-blur);
  padding:8px 18px;
  margin-bottom:22px;
}
.ranking-pc-item{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto!important;
  gap:12px;align-items:center;
  padding:14px 0!important;
  border-bottom:1px solid var(--border)!important;
  color:var(--text)!important;text-decoration:none!important;
}
.ranking-pc-item:nth-last-child(-n+2){border-bottom:0!important}
.rank-num{
  font-weight:860;font-size:20px;letter-spacing:-.04em;color:var(--text-muted)!important;
}
.rank-num.top1,.rank-num.top2,.rank-num.top3,.rank-num.top1,.rank-num.top2,.rank-num.top3{color:var(--text)!important}
.rank-title{font-size:15px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-hot{color:var(--text-muted)!important;font-size:12px;font-weight:650}
.dy-hits-tabs{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;
}
.dy-hits-tabs a{
  display:inline-flex;align-items:center;min-height:36px;padding:0 14px;
  border-radius:999px;border:1px solid var(--border);
  background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);
  color:var(--text-soft);font-size:13px;font-weight:700;
}
.dy-hits-tabs a.active,.dy-hits-tabs a:hover{
  background:var(--accent);color:var(--text-contrast);border-color:transparent;
}
.dy-rank-list{
  border:1px solid var(--border);border-radius:var(--radius-2xl);
  background:var(--card);backdrop-filter:var(--glass-blur);padding:8px 18px;
}
.dy-rank-item{
  display:grid;grid-template-columns:48px 64px minmax(0,1fr) auto;gap:14px;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none;
}
.dy-rank-item:last-child{border-bottom:0}
.dy-rank-item .n{font-weight:860;font-size:22px;letter-spacing:-.04em;color:var(--text-muted)}
.dy-rank-item:nth-child(-n+3) .n{color:var(--text)}
.dy-rank-item .pic{width:64px;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:var(--surface-strong)}
.dy-rank-item .pic img,.dy-rank-item .pic.lazyload{width:100%;height:100%;object-fit:cover;display:block;background-size:cover;background-position:center}
.dy-rank-item .meta strong{display:block;font-size:16px}
.dy-rank-item .meta span{color:var(--text-muted);font-size:12px}
.dy-rank-item .score{font-weight:850;font-size:18px}

/* 子榜单旧卡片兼容 */
.hot-card-list{
  width:min(1200px,calc(100% - 32px));margin:0 auto;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;list-style:none;
}
.hot-card{
  display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;
  border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);
  padding:12px;min-height:110px;
}
.hot-card-img .pic{display:block;width:72px;aspect-ratio:2/3;border-radius:12px;background-size:cover;background-position:center;position:relative}
.hot-card-img .pic i{
  position:absolute;left:6px;top:6px;min-width:22px;height:22px;border-radius:999px;
  background:var(--accent);color:var(--text-contrast);font-style:normal;font-size:11px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;padding:0 6px;
}
.hot-card-class{grid-column:2;color:var(--text-muted);font-size:12px}
.hot-card-info{grid-column:2}
.hot-card-info h3{margin:0 0 4px;font-size:16px}
.hot-card-info a{color:var(--text)!important}
.hot-card-info p{margin:0;color:var(--text-muted);font-size:12px}
.hot-card-foot{grid-column:2}
.hot-card-play{
  display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;
  background:var(--accent);color:var(--text-contrast)!important;font-size:12px;font-weight:750;
}
@media(max-width:880px){
  .hot-card-list{grid-template-columns:1fr}
}
.home-now-playing{position:relative;width:min(1200px,calc(100% - 32px));margin-left:auto;margin-right:auto}
.home-now-playing .now-playing-actions{position:absolute;right:0;top:0;z-index:2}
.page-section{width:min(1200px,calc(100% - 32px));margin-left:auto;margin-right:auto}
.home-latest-grid,.grid-cards{width:100%!important;margin:0!important}

.community-review-card:not(:has(img)){grid-template-columns:1fr}
.home-ranking .section-title{margin-bottom:4px!important}
.ghost-button{
  display:inline-flex;align-items:center;min-height:34px;padding:0 12px;
  border-radius:999px;border:1px solid var(--border);color:var(--text-soft)!important;
  font-size:13px;font-weight:700;text-decoration:none;background:transparent;
}
.ghost-button:hover{color:var(--text)!important;border-color:var(--border-strong)}

@media(max-width:880px){
  .home-community-grid{grid-template-columns:1fr!important}
  .community-review-grid{grid-template-columns:1fr}
  .top-featured-grid,.top-ranking-grid{grid-template-columns:1fr}
  .zp-type-label{float:none;width:auto;padding-top:0!important;margin-bottom:6px}
  .zp-type-all{float:none;display:inline-flex;margin:0 8px 8px 0!important}
  .zp-type-scroll{overflow:visible!important}
  .type-selected .list-nav-total{padding-left:0}
  .home-now-playing .now-playing-actions{position:static;justify-content:center;margin-bottom:10px}
}

/* ===== 片库发现 / 详情 ===== */
.library-discovery{
  margin-top:22px;
  display:block !important;
}
.discovery-hero{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  align-items:center !important;
  justify-content:space-between !important;
  gap:22px !important;
  padding:28px 30px !important;
  margin:0 0 14px !important;
  border-radius:var(--radius-hero) !important;
  box-sizing:border-box;
}
.discovery-hero-copy{
  flex:1 1 280px !important;
  min-width:0 !important;
  max-width:720px !important;
  display:block !important;
}
.discovery-hero .section-kicker,
.discovery-hero-copy .section-kicker{
  display:block !important;
  margin:0 0 4px !important;
  float:none !important;
}
.discovery-hero-title,
.discovery-hero h1{
  display:block !important;
  float:none !important;
  clear:both !important;
  width:auto !important;
  max-width:100% !important;
  margin:6px 0 0 !important;
  padding:0 !important;
  font-size:clamp(40px,6vw,64px) !important;
  line-height:1.08 !important;
  letter-spacing:-.06em !important;
  font-weight:800 !important;
  color:var(--text) !important;
  white-space:normal !important;
  word-break:keep-all;
}
.discovery-hero-desc,
.discovery-hero p{
  display:block !important;
  float:none !important;
  clear:both !important;
  width:auto !important;
  max-width:36em !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  color:var(--text-soft) !important;
  font-size:15px !important;
  line-height:1.75 !important;
  font-weight:450 !important;
  white-space:normal !important;
}
.discovery-hero-cta,
.discovery-hero .primary-button{
  flex:0 0 auto !important;
  align-self:center !important;
  margin:0 !important;
  float:none !important;
}
.primary-button{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;
  border-radius:999px;background:var(--accent);color:var(--text-contrast)!important;
  font-weight:800;font-size:14px;text-decoration:none;white-space:nowrap;
}
.discovery-controls{
  align-items:center;
  border-radius:var(--radius-xl);
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px 16px !important;
  padding:14px !important;
  margin-bottom:12px;
}
.control-tabs,.kind-tabs{
  align-items:center;display:flex;gap:8px;flex-wrap:wrap;
}
.library-search{
  align-items:center;display:flex;gap:8px;flex:1 1 240px;min-width:200px;
}
.control-tabs a,.kind-tabs a{
  background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text-soft)!important;
  min-height:38px;padding:0 14px;display:inline-flex;align-items:center;font-size:13px;font-weight:700;text-decoration:none;
}
.control-tabs a.active,.kind-tabs a.active{
  background:var(--accent);border-color:var(--accent);color:var(--text-contrast)!important;
}
.control-input{
  flex:1;min-width:0;min-height:38px;border-radius:999px;border:1px solid var(--border);
  background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);color:var(--text);
  padding:0 14px;font:inherit;
}
.discovery-result-summary{font-size:13px;color:var(--text-muted);min-height:20px;padding:0 4px 10px}
.library-card-grid,.home-library-grid.library-card-grid{
  display:grid!important;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));
  width:100%!important;margin:0!important;
}
.media-list-owner{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--text-muted);font-size:12px;margin-top:4px}
.media-list-owner em{font-style:normal;color:var(--text-soft)}
.media-list-stats{display:flex;gap:12px;color:var(--text-muted);font-size:12px;margin-top:8px}
.discovery-pagination{margin:18px auto 40px}

.library-detail{margin-top:22px}
.library-detail-hero{
  display:grid;gap:22px;grid-template-columns:minmax(180px,280px) minmax(0,1fr);
  padding:22px;border-radius:var(--radius-2xl);align-items:center;
}
.library-detail-cover{
  aspect-ratio:1;border-radius:var(--radius-xl);background:var(--surface-strong) center/cover no-repeat;
  border:1px solid var(--border);
}
.library-detail-copy h1{font-size:clamp(28px,4vw,44px);letter-spacing:-.05em;margin:6px 0 10px;color:var(--text)}
.library-detail-desc{color:var(--text-soft);line-height:1.7;margin:0 0 14px;max-width:640px}
.library-detail-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--text-muted);font-size:13px;margin-bottom:16px}
.library-detail-actions{display:flex;flex-wrap:wrap;gap:10px}

@media(max-width:980px){
  .discovery-hero{flex-direction:column !important;align-items:flex-start !important}
  .discovery-hero-cta{align-self:flex-start !important}
  .library-card-grid,.home-library-grid.library-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .library-detail-hero{grid-template-columns:1fr}
}
@media(max-width:560px){
  .library-card-grid,.home-library-grid.library-card-grid{grid-template-columns:1fr}
  .discovery-hero{padding:22px 18px !important}
  .discovery-hero-title,.discovery-hero h1{font-size:clamp(32px,10vw,44px) !important}
}

/* ===== 频道页：电影/剧集/动漫/综艺 ===== */
.channel-page{margin-top:18px}
/* 频道头与片库发现共用 discovery-hero，避免 kicker/标题/说明叠在一起 */
.channel-page .discovery-hero.channel-hero,
.channel-hero.discovery-hero{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:22px !important;
  padding:28px 30px !important;
  margin:0 0 14px !important;
}
.channel-page .discovery-hero-copy,
.channel-hero .discovery-hero-copy{
  flex:1 1 280px !important;
  min-width:0 !important;
  max-width:720px !important;
  display:block !important;
  position:relative !important;
  z-index:1;
}
.channel-page .discovery-hero-copy > *,
.channel-hero .discovery-hero-copy > *{
  position:relative !important;
  float:none !important;
  clear:both !important;
  display:block !important;
}
.channel-page .discovery-hero-title,
.channel-hero .discovery-hero-title,
.channel-hero h1{
  margin:6px 0 0 !important;
  line-height:1.08 !important;
  white-space:normal !important;
}
.channel-page .discovery-hero-desc,
.channel-hero .discovery-hero-desc,
.channel-hero p{
  margin:12px 0 0 !important;
  max-width:560px !important;
  line-height:1.65 !important;
  color:var(--text-soft) !important;
}
.channel-facets{
  border-radius:var(--radius-xl);padding:14px 16px;margin-bottom:28px;
  display:grid;gap:12px;
}
.facet-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:start}
.facet-label{color:var(--text-soft);font-size:13px;font-weight:700;padding-top:8px;white-space:nowrap}
.facet-options{display:flex;flex-wrap:wrap;gap:7px}
.facet-options a{
  display:inline-flex;align-items:center;min-height:31px;padding:0 11px;border-radius:999px;
  border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);
  color:var(--text-soft)!important;font-size:12px;font-weight:650;text-decoration:none;
}
.facet-options a.active,.facet-options a:hover{
  background:var(--accent);border-color:transparent;color:var(--text-contrast)!important;
}
.channel-block{margin-top:34px}
.channel-hot-grid{
  display:grid;gap:18px;grid-template-columns:minmax(280px,.85fr) minmax(0,1.4fr);align-items:start;
}
.channel-rank-box{border-radius:var(--radius-2xl);padding:8px 18px}
.channel-gold-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:980px){
  .channel-page .discovery-hero.channel-hero,
  .channel-hero.discovery-hero{flex-direction:column !important;align-items:flex-start !important}
  .channel-page .discovery-hero-cta,
  .channel-hero .discovery-hero-cta{align-self:flex-start !important}
  .channel-hot-grid{grid-template-columns:1fr}
  .channel-gold-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .facet-row{grid-template-columns:1fr}
  .facet-label{padding-top:0}
}
@media(max-width:640px){
  .channel-gold-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ===== 详情页：资料 Tab / 线路 / 分集 ===== */
.zp-vod-detail{margin-top:0}
.zp-vd-panel,#zp-playlist{
  width:min(1200px,calc(100% - 32px))!important;
  margin:18px auto 0!important;
  padding:16px 18px!important;
  border-radius:var(--radius-2xl)!important;
  background:var(--card)!important;
  border:1px solid var(--border)!important;
  box-shadow:var(--shadow)!important;
  box-sizing:border-box;
}
.detail-nav.dy-detail-tabs,
.detail-nav{
  display:block!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.detail-nav-track,
.detail-nav ul.swiper-wrapper,
.detail-nav .swiper-wrapper{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  float:none!important;
  width:100%!important;
}
.detail-nav a,
.detail-nav .swiper-slide,
.detail-nav-track a{
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:36px!important;
  padding:0 14px!important;
  margin:0!important;
  border-radius:999px!important;
  border:1px solid var(--border)!important;
  background:color-mix(in srgb,var(--bg-elevated) 88%,transparent)!important;
  color:var(--text-soft)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  position:relative!important;
  overflow:visible!important;
}
.detail-nav a::after,
.detail-nav .swiper-slide::after{display:none!important;content:none!important}
.detail-nav a.active,
.detail-nav a:hover,
.detail-nav .swiper-slide.active{
  background:var(--accent)!important;
  border-color:transparent!important;
  color:var(--text-contrast)!important;
}

.vod-box{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.vod-player,#Tab.vod-player{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  list-style:none!important;
  margin:0 0 12px!important;
  padding:0!important;
  float:none!important;
  width:100%!important;
}
.vod-player.min-player{display:none!important}
.vod-player > li{
  float:none!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.vod-player > li > a,
.vod-player > li.active > a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  border:1px solid var(--border)!important;
  background:color-mix(in srgb,var(--bg-elevated) 86%,transparent)!important;
  color:var(--text-soft)!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.vod-player > li.active > a,
.vod-player > li > a:hover{
  background:var(--accent)!important;
  border-color:transparent!important;
  color:var(--text-contrast)!important;
}
.vod-player .player-more{position:relative}
.vod-player .playe-more-list,
.vod-player .player-more{
  display:none;
  position:absolute;
  z-index:20;
  top:calc(100% + 6px);
  left:0;
  min-width:160px;
  padding:8px;
  border-radius:var(--radius-lg);
  background:var(--surface-strong);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.vod-player .player-more.open .playe-more-list,
.vod-player .playe-more-list.open{display:block}

.player-list{
  clear:both!important;
  max-height:320px!important;
  overflow:auto!important;
  margin:0!important;
  padding:4px 2px 2px!important;
  background:transparent!important;
  border:0!important;
}
.player-list > ul{
  display:none!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  width:100%!important;
}
.player-list > ul.show,
.player-list > ul.fade-in.show{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(110px,1fr))!important;
  gap:8px!important;
}
.player-list > ul > li,
.player-list > ul.show > li{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  min-height:0!important;
}
.player-list > ul > li a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:8px 10px!important;
  border-radius:var(--radius-md)!important;
  border:1px solid var(--border)!important;
  background:color-mix(in srgb,var(--bg-elevated) 90%,transparent)!important;
  color:var(--text)!important;
  font-size:13px!important;
  font-weight:650!important;
  text-decoration:none!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.player-list > ul > li a::after{display:none!important;content:none!important}
.player-list > ul > li a:hover,
.player-list > ul > li.active a{
  background:var(--accent)!important;
  border-color:transparent!important;
  color:var(--text-contrast)!important;
}

/* 子页壳 */
.layout-box.min.zp-page,
.zp-page.zp-music-page,
.zp-page.zp-lines-page,
.zp-page.zp-filmtime-page{
  width:min(1200px,calc(100% - 32px))!important;
  margin:18px auto 40px!important;
  float:none!important;
  background:transparent!important;
}
.zp-section.zp-board,
.zp-music-panel,
.zp-lines-panel{
  border-radius:var(--radius-2xl)!important;
  border:1px solid var(--border)!important;
  background:var(--card)!important;
  box-shadow:var(--shadow)!important;
  padding:16px 18px!important;
  margin:12px 0!important;
}
.zp-sec-head{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 14px!important;
  padding:0 0 12px!important;
  border-bottom:1px solid var(--border)!important;
}
.zp-sec-head h1,.zp-sec-head h2{
  margin:0!important;
  font-size:clamp(20px,3vw,28px)!important;
  letter-spacing:-.03em!important;
  color:var(--text)!important;
}
.user_add_detail{
  margin-left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  border:1px solid var(--border)!important;
  background:color-mix(in srgb,var(--bg-elevated) 86%,transparent)!important;
  color:var(--text-soft)!important;
  font-size:12px!important;
  font-weight:700!important;
  cursor:pointer;
}
.zp-empty.kong{
  padding:28px 12px!important;
  text-align:center!important;
  color:var(--text-muted)!important;
}

/* 详情英雄区贴合 dyoo 底色 */
.zp-vd-hero{
  border-radius:0 0 var(--radius-hero) var(--radius-hero);
  overflow:hidden;
}
.zp-vd-wrap{
  width:min(1200px,calc(100% - 32px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.zp-vd-body{
  width:min(1200px,calc(100% - 32px))!important;
  max-width:1200px!important;
  margin:18px auto 40px!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
.zp-vd-aside{display:none!important}
.zp-vd-main{width:100%!important;max-width:100%!important}
@media(max-width:900px){
  .player-list > ul.show{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))!important}
  .vod-player.min-player{display:flex!important}
  .vod-player#Tab{display:none!important}
}

/* ===== 频道原版页（mov/dianshi/dongman/zongyi）在 dyoo 下可读性 ===== */
.layout-box{
  width:min(1200px,calc(100% - 32px))!important;
  max-width:1200px!important;
  margin:16px auto 40px!important;
  padding:0!important;
  float:none!important;
  background:transparent!important;
  box-shadow:none!important;
}
.layout-box .mcat-box,
.mcat-box{
  border-radius:var(--radius-2xl)!important;
  border:1px solid var(--border)!important;
  background:var(--card)!important;
  box-shadow:var(--shadow)!important;
  padding:10px 14px!important;
  margin:0 0 18px!important;
  overflow:hidden;
}
.index-slide-box:not(.zp-home-hero){
  width:min(1200px,calc(100% - 32px))!important;
  margin:14px auto 0!important;
  border-radius:var(--radius-2xl)!important;
  overflow:hidden;
}
.pic-list.two-show{
  display:flex!important;
  flex-wrap:wrap!important;
  margin:0 -6px 18px!important;
  padding:0!important;
  list-style:none!important;
}
.pic-list.two-show > li.w8{
  float:none!important;
  width:12.5%!important;
  padding:6px!important;
  box-sizing:border-box!important;
}
.pic-list .pic{
  display:block!important;
  aspect-ratio:2/3;
  border-radius:var(--radius-xl)!important;
  background-size:cover!important;
  background-position:center!important;
  overflow:hidden;
  position:relative;
}
.box-title h2 a{color:inherit!important;text-decoration:none!important}
@media(max-width:1100px){
  .pic-list.two-show > li.w8{width:16.666%!important}
}
@media(max-width:820px){
  .pic-list.two-show > li.w8{width:25%!important}
}
@media(max-width:560px){
  .pic-list.two-show > li.w8{width:33.333%!important}
}

/* ===== 详情页：侧栏热门视频错位修复（覆盖 theme-site .hot-box 25% float） ===== */
.zp-vd-aside,
.zp-vod-detail .zp-vd-aside{
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.zp-vd-aside .hot-box,
.zp-vd-aside .hot-box.w100,
.zp-vd-aside .zp-hot-rank,
.zp-vd-aside .dy-aside-hot,
.zp-hot-rank.hot-box{
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  box-sizing:border-box!important;
  clear:both!important;
}
.zp-vd-aside .hot-card,
.zp-vd-aside .zp-hot-rank .hot-card{
  float:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  background:var(--card)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-2xl)!important;
  box-shadow:var(--shadow)!important;
  overflow:hidden!important;
}
/* 外层 hot-box 不再套一层边框，避免标题像漂在卡片外 */
.zp-vd-aside .hot-box.zp-hot-rank,
.zp-vd-aside .dy-aside-hot{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  margin:0!important;
  padding:0!important;
}
/* 标题 + 日周月：同一顶栏，左标题右 Tab */
.zp-vd-aside .zp-hot-rank-head,
.dy-aside-hot .zp-hot-rank-head{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:12px 14px!important;
  box-sizing:border-box!important;
  float:none!important;
  clear:both!important;
  border-bottom:1px solid var(--border)!important;
  background:linear-gradient(90deg,rgba(15,118,110,.06),transparent 70%)!important;
}
.zp-vd-aside .zp-hot-rank-title,
.dy-aside-hot .zp-hot-rank-title{
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  width:auto!important;
  max-width:48%!important;
  flex:0 1 auto!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.2!important;
  color:var(--ink)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.zp-vd-aside .zp-hot-rank-title .iconfont{
  color:var(--accent)!important;
  font-size:15px!important;
  flex-shrink:0;
}
.zp-vd-aside .zp-hot-rank-tabs.box-tab,
.zp-vd-aside .zp-hot-rank .box-tab,
.dy-aside-hot .box-tab{
  float:none!important;
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:2px!important;
  margin:0 0 0 auto!important;
  padding:3px!important;
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
  background:var(--bg-soft,rgba(15,23,42,.04))!important;
  border-radius:999px!important;
  list-style:none!important;
}
.zp-vd-aside .zp-hot-rank .box-tab li,
.dy-aside-hot .box-tab li{
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:6px 10px!important;
  font-size:12px!important;
  line-height:1!important;
  color:var(--muted)!important;
  border-radius:999px!important;
  cursor:pointer;
  white-space:nowrap!important;
}
.zp-vd-aside .zp-hot-rank .box-tab li.active,
.zp-vd-aside .zp-hot-rank .box-tab li:hover,
.dy-aside-hot .box-tab li.active,
.dy-aside-hot .box-tab li:hover{
  background:var(--accent)!important;
  color:#fff!important;
}
.zp-vd-aside .zp-hot-rank-body{
  padding:6px 10px 12px!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.zp-vd-aside .zp-hot-rank-item:hover{background:rgba(15,118,110,.06)!important}
.zp-vd-aside .zp-hot-rank-meta strong{color:var(--ink)!important}
.zp-vd-aside .zp-hot-rank-hits{color:var(--accent)!important}

/* ===== 详情页：观影状态（独立于详情框架外） ===== */
.dy-watch-status{
  width:min(1200px,calc(100% - 32px));
  margin:18px auto;
  padding:16px 18px;
  border-radius:var(--radius-2xl);
  border:1px solid var(--border);
  background:color-mix(in srgb,var(--bg-elevated) 88%,var(--card));
  box-shadow:var(--shadow);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 16px;
  box-sizing:border-box;
  position:relative;
  z-index:2;
}
.zp-vd-hero .dy-watch-status,
.zp-vd-info .dy-watch-status,
.zp-vd-wrap .dy-watch-status,
.zp-vd-block .dy-watch-status{
  /* 防止被误塞回详情框架时抢布局 */
  margin-left:0;
  margin-right:0;
  width:100%;
}
.dy-watch-copy .section-kicker{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
}
.dy-watch-copy strong{
  display:block;
  font-size:16px;
  color:var(--text);
  margin-bottom:4px;
}
.dy-watch-copy p{
  margin:0;
  font-size:13px;
  color:var(--text-soft);
  line-height:1.5;
}
.dy-watch-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.dy-watch-btn{
  appearance:none;
  border:1px solid var(--border);
  background:var(--bg-soft,var(--bg));
  color:var(--ink);
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  transition:background .2s,border-color .2s,color .2s;
}
.dy-watch-btn:hover{border-color:var(--accent);color:var(--accent)}
.dy-watch-btn.is-active{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--text-contrast)!important;
}
.dy-watch-link{
  font-size:12px;
  color:var(--text-muted);
  text-decoration:none;
  margin-left:4px;
}
.dy-watch-link:hover{color:var(--accent)}

.dy-verified-status .section-kicker{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
}
.dy-verified-note{
  margin:0 0 14px;
  font-size:13px;
  color:var(--text-soft);
  line-height:1.6;
}
.dy-status-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.dy-status-item{
  padding:14px 16px;
  border-radius:var(--radius-xl);
  border:1px solid var(--border);
  background:var(--bg-soft,rgba(15,23,42,.03));
}
.dy-status-item em{
  display:block;
  font-style:normal;
  font-size:12px;
  color:var(--text-muted);
  margin-bottom:6px;
}
.dy-status-item strong{
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--text);
  line-height:1.35;
}

/* ===== 详情资料区：跟主题切换（覆盖 theme-adaptive 白字/深底硬编码） ===== */
.zp-vd-hero{
  color:var(--text)!important;
  background:transparent!important;
}
.zp-vd-hero .zp-vd-bg{
  opacity:.42!important;
  filter:blur(26px) saturate(1.05)!important;
}
.zp-vd-hero .zp-vd-shade{
  background:
    linear-gradient(105deg,color-mix(in srgb,var(--bg) 94%,transparent) 0%,color-mix(in srgb,var(--bg) 78%,transparent) 48%,color-mix(in srgb,var(--bg) 35%,transparent) 100%),
    linear-gradient(0deg,color-mix(in srgb,var(--bg) 62%,transparent),transparent 52%)!important;
}
.zp-vd-hero .zp-vd-kicker{
  color:var(--text-muted)!important;
}
.zp-vd-hero .zp-vd-title,
.zp-vd-hero .zp-vd-title *{
  color:var(--text)!important;
}
.zp-vd-hero .zp-vd-status{
  color:var(--text-soft)!important;
  opacity:1!important;
}
.zp-vd-hero .zp-vd-tags a{
  background:var(--surface-soft)!important;
  border:1px solid var(--border)!important;
  color:var(--text-soft)!important;
}
.zp-vd-hero .zp-vd-meta,
.zp-vd-hero .zp-vd-meta li{
  color:var(--text-soft)!important;
}
.zp-vd-hero .zp-vd-meta em{
  color:var(--text-muted)!important;
}
.zp-vd-hero .zp-vd-meta a,
.zp-vd-hero .zp-vd-meta .zp-vd-links a,
.zp-vd-hero .zp-vd-meta .zp-vd-txt,
.zp-vd-hero .zp-vd-meta li > span,
.zp-vd-hero .zp-vd-meta li > span > a{
  color:var(--text)!important;
}
.zp-vd-hero .zp-vd-desc{
  color:var(--text-soft)!important;
}
.zp-vd-hero .tv-vod{
  background:color-mix(in srgb,var(--surface-soft) 88%,transparent)!important;
  border:1px solid var(--border)!important;
  color:var(--text)!important;
}
.zp-vd-hero .zp-vd-actions .sect-btn,
.zp-vd-hero .zp-vd-actions .cancel,
.zp-vd-hero .zp-vd-actions a.sect-btn,
.zp-vd-hero .zp-vd-actions a.cancel{
  background:color-mix(in srgb,var(--surface-strong) 88%,transparent)!important;
  border:1px solid var(--border)!important;
  color:var(--text)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.zp-vd-hero .zp-vd-actions .sect-btn:hover,
.zp-vd-hero .zp-vd-actions .cancel:hover{
  background:var(--accent)!important;
  border-color:transparent!important;
  color:var(--text-contrast)!important;
}

.zp-vd-panel,
#zp-playlist,
.zp-vd-block,
.dy-watch-status,
.dy-verified-status,
.dy-viewer-notes,
.dy-status-item,
.zp-vd-panel .vod-box,
.zp-vd-panel .player-list,
.zp-vd-main .vod-box,
.zp-vd-main .box-title{
  background:var(--card)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
  box-shadow:var(--shadow)!important;
}
.zp-vd-h2,
.zp-vd-block .box-title h2,
.zp-vd-block .box-title h3,
.dy-watch-copy strong,
.dy-status-item strong{
  color:var(--text)!important;
}
.zp-vd-article,
.zp-vd-article .txt-hid,
.zp-vd-article .txt-hidden,
.dy-verified-note,
.dy-watch-copy p,
.muted,
.section-kicker{
  color:var(--text-soft)!important;
}
.dy-watch-copy .section-kicker,
.dy-verified-status .section-kicker{
  color:var(--text-muted)!important;
}
.dy-watch-btn{
  background:var(--surface-strong)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
}
.dy-watch-btn.is-active{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--text-contrast)!important;
}
.dy-watch-link{color:var(--text-muted)!important}
.player-list > ul > li a,
.detail-nav a,
.detail-nav .swiper-slide{
  background:color-mix(in srgb,var(--bg-elevated) 90%,transparent)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
}
.player-list > ul > li a:hover,
.player-list > ul > li.active a,
.detail-nav a.active,
.detail-nav a:hover,
.detail-nav .swiper-slide.active{
  background:var(--accent)!important;
  border-color:transparent!important;
  color:var(--text-contrast)!important;
}
.zp-story-brief-item,
.zp-vd-star-card,
.dy-ref-card,
.role-card,
.comment-item,
.zp-cm-item{
  background:color-mix(in srgb,var(--surface-soft) 92%,transparent)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
}
html.dark .zp-vd-hero .zp-vd-bg{opacity:.55!important}
html.dark .zp-vd-block,
html.dark .zp-vd-panel,
html.dark #zp-playlist,
html.dark .dy-watch-status,
html.dark .dy-status-item,
html.dark .dy-viewer-notes{
  background:var(--card)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
}

/* ===== 手机详情：对齐 dyoo mobile-detail-hero（小海报+标题，取消大屏模糊底） ===== */
@media (max-width:820px){
  .zp-vod-detail > .zp-vd-hero,
  .zp-vd-hero{
    min-height:0!important;
    margin:12px auto 0!important;
    width:min(1200px,calc(100% - 24px))!important;
    max-width:1200px!important;
    border-radius:0!important;
    overflow:visible!important;
    color:var(--text)!important;
    background:transparent!important;
  }
  .zp-vd-hero .zp-vd-bg,
  .zp-vd-hero .zp-vd-shade{
    display:none!important;
  }
  .zp-vd-hero .zp-vd-wrap{
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    grid-template-columns:minmax(86px,28vw) minmax(0,1fr)!important;
    grid-template-areas:
      "poster info"
      "actions actions"!important;
    gap:14px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .zp-vd-hero .zp-vd-poster{
    display:contents!important;
  }
  .zp-vd-hero .zp-vd-poster > img{
    grid-area:poster;
    width:100%!important;
    height:auto!important;
    aspect-ratio:2/3;
    object-fit:cover;
    border-radius:18px!important;
    box-shadow:0 18px 45px rgba(0,0,0,.28)!important;
    background:var(--surface-strong)!important;
    border:1px solid var(--border);
  }
  .zp-vd-hero .zp-vd-info{
    grid-area:info;
    min-width:0;
    display:grid;
    gap:9px;
  }
  .zp-vd-hero .zp-vd-actions.remind-love,
  .zp-vd-hero .remind-love{
    grid-area:actions;
    display:flex!important;
    gap:8px!important;
    margin-top:2px!important;
    width:100%!important;
  }
  .zp-vd-hero .zp-vd-actions .sect-btn,
  .zp-vd-hero .zp-vd-actions .cancel,
  .zp-vd-hero .zp-vd-actions a.sect-btn,
  .zp-vd-hero .zp-vd-actions a.cancel{
    background:var(--surface-strong)!important;
    border:1px solid var(--border)!important;
    color:var(--text)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    min-height:40px;
    padding:8px 10px!important;
    font-size:13px!important;
  }
  .zp-vd-hero .zp-vd-kicker{
    color:var(--text-muted)!important;
    margin:0!important;
    font-size:11px!important;
    letter-spacing:.08em;
  }
  .zp-vd-hero .zp-vd-title{
    margin:0!important;
    color:var(--text)!important;
    font-size:clamp(28px,8vw,36px)!important;
    line-height:1.08!important;
    letter-spacing:-.04em;
  }
  .zp-vd-hero .zp-vd-status{
    display:inline-flex!important;
    align-items:center;
    margin:.35em 0 0!important;
    margin-left:0!important;
    padding:0 9px;
    min-height:24px;
    border-radius:999px;
    border:1px solid var(--border);
    background:color-mix(in srgb,var(--surface-soft) 92%,transparent);
    color:var(--text-soft)!important;
    font-size:11px!important;
    opacity:1!important;
  }
  .zp-vd-hero .zp-vd-tags{
    gap:7px!important;
    margin:0!important;
  }
  .zp-vd-hero .zp-vd-tags a{
    background:var(--surface-soft)!important;
    border:1px solid var(--border)!important;
    color:var(--text-soft)!important;
    padding:5px 9px!important;
    font-size:12px!important;
  }
  .zp-vd-hero .zp-vd-meta{
    border-top:1px solid var(--border);
    padding-top:10px;
    margin:0!important;
    gap:6px!important;
  }
  .zp-vd-hero .zp-vd-meta li{
    color:var(--text-soft)!important;
    font-size:12px!important;
    gap:10px!important;
  }
  .zp-vd-hero .zp-vd-meta em{
    color:var(--text-muted)!important;
    flex-basis:3em;
    width:3em;
  }
  .zp-vd-hero .zp-vd-meta .zp-vd-links a,
  .zp-vd-hero .zp-vd-meta .zp-vd-txt{
    color:var(--text)!important;
  }
  .zp-vd-hero .zp-vd-meta li:nth-child(n+4){display:none!important}
  .zp-vd-hero .zp-vd-desc{
    margin:0!important;
    color:var(--text-soft)!important;
    font-size:13px!important;
    line-height:1.65!important;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }
  .zp-vd-hero .tv-vod{display:none!important}

  .dy-watch-status{
    width:min(1200px,calc(100% - 24px))!important;
    margin:14px auto!important;
    padding:14px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    border-radius:var(--radius-xl)!important;
    background:
      radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--accent-soft) 30%,transparent),transparent 42%),
      color-mix(in srgb,var(--surface-soft) 92%,transparent)!important;
  }
  .dy-watch-actions{
    width:100%;
  }
  .dy-watch-btn{
    flex:1 1 0;
    min-height:38px;
    justify-content:center;
    display:inline-flex;
    align-items:center;
  }
  .dy-watch-link{
    width:100%;
    text-align:center;
    margin:4px 0 0!important;
  }
  .zp-vd-body{
    width:min(1200px,calc(100% - 24px))!important;
    margin:14px auto 88px!important;
  }
  .zp-vd-panel{
    width:min(1200px,calc(100% - 24px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .dy-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:520px){
  .zp-vd-hero .zp-vd-wrap{
    gap:12px!important;
    grid-template-columns:minmax(82px,30vw) minmax(0,1fr)!important;
  }
  .zp-vd-hero .zp-vd-poster > img{border-radius:16px!important}
  .zp-vd-hero .zp-vd-title{font-size:clamp(25px,7.6vw,32px)!important}
  .dy-watch-status{padding:12px!important}
}
@media (max-width:420px){
  .zp-vd-hero .zp-vd-wrap{
    grid-template-columns:minmax(76px,29vw) minmax(0,1fr)!important;
  }
  .dy-status-grid{grid-template-columns:1fr!important}
}
@media (max-width:360px){
  .zp-vd-hero .zp-vd-wrap{
    grid-template-columns:74px minmax(0,1fr)!important;
  }
}

/* ===== 影迷评价与外部参考：双栏 ===== */
.dy-viewer-notes{
  margin:22px 0 0!important;
  padding:0!important;
  background:var(--card)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-2xl)!important;
  box-shadow:var(--shadow)!important;
  overflow:hidden;
  float:none!important;
  width:auto!important;
}
.dy-vn-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px 16px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(105deg,rgba(15,118,110,.07),transparent 55%);
}
.dy-vn-head-copy .section-kicker{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.dy-vn-title{
  margin:0 0 6px!important;
  font-size:1.2rem!important;
  font-weight:800!important;
  color:var(--ink)!important;
  line-height:1.3;
}
.dy-vn-desc{
  margin:0;
  max-width:52em;
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
}
.dy-vn-head-meta{
  flex-shrink:0;
  text-align:right;
  color:var(--muted);
  font-size:12px;
  line-height:1.2;
}
.dy-vn-head-meta em{
  display:block;
  font-style:normal;
  font-size:28px;
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.02em;
}
.dy-vn-grid{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);
  gap:0;
  align-items:stretch;
}
.dy-vn-main{
  min-width:0;
  border-right:1px solid var(--border);
  padding:0 0 12px;
}
.dy-vn-aside{
  min-width:0;
  background:rgba(15,23,42,.02);
  padding:16px 16px 20px;
}
.dy-vn-panel{padding:16px 18px 8px}
.dy-vn-panel-label{
  margin:0 0 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--muted);
  text-transform:uppercase;
}
.dy-vn-compose{padding-bottom:4px;border-bottom:1px dashed var(--border)}
.dy-vn-feed{padding-top:14px}
.dy-viewer-notes .zp-cm-composer{
  margin:0!important;
  padding:0!important;
}
.dy-viewer-notes .zp-cm-list,
.dy-viewer-notes #comment{
  padding:0!important;
}
.dy-vn-badge{
  display:inline-flex!important;
  align-items:center;
  height:20px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(15,118,110,.1);
  color:var(--accent)!important;
  font-size:11px!important;
  font-weight:700;
  font-style:normal!important;
}
.dy-vn-page{
  margin:8px 0 12px!important;
  padding:0!important;
}
.dy-vn-refs-note{
  margin:0 0 12px;
  font-size:12px;
  line-height:1.55;
  color:var(--muted);
}
.dy-ref-card{
  padding:14px;
  margin:0 0 10px;
  border-radius:var(--radius-xl);
  border:1px solid var(--border);
  background:var(--card);
}
.dy-ref-brand{
  font-size:12px;
  font-weight:700;
  color:var(--muted);
  margin-bottom:8px;
}
.dy-ref-score{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:6px;
}
.dy-ref-score strong{
  font-size:28px;
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.03em;
  line-height:1;
}
.dy-ref-stars{
  font-size:12px;
  color:#d97706;
  letter-spacing:.05em;
}
.dy-ref-meta{
  font-size:12px;
  color:var(--muted);
  margin-bottom:8px;
}
.dy-ref-link{
  display:inline-block;
  font-size:12px;
  font-weight:650;
  color:var(--accent);
  text-decoration:none;
}
.dy-ref-link:hover{text-decoration:underline}
.dy-ref-link.is-muted{
  color:var(--muted);
  font-weight:500;
  cursor:default;
}
.dy-ref-tips{
  margin-top:14px;
  padding:12px 14px;
  border-radius:var(--radius-xl);
  border:1px dashed var(--border);
  background:rgba(15,118,110,.04);
}
.dy-ref-tips strong{
  display:block;
  font-size:13px;
  color:var(--ink);
  margin-bottom:8px;
}
.dy-ref-tips ul{
  margin:0;
  padding:0 0 0 1.1em;
  list-style:disc;
}
.dy-ref-tips li{
  font-size:12px;
  line-height:1.55;
  color:var(--muted);
  margin:0 0 4px;
}
.dy-viewer-notes .zp-cm-empty,
.dy-viewer-notes .kong{
  list-style:none!important;
  padding:28px 12px!important;
  text-align:center;
  color:var(--muted)!important;
  font-size:14px;
  border:0!important;
  display:block!important;
}
@media(max-width:960px){
  .dy-vn-grid{grid-template-columns:1fr}
  .dy-vn-main{border-right:0;border-bottom:1px solid var(--border)}
  .dy-vn-head{align-items:flex-start;flex-direction:column}
  .dy-vn-head-meta{text-align:left}
}

/* ===== 首页：导演与演员 / 明星角色（对齐 dyoo Creative Profiles） ===== */
.people-section{
  overflow:visible!important;
  margin-top:36px!important;
}
.people-rail{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:clamp(8px,1.4vw,22px)!important;
  padding:6px 0 8px!important;
  margin:0!important;
  list-style:none!important;
}
.person-card{
  display:grid!important;
  gap:12px!important;
  min-width:0!important;
  text-align:center!important;
  text-decoration:none!important;
  color:inherit!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  float:none!important;
  width:auto!important;
}
.person-card:hover{opacity:.92}
.person-card-art{
  aspect-ratio:1!important;
  width:min(100%,128px)!important;
  margin:0 auto!important;
  border-radius:50%!important;
  overflow:hidden!important;
  border:1px solid var(--border)!important;
  background:var(--card)!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
}
.person-card-art img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.person-card-art > span{
  font-size:28px!important;
  font-weight:800!important;
  color:var(--text-soft)!important;
  line-height:1!important;
}
.person-card-copy{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
}
.person-card-copy strong,
.person-card-copy span{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.person-card-copy strong{
  font-size:14px!important;
  font-weight:750!important;
  color:var(--text)!important;
}
.person-card-copy span{
  font-size:12px!important;
  color:var(--text-muted)!important;
}
.people-section-roles .person-card-art{
  border-radius:22px!important;
}
.people-section-roles .person-card-art img{
  border-radius:22px!important;
}
@media(max-width:1100px){
  .people-rail{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .people-rail{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .people-rail{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  .person-card{gap:8px!important}
  .person-card-copy strong{font-size:12px!important}
  .person-card-copy span{font-size:10px!important}
}
