/* SR-rigor supplement on top of the 4+2R blueprint style.
   Adds GRADE certainty pips, a compact PRISMA strip, and verification badges. */

/* GRADE certainty pips (⊕⊕⊕⊝) */
.grade-pips{font-variant:none;letter-spacing:1px;font-weight:800}
.gc-high{color:var(--vc-strong)}
.gc-moderate{color:var(--vc-moderate)}
.gc-low{color:var(--vc-weak)}
.gc-verylow{color:var(--vc-unproven)}
.grade-note{font-size:12.5px;color:var(--muted);margin-left:6px}

/* PRISMA strip — identification → Q1 → CrossRef → included */
.prisma-strip{display:flex;flex-wrap:wrap;gap:0;margin:14px 0;border:1px solid var(--line);
  background:#fff;font-size:13px;overflow:hidden}
.prisma-step{flex:1 1 0;min-width:96px;padding:9px 10px;text-align:center;border-right:1px solid var(--line);position:relative}
.prisma-step:last-child{border-right:0}
.prisma-step .ps-n{display:block;font-size:19px;font-weight:850;color:var(--brand-d);font-variant-numeric:tabular-nums}
.prisma-step .ps-l{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.3}
.prisma-step.is-final .ps-n{color:var(--vc-strong)}

/* verification badges (PubMed / CrossRef / OpenEvidence) */
.ver-badge{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 6px;margin-left:4px;
  border:1px solid var(--line-strong);color:var(--ink-soft);white-space:nowrap;vertical-align:middle}
.vb-pubmed{color:#0a6e3b;border-color:#bfe3cd}
.vb-crossref{color:var(--brand-d);border-color:#bfe0e3}
.vb-oe{color:#6b3fa0;border-color:#d8c9f0}
.vb-oe.is-disagree{color:var(--vc-contra);border-color:#f0c4c4}

/* SR method line under a chapter verdict */
.sr-meta{font-size:12.5px;color:var(--muted);margin:6px 0 2px}
.sr-meta strong{color:var(--ink-soft)}

/* clickable PRISMA steps -> study-list modal */
.prisma-step.clickable{cursor:pointer;transition:background .15s}
.prisma-step.clickable:hover,.prisma-step.clickable:focus{background:var(--brand-l);outline:none}
.prisma-step.clickable .ps-l::after{content:" ⊕";color:var(--brand);font-size:11px}

.lit-modal-backdrop{position:fixed;inset:0;background:rgba(16,33,54,.5);z-index:80;
  display:flex;align-items:center;justify-content:center;padding:24px}
.lit-modal{background:#fff;max-width:760px;width:100%;max-height:82vh;overflow:auto;
  border:1px solid var(--line-strong);box-shadow:0 12px 40px rgba(16,33,54,.3)}
.lm-head{position:sticky;top:0;background:#f1f4f8;border-bottom:1px solid var(--line);
  padding:13px 16px;display:flex;align-items:center;justify-content:space-between;font-size:15px}
.lm-close{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--ink-soft)}
.lm-list{list-style:none;margin:0;padding:8px 16px 18px}
.lm-list li{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:11px 4px;
  border-bottom:1px solid var(--line);font-size:14px;line-height:1.55}
.lm-list li:last-child{border-bottom:0}
.lm-n{color:var(--brand-d);font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.lm-title a{color:var(--ink);text-decoration:none}
.lm-title a:hover{color:var(--brand-d);text-decoration:underline}
.lm-meta{color:var(--muted);font-size:12.5px;margin-top:3px}

/* claim tag as a link to the official primary source */
a.claim-tag{text-decoration:none;cursor:pointer}
a.claim-tag:hover{color:var(--brand-d);border-color:var(--brand)}

/* reliability chapter: flagged rows + fine print */
.data-table tr.row-flag{background:#fbf1dd}
.data-table tr.row-flag td{font-weight:600}
p.fine{font-size:12.5px;color:var(--muted);margin-top:4px}

/* prominent AI-generated disclaimer (global notice) */
.ai-disclaimer{border:2px solid var(--vc-risk);background:#fff6ee}
.ai-disclaimer p{font-size:14.5px}

/* OpenEvidence cross-check box */
.oe-check{border:1px solid #d8c9f0;border-left:4px solid #6b3fa0;background:#faf7fd;
  padding:13px 16px;margin:16px 0}
.oe-check .oe-head{display:flex;align-items:center;gap:9px;margin-bottom:6px;flex-wrap:wrap}
.oe-check .oe-head strong{color:#5a3490;font-size:14px}
.oe-check p{margin:5px 0;font-size:15.5px}
.oe-check .oe-src{font-size:12px;color:var(--muted)}

/* search-strategy modal (檢索命中 popup) */
.q-body{padding:14px 16px 18px}
.q-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.q-chip{font-size:13px;background:var(--brand-l);color:var(--brand-d);border:1px solid #bfe0e3;padding:3px 9px}
.q-code{background:#f1f4f8;border:1px solid var(--line);padding:11px 13px;font-size:13px;
  line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--ink);overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* ──────────────────────────────────────────────────────
 * v0.95 Public-only visual upgrade — IG-feed-like 民眾版
 * 套用範圍：所有 verdict site 的 .public-only 區塊
 * ────────────────────────────────────────────────────── */

.public-only{
  background:#fbf8f3;
  border:1px solid #e8dccb;
  border-left:5px solid #c89968;
  border-radius:6px;
  padding:20px 22px 22px;
  margin:18px 0;
  line-height:1.78;
  font-size:15.5px;
}
.public-only .audience-tag{
  background:#c89968;color:#fff;font-size:11px;letter-spacing:.1em;
  padding:3px 9px;border-radius:4px;margin-bottom:10px;
}
.public-only p{margin:9px 0 14px}
.public-only strong{color:#7a4a1e;font-weight:700}
.public-only ul,.public-only ol{margin:12px 0 18px 22px;padding-left:0}
.public-only ul li,.public-only ol li{
  margin:12px 0;
  line-height:1.78;
  padding-left:4px;
  display:list-item;
}
/* nested list */
.public-only ul ul,.public-only ol ol,.public-only ul ol,.public-only ol ul{
  margin:8px 0 8px 18px;
}

/* pro-only list 也加強換行 */
.pro-only ul,.pro-only ol{margin:10px 0 14px 22px;padding-left:0}
.pro-only ul li,.pro-only ol li{margin:9px 0;line-height:1.68;padding-left:3px}

/* warning-box 內 list — 紅線清單每條更明顯間隔 */
.public-only .warning-box ul li{margin:13px 0;line-height:1.78}

/* 結論卡（每章開頭：「結論先講：能 / 不能 / 沒實證」） */
.public-only .public-verdict-banner{
  background:#fff;
  border:2px solid #c89968;
  border-radius:8px;
  padding:14px 16px;
  margin:6px 0 18px;
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  font-size:15.5px;       /* 從 16.5px → 15.5px，跟內文一致 */
}
.public-only .public-verdict-banner .vc-chip{
  font-size:14px;font-weight:800;padding:5px 11px;border-radius:5px;
  letter-spacing:.04em;
}
.public-only .public-verdict-banner .vc-strong{background:#0a7f55;color:#fff}
.public-only .public-verdict-banner .vc-moderate{background:#c89968;color:#fff}
.public-only .public-verdict-banner .vc-weak{background:#a8a39a;color:#fff}
.public-only .public-verdict-banner .vc-contra{background:#a83232;color:#fff}
.public-only .public-verdict-banner .vc-risk{background:#c2540f;color:#fff}
.public-only .public-verdict-banner .vc-unproven{background:#6c6c6c;color:#fff}
.public-only .public-verdict-banner .banner-text{flex:1;min-width:200px}

/* 民眾版 subhead：🦴 / 🔧 / 🚦 / 💌 開頭的小標 */
.public-only h4, .public-only .pub-subhead{
  font-size:16.5px;
  font-weight:700;
  color:#7a4a1e;
  margin:18px 0 7px;
  padding:0;
  border:none;
  letter-spacing:0;
  line-height:1.45;
}

/* hard rule warning box（紅線清單） */
.public-only .warning-box{
  background:#fff4ec;
  border:1.5px solid #d97a3a;
  border-left:5px solid #d97a3a;
  border-radius:5px;
  padding:13px 16px;
  margin:14px 0;
  font-size:15px;
}
.public-only .warning-box strong{color:#a83a08}
.public-only .warning-box ul{margin:6px 0 0 18px}

/* outreach 結尾段 — 居中 + 柔色 */
.public-only .outreach,
.public-only p.outreach{
  background:#f5ece0;
  border-radius:6px;
  padding:12px 14px;
  margin:18px 0 4px;
  text-align:center;
  font-size:15px;
  color:#7a4a1e;
}

/* 類比 inline 反白 */
.public-only .analogy{
  background:#f0e6d4;
  padding:1px 5px;
  border-radius:3px;
  font-style:italic;
}

/* 列印 / 手機 */
@media (max-width:680px){
  .public-only{padding:16px 14px 18px;font-size:15px}
  .public-only .public-verdict-banner{padding:11px 12px;font-size:15px}
}

/* ──────────────────────────────────────────────────────
 * 防一字孤行（中文 widow prevention）
 * Chrome 117+ / Safari 17.4+ / Firefox 121+
 * ────────────────────────────────────────────────────── */
.public-only p, .pro-only p, .callout p,
.public-only li, .pro-only li,
h3, h4 {
  text-wrap: pretty;
}

/* ──────────────────────────────────────────────────────
 * verdict summary table（章節內三者以上比較用）
 * ────────────────────────────────────────────────────── */
.verdict-summary-table{
  width:100%;
  border-collapse:collapse;
  margin:14px 0 18px;
  font-size:14.5px;
  line-height:1.65;
  border:1px solid var(--line);
  background:#fff;
}
.verdict-summary-table th{
  background:#f1f4f8;
  color:var(--ink);
  font-weight:700;
  text-align:left;
  padding:10px 12px;
  border-bottom:1.5px solid var(--line-strong);
  font-size:13.5px;
}
.verdict-summary-table td{
  padding:11px 12px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.verdict-summary-table tr:last-child td{border-bottom:0}
.verdict-summary-table td:nth-child(1){min-width:160px;font-weight:600}
.verdict-summary-table td:nth-child(2){min-width:140px;white-space:nowrap}
.verdict-summary-table td .verdict-chip{font-size:13px}
@media (max-width:680px){
  .verdict-summary-table{font-size:13.5px}
  .verdict-summary-table th,.verdict-summary-table td{padding:8px 8px}
  .verdict-summary-table td:nth-child(1){min-width:auto}
  .verdict-summary-table td:nth-child(2){min-width:auto;white-space:normal}
}

/* ──────────────────────────────────────────────────────
 * claim-card 水平 row（主張 + 文字 + 判定 同一行）
 * ────────────────────────────────────────────────────── */
.claim-card.claim-row{
  display:flex;
  flex-wrap:nowrap;       /* 桌面強制不 wrap，chip 永遠在右側 */
  align-items:center;
  gap:10px;               /* 縮 gap 讓 claim-text 多空間 */
  padding:12px 14px;      /* 縮 padding */
}
.claim-card.claim-row .claim-tag{
  flex:0 0 auto;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  padding:4px 9px;        /* 縮 tag padding */
  background:var(--brand-l);
  color:var(--brand-d);
  border:1px solid #bfe0e3;
  border-radius:4px;
  white-space:nowrap;
}
.claim-card.claim-row .claim-text{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  padding:0 !important;   /* override main style.css .claim-card p { padding:13px 16px } 預設值，釋放 32px content width */
  font-size:15.5px;
  line-height:1.55;
  color:var(--ink);
  text-wrap:wrap !important;
}
.claim-card.claim-row .verdict-chip{
  flex:0 0 auto;
  font-size:13.5px;
  white-space:nowrap;
}
@media (max-width:680px){
  .claim-card.claim-row{padding:11px 12px;gap:8px;flex-wrap:wrap}
  .claim-card.claim-row .claim-text{flex:1 1 100%;font-size:15px}
}

/* ──────────────────────────────────────────────────────
 * audience-tag「專業」/「民眾」字體調整成內文大小
 * ────────────────────────────────────────────────────── */
.audience-tag,
.pro-only .audience-tag,
.public-only .audience-tag{
  font-size:14px;        /* 從 10.5px → 14px (接近內文) */
  font-weight:700;
  letter-spacing:.02em;
  padding:4px 11px;
  border-radius:4px;
  margin-bottom:10px;
}
.pro-only .audience-tag{
  background:#e7f0f2;
  color:#0a5560;
}
.public-only .audience-tag{
  background:#c89968;
  color:#fff;
}

/* h3 章節標題（證據怎麼說 / 方法摘要 / 判定分級 等）
   字體拉近內文 size，視覺更收束 */
.chapter h3{
  font-size:17px;        /* 從預設 ~22px → 17px */
  font-weight:700;
  margin:22px 0 10px;
  letter-spacing:.01em;
}

/* ──────────────────────────────────────────────────────
 * Callout / warning-box / verdict-banner 四字孤行 widow 控制
 * text-wrap: pretty 對短段落（< 6 行）效果優於 pretty
 * Chrome 114+ / Safari 17.5+ / Firefox 121+
 * ────────────────────────────────────────────────────── */
.callout p,
.callout li,
.public-only .warning-box p,
.public-only .warning-box li,
.public-only .public-verdict-banner p,
.public-only .public-verdict-banner .banner-text,
.claim-card .claim-text,
.sr-meta,
.grade-note,
.verdict-summary-table td,
.verdict-summary-table th{
  text-wrap: pretty;
  orphans: 2;
  widows: 2;
}

/* analogy span 內也避免 break 在最後 4 字 */
.public-only .analogy{
  text-wrap: pretty;
}

/* ──────────────────────────────────────────────────────
 * co-framework callout（經典教科書框架 box，跟 RCT 證據區隔）
 * ────────────────────────────────────────────────────── */
.callout.co-framework{
  background:#f5f0e8;
  border:1px solid #d4c4a8;
  border-left:4px solid #a87f45;
  padding:14px 16px;
  margin:14px 0;
  border-radius:4px;
}
.callout.co-framework p{
  margin:7px 0;
  font-size:14.5px;
  line-height:1.72;
}
.callout.co-framework strong{color:#7a4a1e}
.callout.co-framework p.fine{
  font-size:13px;
  color:var(--muted);
  border-top:1px dashed #d4c4a8;
  padding-top:8px;
  margin-top:10px;
}

/* callout 內文字體跟內文一致 */
.callout p, .callout li { font-size:15.5px; line-height:1.72; }
