/* 新闻文章页阅读配色（只作用于 news/ 下的文章页，detail.css 与 system-*.html 不受影响）
 * 层级：标题 --txt → 正文 --read → 次要信息 --read-dim → 元信息 --txt-dim
 */
:root {
  --read: #d6cec2;      /* 正文：暖米白，在近黑底上约 12:1，长读不刺眼 */
  --read-dim: #b2a99c;  /* 次要：关键事实说明、导语、信源 */
}

/* 导语 */
.detail-hero .detail-lede { color: var(--read-dim); font-size: clamp(15px, 1.2vw, 17px); line-height: 1.9; }

/* 正文段落：加亮、放大，缩短每行字数 */
.detail-section p {
  color: var(--read);
  font-size: clamp(15px, 1.15vw, 16.5px);
  line-height: 1.95;
  letter-spacing: .01em;
}
.detail-section p + p { margin-top: .9em; }
.detail-section p b, .detail-section p strong { color: var(--txt); font-weight: 500; }

/* 关键事实列表：标签放上面、内容放下面（2026-10 起标签多是一整句小标题，左右并排会把内容挤成窄条） */
.detail-meta-list { gap: 18px; }
.detail-meta-list li { flex-direction: column; gap: 4px; color: var(--read); font-size: 14.5px; line-height: 1.8; }
.detail-meta-list li + li { padding-top: 16px; border-top: 1px solid var(--line, rgba(255,190,110,.12)); }
.detail-meta-list li b { min-width: 0; padding-top: 0; color: var(--amber-hi); font-family: inherit; font-size: 15px; font-weight: 600; letter-spacing: .01em; line-height: 1.6; }
html.ink-mode .detail-meta-list li b { color: #b8332a; }
html.ink-mode .detail-meta-list li + li { border-top-color: rgba(29,26,23,.12); }

/* 配图说明、信源 */
.news-cover figcaption { color: var(--read-dim); }
.news-sources { color: var(--read-dim); font-size: 12.5px; }
.news-sources b { color: var(--txt); }

/* 快讯 → 全文的进展时间线（news/build.py 生成）：默认只露最新一条，点开看全部 */
html[lang^="en"] .u-zh, html:not([lang^="en"]) .u-en { display: none !important; }
.news-updates { margin: 14px 0 6px; padding: 10px 14px; border-left: 2px solid var(--amber, #ff9a3c); background: rgba(255,154,60,.05); border-radius: 0 10px 10px 0; font-size: 13.5px; line-height: 1.7; color: var(--txt-dim); }
.news-updates summary { cursor: pointer; list-style: none; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.news-updates summary::-webkit-details-marker { display: none; }
.news-updates summary b { font: 600 11px/1.8 var(--font-mono, monospace); letter-spacing: .14em; color: var(--amber, #ff9a3c); }
.news-updates summary time, .news-updates li time { font: 12px var(--font-mono, monospace); color: var(--txt-dim); white-space: nowrap; }
.news-updates summary > span { color: var(--txt); }
.news-updates summary i { font-style: normal; font-size: 12px; color: var(--amber, #ff9a3c); }
.news-updates summary i::after { content: " ▾"; }
.news-updates[open] summary i::after { content: " ▴"; }
.news-updates ol { list-style: none; margin: 10px 0 2px; padding: 0 0 0 2px; display: grid; gap: 8px; }
.news-updates li { display: grid; grid-template-columns: max-content 1fr; gap: 10px; }
html.ink-mode .news-updates { border-left-color: #b8332a; background: rgba(184,51,42,.05); }
html.ink-mode .news-updates summary b, html.ink-mode .news-updates summary i { color: #b8332a; }
@media (max-width: 620px) { .news-updates li { grid-template-columns: 1fr; gap: 0; } }

/* ── 文章系统的新块（himiao-api 的 cms-render.ts 生成）：小标题、引用、配图、代码、评测评分卡、对比表 ── */
.detail-section h3 { margin: 1.6em 0 .6em; font-size: 16.5px; font-weight: 600; color: var(--txt); letter-spacing: .01em; }
.detail-section .glass > h3:first-child { margin-top: 0; }
.cms-quote { margin: 1.2em 0; padding: 4px 0 4px 18px; border-left: 2px solid var(--amber, #ff9a3c); }
.detail-section .cms-quote p { color: var(--txt); font-size: 16px; }
.cms-quote cite { display: block; margin-top: 6px; font: 12px var(--font-mono, monospace); font-style: normal; letter-spacing: .06em; color: var(--txt-dim); }
.cms-quote cite::before { content: "— "; }
.cms-img { margin: 1.4em 0; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); }
.cms-img img { display: block; width: 100%; height: auto; }
.cms-img figcaption { padding: 8px 14px; font-size: 12px; color: var(--read-dim); border-top: 1px solid var(--line); }
.cms-code { margin: 1.2em 0; padding: 14px 16px; border-radius: 10px; background: rgba(0,0,0,.45); border: 1px solid var(--line); overflow-x: auto; font: 13px/1.7 var(--font-mono, monospace); color: var(--amber-hi); white-space: pre; }

.cms-review .rv-top { display: flex; gap: 22px; align-items: center; }
.cms-review .rv-score { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 96px; height: 96px; border-radius: 50%; border: 2px solid var(--amber, #ff9a3c); box-shadow: 0 0 24px rgba(255,154,60,.18) inset; }
.cms-review .rv-score b { font: 600 32px/1 var(--font-en); color: var(--amber-hi); }
.cms-review .rv-score span { margin-top: 4px; font: 11px var(--font-mono, monospace); color: var(--txt-dim); }
.cms-review .rv-k { margin: 0 0 6px !important; font: 600 11px/1.6 var(--font-mono, monospace) !important; letter-spacing: .16em; color: var(--amber, #ff9a3c) !important; }
.detail-section .cms-review .rv-verdict, .cms-review .rv-verdict { margin: 0; color: var(--txt); font-size: 17px; line-height: 1.7; }
.cms-review .rv-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.cms-review ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.cms-review li { position: relative; padding-left: 20px; color: var(--read); font-size: 14.5px; line-height: 1.75; }
.cms-review .rv-pros li::before { content: "+"; position: absolute; left: 2px; color: #7fd18b; font-weight: 700; }
.cms-review .rv-cons li::before { content: "−"; position: absolute; left: 2px; color: #ff8a7a; font-weight: 700; }
.cms-review .rv-fit { margin-top: 18px !important; padding-top: 14px; border-top: 1px solid var(--line); }
.cms-review .rv-fit b { margin-right: 10px; font: 600 11px var(--font-mono, monospace); letter-spacing: .16em; color: var(--amber, #ff9a3c); }

.cms-compare .cp-scroll { overflow-x: auto; margin: -4px; padding: 4px; }
.cms-compare table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.7; }
.cms-compare th, .cms-compare td { padding: 11px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); color: var(--read); }
.cms-compare thead th { font: 600 13px var(--font-en); letter-spacing: .04em; color: var(--amber-hi); border-bottom-color: var(--amber, #ff9a3c); }
.cms-compare tbody th { width: 22%; font-weight: 500; color: var(--txt-dim); font-size: 13px; }
.cms-compare td.is-win { color: var(--txt); background: rgba(255,154,60,.08); }
.cms-compare td.is-win::after { content: " ✓"; color: var(--amber, #ff9a3c); font-weight: 700; }
.cms-compare .cp-verdict { margin-top: 18px !important; }
.cms-compare .cp-verdict b { display: block; margin-bottom: 4px; font: 600 11px var(--font-mono, monospace); letter-spacing: .16em; color: var(--amber, #ff9a3c); }
.cms-compare .cp-verdict span { color: var(--txt); }

html.ink-mode .cms-quote { border-left-color: #b8332a; }
html.ink-mode .cms-code { background: rgba(29,26,23,.06); color: #1d1a17; }
html.ink-mode .cms-review .rv-score { border-color: #b8332a; box-shadow: none; }
html.ink-mode .cms-review .rv-score b, html.ink-mode .cms-compare thead th { color: #b8332a; }
html.ink-mode .cms-review .rv-k, html.ink-mode .cms-review .rv-fit b, html.ink-mode .cms-compare .cp-verdict b { color: #b8332a !important; }
html.ink-mode .cms-compare thead th { border-bottom-color: #b8332a; }
html.ink-mode .cms-compare td.is-win { background: rgba(184,51,42,.06); }
html.ink-mode .cms-compare td.is-win::after { color: #b8332a; }
@media (max-width: 620px) {
  .cms-review .rv-top { flex-direction: column; align-items: flex-start; gap: 14px; }
  .cms-review .rv-cols { grid-template-columns: 1fr; }
  .cms-compare table { font-size: 13.5px; } .cms-compare th, .cms-compare td { padding: 9px 8px; }
}
