/* BEIZHUO 专题增补样式。仅补 bzmodules.py 新增的组件；
   其余一律复用 compliance-report.css 的变量与基础规则。 */

/* ── 来源引用 ───────────────────────────── */
.src-cite { white-space: nowrap; }
.src-ref {
  font: 600 0.82em/1 var(--font-mono, ui-monospace, monospace);
  padding: .1em .3em; border-radius: .25em;
  background: color-mix(in srgb, currentColor 8%, transparent);
  text-decoration: none; border-bottom: 1px dotted currentColor;
}
.src-ref:hover { background: color-mix(in srgb, currentColor 16%, transparent); }
.src-missing { opacity: .55; cursor: help; border-bottom-style: dashed; }

/* ── 严重度 / 命中标记 ──────────────────── */
.sev, .hit-yes, .hit-no {
  display: inline-block; font-size: .8rem; font-weight: 650;
  padding: .12em .5em; border-radius: 999px; white-space: nowrap;
  border: 1px solid;
}
.sev-risk  { background: #fdecec; color: #8c1c13; border-color: #f0b7b2; }
.sev-warn  { background: #fdf4e3; color: #8a5a06; border-color: #f0d9a8; }
.sev-ok    { background: #eef6ee; color: #2c5d33; border-color: #bcd9bf; }
.hit-yes   { background: #fdecec; color: #8c1c13; border-color: #f0b7b2; }
.hit-no    { background: #f1f3f5; color: #5a636b; border-color: #d7dce0; }

@media (prefers-color-scheme: dark) {
  .sev-risk, .hit-yes { background: #3a1614; color: #ffb4ab; border-color: #7c2c25; }
  .sev-warn { background: #3a2c0f; color: #ffd88a; border-color: #7a5c1a; }
  .sev-ok   { background: #16301b; color: #9fd8a8; border-color: #2f5c38; }
  .hit-no   { background: #23282c; color: #a9b2ba; border-color: #3a4248; }
}

/* ── 外行入口步骤 ──────────────────────── */
ol.primer { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; gap: .9rem; }
ol.primer .primer-step {
  display: flex; gap: .8rem; align-items: flex-start;
  padding: .9rem 1rem; border-radius: .6rem;
  background: color-mix(in srgb, currentColor 4%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}
ol.primer .primer-step > div > b { display: block; margin-bottom: .25rem; }
ol.primer .primer-step p { margin: 0; }

/* ── 三档方案切换器 ────────────────────── */
.segmented { margin: 1.2rem 0 .4rem; }
.segmented fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.seg-opt { position: relative; }
.seg-opt input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.seg-opt span {
  display: block; padding: .5rem 1rem; border-radius: 999px; cursor: pointer;
  border: 1px solid color-mix(in srgb, currentColor 26%, transparent);
  font-weight: 600; font-size: .95rem;
}
/* 选中态必须写死具体色值。曾用 background: currentColor + color: Canvas，
   而 currentColor 解析的就是本元素的 color（已被改成 Canvas=白），
   于是白底白字、对比度 1.0，文字完全看不见。
   现用 --deep(#173d31) 底 + #fff 字，对比度约 11.9:1。 */
.seg-opt input:checked + span {
  background: var(--deep, #173d31);
  border-color: var(--deep, #173d31);
  color: #fff;
  filter: none;
}
.seg-opt input:focus-visible + span { outline: 2px solid currentColor; outline-offset: 2px; }

.tier-panel {
  margin-top: 1rem; padding: 1.1rem 1.2rem; border-radius: .7rem;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  background: color-mix(in srgb, currentColor 3%, transparent);
}
.tier-panel > h3 { margin-top: 0; }
.tier-facts {
  display: grid; gap: .6rem; margin: 1rem 0;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}
.tier-facts > div {
  padding: .55rem .7rem; border-radius: .45rem;
  background: color-mix(in srgb, currentColor 6%, transparent);
}
.tier-facts span { display: block; font-size: .78rem; opacity: .72; margin-bottom: .15rem; }
.tier-facts b { font-size: .95rem; }
.tier-cols { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
.tier-cols ul { margin: .4rem 0 0; padding-left: 1.2rem; }
.tier-cols li { margin-bottom: .35rem; }

/* 禁 JS 时全部面板可见（JS 会加 hidden 只留一个） */
html:not(.js) .tier-panel[hidden] { display: block !important; }
html:not(.js) .segmented { display: none; }

/* ── 行动清单 ──────────────────────────── */
.act-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); margin-top: 1rem; }
.act-win {
  padding: 1rem 1.1rem; border-radius: .7rem;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
ol.act-list { margin: .6rem 0 0; padding-left: 1.3rem; }
ol.act-list li { margin-bottom: .7rem; }
ol.act-list b { display: block; }
ol.act-list span { display: block; font-size: .88rem; opacity: .8; margin-top: .15rem; }

/* ── 通道受阻记录 ──────────────────────── */
ul.chan-list { margin: .6rem 0 0; padding-left: 1.2rem; }
ul.chan-list li { margin-bottom: .4rem; font-size: .93rem; }
