/* ============================================================
   cy 路 鏄ユū鍔ㄦ极 ECMS 7.5 涓婚
   鐗堟湰: v=20260602g 路 鍗曚竴鏂囦欢 路 鍏煎 PC + 绉诲姩
   璁捐: 娣辫壊 + 绱矇娓愬彉 + 16:9 妯増鍗＄墖 + 姗欒壊璇勫垎瑙掓爣
   ============================================================ */

:root {
  --cy-bg: #0f172a;
  --cy-bg-2: #111c33;
  --cy-bg-3: #1e293b;
  --cy-surface: #1a2540;
  --cy-surface-2: #243151;
  --cy-line: rgba(148, 163, 184, .14);
  --cy-line-strong: rgba(148, 163, 184, .25);
  --cy-text: #f1f5f9;
  --cy-text-2: #cbd5e1;
  --cy-text-3: #94a3b8;
  --cy-text-4: #64748b;
  --cy-pri: #a855f7;
  --cy-pri-2: #d946ef;
  --cy-pri-3: #ec4899;
  --cy-grad: linear-gradient(135deg, #a855f7 0%, #d946ef 50%, #ec4899 100%);
  --cy-grad-soft: linear-gradient(135deg, rgba(168, 85, 247, .15) 0%, rgba(236, 72, 153, .12) 100%);
  --cy-orange: #f97316;
  --cy-blue: #3b82f6;
  --cy-green: #10b981;
  --cy-shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);
  --cy-shadow: 0 8px 24px rgba(15, 23, 42, .6);
  --cy-shadow-lg: 0 20px 50px -10px rgba(168, 85, 247, .35);
  --cy-r-sm: 8px;
  --cy-r: 12px;
  --cy-r-lg: 16px;
  --cy-r-xl: 20px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body, h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img, svg, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; background: none; border: 0; color: inherit; }
input, select, textarea { font: inherit; color: inherit; }

body.cy-body {
  font: 14px/1.65 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft Yahei", sans-serif;
  color: var(--cy-text);
  background: var(--cy-bg) radial-gradient(1200px 600px at 50% -100px, rgba(168, 85, 247, .18), transparent 60%) no-repeat;
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

.cy-wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }

/* ============================================================
   HEADER
   ============================================================ */
.cy-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(15, 23, 42, .78);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  border-bottom: 1px solid var(--cy-line);
}
.cy-header__inner { display: flex; align-items: center; gap: 24px; height: 64px; }
.cy-logo { display: inline-flex; align-items: center; gap: 10px; padding: 6px 10px; border-radius: 10px; transition: background .2s; }
.cy-logo:hover { background: rgba(255, 255, 255, .04); }
.cy-logo__mark {
  width: 36px; height: 36px; border-radius: 9px;
  background: var(--cy-grad); display: inline-flex; align-items: center; justify-content: center;
  color: #fff; box-shadow: 0 6px 18px rgba(217, 70, 239, .45);
}
.cy-logo__mark svg { width: 18px; height: 18px; }
.cy-logo__txt b {
  display: block; font-size: 18px; line-height: 1.1; font-weight: 800;
  background: linear-gradient(135deg, #c084fc, #f0abfc, #fb7185);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  letter-spacing: .5px;
}
.cy-logo__txt small { display: block; font-size: 11px; color: var(--cy-text-4); margin-top: 1px; }

.cy-nav { display: flex; gap: 6px; }
.cy-nav__item {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px;
  font-size: 13.5px; color: var(--cy-text-2); transition: color .2s, background .2s, transform .15s;
}
.cy-nav__item:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.cy-nav__item.is-active { color: #fff; background: var(--cy-grad); box-shadow: 0 6px 18px rgba(217, 70, 239, .4); }
.cy-nav__item svg { width: 14px; height: 14px; }

.cy-head-right { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.cy-search {
  display: flex; align-items: center; gap: 8px;
  width: 280px; padding: 0 14px;
  height: 38px; border-radius: 999px;
  background: rgba(255, 255, 255, .06); border: 1px solid var(--cy-line);
  transition: border-color .2s, background .2s;
}
.cy-search:focus-within { border-color: var(--cy-pri); background: rgba(255, 255, 255, .08); }
.cy-search svg { width: 15px; height: 15px; color: var(--cy-text-3); flex: 0 0 auto; }
.cy-search input {
  flex: 1; min-width: 0; background: transparent; border: 0; outline: none;
  color: #fff; font-size: 13px;
}
.cy-search input::placeholder { color: var(--cy-text-4); }
.cy-iconbtn {
  width: 38px; height: 38px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--cy-text-2); transition: color .2s, background .2s;
}
.cy-iconbtn:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.cy-iconbtn svg { width: 16px; height: 16px; }
.cy-search-btn { display: none; }

/* ============================================================
   HERO
   ============================================================ */
.cy-hero {
  padding: 52px 0 38px;
  text-align: center;
  background:
    radial-gradient(700px 320px at 50% 0%, rgba(168, 85, 247, .22), transparent 60%),
    radial-gradient(500px 280px at 80% 100%, rgba(236, 72, 153, .15), transparent 60%);
}
.cy-hero__title {
  font-size: 46px; font-weight: 900; letter-spacing: 2px;
  background: linear-gradient(135deg, #c084fc 0%, #e879f9 35%, #f472b6 70%, #fb7185 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  margin-bottom: 12px;
  filter: drop-shadow(0 4px 20px rgba(217, 70, 239, .25));
}
.cy-hero__subline { font-size: 16px; font-weight: 600; color: #fff; margin-bottom: 8px; letter-spacing: .5px; }
.cy-hero__desc { color: var(--cy-text-3); font-size: 13.5px; max-width: 560px; margin: 0 auto 24px; line-height: 1.7; }
.cy-hero__form {
  max-width: 560px; margin: 0 auto;
  display: flex; align-items: center; gap: 10px;
  padding: 6px 6px 6px 18px;
  background: rgba(30, 41, 59, .85); border: 1px solid var(--cy-line-strong);
  border-radius: 999px; box-shadow: var(--cy-shadow);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.cy-hero__form svg { width: 18px; height: 18px; color: var(--cy-text-3); flex: 0 0 auto; }
.cy-hero__form input {
  flex: 1; min-width: 0; height: 42px; background: transparent; border: 0; outline: none;
  color: #fff; font-size: 14px;
}
.cy-hero__form input::placeholder { color: var(--cy-text-4); }
.cy-hero__form button {
  height: 42px; padding: 0 22px; border-radius: 999px;
  background: var(--cy-grad); color: #fff; font-weight: 700; font-size: 13.5px;
  box-shadow: 0 6px 18px rgba(217, 70, 239, .45);
  transition: transform .15s, box-shadow .2s;
}
.cy-hero__form button:hover { transform: translateY(-1px); box-shadow: 0 10px 25px rgba(217, 70, 239, .6); }
.cy-hero__hot { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; font-size: 12.5px; }
.cy-hero__hot span { color: var(--cy-text-4); }
.cy-hero__hot a {
  padding: 4px 12px; border-radius: 999px;
  background: rgba(168, 85, 247, .12); color: #e9d5ff;
  border: 1px solid rgba(168, 85, 247, .25);
  transition: background .2s, color .2s, transform .15s;
}
.cy-hero__hot a:hover { background: var(--cy-grad); color: #fff; transform: translateY(-1px); border-color: transparent; }

/* ============================================================
   SECTION
   ============================================================ */
.cy-section { padding: 36px 0; }
.cy-section__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; gap: 16px; flex-wrap: wrap; }
.cy-section__title { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; color: #fff; }
.cy-section__title svg { width: 22px; height: 22px; color: var(--cy-orange); flex: 0 0 auto; }
.cy-section__more { display: inline-flex; align-items: center; gap: 4px; color: var(--cy-text-3); font-size: 13px; transition: color .2s; }
.cy-section__more:hover { color: var(--cy-pri-2); }
.cy-section__more svg { width: 12px; height: 12px; }

.cy-section__tabs { display: inline-flex; gap: 4px; padding: 4px; background: rgba(255, 255, 255, .04); border-radius: 999px; border: 1px solid var(--cy-line); }
.cy-section__tabs a {
  padding: 6px 14px; border-radius: 999px; font-size: 12.5px; color: var(--cy-text-3); transition: color .2s, background .2s;
}
.cy-section__tabs a:hover { color: #fff; }
.cy-section__tabs a.is-active { background: var(--cy-grad); color: #fff; box-shadow: 0 4px 12px rgba(217, 70, 239, .35); }

/* ============================================================
   CARD (16:9 妯増 路 瀵屼俊鎭竷灞€)
   ============================================================ */
.cy-grid {
  display: grid; gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.cy-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cy-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cy-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cy-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.cy-card {
  background: var(--cy-surface);
  border: 1px solid var(--cy-line);
  border-radius: var(--cy-r-lg);
  overflow: hidden;
  transition: transform .2s, border-color .2s, box-shadow .25s;
  position: relative;
  display: flex; flex-direction: column;
}
.cy-card:hover {
  transform: translateY(-3px);
  border-color: rgba(168, 85, 247, .35);
  box-shadow: 0 14px 32px -10px rgba(168, 85, 247, .4);
}
.cy-card__cover {
  position: relative; aspect-ratio: 16 / 9; overflow: hidden;
  background: #0b1226; display: block;
}
.cy-card__cover img {
  width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease;
}
.cy-card:hover .cy-card__cover img { transform: scale(1.06); }
.cy-card__broken {
  position: absolute; inset: 0; z-index: 1;
  display: flex; align-items: center; justify-content: center;
  padding: 14px; text-align: center;
  font-weight: 700; font-size: 14px; line-height: 1.45; color: #fff;
  background: linear-gradient(135deg, #581c87 0%, #831843 50%, #9d174d 100%);
  opacity: 0; pointer-events: none;
  transition: opacity .25s;
  letter-spacing: .3px;
}
.cy-card__broken::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(circle at 30% 20%, rgba(236, 72, 153, .35), transparent 55%),
    radial-gradient(circle at 70% 80%, rgba(168, 85, 247, .35), transparent 55%);
}
.cy-card__cover.is-broken .cy-card__broken { opacity: 1; }
.cy-card__cover.is-broken img { opacity: 0; }
.cy-sitem__cover.is-broken { background: linear-gradient(135deg, #581c87, #9d174d); }
.cy-sitem__cover.is-broken img { opacity: 0; }
.cy-card__score {
  position: absolute; top: 8px; left: 8px; z-index: 2;
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 8px; border-radius: 6px;
  background: var(--cy-orange); color: #fff; font-size: 11.5px; font-weight: 700;
  box-shadow: 0 2px 6px rgba(249, 115, 22, .55);
}
.cy-card__score svg { width: 10px; height: 10px; }
.cy-card__dur {
  position: absolute; bottom: 8px; right: 8px; z-index: 2;
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 8px; border-radius: 6px;
  background: rgba(0, 0, 0, .72); color: #fff; font-size: 11.5px; font-weight: 600;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.cy-card__dur svg { width: 10px; height: 10px; }
.cy-card__hd {
  position: absolute; top: 8px; right: 8px; z-index: 2;
  padding: 2px 6px; border-radius: 4px;
  background: var(--cy-grad); color: #fff; font-size: 10.5px; font-weight: 700;
}
.cy-card__play {
  position: absolute; inset: 0; z-index: 1;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(to top, rgba(0, 0, 0, .55), transparent 50%);
  opacity: 0; transition: opacity .25s;
}
.cy-card:hover .cy-card__play { opacity: 1; }
.cy-card__play > span {
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--cy-grad); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 25px rgba(217, 70, 239, .55);
  transform: translateY(8px); transition: transform .25s;
}
.cy-card:hover .cy-card__play > span { transform: translateY(0); }
.cy-card__play svg { width: 18px; height: 18px; margin-left: 2px; }

.cy-card__body {
  padding: 12px 14px 12px;
  display: flex; flex-direction: column; gap: 6px;
  flex: 1;
}
.cy-card__title {
  font-size: 14.5px; font-weight: 700; color: #fff; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 41px; margin: 0;
}
.cy-card__title a { color: inherit; text-decoration: none; }
.cy-card:hover .cy-card__title a { color: var(--cy-pri-2); }
.cy-card__desc {
  font-size: 12.5px; color: var(--cy-text-3); line-height: 1.55;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 38px; margin: 0;
}
.cy-card__meta {
  display: flex; align-items: center; gap: 4px 10px; flex-wrap: wrap;
  font-size: 11.5px; color: var(--cy-text-4);
  margin-top: auto;
}
.cy-card__meta span { display: inline-flex; align-items: center; gap: 3px; }
.cy-card__meta svg { width: 11px; height: 11px; opacity: .85; }
.cy-card__cat {
  margin-left: auto;
  padding: 2px 8px; border-radius: 5px;
  background: rgba(236, 72, 153, .15);
  color: #f9a8d4 !important;
  font-size: 11px; font-weight: 600;
  border: 1px solid rgba(236, 72, 153, .25);
}
.cy-card__tags {
  display: flex; gap: 5px; flex-wrap: wrap;
  margin-top: 2px;
}
.cy-card__tags span,
.cy-card__tags a {
  display: inline-block; padding: 2px 7px;
  border-radius: 4px; background: rgba(168, 85, 247, .12);
  color: #c084fc; font-size: 10.5px; font-weight: 500;
  text-decoration: none;
  border: 1px solid rgba(168, 85, 247, .15);
  line-height: 1.5;
}
.cy-card__tags a:hover { background: rgba(168, 85, 247, .22); color: #d8b4fe; }

/* 搴忓彿瑙掓爣锛堟帓琛屾鐢級 */
.cy-card--ranked .cy-card__cover::after {
  content: attr(data-rank); position: absolute; top: 0; left: 0; z-index: 3;
  width: 36px; height: 36px; padding: 4px 0 0 6px;
  background: var(--cy-grad); color: #fff;
  font-size: 16px; font-weight: 900; font-style: italic;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.cy-card--ranked[data-rank="1"] .cy-card__cover::after { background: linear-gradient(135deg, #f59e0b, #f97316); }
.cy-card--ranked[data-rank="2"] .cy-card__cover::after { background: linear-gradient(135deg, #94a3b8, #cbd5e1); }
.cy-card--ranked[data-rank="3"] .cy-card__cover::after { background: linear-gradient(135deg, #fb923c, #ea580c); }

/* ============================================================
   鍒嗙被绛涢€?   ============================================================ */
.cy-filterbar {
  background: var(--cy-surface); border: 1px solid var(--cy-line);
  border-radius: var(--cy-r-lg); padding: 16px 18px; margin-bottom: 22px;
}
.cy-filterbar__row { display: flex; align-items: flex-start; gap: 14px; padding: 6px 0; }
.cy-filterbar__row + .cy-filterbar__row { border-top: 1px dashed var(--cy-line); margin-top: 6px; padding-top: 12px; }
.cy-filterbar__label {
  flex: 0 0 64px; font-size: 13px; font-weight: 700; color: var(--cy-text-2); padding-top: 6px;
}
.cy-filterbar__opts { flex: 1; display: flex; flex-wrap: wrap; gap: 6px; }
.cy-filterbar__opts a {
  padding: 5px 14px; border-radius: 999px; font-size: 12.5px; color: var(--cy-text-3);
  transition: color .2s, background .2s, transform .15s;
}
.cy-filterbar__opts a:hover { color: #fff; background: rgba(168, 85, 247, .15); }
.cy-filterbar__opts a.is-active { color: #fff; background: var(--cy-grad); box-shadow: 0 4px 12px rgba(217, 70, 239, .35); }

/* ============================================================
   鍒楄〃 HERO
   ============================================================ */
.cy-list-hero {
  position: relative; padding: 56px 0 38px;
  background:
    radial-gradient(700px 320px at 30% 50%, rgba(168, 85, 247, .25), transparent 60%),
    radial-gradient(500px 280px at 80% 80%, rgba(236, 72, 153, .18), transparent 60%);
  border-bottom: 1px solid var(--cy-line);
}
.cy-list-hero__kicker {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 12px; border-radius: 999px;
  background: rgba(168, 85, 247, .15); color: #e9d5ff;
  border: 1px solid rgba(168, 85, 247, .3);
  font-size: 12px; font-weight: 600; margin-bottom: 14px;
}
.cy-list-hero__title {
  font-size: 40px; font-weight: 900; color: #fff;
  letter-spacing: 1px; margin-bottom: 12px;
}
.cy-list-hero__title em {
  background: linear-gradient(135deg, #e879f9, #f472b6);
  -webkit-background-clip: text; background-clip: text; color: transparent; font-style: normal;
}
.cy-list-hero__desc { color: var(--cy-text-3); max-width: 760px; line-height: 1.7; margin-bottom: 16px; }
.cy-list-hero__stats { display: flex; gap: 18px; flex-wrap: wrap; }
.cy-list-hero__stat {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--cy-text-3);
}
.cy-list-hero__stat b { color: #fff; font-size: 18px; font-weight: 800; }

/* ============================================================
   PAGER
   ============================================================ */
.cy-pager {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 6px;
  margin: 30px 0 0; font-size: 13px;
}
.cy-pager ul, .cy-pager li { display: contents; }
.cy-pager a, .cy-pager span, .cy-pager strong, .cy-pager b {
  min-width: 36px; height: 36px; padding: 0 12px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--cy-surface); border: 1px solid var(--cy-line);
  color: var(--cy-text-2); transition: color .2s, background .2s, border-color .2s;
}
.cy-pager a:hover { color: #fff; border-color: var(--cy-pri); background: rgba(168, 85, 247, .12); }
.cy-pager .is-current,
.cy-pager strong, .cy-pager b {
  background: var(--cy-grad); color: #fff; border-color: transparent;
  font-weight: 700;
}

/* ============================================================
   EMPTY
   ============================================================ */
.cy-empty {
  text-align: center; padding: 60px 20px;
  background: var(--cy-surface); border: 1px dashed var(--cy-line-strong); border-radius: var(--cy-r-lg);
}
.cy-empty__icon { font-size: 48px; margin-bottom: 12px; }
.cy-empty h3 { font-size: 18px; color: #fff; margin-bottom: 8px; }
.cy-empty p { color: var(--cy-text-3); font-size: 13.5px; margin-bottom: 20px; }
.cy-empty__cta {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 22px; border-radius: 999px;
  background: var(--cy-grad); color: #fff; font-weight: 700;
  box-shadow: 0 6px 18px rgba(217, 70, 239, .4);
}

/* ============================================================
   SHOW 椤碉紙v=20260602j 鍏ㄦ柊褰遍櫌寮?Hero 甯冨眬锛?   ============================================================ */
.cy-show-hero {
  position: relative; padding: 48px 0 36px; overflow: hidden;
}
.cy-show-hero__bd {
  position: absolute; inset: 0; z-index: -2;
  background-size: cover; background-position: center 20%;
  filter: blur(48px) saturate(160%) brightness(.85);
  opacity: .55; transform: scale(1.3);
}
.cy-show-hero::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(168, 85, 247, .25), transparent 70%),
    linear-gradient(180deg, rgba(15, 23, 42, .55) 0%, rgba(15, 23, 42, .85) 60%, var(--cy-bg) 100%);
}

/* 鍙屾爮锛氭捣鎶?200 + 淇℃伅 1fr */
.cy-show-grid {
  display: grid; grid-template-columns: 200px 1fr; gap: 36px; align-items: start;
}

/* 绔栫増娴锋姤锛?:3锛?*/
.cy-show-poster {
  position: relative; aspect-ratio: 2 / 3; border-radius: 16px;
  overflow: hidden; background: var(--cy-surface);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(168, 85, 247, .25),
              0 0 40px rgba(168, 85, 247, .18);
}
.cy-show-poster img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s cubic-bezier(.22,.61,.36,1);
}
.cy-show-poster:hover img { transform: scale(1.04); }
.cy-show-poster::before {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, transparent 60%, rgba(15, 23, 42, .55) 100%);
}
.cy-show-poster__hd {
  position: absolute; top: 12px; right: 12px; z-index: 3;
  padding: 4px 10px; border-radius: 6px;
  background: var(--cy-grad); color: #fff; font-size: 11px; font-weight: 800;
  letter-spacing: .5px; box-shadow: 0 4px 12px rgba(217, 70, 239, .4);
}
.cy-show-poster__quick {
  position: absolute; bottom: 12px; left: 12px; right: 12px; z-index: 3;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 10px 14px; border-radius: 10px;
  -webkit-backdrop-filter: blur(10px);
  background: rgba(15, 23, 42, .75); backdrop-filter: blur(10px);
  color: #fff; font-size: 13px; font-weight: 700;
  border: 1px solid rgba(255, 255, 255, .1);
  opacity: 0; transform: translateY(8px); transition: all .25s;
}
.cy-show-poster:hover .cy-show-poster__quick {
  opacity: 1; transform: translateY(0);
}
.cy-show-poster__quick svg { width: 14px; height: 14px; }
.cy-show-poster .cy-card__broken {
  font-size: 16px; padding: 18px; z-index: 1;
}
.cy-show-poster.is-broken .cy-card__broken { opacity: 1; }
.cy-show-poster.is-broken img { opacity: 0; }

/* 淇℃伅鍖?*/
.cy-show-info { min-width: 0; display: flex; flex-direction: column; gap: 14px; }

.cy-show-info__kicker {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;
  padding: 5px 12px; border-radius: 999px;
  background: rgba(168, 85, 247, .12); color: #e9d5ff;
  font-size: 11.5px; font-weight: 600; letter-spacing: .3px;
  border: 1px solid rgba(168, 85, 247, .3);
}
.cy-show-info__kicker::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--cy-pri-3);
  box-shadow: 0 0 8px var(--cy-pri-3); animation: cyPulse 1.6s ease-in-out infinite;
}
@keyframes cyPulse { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }

/* 鏍囬琛岋細澶ф爣棰?+ 娴姩璇勫垎鍧?*/
.cy-show-info__head {
  display: flex; align-items: flex-start; gap: 18px; flex-wrap: wrap;
}
.cy-show-info__title {
  flex: 1; min-width: 200px;
  font-size: 36px; font-weight: 800; color: #fff; line-height: 1.15;
  letter-spacing: .5px; margin: 0;
  background: linear-gradient(180deg, #fff 0%, #d8c5ff 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cy-show-info__score {
  flex-shrink: 0;
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 10px 18px; border-radius: 14px;
  background: linear-gradient(135deg, rgba(251, 146, 60, .15), rgba(244, 63, 94, .15));
  border: 1px solid rgba(251, 146, 60, .3);
}
.cy-show-info__score b {
  font-size: 26px; font-weight: 800; line-height: 1;
  background: linear-gradient(135deg, #fb923c, #f43f5e);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cy-show-info__score span {
  font-size: 10px; color: #fcd34d; font-weight: 600; letter-spacing: 1px;
}

/* 涓讳俊鎭?chips锛堝勾浠?鍦板尯/璇█/绫诲瀷锛?*/
.cy-show-meta {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.cy-show-meta__chip {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 500;
  background: rgba(255, 255, 255, .06); color: var(--cy-text-2);
  border: 1px solid var(--cy-line); transition: all .2s;
}
.cy-show-meta__chip:hover { color: #fff; border-color: rgba(168, 85, 247, .5); background: rgba(168, 85, 247, .12); }
.cy-show-meta__chip--cat { background: rgba(168, 85, 247, .14); color: #e9d5ff; border-color: rgba(168, 85, 247, .35); }
.cy-show-meta__chip svg { width: 12px; height: 12px; opacity: .7; }

/* 婕旇亴鍛?*/
.cy-show-people { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; font-size: 13px; }
.cy-show-people dt { color: var(--cy-text-4); font-weight: 500; padding-top: 4px; }
.cy-show-people dd { display: flex; flex-wrap: wrap; gap: 6px; }
.cy-show-people dd a, .cy-show-people dd span {
  padding: 3px 9px; border-radius: 6px; font-size: 12.5px;
  background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .06);
  color: var(--cy-text-2); transition: all .2s;
}
.cy-show-people dd a:hover { color: var(--cy-pri-3); border-color: var(--cy-pri); background: rgba(168, 85, 247, .12); }

/* 绠€浠?*/
.cy-show-lead {
  color: var(--cy-text-2); font-size: 14px; line-height: 1.75;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  margin: 0;
}

/* 妯悜鍔ㄤ綔鏍忥細鎾斁(2fr) + 闆嗘暟(1fr) + 绾胯矾(1fr) + 鏀惰棌 + 鍒嗕韩 */
.cy-show-actions {
  display: grid; grid-template-columns: minmax(200px, 2fr) 1fr 1fr auto auto;
  gap: 10px; align-items: stretch; margin-top: 4px;
}
.cy-show-actions__play {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center; gap: 12px;
  padding: 16px 28px; border-radius: 14px;
  background: linear-gradient(135deg, #a855f7 0%, #d946ef 50%, #ec4899 100%);
  background-size: 200% 100%; background-position: 0% 0%;
  color: #fff; font-size: 16px; font-weight: 800; letter-spacing: .5px;
  box-shadow: 0 12px 30px rgba(217, 70, 239, .45),
              inset 0 1px 0 rgba(255, 255, 255, .2);
  transition: background-position .4s, transform .15s, box-shadow .2s;
}
.cy-show-actions__play::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .2), transparent);
  transform: translateX(-100%); transition: transform .6s;
}
.cy-show-actions__play:hover {
  background-position: 100% 0%; transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(217, 70, 239, .6);
}
.cy-show-actions__play:hover::before { transform: translateX(100%); }
.cy-show-actions__play svg { width: 22px; height: 22px; }
.cy-show-actions__play.is-disabled {
  background: rgba(255, 255, 255, .06); color: var(--cy-text-4);
  cursor: not-allowed; box-shadow: none; pointer-events: none;
}

.cy-show-actions__stat {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  padding: 12px 14px; border-radius: 14px;
  background: rgba(255, 255, 255, .04); border: 1px solid var(--cy-line);
  text-align: center;
}
.cy-show-actions__stat b { color: #fff; font-size: 20px; font-weight: 800; line-height: 1; }
.cy-show-actions__stat span { color: var(--cy-text-4); font-size: 11px; margin-top: 4px; }

.cy-show-actions__icon {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  width: 56px; padding: 10px 6px; border-radius: 14px;
  background: rgba(255, 255, 255, .04); border: 1px solid var(--cy-line);
  color: var(--cy-text-3); font-size: 11px; font-weight: 500;
  transition: all .2s;
}
.cy-show-actions__icon:hover { color: #fff; border-color: var(--cy-pri); background: rgba(168, 85, 247, .15); transform: translateY(-2px); }
.cy-show-actions__icon.is-active { color: var(--cy-pri-3); border-color: var(--cy-pri-3); background: rgba(217, 70, 239, .12); }
.cy-show-actions__icon svg { width: 18px; height: 18px; }

/* SHOW 鍐呭鍖?*/
.cy-show-body { padding: 32px 0; }
.cy-show-sec { background: var(--cy-surface); border: 1px solid var(--cy-line); border-radius: var(--cy-r-lg); padding: 22px; margin-bottom: 22px; }
.cy-show-sec__head { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.cy-show-sec__head h2 {
  font-size: 18px; font-weight: 700; color: #fff;
  display: inline-flex; align-items: center; gap: 8px;
}
.cy-show-sec__head h2::before { content: ''; width: 4px; height: 18px; background: var(--cy-grad); border-radius: 2px; }
.cy-show-story p { color: var(--cy-text-2); font-size: 14px; line-height: 1.85; white-space: pre-wrap; word-break: break-word; }
.cy-show-story.is-collapsed p {
  display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden;
}
.cy-show-story__toggle {
  display: inline-flex; align-items: center; gap: 4px; margin-top: 10px;
  color: var(--cy-pri-2); font-size: 13px; font-weight: 600;
}
.cy-show-story__toggle:hover { color: var(--cy-pri-3); }
.cy-show-story__toggle svg { width: 12px; height: 12px; transition: transform .2s; }
.cy-show-story:not(.is-collapsed) .cy-show-story__toggle svg { transform: rotate(180deg); }

/* 鍒嗛泦 */
.cy-show-eps__tabs {
  display: flex; gap: 6px; padding: 4px;
  background: rgba(255, 255, 255, .04); border-radius: 999px; border: 1px solid var(--cy-line);
  margin-bottom: 16px; overflow-x: auto;
}
.cy-show-eps__tab {
  padding: 6px 14px; border-radius: 999px; font-size: 12.5px; color: var(--cy-text-3); white-space: nowrap;
}
.cy-show-eps__tab.is-active { background: var(--cy-grad); color: #fff; }
.cy-show-eps__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px;
}
.cy-show-eps__ep {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 12px 8px; border-radius: 10px; font-size: 13px;
  background: rgba(255, 255, 255, .04); border: 1px solid var(--cy-line);
  color: var(--cy-text-2); transition: all .2s; text-align: center;
}
.cy-show-eps__ep:hover { color: #fff; border-color: var(--cy-pri); background: rgba(168, 85, 247, .15); }
.cy-show-eps__ep svg { width: 12px; height: 12px; }

/* 闈㈠寘灞?*/
.cy-show-crumb {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  font-size: 13px; color: var(--cy-text-4);
  margin-bottom: 22px;
}
.cy-show-crumb a {
  color: var(--cy-text-3); transition: color .2s;
}
.cy-show-crumb a:hover { color: var(--cy-pri-2); }
.cy-show-crumb span { color: var(--cy-text-4); font-size: 11px; }
.cy-show-crumb strong {
  color: #fff; font-weight: 600;
  max-width: 320px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* 鐩稿叧鎺ㄨ崘 - 澶嶇敤 cy-grid + cy-card */

/* SHOW 椤靛搷搴斿紡 */
@media (max-width: 900px) {
  .cy-show-grid { grid-template-columns: 160px 1fr; gap: 24px; }
  .cy-show-info__title { font-size: 28px; }
  .cy-show-info__score { padding: 8px 14px; }
  .cy-show-info__score b { font-size: 22px; }
  .cy-show-actions { grid-template-columns: 1fr 1fr; gap: 8px; }
  .cy-show-actions__play { grid-column: 1 / -1; padding: 14px 20px; font-size: 15px; }
  .cy-show-actions__stat { padding: 10px; }
  .cy-show-actions__stat b { font-size: 17px; }
  .cy-show-actions__icon { flex-direction: row; gap: 6px; width: auto; padding: 10px 14px; }
}
/* PLAY 椤靛搷搴斿紡 */
@media (max-width: 1100px) {
  .cy-cinema--v2 .cy-cinema__grid { grid-template-columns: 1fr; }
  .cy-eppanel--v2 { max-height: 360px; }
}
@media (max-width: 720px) {
  .cy-cinema--v2 { padding: 16px 0 16px; }
  .cy-player--v2 { border-radius: 12px; }
  .cy-player-nav { width: 36px; height: 36px; }
  .cy-stage-bar--v2 { margin-top: 10px; padding: 10px 12px; gap: 10px; border-radius: 12px; }
  .cy-stage-bar--v2 .cy-stage-bar__l { min-width: 100%; }
  .cy-stage-bar--v2 .cy-stage-bar__r { width: 100%; justify-content: flex-end; }
  .cy-stage-bar__epbadge { font-size: 12px; padding: 6px 10px; }
  .cy-stage-bar--v2 .cy-stage-bar__l .cy-stage-bar__title { font-size: 14px; }
  .cy-stage-bar__nav span { display: none; }
  .cy-stage-bar__nav { padding: 8px; }
  .cy-eppanel--v2 .cy-eppanel__head { padding: 14px 14px 10px; }
  .cy-eppanel--v2 .cy-eppanel__scroll { padding: 10px 12px 14px; }
}

@media (max-width: 560px) {
  .cy-show-hero { padding: 24px 0 24px; }
  .cy-show-grid { grid-template-columns: 120px 1fr; gap: 16px; }
  .cy-show-info { gap: 10px; }
  .cy-show-info__title { font-size: 22px; }
  .cy-show-info__kicker { font-size: 11px; padding: 3px 10px; }
  .cy-show-info__score { padding: 6px 12px; border-radius: 10px; }
  .cy-show-info__score b { font-size: 18px; }
  .cy-show-info__score span { font-size: 9px; letter-spacing: .5px; }
  .cy-show-people { grid-template-columns: 1fr; gap: 4px; }
  .cy-show-people dt { padding-top: 0; font-size: 12px; }
  .cy-show-lead { font-size: 13px; -webkit-line-clamp: 4; }
  .cy-show-actions { grid-template-columns: 1fr 1fr; }
  .cy-show-actions__play { grid-column: 1 / -1; padding: 13px 18px; font-size: 14px; }
  .cy-show-actions__stat b { font-size: 16px; }
  .cy-show-actions__stat span { font-size: 10px; }
  .cy-show-actions__icon { padding: 9px 10px; font-size: 11px; }
  .cy-show-eps__grid { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); }
  .cy-show-crumb strong { max-width: 180px; }
  .cy-show-poster .cy-card__broken { font-size: 13px; padding: 10px; }
}

/* ============================================================
   PLAY 椤?   ============================================================ */
/* ============================================================
   PLAY 椤碉紙v=20260602j 褰遍櫌妯″紡鍗囩骇锛?   ============================================================ */
.cy-body--play { background: #0a0f1f; }

.cy-cinema--v2 {
  position: relative; padding: 28px 0 24px; overflow: hidden;
}
.cy-cinema--v2 .cy-cinema__bd {
  position: absolute; inset: 0; z-index: -2;
  background-size: cover; background-position: center 20%;
  filter: blur(60px) saturate(160%) brightness(.7);
  opacity: .5; transform: scale(1.3);
}
.cy-cinema--v2::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(168, 85, 247, .2), transparent 70%),
    linear-gradient(180deg, rgba(10, 15, 31, .4) 0%, rgba(10, 15, 31, .9) 100%);
}

/* 澧炲己鎾斁鍣ㄥ瑙?*/
.cy-player--v2 {
  position: relative; aspect-ratio: 16 / 9; background: #000;
  border-radius: 18px; overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .65),
              0 0 0 1px rgba(168, 85, 247, .25),
              0 0 60px rgba(168, 85, 247, .12);
}
.cy-player--v2::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(168, 85, 247, .08) 0%, transparent 8%, transparent 92%, rgba(217, 70, 239, .08) 100%);
}
.cy-player--v2 > video,
.cy-player--v2 > iframe { width: 100%; height: 100%; border: 0; display: block; }

/* 娴姩涓?涓嬮泦鎸夐挳锛坔over 鏄剧ず锛?*/
.cy-player-nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  -webkit-backdrop-filter: blur(10px);
  background: rgba(15, 23, 42, .7); backdrop-filter: blur(10px);
  color: #fff; border: 1px solid rgba(255, 255, 255, .1);
  opacity: 0; transition: all .25s;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .4);
}
.cy-player-nav--prev { left: 16px; }
.cy-player-nav--next { right: 16px; }
.cy-player--v2:hover .cy-player-nav { opacity: 1; }
.cy-player-nav:hover { background: var(--cy-grad); border-color: transparent; transform: translateY(-50%) scale(1.08); }
.cy-player-nav svg { width: 22px; height: 22px; }

/* 鎾斁鍣ㄧ┖鐘舵€?iframe 鍗犱綅 */
.cy-player--v2 .cy-player__placeholder {
  position: absolute; inset: 0; z-index: 4;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
  background: radial-gradient(ellipse at center, rgba(168, 85, 247, .12) 0%, rgba(15, 23, 42, .95) 70%);
  text-align: center; cursor: pointer;
}
.cy-player--v2 .cy-player__placeholder span {
  width: 80px; height: 80px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--cy-grad); color: #fff;
  box-shadow: 0 16px 40px rgba(217, 70, 239, .5);
  transition: transform .25s;
}
.cy-player--v2 .cy-player__placeholder:hover span { transform: scale(1.12); }
.cy-player--v2 .cy-player__placeholder svg { width: 38px; height: 38px; margin-left: 4px; }
.cy-player--v2 .cy-player__placeholder p { color: var(--cy-text-2); font-size: 13.5px; max-width: 340px; padding: 0 20px; }
.cy-player--v2 .cy-player__placeholder b { color: #fff; font-size: 16px; }

/* 鍗囩骇 stage-bar */
.cy-stage-bar--v2 {
  margin-top: 16px; padding: 14px 18px; border-radius: 14px;
  -webkit-backdrop-filter: blur(12px);
  background: rgba(30, 41, 59, .55); backdrop-filter: blur(12px);
  border: 1px solid rgba(168, 85, 247, .15);
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
.cy-stage-bar--v2 .cy-stage-bar__l { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 240px; }
.cy-stage-bar__epbadge {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 12px; border-radius: 10px;
  background: var(--cy-grad-soft); color: var(--cy-pri-3);
  font-size: 13px; font-weight: 700;
  border: 1px solid rgba(168, 85, 247, .35);
}
.cy-stage-bar__epbadge svg { width: 13px; height: 13px; }
.cy-stage-bar--v2 .cy-stage-bar__l .cy-stage-bar__title {
  font-size: 16px; font-weight: 700; color: #fff;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.cy-stage-bar--v2 .cy-stage-bar__r {
  display: flex; gap: 6px; align-items: center;
}
.cy-stage-bar__nav {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 8px 12px; border-radius: 10px; font-size: 12.5px; font-weight: 600;
  background: rgba(255, 255, 255, .05); color: var(--cy-text-2);
  border: 1px solid var(--cy-line); transition: all .2s;
}
.cy-stage-bar__nav:hover { color: #fff; border-color: var(--cy-pri); background: rgba(168, 85, 247, .12); }
.cy-stage-bar__nav--primary { background: var(--cy-grad); color: #fff; border-color: transparent; }
.cy-stage-bar__nav--primary:hover { color: #fff; box-shadow: 0 6px 18px rgba(217, 70, 239, .4); }
.cy-stage-bar__nav.is-disabled { opacity: .35; pointer-events: none; }
.cy-stage-bar__nav svg { width: 14px; height: 14px; }
.cy-stage-bar__icon {
  width: 36px; height: 36px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .05); color: var(--cy-text-3);
  border: 1px solid var(--cy-line); transition: all .2s;
}
.cy-stage-bar__icon:hover { color: #fff; border-color: var(--cy-pri); background: rgba(168, 85, 247, .12); }
.cy-stage-bar__icon.is-active { color: var(--cy-pri-3); border-color: var(--cy-pri-3); background: rgba(217, 70, 239, .12); }
.cy-stage-bar__icon svg { width: 15px; height: 15px; }

/* 鍗囩骇 eppanel */
.cy-eppanel--v2 {
  -webkit-backdrop-filter: blur(12px);
  background: rgba(30, 41, 59, .55); backdrop-filter: blur(12px);
  border: 1px solid rgba(168, 85, 247, .15); border-radius: 18px;
  display: flex; flex-direction: column; max-height: calc(56vw * 9 / 16 + 80px);
  overflow: hidden;
}
.cy-eppanel--v2 .cy-eppanel__head {
  padding: 18px 18px 14px; border-bottom: 1px solid rgba(168, 85, 247, .12);
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.cy-eppanel--v2 .cy-eppanel__title h2 { font-size: 15px; font-weight: 700; color: #fff; display: inline-flex; align-items: center; gap: 8px; }
.cy-eppanel--v2 .cy-eppanel__title h2::before { content: ''; width: 4px; height: 16px; background: var(--cy-grad); border-radius: 2px; }
.cy-eppanel--v2 .cy-eppanel__count {
  font-size: 12px; color: var(--cy-text-3); padding: 4px 10px;
  background: rgba(168, 85, 247, .1); border-radius: 999px;
  border: 1px solid rgba(168, 85, 247, .2);
}
.cy-eppanel--v2 .cy-eppanel__lines {
  display: flex; gap: 6px; padding: 12px 18px; overflow-x: auto;
  border-bottom: 1px solid rgba(168, 85, 247, .12); flex-wrap: nowrap;
}
.cy-eppanel--v2 .cy-eppanel__line {
  padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 600;
  background: rgba(255, 255, 255, .04); color: var(--cy-text-3); white-space: nowrap;
  border: 1px solid var(--cy-line); transition: all .2s;
}
.cy-eppanel--v2 .cy-eppanel__line:hover { color: #fff; border-color: var(--cy-pri); }
.cy-eppanel--v2 .cy-eppanel__line.is-active { background: var(--cy-grad); color: #fff; border-color: transparent; }
.cy-eppanel--v2 .cy-eppanel__scroll { padding: 14px 14px 18px; overflow-y: auto; flex: 1; }
.cy-eppanel--v2 .cy-eppanel__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 8px;
}
.cy-eppanel--v2 .cy-eppanel__ep {
  padding: 10px 8px; border-radius: 10px; font-size: 13px; text-align: center;
  background: rgba(255, 255, 255, .04); color: var(--cy-text-2); position: relative;
  border: 1px solid var(--cy-line); transition: all .2s;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cy-eppanel--v2 .cy-eppanel__ep:hover { color: #fff; border-color: var(--cy-pri); background: rgba(168, 85, 247, .12); transform: translateY(-1px); }
.cy-eppanel--v2 .cy-eppanel__ep.is-active {
  background: var(--cy-grad); color: #fff; border-color: transparent;
  box-shadow: 0 6px 16px rgba(217, 70, 239, .35);
}
.cy-eppanel--v2 .cy-eppanel__ep.is-active::after {
  content: ''; position: absolute; top: 4px; right: 4px; width: 6px; height: 6px;
  border-radius: 50%; background: #fff; box-shadow: 0 0 6px #fff;
}

/* 鍗囩骇 safety 鎻愮ず */
.cy-safety--v2 {
  margin-top: 14px; padding: 10px 14px; border-radius: 10px;
  background: rgba(251, 191, 36, .08); color: #fcd34d;
  border: 1px solid rgba(251, 191, 36, .2);
  display: flex; align-items: center; gap: 8px; font-size: 12px;
}
.cy-safety--v2 svg { width: 14px; height: 14px; flex-shrink: 0; }

/* ----- 鑰佸吋瀹癸紙鏃х増瀛楁淇濈暀锛岄伩鍏嶅奖鍝嶅叾浠栭〉闈級 ----- */
.cy-cinema {
  position: relative; padding: 28px 0 24px;
  background:
    radial-gradient(900px 400px at 50% 0%, rgba(168, 85, 247, .2), transparent 70%);
  border-bottom: 1px solid var(--cy-line);
}
.cy-cinema__bd { position: absolute; inset: 0; z-index: -1; opacity: .25; filter: blur(50px) saturate(160%); background-size: cover; background-position: center; transform: scale(1.2); }
.cy-cinema__crumb { color: var(--cy-text-3); font-size: 12.5px; margin-bottom: 16px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cy-cinema__crumb a { color: var(--cy-text-3); transition: color .2s; }
.cy-cinema__crumb a:hover { color: var(--cy-pri-2); }
.cy-cinema__crumb span { color: var(--cy-text-4); }
.cy-cinema__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.cy-cinema__grid--single { grid-template-columns: minmax(0, 1fr); max-width: 1100px; margin: 0 auto; }

.cy-player {
  position: relative; width: 100%; aspect-ratio: 16 / 9;
  background: #000; border-radius: var(--cy-r-lg); overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .6);
}
.cy-player > video, .cy-player > iframe { width: 100%; height: 100%; border: 0; display: block; }
.cy-player__placeholder {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; cursor: pointer; gap: 16px;
  background: linear-gradient(135deg, #312e81 0%, #1e1b4b 100%);
  color: #fff; text-align: center; padding: 24px;
}
.cy-player__placeholder span {
  width: 78px; height: 78px; border-radius: 50%;
  background: var(--cy-grad); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 36px rgba(217, 70, 239, .55);
  transition: transform .25s;
}
.cy-player__placeholder:hover span { transform: scale(1.1); }
.cy-player__placeholder svg { width: 32px; height: 32px; margin-left: 4px; }
.cy-player__placeholder p { color: var(--cy-text-2); font-size: 13px; max-width: 320px; }

/* 旧版 .cy-stage-bar / __chip / __meta / __btn 已被 .cy-stage-bar--v2 全面替代，删除以减小 CSS 体积 */
.cy-stage-bar__l { flex: 1; min-width: 0; }
.cy-stage-bar__r { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* 閫夐泦闈㈡澘 */
.cy-eppanel {
  position: sticky; top: 84px;
  background: var(--cy-surface); border: 1px solid var(--cy-line); border-radius: var(--cy-r-lg);
  max-height: 78vh; display: flex; flex-direction: column; overflow: hidden;
}
.cy-eppanel__head { padding: 14px 16px 10px; border-bottom: 1px solid var(--cy-line); }
.cy-eppanel__title h2 { font-size: 14px; font-weight: 700; color: #fff; display: inline-flex; align-items: center; gap: 6px; }
.cy-eppanel__title h2::before { content: ''; width: 3px; height: 14px; background: var(--cy-grad); border-radius: 2px; }
.cy-eppanel__count { font-size: 11.5px; color: var(--cy-text-4); margin-top: 4px; }
.cy-eppanel__lines { display: flex; gap: 4px; padding: 8px 16px; border-bottom: 1px solid var(--cy-line); flex-wrap: wrap; }
.cy-eppanel__line {
  padding: 5px 12px; border-radius: 999px; font-size: 11.5px; color: var(--cy-text-3);
  background: rgba(255, 255, 255, .04); border: 1px solid transparent;
}
.cy-eppanel__line.is-active { background: var(--cy-grad-soft); color: #fff; border-color: rgba(168, 85, 247, .35); }
.cy-eppanel__scroll { flex: 1; padding: 12px 14px; overflow-y: auto; }
.cy-eppanel__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); gap: 6px; }
.cy-eppanel__ep {
  display: flex; align-items: center; justify-content: center;
  padding: 10px 6px; border-radius: 8px; font-size: 12.5px; font-weight: 600;
  background: rgba(255, 255, 255, .04); border: 1px solid var(--cy-line);
  color: var(--cy-text-2); transition: all .2s; min-height: 42px; text-align: center;
}
.cy-eppanel__ep:hover { color: #fff; border-color: var(--cy-pri); background: rgba(168, 85, 247, .15); }
.cy-eppanel__ep.is-active {
  background: var(--cy-grad); color: #fff; border-color: transparent;
  box-shadow: 0 4px 12px rgba(217, 70, 239, .4);
}
.cy-eppanel__ep.is-active::after {
  content: '鈻?; margin-left: 4px; font-size: 9px;
}

.cy-safety {
  margin-top: 14px; padding: 10px 14px;
  background: linear-gradient(135deg, rgba(245, 158, 11, .12), rgba(249, 115, 22, .08));
  border: 1px solid rgba(245, 158, 11, .3);
  border-radius: 10px; color: #fde68a; font-size: 12.5px;
  display: flex; align-items: center; gap: 8px;
}
.cy-safety svg { width: 14px; height: 14px; flex: 0 0 auto; }

/* PLAY 璇︾粏淇℃伅 */
.cy-pinfo { padding: 28px 0; }
.cy-pinfo__grid { display: grid; grid-template-columns: 280px 1fr; gap: 24px; }
.cy-pcard {
  background: var(--cy-surface); border: 1px solid var(--cy-line); border-radius: var(--cy-r-lg);
  overflow: hidden; box-shadow: var(--cy-shadow);
}
.cy-pcard__cover { aspect-ratio: 16 / 9; background: #0b1226; overflow: hidden; }
.cy-pcard__cover img { width: 100%; height: 100%; object-fit: cover; }
.cy-pcard__body { padding: 16px; }
.cy-pcard__title { font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.cy-pcard__rating { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.cy-pcard__score { font-size: 22px; font-weight: 800;
  background: linear-gradient(135deg, #f59e0b, #f97316);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.cy-pcard__cta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cy-pcard__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 10px; border-radius: 10px; font-size: 12.5px;
  background: rgba(255, 255, 255, .05); border: 1px solid var(--cy-line);
  color: var(--cy-text-2); transition: all .2s;
}
.cy-pcard__btn:hover { color: #fff; border-color: var(--cy-pri); background: rgba(168, 85, 247, .12); }
.cy-pcard__btn--primary { background: var(--cy-grad); color: #fff; border-color: transparent; font-weight: 700; }
.cy-pcard__btn svg { width: 12px; height: 12px; }

.cy-pnotice {
  margin-top: 14px; padding: 12px 14px; border-radius: 10px;
  background: linear-gradient(135deg, rgba(59, 130, 246, .12), rgba(99, 102, 241, .08));
  border: 1px solid rgba(59, 130, 246, .3); color: #bfdbfe;
  font-size: 12.5px; line-height: 1.7;
}
.cy-pnotice b { color: #fff; }

.cy-psec { background: var(--cy-surface); border: 1px solid var(--cy-line); border-radius: var(--cy-r-lg); padding: 20px; margin-bottom: 18px; }
.cy-psec__head h2 {
  font-size: 16px; font-weight: 700; color: #fff;
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px;
}
.cy-psec__head h2::before { content: ''; width: 4px; height: 16px; background: var(--cy-grad); border-radius: 2px; }
.cy-psec__story { color: var(--cy-text-2); font-size: 13.5px; line-height: 1.85; white-space: pre-wrap; }
.cy-pactors { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 14px; }
.cy-pactor {
  text-align: center; padding: 8px; border-radius: 10px;
  transition: background .2s, transform .15s;
}
.cy-pactor:hover { background: rgba(168, 85, 247, .12); transform: translateY(-2px); }
.cy-pactor__av {
  width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 8px;
  background: var(--cy-grad); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 16px;
  box-shadow: 0 4px 12px rgba(217, 70, 239, .4);
}
.cy-pactor__nm { font-size: 12px; color: var(--cy-text-2); }
.cy-pactor:hover .cy-pactor__nm { color: #fff; }

/* ============================================================
   SEARCH 椤?   ============================================================ */
.cy-search-hero { padding: 40px 0 28px; background: radial-gradient(700px 320px at 50% 0%, rgba(168, 85, 247, .18), transparent 60%); border-bottom: 1px solid var(--cy-line); }
.cy-search-hero__inner {
  max-width: 800px; margin: 0 auto;
  background: var(--cy-surface); border: 1px solid var(--cy-line);
  border-radius: var(--cy-r-lg); padding: 28px;
}
.cy-search-hero__title { font-size: 24px; font-weight: 800; color: #fff; margin-bottom: 16px; text-align: center; }
.cy-search-hero__title em {
  background: linear-gradient(135deg, #e879f9, #f472b6);
  -webkit-background-clip: text; background-clip: text; color: transparent; font-style: normal;
}
.cy-search-hero__form {
  display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 16px;
  background: rgba(15, 23, 42, .7); border: 1px solid var(--cy-line-strong);
  border-radius: 999px;
}
.cy-search-hero__form input {
  flex: 1; min-width: 0; height: 42px; background: transparent; border: 0; outline: none;
  color: #fff; font-size: 14px;
}
.cy-search-hero__form input::placeholder { color: var(--cy-text-4); }
.cy-search-hero__form button {
  height: 42px; padding: 0 22px; border-radius: 999px;
  background: var(--cy-grad); color: #fff; font-weight: 700;
}
.cy-search-hero__stats { display: flex; justify-content: center; gap: 24px; margin-top: 18px; font-size: 13px; color: var(--cy-text-3); flex-wrap: wrap; }
.cy-search-hero__stats b { color: var(--cy-pri-2); font-weight: 800; }
.cy-search-hero__hot { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.cy-search-hero__hot span { color: var(--cy-text-4); font-size: 12.5px; }
.cy-search-hero__hot a {
  padding: 3px 10px; border-radius: 999px; font-size: 12px;
  background: rgba(168, 85, 247, .12); color: #e9d5ff; border: 1px solid rgba(168, 85, 247, .25);
}
.cy-search-hero__hot a:hover { background: var(--cy-grad); color: #fff; border-color: transparent; }

.cy-slist { display: grid; gap: 14px; }
.cy-sitem {
  display: grid; grid-template-columns: 130px 1fr; gap: 18px;
  background: var(--cy-surface); border: 1px solid var(--cy-line); border-radius: var(--cy-r-lg);
  padding: 14px; transition: transform .2s, border-color .2s;
}
.cy-sitem:hover { transform: translateY(-2px); border-color: var(--cy-pri); }
.cy-sitem__cover { position: relative; aspect-ratio: 2 / 3; border-radius: 10px; overflow: hidden; background: #0b1226; }
.cy-sitem__cover img { width: 100%; height: 100%; object-fit: cover; }
.cy-sitem__cover.is-broken::before {
  content: 'No Image'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700; letter-spacing: 1px;
  background: linear-gradient(135deg, #581c87 0%, #831843 50%, #9d174d 100%);
  color: #fce7f3;
}
.cy-sitem__head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.cy-sitem__title { flex: 1; font-size: 16px; font-weight: 700; color: #fff; }
.cy-sitem__title mark { background: var(--cy-grad); color: #fff; padding: 0 4px; border-radius: 4px; }
.cy-sitem__score {
  padding: 3px 10px; border-radius: 6px; background: var(--cy-orange); color: #fff; font-size: 12px; font-weight: 700;
}
.cy-sitem__meta { display: flex; gap: 6px 14px; flex-wrap: wrap; font-size: 12px; color: var(--cy-text-4); margin-bottom: 8px; }
.cy-sitem__meta b { color: var(--cy-text-2); font-weight: 500; }
.cy-sitem__desc {
  color: var(--cy-text-3); font-size: 13px; line-height: 1.65; margin-bottom: 12px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.cy-sitem__desc mark { background: rgba(168, 85, 247, .25); color: #f5d0fe; padding: 0 2px; border-radius: 2px; }
.cy-sitem__cta { display: flex; gap: 8px; flex-wrap: wrap; }
.cy-sitem__btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 8px; font-size: 12.5px;
  background: rgba(255, 255, 255, .05); border: 1px solid var(--cy-line); color: var(--cy-text-2);
}
.cy-sitem__btn:hover { color: #fff; border-color: var(--cy-pri); background: rgba(168, 85, 247, .12); }
.cy-sitem__btn--primary { background: var(--cy-grad); color: #fff; border-color: transparent; font-weight: 700; }
.cy-sitem__btn svg { width: 12px; height: 12px; }

.cy-search-empty {
  text-align: center; padding: 60px 20px;
  background: var(--cy-surface); border: 1px dashed var(--cy-line-strong); border-radius: var(--cy-r-lg);
}
.cy-search-empty__icon { font-size: 56px; margin-bottom: 12px; }
.cy-search-empty h3 { font-size: 18px; color: #fff; margin-bottom: 8px; }
.cy-search-empty p { color: var(--cy-text-3); font-size: 13.5px; }

/* 鏈€杩戞洿鏂板垎缁?*/
.cy-zui-group { margin-bottom: 28px; }
.cy-zui-group__head {
  display: flex; align-items: center; gap: 10px; margin-bottom: 14px;
  padding-bottom: 10px; border-bottom: 1px solid var(--cy-line);
}
.cy-zui-group__head h2 { font-size: 16px; font-weight: 700; color: #fff; display: inline-flex; align-items: center; gap: 8px; }
.cy-zui-group__head h2::before { content: ''; width: 4px; height: 16px; background: var(--cy-grad); border-radius: 2px; }
.cy-zui-group__head span { font-size: 12px; color: var(--cy-text-4); }

/* 鎺掕姒滀笁澶т富姒?*/
.cy-rank-trio { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cy-rank-card {
  background: var(--cy-surface); border: 1px solid var(--cy-line); border-radius: var(--cy-r-lg);
  overflow: hidden;
}
.cy-rank-card__head {
  padding: 16px 18px; display: flex; align-items: center; gap: 10px;
  background: var(--cy-grad-soft);
  border-bottom: 1px solid var(--cy-line);
}
.cy-rank-card__head svg { width: 18px; height: 18px; color: var(--cy-pri-2); flex: 0 0 auto; }
.cy-rank-card__head h2 { flex: 1; font-size: 15px; font-weight: 700; color: #fff; }
.cy-rank-card__head span { font-size: 11.5px; color: var(--cy-text-4); }
.cy-rank-list { padding: 8px 14px 14px; }
.cy-rank-list__item {
  display: grid; grid-template-columns: 32px 64px 1fr; gap: 12px; align-items: center;
  padding: 10px 0; border-bottom: 1px dashed var(--cy-line);
}
.cy-rank-list__item:last-child { border-bottom: 0; }
.cy-rank-list__no {
  width: 26px; height: 26px; border-radius: 6px; font-weight: 800; font-size: 13px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .06); color: var(--cy-text-3);
}
.cy-rank-list__item[data-no="1"] .cy-rank-list__no { background: linear-gradient(135deg, #f59e0b, #f97316); color: #fff; }
.cy-rank-list__item[data-no="2"] .cy-rank-list__no { background: linear-gradient(135deg, #94a3b8, #cbd5e1); color: #fff; }
.cy-rank-list__item[data-no="3"] .cy-rank-list__no { background: linear-gradient(135deg, #fb923c, #ea580c); color: #fff; }
.cy-rank-list__thumb { width: 64px; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: #0b1226; }
.cy-rank-list__thumb img { width: 100%; height: 100%; object-fit: cover; }
.cy-rank-list__title {
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
  color: #fff; font-size: 13px; font-weight: 600;
}
.cy-rank-list__item:hover .cy-rank-list__title { color: var(--cy-pri-2); }
.cy-rank-list__meta { display: flex; gap: 4px 10px; flex-wrap: wrap; font-size: 11.5px; color: var(--cy-text-4); margin-top: 3px; }

.cy-rank-cat { margin-top: 28px; background: var(--cy-surface); border: 1px solid var(--cy-line); border-radius: var(--cy-r-lg); padding: 22px; }
.cy-rank-cat__head { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.cy-rank-cat__head h2 { font-size: 16px; font-weight: 700; color: #fff; display: inline-flex; align-items: center; gap: 8px; }
.cy-rank-cat__head h2::before { content: ''; width: 4px; height: 16px; background: var(--cy-grad); border-radius: 2px; }

/* ============================================================
   FOOTER
   ============================================================ */
.cy-footer { margin-top: 60px; background: var(--cy-bg-2); border-top: 1px solid var(--cy-line); padding: 40px 0 28px; }
.cy-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; margin-bottom: 28px; }
.cy-footer__brand .cy-logo { padding: 0; margin-bottom: 12px; }
.cy-footer__brand p { color: var(--cy-text-3); font-size: 13px; line-height: 1.7; max-width: 360px; }
.cy-footer__col h4 { color: #fff; font-size: 13.5px; font-weight: 700; margin-bottom: 12px; }
.cy-footer__col a { display: block; color: var(--cy-text-3); font-size: 12.5px; padding: 4px 0; transition: color .2s; }
.cy-footer__col a:hover { color: var(--cy-pri-2); }
.cy-footer__bottom {
  padding-top: 20px; border-top: 1px solid var(--cy-line);
  display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: center;
  font-size: 12px; color: var(--cy-text-4);
}
.cy-footer__bottom a { color: var(--cy-text-4); }
.cy-footer__bottom a:hover { color: var(--cy-pri-2); }

/* ============================================================
   BACK TO TOP / TOAST
   ============================================================ */
.cy-top {
  position: fixed; right: 20px; bottom: 32px; z-index: 50;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--cy-grad); color: #fff;
  display: none; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(217, 70, 239, .4);
  transition: transform .15s;
}
.cy-top.is-show { display: inline-flex; }
.cy-top:hover { transform: translateY(-2px); }
.cy-top svg { width: 18px; height: 18px; }
.cy-toast {
  position: fixed; left: 50%; bottom: 80px; transform: translateX(-50%) translateY(20px);
  z-index: 90; padding: 10px 20px; border-radius: 10px;
  background: rgba(15, 23, 42, .95); color: #fff;
  font-size: 13px; box-shadow: 0 12px 36px rgba(0, 0, 0, .5);
  border: 1px solid var(--cy-line-strong);
  opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s;
}
.cy-toast.is-show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ============================================================
   OVERLAY (鎼滅储) / DRAWER (绉诲姩鑿滃崟)
   ============================================================ */
.cy-overlay {
  position: fixed; inset: 0; z-index: 100; display: none;
  -webkit-backdrop-filter: blur(10px);
  background: rgba(15, 23, 42, .85); backdrop-filter: blur(10px);
}
.cy-overlay.is-show { display: block; }
.cy-overlay__panel {
  max-width: 720px; margin: 18vh auto 0; padding: 0 24px;
}
.cy-overlay__form {
  display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 18px;
  background: var(--cy-surface); border: 1px solid var(--cy-line-strong);
  border-radius: 999px; box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
}
.cy-overlay__form svg { width: 18px; height: 18px; color: var(--cy-text-3); }
.cy-overlay__form input {
  flex: 1; min-width: 0; height: 46px; background: transparent; border: 0; outline: none; color: #fff; font-size: 15px;
}
.cy-overlay__form input::placeholder { color: var(--cy-text-4); }
.cy-overlay__form button {
  height: 46px; padding: 0 24px; border-radius: 999px;
  background: var(--cy-grad); color: #fff; font-weight: 700;
}
.cy-overlay__close {
  display: block; margin: 18px auto 0; color: var(--cy-text-3); font-size: 13px;
}

.cy-drawer { position: fixed; inset: 0; z-index: 100; display: none; }
.cy-drawer.is-show { display: block; }
.cy-drawer__mask { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); }
.cy-drawer__panel {
  position: absolute; right: 0; top: 0; bottom: 0; width: 280px;
  background: var(--cy-bg-2); border-left: 1px solid var(--cy-line);
  padding: 24px 20px; overflow-y: auto;
  transform: translateX(100%); transition: transform .25s;
}
.cy-drawer.is-show .cy-drawer__panel { transform: translateX(0); }
.cy-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.cy-drawer__nav a {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px; border-radius: 10px; color: var(--cy-text-2);
  font-size: 14px; margin-bottom: 4px;
}
.cy-drawer__nav a:hover { background: rgba(168, 85, 247, .12); color: #fff; }
.cy-drawer__nav a.is-active { background: var(--cy-grad); color: #fff; }

/* ============================================================
   鍝嶅簲寮?   ============================================================ */
@media (max-width: 1180px) {
  .cy-wrap { padding: 0 20px; }
  .cy-search { width: 220px; }
  .cy-grid, .cy-grid--6 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cy-grid--5 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cy-show-grid { grid-template-columns: 200px 1fr; }
}
@media (max-width: 960px) {
  .cy-grid, .cy-grid--6, .cy-grid--5, .cy-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .cy-rank-trio { grid-template-columns: 1fr; }
  .cy-cinema__grid { grid-template-columns: 1fr; }
  .cy-eppanel { position: static; max-height: none; }
  .cy-pinfo__grid { grid-template-columns: 1fr; }
  .cy-pcard__cover { aspect-ratio: 16 / 9; max-height: 200px; }
  .cy-footer__grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .cy-footer__brand { grid-column: 1 / -1; }
  .cy-hero { padding: 40px 0 32px; }
  .cy-hero__title { font-size: 38px; }
}
@media (max-width: 760px) {
  .cy-header__inner { gap: 12px; }
  .cy-nav, .cy-search { display: none; }
  .cy-search-btn { display: inline-flex; }
  .cy-hero { padding: 32px 0 24px; }
  .cy-hero__title { font-size: 30px; letter-spacing: 1px; }
  .cy-hero__subline { font-size: 13.5px; }
  .cy-hero__desc { font-size: 12.5px; padding: 0 16px; margin-bottom: 18px; }
  .cy-hero__form { margin: 0 16px; }
  .cy-grid, .cy-grid--6, .cy-grid--5, .cy-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cy-section { padding: 22px 0; }
  .cy-section__title { font-size: 18px; }
  .cy-show-grid { grid-template-columns: 1fr; gap: 18px; }
  .cy-show-info__title { font-size: 22px; }
  .cy-show-hero { padding: 28px 0 22px; }
  .cy-list-hero { padding: 32px 0 22px; }
  .cy-list-hero__title { font-size: 26px; }
  .cy-filterbar { padding: 12px; }
  .cy-filterbar__row { flex-direction: column; gap: 6px; }
  .cy-filterbar__label { padding-top: 0; }
  .cy-sitem { grid-template-columns: 140px 1fr; gap: 12px; padding: 10px; }
  .cy-sitem__cover { aspect-ratio: 16 / 9; }
  .cy-sitem__title { font-size: 14px; }
  .cy-sitem__desc { font-size: 12px; -webkit-line-clamp: 3; }
  .cy-stage-bar { padding: 12px 14px; }
  .cy-stage-bar__title { font-size: 15px; }
  .cy-stage-bar__btn span { display: none; }
  .cy-stage-bar__btn { width: 38px; padding: 0; }
  .cy-stage-bar__btn--primary { width: auto; padding: 0 16px; }
  .cy-stage-bar__btn--primary span { display: inline; }
  .cy-show-eps__grid { grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); }
  .cy-footer__grid { grid-template-columns: 1fr; }
  .cy-footer__bottom { flex-direction: column; text-align: center; }
  .cy-card__body { padding: 10px 12px 12px; gap: 5px; }
  .cy-card__title { font-size: 13.5px; min-height: 38px; }
  .cy-card__desc { font-size: 12px; min-height: 36px; }
}
@media (max-width: 520px) {
  .cy-wrap { padding: 0 14px; }
  .cy-grid, .cy-grid--6, .cy-grid--5, .cy-grid--4 { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 12px; }
  .cy-card__body { padding: 12px 14px 12px; }
  .cy-card__title { font-size: 14px; min-height: 0; -webkit-line-clamp: 1; }
  .cy-card__desc { -webkit-line-clamp: 2; min-height: 0; }
  .cy-card__meta { font-size: 11px; }
  .cy-hero__title { font-size: 26px; }
  .cy-hero__form { padding: 5px 5px 5px 14px; }
  .cy-hero__form input { height: 38px; font-size: 13px; }
  .cy-hero__form button { height: 38px; padding: 0 18px; font-size: 12.5px; }
  .cy-list-hero__title { font-size: 22px; }
  .cy-sitem { grid-template-columns: 120px 1fr; gap: 10px; }
  .cy-eppanel__grid { grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); gap: 5px; }
  .cy-eppanel__ep { padding: 8px 4px; font-size: 12px; min-height: 38px; }
  .cy-show-eps__grid { grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); }
  .cy-show-eps__ep { padding: 10px 4px; font-size: 12px; }
}

/* ============================================================
   绉诲姩绔繁搴︿紭鍖栵紙v=20260602m锛?   瑕嗙洊锛氭挱鏀鹃〉 / 璇︽儏椤?/ 鍒楄〃椤?/ 棣栭〉 / 澶撮儴 / 鎶藉眽 / 閫氱敤
   ============================================================ */

/* 鈥斺€?鍏ㄥ眬锛氱姝㈡í鍚戞孩鍑猴紝瑙︽懜浼樺寲 鈥斺€?*/
html, body { max-width: 100%; overflow-x: hidden; }
.cy-body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img, video, iframe { max-width: 100%; }

/* 鈥斺€?鈮?00px锛氶€氱敤璋冩暣 鈥斺€?*/
@media (max-width: 900px) {
  /* 鎾斁鍣ㄦ诞鍔ㄤ笂涓嬮泦锛氱Щ鍔ㄧ鏃?hover 姒傚康锛屽父鏄?+ 缂╁皬 */
  .cy-player-nav { opacity: .85; width: 38px; height: 38px; }
  .cy-player-nav--prev { left: 8px; }
  .cy-player-nav--next { right: 8px; }
  .cy-player-nav svg { width: 18px; height: 18px; }
  /* 褰遍櫌鑳屾櫙鍦ㄦ墜鏈轰笂澶噸锛屽噺寮?*/
  .cy-cinema--v2 .cy-cinema__bd { filter: blur(40px) saturate(140%) brightness(.65); opacity: .35; }
  /* eppanel 楂樺害闄愬埗 + 婊氬姩鏀逛负绔栧悜 */
  .cy-eppanel--v2 { max-height: 320px; border-radius: 14px; }
}

/* 鈥斺€?鈮?60px锛氭墜鏈哄竷灞€閲嶆帓 鈥斺€?*/
@media (max-width: 760px) {
  /* 澶撮儴 */
  .cy-header__inner { padding: 8px 0; gap: 8px; }
  .cy-logo__txt small { display: none; }
  .cy-logo__txt b { font-size: 16px; }
  .cy-logo__mark { width: 32px; height: 32px; }
  .cy-head-right { gap: 4px; margin-left: auto; }
  .cy-iconbtn { width: 38px; height: 38px; }

  /* 鎾斁椤碉細cinema 绱у噾鍖?*/
  .cy-cinema--v2 { padding: 14px 0 14px; }
  .cy-cinema__crumb { font-size: 12px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; margin-bottom: 10px; -webkit-overflow-scrolling: touch; }
  .cy-cinema__crumb::-webkit-scrollbar { display: none; }
  .cy-cinema__crumb a, .cy-cinema__crumb strong { white-space: nowrap; }
  .cy-cinema__grid { gap: 12px; }

  /* 鎾斁鍣?*/
  .cy-player--v2 { border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,.5), 0 0 0 1px rgba(168,85,247,.2); }
  .cy-player--v2 .cy-player__placeholder span { width: 64px; height: 64px; }
  .cy-player--v2 .cy-player__placeholder svg { width: 28px; height: 28px; }
  .cy-player--v2 .cy-player__placeholder b { font-size: 14px; }
  .cy-player--v2 .cy-player__placeholder p { font-size: 12px; padding: 0 12px; max-width: 280px; }

  /* stage-bar锛氱揣鍑戜袱琛屽竷灞€ */
  .cy-stage-bar--v2 { margin-top: 10px; padding: 10px 12px; border-radius: 12px; gap: 10px; }
  .cy-stage-bar--v2 .cy-stage-bar__l { min-width: 100%; gap: 10px; flex-wrap: wrap; }
  .cy-stage-bar--v2 .cy-stage-bar__r { width: 100%; justify-content: space-between; gap: 6px; flex-wrap: nowrap; }
  .cy-stage-bar__epbadge { font-size: 11.5px; padding: 5px 10px; }
  .cy-stage-bar__epbadge svg { width: 12px; height: 12px; }
  .cy-stage-bar--v2 .cy-stage-bar__l .cy-stage-bar__title { font-size: 14px; line-height: 1.3; flex: 1 1 100%; }
  .cy-stage-bar--v2 .cy-stage-bar__l .cy-stage-bar__title em { display: block; margin-left: 0 !important; margin-top: 3px; font-size: 12px !important; }
  .cy-stage-bar__nav { padding: 8px 10px; font-size: 12px; }
  .cy-stage-bar__nav span { display: inline; }
  .cy-stage-bar__nav--primary { flex: 1; justify-content: center; }
  .cy-stage-bar__icon { width: 34px; height: 34px; flex-shrink: 0; }

  /* 閫夐泦闈㈡澘 */
  .cy-eppanel--v2 { max-height: 340px; }
  .cy-eppanel--v2 .cy-eppanel__head { padding: 12px 14px 10px; }
  .cy-eppanel--v2 .cy-eppanel__title h2 { font-size: 14px; }
  .cy-eppanel--v2 .cy-eppanel__lines { padding: 10px 14px; }
  .cy-eppanel--v2 .cy-eppanel__scroll { padding: 10px 12px 14px; }
  .cy-eppanel--v2 .cy-eppanel__grid { grid-template-columns: repeat(auto-fill, minmax(62px, 1fr)); gap: 6px; }
  .cy-eppanel--v2 .cy-eppanel__ep { padding: 9px 4px; font-size: 12px; min-height: 38px; border-radius: 8px; }

  /* 瀹夊叏鎻愮ず */
  .cy-safety--v2 { font-size: 11.5px; padding: 8px 12px; line-height: 1.5; }

  /* play 璇︾粏淇℃伅锛氬崟鍒?+ 宸﹀崱鐗囨í鎺?*/
  .cy-pinfo { padding: 18px 0; }
  .cy-pinfo__grid { grid-template-columns: 1fr; gap: 16px; }
  .cy-pcard { display: grid; grid-template-columns: 130px 1fr; }
  .cy-pcard__cover { aspect-ratio: 2 / 3; max-height: none; border-radius: 12px 0 0 12px; }
  .cy-pcard__body { padding: 12px 14px; }
  .cy-pcard__title { font-size: 15px; }
  .cy-pcard__cta { grid-template-columns: 1fr 1fr; }
  .cy-pcard__btn { padding: 9px 8px; font-size: 12px; }
  .cy-pnotice { font-size: 12px; padding: 12px 14px; }
  .cy-psec { padding: 16px 14px; margin-bottom: 14px; }
  .cy-psec__head h2 { font-size: 15px; }
  .cy-psec__story { font-size: 13px; line-height: 1.75; }
  .cy-pactors { grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); gap: 10px; }
  .cy-pactor__av { width: 40px; height: 40px; font-size: 14px; }
  .cy-pactor__nm { font-size: 11px; }

  /* show 璇︽儏鍏煎锛堟棫 cy-pcard 鍦?show 涔熺敤鍒帮級 */
  .cy-show-poster { max-width: 180px; }
}

/* 鈥斺€?鈮?60px锛氬皬灞忕揣鍑?鈥斺€?*/
@media (max-width: 560px) {
  /* 閫夐泦闈㈡澘 */
  .cy-eppanel--v2 .cy-eppanel__grid { grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); gap: 5px; }
  .cy-eppanel--v2 .cy-eppanel__ep { padding: 8px 3px; font-size: 11.5px; min-height: 36px; }
  /* stage-bar 鍦ㄦ瀬灏忓睆锛氫笂涓嬮泦鎸夐挳鍘嬬缉 */
  .cy-stage-bar__nav { padding: 7px 8px; font-size: 11.5px; }
  .cy-stage-bar__nav svg { width: 12px; height: 12px; }
  /* 褰遍櫌 padding */
  .cy-cinema--v2 { padding: 10px 0 12px; }
  /* play card 鏀逛负绔栨帓锛氭捣鎶ヤ笂鏂?+ 淇℃伅涓嬫柟 */
  .cy-pcard { grid-template-columns: 1fr; }
  .cy-pcard__cover { aspect-ratio: 16 / 9; max-height: 200px; border-radius: 12px 12px 0 0; }
  /* list page 鍒楄〃椤规洿绱у噾 */
  .cy-sitem { grid-template-columns: 110px 1fr; gap: 10px; padding: 8px; }
  .cy-sitem__title { font-size: 13.5px; }
  .cy-sitem__desc { font-size: 11.5px; -webkit-line-clamp: 2; }
  /* 鎶藉眽瀹藉害 */
  .cy-drawer__panel { width: 84vw; max-width: 320px; }
  /* 鎼滅储瑕嗙洊灞?*/
  .cy-overlay__form input { font-size: 14px; }
  .cy-overlay__form button { padding: 10px 14px; font-size: 13px; }
  /* 椤堕儴 brand 杩涗竴姝ュ帇缂?*/
  .cy-logo__txt b { font-size: 14px; }
  .cy-logo__mark { width: 28px; height: 28px; }
  /* 鍗＄墖鍦ㄤ腑灏忓睆浣跨敤鏇寸揣鍑戝竷灞€ */
  .cy-card__hd { font-size: 9px; padding: 2px 5px; top: 6px; right: 6px; }
  .cy-card__score { font-size: 10px; padding: 3px 6px; }
}

/* 鈥斺€?鈮?20px锛氭瀬灏忓睆 鈥斺€?*/
@media (max-width: 420px) {
  .cy-wrap { padding: 0 12px; }
  /* 娴姩涓婁笅闆嗘寜閽湪瓒呭皬灞忛殣钘忥紙閬垮厤閬尅瑙嗛鍐呭锛?*/
  .cy-player-nav { display: none; }
  /* 杩涗竴姝ュ帇缂?stage-bar */
  .cy-stage-bar--v2 { padding: 8px 10px; }
  .cy-stage-bar__icon { width: 32px; height: 32px; }
  .cy-stage-bar__icon svg { width: 13px; height: 13px; }
  .cy-stage-bar__nav span { display: none; }
  .cy-stage-bar__nav--primary span { display: inline; }
  .cy-stage-bar__nav { padding: 8px; }
  .cy-stage-bar__nav--primary { padding: 8px 12px; }
  /* eppanel 鏀规垚 3 鍒楀浐瀹氶伩鍏嶅お鎸?*/
  .cy-eppanel--v2 .cy-eppanel__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  /* hero/title 鍏ㄥ眬缂╁皬 */
  .cy-hero__title { font-size: 22px; }
  .cy-show-info__title { font-size: 20px; }
  .cy-show-info__head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .cy-show-info__score { align-self: flex-start; }
  /* 澶撮儴鍥炬爣鎸夐挳 touch 鍙嬪ソ浣嗘洿绱у噾 */
  .cy-iconbtn { width: 34px; height: 34px; }
  .cy-iconbtn svg { width: 16px; height: 16px; }
  /* 鍒楄〃椤规捣鎶ョ缉鍒?95 */
  .cy-sitem { grid-template-columns: 95px 1fr; }
  /* show poster 鍗曞垪鏃舵帶瀹?*/
  .cy-show-poster { max-width: 140px; }
  /* footer 鏂囧瓧灏哄 */
  .cy-footer__bottom { font-size: 11px; gap: 8px; }
}

/* 鈥斺€?瑙︽懜璁惧涓撶敤锛氬缁堟樉绀烘诞鍔ㄦ寜閽?+ 闅愯棌 hover 鏁堟灉 鈥斺€?*/
@media (hover: none) and (pointer: coarse) {
  .cy-player--v2 .cy-player-nav { opacity: .85; }
  .cy-card:hover { transform: none; }
  .cy-card:hover .cy-card__cover img { transform: none; }
  .cy-card:hover .cy-card__play { opacity: 0; }
}

/* 鈥斺€?妯睆鎾斁锛坙andscape锛夛細鎾斁鍣ㄥ叏瀹斤紝闅愯棌 stage-bar 绛夎楗?鈥斺€?*/
@media (max-width: 900px) and (orientation: landscape) and (max-height: 500px) {
  .cy-cinema--v2 { padding: 0; }
  .cy-cinema__crumb { display: none; }
  .cy-stage-bar--v2 { margin-top: 6px; padding: 6px 10px; }
  .cy-safety--v2 { display: none; }
  .cy-player--v2 { border-radius: 0; }
}

/* ============================================================
   鍏ㄥ眬鍙敤鎬т紭鍖?   ============================================================ */
a, button, input, select, textarea, [role="button"] { -webkit-tap-highlight-color: transparent; }
/* :focus 基线：旧浏览器没有 :focus-visible 时也能看到键盘焦点 */
a:focus, button:focus, [role="button"]:focus,
input:focus, select:focus, textarea:focus { outline: 2px solid var(--cy-pri-2); outline-offset: 2px; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--cy-pri-2); outline-offset: 2px; border-radius: 6px;
}
a:focus:not(:focus-visible), button:focus:not(:focus-visible),
input:focus:not(:focus-visible), select:focus:not(:focus-visible), textarea:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible) { outline: none; }

/* 跳过链接（无障碍） */
.cy-skip {
  position: absolute; top: -40px; left: 8px; z-index: 1000;
  padding: 8px 16px; background: var(--cy-grad); color: #fff;
  border-radius: 0 0 8px 8px; font-weight: 700; font-size: 13px;
  transition: top .2s; text-decoration: none;
}
.cy-skip:focus, .cy-skip:focus-visible { top: 0; color: #fff; }

/* 屏幕阅读器专用文本 */
.cy-sr-only {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0,0,0,0) !important;
  -webkit-clip-path: inset(50%) !important; clip-path: inset(50%) !important;
  white-space: nowrap !important; border: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}

/* aspect-ratio fallback：16:9 + 2:3 兼容旧 Android/Safari */
@supports not (aspect-ratio: 16 / 9) {
  .cy-card__cover, .cy-player, .cy-sitem__cover,
  .cy-rank-list__thumb, .cy-pcard__cover { position: relative; }
  .cy-card__cover::before, .cy-player::before, .cy-sitem__cover::before,
  .cy-rank-list__thumb::before, .cy-pcard__cover::before {
    content: ''; display: block; padding-bottom: 56.25%;
  }
  .cy-card__cover > *, .cy-player > *, .cy-sitem__cover > *,
  .cy-rank-list__thumb > *, .cy-pcard__cover > * { position: absolute; inset: 0; top: 0; left: 0; right: 0; bottom: 0; }
  /* 2:3 海报（show 页 poster） */
  .cy-show-poster { position: relative; }
  .cy-show-poster::before { content: ''; display: block; padding-bottom: 150%; }
  .cy-show-poster > * { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--cy-bg-2); }
::-webkit-scrollbar-thumb { background: rgba(168, 85, 247, .35); border-radius: 6px; border: 2px solid var(--cy-bg-2); }
::-webkit-scrollbar-thumb:hover { background: rgba(168, 85, 247, .6); }
::selection { background: rgba(217, 70, 239, .4); color: #fff; }
::-moz-selection { background: rgba(217, 70, 239, .4); color: #fff; }

@media print {
  .cy-header, .cy-footer, .cy-top, .cy-overlay, .cy-drawer,
  .cy-hero__form, .cy-stage-bar__r, .cy-card__play, .cy-skip { display: none !important; }
  body.cy-body { background: #fff !important; color: #000 !important; }
  .cy-card { break-inside: avoid; border: 1px solid #ddd; box-shadow: none; }
  /* 修复打印时渐变文字变空白 */
  .cy-logo__txt b, .cy-hero__title, .cy-show-info__title, .cy-pcard__score,
  .cy-list-hero__title em {
    background: none !important; -webkit-text-fill-color: #000 !important;
    color: #000 !important;
  }
}
