/* =========================================================
   霜松影厅 · Frost Pine Cinema
   与母模深紫暗色圆角门户差异化：浅色纸底、松墨字色、琥珀点缀、
   直角偏硬的影院货架布局。覆盖首页/分类/排行/搜索/播放。
   ========================================================= */

:root,
.cy-body {
  --cy-bg: #e7ece8;
  --cy-bg-2: #dfe6e1;
  --cy-bg-3: #d3ddd6;
  --cy-surface: #f7faf7;
  --cy-surface-2: #eef4f0;
  --cy-line: rgba(26, 58, 50, 0.12);
  --cy-line-strong: rgba(26, 58, 50, 0.22);
  --cy-text: #142820;
  --cy-text-2: #2f453c;
  --cy-text-3: #5a7266;
  --cy-text-4: #7d9488;
  --cy-pri: #b7791f;
  --cy-pri-2: #c9922e;
  --cy-pri-3: #8b5a12;
  --cy-grad: linear-gradient(120deg, #1a3a32 0%, #2f5c4f 55%, #b7791f 130%);
  --cy-grad-soft: linear-gradient(135deg, rgba(183, 121, 31, 0.14), rgba(26, 58, 50, 0.08));
  --cy-orange: #c45c26;
  --cy-blue: #2f6f8f;
  --cy-green: #2f6b57;
  --cy-shadow-sm: 0 1px 0 rgba(20, 40, 32, 0.06);
  --cy-shadow: 0 10px 28px rgba(20, 40, 32, 0.08);
  --cy-shadow-lg: 0 18px 40px rgba(20, 40, 32, 0.12);
  --cy-r-sm: 2px;
  --cy-r: 4px;
  --cy-r-lg: 6px;
  --cy-r-xl: 8px;
  --fp-ink: #142820;
  --fp-pine: #1a3a32;
  --fp-amber: #b7791f;
  --fp-paper: #f7faf7;
  --fp-mist: #e7ece8;
  --fp-font: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;
  --fp-display: "Songti SC", "STSong", "Noto Serif SC", "SimSun", serif;
}

/* —— 全局底 —— */
html {
  scrollbar-width: thin;
  scrollbar-color: #8aa396 transparent;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.cy-body {
  font-family: var(--fp-font) !important;
  color: var(--fp-ink) !important;
  background:
    radial-gradient(900px 420px at 8% -10%, rgba(183, 121, 31, 0.12), transparent 55%),
    radial-gradient(700px 380px at 96% 8%, rgba(47, 111, 143, 0.1), transparent 50%),
    repeating-linear-gradient(
      -18deg,
      transparent 0 14px,
      rgba(26, 58, 50, 0.015) 14px 15px
    ),
    linear-gradient(180deg, #f2f6f3 0%, var(--fp-mist) 40%, #e2eae4 100%) !important;
  background-attachment: scroll !important;
  padding-left: env(safe-area-inset-left, 0);
  padding-right: env(safe-area-inset-right, 0);
  padding-bottom: env(safe-area-inset-bottom, 0);
  overflow-x: clip;
}

.cy-wrap {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: max(16px, env(safe-area-inset-left, 0px) + 8px) !important;
  padding-right: max(16px, env(safe-area-inset-right, 0px) + 8px) !important;
  box-sizing: border-box !important;
}

img,
video {
  max-width: 100%;
  height: auto;
}
.cy-player video,
.cy-player--v2 video {
  width: 100%;
  height: auto;
  display: block;
  background: #0d1613;
  aspect-ratio: 16 / 9;
  object-fit: contain;
}

/* —— 头部：恢复横向 flex，避免挤爆搜索栏 —— */
.cy-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  background: rgba(247, 250, 247, 0.96) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--cy-line) !important;
  box-shadow: none !important;
}
.cy-header::after {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--fp-pine) 0 42%, var(--fp-amber) 42% 100%);
}
.cy-header__inner {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  height: 64px !important;
  min-height: 64px !important;
}
.cy-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}
.cy-logo__mark {
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  border-radius: 3px !important;
  background: var(--fp-pine) !important;
  color: #f4efe4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 2px 2px 0 var(--fp-amber) !important;
}
.cy-logo__txt {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.2 !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.cy-logo__txt b {
  font-family: var(--fp-display) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.02em !important;
  color: var(--fp-ink) !important;
  white-space: nowrap !important;
}
.cy-logo__txt small {
  font-size: 0.68rem !important;
  color: var(--cy-text-3) !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
.cy-nav {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  justify-content: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
}
.cy-nav__item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 12px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--cy-text-3) !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}
.cy-nav__item svg {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
}
.cy-nav__item:hover {
  color: var(--fp-pine) !important;
  background: transparent !important;
}
.cy-nav__item.is-active,
.cy-nav__item[aria-current="page"],
.cy-nav a.is-active {
  color: var(--fp-pine) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}
.cy-nav__item.is-active::after,
.cy-nav__item[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 2px;
  height: 2px;
  background: var(--fp-amber);
}
.cy-head-right {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
}
.cy-search {
  width: 200px !important;
  max-width: 200px !important;
  height: 36px !important;
  background: #fff !important;
  border: 1px solid var(--cy-line-strong) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  padding: 0 10px !important;
}
.cy-search input {
  color: var(--fp-ink) !important;
  min-width: 0 !important;
  width: 100% !important;
}
.cy-iconbtn {
  width: 36px !important;
  height: 36px !important;
  border: 1px solid var(--cy-line-strong) !important;
  background: #fff !important;
  color: var(--fp-pine) !important;
  border-radius: 2px !important;
  flex: 0 0 36px !important;
}

/* —— 英雄区：与下方内容同宽左对齐 —— */
.cy-hero {
  position: relative !important;
  padding: 2.75rem 0 2.25rem !important;
  text-align: left !important;
  background:
    linear-gradient(105deg, rgba(20, 40, 32, 0.9) 0%, rgba(26, 58, 50, 0.78) 52%, rgba(183, 121, 31, 0.38) 100%),
    #1a3a32 !important;
  color: #f4efe4 !important;
  overflow: hidden !important;
  border-bottom: 3px solid var(--fp-amber) !important;
}
.cy-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent 0 28px,
    rgba(244, 239, 228, 0.03) 28px 29px
  );
  pointer-events: none;
}
.cy-hero .cy-wrap {
  position: relative;
  z-index: 1;
  text-align: left !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  border-left: none !important;
  box-shadow: inset 4px 0 0 var(--fp-amber);
}
.cy-hero__title {
  font-family: var(--fp-display) !important;
  font-weight: 700 !important;
  font-size: clamp(1.85rem, 3.6vw, 2.75rem) !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  margin: 0 0 0.7rem !important;
  color: #fffef8 !important;
  text-shadow: none !important;
  max-width: 18em;
}
.cy-hero__subline {
  font-size: 1rem !important;
  color: rgba(244, 239, 228, 0.92) !important;
  margin: 0 0 0.45rem !important;
  max-width: 42em;
  line-height: 1.55 !important;
}
.cy-hero__desc {
  font-size: 0.92rem !important;
  color: rgba(244, 239, 228, 0.72) !important;
  margin: 0 0 1.25rem !important;
  max-width: 46em;
  line-height: 1.65 !important;
}
.cy-hero__form {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  max-width: 520px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fffef8 !important;
  border: none !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16) !important;
}
.cy-hero__form input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--fp-ink) !important;
  padding: 0.85rem 1rem !important;
  height: auto !important;
}
.cy-hero__form button {
  flex: 0 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--fp-amber) !important;
  color: #1a180f !important;
  font-weight: 700 !important;
  padding: 0.85rem 1.2rem !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
}
.cy-hero__form button:hover {
  background: #d0a03a !important;
}
.cy-hero__hot {
  margin-top: 0.95rem !important;
  color: rgba(244, 239, 228, 0.7) !important;
  font-size: 0.82rem !important;
  line-height: 1.7 !important;
  max-width: 52em;
}
.cy-hero__hot a {
  display: inline !important;
  color: #f2e4c4 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(242, 228, 196, 0.35) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-right: 0.7rem !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
.cy-hero__hot a:hover {
  color: #fff !important;
  border-bottom-color: var(--fp-amber);
}

/* —— 中部区块 —— */
.cy-section {
  padding: 2rem 0 !important;
}
.cy-section > .cy-wrap,
.cy-section.cy-wrap {
  max-width: 1280px !important;
}
.cy-section__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 1.15rem !important;
  border-bottom: 1px solid var(--cy-line) !important;
  padding-bottom: 0.7rem !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}
.cy-section__title {
  font-family: var(--fp-display) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: var(--fp-ink) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
.cy-section__title svg {
  display: none !important;
}
.cy-section__title::before {
  content: "";
  width: 3px;
  height: 1em;
  background: var(--fp-amber);
  display: inline-block;
  flex: 0 0 3px;
}
.cy-section__more {
  color: var(--fp-pine) !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  line-height: 1.2 !important;
}
.cy-section__more:hover {
  color: var(--fp-amber) !important;
}

/* —— 卡片：统一行高，避免网格错位 —— */
.cy-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1.35rem 1rem !important;
  align-items: stretch !important;
}
.cy-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  transition: transform 0.2s ease !important;
}
.cy-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: none !important;
}
.cy-card__cover {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 2 / 3 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  background: #1a2a24 !important;
  box-shadow: 0 6px 16px rgba(20, 40, 32, 0.1) !important;
  border: 1px solid rgba(26, 58, 50, 0.12) !important;
  flex: 0 0 auto !important;
}
.cy-card__cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.35s ease !important;
}
.cy-card:hover .cy-card__cover img {
  transform: scale(1.03) !important;
}
.cy-card__score {
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  border-radius: 0 0 3px 0 !important;
  background: var(--fp-amber) !important;
  color: #1a180f !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  padding: 0.25rem 0.4rem !important;
  line-height: 1 !important;
}
.cy-card__score svg {
  display: none !important;
}
.cy-card__dur,
.cy-card__hd {
  background: rgba(20, 40, 32, 0.78) !important;
  border-radius: 2px !important;
  font-size: 0.68rem !important;
  line-height: 1.2 !important;
}
.cy-card__play {
  background: rgba(20, 40, 32, 0.28) !important;
}
.cy-card__play span {
  background: var(--fp-amber) !important;
  color: #1a180f !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
}
.cy-card__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 0.65rem 0.1rem 0.15rem !important;
  background: transparent !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.cy-card__title {
  font-family: var(--fp-display) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  min-height: 2.8em !important;
  max-height: 2.8em !important;
  color: var(--fp-ink) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.cy-card__title a {
  color: var(--fp-ink) !important;
  text-decoration: none !important;
  display: inline !important;
}
.cy-card__title a:hover {
  color: var(--fp-amber) !important;
}
.cy-card__desc {
  display: none !important;
}
.cy-card__meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  color: var(--cy-text-3) !important;
  font-size: 0.72rem !important;
  margin-top: auto !important;
  min-width: 0 !important;
  line-height: 1.2 !important;
}
.cy-card__meta > *:not(.cy-card__cat) {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.cy-card__cat {
  flex: 0 0 auto !important;
  max-width: 42% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: var(--fp-pine) !important;
  background: rgba(26, 58, 50, 0.08) !important;
  border-radius: 2px !important;
  padding: 0.12rem 0.35rem !important;
  font-size: 0.68rem !important;
  line-height: 1.2 !important;
}
.cy-card__tags {
  display: none !important;
}

/* —— 筛选条 / 分类页 —— */
.cy-filterbar {
  background: var(--fp-paper) !important;
  border: 1px solid var(--cy-line) !important;
  border-radius: 3px !important;
  padding: 0.8rem 1rem !important;
  margin-bottom: 0.75rem !important;
  box-shadow: none !important;
}
.cy-filterbar + .cy-filterbar {
  margin-top: 0 !important;
}
.cy-filterbar__row {
  display: flex !important;
  align-items: center !important;
  gap: 0.55rem 0.75rem !important;
  flex-wrap: wrap !important;
}
.cy-show-crumb {
  margin: 0.35rem 0 0.85rem !important;
}
.cy-filterbar__label {
  color: var(--cy-text-3) !important;
  font-size: 0.85rem !important;
  min-width: 3em;
}
.cy-filterbar__opts span,
.cy-filterbar__opts a,
.cy-filterbar__opts button {
  border-radius: 2px !important;
  border: 1px solid transparent !important;
  padding: 0.35rem 0.75rem !important;
  color: var(--cy-text-2) !important;
  background: transparent !important;
}
.cy-filterbar__opts .is-active,
.cy-filterbar__opts span.is-active,
.cy-filterbar__opts a.is-active,
.cy-filterbar__opts button.is-active {
  background: var(--fp-pine) !important;
  color: #f4efe4 !important;
  border-color: var(--fp-pine) !important;
  box-shadow: none !important;
}
.cy-filterbar__opts a:hover,
.cy-filterbar__opts button:hover {
  border-color: var(--cy-line-strong) !important;
  color: var(--fp-pine) !important;
}

/* 分类列表页头：替换紫粉光晕 */
.cy-list-hero {
  position: relative !important;
  padding: 2.1rem 0 1.7rem !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  background:
    linear-gradient(105deg, rgba(20, 40, 32, 0.94) 0%, rgba(26, 58, 50, 0.88) 52%, rgba(183, 121, 31, 0.42) 100%),
    #1a3a32 !important;
  border-bottom: 3px solid var(--fp-amber) !important;
  color: #f4efe4 !important;
}
.cy-list-hero::before,
.cy-list-hero::after {
  content: none !important;
  display: none !important;
}
.cy-list-hero .cy-wrap {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1280px !important;
  box-shadow: inset 4px 0 0 var(--fp-amber);
  padding-left: 28px !important;
}
.cy-list-hero__kicker {
  display: inline-block !important;
  color: #f0d48a !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.55rem !important;
  background: transparent !important;
}
.cy-list-hero__title {
  font-family: var(--fp-display) !important;
  font-size: clamp(1.85rem, 3.2vw, 2.55rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  color: #fffef8 !important;
  background: none !important;
  -webkit-text-fill-color: #fffef8 !important;
  text-shadow: none !important;
  margin: 0 0 0.65rem !important;
}
.cy-list-hero__desc {
  color: rgba(244, 239, 228, 0.78) !important;
  max-width: 52rem !important;
  line-height: 1.7 !important;
  font-size: 0.95rem !important;
}
.cy-list-hero__stats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.65rem 1.25rem !important;
  margin-top: 1.15rem !important;
}
.cy-list-hero__stat {
  color: rgba(244, 239, 228, 0.7) !important;
  font-size: 0.85rem !important;
  padding: 0.35rem 0.7rem !important;
  border: 1px solid rgba(244, 239, 228, 0.18) !important;
  border-radius: 2px !important;
  background: rgba(0, 0, 0, 0.12) !important;
}
.cy-list-hero__stat b,
.cy-list-hero__stat strong {
  color: #f0d48a !important;
  font-weight: 700 !important;
}

/* 分页 */
.cy-pager,
.cy-pager ul {
  gap: 0.4rem !important;
}
.cy-pager a,
.cy-pager span {
  min-width: 2.35rem !important;
  height: 2.35rem !important;
  border-radius: 2px !important;
  border: 1px solid var(--cy-line-strong) !important;
  background: #fff !important;
  color: var(--fp-pine) !important;
  box-shadow: none !important;
  font-weight: 600 !important;
}
.cy-pager a:hover {
  border-color: var(--fp-amber) !important;
  color: var(--fp-amber) !important;
  background: #fffef8 !important;
}
.cy-pager a.is-active,
.cy-pager a[aria-current="page"],
.cy-pager li.is-active a,
.cy-pager [aria-current="page"] {
  background: var(--fp-pine) !important;
  border-color: var(--fp-pine) !important;
  color: #f4efe4 !important;
}

.cy-show-crumb,
.cy-cinema__crumb {
  color: var(--cy-text-4) !important;
}
.cy-show-crumb a,
.cy-cinema__crumb a {
  color: var(--fp-pine) !important;
}
.cy-show-crumb a:hover,
.cy-cinema__crumb a:hover {
  color: var(--fp-amber) !important;
}

.cy-card__broken {
  background: linear-gradient(135deg, #1a3a32, #2f5c4f 55%, #8b5a12) !important;
  color: #f4efe4 !important;
}

/* 搜索页头 */
.cy-search-hero {
  padding: 2.1rem 0 1.7rem !important;
  text-align: left !important;
  background:
    linear-gradient(105deg, rgba(20, 40, 32, 0.94) 0%, rgba(47, 92, 79, 0.85) 60%, rgba(183, 121, 31, 0.4) 100%),
    #1a3a32 !important;
  border-bottom: 3px solid var(--fp-amber) !important;
  color: #f4efe4 !important;
}
.cy-search-hero .cy-wrap,
.cy-search-hero__inner {
  max-width: 1280px !important;
  text-align: left !important;
  box-shadow: inset 4px 0 0 var(--fp-amber);
  padding-left: 28px !important;
}
.cy-search-hero__title {
  font-family: var(--fp-display) !important;
  color: #fffef8 !important;
  letter-spacing: 0.05em !important;
}
.cy-search-hero__form {
  background: #fff !important;
  border: none !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18) !important;
}
.cy-search-hero__form input {
  color: var(--fp-ink) !important;
}
.cy-search-hero__form button,
.cy-search-btn {
  background: var(--fp-amber) !important;
  color: #1a180f !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
}
.cy-search-hero__hot a {
  color: #f2e4c4 !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(242, 228, 196, 0.35) !important;
  border-radius: 0 !important;
}
.cy-search-hero__stats {
  color: rgba(244, 239, 228, 0.72) !important;
}
.cy-search-empty__icon {
  color: var(--fp-amber) !important;
}

/* 排行榜 */
.cy-rank-trio,
.cy-rank-card,
.cy-rank-cat {
  background: var(--fp-paper) !important;
  border: 1px solid var(--cy-line) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}
.cy-rank-card__head,
.cy-rank-cat__head {
  font-family: var(--fp-display) !important;
  color: var(--fp-ink) !important;
  border-bottom: 1px solid var(--cy-line) !important;
}
.cy-rank-list__item {
  border-bottom: 1px solid var(--cy-line) !important;
}
.cy-rank-list__item:hover {
  background: rgba(26, 58, 50, 0.04) !important;
}
.cy-rank-list__no {
  background: var(--fp-pine) !important;
  color: #f4efe4 !important;
  border-radius: 2px !important;
  font-weight: 700 !important;
}
.cy-rank-list__item:nth-child(-n + 3) .cy-rank-list__no {
  background: var(--fp-amber) !important;
  color: #1a180f !important;
}
.cy-rank-list__title {
  color: var(--fp-ink) !important;
  font-family: var(--fp-display) !important;
}
.cy-rank-list__meta {
  color: var(--cy-text-3) !important;
}
.cy-rank-list__thumb {
  border-radius: 2px !important;
  border: 1px solid var(--cy-line) !important;
}

/* —— 播放 / 详情页 —— */
.cy-show-hero {
  background:
    linear-gradient(120deg, rgba(19, 37, 31, 0.96) 0%, rgba(26, 58, 50, 0.9) 55%, rgba(183, 121, 31, 0.35) 100%),
    #13251f !important;
  border-bottom: 3px solid var(--fp-amber) !important;
  color: #f4efe4 !important;
}
.cy-show-hero__bd,
.cy-show-info {
  color: #f4efe4 !important;
}
.cy-show-body,
.cy-show-sec {
  color: var(--fp-ink) !important;
}
.cy-show-info__kicker {
  color: #f0d48a !important;
  letter-spacing: 0.16em !important;
}
.cy-show-info__title {
  font-family: var(--fp-display) !important;
  color: #fffef8 !important;
  letter-spacing: 0.04em !important;
}
.cy-show-info__score {
  background: var(--fp-amber) !important;
  color: #1a180f !important;
  border-radius: 2px !important;
  font-weight: 700 !important;
}
.cy-show-meta__chip {
  background: rgba(244, 239, 228, 0.1) !important;
  border: 1px solid rgba(244, 239, 228, 0.2) !important;
  color: rgba(244, 239, 228, 0.88) !important;
  border-radius: 2px !important;
}
.cy-show-meta__chip--cat {
  background: rgba(183, 121, 31, 0.22) !important;
  border-color: rgba(183, 121, 31, 0.45) !important;
  color: #f0d48a !important;
}
.cy-show-poster {
  border-radius: 3px !important;
  overflow: hidden !important;
  border: 1px solid rgba(244, 239, 228, 0.18) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28) !important;
}
.cy-show-poster__hd,
.cy-show-poster__quick {
  background: rgba(20, 40, 32, 0.78) !important;
  border-radius: 2px !important;
}
.cy-show-actions__play {
  background: var(--fp-amber) !important;
  color: #1a180f !important;
  border-radius: 2px !important;
  font-weight: 700 !important;
  border: 0 !important;
  box-shadow: none !important;
}
.cy-show-actions__play:hover {
  background: #d0a03a !important;
}
.cy-show-actions__icon,
.cy-show-actions__stat {
  background: rgba(244, 239, 228, 0.08) !important;
  border: 1px solid rgba(244, 239, 228, 0.18) !important;
  color: #f4efe4 !important;
  border-radius: 2px !important;
}
.cy-show-hero .cy-show-people,
.cy-show-hero .cy-show-lead {
  color: rgba(244, 239, 228, 0.82) !important;
}
.cy-show-sec.cy-show-story,
.cy-show-story,
.cy-show-sec {
  color: var(--fp-ink) !important;
  background: var(--fp-paper) !important;
  border: 1px solid var(--cy-line) !important;
  border-radius: 3px !important;
}
.cy-show-story p,
.cy-show-sec p {
  color: var(--cy-text-2) !important;
  line-height: 1.75 !important;
}
.cy-show-story__toggle {
  color: var(--fp-amber) !important;
}
.cy-show-sec__head {
  font-family: var(--fp-display) !important;
  color: var(--fp-ink) !important;
  border-bottom: 1px solid var(--cy-line) !important;
}
.cy-show-eps__tabs {
  gap: 0.4rem !important;
}
.cy-show-eps__tab {
  border-radius: 2px !important;
  border: 1px solid var(--cy-line) !important;
  background: #fff !important;
  color: var(--fp-pine) !important;
}
.cy-show-eps__tab.is-active {
  background: var(--fp-pine) !important;
  border-color: var(--fp-pine) !important;
  color: #f4efe4 !important;
}
.cy-show-eps__ep {
  border-radius: 2px !important;
  border: 1px solid var(--cy-line) !important;
  background: #fff !important;
  color: var(--fp-ink) !important;
}
.cy-show-eps__ep.is-active,
.cy-show-eps__ep:hover {
  background: var(--fp-pine) !important;
  border-color: var(--fp-pine) !important;
  color: #f4efe4 !important;
}

.cy-body--show .cy-cinema,
.cy-body--play .cy-cinema,
.cy-cinema,
.cy-cinema--v2 {
  background: #101916 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  border: 1px solid rgba(183, 121, 31, 0.25) !important;
  box-shadow: var(--cy-shadow) !important;
}
.cy-cinema__bd,
.cy-eppanel,
.cy-eppanel--v2 {
  background: var(--fp-paper) !important;
  border: 1px solid var(--cy-line) !important;
  border-radius: 3px !important;
  color: var(--fp-ink) !important;
}
.cy-eppanel__title,
.cy-eppanel__head {
  font-family: var(--fp-display) !important;
  color: var(--fp-ink) !important;
}
.cy-eppanel__count {
  color: var(--cy-text-3) !important;
}
.cy-eppanel__ep,
.cy-eppanel__line a {
  border-radius: 2px !important;
  border: 1px solid var(--cy-line) !important;
  background: #fff !important;
  color: var(--fp-ink) !important;
}
.cy-eppanel__ep.is-active,
.cy-eppanel__ep:hover,
.cy-eppanel__line a:hover {
  background: var(--fp-pine) !important;
  border-color: var(--fp-pine) !important;
  color: #f4efe4 !important;
}
.cy-player,
.cy-player--v2 {
  background: #0c1411 !important;
}
.cy-player__placeholder {
  color: rgba(244, 239, 228, 0.7) !important;
}
.cy-player-nav,
.cy-player-nav--prev,
.cy-player-nav--next {
  color: #f4efe4 !important;
  background: rgba(26, 58, 50, 0.72) !important;
  border: 1px solid rgba(183, 121, 31, 0.35) !important;
  border-radius: 2px !important;
}
.cy-player-nav:hover {
  background: var(--fp-amber) !important;
  color: #1a180f !important;
}

/* 全局链接触控：抹掉母模紫色链接 / 紫渐变字 */
.cy-card__meta a,
.cy-pager a,
.cy-show-crumb a,
.cy-cinema__crumb a,
.cy-section__more {
  color: var(--fp-pine) !important;
}
.cy-card__meta a:hover,
.cy-section__more:hover {
  color: var(--fp-amber) !important;
}
b,
strong,
.cy-list-hero__stat b,
.cy-search-hero__stats b,
.cy-hero b {
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  color: inherit;
}
.cy-show-poster__hd {
  background: rgba(20, 40, 32, 0.78) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* 首页/区块内可能残留的紫光阴影 */
.cy-section,
.cy-grid,
.cy-card {
  --cy-pri: var(--fp-amber);
  --cy-pri-2: #c9922e;
  --cy-pri-3: #8b5a12;
}

/* —— 页脚：与内容同宽分栏 —— */
.cy-footer {
  margin-top: 2rem !important;
  background: #13251f !important;
  color: rgba(244, 239, 228, 0.82) !important;
  border-top: 3px solid var(--fp-amber) !important;
  padding: 2.4rem 0 1.35rem !important;
}
.cy-footer > .cy-wrap {
  max-width: 1280px !important;
}
.cy-footer__grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr !important;
  gap: 28px 32px !important;
  margin-bottom: 1.5rem !important;
  align-items: start !important;
}
.cy-footer__bottom {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem 1.25rem !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.cy-footer a {
  color: rgba(244, 239, 228, 0.72) !important;
}
.cy-footer a:hover {
  color: #f0d48a !important;
}
.cy-footer .cy-logo {
  padding: 0 !important;
}
.cy-footer .cy-logo__txt b {
  color: #fffef8 !important;
  white-space: normal !important;
}
.cy-footer .cy-logo__txt small {
  color: rgba(244, 239, 228, 0.55) !important;
}
.cy-footer .cy-logo__mark {
  background: var(--fp-amber) !important;
  color: #1a180f !important;
  box-shadow: 2px 2px 0 #0d1a15 !important;
}
.cy-footer__desc {
  color: rgba(244, 239, 228, 0.65) !important;
  line-height: 1.7 !important;
  margin-top: 0.75rem !important;
  max-width: 36em;
}
.cy-footer__col h4 {
  font-family: var(--fp-display) !important;
  color: #fffef8 !important;
  letter-spacing: 0.04em !important;
  margin: 0 0 0.75rem !important;
  font-size: 0.95rem !important;
}
.cy-footer__col ul,
.cy-footer__col {
  min-width: 0 !important;
}
.cy-footer__col li {
  margin: 0 0 0.45rem !important;
  line-height: 1.4 !important;
}
.cy-footer__bottom {
  border-top: 1px solid rgba(244, 239, 228, 0.12) !important;
  margin-top: 0.5rem !important;
  padding-top: 1rem !important;
  color: rgba(244, 239, 228, 0.5) !important;
}

/* —— 抽屉 / 浮层 —— */
.cy-drawer__panel,
.cy-overlay__panel {
  background: var(--fp-paper) !important;
  color: var(--fp-ink) !important;
  border-radius: 4px 0 0 4px !important;
}
.cy-drawer__head strong {
  color: var(--fp-ink) !important;
  font-family: var(--fp-display) !important;
}
.cy-drawer__nav a {
  color: var(--cy-text-2) !important;
  border-radius: 2px !important;
}
.cy-drawer__nav a.is-active,
.cy-drawer__nav a:hover {
  background: rgba(26, 58, 50, 0.08) !important;
  color: var(--fp-pine) !important;
}
.cy-overlay__form {
  border: 1px solid var(--cy-line-strong) !important;
  border-radius: 2px !important;
  background: #fff !important;
}
.cy-overlay__form button {
  background: var(--fp-amber) !important;
  color: #1a180f !important;
  border-radius: 0 !important;
}

/* —— 空态 / 杂项 —— */
.cy-empty__cta {
  background: var(--fp-pine) !important;
  color: #f4efe4 !important;
  border-radius: 2px !important;
}
.cy-skip:focus {
  background: var(--fp-amber) !important;
  color: #1a180f !important;
}

/* —— 动效：克制 —— */
@media (prefers-reduced-motion: reduce) {
  .cy-card,
  .cy-card__cover img {
    transition: none !important;
  }
  .cy-card:hover,
  .cy-card:hover .cy-card__cover img {
    transform: none !important;
  }
}

/* —— 中小屏 —— */
@media (max-width: 1100px) {
  .cy-search {
    width: 160px !important;
    max-width: 160px !important;
  }
  .cy-nav__item {
    padding: 8px 8px !important;
    font-size: 0.82rem !important;
  }
  .cy-nav__item.is-active::after,
  .cy-nav__item[aria-current="page"]::after {
    left: 8px;
    right: 8px;
  }
}
@media (max-width: 900px) {
  .cy-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .cy-footer__grid {
    grid-template-columns: 1.4fr 1fr 1fr !important;
  }
  .cy-footer__grid > :first-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 767px) {
  .cy-header {
    padding-top: env(safe-area-inset-top, 0);
  }
  .cy-header__inner {
    display: flex !important;
    flex-wrap: wrap !important;
    height: auto !important;
    min-height: 52px !important;
    gap: 8px 10px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .cy-nav {
    display: flex !important;
    order: 3;
    width: 100% !important;
    flex: 1 1 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    gap: 2px !important;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }
  .cy-nav::-webkit-scrollbar {
    display: none;
  }
  .cy-nav__item {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 8px 10px !important;
    font-size: 0.84rem !important;
    min-height: 40px !important;
  }
  .cy-logo__txt b {
    font-size: 0.95rem !important;
  }
  .cy-logo__txt small {
    display: none !important;
  }
  .cy-search {
    width: min(46vw, 160px) !important;
    max-width: 160px !important;
  }
  .cy-hero {
    padding: 1.85rem 0 1.6rem !important;
  }
  .cy-hero .cy-wrap,
  .cy-list-hero .cy-wrap,
  .cy-search-hero .cy-wrap {
    box-shadow: inset 3px 0 0 var(--fp-amber);
    padding-left: 20px !important;
  }
  .cy-hero__title {
    font-size: 1.55rem !important;
  }
  .cy-hero__form {
    flex-wrap: wrap !important;
  }
  .cy-hero__form input,
  .cy-hero__form button {
    min-height: 44px !important;
  }
  .cy-hero__hot {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.55rem;
  }
  .cy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.95rem 0.65rem !important;
  }
  .cy-section__title {
    font-size: 1.15rem !important;
  }
  .cy-footer__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.25rem !important;
  }
  .cy-card__title {
    font-size: 0.88rem !important;
    min-height: 2.6em !important;
  }
  .cy-show-actions__play,
  .cy-show-poster__quick {
    min-height: 44px !important;
  }
  .cy-filterbar__opts {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap !important;
  }
  .cy-filterbar__opts a {
    flex: 0 0 auto;
    min-height: 36px;
  }
}

/* 触摸设备：减弱悬浮动效 */
@media (hover: none) {
  .cy-card:hover {
    transform: none !important;
  }
}

/* —— 母模硬编码紫色清扫 —— */
.cy-body a[style*="a855"],
.cy-pager a,
.cy-section__more,
.cy-card__meta a,
.cy-show-sec a,
.cy-rank-list__item a {
  color: var(--fp-pine) !important;
}
.cy-hero__hot a:hover,
.cy-search-hero__hot a:hover,
.cy-drawer__nav a:hover,
.cy-filterbar__opts a:hover,
.cy-eppanel__ep:hover,
.cy-show-eps__ep:hover {
  background-image: none !important;
}
.cy-nav__item:hover,
.cy-nav__item.is-active,
.cy-nav__item[aria-current="page"] {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}


/* 导演 / 主演 双行信息 */
.cy-show-people {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 0.35rem 0.75rem !important;
  align-items: baseline !important;
  margin: 0.5rem 0 0.75rem !important;
}
.cy-show-people dt {
  color: rgba(244, 239, 228, 0.55) !important;
  font-size: 0.82rem !important;
  white-space: nowrap !important;
}
.cy-show-people dd {
  margin: 0 !important;
  color: rgba(244, 239, 228, 0.9) !important;
  font-size: 0.9rem !important;
}
.cy-show-body .cy-show-people dt,
.cy-show-sec .cy-show-people dt {
  color: var(--cy-text-3) !important;
}
.cy-show-body .cy-show-people dd,
.cy-show-sec .cy-show-people dd {
  color: var(--fp-ink) !important;
}
