/* 来源头像 / 多源叠像（PIL-172 v3，2026-10-13）。
   类名全部 src- 前缀，不与 mobile.css / theme-gold.css / hotspots-gold.css 冲突。
   头像只出现在卡片 meta 的来源位与详情头（卡片外、标题旁），不进任何服务端
   文本驱动的展开区。坏图由 JS 回退为着色首字，这里不依赖图片内容。 */

/* ---------- 单个头像 ---------- */
.src-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  overflow: hidden;
  /* 官方 PNG 是宽 logo 且多为深色字：浅色衬底保证深/浅 logo 在深色卡上都有
     对比度（PIL-172 v5 复核）。首字回退由 JS 经 CSSOM 内联覆盖背景/前景色，
     不受此底色影响。 */
  background: rgba(255, 255, 255, 0.92);
  vertical-align: -4px;
}
.src-avatar-img {
  width: 100%;
  height: 100%;
  /* 完整标识优先：contain 保留宽 logo 全貌与对比度，不圆形 cover 裁掉标识。 */
  object-fit: contain;
  display: block;
}
/* 首字回退：尺寸/底色/字号由 JS 按名字写入（CSSOM 赋值，规避 CSP 内联限制）。 */
.src-avatar-fallback {
  color: rgba(255, 255, 255, 0.92);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}

/* ---------- 多源叠像（Faces 适配）---------- */
.src-faces {
  display: inline-flex;
  align-items: center;
  flex: none;
  position: relative;
}
.src-faces-trigger {
  margin: -2px;
  padding: 2px;
  border: 0;
  border-radius: 999px;
  background: none;
  font: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
.src-faces-trigger:focus-visible {
  outline: 2px solid var(--hs-gold, #f2d4a4);
  outline-offset: 1px;
}
.src-faces-stack {
  display: inline-flex;
  align-items: center;
}
/* 相邻头像叠 6px；描边用卡底色隔开脸与脸。 */
.src-faces-stack .src-avatar + .src-avatar,
.src-faces-stack .src-faces-more {
  margin-left: -6px;
}
.src-faces-stack .src-avatar {
  box-shadow: 0 0 0 2px #181a1e;
}
.src-faces-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: rgba(236, 235, 232, 0.78);
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
}
/* 名单弹层：贴着触发器下方，窄屏也不越出右缘。 */
.src-faces-pop {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 140px;
  max-width: 220px;
  max-height: 200px;
  overflow-y: auto;
  padding: 8px 10px;
  border-radius: 10px;
  background: #1c1e23;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.07);
  text-align: left;
}
.src-faces-pop-head {
  font-size: 10.5px;
  color: rgba(236, 235, 232, 0.5);
}
.src-faces-pop-name {
  font-size: 12px;
  line-height: 1.5;
  color: rgba(236, 235, 232, 0.86);
  overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: reduce) {
  .src-faces-pop { transition: none; }
}
