/* Poppins 本地字体（拉丁字符集），不再请求 Google Fonts */
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/poppins-400.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/poppins-500.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/poppins-600.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/poppins-700.woff2") format("woff2"); }
/* drama3: dark short-drama directory theme. Tokens first, components below. */
:root {
  --c-bg: #0f1012;
  --c-card: #1c1c1e;
  --c-card-dark: #080809;
  --c-popover: #141517;
  --c-border: #2a2a2a;
  --c-border-soft: #353535;
  --c-text: rgba(237, 237, 237, 0.95);
  --c-text-strong: #ffffff;
  --c-text-60: rgba(255, 255, 255, 0.6);
  --c-text-2: #999999;
  --c-text-3: #898b8b;
  --c-primary: #00ce78;
  --c-primary-15: rgba(0, 206, 120, 0.15);
  --c-primary-40: rgba(0, 206, 120, 0.4);
  --c-primary-glow: rgba(0, 206, 120, 0.5);
  --c-primary-8: rgba(0, 206, 120, 0.08);
  --c-cyan: #00c1ff;
  --c-cyan-6: rgba(0, 193, 255, 0.06);
  --c-badge-from: #f6494c;
  --c-badge-to: #fc842d;
  --c-badge-glow: rgba(255, 73, 72, 0.42);
  --c-overlay: rgba(0, 0, 0, 0.6);
  --c-overlay-soft: rgba(0, 0, 0, 0.35);
  --c-glass: rgba(255, 255, 255, 0.06);
  --c-glass-2: rgba(255, 255, 255, 0.2);
  --c-chip-1: #8b5cf6;
  --c-chip-2: #db2777;
  --c-chip-3: #ea580c;
  --c-chip-4: #0891b2;
  --c-chip-glow: rgba(255, 255, 255, 0.2);
  --c-wa: #25d366;
  --c-fb: #1877f2;
  --c-x: #000000;
  --c-link-btn: #3a91ff;
  --c-tg: #229ed9;
  --c-tg-glow: rgba(34, 158, 217, 0.35);
  --c-ig-a: #feda75;
  --c-ig-b: #d62976;
  --c-ig-c: #4f5bd5;
  --c-star: #ffcc00;
  --g-primary: linear-gradient(90deg, var(--c-cyan), var(--c-primary));
  --g-badge: linear-gradient(90deg, var(--c-badge-from), var(--c-badge-to));
  --g-logo: linear-gradient(135deg, var(--c-cyan), var(--c-primary));
  --sh-card: 0 10px 24px -12px var(--c-overlay);
  --sh-btn: 0 6px 24px var(--c-primary-glow);
  --sh-badge: 0 4px 14px var(--c-badge-glow);

  --ff: "Poppins", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  --fs-11: 11px;
  --fs-12: 12px;
  --fs-13: 13px;
  --fs-14: 14px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-20: 20px;
  --fs-22: 22px;
  --fs-26: 26px;
  --fs-28: 28px;
  --fs-32: 32px;
  --fs-56: 56px;
  --lh-tight: 1.25;
  --lh-body: 1.5;

  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-pill: 9999px;
  --bw: 1px;

  --gutter: 32px;
  --container: 1400px;
  --header-h: 78px;
  --notice-h: 69px;
  --tap: 44px;
  --poster-empty: url("../images/poster-empty.svg");
  --anim: 0.2s;
  --anim-glow: 3s;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--ff);
  font-size: var(--fs-16);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; color: transparent; font-size: 0; }
img[src=""], img.is-broken { visibility: hidden; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; }

.u-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; }

/* icons: one mask per glyph, colour comes from currentColor */
.c-ico { display: inline-block; flex: none; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.c-ico--play { --ico: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M5.7%206.8Q5.7%202.9%209.1%204.8L18.7%2010.1Q22.1%2012%2018.7%2013.9L9.1%2019.2Q5.7%2021.1%205.7%2017.2Z%27/%3E%3C/svg%3E"); }
.c-ico--dice { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='4.5' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.6'/%3E%3Ccircle cx='15.5' cy='8.5' r='1.6'/%3E%3Ccircle cx='12' cy='12' r='1.6'/%3E%3Ccircle cx='8.5' cy='15.5' r='1.6'/%3E%3Ccircle cx='15.5' cy='15.5' r='1.6'/%3E%3C/svg%3E"); }
.c-ico--search { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"); }
.c-ico--chev-down { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
.c-ico--chev-right { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E"); }
.c-ico--chev-left { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E"); }
.c-ico--lock { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9V7a5 5 0 0 0-10 0v2H5v12h14V9h-2Zm-8-2a3 3 0 0 1 6 0v2H9V7Z'/%3E%3C/svg%3E"); }
.c-ico--menu { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E"); }
.c-ico--close { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E"); }
.c-ico--link { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-1 1M14 11a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l1-1'/%3E%3C/svg%3E"); }
.c-ico--arrow { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E"); }
.c-ico--wa { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.5 15.2L2 22l4.9-1.4A10 10 0 1 0 12 2Zm5.2 14c-.2.6-1.2 1.2-1.7 1.2-.4.1-1 .1-1.6-.1-3-1.1-5-4.2-5.2-4.4-.1-.2-1.2-1.6-1.2-3s.8-2.1 1-2.4c.3-.3.6-.3.8-.3h.6c.2 0 .4 0 .6.5l.8 2c.1.2.1.3 0 .5l-.4.6c-.1.1-.3.3-.1.6.2.3.8 1.300 1.700 2.100 1.200 1 2.100 1.300 2.400 1.500.3.100.5.100.6-.1l.9-1.100c.2-.3.4-.2.6-.1l2 1c.3.1.5.2.5.3.1.2.1.8-.1 1.400Z'/%3E%3C/svg%3E"); }
.c-ico--fb { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8V6.5c0-.7.3-1 1-1h2V2h-3c-3 0-4.500 1.800-4.500 4.500V8H7v3.500h2.500V22H14V11.500h2.800L17.300 8H14Z'/%3E%3C/svg%3E"); }
.c-ico--x { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.800 3h3.200l-7 8 8.200 10.800h-6.400l-5-6.500-5.700 6.500H1.900l7.500-8.600L1.600 3h6.600l4.500 6 5.100-6Zm-1.100 16.900h1.800L7.200 4.800H5.300l11.400 15.100Z'/%3E%3C/svg%3E"); }

.c-ico--star { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 6 6.6.9-4.8 4.600 1.200 6.500L12 17.400 6.100 20.500l1.200-6.500L2.500 9.400l6.600-.9L12 2.500Z'/%3E%3C/svg%3E"); }
.c-ico--star-o { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.800' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.700 5.600 6.100.9-4.400 4.300 1 6.100L12 17l-5.400 2.900 1-6.100-4.400-4.300 6.100-.9L12 3Z'/%3E%3C/svg%3E"); }
.c-ico--check { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.500' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.500 4.500 4.500L19 7.500'/%3E%3C/svg%3E"); }
.c-ico--play-o { --ico: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M5.7%206.8Q5.7%202.9%209.1%204.8L18.7%2010.1Q22.1%2012%2018.7%2013.9L9.1%2019.2Q5.7%2021.1%205.7%2017.2Z%27/%3E%3C/svg%3E"); }
.c-ico--ig { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3.500' y='3.500' width='17' height='17' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.200' cy='6.800' r='1' fill='black'/%3E%3C/svg%3E"); }

/* layout */
.l-container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.l-page { padding-top: var(--sp-6); padding-bottom: var(--sp-10); }
.l-block { margin-top: var(--sp-10); }
.l-narrow { max-width: 880px; }

/* header */
.c-site-header { position: relative; z-index: 20; border-bottom: var(--bw) solid var(--c-border); background: var(--c-bg); }
.c-site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-6); height: var(--header-h); padding: 0 var(--gutter); max-width: var(--container); margin: 0 auto; }
.c-logo { display: flex; align-items: center; gap: var(--sp-1); flex: none; color: var(--c-text-strong); font-size: var(--fs-20); font-weight: 600; letter-spacing: 0.2px; }
.c-logo__mark { position: relative; display: block; width: 36px; height: 36px; background: url("../images/logo-mark.svg?v=2") center / contain no-repeat; }

.c-logo__text { margin-left: var(--sp-1); }
.c-site-nav { flex: 1; min-width: 0; }
.c-site-nav__list { display: flex; align-items: center; justify-content: center; gap: var(--sp-8); }
.c-site-nav__link { display: block; white-space: nowrap; color: var(--c-text-60); font-size: var(--fs-16); font-weight: 500; line-height: var(--sp-5); transition: color var(--anim); }
.c-site-nav__link:hover { color: var(--c-primary); }
.c-site-nav__link.is-active { color: var(--c-primary); font-weight: 600; }
.c-site-header__tools { display: flex; align-items: center; gap: var(--sp-3); flex: none; }
.c-search-box { position: relative; width: 320px; }
.c-search-box__input { width: 100%; height: 52px; padding: 0 var(--sp-12) 0 var(--sp-4); border: 0; border-radius: var(--r-md); background: var(--c-card); color: var(--c-text-strong); font: inherit; font-size: var(--fs-14); outline: none; }
.c-search-box__input::placeholder { color: var(--c-text-2); }
.c-search-box__input:focus { box-shadow: inset 0 0 0 var(--bw) var(--c-primary-40); }
.c-search-box__btn { position: absolute; right: 0; top: 0; width: var(--sp-12); height: 100%; display: flex; align-items: center; justify-content: center; color: var(--c-text-2); font-size: var(--fs-20); }
.c-search-box--lg { width: 100%; max-width: 560px; margin-top: var(--sp-4); }
.c-site-header__menu-btn { flex: none; display: none; align-items: center; justify-content: center; width: var(--tap); height: var(--tap); border-radius: var(--r-md); background: var(--c-card); font-size: var(--fs-22); }
.c-drawer-mask { display: none; }

/* hero carousel */
.c-hero { position: relative; height: 500px; overflow: hidden; background: var(--c-card-dark); }
.c-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 0.5s ease; }
.c-hero.is-ready .c-hero__slide.is-active, .c-hero:not(.is-ready) .c-hero__slide:first-child { opacity: 1; visibility: visible; }
.c-hero__bg { position: absolute; inset: 0; overflow: hidden; }
.c-hero__bg img { width: 100%; height: 100%; object-fit: cover; filter: blur(48px) saturate(1.2); transform: scale(1.3); opacity: 0.55; }
.c-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, var(--c-overlay-soft) 0%, var(--c-bg) 100%); }
.c-hero__inner { position: relative; display: flex; align-items: center; gap: var(--sp-8); height: 100%; padding-bottom: var(--sp-10); }
.c-hero__poster { flex: none; width: 250px; aspect-ratio: 2 / 3; border-radius: var(--r-lg); overflow: hidden; border: var(--bw) solid var(--c-glass-2); box-shadow: var(--sh-card); background: var(--c-card) var(--poster-empty) center / cover no-repeat; }
.c-hero__poster img { width: 100%; height: 100%; object-fit: cover; }
.c-hero__info { min-width: 0; }
.c-hero__title { font-size: var(--fs-56); font-weight: 600; line-height: var(--lh-tight); color: var(--c-text-strong); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.c-hero__title a:hover { color: var(--c-primary); }
.c-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); margin-top: var(--sp-4); color: var(--c-text-60); font-size: var(--fs-14); font-weight: 600; }
.c-hero__sum { max-width: 640px; margin-top: var(--sp-3); color: var(--c-text-60); font-size: var(--fs-14); line-height: var(--lh-body); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.c-hero__nav { position: absolute; right: var(--gutter); bottom: var(--sp-6); display: flex; align-items: center; gap: var(--sp-3); }
.c-hero__thumbs { display: flex; gap: var(--sp-3); }
.c-hero__thumb { background: var(--c-card) var(--poster-empty) center / cover no-repeat; width: 48px; height: 64px; border-radius: var(--r-sm); overflow: hidden; border: 2px solid transparent; opacity: 0.7; transition: opacity var(--anim), border-color var(--anim); }
.c-hero__thumb img { width: 100%; height: 100%; object-fit: cover; }
.c-hero__thumb.is-active { border-color: var(--c-primary); opacity: 1; }
.c-hero__arrow { display: flex; align-items: center; justify-content: center; width: var(--sp-8); height: var(--sp-8); border-radius: var(--r-pill); background: var(--c-overlay); color: var(--c-text-strong); }
.c-hero__dots { display: none; position: absolute; left: 0; right: 0; bottom: var(--sp-4); justify-content: center; gap: var(--sp-2); }
.c-hero__dot { width: var(--sp-2); height: 4px; border-radius: var(--r-pill); background: var(--c-glass-2); transition: width var(--anim), background var(--anim); }
.c-hero__dot.is-active { width: var(--sp-6); background: var(--c-primary); }

/* chips and facts */
.c-chip { display: inline-flex; align-items: center; padding: 3px var(--sp-2); border: var(--bw) solid var(--c-chip-glow); border-radius: var(--r-pill); color: var(--c-text-strong); font-size: var(--fs-12); font-weight: 700; line-height: 16px; background: var(--c-chip-1); }
.c-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.c-chips .c-chip:nth-child(4n+2) { background: var(--c-chip-2); }
.c-chips .c-chip:nth-child(4n+3) { background: var(--c-chip-3); }
.c-chips .c-chip:nth-child(4n+4) { background: var(--c-chip-4); }
.c-chip--ghost { background: var(--c-glass); border-color: var(--c-border); color: var(--c-text-60); font-weight: 500; }
.c-chips .c-chip--ghost:nth-child(n) { background: var(--c-glass); }
.c-tag-mini { display: inline-flex; align-items: center; gap: var(--sp-1); padding: 2px var(--sp-2); border-radius: var(--sp-1); background: var(--c-bg); color: var(--c-text); font-size: var(--fs-12); font-weight: 500; line-height: 20px; }

/* section titles */
.p-section { margin-top: var(--sp-10); }
.c-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-4); margin-bottom: var(--sp-5); }
.c-section-title { color: var(--c-text-strong); font-size: var(--fs-28); font-weight: 600; line-height: var(--lh-tight); }
.c-section-title--lg { font-size: var(--fs-32); }
.c-section-title--sm { font-size: var(--fs-20); font-weight: 700; margin-bottom: var(--sp-4); }
.c-section-sub { margin-top: var(--sp-2); color: var(--c-text-2); font-size: var(--fs-14); }
.c-section-more { display: inline-flex; align-items: center; gap: var(--sp-1); color: var(--c-text-2); font-size: var(--fs-14); white-space: nowrap; transition: color var(--anim); }
.c-section-more:hover { color: var(--c-primary); }
.c-eyebrow { display: inline-flex; align-items: center; gap: var(--sp-2); margin: 0 0 var(--sp-2); color: var(--c-primary); font-size: var(--fs-12); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.c-eyebrow__mark { width: 14px; height: 14px; flex: none; background: url("../images/logo-mark.svg?v=2") center / contain no-repeat; }
.c-eyebrow::after { content: ""; width: var(--sp-6); height: var(--bw); background: var(--c-primary-40); }
/* 特辑区：舞台聚光灯背景（image2 生成），左侧渐隐给文字留位 */
.p-special { --special-art: url("../images/spotlight.webp"); --special-dim: rgba(14, 15, 17, 0.4); position: relative; overflow: hidden; padding: var(--sp-6) var(--sp-6) var(--sp-5); border: var(--bw) solid var(--c-border); border-radius: var(--r-lg); background: linear-gradient(var(--special-dim), var(--special-dim)), linear-gradient(90deg, var(--c-bg) 25%, transparent 75%), var(--special-art) right top / auto 100% no-repeat, var(--c-bg); }
.p-special__tools { display: flex; align-items: center; gap: var(--sp-4); }
.c-surprise { display: inline-flex; align-items: center; gap: var(--sp-2); min-height: 36px; padding: 0 var(--sp-4); border: var(--bw) solid var(--c-primary-40); border-radius: var(--r-md); background: transparent; color: var(--c-primary); font-size: var(--fs-14); font-weight: 600; white-space: nowrap; cursor: pointer; transition: background var(--anim), color var(--anim), border-color var(--anim); }
.c-surprise .c-ico { font-size: var(--fs-16); transition: transform var(--anim); }
.c-surprise:hover { border-color: var(--c-primary); background: var(--c-primary); color: var(--c-bg); }
.c-surprise:hover .c-ico { transform: rotate(90deg); }
@keyframes breathe { from { opacity: 0.5; } to { opacity: 1; } }

/* horizontal rows */
.c-row-wrap { position: relative; }
.c-row { --card-w: 184px; display: flex; gap: var(--sp-5); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding-bottom: var(--sp-2); }
.c-row::-webkit-scrollbar { display: none; }
.c-row--lg { --card-w: 203px; counter-reset: rank; }
.c-row--md { --card-w: 221px; }
.c-row--sm { --card-w: 150px; gap: var(--sp-4); }
.c-row__next[hidden] { display: none; }
.c-row__next { position: absolute; right: 0; top: 40%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--r-pill); background: var(--c-overlay); color: var(--c-text-strong); font-size: var(--fs-18); transition: background var(--anim); }
.c-row__next:hover { background: var(--c-primary); }
.c-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(184px, 1fr)); gap: var(--sp-6) var(--sp-5); }
.c-wide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }

/* poster card */
.c-card-drama { flex: none; width: var(--card-w); scroll-snap-align: start; counter-increment: rank; }
.c-grid .c-card-drama { width: auto; }
.c-card-drama__link { display: block; }
.c-card-drama__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: var(--sp-3); color: var(--c-text); font-size: var(--fs-16); font-weight: 400; line-height: 1.5; transition: color var(--anim); }
.c-card-drama__link:hover .c-card-drama__title { color: var(--c-primary); }
.c-row--sm .c-card-drama__title { margin-top: var(--sp-2); font-size: var(--fs-13); line-height: 1.25; }
.c-row--lg .c-card-drama__title { font-weight: 500; -webkit-line-clamp: 1; font-size: var(--fs-16); }
.c-card-drama__meta { display: none; align-items: center; gap: var(--sp-2); margin-top: var(--sp-1); color: var(--c-primary); font-size: var(--fs-12); }
.c-row--lg .c-card-drama__meta { display: flex; }
.c-card-drama__meta span { color: var(--c-text-2); }
.c-poster { position: relative; display: block; aspect-ratio: 2 / 3; border-radius: var(--r-md); overflow: hidden; background: var(--c-card) var(--poster-empty) center / cover no-repeat; box-shadow: var(--sh-card); }
.c-poster__ph { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; padding: var(--sp-3); color: var(--c-text-2); font-size: var(--fs-12); text-align: center; }
.c-poster__img { position: relative; width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.c-poster__img.is-broken { visibility: hidden; }
.c-card-drama__link:hover .c-poster__img { transform: scale(1.04); }
.c-poster__badge { position: absolute; top: var(--sp-2); right: 0; max-width: 80%; padding: 5px var(--sp-2) 5px 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-radius: var(--r-pill) 0 0 var(--r-pill); background: var(--g-badge); box-shadow: var(--sh-badge); color: var(--c-text-strong); font-size: var(--fs-12); font-weight: 600; line-height: var(--fs-12); }
.c-poster__eps { position: absolute; left: var(--sp-2); bottom: var(--sp-2); display: inline-flex; align-items: center; gap: var(--sp-1); color: var(--c-text-strong); font-size: var(--fs-12); font-weight: 600; text-shadow: 0 1px 4px var(--c-card-dark); }
.c-row--lg .c-poster__eps { display: none; }
.c-row--lg .c-poster::after { content: counter(rank, decimal-leading-zero); position: absolute; left: var(--sp-2); right: var(--sp-2); bottom: 0; color: var(--c-glass-2); font-size: 64px; font-weight: 700; line-height: 1; text-align: right; pointer-events: none; }
.c-row--sm .c-poster { aspect-ratio: 3 / 4; border-radius: var(--r-sm); }
.c-row--sm .c-poster__eps { display: none; }

/* wide card */
.c-card-wide { display: flex; gap: var(--sp-4); padding: var(--sp-4); border-radius: var(--r-md); background: var(--c-card); min-width: 0; }
.c-card-wide__poster { flex: none; align-self: flex-start; width: 204px; }
.c-card-wide__poster .c-poster { aspect-ratio: 3 / 4; box-shadow: none; border-radius: var(--r-sm); }
.c-card-wide__body { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.c-card-wide__title { color: var(--c-text-strong); font-size: var(--fs-18); font-weight: 600; line-height: var(--lh-tight); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-card-wide__title a:hover { color: var(--c-primary); }
.c-card-wide__tags { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-3); }
.c-card-wide__desc { margin-top: var(--sp-5); color: var(--c-text-2); font-size: var(--fs-14); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.c-card-wide__act { margin-top: auto; padding-top: var(--sp-4); }

/* buttons */
.c-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2); min-height: var(--tap); padding: 0 var(--sp-5); border: var(--bw) solid var(--c-border); border-radius: var(--r-md); background: var(--c-card); color: var(--c-text); font-size: var(--fs-14); font-weight: 500; transition: border-color var(--anim), color var(--anim); }
.c-btn:hover { border-color: var(--c-primary); color: var(--c-primary); }
.c-btn--outline { min-width: 175px; min-height: 40px; border-color: var(--c-primary); background: transparent; color: var(--c-primary); }
.c-btn--outline::before { content: ""; width: var(--sp-4); height: var(--sp-4); background: currentColor; -webkit-mask: var(--ico-play) center / contain no-repeat; mask: var(--ico-play) center / contain no-repeat; }
.c-btn--outline:hover { background: var(--c-primary-15); }
.c-btn--play { min-width: 168px; min-height: 48px; padding: 0 var(--sp-8); border: 0; background: var(--g-primary); box-shadow: var(--sh-btn); color: var(--c-bg); font-size: var(--fs-16); font-weight: 600; }
.c-btn--play::before { content: ""; width: var(--sp-4); height: var(--sp-4); background: currentColor; -webkit-mask: var(--ico-play) center / contain no-repeat; mask: var(--ico-play) center / contain no-repeat; }
.c-btn--play:hover { color: var(--c-bg); filter: brightness(1.08); }
.c-btn--ghost { min-height: 40px; background: var(--c-glass); }
.c-btn.is-busy { opacity: 0.6; pointer-events: none; }
.c-btn--outline, .c-btn--play { --ico-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.14v13.72c0 .84.92 1.36 1.64.93l10.9-6.86c.67-.42.67-1.44 0-1.86L9.64 4.21C8.92 3.78 8 4.3 8 5.14Z'/%3E%3C/svg%3E"); }

/* breadcrumb + page header */
.c-breadcrumb__list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); color: var(--c-text-60); font-size: var(--fs-14); line-height: 1.5; }
.c-breadcrumb__item:not(:last-child)::after { content: "/"; margin-left: var(--sp-2); color: var(--c-text-60); }
.c-breadcrumb__item a { color: var(--c-text-strong); }
.c-breadcrumb__item a:hover { color: var(--c-primary); }
.c-breadcrumb__item[aria-current] { color: var(--c-text-60); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60vw; }
.c-page-header { margin: var(--sp-4) 0 var(--sp-6); }
.c-page-header__title { color: var(--c-text-strong); font-size: var(--fs-32); font-weight: 600; line-height: var(--lh-tight); }
.c-page-header__desc, .c-page-header__meta { margin-top: var(--sp-2); color: var(--c-text-2); font-size: var(--fs-14); }
.c-page-header__desc a { color: var(--c-primary); }
.c-filter { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-bottom: var(--sp-8); }
.c-filter__item { display: inline-flex; align-items: center; min-height: 40px; padding: 0 var(--sp-4); border: var(--bw) solid transparent; border-radius: var(--r-sm); background: var(--c-card); color: var(--c-text); font-size: var(--fs-14); transition: color var(--anim), border-color var(--anim); }
.c-filter__item[data-type="2"] { display: none; }
.c-filter__item:hover { color: var(--c-primary); }
.c-filter__item.is-active { border-color: var(--c-primary); color: var(--c-primary); background: var(--c-primary-8); }

/* detail */
.p-detail { display: flex; gap: var(--sp-6); margin-top: var(--sp-6); }
.p-detail__poster { flex: none; width: 240px; }
.p-detail__poster .c-poster { aspect-ratio: 3 / 4; border-radius: var(--r-sm); }
.p-detail__info { display: flex; flex-direction: column; gap: var(--sp-3); flex: 1; min-width: 0; }
.p-detail__title { color: var(--c-text-strong); font-size: var(--fs-26); font-weight: 500; line-height: 1.3; }
.p-detail__facts { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4); color: var(--c-text-60); font-size: var(--fs-13); }
.p-detail__facts b { color: var(--c-text); font-weight: 500; }
.p-detail__lede { color: var(--c-text-60); font-size: var(--fs-14); line-height: 1.5; }
.p-detail__lede.is-clamped { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.c-more { align-self: flex-start; color: var(--c-primary); font-size: var(--fs-12); }
.c-share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); }
.c-share__label { color: var(--c-text-60); font-size: var(--fs-13); font-weight: 500; }
/* 分享按钮低调处理：灰色描边，悬停才显示品牌色，不抢播放按钮 */
.c-share__btn { display: flex; align-items: center; justify-content: center; width: var(--tap); height: var(--tap); border: var(--bw) solid var(--c-border); border-radius: var(--r-pill); background: transparent; color: var(--c-text-60); font-size: var(--fs-18); cursor: pointer; transition: transform var(--anim), background var(--anim), color var(--anim), border-color var(--anim); }
.c-share__btn:hover { transform: translateY(-2px); border-color: transparent; color: var(--c-text-strong); }
.c-share__btn--wa:hover { background: var(--c-wa); }
.c-share__btn--fb:hover { background: var(--c-fb); }
.c-share__btn--x:hover { background: var(--c-text-strong); color: var(--c-x); }
.c-share__btn--link:hover { background: var(--c-link-btn); }
.c-share__btn.is-done { outline: 2px solid var(--c-primary); }
.p-detail__act { display: flex; align-items: center; gap: var(--sp-4); margin-top: var(--sp-2); }
.p-detail__act + .c-share { margin-top: var(--sp-2); }

/* episodes */
.p-eps__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--sp-4); }
.p-eps__head .c-section-title { margin: 0; }
.p-eps__count { color: var(--c-text-2); font-size: var(--fs-14); }
.c-eps { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--sp-3); }
.c-ep { position: relative; display: flex; align-items: center; justify-content: center; height: 48px; border-radius: var(--r-sm); background: var(--c-card); color: var(--c-text); font-size: var(--fs-18); font-weight: 500; transition: background var(--anim), color var(--anim); }
.c-ep:hover { background: var(--c-primary-15); color: var(--c-primary); }
button.c-ep, button.c-panel__cta { font-family: inherit; cursor: pointer; }
button.c-panel__cta { padding: 0; border: 0; background: none; }
button.c-ep { width: 100%; padding: 0; border: 0; font-family: inherit; cursor: pointer; }
.c-ep--locked::after { content: ""; position: absolute; top: 5px; right: 5px; width: 12px; height: 12px; background: var(--c-primary); -webkit-mask: var(--ico-lock) center / contain no-repeat; mask: var(--ico-lock) center / contain no-repeat; --ico-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9V7a5 5 0 0 0-10 0v2H5v12h14V9h-2Zm-8-2a3 3 0 0 1 6 0v2H9V7Z'/%3E%3C/svg%3E"); }
.p-eps__note { margin-top: var(--sp-3); color: var(--c-text-2); font-size: var(--fs-13); text-align: center; }

/* source card */
.c-source { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-5); padding: var(--sp-5); border: var(--bw) solid var(--c-border); border-radius: var(--r-lg); background: var(--c-card); }
.c-source__who { display: flex; align-items: center; gap: 14px; min-width: 0; }
.c-source__icon { position: relative; flex: none; width: 52px; height: 52px; border-radius: 14px; background: var(--g-primary); }
.c-source__icon::after { content: ""; position: absolute; left: 20px; top: 16px; border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent var(--c-bg); }
.c-source__name { color: var(--c-text-strong); font-size: var(--fs-16); font-weight: 600; }
.c-source__sub { color: var(--c-text-2); font-size: var(--fs-12); }
.c-source .c-btn { min-width: 0; background: var(--c-glass); font-weight: 600; }

/* faq */
.c-faq { display: flex; flex-direction: column; gap: var(--sp-3); }
.c-faq__item { border: var(--bw) solid var(--c-border); border-radius: 10px; background: var(--c-card); overflow: hidden; }
.c-faq__q { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: 14px var(--sp-5); color: var(--c-text-strong); font-size: var(--fs-14); font-weight: 500; cursor: pointer; list-style: none; }
.c-faq__q::-webkit-details-marker { display: none; }
.c-faq__q::after { content: ""; flex: none; width: var(--sp-4); height: var(--sp-4); background: var(--c-text-2); -webkit-mask: var(--ico-chev) center / contain no-repeat; mask: var(--ico-chev) center / contain no-repeat; --ico-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); transition: transform var(--anim); }
.c-faq__item[open] .c-faq__q::after { transform: rotate(180deg); }
.c-faq__a { padding: 0 var(--sp-5) 14px; color: var(--c-text-2); font-size: var(--fs-13); line-height: var(--sp-5); }

/* seo text panel */
.c-panel { padding: var(--sp-6); border: var(--bw) solid var(--c-border); border-radius: var(--r-lg); background: var(--c-card); }
.c-panel__title { color: var(--c-text-strong); font-size: var(--fs-20); font-weight: 600; line-height: var(--lh-tight); margin-bottom: var(--sp-3); }
.c-prose { color: var(--c-text-2); font-size: var(--fs-14); line-height: 1.5; }
.c-prose p + p, .c-prose p + ul, .c-prose ul + p { margin-top: var(--sp-3); }
.c-prose h2, .c-prose h3 { margin: var(--sp-5) 0 var(--sp-2); color: var(--c-text-strong); font-size: var(--fs-16); font-weight: 600; }
.c-prose a { color: var(--c-primary); }
.c-prose ul { list-style: disc; padding-left: var(--sp-5); }
.c-panel > * + * { margin-top: var(--sp-3); }
.c-panel > .c-panel__title + * { margin-top: 0; }
.c-chars { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--sp-2) var(--sp-5); margin-top: var(--sp-4); color: var(--c-text-2); font-size: var(--fs-14); }
.c-chars b { color: var(--c-text); font-weight: 500; }
/* 剧情回顾 / 人物 / 台词（数据来自免费集拆解） */
.c-recaps { display: flex; flex-direction: column; gap: var(--sp-3); counter-reset: none; }
.c-recap { padding: var(--sp-4) var(--sp-5); border: var(--bw) solid var(--c-border); border-radius: 10px; background: var(--c-card); }
.c-recap__title { display: flex; align-items: center; gap: var(--sp-3); color: var(--c-text-strong); font-size: var(--fs-16); font-weight: 600; line-height: var(--lh-tight); }
.c-recap__n { flex: none; padding: 2px var(--sp-2); border-radius: 6px; background: var(--c-primary-15); color: var(--c-primary); font-size: var(--fs-12); font-weight: 600; }
.c-recap__text { margin-top: var(--sp-2); color: var(--c-text-2); font-size: var(--fs-14); line-height: 1.6; }
.c-cast { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--sp-3); }
.c-cast__item { min-width: 0; padding: var(--sp-4); border: var(--bw) solid var(--c-border); border-radius: 10px; background: var(--c-card); }
.c-cast__name { color: var(--c-text-strong); font-size: var(--fs-16); font-weight: 600; }
.c-cast__role { color: var(--c-primary); font-size: var(--fs-12); }
.c-cast__about { margin-top: var(--sp-2); color: var(--c-text-2); font-size: var(--fs-13); line-height: 1.6; }
.c-quotes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-3); }
.c-quote { margin: 0; min-width: 0; padding: var(--sp-4) var(--sp-5); border-left: 3px solid var(--c-primary); border-radius: 0 10px 10px 0; background: var(--c-card); }
.c-quote__text { color: var(--c-text); font-size: var(--fs-14); font-style: italic; line-height: 1.6; }
.c-quote__by { margin-top: var(--sp-2); color: var(--c-text-3); font-size: var(--fs-12); }
.p-detail__lede.c-prose p + p { margin-top: var(--sp-3); }
.p-watch__sub { margin-top: var(--sp-4); color: var(--c-text-strong); font-size: var(--fs-16); font-weight: 600; }
.c-panel__cta { display: inline-flex; align-items: center; gap: var(--sp-2); margin-top: var(--sp-4); color: var(--c-primary); font-size: var(--fs-14); }

/* pager */
.c-pager { margin-top: var(--sp-8); }
.c-pager .pager { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-2); }
.c-pager .pager a, .c-pager .pager span { display: inline-flex; align-items: center; justify-content: center; min-width: var(--tap); min-height: var(--tap); padding: 0 var(--sp-3); border-radius: var(--r-sm); background: var(--c-card); color: var(--c-text); font-size: var(--fs-14); }
.c-pager .pager a:hover { color: var(--c-primary); }
.c-pager .pager .current { background: var(--c-primary); color: var(--c-bg); font-weight: 700; }

/* misc pages */
.c-empty { padding: var(--sp-10) var(--sp-4); border: var(--bw) solid var(--c-border); border-radius: var(--r-lg); background: var(--c-card); text-align: center; }
.c-empty__title { color: var(--c-text-strong); font-size: var(--fs-18); font-weight: 600; }
.c-empty__desc { margin-top: var(--sp-2); color: var(--c-text-2); font-size: var(--fs-14); }
.c-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-3); margin-top: var(--sp-5); }
.c-error { padding: var(--sp-12) var(--sp-4); text-align: center; }
.c-error__code { color: var(--c-primary); font-size: 96px; font-weight: 700; line-height: 1; }
.c-error__title { margin-top: var(--sp-3); color: var(--c-text-strong); font-size: var(--fs-28); font-weight: 600; }
.c-error__desc { margin-top: var(--sp-2); color: var(--c-text-2); font-size: var(--fs-14); }
.c-error__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-3); margin-top: var(--sp-6); }
.c-btn--primary { border: 0; background: var(--g-primary); color: var(--c-bg); font-weight: 600; }
.c-btn--primary:hover { color: var(--c-bg); filter: brightness(1.08); }
.c-chip-group { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.c-tag { display: inline-flex; align-items: center; gap: var(--sp-2); min-height: 40px; padding: 0 var(--sp-4); border-radius: var(--r-sm); background: var(--c-card); font-size: var(--fs-14); }
.c-tag:hover { color: var(--c-primary); }
.c-tag__count { color: var(--c-text-2); font-size: var(--fs-12); }
.p-sitemap-section { margin-top: var(--sp-8); }
.p-sitemap-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--sp-2) var(--sp-5); margin: var(--sp-3) 0 0; padding: 0; list-style: none; color: var(--c-text-2); font-size: var(--fs-14); }
.p-sitemap-links a { display: inline-flex; align-items: center; min-height: var(--tap); color: inherit; }
.p-sitemap-links a:hover { color: var(--c-primary); }

/* footer */
.c-site-footer { margin-top: var(--sp-10); border-top: var(--bw) solid var(--c-border-soft); padding: var(--sp-5) 0 var(--sp-6); color: var(--c-text-2); font-size: var(--fs-14); line-height: var(--sp-5); }
.c-site-footer__links { display: flex; flex-wrap: wrap; align-items: center; }
.c-site-footer__links a:hover { color: var(--c-primary); }
.c-site-footer__links li:not(:last-child)::after { content: "/"; margin: 0 var(--sp-3); }
.c-site-footer__copy { margin-top: var(--sp-3); }
.c-site-footer__note { margin-top: var(--sp-1); font-size: var(--fs-12); }

@media (prefers-reduced-motion: reduce) {
  .c-surprise .c-ico { transition: none; }
  .c-hero__slide, .c-poster__img, .c-share__btn { transition: none; }
}

@media (max-width: 1439px) {
  .c-hero__title { font-size: var(--fs-32); }
}
@media (max-width: 1199px) {
  .c-site-nav { position: fixed; top: 0; left: 0; bottom: 0; z-index: 1001; width: 271px; padding: var(--sp-6) var(--sp-2); background: var(--c-popover); transform: translateX(-100%); transition: transform 0.25s ease; overflow-y: auto; }
  .c-site-header.is-open .c-site-nav { transform: none; }
  .c-site-nav__list { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: var(--sp-1); }
  .c-site-nav__link { padding: var(--sp-3) var(--sp-3); border-radius: var(--r-md); font-size: 17px; font-weight: 600; line-height: var(--sp-6); }
  .c-site-nav__link:hover, .c-site-nav__link.is-active { background: var(--c-glass); }
  .c-site-header__menu-btn { display: flex; }
  .c-site-header.is-open .c-drawer-mask { display: block; position: fixed; inset: 0; z-index: 1000; background: var(--c-overlay); }
  .c-site-header__inner { gap: var(--sp-3); }
  .c-site-header__tools { flex: 1; justify-content: flex-end; }
  .c-search-box { width: 100%; max-width: 320px; }
  .c-logo__text { display: none; }
  .c-logo__mark { width: 40px; height: 40px; }
}
@media (max-width: 991px) {
  .c-wide-grid { grid-template-columns: minmax(0, 1fr); }
  .c-row--lg { --card-w: 170px; }
  .c-row--md { --card-w: 180px; }
  .c-eps { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .c-hero__poster { width: 200px; }
}
@media (max-width: 767px) {
  :root { --gutter: 12px; --header-h: 56px; }
  .l-page { padding-top: var(--sp-4); }
  .c-search-box__input { height: 40px; }
  .c-hero { height: 400px; }
  .c-hero__inner { flex-direction: column; justify-content: center; gap: var(--sp-4); padding-bottom: var(--sp-8); text-align: center; }
  .c-hero__poster { width: 190px; }
  .c-hero__info { width: 100%; }
  .c-hero__title { font-size: var(--fs-16); font-weight: 600; -webkit-line-clamp: 2; }
  .c-hero__meta, .c-hero__sum { display: none; }
  .c-hero__nav { display: none; }
  .c-hero__dots { display: flex; }
  .c-section-title { font-size: var(--fs-22); }
  .c-section-title--lg { font-size: var(--fs-22); }
  .c-section-head { margin-bottom: var(--sp-3); }
  .c-section-sub { font-size: var(--fs-12); margin-top: 2px; }
  .p-section { margin-top: var(--sp-6); }
  .c-row { gap: var(--sp-3); }
  .c-row { --card-w: 136px; }
  .c-row--lg { --card-w: 114px; }
  .c-row--sm { --card-w: 120px; }
  .c-row__next { display: none; }
  .c-card-drama__title { margin-top: var(--sp-2); font-size: var(--fs-14); line-height: 1.3; }
  .c-row--lg .c-poster::after { font-size: 40px; }
  .c-card-wide { gap: var(--sp-3); padding: var(--sp-3); }
  .c-card-wide__poster { width: 110px; }
  .c-card-wide__title { font-size: var(--fs-16); }
  .c-card-wide__desc { margin-top: var(--sp-3); -webkit-line-clamp: 2; }
  .c-btn--outline { min-width: 0; width: 100%; }
  .c-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4) var(--sp-3); }
  .c-page-header__title { font-size: var(--fs-22); }
  .c-filter { gap: var(--sp-2); margin-bottom: var(--sp-5); }
  .p-detail { flex-direction: column; align-items: center; gap: var(--sp-4); }
  .p-detail__poster { width: 200px; }
  .p-detail__info { width: 100%; }
  .p-detail__title { font-size: var(--fs-22); }
  .p-detail__act { width: 100%; }
  .p-detail__act .c-btn--play { flex: 1; }
  .c-eps { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--sp-2); }
  .c-source { flex-direction: column; align-items: stretch; }
  .c-panel { padding: var(--sp-4); }
  .c-error__code { font-size: 72px; }
}
@media (max-width: 767px) {
  .c-wide-grid--pop { display: flex; gap: var(--sp-3); overflow-x: auto; scrollbar-width: none; }
  .c-wide-grid--pop::-webkit-scrollbar { display: none; }
  .c-wide-grid--pop .c-card-wide { flex: none; flex-direction: column; width: 136px; padding: 0; gap: 0; background: none; }
  .c-wide-grid--pop .c-card-wide__poster { width: 100%; }
  .c-wide-grid--pop .c-card-wide__poster .c-poster { aspect-ratio: 2 / 3; border-radius: var(--r-md); }
  .c-wide-grid--pop .c-card-wide__title { margin-top: var(--sp-2); white-space: normal; font-size: var(--fs-14); font-weight: 400; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .c-wide-grid--pop .c-card-wide__tags, .c-wide-grid--pop .c-card-wide__desc, .c-wide-grid--pop .c-card-wide__act { display: none; }
}
@media (max-width: 575px) {
  .c-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-ep { font-size: var(--fs-16); height: var(--tap); }
}

/* notice bar under the header */
.c-notice { background: var(--c-card); }
.c-notice__link { display: flex; align-items: center; gap: var(--sp-4); max-width: var(--container); height: var(--notice-h); margin: 0 auto; padding: 0 var(--gutter); }
.c-notice__icon { display: flex; align-items: center; justify-content: center; flex: none; width: var(--tap); height: var(--tap); border-radius: var(--r-pill); background: var(--c-tg); box-shadow: 0 4px 14px var(--c-tg-glow); color: var(--c-text-strong); font-size: var(--fs-18); }
.c-notice__text { display: flex; flex-direction: column; flex: 1; min-width: 0; line-height: 1.4; }
.c-notice__title { color: var(--c-text-strong); font-size: var(--fs-14); font-weight: 600; }
.c-notice__sub { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--c-text-60); font-size: var(--fs-13); }
.c-notice__btn { display: inline-flex; align-items: center; gap: var(--sp-1); flex: none; height: 36px; padding: 0 var(--sp-5); border-radius: var(--r-pill); background: var(--c-tg); color: var(--c-text-strong); font-size: var(--fs-14); font-weight: 600; }

/* language and user */

/* hero meta row */
.c-hero__meta { color: var(--c-text-2); }
.c-hero__dot-sep { width: 3px; height: 3px; border-radius: var(--r-pill); background: var(--c-text-2); }
.c-hero__chips { gap: var(--sp-3); }
.c-hero .c-chip { padding: 5px var(--sp-4); border-color: var(--c-border); background: var(--c-glass); color: var(--c-text); font-size: var(--fs-13); font-weight: 500; }
.c-hero .c-chips .c-chip:nth-child(n) { background: var(--c-glass); }

/* detail rating, stats, favourite */
.p-detail__top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4); }
.c-rating { flex: none; display: flex; flex-direction: column; gap: var(--sp-2); min-width: 126px; padding: var(--sp-3) var(--sp-4); border: var(--bw) solid var(--c-border); border-radius: var(--r-md); background: var(--c-card); }
.c-rating__label { color: var(--c-text-2); font-size: var(--fs-11); font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; }
.c-rating__val { display: flex; align-items: center; gap: var(--sp-2); color: var(--c-text-strong); font-size: var(--fs-14); font-weight: 500; }
.c-rating__val .c-ico { color: var(--c-star); font-size: var(--fs-16); }
/* 更新日期 + 速览块（GEO：AI 搜索偏爱看得出更新时间、关键信息成列表的页面） */
.p-detail__updated { margin: calc(-1 * var(--sp-1)) 0 0; color: var(--c-text-60); font-size: var(--fs-12); }
.c-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2) var(--sp-6); margin: 0; padding: var(--sp-3) var(--sp-4); border: var(--bw) solid var(--c-border); border-radius: var(--r-md); font-size: var(--fs-13); }
.c-facts__row { display: flex; gap: var(--sp-2); min-width: 0; }
.c-facts dt { flex: none; color: var(--c-text-60); }
.c-facts dt::after { content: ":"; }
.c-facts dd { min-width: 0; margin: 0; color: var(--c-text-strong); overflow-wrap: anywhere; }
.c-facts dd a { color: var(--c-primary); }
@media (max-width: 575px) {
  .c-facts { grid-template-columns: minmax(0, 1fr); }
}
.p-detail__lede > * + * { margin-top: var(--sp-2); }
.p-detail__lede .c-chars { margin-top: var(--sp-3); }
.c-btn--source { min-height: 44px; background: var(--c-glass); font-weight: 600; }
.c-btn--source:hover { color: var(--c-primary); }
.c-page-header__result { margin-top: var(--sp-2); color: var(--c-text-2); font-size: var(--fs-32); font-weight: 400; line-height: var(--lh-tight); }
.c-page-header__result b { color: var(--c-text-strong); font-weight: 600; }

@media (max-width: 767px) {
  .c-notice__link { gap: var(--sp-3); }
  .c-notice__btn { height: 32px; padding: 0 var(--sp-3); }
  .p-detail__top { flex-direction: column; }
  .c-rating { align-self: stretch; flex-direction: row; align-items: center; justify-content: space-between; }
  .c-page-header__result { font-size: var(--fs-18); }
}
.c-row--lg .c-poster__ph { display: none; }

/* 热门排行榜（Most Popular）：两列编号列表，手机一列；序号用 CSS 计数器（引擎循环无序号） */
.c-rank {
  --rank-num-w: 44px;
  --rank-num-size: var(--fs-32);
  --rank-poster-w: 64px;
  counter-reset: rank;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-3) var(--sp-6);
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-rank__item {
  counter-increment: rank;
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  min-width: 0;
  padding: var(--sp-3) var(--sp-4) var(--sp-3) 0;
  border-bottom: 1px solid var(--c-border);
}
.c-rank__item::before {
  content: counter(rank);
  flex: none;
  width: var(--rank-num-w);
  text-align: center;
  font-size: var(--rank-num-size);
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  color: var(--c-text-3);
}
.c-rank__item:nth-child(-n+3)::before {
  background: linear-gradient(180deg, var(--c-primary), var(--c-cyan));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.c-rank__poster {
  flex: none;
  width: var(--rank-poster-w);
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: var(--r-sm);
  background: var(--c-card);
}
.c-rank__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.c-rank__body { flex: 1; min-width: 0; }
.c-rank__title { margin: 0 0 var(--sp-2); font-size: var(--fs-16); font-weight: 600; line-height: var(--lh-tight); }
.c-rank__title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--c-text-strong); text-decoration: none; }
.c-rank__title a:hover { color: var(--c-primary); }
.c-rank__meta { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--sp-2); min-width: 0; overflow: hidden; font-size: var(--fs-12); color: var(--c-text-2); }
.c-rank__badge, .c-rank__info { flex: none; white-space: nowrap; }
.c-rank__badge { padding: 0 var(--sp-2); border-radius: var(--r-sm); background: linear-gradient(90deg, var(--c-badge-from), var(--c-badge-to)); color: var(--c-text-strong); font-weight: 600; line-height: 1.6; }
.c-rank__info + .c-rank__info::before { content: "·"; margin-right: var(--sp-2); }
.c-rank__play { flex: none; display: inline-flex; align-items: center; justify-content: center; width: var(--tap); height: var(--tap); border: var(--bw) solid var(--c-primary-40); border-radius: var(--r-pill); background: transparent; color: var(--c-primary); transition: background var(--anim), color var(--anim), border-color var(--anim); }
.c-rank__play .c-ico { font-size: var(--fs-18); }
.c-rank__item:hover .c-rank__play { border-color: var(--c-primary); }
.c-rank__play:hover { border-color: var(--c-primary); background: var(--c-primary); color: var(--c-bg); }
@media (max-width: 767px) {
  .c-rank { --rank-num-w: 26px; --rank-num-size: var(--fs-22); --rank-poster-w: 48px; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .c-rank__item { gap: var(--sp-2); padding-right: var(--sp-1); }
  .c-rank__title { font-size: var(--fs-14); }
}
@media (prefers-reduced-motion: reduce) {
  .c-rank__play { transition: none; }
}

/* single episode player page */
.p-watch { display: flex; gap: var(--sp-6); margin-top: var(--sp-6); align-items: flex-start; }
.p-watch__stage { flex: none; width: 360px; }
.c-video { display: block; width: 100%; aspect-ratio: 9 / 16; max-height: 80vh; border-radius: var(--r-md); background: var(--c-card-dark); object-fit: contain; }
.p-watch__info { display: flex; flex-direction: column; gap: var(--sp-3); flex: 1; min-width: 0; }
.p-watch__title { color: var(--c-text-strong); font-size: var(--fs-26); font-weight: 500; line-height: 1.3; }
.p-watch__facts { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4); color: var(--c-text-60); font-size: var(--fs-13); }
.p-watch__facts b { color: var(--c-text); font-weight: 500; }
.p-watch__desc { color: var(--c-text-60); font-size: var(--fs-14); line-height: 1.5; }
.p-watch__nav { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-2); }
.p-watch__eps { margin-top: var(--sp-4); }
.p-watch__note { padding: var(--sp-3) var(--sp-4); border: var(--bw) solid var(--c-border); border-radius: var(--r-md); background: var(--c-card); color: var(--c-text-60); font-size: var(--fs-14); }
.c-ep.is-current { background: var(--c-primary); color: var(--c-bg); font-weight: 700; }
@media (max-width: 767px) {
  .p-watch { flex-direction: column; align-items: stretch; gap: var(--sp-4); margin-top: var(--sp-3); }
  .p-watch__stage { width: 100%; }
  .p-watch__title { font-size: var(--fs-22); }
  .p-watch__nav .c-btn { flex: 1 1 auto; }
}

/* ==== 首页轮播：横向海报带（2026-10-09 用户选定 2 号） ==== */
:root {
  --belt-w: 160px;
  --belt-stage-h: 246px;
  --belt-title: 26px;
  --belt-sum: 16px;
  --belt-text-w: 760px;
  --belt-title-lines: 1;
  --belt-dim-1: 0.6;
  --belt-dim-2: 0.38;
  --belt-move: 0.7s;
  --belt-info-fade: 0.45s;
  --belt-gap-1: 1.02;
  --belt-gap-2: 1.8;
  --belt-radius: 24px;
  --belt-btn-h: 48px;
  --belt-ink: #0b0c0e;
  --belt-on-primary: #04130c;
  --belt-white-08: rgba(255, 255, 255, 0.08);
  --belt-white-12: rgba(255, 255, 255, 0.12);
  --belt-white-70: rgba(255, 255, 255, 0.7);
  --belt-white-85: rgba(255, 255, 255, 0.85);
  --belt-black-60: rgba(0, 0, 0, 0.6);
  --belt-black-75: rgba(0, 0, 0, 0.75);
  --belt-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --belt-glow: radial-gradient(ellipse 50% 60% at 50% 38%, var(--c-primary-15) 0%, transparent 70%);
}
.p-home-belt { margin-top: var(--sp-6); margin-bottom: var(--sp-6); }
.c-belt { position: relative; isolation: isolate; overflow: hidden; padding: var(--sp-5) 0; border: var(--bw) solid var(--belt-white-08); border-radius: var(--belt-radius); background: var(--belt-ink); outline-offset: 4px; }
.c-belt__glow { position: absolute; inset: 0; z-index: -1; background: var(--belt-glow); pointer-events: none; }
.c-belt__stage { position: relative; height: var(--belt-stage-h); }
.c-belt__track { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; }
.c-belt__item { position: absolute; left: 50%; top: 50%; width: var(--belt-w); z-index: 1; opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(0.4); transition: transform var(--belt-move) var(--belt-ease), opacity var(--belt-move) var(--belt-ease), filter var(--belt-move) var(--belt-ease); }
.c-belt__poster { display: block; width: 100%; padding: 0; aspect-ratio: 2 / 3; overflow: hidden; border-radius: var(--r-lg); background: var(--c-card); border: var(--bw) solid var(--belt-white-12); box-shadow: 0 24px 50px -20px var(--belt-black-75); cursor: pointer; }
.c-belt__poster img { width: 100%; height: 100%; object-fit: cover; }
.c-belt:not(.is-ready) .c-belt__item:first-child, .c-belt__item[data-pos="0"] { z-index: 5; opacity: 1; pointer-events: auto; transform: translate(-50%, -50%); filter: none; }
.c-belt__item[data-pos="1"], .c-belt__item[data-pos="-1"] { z-index: 4; opacity: 1; pointer-events: auto; filter: brightness(var(--belt-dim-1)); }
.c-belt__item[data-pos="2"], .c-belt__item[data-pos="-2"] { z-index: 3; opacity: 1; pointer-events: auto; filter: brightness(var(--belt-dim-2)); }
.c-belt__item[data-pos="1"] { transform: translate(calc(-50% + var(--belt-w) * var(--belt-gap-1)), -50%) scale(0.82); }
.c-belt__item[data-pos="-1"] { transform: translate(calc(-50% - var(--belt-w) * var(--belt-gap-1)), -50%) scale(0.82); }
.c-belt__item[data-pos="2"] { transform: translate(calc(-50% + var(--belt-w) * var(--belt-gap-2)), -50%) scale(0.66); }
.c-belt__item[data-pos="-2"] { transform: translate(calc(-50% - var(--belt-w) * var(--belt-gap-2)), -50%) scale(0.66); }
.c-belt__item[data-pos="3"] { transform: translate(calc(-50% + var(--belt-w) * 2.2), -50%) scale(0.5); }
.c-belt__ctrl { display: inline-flex; align-items: center; justify-content: center; width: var(--tap); height: var(--tap); border-radius: var(--r-pill); background: var(--belt-black-60); border: var(--bw) solid var(--belt-white-12); color: var(--c-text-strong); font-size: var(--fs-20); transition: background var(--anim), border-color var(--anim); }
.c-belt__ctrl:hover { background: var(--belt-white-12); border-color: var(--belt-white-70); }
.c-belt__arrow { position: absolute; top: 50%; z-index: 10; margin-top: calc(-1 * var(--tap) / 2); }
.c-belt__arrow--prev { left: var(--sp-5); }
.c-belt__arrow--next { right: var(--sp-5); }
.c-belt__infos { display: grid; margin-top: var(--sp-2); padding: 0 var(--sp-6); }
.c-belt__info { grid-area: 1 / 1; justify-self: center; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: var(--sp-3); width: 100%; max-width: var(--belt-text-w); text-align: left; opacity: 0; visibility: hidden; transition: opacity var(--belt-info-fade) ease, visibility 0s linear var(--belt-info-fade); }
.c-belt:not(.is-ready) .c-belt__info:first-child, .c-belt__info.is-active { opacity: 1; visibility: visible; transition: opacity var(--belt-info-fade) ease, visibility 0s; }
.c-belt__tag { display: inline-flex; align-items: center; min-height: 28px; padding: 0 var(--sp-3); border: var(--bw) solid var(--belt-white-12); border-radius: var(--r-pill); background: var(--belt-white-08); color: var(--belt-white-85); font-size: var(--fs-12); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
/* 文字块固定宽度、左对齐：分类、剧名、简介、按钮的起点每张都一样；剧名一行、简介两行定高，切换时不跳 */
.c-belt__title { display: -webkit-box; -webkit-line-clamp: var(--belt-title-lines); -webkit-box-orient: vertical; overflow: hidden; width: 100%; height: calc(var(--belt-title) * 1.2 * var(--belt-title-lines)); margin: 0; color: var(--c-text-strong); font-size: var(--belt-title); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }
.c-belt__title a { color: inherit; }
.c-belt__sum { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; width: 100%; height: calc(var(--belt-sum) * 1.6 * 2); margin: 0; color: var(--belt-white-70); font-size: var(--belt-sum); line-height: 1.6; }
.c-belt__actions { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: var(--sp-3); margin-top: var(--sp-2); }
.c-belt__btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2); min-height: var(--belt-btn-h); padding: 0 var(--sp-6); border: var(--bw) solid transparent; border-radius: var(--r-md); background: var(--c-primary); color: var(--belt-on-primary); font-size: var(--fs-16); font-weight: 600; line-height: 1; white-space: nowrap; transition: transform var(--anim), background var(--anim), border-color var(--anim), color var(--anim); }
.c-belt__btn:hover { transform: translateY(-1px); background: var(--c-text-strong); color: var(--belt-on-primary); }
.c-belt__btn--ghost { background: var(--belt-white-08); border-color: var(--belt-white-12); color: var(--c-text-strong); }
.c-belt__btn--ghost:hover { background: var(--belt-white-12); border-color: var(--belt-white-70); color: var(--c-text-strong); }
@media (max-width: 1439px) {
  :root { --belt-w: 168px; --belt-stage-h: 258px; }
}
@media (max-width: 1199px) {
  :root { --belt-w: 156px; --belt-stage-h: 240px; --belt-title: 24px; }
}
@media (max-width: 991px) {
  :root { --belt-w: 140px; --belt-stage-h: 216px; --belt-gap-1: 1.05; --belt-gap-2: 1.85; }
}
@media (max-width: 767px) {
  :root { --belt-w: 124px; --belt-stage-h: 192px; --belt-title: 22px; --belt-title-lines: 2; --belt-sum: 14px; --belt-gap-1: 1.08; --belt-gap-2: 1.9; --belt-btn-h: 46px; }
  .p-home-belt { margin-top: var(--sp-4); margin-bottom: var(--sp-4); }
  .c-belt { padding: var(--sp-5) 0 var(--sp-6); }
  .c-belt__infos { padding: 0 var(--sp-4); }
  .c-belt__actions { width: 100%; }
  .c-belt__btn { flex: 1 1 0; padding: 0 var(--sp-5); font-size: var(--fs-14); }
  .c-belt__arrow--prev { left: var(--sp-2); }
  .c-belt__arrow--next { right: var(--sp-2); }
}
@media (max-width: 575px) {
  :root { --belt-w: 120px; --belt-stage-h: 186px; }
  .c-belt__item[data-pos="2"], .c-belt__item[data-pos="-2"] { opacity: 0; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
  .c-belt__item, .c-belt__info, .c-belt__btn, .c-belt__ctrl { transition: none; }
  .c-belt__btn:hover { transform: none; }
}

@media (max-width: 767px) {
  .c-ep { min-height: var(--tap); }
  .c-site-footer__links a { display: inline-flex; align-items: center; min-height: var(--tap); }
  .c-breadcrumb__item a { display: inline-flex; align-items: center; min-height: var(--tap); }
  .c-more { min-height: var(--tap); padding: 0 var(--sp-4); }
  .c-share__btn { min-width: var(--tap); min-height: var(--tap); }
  .c-panel__cta { min-height: var(--tap); display: inline-flex; align-items: center; }
  .c-section-more { display: inline-flex; align-items: center; min-height: var(--tap); }
}

/* 带锁集弹窗：点锁先在当前页说明，再由按钮新开标签页去推广链接，本页保留 */
.c-lock { --lock-w: 560px; --lock-poster: 120px; width: min(var(--lock-w), calc(100vw - 2 * var(--sp-4))); max-width: none; margin: auto; padding: var(--sp-6); border: var(--bw) solid var(--c-border); border-radius: var(--r-lg); background: var(--c-card); color: var(--c-text); box-shadow: 0 24px 60px -20px var(--belt-black-75); }
.c-lock[open] { display: grid; grid-template-columns: var(--lock-poster) minmax(0, 1fr); gap: var(--sp-5); align-items: start; }
.c-lock::backdrop { background: var(--c-overlay); }
.c-lock__close-form { position: absolute; top: var(--sp-2); right: var(--sp-2); margin: 0; }
.c-lock__close { display: inline-flex; align-items: center; justify-content: center; width: var(--tap); height: var(--tap); border: 0; border-radius: var(--r-pill); background: transparent; color: var(--c-text-60); font-size: var(--fs-20); cursor: pointer; }
.c-lock__close:hover { background: var(--belt-white-08); color: var(--c-text-strong); }
.c-lock__poster { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: var(--r-md); background: var(--c-bg); }
.c-lock__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-2); min-width: 0; padding-right: var(--sp-6); }
.c-lock__ep { display: inline-flex; align-items: center; gap: var(--sp-1); margin: 0; color: var(--c-primary); font-size: var(--fs-13); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.c-lock__title { margin: 0; color: var(--c-text-strong); font-size: var(--fs-20); font-weight: 700; line-height: 1.3; }
.c-lock__text { margin: 0; color: var(--c-text-60); font-size: var(--fs-14); line-height: 1.6; }
.c-lock__cta { margin-top: var(--sp-3); }
.c-lock__note { margin: 0; color: var(--c-text-60); font-size: var(--fs-12); }
@media (max-width: 575px) {
  .c-lock { --lock-poster: 84px; padding: var(--sp-5) var(--sp-4); }
  .c-lock[open] { gap: var(--sp-4); }
  .c-lock__body { padding-right: 0; }
  .c-lock__title { font-size: var(--fs-16); padding-right: var(--sp-8); }
  .c-lock__cta { align-self: stretch; min-width: 0; padding: 0 var(--sp-4); white-space: nowrap; }
}

@media (max-width: 767px) {
  .p-special { padding: var(--sp-5) var(--sp-4) var(--sp-4); background: linear-gradient(var(--special-dim), var(--special-dim)), linear-gradient(90deg, var(--c-bg) 10%, transparent 90%), var(--special-art) right top / cover no-repeat, var(--c-bg); }
  .c-surprise { min-height: var(--tap); }
}
@media (max-width: 575px) {
  .c-section-head:has(.p-special__tools) { flex-wrap: wrap; align-items: flex-start; }
  .p-special__tools { width: 100%; justify-content: space-between; }
}

@media (max-width: 575px) {
}

/* 手机可点区域补到 44px（体检实测不足的元素） */
@media (max-width: 767px) {
  .c-logo { min-height: var(--tap); }
  .c-search-box__input, .c-search-box__btn { min-height: var(--tap); }
  .c-filter__item, .c-btn--outline, .c-section-more, .c-more, .c-panel__cta { min-height: var(--tap); }
  .c-row__next { width: var(--tap); height: var(--tap); }
  .c-site-footer a, .c-breadcrumb__item a { display: inline-flex; align-items: center; min-height: var(--tap); }
}
