/* ═══════════════════════════════════════════════════════════════
   素材来源标注 · 图片角标 / 视频来源行 / 来源页清单
   ═══════════════════════════════════════════════════════════════ */

/* ── 图片角标（纯展示，不拦截点击、不改变 DOM 层级） ── */
.media-credit{position:absolute;right:9px;bottom:9px;z-index:5;
  max-width:calc(100% - 18px);padding:4px 8px 5px;border-radius:3px;
  background:rgba(20,18,15,.62);backdrop-filter:blur(6px);
  border:1px solid rgba(244,240,231,.22);
  color:rgba(244,240,231,.94);
  font:10px/1.2 var(--mono,ui-monospace,monospace);letter-spacing:.04em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  pointer-events:none;user-select:none}
[data-credit-host="top"] > .media-credit{top:9px;bottom:auto}
.ph__bg > .media-credit{right:clamp(14px,4vw,52px);bottom:clamp(18px,3vw,34px)}
.film-timeline__img > .media-credit{bottom:8px;right:8px}
.dtl__grid > .media-credit{display:none}
/* 小缩略图不叠角标，改由容器下方的来源行统一标注 */

/* ── 媒体来源行 ────────────────────────────────────── */
.media-source{display:block;width:100%;margin:12px 0 0;padding:9px 0 9px 14px;
  border-left:2px solid var(--brass,#c89a45);
  font-size:12px;line-height:1.75;color:var(--dim,#6d6559);letter-spacing:.01em}
.media-source b{display:inline-block;margin-right:9px;font-weight:600;
  font-size:10.5px;letter-spacing:.14em;color:var(--red,#b5342a)}
.media-source code{font:11px/1 var(--mono,ui-monospace,monospace);
  padding:1px 4px;border-radius:3px;background:rgba(34,30,24,.07);color:inherit}
.media-source a{color:var(--red,#b5342a);text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:rgba(181,52,42,.45)}
.media-source a:hover{text-decoration-color:currentColor}
.media-source--light{color:rgba(244,240,231,.84);border-left-color:var(--brass-hi,#e2c183)}
.media-source--light b{color:var(--brass-hi,#e2c183)}
.media-source--light a{color:var(--brass-hi,#e2c183);text-decoration-color:rgba(226,193,131,.5)}
.media-source--light code{background:rgba(244,240,231,.12)}
.hero__content > .media-source--light{margin-top:22px;max-width:56ch}
.film-hero .wrap > .media-source--light{margin-top:26px;max-width:60ch}
.film-stage + .media-source{grid-column:1/-1;margin-top:16px}
.film-chapters + .media-source{margin-top:16px;max-width:none}
/* 首页影像板块是深墨底，来源行切到浅色文字 */
.film-teaser .media-source{color:rgba(244,240,231,.86);border-left-color:var(--brass-hi,#e2c183)}
.film-teaser .media-source b{color:var(--brass-hi,#e2c183)}
.film-teaser .media-source a{color:var(--brass-hi,#e2c183);text-decoration-color:rgba(226,193,131,.5)}
.film-teaser .media-source code{background:rgba(244,240,231,.12)}

.footer__note a{color:var(--brass-hi,#e2c183);text-decoration:underline;text-underline-offset:3px}
.footer__note a:hover{color:var(--on-dark,#f4f0e7)}

/* ── 来源页 ────────────────────────────────────────── */
.cr-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;background:var(--line,rgba(34,30,24,.12));
  border:1px solid var(--line,rgba(34,30,24,.12));border-radius:6px;overflow:hidden}
.cr-intro > div{background:var(--paper,#f7f4ed);padding:22px 24px}
.cr-intro b{display:block;font:11px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.14em;color:var(--red,#b5342a);margin-bottom:10px}
.cr-intro p{margin:0;font-size:13px;line-height:1.8;color:var(--dim,#6d6559)}
.cr-intro strong{color:var(--cream,#221e18);font-weight:600}

.cr-summary{margin:20px 0 0;font-size:13px;line-height:1.9;color:var(--dim,#6d6559);letter-spacing:.02em}
.cr-summary b{font:600 16px/1 var(--mono,ui-monospace,monospace);color:var(--red,#b5342a);
  padding:0 3px;font-variant-numeric:tabular-nums}

.cr-group{margin-top:clamp(30px,4vw,52px)}
.cr-group > h3{font-family:var(--serif,serif);font-weight:400;
  font-size:clamp(19px,2vw,25px);margin:0 0 6px;color:var(--cream,#221e18)}
.cr-group > p{font-size:13.5px;line-height:1.85;color:var(--dim,#6d6559);
  max-width:76ch;margin:0 0 18px}
.cr-group a{color:var(--red,#b5342a);text-underline-offset:3px}

.cr-list{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line,rgba(34,30,24,.12));
  border:1px solid var(--line,rgba(34,30,24,.12));border-radius:5px;overflow:hidden}
.cr-list > li{background:var(--paper,#f7f4ed);padding:10px 14px;
  display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap;
  font-size:12px;line-height:1.5}
.cr-list > li > b, .cr-list > li > i{font:10px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.1em;color:var(--red,#b5342a);font-style:normal;flex:none}
.cr-list > li > i{color:var(--brass,#c89a45)}
.cr-file{font:11.5px/1.4 var(--mono,ui-monospace,monospace);
  color:var(--cream,#221e18);word-break:break-all}
.cr-list > li > a{font:10.5px/1.4 var(--mono,ui-monospace,monospace);
  color:var(--faint,#8b8172);word-break:break-all;text-decoration:none;
  border-bottom:1px dotted currentColor}
.cr-list > li > a:hover{color:var(--red,#b5342a)}
.cr-list > li > small{color:var(--faint,#8b8172);font-size:11px}
.cr-list--wide{grid-template-columns:repeat(3,minmax(0,1fr))}

.cr-table{width:100%;border-collapse:collapse;font-size:13px;
  border:1px solid var(--line,rgba(34,30,24,.12))}
.cr-table th,.cr-table td{text-align:left;padding:11px 14px;
  border-bottom:1px solid var(--line,rgba(34,30,24,.12));vertical-align:middle}
.cr-table th{font-size:10.5px;letter-spacing:.14em;font-weight:600;
  color:var(--dim,#6d6559);background:rgba(34,30,24,.035)}
.cr-table td:last-child{text-align:right;white-space:nowrap;color:var(--red,#b5342a)}
.cr-table code{font:11.5px/1 var(--mono,ui-monospace,monospace);color:var(--cream,#221e18)}
.cr-table small{display:block;margin-top:4px;color:var(--faint,#8b8172);font-size:11px}

.cr-note{margin-top:clamp(26px,3.5vw,44px);padding:20px 22px;
  border:1px dashed var(--line,rgba(34,30,24,.28));border-radius:5px;
  background:rgba(200,154,69,.055)}
.cr-note p{margin:0 0 8px;font-size:13px;line-height:1.85;color:var(--dim,#6d6559)}
.cr-note p:last-child{margin-bottom:0}
.cr-note b{color:var(--cream,#221e18)}

/* ── 响应式 ────────────────────────────────────────── */
@media (max-width:1080px){
  .cr-intro{grid-template-columns:1fr}
  .cr-list,.cr-list--wide{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .media-credit{font-size:9px;padding:3px 6px 4px;right:6px;bottom:6px}
  [data-credit-host="top"] > .media-credit{top:6px}
  .ph__bg > .media-credit{right:14px;bottom:16px}
  .cr-list,.cr-list--wide{grid-template-columns:1fr}
  .cr-table th,.cr-table td{padding:9px 10px;font-size:12px}
  .media-source{font-size:11.5px;line-height:1.7}
  .hero__content > .media-source--light{margin-top:16px;font-size:10.5px;max-width:34ch}
}
@media (max-width:420px){
  .hero__content > .media-source--light{display:none}  /* 首屏高度吃紧，来源仍见页脚与来源页 */
  .cr-intro > div{padding:18px}
}
@media (prefers-reduced-motion:reduce){
  .media-credit{backdrop-filter:none}
}
