:root {
  /* ZZ-001 掌中玫瑰辉 Palm Glow —— 暖杏掌面底 + 玫瑰荧主色 + 萤火橙/琥珀暖光 */
  --zz-paper: #f8f1ea;
  --zz-surface: #fdf9f4;
  --zz-surface-2: #f3e7dd;
  --zz-ink: #33202a;
  --zz-muted: #7c6068;
  --zz-faint: #a88e96;
  --zz-line: #dcc9c9;
  --zz-line-dark: #b3989c;
  --zz-teal: #c73e5e;
  --zz-teal-dark: #96224a;
  --zz-orange: #e86a3a;
  --zz-red: #d14444;
  --zz-yellow: #e0a13c;
  --zz-display: Optima, "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
  --zz-body: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
  --zz-shell: 1360px;
}

html { scroll-behavior: smooth; }
body {
  min-width: 320px;
  background: var(--zz-paper);
  color: var(--zz-ink);
  font-family: var(--zz-body);
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}
body.zz-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--zz-teal-dark); }
button, input, textarea, select { color: inherit; }
button { cursor: pointer; }
svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
img { background: var(--zz-surface-2); object-fit: cover; }
::selection { background: var(--zz-yellow); color: var(--zz-ink); }
:focus-visible { outline: 3px solid var(--zz-orange); outline-offset: 3px; }

.zz-shell, .zz-wrap {
  width: min(calc(100% - 48px), var(--zz-shell));
  margin-inline: auto;
}
.zz-section { padding: 64px 0; }
.zz-skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 10px;
  padding: 8px 14px;
  background: var(--zz-ink);
  color: var(--zz-surface);
  transform: translateY(-160%);
}
.zz-skip-link:focus { transform: translateY(0); }

/* Header */
.zz-header {
  position: sticky;
  z-index: 80;
  top: 0;
  background: color-mix(in srgb, var(--zz-paper) 96%, transparent);
  border-bottom: 1px solid var(--zz-line-dark);
}
.zz-header__utility { background: var(--zz-ink); color: var(--zz-surface); font-size: 11px; text-transform: uppercase; }
.zz-header__utility .zz-shell { min-height: 28px; display: flex; align-items: center; justify-content: space-between; }
.zz-header__utility nav { display: flex; gap: 22px; }
.zz-header__utility a:hover { color: var(--zz-yellow); }
.zz-header__inner { min-height: 76px; display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(240px, 330px) auto; align-items: center; gap: 30px; }
.zz-brand { min-width: 176px; display: inline-flex; align-items: center; }
.zz-brand__logo { display: block; width: auto; max-width: 176px; height: 40px; object-fit: contain; background: transparent; }
.zz-brand__fallback { display: inline-flex; align-items: center; gap: 10px; }
.zz-brand__mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px 13px 13px 4px; background: var(--zz-teal); color: var(--zz-surface); font-family: var(--zz-display); font-size: 22px; }
.zz-brand__copy { display: grid; line-height: 1.15; }
.zz-brand__copy strong { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--zz-display); font-size: 18px; }
.zz-brand__copy small { margin-top: 4px; color: var(--zz-muted); font-size: 9px; font-weight: 700; letter-spacing: 0.12em; }
.zz-nav { display: flex; align-items: center; min-width: 0; gap: 2px; }
.zz-nav > a, .zz-nav__link { display: inline-flex; min-height: 42px; align-items: center; padding: 0 12px; font-size: 14px; font-weight: 650; white-space: nowrap; }
.zz-nav > a.active, .zz-nav__item.is-active .zz-nav__link, .zz-nav__link:hover { color: var(--zz-teal); }
.zz-nav__item { position: relative; padding-bottom: 14px; margin-bottom: -14px; }
/* Invisible hover bridge — keeps dropdown visible while mouse crosses the 12px gap */
.zz-nav__item::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 0;
  right: 0;
  height: 14px;
}
.zz-nav__row { display: flex; align-items: center; }
.zz-nav__toggle { width: 24px; height: 36px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; }
.zz-nav__toggle svg { width: 13px; }
.zz-nav__dropdown { position: absolute; top: calc(100% + 12px); left: 0; display: none; width: 220px; padding: 8px 0; background: var(--zz-surface); border: 1px solid var(--zz-line-dark); }
.zz-nav__dropdown a { display: block; padding: 8px 16px; border-bottom: 1px solid var(--zz-line); font-size: 13px; }
.zz-nav__dropdown a:last-child { border-bottom: 0; }
.zz-nav__item:hover .zz-nav__dropdown,
.zz-nav__item:focus-within .zz-nav__dropdown { display: block; }
.zz-nav__divider { width: 1px; height: 22px; margin: 0 4px; background: var(--zz-line); }
.zz-nav__utility { color: var(--zz-muted); }
.zz-nav__drawer-head, .zz-search--drawer { display: none; }
.zz-search { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; border-bottom: 1px solid var(--zz-line-dark); }
.zz-search svg { width: 17px; }
.zz-search input { min-width: 0; height: 40px; border: 0; outline: 0; background: transparent; }
.zz-search button { padding: 5px 8px; border: 0; background: transparent; color: var(--zz-teal-dark); font-size: 13px; font-weight: 700; }
.zz-search--drawer { display: none; }
.zz-header__actions { display: flex; align-items: center; gap: 6px; }
.zz-icon-action, .zz-menu-btn { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid var(--zz-line-dark); background: transparent; }
.zz-icon-action svg, .zz-menu-btn svg { width: 19px; }
.zz-menu-btn { display: none; }
.zz-drawer-backdrop { display: none; }

/* Home index */
.zz-index-lead { padding: 0 0 6px; border-bottom: 0; margin-top: 10px;}
.zz-index-lead__grid { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(300px, 0.85fr); gap: 40px; align-items: start; }
.zz-index-floor > .zz-shell > header > span, .zz-index-section-head span, .zz-related-index > header span { color: var(--zz-teal); font-size: 11px; font-weight: 800; letter-spacing: 0.13em; }
/* Hidden by request: lead-area heading strip ("今日主推 / 完整榜单 / 正在流行 / 周榜") */
.zz-index-lead .zz-index-heading { display: none; }
.zz-index-feature__stage { position: relative; }
.zz-index-feature__slides { position: relative; min-height: 430px; overflow: hidden; }
.zz-index-feature__slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr); min-height: 430px; opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(12px); transition: opacity 280ms ease-out, transform 360ms ease-out, visibility 280ms; }
.zz-index-feature__slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(0); }
.zz-index-feature__image { position: relative; min-height: 430px; overflow: hidden; background: var(--zz-surface-2); }
.zz-index-feature__image img { width: 100%; height: 100%; position: absolute; inset: 0; }
.zz-index-feature__image span { position: absolute; left: 0; bottom: 0; padding: 7px 12px; background: var(--zz-orange); color: var(--zz-surface); font-size: 12px; font-weight: 800; }
.zz-index-feature__copy { min-width: 0; display: flex; align-self: stretch; flex-direction: column; padding: 16px 0 10px 26px; border-top: 4px solid var(--zz-orange); }
.zz-index-feature__copy h2 { margin: 0 0 8px; font-family: var(--zz-display); font-size: clamp(29px, 2.35vw, 40px); font-weight: 500; line-height: 1.14; }
.zz-index-feature__copy h2 a { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.zz-index-feature__eyebrow { color: var(--zz-teal); font-size: 11px; font-weight: 800; letter-spacing: 0.04em; }
/* 轮播信息区：掌心托盘（zz003 美化）——圆角描边托盘 + 玫瑰标签 + 琥珀评分井 */
.zz-index-feature__facts { display: grid; grid-template-columns: minmax(0, 1fr) 104px; margin: 17px 0 14px; border: 1px solid var(--zz-line); border-radius: 18px 18px 18px 5px; background: var(--zz-surface); box-shadow: 0 10px 26px color-mix(in srgb, var(--zz-ink) 8%, transparent); overflow: hidden; }
.zz-index-feature__facts > div { min-width: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 8px 14px; border-bottom: 1px solid color-mix(in srgb, var(--zz-line) 68%, transparent); font-size: 11px; line-height: 1.45; }
.zz-index-feature__facts > div:nth-child(odd) { grid-column: 1; }
.zz-index-feature__facts > div:nth-child(even) { grid-column: 1; }
.zz-index-feature__facts > div:last-child { grid-column: 2; grid-row: 1 / span 3; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 3px; padding: 10px 8px; border-bottom: 0; border-left: 1px solid var(--zz-line); background: linear-gradient(165deg, color-mix(in srgb, var(--zz-yellow) 30%, var(--zz-surface)), color-mix(in srgb, var(--zz-teal) 9%, var(--zz-surface))); }
.zz-index-feature__facts dt { color: var(--zz-teal); font-weight: 800; letter-spacing: 0.08em; }
.zz-index-feature__facts > div:last-child dt { color: var(--zz-muted); font-weight: 700; letter-spacing: 0.18em; }
.zz-index-feature__facts dd { min-width: 0; overflow: hidden; color: var(--zz-ink); text-overflow: ellipsis; white-space: nowrap; }
.zz-index-feature__facts .zz-index-feature__score { overflow: visible; color: var(--zz-teal-dark); font-family: var(--zz-display); font-size: 30px; font-weight: 800; line-height: 1.1; letter-spacing: -0.01em; background: linear-gradient(135deg, var(--zz-teal), var(--zz-orange)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.zz-index-feature__summary { display: -webkit-box; overflow: hidden; color: var(--zz-muted); font-size: 12px; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.zz-index-feature__detail { width: fit-content; margin-top: auto; padding-bottom: 2px; border-bottom: 1px solid var(--zz-teal); color: var(--zz-teal-dark); font-size: 11px; font-weight: 800; }
.zz-index-feature__detail span { margin-left: 5px; }
.zz-index-feature__nav { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--zz-line-dark); border-bottom: 1px solid var(--zz-line); }
/* 轮播切换区（zz005 美化）：数字胶囊 + 圆环箭头钮 + 渐变进度条 */
.zz-index-feature__dots { display: flex; align-items: center; gap: 4px; }
.zz-index-feature__dots button { min-width: 32px; height: 26px; padding: 0 6px; border: 0; border-radius: 999px; background: transparent; color: var(--zz-faint); font-size: 10px; font-weight: 800; letter-spacing: 0.04em; transition: color 180ms ease-out, background-color 180ms ease-out; }
.zz-index-feature__dots button:hover { color: var(--zz-teal); background: color-mix(in srgb, var(--zz-teal) 8%, transparent); }
.zz-index-feature__dots button.is-active { background: linear-gradient(135deg, var(--zz-teal), var(--zz-orange)); color: var(--zz-surface); box-shadow: 0 4px 12px color-mix(in srgb, var(--zz-teal) 35%, transparent); }
.zz-index-feature__controls { display: grid; grid-template-columns: 34px 84px 34px; align-items: center; gap: 8px; }
.zz-index-feature__controls button { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 1px solid var(--zz-line-dark); border-radius: 50%; background: transparent; color: var(--zz-ink); transition: border-color 180ms ease-out, color 180ms ease-out, background-color 180ms ease-out, transform 120ms ease-out; }
.zz-index-feature__controls button:hover { border-color: var(--zz-teal); color: var(--zz-teal); background: color-mix(in srgb, var(--zz-teal) 7%, var(--zz-surface)); }
.zz-index-feature__controls button:active { transform: scale(0.92); }
.zz-index-feature__controls svg { width: 15px; }
.zz-index-feature__progress { height: 3px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--zz-line) 85%, transparent); }
.zz-index-feature__progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--zz-teal), var(--zz-orange)); transform: scaleX(0); transform-origin: left center; }
.zz-index-feature__progress span.is-running { animation: zz-index-feature-progress 6.2s linear forwards; }
@keyframes zz-index-feature-progress { to { transform: scaleX(1); } }
.zz-index-rank { min-width: 0; }
.zz-index-rank ol, .zz-index-floor__chart, .zz-related-index ol { list-style: none; border-top: 1px solid var(--zz-line-dark); }
/* Home: rank + floor chart keep 3-col layout with score on the right */
.zz-index-rank li > a, .zz-index-floor__chart li > a { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 55px; border-bottom: 1px solid var(--zz-line); }
.zz-index-rank li b, .zz-index-floor__chart li b { color: var(--zz-orange); font-size: 11px; }
.zz-index-rank li span, .zz-index-floor__chart li span { min-width: 0; display: grid; line-height: 1.3; }
.zz-index-rank li strong, .zz-index-floor__chart li strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.zz-index-rank li em, .zz-index-floor__chart li em { margin-top: 4px; overflow: hidden; color: var(--zz-muted); font-size: 11px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
/* Detail page: compact similar list — type/year on the title's right, no score column */
.zz-related-index li > a { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 38px; padding: 6px 0; border-bottom: 1px solid var(--zz-line); }
.zz-related-index li b { color: var(--zz-orange); font-size: 11px; }
.zz-related-index li span { min-width: 0; display: flex; align-items: baseline; gap: 8px; line-height: 1.3; }
.zz-related-index li strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 0 1 auto; max-width: 60%; font-size: 14px; }
.zz-related-index li em { color: var(--zz-muted); font-size: 11px; font-style: normal; flex: 1 1 auto; text-align: right; }
.zz-index-rank li i, .zz-index-floor__chart li i { color: var(--zz-teal); font-family: var(--zz-display); font-size: 14px; font-style: normal; }
.zz-index-updates, .zz-index-news, .zz-dossier-more { padding: 10px 0; }
.zz-index-section-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 16px; padding-bottom: 0; border-bottom: 0; }
.zz-index-section-head h2 { margin-top: 4px; font-family: var(--zz-display); font-size: 29px; font-weight: 500; line-height: 1.2; }
.zz-index-section-head > a { color: var(--zz-teal-dark); font-size: 13px; font-weight: 700; }
.zz-index-update-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 22px; row-gap: 18px; border-top: 0; }
.zz-index-floors { border-top: 0; }
.zz-index-floor { padding: 10px 0;}
.zz-index-floor:nth-child(even) { background: var(--zz-surface-2); }
.zz-index-floor__grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(270px, 0.72fr); gap: 2px 36px; }
.zz-index-floor__grid > header { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 0; border: 0; }
.zz-index-floor__grid > header h2 { margin: 0; font-family: var(--zz-display); font-size: 30px; font-weight: 500; }
.zz-index-floor__grid > header a { display: inline-flex; align-items: center; padding-bottom: 2px; border-bottom: 1px solid var(--zz-teal); color: var(--zz-teal-dark); font-size: 13px; font-weight: 700; }
.zz-index-floor__chart { align-self: start; }
.zz-index-floor__latest { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; row-gap: 16px; border-top: 0; }
.zz-index-news { background: var(--zz-yellow); padding: 20px 0; }
.zz-index-news__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 46px; border-top: 0; }
.zz-index-news__list article > a { min-height: 104px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 106px; gap: 16px; align-items: center; border-bottom: 1px solid color-mix(in srgb, var(--zz-ink) 30%, transparent); }
.zz-index-news__list article > a > span { font-size: 11px; font-weight: 800; }
.zz-index-news__list p { font-size: 11px; font-weight: 700; }
.zz-index-news__list h3 { margin: 4px 0; font-family: var(--zz-display); font-size: 17px; font-weight: 500; line-height: 1.4; }
.zz-index-news__list em { display: block; overflow: hidden; color: color-mix(in srgb, var(--zz-ink) 72%, transparent); font-size: 12px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.zz-index-news__list img { width: 106px; height: 76px; }

/* Reusable content rows —— 掌辉环抱卡 Palm Cradle Card */
.zz-vod-card { min-width: 0; border: 1px solid var(--zz-line); border-radius: 22px 22px 22px 6px; background: var(--zz-surface); padding: 10px 14px; transition: border-color 200ms ease-out, box-shadow 200ms ease-out; }
.zz-vod-card:hover { border-color: var(--zz-teal); animation: zz-card-breathe 1.4s ease-out infinite; }
@keyframes zz-card-breathe {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--zz-teal) 34%, transparent); }
  70% { box-shadow: 0 0 0 12px color-mix(in srgb, var(--zz-teal) 0%, transparent); }
  100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--zz-teal) 0%, transparent); }
}
.zz-vod-card > a { position: relative; min-height: 168px; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 18px; align-items: center; padding: 4px 0; }
.zz-vod-card__serial { position: absolute; z-index: 2; top: 8px; left: 8px; min-width: 30px; padding: 3px 9px; border-radius: 999px; background: var(--zz-teal); color: var(--zz-surface); font-size: 10px; text-align: center; letter-spacing: 0.06em; }
.zz-vod-card__pic { position: relative; width: 110px; height: 148px; overflow: hidden; border-radius: 16px 16px 16px 4px; box-shadow: 0 8px 18px color-mix(in srgb, var(--zz-ink) 18%, transparent); }
.zz-vod-card__pic img { width: 100%; height: 100%; }
.zz-vod-card__note { position: absolute; right: 6px; bottom: 6px; max-width: 88%; padding: 3px 10px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--zz-ink) 76%, transparent); color: var(--zz-surface); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.zz-vod-card__score { position: absolute; top: 0; right: 0; padding: 3px 10px; border-radius: 0 16px 0 12px; background: var(--zz-yellow); color: var(--zz-ink); font-family: var(--zz-display); font-size: 13px; font-weight: 700; }
.zz-vod-card__body { min-width: 0; display: block; }
.zz-vod-card__body h3 { position: relative; display: inline-block; margin-bottom: 8px; overflow: visible; font-family: var(--zz-display); font-size: 17px; font-weight: 700; line-height: 1.35; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
.zz-vod-card__body h3::after { content: ""; position: absolute; left: 0; bottom: -3px; width: 100%; height: 3px; border-radius: 999px 999px 2px 2px / 100% 100% 2px 2px; background: linear-gradient(90deg, var(--zz-teal), var(--zz-orange)); transform: scaleX(0); transform-origin: left center; transition: transform 260ms ease-out; }
.zz-vod-card:hover .zz-vod-card__body h3 { color: var(--zz-teal-dark); }
.zz-vod-card:hover .zz-vod-card__body h3::after { transform: scaleX(1); }
.zz-vod-card__body p { color: var(--zz-teal-dark); font-size: 11px; font-weight: 700; }
.zz-vod-card__body em { display: -webkit-box; margin-top: 7px; overflow: hidden; color: var(--zz-muted); font-size: 12px; font-style: normal; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.zz-directory-head, .zz-search-hero, .zz-news-head, .zz-page-hero, .zz-rank-hero { padding: 50px 0 30px; border-bottom: 1px solid var(--zz-line-dark); }
.zz-directory-head h1, .zz-search-hero h1, .zz-news-head h1, .zz-page-hero h1, .zz-rank-hero h1 { font-family: var(--zz-display); font-size: 40px; font-weight: 500; line-height: 1.2; }
.zz-directory-head p, .zz-news-head p { margin-top: 8px; color: var(--zz-muted); }
/* Hero area visually hidden when header strip is removed (channel / show / map pages) */
.zz-channel-page .zz-directory-body,
.zz-catalog-page .zz-directory-body { padding-top: 24px; padding-bottom: 56px; }
.zz-directory-body { padding: 36px 0 72px; }
.zz-directory-toolbar, .zz-catalog-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin-top: 24px; border-top: 1px solid var(--zz-line-dark); border-bottom: 1px solid var(--zz-line-dark); }
.zz-directory-toolbar span, .zz-catalog-toolbar span { color: var(--zz-muted); font-size: 12px; }
.zz-directory-grid, .zz-channel-grid, .zz-vod-grid, .zz-card-grid, .zz-poster-wall { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 26px; row-gap: 22px; }
.zz-filter { border-top: 1px solid var(--zz-line-dark); border-bottom: 1px solid var(--zz-line-dark); }
.zz-filter__mobile-toggle { display: none; }
.zz-filter__row { display: grid; grid-template-columns: 92px minmax(0, 1fr); border-bottom: 1px solid var(--zz-line); }
.zz-filter__row > strong { padding: 10px 14px 10px 0; border-right: 1px solid var(--zz-line); font-size: 12px; }
.zz-filter__items { display: flex; flex-wrap: wrap; gap: 2px 4px; padding: 7px 12px; }
.zz-filter__items a { padding: 3px 12px; border-radius: 999px; color: var(--zz-muted); font-size: 12px; }
.zz-filter__items a.active { background: var(--zz-teal); color: var(--zz-surface); }
.zz-filter__actions { padding: 8px 0; text-align: right; }
.zz-filter__toggle { border: 0; border-bottom: 1px solid var(--zz-teal); background: transparent; color: var(--zz-teal-dark); font-size: 12px; font-weight: 700; }
.zz-empty { padding: 64px 0; border-bottom: 1px solid var(--zz-line); }
.zz-empty h2 { font-family: var(--zz-display); font-size: 27px; }
.zz-empty p { margin-top: 8px; color: var(--zz-muted); }
.zz-pagination { margin-top: 36px; border-top: 1px solid var(--zz-line-dark); border-bottom: 1px solid var(--zz-line-dark); }
.zz-pagination__desktop { min-height: 52px; display: flex; justify-content: center; align-items: center; gap: 3px; }
.zz-pagination a, .zz-pagination__meta { min-width: 36px; padding: 6px 9px; border-radius: 999px; text-align: center; font-size: 12px; }
.zz-pagination a.active { background: var(--zz-teal); color: var(--zz-surface); }
.zz-pagination__mobile { display: none; }

/* Dossier detail */
.zz-breadcrumb { display: flex; gap: 9px; padding-top: 10px; padding-bottom: 10px; overflow: hidden; border-bottom: 1px solid var(--zz-line); color: var(--zz-muted); font-size: 12px; white-space: nowrap; }
.zz-breadcrumb strong { overflow: hidden; color: var(--zz-ink); text-overflow: ellipsis; }
/* 资讯详情页：删除面包屑区块底部横线（页内主标题已自带视觉分隔） */
.subsite-art-detail-page > .zz-breadcrumb { border-bottom: 0; padding-bottom: 8px; }
/* Top: left column has title + poster + facts stacked; right column has similar vod list */
.zz-dossier { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 42px; padding-top: 24px; padding-bottom: 28px; }
.zz-dossier__primary { min-width: 0; display: grid; grid-template-columns: 230px minmax(0, 1fr); grid-template-areas: "poster title" "poster facts"; column-gap: 32px; row-gap: 20px; align-items: start; }
.zz-dossier__title { grid-area: title; align-self: start; }
.zz-dossier__title > p { color: var(--zz-teal); font-size: 12px; font-weight: 800; }
.zz-dossier__title h1 { margin: 12px 0 0; font-family: var(--zz-display); font-size: 32px; font-weight: 500; line-height: 1.2; overflow-wrap: anywhere; }
.zz-dossier__poster { grid-area: poster; position: relative; align-self: start; }
.zz-dossier__poster img { width: 230px; aspect-ratio: 2 / 3; }
.zz-dossier__poster span { position: absolute; right: 0; bottom: 0; max-width: 90%; padding: 6px 9px; background: var(--zz-orange); color: var(--zz-surface); font-size: 11px; font-weight: 800; }
.zz-dossier__poster .zz-dossier__score-badge { position: absolute; top: 0; left: 0; min-width: 52px; padding: 6px 10px; background: var(--zz-red); color: var(--zz-surface); font-family: var(--zz-display); font-weight: 700; font-size: 22px; line-height: 1; text-align: center; box-shadow: 0 4px 14px color-mix(in srgb, var(--zz-ink) 30%, transparent); }
/* 详情页基本信息（zz008 美化）：与轮播掌心跳盘同源——描边圆角卷宗盘 + 玫瑰标签 + 发丝行线 */
.zz-dossier__facts { grid-area: facts; padding: 2px 18px 12px; border: 1px solid var(--zz-line); border-radius: 18px 18px 18px 5px; background: var(--zz-surface); box-shadow: 0 10px 26px color-mix(in srgb, var(--zz-ink) 8%, transparent); }
/* 删除原 h2「基本资料」后，给 dl 顶部补 1px 视觉占位，保持板块整体高度不变 */
.zz-dossier__facts dl { padding-top: 1px; }
.zz-dossier__facts dl > div, .zz-detail__facts > div { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 9px 2px; border-bottom: 1px solid color-mix(in srgb, var(--zz-line) 68%, transparent); }
.zz-dossier__facts dl > div:last-child, .zz-detail__facts > div:last-child { border-bottom: 0; }
.zz-dossier__facts dt, .zz-detail__facts dt { color: var(--zz-teal); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; }
.zz-dossier__facts dd, .zz-detail__facts dd { min-width: 0; color: var(--zz-ink); font-size: 12px; line-height: 1.7; }
.zz-dossier__facts dd a { color: var(--zz-teal-dark); font-weight: 600; border-bottom: 0; transition: color 160ms ease-out; }
.zz-dossier__facts dd a:hover { color: var(--zz-teal); text-decoration: underline; text-underline-offset: 3px; }
.zz-dossier__actions, .zz-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.zz-action, .zz-btn { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 20px; border: 1px solid var(--zz-line-dark); border-radius: 999px; background: transparent; font-size: 13px; font-weight: 750; }
.zz-action svg { width: 17px; margin-right: 6px; }
.zz-btn svg { width: 17px; margin-right: 6px; }
.zz-action--line, .zz-btn--ghost { background: transparent; border-color: var(--zz-line-dark); color: var(--zz-ink); }
.zz-action--primary, .zz-action--acid, .zz-btn--primary { background: var(--zz-teal); border-color: var(--zz-teal); color: var(--zz-surface); }
.zz-action--primary:hover, .zz-action--acid:hover, .zz-btn--primary:hover { background: var(--zz-teal-dark); color: var(--zz-surface); }
.zz-dossier-below { padding-bottom: 8px; }
.zz-index-panel { padding: 22px 0 26px; border-top: 1px solid var(--zz-line-dark); }
.zz-index-panel > header { display: grid; grid-template-columns: 42px 1fr; margin-bottom: 16px; }
.zz-index-panel > header > span { color: var(--zz-orange); font-size: 12px; font-weight: 800; }
.zz-index-panel h2 { font-family: var(--zz-display); font-size: 28px; font-weight: 500; }
.zz-index-panel header p { margin-top: 4px; color: var(--zz-muted); font-size: 12px; }
/* 详情页：剧情简介块去掉“02”角标后标题改为单列 */
.zz-story-index > header { grid-template-columns: 1fr; }
/* 详情页：播放线路块去掉“01”角标后标题改为单列（保持与 story-index 同步） */
.zz-play-index > header { grid-template-columns: 1fr; }
.zz-play-index > section { display: grid; grid-template-columns: 140px minmax(0, 1fr); padding: 12px 0; border-top: 1px solid var(--zz-line); }
.zz-play-index h3 { font-size: 13px; }
.zz-play-list { display: flex; flex-wrap: wrap; gap: 7px; }
.zz-play-list a { min-width: 56px; padding: 6px 10px; border: 1px solid var(--zz-line); border-radius: 12px 12px 12px 3px; background: var(--zz-surface); font-size: 12px; text-align: center; }
.zz-play-list a:hover, .zz-play-list a.active { border-color: var(--zz-teal); background: var(--zz-teal); color: var(--zz-surface); }
.zz-copy { color: color-mix(in srgb, var(--zz-ink) 87%, transparent); font-family: var(--zz-display); font-size: 17px; line-height: 2; }
.zz-copy p + p { margin-top: 1em; }
.zz-related-index { align-self: start; padding-top: 0; border-top: 0; }
.zz-related-index > header { margin-bottom: 8px; padding-top: 14px; border-top: 1px solid var(--zz-line-dark); padding-bottom: 0; }
.zz-related-index > header span { display: block; color: var(--zz-teal); font-size: 11px; font-weight: 800; letter-spacing: 0.13em; }
.zz-related-index h2 { margin-top: 2px; font-family: var(--zz-display); font-size: 22px; font-weight: 500; }
.zz-dossier-more { background: var(--zz-surface-2); border-top: 0; padding: 6px 0 32px; }

/* Player */
.zz-player-stage { padding: 28px 0 0; border-bottom: 1px solid var(--zz-line-dark); }
.zz-player-shell { width: min(calc(100% - 48px), var(--zz-shell)); margin: 0 auto; }
.zz-player-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 14px; }
.zz-player-heading > a { display: inline-flex; align-items: center; color: var(--zz-muted); font-size: 12px; }
.zz-player-heading > a svg { width: 17px; margin-right: 4px; }
.zz-player-heading > div { display: flex; align-items: baseline; gap: 12px; min-width: 0; }
.zz-player-heading h1 { overflow: hidden; font-family: var(--zz-display); font-size: 25px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.zz-player-heading span { color: var(--zz-orange); font-size: 12px; }
.zz-player-box { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: min(72vh, 680px); overflow: hidden; background: #231620; color: #f7efe8; }
.zz-player-box iframe, .zz-player-box video { width: 100%; height: 100%; }
/* 播放页左右布局：左播放器(宽) / 右"同类速览"(窄)，参考 cine 播放页 */
.zz-player-layout { display: grid; grid-template-columns: minmax(0, 2.55fr) minmax(0, 0.85fr); gap: 20px; align-items: stretch; }
.zz-play-side { background: var(--zz-surface); border: 1px solid var(--zz-line-dark); padding: 16px 18px; display: flex; flex-direction: column; min-height: 0; height: 100%; }
.zz-play-side > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.zz-play-side > header h2 { font-family: var(--zz-display); font-size: 20px; font-weight: 500; }
.zz-play-side > header a { color: var(--zz-teal); font-size: 12px; font-weight: 700; }
.zz-play-side__list { list-style: none; }
.zz-play-side__list li a { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 38px; padding: 6px 0; border-bottom: 1px solid var(--zz-line); }
.zz-play-side__list li b { color: var(--zz-orange); font-size: 11px; }
.zz-play-side__list li span { min-width: 0; display: flex; align-items: baseline; gap: 8px; line-height: 1.3; }
.zz-play-side__list li strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 0 1 auto; max-width: 60%; font-size: 14px; }
.zz-play-side__list li em { color: var(--zz-muted); font-size: 11px; font-style: normal; flex: 1 1 auto; text-align: right; }
.zz-episode-panel { border: 1px solid var(--zz-line-dark); margin-top: 20px; background: var(--zz-surface); }
.zz-episode-panel__head { min-height: 66px; display: flex; align-items: center; justify-content: space-between; padding: 10px 18px; }
.zz-episode-panel__head h2 { font-size: 14px; }
.zz-episode-panel__head span { color: var(--zz-muted); font-size: 11px; }
.zz-episode-toggle { display: none; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--zz-teal-dark); font-size: 12px; }
.zz-episode-toggle svg { width: 14px; }
.zz-episode-panel__body { max-height: 350px; overflow: auto; padding: 0 18px 18px; }
.zz-play-source { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-top: 1px solid var(--zz-line); }
.zz-play-source h3 { font-size: 12px; }
.zz-play-content { padding-top: 40px; }
.zz-play-stack { display: grid; gap: 40px; }
.zz-now-playing { display: grid; grid-template-columns: 1fr; gap: 16px; padding-bottom: 16px; border-bottom: 0; }
.zz-now-playing h2 { font-family: var(--zz-display); font-size: 28px; font-weight: 500; }
.zz-now-playing p { margin-top: 6px; color: var(--zz-muted); }
.zz-meta { display: flex; flex-wrap: wrap; justify-content: flex-start; align-content: start; gap: 5px; }
.zz-meta a, .zz-meta span { padding: 4px 8px; border: 1px solid var(--zz-line); color: var(--zz-muted); font-size: 11px; }
.zz-panel { padding: 30px 0; border-top: 1px solid var(--zz-line-dark); }
/* 播放页：删除歌曲信息与"相关推荐"之间的双横线；简介/标签区块上下间距压缩到 40px */
.zz-play-page .zz-now-playing { border-top: 0; border-bottom: 0; padding-bottom: 0; }
.zz-play-page .zz-panel { border-top: 0; padding-top: 0; }
.zz-section__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 18px; }
.zz-section__head h2, .zz-panel > h2 { font-family: var(--zz-display); font-size: 27px; font-weight: 500; }
.zz-section__head a { color: var(--zz-teal); font-size: 12px; font-weight: 700; }

/* Rank and editorial */
.zz-rank-hero__inner { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
/* 把原来 .zz-rank-hero 的内容（h1+tabs 横排）搬到了 .zz-rank-head 内，hero 已删除 */
.zz-rank-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 8px 0 22px; border-bottom: 1px solid var(--zz-line-dark); }
.zz-rank-head h1 { font-family: var(--zz-display); font-size: 40px; font-weight: 500; line-height: 1.2; }
/* 排行榜 section 顶部回到紧凑（基础 .zz-section 64px padding-top 太大） */
.zz-rank-page .zz-rank-body { padding-top: 12px; padding-bottom: 70px; }
.zz-rank-tabs { display: flex; border-bottom: 0; }
.zz-rank-tabs__btn { padding: 9px 18px; border: 0; border-radius: 999px; background: transparent; color: var(--zz-muted); font-size: 13px; }
.zz-rank-tabs__btn.is-active { background: var(--zz-teal); color: var(--zz-surface); }
.zz-rank-panel { display: none; }
.zz-rank-panel.is-active { display: block; }
.zz-rank-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px; }
.zz-rank-card { border-top: 1px solid var(--zz-line-dark); }
.zz-rank-card__head { min-height: 54px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--zz-line-dark); }
.zz-rank-card__head h2 { font-family: var(--zz-display); font-size: 24px; font-weight: 500; }
.zz-rank-card__head a { color: var(--zz-teal); font-size: 12px; }
.zz-rank-card ol { list-style: none; }
.zz-rank-card li > a { display: grid; grid-template-columns: 30px 54px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 76px; border-bottom: 1px solid var(--zz-line); }
.zz-rank-index { color: var(--zz-orange); font-size: 12px; font-weight: 800; }
.zz-rank-thumb { width: 54px; height: 54px; overflow: hidden; }
.zz-rank-thumb img { width: 100%; height: 100%; }
.zz-rank-copy { min-width: 0; display: grid; line-height: 1.3; }
.zz-rank-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zz-rank-copy em { margin-top: 4px; color: var(--zz-muted); font-size: 11px; font-style: normal; }
.zz-rank-score { color: var(--zz-teal); font-family: var(--zz-display); font-size: 17px; }
.zz-art-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 60px; padding-top: 4px; padding-bottom: 0px; }
/* 已删除顶部 hero（zz-news-head / zz-directory-head / zz-rank-hero），让内容紧贴面包屑 */
.subsite-art-page .zz-art-layout { padding-top: 18px; }
.zz-latest-page .zz-directory-body { padding-top: 10px; padding-bottom: 72px; }
.art-list { list-style: none; border-top: 1px solid var(--zz-line-dark); }
.zz-art-card, .zz-art-home-item { border-bottom: 1px solid var(--zz-line); }
.zz-art-card > a, .zz-art-home-item > a { min-height: 150px; display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 22px; align-items: center; padding: 18px 0; }
.zz-art-card__pic, .zz-art-home-item__pic { width: 170px; height: 112px; overflow: hidden; }
.zz-art-card__pic img, .zz-art-home-item__pic img { width: 100%; height: 100%; }
.zz-art-card__body h3, .zz-art-home-item__copy h3 { font-family: var(--zz-display); font-size: 21px; line-height: 1.4; }
.zz-art-card__body p, .zz-art-home-item__copy p { margin-top: 8px; color: var(--zz-muted); font-size: 12px; }
.zz-art-sidebar { align-self: start; }
.zz-art-side-card { margin-bottom: 32px; border-top: 1px solid var(--zz-line-dark); }
.zz-art-side-card h2 { padding: 12px 0; border-bottom: 1px solid var(--zz-line-dark); font-family: var(--zz-display); font-size: 22px; font-weight: 500; }
.zz-art-side-list { list-style: none; }
.zz-art-side-list li a { min-height: 54px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 8px; align-items: center; border-bottom: 1px solid var(--zz-line); }
.zz-art-side-list span { color: var(--zz-orange); font-size: 11px; }
.zz-art-side-list strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.zz-art-side-list em { color: var(--zz-muted); font-size: 10px; font-style: normal; }
.zz-art-vod-list { border-top: 1px solid var(--zz-line-dark); }
.zz-art-vod-item { min-height: 76px; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 12px; align-items: center; border-bottom: 1px solid var(--zz-line); }
.zz-art-vod-item__pic { width: 54px; height: 54px; overflow: hidden; }
.zz-art-vod-item__pic img { width: 100%; height: 100%; }
.zz-art-vod-item__copy { min-width: 0; display: grid; line-height: 1.35; }
.zz-art-vod-item__copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.zz-art-vod-item__copy em { margin-top: 4px; color: var(--zz-muted); font-size: 10px; font-style: normal; }
.zz-art-compact-item { list-style: none; border-bottom: 1px solid var(--zz-line); }
.zz-art-compact-item > a { min-height: 74px; display: grid; grid-template-columns: minmax(0, 1fr) 72px; gap: 12px; align-items: center; }
.zz-art-compact-item span { min-width: 0; display: grid; }
.zz-art-compact-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zz-art-compact-item em { color: var(--zz-muted); font-size: 10px; font-style: normal; }
.zz-art-compact-item img { width: 72px; height: 52px; }
.zz-art-banner-item { position: relative; min-height: 190px; overflow: hidden; list-style: none; }
.zz-art-banner-item img { position: absolute; inset: 0; width: 100%; height: 100%; }
.zz-art-banner-item strong { position: absolute; right: 0; bottom: 0; left: 0; padding: 12px; background: color-mix(in srgb, var(--zz-ink) 86%, transparent); color: var(--zz-surface); font-family: var(--zz-display); }
.subsite-art-detail__header { padding-bottom: 28px; border-bottom: 1px solid var(--zz-line-dark); }
.subsite-art-nav { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 0px; color: var(--zz-muted); font-size: 12px; }
.subsite-art-nav a.active { color: var(--zz-teal); font-weight: 800; }
.subsite-art-detail__header h1 { max-width: 900px; font-family: var(--zz-display); font-size: 42px; font-weight: 500; line-height: 1.32; }
.subsite-art-detail__meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; color: var(--zz-muted); font-size: 11px; }
.subsite-art-detail__content { padding: 32px 0; font-family: var(--zz-display); font-size: 17px; line-height: 2; }
.subsite-art-detail__content img { height: auto; margin: 24px auto; }
.zz-art-neighbor { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--zz-line-dark); border-bottom: 1px solid var(--zz-line-dark); }
.zz-art-neighbor__item { min-height: 90px; display: grid; align-content: center; padding: 12px 20px; border-right: 1px solid var(--zz-line); }
.zz-art-neighbor__item:last-child { border-right: 0; }
.zz-art-neighbor__item span { color: var(--zz-muted); font-size: 11px; }
.zz-art-neighbor__item strong { margin-top: 5px; font-size: 13px; }
.zz-art-related { margin-top: 42px; border-top: 1px solid var(--zz-line-dark); }
.zz-art-related h2 { padding: 14px 0; font-family: var(--zz-display); font-size: 25px; }
.zz-art-related__list { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 28px; }
.zz-art-related__item { min-height: 100px; display: grid; grid-template-columns: 86px 1fr; gap: 14px; align-items: center; border-top: 1px solid var(--zz-line); }
.zz-art-related__pic { width: 86px; height: 66px; }
.zz-art-related__pic img { width: 100%; height: 100%; }
.zz-art-related__copy { min-width: 0; display: grid; }
.zz-art-related__copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zz-art-related__copy em { margin-top: 4px; color: var(--zz-muted); font-size: 11px; font-style: normal; }

/* People, topics and generic pages */
.zz-eyebrow { color: var(--zz-teal); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.zz-simple-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin-top: 24px; background: var(--zz-line); border: 1px solid var(--zz-line); }
.zz-card { min-width: 0; padding: 16px; background: var(--zz-paper); }
.zz-card__pic { display: block; aspect-ratio: 4 / 5; overflow: hidden; margin-bottom: 12px; }
.zz-card__pic img { width: 100%; height: 100%; }
.zz-card h3 { font-family: var(--zz-display); font-size: 18px; }
.zz-card p { color: var(--zz-muted); font-size: 11px; }
.zz-detail { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 46px; padding: 28px 0 54px; border-bottom: 1px solid var(--zz-line-dark); }
.zz-detail .zz-poster { width: 240px; }
.zz-detail .zz-poster img { width: 100%; aspect-ratio: 2 / 3; }
.zz-detail h1 { margin-bottom: 16px; font-family: var(--zz-display); font-size: 43px; font-weight: 500; }
.zz-detail > div > p { max-width: 820px; margin-bottom: 24px; color: var(--zz-muted); font-size: 16px; }
.zz-detail__facts { border-top: 1px solid var(--zz-line-dark); }
.zz-list { border-top: 1px solid var(--zz-line-dark); }
.zz-row { min-height: 100px; display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 18px; align-items: center; border-bottom: 1px solid var(--zz-line); }
.zz-row img { width: 70px; height: 70px; }
.zz-row h3 { font-family: var(--zz-display); font-size: 19px; }
.zz-row p { color: var(--zz-muted); font-size: 12px; }
.zz-box { padding: 24px 0; border-top: 1px solid var(--zz-line-dark); }

/* Forms and account pages */
.zz-form { display: grid; gap: 14px; }
.zz-form input, .zz-form textarea, .zz-form select, .zz-auth-field input, .zz-auth-field textarea, .zz-auth-field select {
  width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--zz-line-dark); border-radius: 0; background: var(--zz-surface); outline: 0;
}
.zz-form input:focus, .zz-auth-field input:focus { border-color: var(--zz-teal); box-shadow: inset 0 -2px var(--zz-teal); }
.zz-auth-page { min-height: 72vh; display: grid; place-items: center; padding: 54px 20px; }
.zz-auth-shell { width: min(100%, 1040px); display: grid; grid-template-columns: 0.8fr 1.2fr; border: 1px solid var(--zz-line-dark); background: var(--zz-surface); }
.zz-auth-stage { padding: 48px; background: var(--zz-yellow); }
.zz-auth-stage__logo { max-width: 180px; max-height: 48px; object-fit: contain; background: transparent; }
.zz-auth-stage__eyebrow { display: block; margin-top: 30px; font-size: 11px; font-weight: 800; }
.zz-auth-stage__copy h1 { margin-top: 12px; font-family: var(--zz-display); font-size: 38px; font-weight: 500; }
.zz-auth-stage__copy p { margin-top: 12px; }
.zz-auth-stage__meta { margin-top: 34px; font-size: 12px; }
.zz-auth-panel { padding: 48px; }
.zz-auth-panel__head h2 { font-family: var(--zz-display); font-size: 30px; font-weight: 500; }
.zz-auth-panel__head p { margin: 6px 0 24px; color: var(--zz-muted); }
.zz-auth-form { display: grid; gap: 16px; }
.zz-auth-field { display: grid; gap: 6px; }
.zz-auth-field label { font-size: 12px; font-weight: 700; }
.zz-auth-field--inline { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; }
.zz-auth-field--send { grid-template-columns: minmax(0, 1fr) 108px; }
.zz-auth-send { min-height: 44px; border: 1px solid var(--zz-line-dark); background: var(--zz-surface-2); font-size: 12px; font-weight: 700; }
.zz-auth-submit { min-height: 44px; border: 0; background: var(--zz-teal); color: var(--zz-surface); font-weight: 800; }
.zz-auth-links { display: flex; justify-content: space-between; margin-top: 18px; color: var(--zz-teal-dark); font-size: 12px; }
.zz-auth-notice, .zz-auth-error { padding: 10px 12px; border: 1px solid var(--zz-line-dark); background: var(--zz-surface-2); font-size: 12px; }
.zz-auth-error { border-color: var(--zz-red); color: var(--zz-red); }
.zz-brand__text { font-family: var(--zz-display); font-size: 24px; font-weight: 600; }
.zz-auth-oauth { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--zz-line); }
.zz-auth-oauth__list { display: flex; gap: 8px; margin-top: 10px; }
.zz-auth-oauth__item { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--zz-line-dark); }
.zz-auth-oauth__item svg { width: 20px; }
.zz-auth-steps { display: flex; align-items: center; gap: 8px; margin: 18px 0; }
.zz-auth-step { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--zz-line-dark); color: var(--zz-muted); font-size: 11px; }
.zz-auth-step.is-active { background: var(--zz-teal); border-color: var(--zz-teal); color: var(--zz-surface); }
.zz-auth-verify { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.zz-comment { padding: 18px 0; border-bottom: 1px solid var(--zz-line); }
.zz-comment h3 { font-family: var(--zz-display); font-size: 17px; }
.zz-comment p { margin-top: 5px; color: var(--zz-muted); }
.zz-unavailable { min-height: 66vh; display: grid; place-items: center; padding: 40px 20px; }
.zz-unavailable__box, .zz-auth { width: min(100%, 560px); padding: 44px; border-top: 4px solid var(--zz-red); background: var(--zz-surface); }
.zz-unavailable h1, .zz-auth h1 { font-family: var(--zz-display); font-size: 34px; font-weight: 500; }
.zz-unavailable p { margin: 10px 0 20px; color: var(--zz-muted); }

/* Ads and footer */
.zz-ad-frame { overflow: hidden; }
.zz-ad-frame img { width: 100%; height: auto; }
.zz-third-party { position: relative; width: 100%; height: 100%; display: grid; place-items: center; overflow: hidden; background: #231620; color: var(--zz-surface); }
.zz-third-party__poster { position: absolute; inset: 0; background-position: center; background-size: cover; opacity: 0.28; }
.zz-third-party__shade { position: absolute; inset: 0; background: color-mix(in srgb, #231620 78%, transparent); }
.zz-third-party__content { position: relative; z-index: 1; width: min(calc(100% - 48px), 760px); display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 20px; align-items: center; }
.zz-third-party__mark { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--zz-surface) 44%, transparent); }
.zz-third-party__mark svg { width: 26px; }
.zz-third-party__label { color: var(--zz-yellow); font-size: 11px; font-weight: 800; }
.zz-third-party__content h2 { margin-top: 5px; font-family: var(--zz-display); font-size: 24px; font-weight: 500; }
.zz-third-party__content p { margin-top: 5px; color: color-mix(in srgb, var(--zz-surface) 72%, transparent); font-size: 12px; }
.zz-third-party__details { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; font-size: 10px; }
.zz-third-party__details div { display: flex; gap: 5px; }
.zz-third-party__details dt { color: color-mix(in srgb, var(--zz-surface) 58%, transparent); }
.zz-detail-quick-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.zz-score { color: var(--zz-red); font-family: var(--zz-display); font-size: 22px; }
.zz-footer { position: relative; display: flex; align-items: stretch; border: 0; border-radius: 42px 42px 0 0; background: linear-gradient(180deg, var(--zz-surface), var(--zz-paper)); box-shadow: 0 -14px 40px color-mix(in srgb, var(--zz-ink) 10%, transparent); overflow: hidden; }
.zz-footer::before { content: ""; position: absolute; top: 0; left: 8%; right: 8%; height: 3px; border-radius: 999px; background: linear-gradient(90deg, transparent, var(--zz-teal) 30%, var(--zz-orange) 70%, transparent); }
.zz-footer__spine { flex: 0 0 58px; display: grid; place-items: center; background: linear-gradient(180deg, var(--zz-teal), var(--zz-teal-dark)); color: var(--zz-surface); }
.zz-footer__spine-line { writing-mode: vertical-rl; padding: 18px 0; font-family: var(--zz-display); font-size: 15px; font-weight: 700; letter-spacing: 0.42em; white-space: nowrap; max-height: 100%; overflow: hidden; text-overflow: ellipsis; }
.zz-footer__main { flex: 1; min-width: 0; }
.zz-footer__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) 0.62fr 0.85fr; gap: 44px; padding: 30px 34px 20px; }
.zz-footer__brand strong { font-family: var(--zz-display); font-size: 24px; font-weight: 700; letter-spacing: 0.02em; }
.zz-footer__brand p { max-width: 520px; margin-top: 10px; color: var(--zz-muted); font-size: 13px; }
.zz-footer__links, .zz-footer__meta { display: grid; align-content: start; gap: 7px; font-size: 12px; }
.zz-footer__links a { justify-self: start; padding: 2px 12px; border: 1px solid var(--zz-line); border-radius: 999px; color: var(--zz-muted); transition: border-color 160ms ease-out, color 160ms ease-out; }
.zz-footer__links a:hover { border-color: var(--zz-teal); color: var(--zz-teal-dark); }
.zz-footer__links strong, .zz-footer__meta strong { margin-bottom: 5px; color: var(--zz-teal); font-size: 11px; font-family: var(--zz-display); letter-spacing: 0.14em; text-transform: uppercase; }

@media (max-width: 1199px) {
  .zz-header__inner { grid-template-columns: auto minmax(240px, 1fr) auto; }
  .zz-search--header { justify-self: end; width: min(100%, 430px); }
  .zz-menu-btn { display: grid; }
  /* On mobile, drawer stacks items vertically — reset the desktop hover-bridge padding */
  .zz-nav__item, .zz-nav__item:hover, .zz-nav__item:focus-within { padding-bottom: 0; margin-bottom: 0; }
  .zz-nav__item::after { display: none; }
  .zz-nav { position: fixed; z-index: 100; top: 0; right: 0; bottom: 0; width: min(420px, 88vw); display: block; padding: 20px 22px; overflow-y: auto; background: var(--zz-surface); border-left: 1px solid var(--zz-line-dark); transform: translateX(105%); transition: transform 240ms ease-out; }
  .zz-nav.is-open { transform: translateX(0); }
  .zz-nav__drawer-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--zz-line-dark); }
  .zz-nav__drawer-head button { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--zz-line-dark); background: transparent; }
  .zz-nav__drawer-head svg { width: 17px; }
  .zz-search--drawer { display: grid; margin: 20px 0; }
  .zz-nav > a, .zz-nav__row { border-bottom: 1px solid var(--zz-line); }
  .zz-nav > a, .zz-nav__link { min-height: 48px; padding: 0; }
  .zz-nav__row { justify-content: space-between; }
  .zz-nav__dropdown { position: static; width: auto; display: none; padding: 0 0 8px 14px; border: 0; background: transparent; }
  .zz-nav__item.is-expanded .zz-nav__dropdown { display: block; }
  .zz-nav__item:hover .zz-nav__dropdown { display: none; }
  .zz-nav__item.is-expanded:hover .zz-nav__dropdown { display: block; }
  .zz-nav__divider { display: none; }
  .zz-drawer-backdrop { position: fixed; z-index: 90; inset: 0; display: block; border: 0; background: color-mix(in srgb, var(--zz-ink) 58%, transparent); opacity: 0; pointer-events: none; transition: opacity 180ms ease-out; }
  .zz-drawer-backdrop.is-open { opacity: 1; pointer-events: auto; }
  .zz-index-lead__grid { grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.75fr); gap: 30px; }
}

@media (max-width: 1040px) {
  .zz-index-lead__grid { grid-template-columns: 1fr; }
  .zz-index-rank { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 28px; padding-top: 28px; border-top: 1px solid var(--zz-line-dark); }
  .zz-index-rank .zz-index-heading { align-content: start; }
  .zz-index-rank ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
  .zz-index-floor__grid { grid-template-columns: minmax(0, 1.65fr) minmax(240px, 0.72fr); }
  .zz-index-floor__chart { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
  .zz-directory-grid, .zz-channel-grid, .zz-vod-grid, .zz-card-grid, .zz-poster-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zz-player-layout { grid-template-columns: minmax(0, 2.15fr) minmax(0, 0.9fr); gap: 16px; }
  .zz-dossier { grid-template-columns: minmax(0, 1fr) 240px; gap: 32px; }
  .zz-dossier__primary { grid-template-columns: 180px minmax(0, 1fr); column-gap: 24px; }
  .zz-dossier__poster img { width: 180px; }
  .zz-dossier__title h1 { font-size: 28px; }
  .zz-related-index ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
  .zz-art-layout { grid-template-columns: 1fr; gap: 28px; }
  .zz-art-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
  .zz-simple-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body { font-size: 14px; }
  .zz-shell, .zz-wrap, .zz-player-shell { width: min(calc(100% - 28px), var(--zz-shell)); }
  .zz-section { padding: 42px 0; }
  .zz-header__utility { display: none; }
  .zz-header__inner { min-height: 62px; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .zz-brand { min-width: 0; }
  .zz-brand__logo { max-width: 145px; height: 34px; }
  .zz-brand__copy strong { max-width: 118px; font-size: 16px; }
  .zz-search--header { display: none; }
  .zz-index-lead { padding: 10px 0 10px; }
  .zz-index-feature__stage { width: 100%; min-height: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--zz-surface-2); }
  .zz-index-feature__slides { position: absolute; inset: 0; min-height: 0; }
  .zz-index-feature__slide { grid-template-columns: 1fr; min-height: 0; }
  .zz-index-feature__image { position: absolute; inset: 0; min-height: 0; }
  .zz-index-feature__image span { top: 12px; bottom: auto; left: 12px; padding: 5px 9px; font-size: 10px; }
  .zz-index-feature__copy { position: absolute; z-index: 2; right: 0; bottom: 38px; left: 0; max-height: 33.333%; display: block; overflow: hidden; padding: 10px 16px 8px; border-top: 1px solid color-mix(in srgb, var(--zz-surface) 32%, transparent); background: color-mix(in srgb, var(--zz-ink) 78%, transparent); color: var(--zz-surface); }
  .zz-index-feature__copy h2 { margin-bottom: 4px; font-size: clamp(17px, 5.5vw, 22px); line-height: 1.12; }
  .zz-index-feature__copy h2 a:hover { color: var(--zz-surface); }
  .zz-index-feature__eyebrow { overflow: hidden; color: color-mix(in srgb, var(--zz-surface) 82%, var(--zz-teal)); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  .zz-index-feature__facts, .zz-index-feature__summary, .zz-index-feature__detail { display: none; }
  .zz-index-feature__nav { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; min-height: 38px; padding: 0 12px; border: 0; background: color-mix(in srgb, var(--zz-ink) 88%, transparent); }
  .zz-index-feature__dots button { min-width: 27px; height: 28px; color: color-mix(in srgb, var(--zz-surface) 70%, transparent); }
  .zz-index-feature__controls { width: min(36%, 128px); grid-template-columns: minmax(48px, 1fr); }
  .zz-index-feature__controls button { display: none; }
  .zz-index-feature__progress { background: color-mix(in srgb, var(--zz-surface) 26%, transparent); }
  .zz-index-rank { display: block; }
  .zz-index-rank ol { display: block; border-top: 0; }
  .zz-index-floor__chart, .zz-related-index ol { display: block; }
  .zz-index-updates, .zz-index-news, .zz-dossier-more { padding: 10px 0; }
  .zz-index-section-head { align-items: start; gap: 20px; }
  .zz-index-section-head h2 { font-size: 25px; }
  .zz-index-section-head > a { max-width: 105px; text-align: right; }
  .zz-index-update-list, .zz-index-floor__latest, .zz-index-news__list { grid-template-columns: 1fr; }
  .zz-index-floor { padding: 10px 0; }
  .zz-index-floor__grid { grid-template-columns: 1fr; gap: 0px; }
  .zz-index-floor__grid > header { display: flex; align-items: baseline; justify-content: space-between; padding: 0; border: 0; }
  .zz-index-floor__grid > header h2 { font-size: 26px; }
  .zz-index-floor__chart { grid-column: auto; }
  .zz-index-news__list article > a { grid-template-columns: 24px minmax(0, 1fr) 76px; min-height: 96px; }
  .zz-index-news__list img { width: 76px; height: 64px; }
  .zz-index-news__list em { display: none; }
  .zz-directory-head, .zz-search-hero, .zz-news-head, .zz-page-hero, .zz-rank-hero { padding: 34px 0 22px; }
  .zz-directory-head h1, .zz-search-hero h1, .zz-news-head h1, .zz-page-hero h1, .zz-rank-hero h1 { font-size: 31px; }
  .zz-directory-body { padding-top: 22px; }
  .zz-directory-grid, .zz-channel-grid, .zz-vod-grid, .zz-card-grid, .zz-poster-wall { grid-template-columns: 1fr; }
  .zz-filter__mobile-toggle { width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: space-between; padding: 0; border: 0; background: transparent; font-weight: 800; }
  .zz-filter__mobile-toggle svg { width: 18px; }
  .zz-filter__body { display: none; }
  .zz-filter.is-mobile-open .zz-filter__body { display: block; }
  .zz-filter__row { grid-template-columns: 1fr; }
  .zz-filter__row > strong { padding: 10px 0 4px; border-right: 0; color: var(--zz-teal); }
  .zz-filter__items { padding: 4px 0 10px; }
  .zz-pagination__desktop { display: none; }
  .zz-pagination__mobile { min-height: 52px; display: flex; align-items: center; justify-content: space-between; }
  .zz-dossier { grid-template-columns: 1fr; gap: 28px; padding-top: 24px; padding-bottom: 24px; }
  /* 移动端：海报独占整行 → 标题独占整行 → 事实表独占整行（单列垂直堆叠） */
  .zz-dossier__primary { grid-template-columns: minmax(0, 1fr); grid-template-areas: "poster" "title" "facts"; column-gap: 0; row-gap: 16px; }
  /* 移动端海报：容器宽 = img 宽（否则绝对定位角标跑到 img 外） */
  .zz-dossier__poster { width: max-content; max-width: 100%; margin: 0 auto; }
  .zz-dossier__poster img { width: 100%; max-width: 160px; }
.zz-dossier__poster span { padding: 3px 5px; font-size: 9px; }
.zz-dossier__poster .zz-dossier__score-badge { min-width: 36px; padding: 4px 6px; font-size: 14px; }
  .zz-dossier__title h1 { margin: 6px 0 0; font-size: 26px; }
  .zz-related-index { display: none; }
  .zz-dossier-below { padding-bottom: 24px; }
  .zz-index-panel { padding-top: 24px; }
  .zz-index-panel > header { grid-template-columns: 34px 1fr; }
  /* 移动端：zz-story-index 和 zz-play-index 没有角标 span，必须保持单列（不继承上方 34px 1fr），否则标题列被压缩成 34px、中文逐字换行成竖排 */
  .zz-story-index > header, .zz-play-index > header { grid-template-columns: 1fr; }
  .zz-index-panel h2 { font-size: 24px; }
  .zz-play-index > section, .zz-play-source { grid-template-columns: 1fr; gap: 9px; }
  .zz-copy { font-size: 16px; }
  .zz-player-stage { padding-top: 18px; }
  .zz-player-heading { align-items: start; }
  .zz-player-heading > div { display: grid; gap: 0; justify-items: end; }
  .zz-player-heading h1 { max-width: 220px; font-size: 19px; }
  .zz-player-layout { grid-template-columns: 1fr; gap: 14px; }
  .zz-play-side { display: none; }
  .zz-play-side__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 4px 18px; }
  .zz-play-side__list li a { grid-template-columns: 22px minmax(0, 1fr); min-height: 34px; padding: 5px 0; }
  .zz-episode-toggle { display: inline-flex; }
  .zz-episode-panel__body { display: none; }
  .zz-episode-panel.is-open .zz-episode-panel__body { display: block; }
  .zz-third-party__content { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
  .zz-third-party__mark { width: 42px; height: 42px; }
  .zz-third-party__content h2 { font-size: 18px; }
  .zz-third-party__content p, .zz-third-party__details { display: none; }
  .zz-third-party__content .zz-btn { grid-column: 1 / -1; justify-self: start; }
  .zz-now-playing { grid-template-columns: 1fr; }
  .zz-meta { justify-content: start; }
  .zz-rank-hero__inner { display: grid; }
  .zz-rank-grid { grid-template-columns: 1fr; gap: 34px; }
  .zz-rank-thumb { display: none; }
  .zz-rank-card li > a { grid-template-columns: 28px minmax(0, 1fr) auto; }
  .zz-art-layout { padding-top: 6px; }
  .zz-art-sidebar { display: block; }
  .zz-art-card > a, .zz-art-home-item > a { grid-template-columns: 110px minmax(0, 1fr); gap: 14px; }
  .zz-art-card__pic, .zz-art-home-item__pic { width: 110px; height: 84px; }
  .subsite-art-detail__header h1 { font-size: 31px; }
  .subsite-art-detail__content { font-size: 16px; }
  .zz-art-neighbor, .zz-art-related__list { grid-template-columns: 1fr; }
  .zz-art-neighbor__item { border-right: 0; border-bottom: 1px solid var(--zz-line); }
  .zz-simple-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zz-detail { grid-template-columns: 105px minmax(0, 1fr); gap: 18px; }
  .zz-detail .zz-poster { width: 105px; }
  .zz-detail h1 { font-size: 30px; }
  .zz-auth-shell { grid-template-columns: 1fr; }
  .zz-auth-stage, .zz-auth-panel { padding: 30px 24px; }
  .zz-footer { flex-direction: column; border-radius: 30px 30px 0 0; }
  .zz-footer__spine { flex: 0 0 auto; min-height: 42px; }
  .zz-footer__spine-line { writing-mode: horizontal-tb; padding: 9px 0; letter-spacing: 0.24em; font-size: 14px; }
  .zz-footer__grid { grid-template-columns: 1fr 1fr; gap: 26px 18px; padding: 22px 20px 14px; }
  .zz-footer__brand { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}


/* WB-ART-INDENT-20260914 */
/* 资讯正文排版：每个段落首行缩进两个中文字符（2em 即两个汉字宽度） */
.subsite-art-detail__content p {
    text-indent: 2em;
}
/* 纯媒体段落不缩进，避免图片/视频被右推 */
.subsite-art-detail__content p:has(> img:only-child),
.subsite-art-detail__content p:has(> a:only-child),
.subsite-art-detail__content p:has(> iframe:only-child),
.subsite-art-detail__content p:has(> video:only-child) {
    text-indent: 0;
}
