/* site-craft · 成品3 · 樱纸手帐 v3
   樱纸底 + 酒红/蜜桃/琥珀/青瓷/丁香多拼色
   手写标题 · 横卡 · 书页顶栏 · 手帐影厅 · 呼吸星点
   v3：统一头/主/尾栏宽，压住 layout-fix 错位，修横卡细节 */

@import url("https://fonts.googleapis.com/css2?family=ZCOOL+XiaoWei&family=Noto+Sans+SC:wght@400;600;700;800&display=swap");

:root {
  --p3-paper: #f7f0ea;
  --p3-soft: #fff8f4;
  --p3-ink: #3f2a2a;
  --p3-muted: #8a6a6a;
  --p3-wine: #9f1239;
  --p3-rose: #e11d48;
  --p3-peach: #fb7185;
  --p3-amber: #d97706;
  --p3-teal: #0d9488;
  --p3-lilac: #a78bfa;
  --p3-line: rgba(159, 18, 57, 0.16);
  --p3-mix: linear-gradient(120deg, #9f1239 0%, #e11d48 28%, #fb7185 52%, #d97706 78%, #a78bfa 100%);
  --p3-max: 1120px;
  --p3-pad: 16px;
  --p3-display: "ZCOOL XiaoWei", "Noto Serif SC", "Songti SC", serif;
  --p3-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  /* 压过 layout-fix 的 1200/20，避免头主尾错列 */
  --lf-max: 1120px;
  --lf-pad: 16px;
  --div-accent: var(--p3-wine);
  --div-secondary: var(--p3-rose);
  --div-highlight: var(--p3-peach);
  --div-bg: var(--p3-paper);
  --div-surface: var(--p3-soft);
  --div-text: var(--p3-ink);
  --div-muted: var(--p3-muted);
  --site-accent: var(--p3-wine);
  --site-secondary: var(--p3-rose);
  --site-ink: var(--p3-ink);
  --site-bg: var(--p3-paper);
  --brand: var(--p3-wine);
  --accent: var(--p3-peach);
  color-scheme: light;
}

html {
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.body-div {
  margin: 0 !important;
  min-height: 100vh !important;
  color: var(--p3-ink) !important;
  font-family: var(--p3-sans) !important;
  background:
    radial-gradient(780px 380px at 8% -6%, rgba(251, 113, 133, 0.2), transparent 55%),
    radial-gradient(720px 360px at 94% 4%, rgba(167, 139, 250, 0.14), transparent 52%),
    radial-gradient(640px 320px at 50% 100%, rgba(13, 148, 136, 0.08), transparent 55%),
    repeating-linear-gradient(0deg, transparent, transparent 26px, rgba(159, 18, 57, 0.035) 27px),
    var(--p3-paper) !important;
  position: relative !important;
  overflow-x: clip !important;
}

body.body-div a { color: var(--p3-wine) !important; text-decoration: none !important; }
body.body-div a:hover { color: var(--p3-rose) !important; }

body.body-div h1,
body.body-div h2,
body.body-div h3,
body.body-div .div-brand__text {
  font-family: var(--p3-display) !important;
  letter-spacing: 0.02em;
}

/* ════ 呼吸飘动星点（浅色手帐） ════ */
body.body-div .div-stars {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  contain: strict;
}
body.body-div .div-stars i {
  --c: 225, 29, 72;
  position: absolute;
  left: var(--lx, 50%);
  top: var(--ly, 40%);
  width: var(--s, 4px);
  height: var(--s, 4px);
  margin: 0;
  border-radius: 50%;
  background: rgba(var(--c), 0.85);
  box-shadow: 0 0 8px rgba(var(--c), 0.45), 0 0 18px rgba(var(--c), 0.18);
  opacity: 0.35;
  will-change: transform, opacity;
  animation:
    p3-star-breath var(--d, 5s) ease-in-out infinite,
    p3-star-drift var(--fd, 14s) ease-in-out infinite alternate;
  animation-delay: var(--delay, 0s), var(--fdelay, 0s);
}
body.body-div .div-stars i.div-stars__glow {
  width: var(--s, 100px);
  height: var(--s, 100px);
  background: radial-gradient(circle, rgba(var(--c), 0.16) 0%, rgba(var(--c), 0.04) 42%, transparent 70%);
  border: 1px solid rgba(var(--c), 0.18);
  box-shadow: 0 0 28px rgba(var(--c), 0.1), inset 0 0 22px rgba(var(--c), 0.06);
  animation-name: p3-glow-breath, p3-star-drift;
}
body.body-div .div-header,
body.body-div .page-main,
body.body-div .div-footer,
body.body-div .div-main {
  position: relative;
  z-index: 1;
}
body.body-div .div-header { z-index: 220 !important; }

@keyframes p3-star-breath {
  0%, 100% { opacity: 0.14; transform: translate(-50%, -50%) scale(0.55); }
  50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.15); }
}
@keyframes p3-glow-breath {
  0%, 100% { opacity: 0.16; transform: translate(-50%, -50%) scale(0.82); }
  50% { opacity: 0.42; transform: translate(-50%, -50%) scale(1.06); }
}
@keyframes p3-star-drift {
  0% { margin-left: 0; margin-top: 0; }
  50% { margin-left: var(--dx, 16px); margin-top: var(--dy, -12px); }
  100% { margin-left: calc(var(--dx, 16px) * -0.55); margin-top: calc(var(--dy, -12px) * -0.45); }
}

/* ════ 通栏对齐轨（头 / 主 / 尾同一左右缘） ════ */
body.body-div .div-header__inner,
body.body-div .div-head__tagline,
body.body-div .page-main,
body.body-div .div-main,
body.body-div .div-footer__inner,
body.body-div .div-foot__seo,
body.body-div .div-foot__bar,
body.body-div footer > div {
  width: 100% !important;
  max-width: var(--p3-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* ════ 头部 · 书签顶栏 ════ */
body.body-div .div-header,
body.body-div .div-topbar {
  position: sticky !important;
  top: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 12px var(--p3-pad) 0 !important;
}
body.body-div .div-header__inner {
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px 12px !important;
  flex-wrap: nowrap !important;
  border-radius: 18px !important;
  border: 1px solid rgba(159, 18, 57, 0.18) !important;
  background: rgba(255, 248, 244, 0.92) !important;
  backdrop-filter: blur(12px);
  box-shadow:
    0 12px 32px rgba(63, 42, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}
body.body-div .div-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--p3-wine) !important;
  flex-shrink: 0;
}
body.body-div .div-brand::before { display: none !important; }
body.body-div .div-brand__mark {
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 12px !important;
  background: var(--p3-mix) !important;
  color: #fff7f5 !important;
  font-family: var(--p3-display) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 18px rgba(225, 29, 72, 0.28) !important;
}
body.body-div .div-brand__text {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--p3-ink) !important;
  line-height: 1.15 !important;
}
body.body-div .div-brand__text em {
  display: block !important;
  font-style: normal !important;
  font-family: var(--p3-sans) !important;
  font-size: 0.66rem !important;
  font-weight: 700 !important;
  color: var(--p3-teal) !important;
  letter-spacing: 0.08em;
  margin-top: 2px;
}

body.body-div .div-nav {
  display: flex !important;
  flex: 1 1 auto !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 2px !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
}
body.body-div .div-nav::-webkit-scrollbar { display: none; }
body.body-div .div-nav a {
  flex: 0 0 auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  color: var(--p3-muted) !important;
  font-weight: 700 !important;
  font-size: 0.86rem !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
body.body-div .div-nav a:hover,
body.body-div .div-nav a[aria-current="page"] {
  color: #fff7f5 !important;
  background: var(--p3-wine) !important;
}
body.body-div .div-nav a:nth-child(2):hover { background: var(--p3-rose) !important; }
body.body-div .div-nav a:nth-child(3):hover { background: var(--p3-amber) !important; }
body.body-div .div-nav a:nth-child(4):hover { background: var(--p3-teal) !important; }
body.body-div .div-nav a:nth-child(5):hover { background: var(--p3-lilac) !important; }
body.body-div .div-nav a:nth-child(6):hover { background: var(--p3-peach) !important; }

body.body-div .div-search {
  display: flex !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  border: 1px solid rgba(159, 18, 57, 0.18) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: #fff !important;
  width: min(220px, 28vw) !important;
  max-width: 220px !important;
  min-height: 38px !important;
}
body.body-div .div-search input {
  border: 0 !important;
  background: transparent !important;
  color: var(--p3-ink) !important;
  padding: 0 12px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  font-size: 0.88rem !important;
  height: auto !important;
  line-height: 1.2 !important;
}
body.body-div .div-search input::placeholder { color: #b09191 !important; }
body.body-div .div-search button {
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--p3-mix) !important;
  color: #fff7f5 !important;
  font-weight: 800 !important;
  padding: 0 14px !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
}
body.body-div .div-btn,
body.body-div .primary-btn {
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--p3-mix) !important;
  color: #fff7f5 !important;
  font-weight: 800 !important;
  padding: 0 16px !important;
  min-height: 38px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 18px rgba(225, 29, 72, 0.22) !important;
}
body.body-div .div-btn--ghost {
  background: transparent !important;
  color: var(--p3-teal) !important;
  border: 1px solid rgba(13, 148, 136, 0.4) !important;
  box-shadow: none !important;
}
body.body-div .nav-toggle {
  display: none !important;
  border: 1px solid rgba(159, 18, 57, 0.22) !important;
  background: #fff !important;
  color: var(--p3-wine) !important;
  border-radius: 12px !important;
  min-width: 40px;
  min-height: 40px;
  place-items: center !important;
}
body.body-div .div-head__tagline {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  padding: 7px var(--p3-pad) !important;
  text-align: center;
  color: rgba(159, 18, 57, 0.62) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  line-height: 1.4 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(159, 18, 57, 0.1) !important;
  background: rgba(255, 248, 244, 0.72) !important;
}

/* ════ 中部 / 首页刊头 ════ */
body.body-div .page-main,
body.body-div .div-main {
  padding: 18px var(--p3-pad) 56px !important;
}

body.body-div .div-hero {
  position: relative !important;
  margin: 4px 0 28px !important;
  padding: clamp(28px, 5vw, 44px) clamp(22px, 4vw, 36px) !important;
  border-radius: 24px !important;
  border: 1px solid transparent !important;
  background:
    linear-gradient(#fff8f4, #fff8f4) padding-box,
    var(--p3-mix) border-box !important;
  box-shadow: 0 20px 48px rgba(63, 42, 42, 0.1) !important;
  text-align: left !important;
  overflow: hidden !important;
}
body.body-div .div-hero::before {
  content: "";
  position: absolute;
  inset: auto -10% -40% auto;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(251, 113, 133, 0.22), transparent 68%);
  pointer-events: none;
}
body.body-div .div-hero .div-kicker,
body.body-div .div-hero__eyebrow {
  display: inline-flex !important;
  margin: 0 0 12px !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(159, 18, 57, 0.22) !important;
  background: rgba(251, 113, 133, 0.12) !important;
  color: var(--p3-wine) !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em;
  text-transform: none !important;
}
body.body-div .div-hero h1 {
  position: relative;
  margin: 0 0 12px !important;
  font-size: clamp(2.1rem, 5.5vw, 3rem) !important;
  color: var(--p3-ink) !important;
  line-height: 1.12 !important;
  background: var(--p3-mix);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}
body.body-div .div-hero p {
  position: relative;
  margin: 0 0 18px !important;
  max-width: 34em;
  color: var(--p3-muted) !important;
  line-height: 1.75 !important;
  font-size: 1.02rem !important;
}
body.body-div .div-hero__actions {
  position: relative;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

/* 分区标题 · 书页竖线多色 */
body.body-div .div-section,
body.body-div .section-block { margin: 0 0 28px !important; max-width: 100% !important; }
body.body-div .div-section__head,
body.body-div .section-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
  padding: 0 0 0 12px !important;
  border-left: 3px solid var(--p3-wine) !important;
  border-bottom: 0 !important;
  min-height: 2rem;
}
body.body-div .div-section:nth-of-type(3n) .div-section__head,
body.body-div .section-block:nth-of-type(3n) .section-head { border-left-color: var(--p3-teal) !important; }
body.body-div .div-section:nth-of-type(3n + 1) .div-section__head,
body.body-div .section-block:nth-of-type(3n + 1) .section-head { border-left-color: var(--p3-amber) !important; }
body.body-div .div-section:nth-of-type(3n + 2) .div-section__head,
body.body-div .section-block:nth-of-type(3n + 2) .section-head { border-left-color: var(--p3-lilac) !important; }
body.body-div .section-head > div {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}
body.body-div .section-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 1.1em;
  height: 1.1em;
  color: var(--p3-amber) !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  transform: translateY(0);
}
body.body-div .div-section__head h2,
body.body-div .section-head h2 {
  margin: 0 !important;
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
  color: var(--p3-ink) !important;
}
body.body-div .div-section__head a,
body.body-div .section-head a {
  color: var(--p3-teal) !important;
  font-weight: 700 !important;
  font-size: 0.86rem !important;
  white-space: nowrap !important;
}

/* 筛选条 */
body.body-div .filter-panel {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: stretch !important;
  margin: 0 0 16px !important;
}
body.body-div .filter-panel input,
body.body-div .filter-panel select {
  flex: 1 1 140px !important;
  min-width: 0 !important;
  min-height: 40px !important;
  border: 1px solid rgba(159, 18, 57, 0.16) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--p3-ink) !important;
  padding: 8px 12px !important;
}

/* 横卡 · 手帐贴片 */
body.body-div .movie-grid,
body.body-div .div-grid--dense,
body.body-div .div-grid--wide {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}
@media (min-width: 720px) {
  body.body-div .movie-grid,
  body.body-div .div-grid--dense,
  body.body-div .div-grid--wide {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

body.body-div .div-card {
  --tile: #e11d48;
  --poster-w: 112px;
  display: grid !important;
  grid-template-columns: var(--poster-w) minmax(0, 1fr) !important;
  grid-template-rows: 1fr !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-height: 148px !important;
  background: #fff !important;
  border: 1px solid rgba(159, 18, 57, 0.12) !important;
  border-top: 3px solid var(--tile) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 28px rgba(63, 42, 42, 0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
body.body-div .div-card:nth-child(5n + 2) { --tile: #0d9488; }
body.body-div .div-card:nth-child(5n + 3) { --tile: #d97706; }
body.body-div .div-card:nth-child(5n + 4) { --tile: #a78bfa; }
body.body-div .div-card:nth-child(5n + 5) { --tile: #fb7185; }
body.body-div .div-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px color-mix(in srgb, var(--tile) 22%, transparent) !important;
  border-color: color-mix(in srgb, var(--tile) 35%, rgba(159, 18, 57, 0.12)) !important;
  border-top-color: var(--tile) !important;
}
body.body-div .div-card__poster {
  position: relative !important;
  display: block !important;
  width: var(--poster-w) !important;
  max-width: var(--poster-w) !important;
  min-width: var(--poster-w) !important;
  height: 100% !important;
  min-height: 148px !important;
  aspect-ratio: auto !important;
  align-self: stretch !important;
  background: #f1e4de !important;
  box-shadow: inset -1px 0 0 rgba(159, 18, 57, 0.08);
  overflow: hidden !important;
}
body.body-div .div-card__poster img {
  width: 100% !important;
  height: 100% !important;
  min-height: 148px !important;
  max-width: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
}
body.body-div .div-card__badge {
  position: absolute !important;
  left: 8px !important;
  top: 8px !important;
  z-index: 2;
  background: var(--tile) !important;
  color: #fff7f5 !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  line-height: 1.2 !important;
}
body.body-div .div-card__body {
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
  border-top: 0 !important;
  box-sizing: border-box !important;
}
body.body-div .div-card__body h3 {
  margin: 0 !important;
  width: 100% !important;
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
  color: var(--p3-ink) !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
body.body-div .div-card__body h3 a {
  color: inherit !important;
  display: inline !important;
}
body.body-div .div-card__body p {
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 10px !important;
  align-items: center !important;
  color: var(--p3-muted) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}
body.body-div .div-card__body p span:first-child { color: var(--tile) !important; }

/* ════ 分类页 · 贴纸卡片 ════ */
body.body-div .page-hero,
body.body-div .div-pagehead {
  margin: 0 0 20px !important;
  padding: 22px 22px !important;
  border-radius: 20px !important;
  border: 1px dashed rgba(159, 18, 57, 0.28) !important;
  background: rgba(255, 255, 255, 0.72) !important;
}
body.body-div .page-hero h1,
body.body-div .div-pagehead h1 {
  margin: 0 0 8px !important;
  color: var(--p3-wine) !important;
  font-size: clamp(1.6rem, 3vw, 2.1rem) !important;
}
body.body-div .page-hero p { margin: 0 !important; color: var(--p3-muted) !important; }
body.body-div .page-hero .eyebrow {
  display: inline-block !important;
  margin-bottom: 8px !important;
  color: var(--p3-teal) !important;
  font-weight: 800 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em;
}

body.body-div .category-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
@media (min-width: 900px) {
  body.body-div .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
body.body-div .overview-card {
  --oc: #e11d48;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  border: 1px solid color-mix(in srgb, var(--oc) 22%, transparent) !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(63, 42, 42, 0.05) !important;
  color: inherit !important;
}
body.body-div .overview-card:nth-child(5n + 2) { --oc: #0d9488; }
body.body-div .overview-card:nth-child(5n + 3) { --oc: #d97706; }
body.body-div .overview-card:nth-child(5n + 4) { --oc: #a78bfa; }
body.body-div .overview-card:nth-child(5n + 5) { --oc: #fb7185; }
body.body-div .overview-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px color-mix(in srgb, var(--oc) 18%, transparent) !important;
}
body.body-div .overview-main strong {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--oc) !important;
  font-family: var(--p3-display) !important;
  font-size: 1.15rem !important;
}
body.body-div .overview-main span {
  color: var(--p3-muted) !important;
  line-height: 1.55 !important;
  font-size: 0.88rem !important;
}
body.body-div .overview-links {
  display: flex !important;
  justify-content: space-between !important;
  color: var(--oc) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
}

/* ════ 播放页 · 手帐影厅 ════ */
body.body-div:has(.div-play) .page-main { max-width: var(--p3-max) !important; }
body.body-div .div-crumb {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 8px !important;
  align-items: center !important;
  margin: 0 0 14px !important;
  padding: 8px 14px !important;
  width: fit-content !important;
  max-width: 100% !important;
  border-radius: 999px !important;
  border: 1px solid rgba(159, 18, 57, 0.16) !important;
  background: rgba(255, 255, 255, 0.85) !important;
  color: var(--p3-muted) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
}
body.body-div .div-crumb a { color: var(--p3-wine) !important; }

body.body-div .div-play,
body.body-div .div-play--stage {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  margin: 0 0 22px !important;
  padding: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 22px !important;
  border: 1px solid rgba(159, 18, 57, 0.16) !important;
  background: linear-gradient(180deg, #fff, #fff8f4) !important;
  box-shadow: 0 18px 44px rgba(63, 42, 42, 0.08) !important;
}
body.body-div .div-play__meta {
  min-width: 0 !important;
  padding: 0 2px !important;
}
body.body-div .div-play__stage,
body.body-div .div-play__player {
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid transparent !important;
  background:
    linear-gradient(#1c1414, #1c1414) padding-box,
    var(--p3-mix) border-box !important;
}
body.body-div .div-play__stage video,
body.body-div .div-play__player video,
body.body-div #movie-player {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  max-height: min(70vh, 680px);
  object-fit: contain !important;
  display: block !important;
  background: #1c1414 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
body.body-div .div-play__meta h1 {
  margin: 0 0 12px !important;
  color: var(--p3-ink) !important;
  font-size: clamp(1.35rem, 2.5vw, 1.9rem) !important;
}
body.body-div .div-play__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
}
body.body-div .div-play__tags span {
  padding: 5px 11px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(159, 18, 57, 0.16) !important;
  background: rgba(251, 113, 133, 0.08) !important;
  color: var(--p3-wine) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
}
body.body-div .div-play__tags span:nth-child(2) { color: var(--p3-teal) !important; border-color: rgba(13, 148, 136, 0.25) !important; background: rgba(13, 148, 136, 0.08) !important; }
body.body-div .div-play__tags span:nth-child(3) { color: var(--p3-amber) !important; border-color: rgba(217, 119, 6, 0.25) !important; background: rgba(217, 119, 6, 0.08) !important; }
body.body-div .div-play__tags span:nth-child(4) { color: var(--p3-lilac) !important; border-color: rgba(167, 139, 250, 0.28) !important; background: rgba(167, 139, 250, 0.1) !important; }
body.body-div .div-play__meta > p:not(.div-play__tags) {
  margin: 0 !important;
  color: #5c4444 !important;
  line-height: 1.8 !important;
}

/* ════ 尾部 · 刊末栏 ════ */
body.body-div .div-footer {
  margin-top: auto !important;
  padding: 0 !important;
  background: #fff4ef !important;
  border-top: 1px solid rgba(159, 18, 57, 0.14) !important;
  color: var(--p3-muted) !important;
  box-sizing: border-box !important;
}
body.body-div .div-foot__seo {
  padding: 12px var(--p3-pad) !important;
  text-align: center;
  color: transparent !important;
  background: var(--p3-mix);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  border-bottom: 1px solid rgba(159, 18, 57, 0.08);
}
body.body-div .div-footer__inner {
  padding: 24px var(--p3-pad) 18px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}
body.body-div .div-foot__brand strong {
  color: var(--p3-ink) !important;
  font-family: var(--p3-display) !important;
  font-size: 1.25rem !important;
}
body.body-div .div-foot__brand p {
  margin: 8px 0 0 !important;
  color: var(--p3-muted) !important;
  line-height: 1.7 !important;
}
body.body-div .div-foot__nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-content: flex-start !important;
}
body.body-div .div-foot__nav a {
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(159, 18, 57, 0.14) !important;
  background: #fff !important;
  color: var(--p3-ink) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
}
body.body-div .div-foot__nav a:hover {
  color: #fff7f5 !important;
  background: var(--p3-wine) !important;
  border-color: transparent !important;
}
body.body-div .div-foot__bar {
  padding: 4px var(--p3-pad) 26px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  justify-content: space-between !important;
  align-items: center !important;
  color: rgba(138, 106, 106, 0.85) !important;
  font-size: 0.84rem !important;
}

body.body-div .image-off { opacity: 0.35; }

@media (max-width: 900px) {
  body.body-div .div-header__inner { flex-wrap: wrap !important; }
  body.body-div .nav-toggle { display: inline-grid !important; margin-left: 0 !important; }
  body.body-div .div-nav { display: none !important; }
  body.body-div .div-nav.open {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    order: 10;
  }
  body.body-div .div-search {
    width: auto !important;
    flex: 1 1 160px !important;
    max-width: none !important;
  }
  body.body-div .div-footer__inner { grid-template-columns: 1fr !important; }
  body.body-div .category-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  body.body-div .div-brand__text em { display: none !important; }
  body.body-div .div-card {
    --poster-w: 96px;
    grid-template-columns: var(--poster-w) minmax(0, 1fr) !important;
    min-height: 128px !important;
  }
  body.body-div .div-card__poster,
  body.body-div .div-card__poster img { min-height: 128px !important; }
  body.body-div .div-card__body { padding: 12px 12px !important; }
  body.body-div .div-card__body h3 { font-size: 0.98rem !important; }
  input[type="search"], input[type="text"], select { font-size: 16px !important; }
  body.body-div #movie-player { max-height: min(56vh, 480px); }
}

/* pack3-opt-v4 · 触控 / 性能 / 减少动效（合并去重） */
body.body-div .div-card__poster img,
body.body-div .div-play__stage video{content-visibility:auto}
body.body-div a,
body.body-div button,
body.body-div input,
body.body-div select,
body.body-div .nav-toggle,
body.body-div .div-btn,
body.body-div .div-search button,
body.body-div .overview-card,
body.body-div .div-nav a{
  touch-action:manipulation;-webkit-tap-highlight-color:transparent
}
body.body-div .div-btn,
body.body-div .nav-toggle,
body.body-div .overview-card,
body.body-div .div-search button,
body.body-div .div-nav a{min-height:40px}
body.body-div .div-stars{z-index:0;pointer-events:none}
body.body-div .div-header{z-index:220!important}
@media (prefers-reduced-motion:reduce){
  body.body-div .div-stars i{animation:none!important;opacity:.28!important;transform:translate(-50%,-50%) scale(.9)!important}
  body.body-div .div-card,
  body.body-div .overview-card,
  body.body-div .div-btn{animation:none!important;transition:none!important}
}
