/* =========================================================================
   感尊官网 · 内容组页面样式 pages-content.css（2026-10-24，设计师 D）
   用于：news.html（资讯首页）、article.html（文章详情）、topic.html（专题支柱页）、glossary-term.html（术语）
   规矩：
   - 在 site.css 之后引入；只用 site.css 的令牌，不写裸颜色、裸圆角、裸间距；
   - 不改 site.css 的任何已有组件，只新增 .ct-* 前缀的内容组组件；
   - 正文区（.prose、表格、清单）不加任何光效；科技感只放在首屏、封面、目录进度条、侧栏咨询卡。
   目录：0 新增令牌  1 资讯首页  2 文章详情  3 专题  4 术语  5 手机适配
   ========================================================================= */

/* ===== 0 新增令牌（资讯 8 个一级栏目的栏目色；site.css 已有 5 个，这里补齐 3 个，待主设计师并入第 28 节） ===== */
:root {
  --col-dev: var(--brand);                     /* 定制开发：感尊蓝 */
  --col-compliance: oklch(52% 0.15 330);       /* 平台规则与合规：洋红，与印章红相差 > 30° */
  --col-cases: oklch(52% 0.11 150);            /* 案例与复盘：青绿 */
  --ct-side: 300px;                            /* 资讯侧栏宽 */
  --ct-toc: 200px;                             /* 文章左目录宽 */
  --ct-aside: 280px;                           /* 文章右侧栏宽 */
}

/* 栏目色点：任何元素加 data-col 即取对应栏目色 */
[data-col="dev"] { --col: var(--col-dev); }
[data-col="price"] { --col: var(--col-price); }
[data-col="ai"] { --col: var(--col-ai); }
[data-col="tech"] { --col: var(--col-tech); }
[data-col="industry"] { --col: var(--col-industry); }
[data-col="compliance"] { --col: var(--col-compliance); }
[data-col="cases"] { --col: var(--col-cases); }
[data-col="company"] { --col: var(--col-company); }
.ct-col { display: inline-flex; align-items: center; gap: 6px; font-weight: var(--fw-semi); color: var(--ink-2); white-space: nowrap; }
.ct-col::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--col, var(--ink-3)); flex: none; }
.post-cover--dev { --col: var(--col-dev); } .post-cover--compliance { --col: var(--col-compliance); } .post-cover--cases { --col: var(--col-cases); }

/* 通用：元信息行（栏目 · 日期 · 阅读时长），用间距分组，不用中点 */
.ct-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-4); font-size: var(--fs-xs); color: var(--ink-3); }
.ct-meta time, .ct-meta span { white-space: nowrap; }

/* ===== 1 资讯首页 ===== */
/* 1.1 首屏：左 H1 + 导语 + 搜索；右「每篇资讯怎么来的」编辑流程卡（静态完成态，不转光边） */
.ct-hero { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--s-8); align-items: center; margin-top: var(--s-5); }
.ct-hero__copy > * + * { margin-top: var(--s-4); }
.ct-hero__copy .h1 { font-size: var(--fs-h1); line-height: 1.15; text-wrap: balance; }
.ct-hero__copy .lead { max-width: 620px; font-size: var(--fs-h4); }
.ct-hero .searchbar { max-width: 560px; min-height: var(--ctl-h-lg); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line-strong), var(--sh-1); }
.ct-hero .searchbar input { font-size: var(--fs-body); }
.ct-hero .searchbar .btn { min-height: 40px; }
.ct-hot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); font-size: var(--fs-sm); color: var(--ink-3); }
.ct-hot a { color: var(--ink-2); }
.ct-hot a:hover { color: var(--brand-ink); }
.ct-pipeline { background: var(--surface); }
.ct-pipeline .agent-steps__head { margin-bottom: var(--s-3); }
.ct-pipeline li { min-height: 40px; }
.ct-pipeline__note { margin-top: var(--s-3); padding-top: var(--s-3); border-top: 1px solid var(--line); font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.6; }

/* 1.2 栏目条：8 个一级栏目胶囊（链接，当前项 aria-current） */
.ct-cols { position: relative; z-index: 1; margin-top: var(--s-6); display: flex; flex-wrap: wrap; gap: var(--s-2); }
.ct-cols .chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--col, var(--ink-3)); flex: none; margin-right: 2px; }
.ct-cols .chip--all::before { display: none; }
.ct-cols .chip[aria-current="page"] { background: var(--brand-soft); border-color: var(--brand); color: var(--brand-ink); font-weight: var(--fw-semi); }

/* 1.3 专题入口：一张主专题 + 两张小专题 */
.ct-topics { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-5); }
.ct-topic { position: relative; display: grid; align-content: start; gap: var(--s-2); padding: var(--s-5) var(--s-6); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); color: var(--ink); text-decoration: none; transition: box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out); }
.ct-topic:hover { text-decoration: none; box-shadow: var(--sh-2-hover); transform: translateY(-2px); }
.ct-topic__kind { font-size: var(--fs-xs); color: var(--ink-3); }
.ct-topic__title { font-size: var(--fs-h4); font-weight: var(--fw-semi); line-height: 1.45; }
.ct-topic__desc { font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.65; }
.ct-topic__foot { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-4); margin-top: var(--s-2); font-size: var(--fs-xs); color: var(--ink-3); }
.ct-topic--main { border: 1px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-edge) border-box; box-shadow: var(--sh-2); overflow: hidden; isolation: isolate; }
.ct-topic--main .tech-dots { z-index: -1; -webkit-mask-image: radial-gradient(70% 80% at 100% 0%, var(--ink) 10%, transparent 70%); mask-image: radial-gradient(70% 80% at 100% 0%, var(--ink) 10%, transparent 70%); }
.ct-topic--main .ct-topic__title { font-size: var(--fs-h3); letter-spacing: var(--track-head); }

/* 1.4 主栏 + 侧栏 */
.ct-feed { display: grid; grid-template-columns: minmax(0, 1fr) var(--ct-side); gap: var(--s-8); align-items: start; }
.ct-feed__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-4); padding-bottom: var(--s-3); border-bottom: 1px solid var(--line); }
.ct-feed__head .h3 { font-size: var(--fs-lead); }
.ct-sort { display: flex; gap: var(--s-1); font-size: var(--fs-sm); }
.ct-sort a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 var(--s-3); border-radius: var(--r-pill); color: var(--ink-2); }
.ct-sort a[aria-current="true"] { background: var(--bg-muted); color: var(--ink); font-weight: var(--fw-semi); }
.ct-sort a:hover { text-decoration: none; color: var(--ink); }

/* 头条：模板封面 + 标题摘要 */
.ct-lead { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--s-6); align-items: center; padding-block: var(--s-6); border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.ct-lead:hover { text-decoration: none; }
.ct-lead:hover .ct-lead__title { color: var(--brand-ink); }
.ct-lead .post-cover { aspect-ratio: 16 / 10; }
.ct-lead .post-cover__title { font-size: var(--fs-h3); }
.ct-lead__body { display: grid; gap: var(--s-3); }
.ct-lead__body > :not(.ct-meta) { display: block; }
.ct-lead__title { font-size: var(--fs-h3); line-height: 1.4; font-weight: var(--fw-bold); letter-spacing: var(--track-head); text-wrap: pretty; transition: color var(--dur-1); }
.ct-lead__sum { font-size: var(--fs-body); color: var(--ink-2); line-height: 1.75; }

/* 文章条目：纯文字为主，有封面的条目右侧放小封面（模板生成，可不显示） */
.ct-list { list-style: none; padding: 0; margin: 0; }
.ct-item { border-bottom: 1px solid var(--line); }
.ct-item > a { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-2); padding-block: var(--s-5); color: var(--ink); text-decoration: none; }
.ct-item > a:hover { text-decoration: none; }
.ct-item > a:hover .ct-item__title { color: var(--brand-ink); }
.ct-item--cover > a { grid-template-columns: minmax(0, 1fr) 208px; column-gap: var(--s-6); }
.ct-item--cover .post-cover { grid-column: 2; grid-row: 1 / span 3; align-self: center; aspect-ratio: 16 / 10; padding: var(--s-3); }
.ct-item--cover .post-cover__title { font-size: var(--fs-body); }
.ct-item__title { font-size: var(--fs-h4); line-height: 1.5; font-weight: var(--fw-semi); text-wrap: pretty; transition: color var(--dur-1); }
.ct-item__sum { font-size: var(--fs-body); color: var(--ink-2); line-height: 1.7; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ct-item .ai-badge { height: 20px; font-weight: var(--fw-medium); }

/* 分页说明 */
.ct-pager { margin-top: var(--s-7); display: grid; justify-items: center; gap: var(--s-3); }
.ct-pager__note { font-size: var(--fs-xs); color: var(--ink-3); text-align: center; }

/* 侧栏 */
.ct-side { display: grid; gap: var(--s-5); position: sticky; top: calc(var(--nav-h) + var(--s-5)); }
.ct-box { padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.ct-box__title { font-size: var(--fs-body); font-weight: var(--fw-semi); margin-bottom: var(--s-3); display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); }
.ct-box__title small { font-size: var(--fs-xs); color: var(--ink-3); font-weight: var(--fw-regular); }
.ct-rank { list-style: none; padding: 0; margin: 0; counter-reset: rank; display: grid; }
.ct-rank li { counter-increment: rank; }
.ct-rank li + li { border-top: 1px solid var(--line); }
.ct-rank a { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--s-2); padding-block: var(--s-3); color: var(--ink); font-size: var(--fs-body); line-height: 1.55; text-decoration: none; }
.ct-rank a::before { content: counter(rank); font-weight: var(--fw-bold); font-size: var(--fs-h4); line-height: 1.3; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.ct-rank li:nth-child(-n+3) a::before { background: var(--grad-ai-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ct-rank a:hover { color: var(--brand-ink); }
.ct-rank small { grid-column: 2; display: block; margin-top: 2px; font-size: var(--fs-xs); color: var(--ink-3); }
.ct-tags { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.ct-tags a { display: inline-flex; align-items: center; min-height: 30px; padding: 0 var(--s-3); border-radius: var(--r-pill); background: var(--bg-subtle); box-shadow: inset 0 0 0 1px var(--line); font-size: var(--fs-sm); color: var(--ink-2); text-decoration: none; }
.ct-tags a:hover { color: var(--brand-ink); box-shadow: inset 0 0 0 1px var(--brand); }
ul.ct-tags { list-style: none; padding: 0; margin: 0; }
.ct-tags__n { margin-left: var(--s-1); font-size: var(--fs-xs); color: var(--ink-3); font-variant-numeric: tabular-nums; }

/* 专题入口按实际个数排（设计稿是一主两小；只有一两个时不留空格子，宪法 #9⑧） */
.ct-topics[data-n="1"] { grid-template-columns: minmax(0, 1fr); }
.ct-topics[data-n="2"] { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.ct-topics-sec { padding-block: var(--s-6) var(--s-7); }
.ct-topics-sec .sec-head { margin-bottom: var(--s-5); }
/* 侧栏咨询卡：渐变细边 + 点阵（发光元素只此一处） */
.ct-cta { position: relative; overflow: hidden; isolation: isolate; padding: var(--s-5); border-radius: var(--r-lg); border: 1px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-edge) border-box; box-shadow: var(--sh-2); }
.ct-cta > .tech-dots { z-index: -1; -webkit-mask-image: radial-gradient(80% 60% at 100% 0%, var(--ink) 10%, transparent 70%); mask-image: radial-gradient(80% 60% at 100% 0%, var(--ink) 10%, transparent 70%); }
.ct-cta__title { font-size: var(--fs-h4); font-weight: var(--fw-bold); line-height: 1.45; }
.ct-cta__desc { margin-top: var(--s-2); font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.65; }
.ct-cta .btn { margin-top: var(--s-4); }
.ct-cta .checks { margin-top: var(--s-4); font-size: var(--fs-sm); }
.ct-cta__alt { margin-top: var(--s-3); font-size: var(--fs-xs); color: var(--ink-3); text-align: center; }

/* 1.5 按栏目浏览：8 栏目索引（每栏 3 篇最新 + 篇数 + 进入栏目） */
.ct-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-5); }
.ct-index__col { display: grid; grid-template-rows: auto auto 1fr auto; gap: var(--s-2); padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); position: relative; overflow: hidden; }
.ct-index__col::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 72px; background: radial-gradient(60% 100% at 100% 0%, color-mix(in oklch, var(--col) 16%, transparent), transparent 70%); pointer-events: none; }
.ct-index__name { position: relative; font-size: var(--fs-h4); font-weight: var(--fw-semi); display: flex; align-items: center; gap: var(--s-2); }
.ct-index__name::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--col); }
.ct-index__desc { position: relative; font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.6; }
.ct-index ul { list-style: none; padding: 0; margin: var(--s-2) 0 0; display: grid; gap: var(--s-2); align-content: start; }
.ct-index ul a { display: block; font-size: var(--fs-sm); line-height: 1.55; color: var(--ink); }
.ct-index ul a:hover { color: var(--brand-ink); }
.ct-index .link-more { margin-top: var(--s-2); }

/* ===== 2 文章详情 ===== */
/* 读进度条：贴在顶栏下沿的一根渐变细线（顶栏属于外框，不算正文区光效） */
.ct-progress { position: fixed; left: 0; top: var(--nav-h); z-index: 49; height: 2px; width: 100%; transform-origin: 0 50%; transform: scaleX(var(--read, 0)); background: var(--grad-ai); pointer-events: none; }

/* 三栏：左目录 / 中正文 ≤ 760 / 右吸附咨询；首屏标题与正文对齐到中栏 */
.ct-article { display: grid; grid-template-columns: var(--ct-toc) minmax(0, var(--measure)) var(--ct-aside); grid-template-areas: "toc head aside" "toc body aside"; column-gap: var(--s-7); justify-content: center; align-items: start; }
.ct-article__head { grid-area: head; }
.ct-article__body { grid-area: body; }
.ct-article > .toc { grid-area: toc; }
.ct-article > .ct-aside { grid-area: aside; position: sticky; top: calc(var(--nav-h) + var(--s-5)); display: grid; gap: var(--s-4); }
.ct-article--two { grid-template-columns: minmax(0, var(--measure)) var(--ct-aside); grid-template-areas: "head aside" "body aside"; }
.ct-art-hero { display: grid; grid-template-columns: var(--ct-toc) minmax(0, var(--measure)) var(--ct-aside); column-gap: var(--s-7); justify-content: center; }
.ct-art-hero > * { grid-column: 2; }
.ct-art-hero--two { grid-template-columns: minmax(0, var(--measure)) var(--ct-aside); }
.ct-art-hero--two > * { grid-column: 1; }
.ct-art-hero .crumbs { margin-bottom: var(--s-5); }
.ct-art-hero__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); font-size: var(--fs-sm); margin-bottom: var(--s-3); }
.ct-art-hero .h1 { font-size: var(--fs-h2); line-height: 1.25; letter-spacing: var(--track-display); text-wrap: pretty; }
.ct-art-hero .article-meta { margin-top: var(--s-4); }
.ct-art-hero .aigc-note { margin-top: var(--s-4); }
.ct-author { display: inline-flex; align-items: center; gap: var(--s-2); }
.ct-author__mark { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--brand-soft); color: var(--brand-ink); font-size: var(--fs-xs); font-weight: var(--fw-bold); }

/* 正文附件：代码头复制按钮、数据出处、示例原话、清单 */
.ct-code { position: relative; }
.ct-code .code-head { margin-bottom: var(--s-2); }
.ct-copy { display: inline-flex; align-items: center; gap: var(--s-1); min-height: 28px; padding: 0 var(--s-2); border: 0; border-radius: var(--r-xs); background: transparent; color: var(--ink-2); font-size: var(--fs-xs); }
.ct-copy:hover { background: var(--bg-muted); color: var(--ink); }
.prose .ct-quote-src { padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--bg-subtle); box-shadow: inset 0 0 0 1px var(--line); font-size: var(--fs-body); line-height: 1.8; }
.prose .ct-quote-src b { display: block; font-size: var(--fs-xs); color: var(--ink-3); font-weight: var(--fw-semi); margin-bottom: var(--s-1); }
.ct-source { padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--bg-subtle); font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.75; }
.ct-source__title { font-weight: var(--fw-semi); color: var(--ink); margin-bottom: var(--s-1); }
.ct-source ul { margin: 0; padding-left: 1.2em; }
.prose .ct-source li + li { margin-top: 2px; }
.prose .checks { padding: 0; font-size: var(--fs-h4); color: var(--ink); }
.prose .checks li + li { margin-top: 0; }
.prose .checks .icon { margin-top: 6px; }
.prose figure.ct-fig { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--s-6); align-items: center; padding: var(--s-5); border-radius: var(--r-lg); background: var(--bg-subtle); }
.prose figure.ct-fig .device-phone { --phone-w: 220px; }
.prose figure.ct-fig .device-phone__screen > img { border-radius: 0; box-shadow: none; }
.prose figure.ct-fig figcaption { margin: 0; font-size: var(--fs-body); color: var(--ink-2); line-height: 1.75; }
.prose figure.ct-fig figcaption strong { display: block; color: var(--ink); font-size: var(--fs-h4); margin-bottom: var(--s-2); }
.prose .table-wrap { margin-top: var(--s-5); }
.prose .table { font-size: var(--fs-body); line-height: 1.6; }
.ct-who { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: var(--fs-sm); }
.ct-who::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--who, var(--ink-3)); }
.ct-who--ai { --who: var(--ai-2); } .ct-who--code { --who: var(--ok); } .ct-who--human { --who: var(--brand); }

/* 文末：标签、更正说明、相关产品服务、所属专题、相关阅读、上下篇 */
.ct-end { margin-top: var(--s-8); display: grid; gap: var(--s-7); }
.ct-end__title { font-size: var(--fs-lead); font-weight: var(--fw-bold); margin-bottom: var(--s-4); }
.ct-fix { font-size: var(--fs-sm); color: var(--ink-3); padding-top: var(--s-4); border-top: 1px solid var(--line); }
.ct-rel-prod { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.ct-prod { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--s-4); align-items: start; padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-2); color: var(--ink); text-decoration: none; transition: box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out); }
.ct-prod:hover { text-decoration: none; transform: translateY(-2px); box-shadow: var(--sh-2-hover); }
.ct-prod .card__icon { width: 44px; height: 44px; }
.ct-prod__name { font-weight: var(--fw-semi); font-size: var(--fs-h4); display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.ct-prod__desc { margin-top: var(--s-1); font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.65; }
.ct-prod__go { margin-top: var(--s-3); display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--brand-ink); }
.ct-topic-back { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-5); align-items: center; padding: var(--s-5) var(--s-6); border-radius: var(--r-lg); border: 1px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-edge) border-box; box-shadow: var(--sh-1); }
.ct-topic-back__kind { font-size: var(--fs-xs); color: var(--ai-ink); font-weight: var(--fw-semi); display: inline-flex; align-items: center; gap: var(--s-1); }
.ct-topic-back__kind .spark { width: 13px; height: 13px; }
.ct-topic-back__title { font-size: var(--fs-h4); font-weight: var(--fw-semi); margin-top: var(--s-1); }
.ct-topic-back__desc { font-size: var(--fs-sm); color: var(--ink-2); margin-top: var(--s-1); }
.ct-readlist { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s-6); }
.ct-readlist li { border-top: 1px solid var(--line); }
.ct-readlist a { display: grid; gap: var(--s-1); padding-block: var(--s-4); color: var(--ink); text-decoration: none; }
.ct-readlist a:hover { text-decoration: none; }
.ct-readlist a:hover .ct-readlist__t { color: var(--brand-ink); }
.ct-readlist__t { font-size: var(--fs-body); font-weight: var(--fw-semi); line-height: 1.55; transition: color var(--dur-1); }
.ct-prevnext { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.ct-prevnext a { display: grid; gap: var(--s-1); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); color: var(--ink); text-decoration: none; }
.ct-prevnext a:hover { text-decoration: none; box-shadow: inset 0 0 0 1px var(--brand), var(--sh-1); }
.ct-prevnext small { display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--fs-xs); color: var(--ink-3); }
.ct-prevnext b { font-weight: var(--fw-semi); line-height: 1.55; }
.ct-prevnext a:last-child { text-align: end; }
.ct-prevnext a:last-child small { justify-content: flex-end; }
.ct-prevnext .icon--back { transform: scaleX(-1); }

/* 右侧栏小目录卡（专题、术语页用）与分享 */
.ct-aside .card { padding: var(--s-5); }
.ct-onpage { display: grid; gap: var(--s-1); font-size: var(--fs-sm); list-style: none; padding: 0; margin: 0; }
.ct-onpage a { display: block; padding: var(--s-1) 0; color: var(--ink-2); }
.ct-onpage a:hover { color: var(--brand-ink); }

/* ===== 3 专题支柱页 ===== */
.ct-topic-hero { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--s-8); align-items: start; margin-top: var(--s-5); }
.ct-topic-hero__copy > * + * { margin-top: var(--s-4); }
.ct-topic-hero .h1 { font-size: var(--fs-h1); line-height: 1.15; }
.ct-topic-hero__intro { font-size: var(--fs-h4); line-height: 1.85; color: var(--ink-2); max-width: 720px; }
.ct-topic-hero__intro p + p { margin-top: var(--s-3); }
.ct-facts { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.ct-facts li { padding: var(--s-4) var(--s-5); display: grid; gap: 2px; }
.ct-facts li:nth-child(even) { box-shadow: inset 1px 0 0 var(--line); }
.ct-facts li:nth-child(n+3) { border-top: 1px solid var(--line); }
.ct-facts b { font-size: var(--fs-h3); line-height: 1.2; font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.ct-facts span { font-size: var(--fs-xs); color: var(--ink-3); }
.ct-facts__foot { grid-column: 1 / -1; font-size: var(--fs-xs); color: var(--ink-3); }
.ct-route { margin-top: var(--s-7); }
.ct-route .steps__desc { font-size: var(--fs-xs); }
.ct-route a.steps__title { display: block; color: var(--ink); }
.ct-route a.steps__title:hover { color: var(--brand-ink); }
/* 分节综述：每节 = 编号 + 标题 + 综述 + 本节要点 + 深度文章 */
.ct-chapter { padding-top: var(--s-7); }
.ct-chapter + .ct-chapter { margin-top: var(--s-7); border-top: 1px solid var(--line); }
.ct-chapter__no { display: inline-flex; align-items: center; gap: var(--s-2); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ai-ink); }
.ct-chapter__no span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-edge) border-box; font-size: var(--fs-xs); }
.prose .ct-chapter h2 { margin-top: var(--s-2); }
.ct-deep { margin-top: var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); padding: var(--s-2) var(--s-5); }
.ct-deep__title { font-size: var(--fs-xs); font-weight: var(--fw-semi); color: var(--ink-3); padding-top: var(--s-3); }
.prose .ct-deep ul { list-style: none; padding: 0; margin: 0; }
.prose .ct-deep li { margin: 0; }
.prose .ct-deep li + li { border-top: 1px solid var(--line); }
.prose .ct-deep a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-4); align-items: center; padding-block: var(--s-3); font-size: var(--fs-body); line-height: 1.55; color: var(--ink); text-decoration: none; }
.prose .ct-deep a:hover { color: var(--brand-ink); }
.ct-deep a .ct-meta { justify-content: flex-end; }

/* ===== 4 术语页 ===== */
.ct-term-hero .h1 { font-size: var(--fs-h1); }
.ct-term-hero .define-box { margin-top: var(--s-5); }
.ct-term-hero .define-box p { font-size: var(--fs-h4); }
.ct-term-hero .article-meta { margin-top: var(--s-4); }
.ct-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.ct-map__item { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: var(--s-4); align-items: start; padding: var(--s-4); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.ct-map__item .device-phone { --phone-w: 112px; padding: 4px; border-radius: 20px; }
.ct-map__item .device-phone__screen { border-radius: 16px; }
.ct-map__item .device-phone__island { display: none; }
.prose .ct-map__item img { border-radius: 0; box-shadow: none; }
.ct-map__name { font-size: var(--fs-h4); font-weight: var(--fw-semi); line-height: 1.45; display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.ct-map__desc { margin-top: var(--s-2); font-size: var(--fs-body); color: var(--ink-2); line-height: 1.7; }
.ct-map__go { margin-top: var(--s-2); display: inline-flex; font-size: var(--fs-sm); font-weight: var(--fw-semi); }
.prose .ct-map__go { text-decoration: none; }
.ct-terms { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.prose .ct-terms a { text-decoration: none; }

/* ===== 5 手机适配 ===== */
@media (max-width: 1280px) {
  :root { --ct-toc: 180px; --ct-aside: 260px; }
  .ct-article, .ct-art-hero { column-gap: var(--s-6); }
}
@media (max-width: 1080px) {
  .ct-hero, .ct-topic-hero { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); }
  .ct-pipeline, .ct-facts { max-width: 560px; }
  .ct-feed { grid-template-columns: minmax(0, 1fr); }
  .ct-side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ct-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ct-topics { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ct-topic--main { grid-column: 1 / -1; }
  /* 文章：单栏；顺序 = 标题 → 先说答案 → 目录 → 正文 → 咨询 */
  .ct-article, .ct-article--two { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "toc" "body" "aside"; max-width: var(--measure); margin-inline: auto; }
  .ct-art-hero, .ct-art-hero--two { grid-template-columns: minmax(0, 1fr); max-width: var(--measure); margin-inline: auto; }
  .ct-art-hero > *, .ct-art-hero--two > * { grid-column: 1; }
  .ct-article > .toc { position: static; margin-top: var(--s-5); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
  .ct-article > .ct-aside { position: static; margin-top: var(--s-7); }
}
@media (max-width: 760px) {
  .ct-hero__copy .h1, .ct-topic-hero .h1, .ct-term-hero .h1 { font-size: var(--fs-h1); }
  .ct-art-hero .h1 { font-size: var(--fs-h3); line-height: 1.3; }
  .ct-hero__copy .lead { font-size: var(--fs-body); }
  .ct-hero .searchbar .btn { display: none; }
  .ct-cols { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); padding-bottom: var(--s-1); scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, var(--ink) 88%, transparent); mask-image: linear-gradient(90deg, var(--ink) 88%, transparent); }
  .ct-cols::-webkit-scrollbar { display: none; }
  .ct-topics, .ct-index, .ct-side, .ct-rel-prod, .ct-readlist, .ct-prevnext, .ct-map { grid-template-columns: minmax(0, 1fr); }
  .ct-lead { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); padding-block: var(--s-5); }
  .ct-lead__title { font-size: var(--fs-lead); }
  .ct-lead .post-cover__title { font-size: var(--fs-lead); }
  .ct-item--cover > a { grid-template-columns: minmax(0, 1fr) 104px; column-gap: var(--s-4); }
  .ct-item--cover .post-cover { grid-row: 1 / span 2; padding: var(--s-2); }
  .ct-item--cover .post-cover__title, .ct-item--cover .post-cover__col { display: none; }
  .ct-item--cover .ct-item__sum { grid-column: 1 / -1; }
  .ct-item__title { font-size: var(--fs-h4); }
  .ct-item__sum { font-size: var(--fs-sm); }
  .ct-feed__head { flex-wrap: wrap; }
  .ct-sort a, .ct-tags a, .ct-hot a, .ct-onpage a, .ct-copy { min-height: var(--hit); display: inline-flex; align-items: center; }
  .ct-rank a { min-height: var(--hit); }
  .ct-index ul a { min-height: var(--hit); display: flex; align-items: center; }
  .prose figure.ct-fig { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .prose figure.ct-fig .device-phone { --phone-w: 200px; }
  .ct-topic-back { grid-template-columns: minmax(0, 1fr); }
  .ct-prevnext a:last-child { text-align: start; }
  .ct-prevnext a:last-child small { justify-content: flex-start; }
  .ct-facts b { font-size: var(--fs-lead); }
  .ct-map__item { grid-template-columns: 88px minmax(0, 1fr); }
  .ct-map__item .device-phone { --phone-w: 88px; }
  .prose .ct-deep a { grid-template-columns: minmax(0, 1fr); gap: var(--s-1); }
  .ct-deep a .ct-meta { justify-content: flex-start; }
  .ct-progress { top: var(--nav-h); }
}
@media (prefers-reduced-motion: reduce) {
  .ct-topic, .ct-prod { transition: none; }
  .ct-topic:hover, .ct-prod:hover { transform: none; }
}

/* ===== 6 正文区里放组件时的复位（.prose 的列表缩进、链接下划线、段距不该作用到组件上） ===== */
.prose ul[role="list"], .prose ol[role="list"] { padding-left: 0; }
.prose [role="list"] > li + li { margin-top: 0; }
.prose .checks { gap: var(--s-2); }
.prose .ct-readlist a, .prose .ct-map a, .prose .ct-terms a, .prose .ct-deep a, .prose .ct-prod { text-decoration: none; }
.prose .myth { gap: var(--s-3); }
.prose .timeline { gap: var(--s-5); }
.ct-chapter > * + * { margin-top: var(--s-4); }
.prose .ct-chapter h2 { margin-top: var(--s-3); }
.ct-chapter > .ct-chapter__no { margin-top: 0; }
.prose .table.ct-nowrap td { white-space: nowrap; }
.prose .table th, .prose .table td { padding-inline: var(--s-4); }
.ct-br { display: inline; }
@media (max-width: 760px) {
  .ct-br { display: none; }
  .prose .table.ct-nowrap td { white-space: normal; }
}

/* 第一轮看图后补的修正 */
.ct-prod__desc { display: block; }
.ct-prod__go { display: flex; width: max-content; }
@media (max-width: 760px) {
  .prose pre { white-space: pre; overflow-x: auto; font-size: var(--fs-xs); }
  .ct-topic:not(.ct-topic--main) .ct-topic__desc { display: none; }
  .ct-topics { gap: var(--s-3); }
  .ct-topic { padding: var(--s-4) var(--s-5); }
  .ct-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
  .ct-index__col { padding: var(--s-4); grid-template-rows: auto auto auto; }
  .ct-index ul { display: none; }
  .ct-index__name { font-size: var(--fs-body); }
  .ct-pipeline li small { display: none; }
}

/* 第二轮体检（脚本）后补：手机可点区域 ≥ 44 */
@media (max-width: 760px) {
  .ct-art-hero__kicker a, .ct-author a, .ct-terms a, .ct-route a.steps__title { min-height: var(--hit); display: inline-flex; align-items: center; }
  .ct-hero .searchbar input { min-height: var(--hit); }
}

/* ===== 7 第二轮（独立终审必改清单） ===== */
/* 静态 AI 光边（停在 210°，不转）：首屏的答案框、定义框、编辑流程卡；正文区不用 */
.ct-frame { border: 0; box-shadow: var(--sh-glow); }
/* .ai-frame 的 ::before 是整块 conic，靠子元素的白底盖住；这里卡片自己带文字，所以把 ::before 挖成 1.5px 的环，::after 光晕改用阴影 */
.ct-frame::before { padding: 1.5px; -webkit-mask: linear-gradient(var(--ink) 0 0) content-box, linear-gradient(var(--ink) 0 0); -webkit-mask-composite: xor; mask: linear-gradient(var(--ink) 0 0) content-box exclude, linear-gradient(var(--ink) 0 0); }
.ct-frame::after { display: none; }
.answer-box.ct-frame, .define-box.ct-frame { background: var(--surface); border-radius: var(--r-lg); }
.ct-pipeline.ct-frame { padding: var(--s-5); }
/* 资讯首屏：手机端用一行说明代替流程卡，第一篇文章提前 */
.ct-pipe-m { display: none; align-items: flex-start; gap: var(--s-2); font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }
.ct-pipe-m .spark { width: 14px; height: 14px; color: var(--ai-ink); margin-top: 4px; flex: none; }
/* 列表后、正文后的「下一步」：两张服务卡，不用实心按钮，不打扰阅读 */
.ct-next { margin-top: var(--s-7); }
.ct-next__title, .prose .ct-next__title { font-size: var(--fs-lead); line-height: 1.4; font-weight: var(--fw-bold); margin: 0 0 var(--s-4); }
.prose .ct-next { margin-top: var(--s-7); }
.prose .ct-next .ct-prod__desc { display: block; }
.prose .ct-next .ct-prod__name { display: flex; }
.prose .ct-next .ct-prod__go { display: flex; }
/* 专题首屏：结论框紧跟导语，读法说明两行 */
.ct-topic-hero__copy .answer-box { margin-top: var(--s-5); }
.ct-topic-hero__how { font-size: var(--fs-body); color: var(--ink-2); line-height: 1.75; max-width: 720px; }
.ct-endband { margin-top: var(--s-8); }
/* 正文区组件与上一段的间距（site.css 里这些组件自带 margin:0，会盖掉 .prose 的段距） */
.prose > .myth, .prose > .ct-map, .prose > .ct-readlist, .prose > .timeline, .prose > .table-wrap, .prose > .ct-code { margin-top: var(--s-5); }
/* 表格最后一行：行标题格也去掉底线，高亮行铺满 */
.table tbody tr:last-child th { border-bottom: 0; }
/* 代码块标题：「复制」不折行，标题过长用省略号 */
.ct-code .code-head { gap: var(--s-3); }
.ct-code .code-head > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-copy { white-space: nowrap; flex: none; }
@media (max-width: 760px) {
  .ct-pipeline { display: none; }
  .ct-pipe-m { display: flex; }
  .ct-cols { padding-right: var(--s-8); -webkit-mask-image: linear-gradient(90deg, var(--ink) 78%, transparent 98%); mask-image: linear-gradient(90deg, var(--ink) 78%, transparent 98%); }
  /* 文章面包屑：手机端省略当前页（标题就在下面），避免「›」孤行 */
  .ct-art-hero .crumbs li:last-child { display: none; }
  /* 专题六节总览：小号编号 + 单行 */
  .ct-route { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2) var(--s-3); margin-top: var(--s-6); }
  .ct-route .steps__item { grid-template-columns: 28px minmax(0, 1fr); column-gap: var(--s-2); align-items: center; }
  .ct-route .steps__num { width: 28px; height: 28px; }
  .ct-route .steps__num span { font-size: var(--fs-xs); }
  .ct-route a.steps__title { margin-top: 0; font-size: var(--fs-body); }
  .ct-route .steps__desc { display: none; }
  .ct-topic-hero__how { font-size: var(--fs-sm); }
  .ct-endband .cluster .btn { width: 100%; }
}
@media (max-width: 760px) {
  /* 资讯手机首屏减负：让第一篇文章进第二屏 */
  .ct-hot, .ct-topic:not(.ct-topic--main) { display: none; }
}
@media (max-width: 760px) {
  /* 资讯栏目胶囊：手机端改为换行排列，8 个栏目全部可见（取代横滑 + 渐隐，横滑会切字、看不出能滑） */
  .ct-cols { flex-wrap: wrap; overflow: visible; margin-inline: 0; padding: 0; gap: var(--s-2); -webkit-mask-image: none; mask-image: none; }
  .ct-cols .chip { padding: 0 var(--s-3); }
}

/* ===== 8 最终版（audit-final 2.4 内容组 + 共性 G2 / G5 / G10 / G14） ===== */
/* 孤字孤标点：正文、列表、说明一律 pretty（不支持的浏览器自动回退） */
.prose p, .prose li, .ct-item__sum, .ct-lead__sum, .ct-readlist__t, .ct-prod__desc, .define-box p, .myth p, .uc-card__sum, .uc-rule__d, .answer-box p, figcaption, .faq__a { text-wrap: pretty; }
/* 头条配图：真实房源照片，不再重复标题字 */
.ct-lead__media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; border-radius: var(--r-md); background: var(--bg-muted); box-shadow: inset 0 0 0 1px var(--line); }
.ct-lead__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 10%; }
.ct-lead__media .post-cover__col { position: absolute; left: var(--s-4); top: var(--s-4); }
/* 侧栏排行：序号与标题第一行对齐 */
.ct-rank a::before { line-height: calc(var(--fs-body) * 1.55); font-size: var(--fs-h4); }
/* 文章插图：图片先占好比例，懒加载或整页截图时不塌成白块 */
.ct-fig .device-phone__screen > img { aspect-ratio: 750 / 1624; }
/* 目录：桌面端始终展开；手机端可折叠（pages-content.js 在窄屏收起） */
.ct-tocd > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); }
.ct-tocd > summary::-webkit-details-marker { display: none; }
.ct-tocd > summary .icon { display: none; transition: transform var(--dur-2) var(--ease-out); }
.ct-tocd[open] > summary .icon { transform: rotate(180deg); }
.ct-toc--card { padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); position: static; }
.ct-totop { margin-top: var(--s-2); }
.ct-up { transform: rotate(-90deg); }
.ct-br { display: inline; }
/* 术语页：正文左缘对齐顶栏，右栏贴右；目录在右栏顶部 */
.ct-article--two { grid-template-columns: minmax(0, var(--measure)) minmax(260px, 320px); grid-template-areas: "body toc" "body aside"; grid-template-rows: auto 1fr; justify-content: space-between; row-gap: var(--s-4); }
.ct-art-hero--two { grid-template-columns: minmax(0, var(--measure)) minmax(260px, 320px); justify-content: space-between; }
.ct-article--two > .ct-aside { align-self: start; }
/* 术语页产品对应：缩略图改成局部放大，只露「拆成各项」那一块 */
.ct-map__item .device-phone { --phone-w: 120px; padding: 0; background: var(--bg-muted); border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.ct-map__item .device-phone__screen { aspect-ratio: 4 / 5; border-radius: var(--r-sm); }
.ct-map__item .device-phone__screen > img { width: 170%; transform: translate(-21%, -3%); }
@media (max-width: 1080px) {
  .ct-article--two { grid-template-columns: minmax(0, 1fr); grid-template-areas: "toc" "body" "aside"; grid-template-rows: none; }
  .ct-art-hero--two { grid-template-columns: minmax(0, 1fr); }
  .ct-tocd > summary { cursor: pointer; min-height: var(--hit); margin-bottom: 0; }
  .ct-tocd > summary .icon { display: block; }
  .ct-tocd[open] > summary { margin-bottom: var(--s-2); }
}
@media (min-width: 1081px) {
  .ct-tocd > summary { pointer-events: none; }
}
@media (max-width: 760px) {
  /* 资讯栏目：一行横滑，起点不切字，右侧渐隐提示可滑 */
  .ct-cols { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--gutter) * -1); padding: 0 var(--s-8) var(--s-1) var(--gutter); scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, var(--ink) calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, var(--ink) calc(100% - 56px), transparent); }
  /* 分页手机端三段式：上一页 · 当前页 · 下一页 */
  .ct-pager .pager a:not(.pager__dir):not([aria-current]), .ct-pager .pager .pager__gap { display: none; }
  .ct-pager .pager { flex-wrap: nowrap; }
  /* 文章 H1：冒号后断行，字号降一档 */
  .ct-art-hero .h1 { font-size: var(--fs-h3); line-height: 1.35; }
  /* 专题：六节路线本身就是目录，手机端不再重复一份；读法说明收起 */
  .ct-toc--route { display: none !important; }
  .ct-topic-hero__how { display: none; }
}
/* 头条配图只取房屋照片那一段（长图顶部），不露下面的界面卡片 */
.ct-lead__media img { position: absolute; left: 0; top: 0; width: 100%; height: auto; object-fit: initial; }
@media (max-width: 760px) {
  .ct-term-hero .ct-art-hero .h1 { font-size: var(--fs-h1); line-height: 1.2; }
}
@media (max-width: 760px) {
  /* 堆叠表格（G15）：正文区里值常折多行，改成「小标签在上、值在下」左对齐 */
  .prose .table--stack td { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; text-align: start; padding-block: var(--s-2); }
  .prose .table--stack td::before { font-size: var(--fs-xs); }
}

/* ===== 9 最终终审（review-last-B 第六节） ===== */
/* 文章：对比表压列宽，1440 不再被裁 */
.prose .table.ct-nowrap { font-size: var(--fs-sm); }
.prose .table.ct-nowrap th, .prose .table.ct-nowrap td { padding-inline: var(--s-3); }
/* 术语页：产品对应用 AI 图标，不再放看不清的缩略截图 */
.ct-map__item { grid-template-columns: 48px minmax(0, 1fr); }
.ct-map__icon { width: 48px; height: 48px; border-radius: var(--r-sm); }
.ct-totop--m { display: none; }
@media (max-width: 1080px) {
  .ct-totop:not(.ct-totop--m) { display: none; }
  .ct-totop--m { display: block; grid-column: 1 / -1; margin-top: var(--s-4); }
}
@media (max-width: 760px) {
  /* 标题层级：手机 h1 ≥ --fs-h2，正文 h2 降一档 */
  .ct-art-hero .h1 { font-size: var(--fs-h2); line-height: 1.3; }
  .prose h2 { font-size: var(--fs-h3); }
  /* 资讯：胶囊行到「专题」的空白收到 --s-6 */
  .page-hero--news:has(.ct-cols) { padding-bottom: var(--s-5); }
  section[aria-labelledby="topics-title"] { padding-top: var(--s-5) !important; }
  /* 资讯分页：1 2 … 527 */
  .ct-pager .pager a:not(.pager__dir):not([aria-current]) { display: inline-grid; }
  .ct-pager .pager .pager__gap { display: inline-grid; }
  .ct-pager .pager a.pager__mid { display: none; }
  .ct-pager .pager { gap: var(--s-1); }
  .ct-pager .pager .pager__dir { padding-inline: var(--s-3); }
  /* 文章「一条房源走一遍」：紧凑行，一个字段一行半 */
  .prose .table--stack.ct-compact tr { display: grid; grid-template-columns: 4.5em minmax(0, 1fr); column-gap: var(--s-3); row-gap: 2px; padding: var(--s-2) var(--s-4); }
  .prose .table--stack.ct-compact th[scope="row"] { grid-row: 1 / span 2; font-size: var(--fs-sm); padding: 2px 0; }
  .prose .table--stack.ct-compact td { display: inline-flex; grid-column: 2; gap: var(--s-2); padding: 0; font-size: var(--fs-sm); }
  .prose .table--stack.ct-compact td:nth-of-type(1)::before { content: none; }
  .prose .table--stack.ct-compact td:nth-of-type(1) { font-weight: var(--fw-semi); font-size: var(--fs-body); }
  .prose .table--stack.ct-compact td:nth-of-type(2), .prose .table--stack.ct-compact td:nth-of-type(3) { display: inline; color: var(--ink-2); }
  .prose .table--stack.ct-compact td:nth-of-type(2)::before { content: "出处 "; display: inline; }
  .prose .table--stack.ct-compact td:nth-of-type(3)::before { content: "　"; display: inline; }
  /* 专题：手机端只留底部横幅一个实心按钮 */
  .ct-toc--route ~ .ct-aside .ct-cta { display: none; }
}
@media (max-width: 760px) {
  .ct-pager .pager { flex-wrap: wrap; justify-content: center; }
  .ct-pager .pager .pager__dir { font-size: var(--fs-sm); }
  .ct-pager__note { max-width: 100%; text-wrap: pretty; }
}
@media (max-width: 400px) {
  .ct-pager .pager a.pager__dir, .ct-pager .pager span.pager__dir { min-width: var(--hit); }
}
@media (max-width: 760px) {
  .ct-pg-t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ct-pager .pager { flex-wrap: nowrap; }
}
@media (max-width: 760px) {
  .ct-pager .pager a.pager__mid:not(.pager__dir):not([aria-current]) { display: none; }
  .ct-pager .pager .pager__dir { position: relative; padding-inline: var(--s-2); }
}

.ct-pg-t, .ct-pg-a { font-style: normal; }
@media (min-width: 761px) { .ct-pg-a { display: none; } }

/* ===== 开发还原追加（第 1 次迭代前台；设计稿行内样式收进这里） ===== */
.ct-art-top { padding-bottom: var(--s-6); }
.ct-glow-sm { width: 520px; height: 400px; }
.ct-art-wrap { padding-bottom: var(--s-9); }
.ct-prose > :first-child, .ct-first-h2 { margin-top: var(--s-6); }
.ct-gap-2 { gap: var(--s-2); }
.ct-page-no, .ct-total { font-size: var(--fs-sm); font-weight: var(--fw-regular); color: var(--ink-3); margin-left: var(--s-2); }
.ct-cols--sub { margin-top: var(--s-2); }
.ct-feed-sec { padding-block: 0 var(--s-8); }
.ct-index-sec { padding-block: var(--s-8); }
.ct-index-head { margin-bottom: var(--s-5); }
.ct-author-hero { display: flex; gap: var(--s-5); align-items: flex-start; margin-top: var(--s-4); }
.ct-author__mark--lg { width: 64px; height: 64px; font-size: var(--fs-h3); flex: none; }
@media (max-width: 760px) { .ct-topics[data-n] { grid-template-columns: minmax(0, 1fr); } }   /* 手机端专题入口一列（压过上面按个数排的列数） */
.ct-side:has(> .ct-box ~ .ct-box ~ .ct-box) { position: static; }   /* 侧栏放了精选和标签后比一屏高：不吸顶，免得下半截一直看不到 */

/* ===== 10 内容页改版（2026-10-31，设计稿 docs/官网/设计稿/20261031-内容页改版/，对标文档第六、七节） =====
   七类内容页（资讯详情 / 列表、问答详情 / 列表、案例、专题、术语）共用一套两栏与组件，宏在 templates/partials/reading.html；
   类名一律 rd- 前缀（教训 28），只用 site.css 令牌；本节新增的几个尺寸写成 :root 变量，待并入令牌。 */
:root {
  --rd-main: var(--measure);   /* 正文列宽 760 */
  --rd-aside: 320px;           /* 右栏宽 */
  --rd-gap: var(--s-7);        /* 两栏间距 48 */
  --rd-hair: calc(var(--s-1) / 2); /* 2px 细调：图标与文字基线对齐 */
  --rd-card-min: 260px;        /* 关联卡最小宽，低于它换行成单列 */
  --rd-total: calc(var(--rd-main) + var(--rd-gap) + var(--rd-aside));
}

/* —— 两栏骨架：标题区与正文区用同一套列，左缘对齐 —— */
.rd-cols { display: grid; grid-template-columns: minmax(0, var(--rd-main)) var(--rd-aside); column-gap: var(--rd-gap); justify-content: center; }
.rd-wide { width: 100%; max-width: var(--rd-total); margin-inline: auto; }

/* —— 标题区 —— */
.rd-hero { position: relative; overflow: hidden; isolation: isolate; padding-block: var(--s-6); border-bottom: 1px solid var(--line); }
.rd-hero .crumbs { margin-bottom: var(--s-5); }
.rd-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin-bottom: var(--s-3); font-size: var(--fs-sm); }
.rd-hero h1 { font-size: var(--fs-h2); line-height: var(--lh-head); letter-spacing: var(--track-head); color: var(--ink); text-wrap: balance; }
.rd-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-5); margin-top: var(--s-4); font-size: var(--fs-sm); color: var(--ink-2); }
.rd-meta strong { color: var(--ink); font-weight: var(--fw-semi); }
.rd-meta .ct-author { display: inline-flex; align-items: center; gap: var(--s-2); }
.rd-aigc { display: inline-flex; align-items: center; gap: var(--s-1); margin-top: var(--s-3); font-size: var(--fs-xs); color: var(--ai-ink); }
.rd-aigc .icon { width: 14px; height: 14px; }
.rd-hero__side { align-self: end; display: grid; gap: var(--s-3); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); font-size: var(--fs-sm); color: var(--ink-2); }
.rd-hero__side dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-2) var(--s-4); }
.rd-hero__side dt { color: var(--ink-3); }
.rd-hero__side dd { color: var(--ink); font-weight: var(--fw-medium); }

/* —— 正文区两栏 —— */
.rd-layout { padding-block: var(--s-6) var(--s-8); align-items: start;
  grid-template-areas: "lead aside" "body aside"; grid-template-rows: auto 1fr; }
.rd-lead { grid-area: lead; display: grid; gap: var(--s-5); }
.rd-body { grid-area: body; min-width: 0; padding-top: var(--s-6); }
.rd-aside { grid-area: aside; align-self: stretch; display: grid; gap: var(--s-4); align-content: start; }
.rd-sticky { position: sticky; top: calc(var(--nav-h) + var(--s-4)); display: grid; gap: var(--s-4); align-self: start; }

/* 答案框沿用线上 .answer-box.ai-frame.ct-frame，这里只收紧间距 */
.rd-lead .answer-box { padding: var(--s-5) var(--s-6); }
.rd-lead .answer-box p { font-size: var(--fs-h4); line-height: 1.75; font-weight: var(--fw-medium); }

/* 头图 16:9（程序画） */
.rd-cover { margin: 0; }
.rd-cover img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-lg); box-shadow: var(--sh-1); background: var(--bg-muted); }
.rd-cover figcaption { margin-top: var(--s-2); font-size: var(--fs-xs); color: var(--ink-3); }

/* 正文 */
/* 点目录跳转的留白只用 html 的 scroll-padding-top（site.css），这里不再叠一层（体检 4-内容 P2-08） */
.rd-prose figure { margin-block: var(--s-6); }
.rd-prose figure img { display: block; width: 100%; height: auto; }

/* 法规原文卡 */
.rd-law { margin-top: var(--s-7); padding: var(--s-5) var(--s-6); border-radius: var(--r-lg); background: var(--paper); box-shadow: inset 0 0 0 1px var(--paper-line); }
.rd-law__label { display: flex; align-items: center; gap: var(--s-2); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink-2); }
.rd-law__label .icon { width: 18px; height: 18px; color: var(--ink-2); }
.rd-law ol { margin-top: var(--s-3); padding-left: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2) var(--s-5); font-size: var(--fs-ui); line-height: 1.6; color: var(--ink); }
.rd-law ol li { display: grid; grid-template-columns: 3.2em minmax(0, 1fr); }
.rd-law ol li span { color: var(--ink-3); font-variant-numeric: tabular-nums; }
.rd-law__lead { margin-top: var(--s-3); font-size: var(--fs-ui); line-height: 1.7; color: var(--ink); }
.rd-law__src { margin-top: var(--s-4); font-size: var(--fs-xs); color: var(--ink-3); }

/* 免责 + 纠错 */
.rd-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-3); margin-top: var(--s-5); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--bg-subtle); font-size: var(--fs-sm); line-height: 1.7; color: var(--ink-2); }
.rd-note .icon { color: var(--ink-3); margin-top: var(--rd-hair); }

/* 上一篇 / 下一篇：只有一侧时占满整行 */
.rd-pn { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: var(--s-4); margin-top: var(--s-6); }
.rd-pn a { display: grid; gap: var(--s-1); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); color: var(--ink); text-decoration: none; transition: box-shadow var(--dur-2) var(--ease-out); }
.rd-pn a:hover { box-shadow: var(--sh-2); }
.rd-pn small { display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--fs-xs); color: var(--ink-3); }
.rd-pn b { font-size: var(--fs-h4); font-weight: var(--fw-semi); }
.rd-pn--next { text-align: left; }

/* —— 右栏卡片 —— */
.rd-card { padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.rd-card__title { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); margin-bottom: var(--s-3); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink-2); }
.rd-card__title small { font-weight: var(--fw-regular); color: var(--ink-3); }

/* 本文相关：产品卡（全页唯一实心主按钮在这里） */
.rd-prod { position: relative; overflow: hidden; }
.rd-prod__head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-3); align-items: center; }
.rd-prod__name { font-size: var(--fs-h4); font-weight: var(--fw-semi); color: var(--ink); line-height: 1.35; }
.rd-prod__one { font-size: var(--fs-sm); color: var(--ink-2); }
.rd-prod__desc { margin-top: var(--s-3); font-size: var(--fs-sm); line-height: 1.7; color: var(--ink-2); }
.rd-prod__ends { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-3); }
.rd-prod__price { display: flex; align-items: baseline; gap: var(--s-1); margin-top: var(--s-4); font-size: var(--fs-sm); color: var(--ink-2); }
.rd-prod__price b { font-size: var(--fs-h5); color: var(--ink); font-variant-numeric: tabular-nums; }
.rd-prod .btn { margin-top: var(--s-4); }
.rd-prod__alt { display: flex; justify-content: center; margin-top: var(--s-2); }

/* 目录 + 阅读进度 */
.rd-toc summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink-2); cursor: default; }
.rd-toc summary::-webkit-details-marker { display: none; }
.rd-toc summary [data-rd-read] { margin-left: auto; font-weight: var(--fw-regular); }
.rd-toc summary .icon { display: none; color: var(--ink-3); transition: transform var(--dur-2) var(--ease-out); }
.rd-toc[open] summary .icon { transform: rotate(180deg); }
.rd-toc__bar { height: var(--s-1); margin-top: var(--s-3); border-radius: var(--r-pill); background: var(--bg-muted); overflow: hidden; }
.rd-toc__bar i { display: block; height: 100%; width: var(--read, 0%); background: var(--brand); border-radius: inherit; transition: width var(--dur-1) linear; }
.rd-toc ol { list-style: none; margin: var(--s-3) 0 0; padding: 0; display: grid; gap: var(--s-1); counter-reset: rd; }
.rd-toc li a { counter-increment: rd; display: grid; grid-template-columns: 1.6em minmax(0, 1fr); padding: var(--s-2) var(--s-2); border-radius: var(--r-xs); font-size: var(--fs-sm); line-height: 1.5; color: var(--ink-2); text-decoration: none; }
.rd-toc li a::before { content: counter(rd); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.rd-toc li a:hover { background: var(--bg-subtle); color: var(--ink); }
.rd-toc li a[aria-current="true"] { background: var(--brand-soft); color: var(--brand-ink); font-weight: var(--fw-semi); }
.rd-toc li a[aria-current="true"]::before { color: var(--brand-ink); }

/* 右栏链接清单（合规要点、同行业文章、相似问题） */
.rd-links { list-style: none; margin: 0; padding: 0; display: grid; }
.rd-links li + li { border-top: 1px solid var(--line); }
.rd-links a { display: grid; grid-template-columns: 2.6em minmax(0, 1fr); gap: var(--s-1) var(--s-3); padding-block: var(--s-3); color: var(--ink); text-decoration: none; font-size: var(--fs-ui); line-height: 1.5; }
.rd-links a:hover .rd-links__t { color: var(--brand-ink); }
.rd-links__no { font-size: var(--fs-xs); font-weight: var(--fw-semi); color: var(--ink-3); font-variant-numeric: tabular-nums; padding-top: var(--rd-hair); }
.rd-links__t { font-weight: var(--fw-medium); transition: color var(--dur-1); }
.rd-links small { grid-column: 2; font-size: var(--fs-xs); color: var(--ink-3); }
.rd-card .link-more { margin-top: var(--s-1); min-height: auto; }

/* 小咨询卡（次级按钮） */
.rd-ask { display: grid; gap: var(--s-2); }
.rd-ask p { font-size: var(--fs-sm); line-height: 1.6; color: var(--ink-2); }
.rd-ask b { font-size: var(--fs-ui); color: var(--ink); }
.rd-ask .btn { margin-top: var(--s-2); }

/* —— 正文里的产品相关说明（问答页） —— */
.rd-sec { margin-top: var(--s-7); }
.rd-sec__title { font-size: var(--fs-h5); font-weight: var(--fw-semi); color: var(--ink); }
.rd-sec__sub { margin-top: var(--s-1); font-size: var(--fs-sm); color: var(--ink-3); }
.rd-qa-list { list-style: none; margin: var(--s-4) 0 0; padding: 0; display: grid; gap: var(--s-3); }
.rd-qa-list li { padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
.rd-qa-list b { display: flex; gap: var(--s-2); font-size: var(--fs-body); color: var(--ink); }
.rd-qa-list b span { color: var(--brand-ink); }
.rd-qa-list p { margin-top: var(--s-2); padding-left: calc(1em + var(--s-2)); font-size: var(--fs-ui); line-height: 1.75; color: var(--ink-2); }
.rd-rel { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--rd-card-min), 1fr)); gap: var(--s-4); margin-top: var(--s-4); }
.rd-rel a { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-1) var(--s-3); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); color: var(--ink); text-decoration: none; transition: box-shadow var(--dur-2) var(--ease-out); }
.rd-rel a:hover { box-shadow: var(--sh-2); }
.rd-rel .card__icon { grid-row: span 3; }
.rd-rel b { font-size: var(--fs-body); font-weight: var(--fw-semi); }
.rd-rel span { font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }
.rd-rel em { font-style: normal; font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--brand-ink); display: inline-flex; align-items: center; gap: var(--s-1); }

/* —— 全宽：继续读 —— */
.rd-more { padding-block: var(--s-8); background: var(--bg-subtle); border-top: 1px solid var(--line); }
.rd-more__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-4); margin-bottom: var(--s-5); }
.rd-more__head h2 { font-size: var(--fs-h3); letter-spacing: var(--track-head); color: var(--ink); }
.rd-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); }
.rd-post { height: 100%; }
.rd-post a { display: flex; flex-direction: column; height: 100%; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); color: var(--ink); text-decoration: none; overflow: hidden; transition: box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out); }
.rd-post a:hover { box-shadow: var(--sh-2); transform: translateY(-2px); }
.rd-post__img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--bg-muted); border-bottom: 1px solid var(--line); }
.rd-post__body { display: flex; flex-direction: column; gap: var(--s-2); flex: 1; padding: var(--s-5); }
.rd-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); font-size: var(--fs-xs); color: var(--ink-3); }
.rd-post__type { display: inline-flex; align-items: center; gap: var(--s-1); padding: var(--rd-hair) var(--s-2); border-radius: var(--r-pill); background: var(--bg-muted); color: var(--ink-2); font-weight: var(--fw-semi); }
.rd-post__type .icon { width: 14px; height: 14px; }
.rd-post__t { font-size: var(--fs-h4); font-weight: var(--fw-semi); line-height: 1.45; text-wrap: pretty; }
.rd-post__sum { font-size: var(--fs-sm); line-height: 1.7; color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rd-post__go { margin-top: auto; padding-top: var(--s-2); display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--brand-ink); }
/* 有图卡：图在上；无图卡：顶部一条细色边区分类型，不画假封面 */
.rd-post--text a { border-top: var(--s-1) solid var(--brand-soft-2); }
.rd-post--sol a { border-top-color: var(--ok-soft); }
.rd-post--qa a { border-top-color: var(--ai-soft); }

/* —— 全宽 CTA 条 —— */
.rd-cta { padding-block: var(--s-8); }
.rd-cta__box { position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--s-6); padding: var(--s-7) var(--s-7); border-radius: var(--r-xl); background: var(--surface); box-shadow: var(--sh-2); }
.rd-cta__box h2 { font-size: var(--fs-h3l); letter-spacing: var(--track-head); color: var(--ink); }
.rd-cta__box p { margin-top: var(--s-2); font-size: var(--fs-body); color: var(--ink-2); }
.rd-cta__acts { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); }
.rd-cta .glow-spot { opacity: 0.7; }

/* —— 1024–1279：右栏收窄 —— */
@media (max-width: 1279px) {
  :root { --rd-aside: 280px; --rd-gap: var(--s-6); }
}

/* —— 1023 以下：单栏，按「答案 → 产品 → 头图 → 目录 → 正文 → 其余」重排 —— */
@media (max-width: 1023px) {
  .rd-cols { grid-template-columns: minmax(0, 1fr); max-width: var(--rd-main); margin-inline: auto; }
  .rd-hero__side { display: none; }
  .rd-layout { grid-template-rows: none; row-gap: var(--s-5); }
  .rd-layout { grid-template-areas: "lead" "rel" "toc" "body" "side" "side2"; }
  .rd-layout--qa { grid-template-areas: "lead" "body" "side" "side2"; }
  .rd-aside, .rd-sticky { display: contents; }
  .rd-a-rel { grid-area: rel; } .rd-a-toc { grid-area: toc; } .rd-a-side { grid-area: side; } .rd-a-side2 { grid-area: side2; }
  .rd-body { padding-top: 0; }
  .rd-toc summary { cursor: pointer; min-height: var(--hit); }
  .rd-toc summary .icon { display: block; }
  .rd-grid { grid-template-columns: minmax(0, 1fr); }
}
/* 宽屏：吸顶组太高时（矮屏笔记本）收起小咨询卡，避免吸顶内容被截断；首卡和文末 CTA 仍有咨询入口 */
@media (min-width: 1024px) and (max-height: 860px) { .rd-sticky .rd-ask:not(.rd-ask--main) { display: none; } }   /* 作首卡、唯一咨询入口的那张不收 */
.rd-only-m { display: none; }
.rd-prod__alt { gap: var(--s-5); flex-wrap: wrap; }
/* 继续读：一张有图 + 两张无图时，图卡在左占两行，无图卡右侧上下叠 */
@media (min-width: 1024px) {
  .rd-grid--lead { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .rd-grid--lead > :first-child { grid-row: span 2; }
  .rd-grid--lead > :first-child .rd-post__t { font-size: var(--fs-h5); }
}

@media (max-width: 640px) {
  .rd-hero .crumbs li:last-child { display: none; }  /* 手机不重复当前页标题 */
  .rd-a-rel .rd-prod__desc, .rd-a-rel .rd-prod__ends, .rd-a-rel .rd-prod__price, .rd-a-rel .btn { display: none; }  /* 手机：产品卡压成「名称 + 两个文字链」，实心主按钮留给文末 CTA */
  .rd-a-rel { padding: var(--s-4) var(--s-5); }
  .rd-a-rel .rd-card__title { margin-bottom: var(--s-2); }
  .rd-only-m { display: inline-flex; }
  .rd-prod__alt { justify-content: flex-start; }
  .rd-hero { padding-block: var(--s-5); }
  .rd-hero h1 { font-size: var(--fs-h3l); }
  .rd-meta { gap: var(--s-1) var(--s-3); font-size: var(--fs-xs); }
  .rd-lead .answer-box { padding: var(--s-4) var(--s-5); }
  .rd-lead .answer-box p { font-size: var(--fs-body); }
  .rd-cover img { border-radius: var(--r-md); }
  .rd-law { padding: var(--s-4) var(--s-5); }
  .rd-law ol { grid-template-columns: minmax(0, 1fr); }
  .rd-pn { grid-template-columns: minmax(0, 1fr); }
  .rd-more { padding-block: var(--s-7); }
  .rd-cta { padding-block: var(--s-7); }
  .rd-cta__box { grid-template-columns: minmax(0, 1fr); padding: var(--s-6) var(--s-5); }
  .rd-cta__box h2 { font-size: var(--fs-h5); }
  .rd-cta__acts .btn { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .rd-post a, .rd-pn a, .rd-toc__bar i { transition: none; }
  .rd-post a:hover { transform: none; }
}
.rd-mt-3 { margin-top: var(--s-3); }

/* 10.1 设计稿之外、落到真页面补的几处 */
.rd-hero__main { min-width: 0; }
.rd-hero .aigc-note { margin-top: var(--s-3); padding: 0; background: none; }   /* 标题区的 AIGC 标识：小号文字，不做胶囊（设计稿 dz-aigc） */
.rd-kicker:empty { display: none; }
.rd-answer p { text-wrap: pretty; }
.rd-extras { display: grid; gap: var(--s-4); margin-top: var(--s-6); }
.rd-extras .ct-topic-back { color: var(--ink); text-decoration: none; }
.rd-extras .ct-topic-back b { font-size: var(--fs-h4); }
.ct-flip { transform: scaleX(-1); }
.rd-pn a[rel="next"]:only-child, .rd-pn a[rel="next"] { text-align: start; }
/* 通用咨询卡作首卡（没有对口产品时）：渐变细边 + 点阵，与原侧栏咨询卡同一气质；主按钮只此一个 */
.rd-ask--main { position: relative; overflow: hidden; isolation: isolate; border: 1px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-edge) border-box; box-shadow: var(--sh-2); }
.rd-ask--main > .tech-dots { z-index: -1; -webkit-mask-image: radial-gradient(80% 60% at 100% 0%, var(--ink) 10%, transparent 70%); mask-image: radial-gradient(80% 60% at 100% 0%, var(--ink) 10%, transparent 70%); }
.rd-ask--main b { font-size: var(--fs-h4); }
/* ⑦ 单卡自适应：同组只有 1 张时占满整行，2 张时两列，不留「左一张、右边空」 */
.rd-grid[data-n="1"] { grid-template-columns: minmax(0, 1fr); }
.rd-grid[data-n="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rd-fit { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--rd-card-min), 1fr)); gap: var(--s-4); }
/* 窄栏里的卡片格（专题每节的深度文章、术语延伸阅读）：760 宽里排 3 列会太挤，按最小宽自动换行 */
.rd-grid--in, .rd-grid--in[data-n] { grid-template-columns: repeat(auto-fit, minmax(var(--rd-card-min), 1fr)); gap: var(--s-4); }   /* auto-fit：1 张时占满整行（⑦） */
.rd-grid--in .rd-post__body { padding: var(--s-4) var(--s-5); }
.rd-grid--in .rd-post__t { font-size: var(--fs-body); }
@media (max-width: 1023px) {
  .rd-grid[data-n="2"] { grid-template-columns: minmax(0, 1fr); }
}
.rd-prod__name, .rd-prod__one { display: block; }
.rd-prod__one { margin-top: 2px; }

/* 10.2 资讯列表 / 问答列表（对标文档 6.2、6.4） */
.ct-hero:not(:has(.rd-colgrid)) { grid-template-columns: minmax(0, 1fr); }
/* 首屏右侧「栏目入口」图标格：每格 = 栏目色图标 + 栏目名 + 篇数 */
.rd-colgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); padding: var(--s-4); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.rd-colgrid a { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: var(--s-3); align-items: center; padding: var(--s-3); border-radius: var(--r-md); color: var(--ink); text-decoration: none; transition: background-color var(--dur-1); }
.rd-colgrid a:hover, .rd-colgrid a[aria-current="page"] { background: var(--bg-subtle); }
.rd-colgrid a[aria-current="page"] .rd-colgrid__name { color: var(--brand-ink); }
.rd-colgrid__icon { grid-row: span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--r-sm); background: color-mix(in oklch, var(--col, var(--brand)) 12%, var(--surface)); color: var(--col, var(--brand)); }
.rd-colgrid__name { font-size: var(--fs-ui); font-weight: var(--fw-semi); line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-colgrid small { font-size: var(--fs-xs); color: var(--ink-3); font-variant-numeric: tabular-nums; }
/* 宽屏：首屏已有栏目入口格，一级栏目胶囊不再重复一行（二级栏目胶囊照出）；窄屏反过来只留胶囊横滑 */
@media (min-width: 1024px) { .page-hero:has(.rd-colgrid) .ct-cols:not(.ct-cols--sub) { display: none; } }
@media (max-width: 1023px) { .rd-colgrid { display: none; } }
/* 列表两栏：列表 760 + 右栏 320（与详情页同一套列） */
.rd-feed { align-items: start; padding-top: var(--s-6); }
.rd-feed > :first-child { min-width: 0; }
.rd-feed__side { position: sticky; top: calc(var(--nav-h) + var(--s-5)); }
/* 头条：有封面左图右文；没封面纯文字大卡（不画假封面） */
.rd-headline { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.rd-headline__media { display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--r-md); background: var(--bg-muted); box-shadow: var(--sh-1); }
.rd-headline__media img { width: 100%; height: 100%; object-fit: cover; }
.rd-headline--text { grid-template-columns: minmax(0, 1fr); margin-top: var(--s-5); padding: var(--s-6); border: 0; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); border-top: var(--s-1) solid var(--brand-soft-2); }
.rd-headline--text:hover { box-shadow: var(--sh-2); }
@media (max-width: 1023px) {
  .rd-feed { grid-template-columns: minmax(0, 1fr); }
  .rd-feed__side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .rd-headline { grid-template-columns: minmax(0, 1fr); }
  .rd-headline--text { padding: var(--s-5); }
  .rd-feed__side { grid-template-columns: minmax(0, 1fr); }
}
/* 看图第 1 轮：列表两栏左缘与首屏、专题区对齐（铺满内容区，不再居中缩进）；栏目名允许两行，不截断 */
.rd-cols.rd-feed { grid-template-columns: minmax(0, 1fr) var(--rd-aside); justify-content: stretch; }
.rd-colgrid__name { white-space: normal; overflow: visible; }
@media (max-width: 1023px) { .rd-cols.rd-feed { grid-template-columns: minmax(0, 1fr); } }
/* 问答列表 */
.rd-hero--list { padding-block: var(--s-6) var(--s-7); }
.rd-hero--list .h1 { margin-top: var(--s-5); }
.rd-search { max-width: 560px; margin-top: var(--s-5); min-height: var(--ctl-h-lg); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line-strong), var(--sh-1); }
.rd-list-sec { padding-bottom: var(--s-8); }
.rd-filter { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-4); }
.rd-filter .chip[aria-pressed="true"] { background: var(--brand-soft); border-color: var(--brand); color: var(--brand-ink); font-weight: var(--fw-semi); }
.rd-stats a::before { content: none; }
.rd-stats a { grid-template-columns: minmax(0, 1fr); }
.rd-stats small { grid-column: 1; }
@media (max-width: 760px) {
  .rd-filter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
  .rd-filter .chip { min-height: var(--hit); }
  .rd-search .btn { display: none; }
}
.rd-wide--full { max-width: none; }

/* 10.3 案例、专题、术语（对标文档 6.5～6.7） */
.rd-pt { padding-top: var(--s-7); }
.rd-layout--case .rd-body, .rd-layout--topic .rd-body { padding-top: 0; }
.rd-layout--case .rd-body > section + section { margin-top: var(--s-7); }
.rd-facts dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-2) var(--s-4); font-size: var(--fs-sm); }
.rd-facts dt { color: var(--ink-3); }
.rd-facts dd { color: var(--ink); font-weight: var(--fw-medium); }
/* 专题每节的深度文章：无图卡片格 */
.rd-deep { margin-top: var(--s-5); }
.rd-deep__title { font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink-3); margin-bottom: var(--s-3); }
.prose .rd-grid { margin-top: 0; padding-left: 0; }
.prose .rd-post { margin-top: 0; }
.prose .rd-post a { text-decoration: none; }
.prose .rd-deep__title { margin-top: 0; }
/* 案例列表：1～2 个案例时一列横卡，不留空格子 */
@media (min-width: 861px) {
  .rd-casegrid[data-n="1"], .rd-casegrid[data-n="2"] { grid-template-columns: minmax(0, 1fr); }
}
/* 专题列表：每个专题一张卡 = 标题区 + 3 篇代表文章 + 读整份指南 */
.rd-topics { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); }
.rd-topics[data-n="1"] { grid-template-columns: minmax(0, 1fr); }
.rd-topic { display: grid; grid-template-rows: auto 1fr auto; gap: var(--s-4); padding: var(--s-6); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.rd-topics[data-n="1"] .rd-topic { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto; column-gap: var(--s-7); }
.rd-topics[data-n="1"] .rd-topic__head { grid-row: span 2; }
.rd-topic__head { display: grid; align-content: start; gap: var(--s-2); color: var(--ink); text-decoration: none; }
.rd-topic__head .rd-post__type { justify-self: start; }
.rd-topic__head:hover .rd-topic__title { color: var(--brand-ink); }
.rd-topic__title { font-size: var(--fs-h3); font-weight: var(--fw-bold); line-height: var(--lh-head); letter-spacing: var(--track-head); text-wrap: balance; }
.rd-topic__desc { font-size: var(--fs-body); color: var(--ink-2); line-height: 1.7; text-wrap: pretty; }
.rd-topic__picks { list-style: none; margin: 0; padding: 0; display: grid; align-content: start; }
.rd-topic__picks li + li { border-top: 1px solid var(--line); }
.rd-topic__picks a { display: grid; gap: var(--s-1); padding-block: var(--s-3); color: var(--ink); text-decoration: none; }
.rd-topic__picks .ct-col { font-size: var(--fs-xs); font-weight: var(--fw-medium); color: var(--ink-3); }
.rd-topic__pick { font-size: var(--fs-ui); font-weight: var(--fw-medium); line-height: 1.5; }
.rd-topic__picks a:hover .rd-topic__pick { color: var(--brand-ink); }
.rd-topic__all { justify-self: start; }
@media (max-width: 860px) {
  .rd-topics, .rd-topics[data-n="1"] .rd-topic { grid-template-columns: minmax(0, 1fr); }
  .rd-topic { padding: var(--s-5); }
}
/* 术语：定义框放在正文列首屏 */
.rd-layout--term .define-box p { font-size: var(--fs-h4); }
/* 看图第 1 轮：案例、专题的首屏沿用原版（铺满内容区），下面两栏也铺满，左缘与首屏对齐 */
.rd-cols.rd-layout--case, .rd-cols.rd-layout--topic { grid-template-columns: minmax(0, 1fr) var(--rd-aside); justify-content: stretch; }
@media (max-width: 1023px) { .rd-cols.rd-layout--case, .rd-cols.rd-layout--topic { grid-template-columns: minmax(0, 1fr); } }
.rd-letters .chip::before { display: none; }   /* 首字母胶囊不带栏目色点 */
.rd-letters .chip small { margin-left: var(--s-1); color: var(--ink-3); font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }   /* 领域胶囊后面的条数 */
.rd-filter[hidden], .rd-toc__bar[hidden] { display: none; }
/* 看图第 2 轮：1～2 个案例时一列「横卡」（左截图、右文字），不是把竖卡拉宽 */
@media (min-width: 861px) {
  .rd-casegrid[data-n="1"] .case-card, .rd-casegrid[data-n="2"] .case-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); grid-template-rows: auto; align-items: stretch; }
  .rd-casegrid[data-n="1"] .case-card__media, .rd-casegrid[data-n="2"] .case-card__media { height: 100%; min-height: 280px; }
  .rd-casegrid[data-n="1"] .case-card__body, .rd-casegrid[data-n="2"] .case-card__body { align-self: center; }
}

/* ===== 10.4 官网体检修复（2026-11-01，工人 D） ===== */
/* 资讯列表窄屏改单列后，列表和侧栏之间要有行距（P1-01）；侧栏咨询卡在窄屏不出，文末全宽 CTA 条已经承担，同屏只留一个实心主按钮 */
.rd-cols.rd-feed { row-gap: var(--s-7); }
@media (max-width: 1023px) {
  .ct-feed-sec .rd-feed__side > .ct-cta { display: none; }
  .ct-feed-sec .rd-feed__side:not(:has(> .ct-box)) { display: none; }
}
/* 正文配图点开看大图（P1-05 页面侧）：整张图是链接，手机上角标提示 */
.rd-zoom { position: relative; display: block; border-radius: var(--r-md); }
.rd-zoom:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.rd-zoom__hint { display: none; }
@media (max-width: 760px) {
  .rd-zoom__hint { display: inline-flex; align-items: center; position: absolute; right: var(--s-2); bottom: var(--s-2); padding: var(--s-1) var(--s-3); border-radius: var(--r-pill); background: var(--surface); box-shadow: var(--sh-1); font-size: var(--fs-xs); color: var(--ink-2); }
}
/* 手机端目录链接、文字链够 44px 高（P2-09） */
@media (max-width: 760px) {
  .rd-toc li a { display: flex; align-items: center; min-height: var(--hit); }
}
/* 作者页：按类型分组的署名稿件 */
.rd-au-group + .rd-au-group { margin-top: var(--s-7); }
.rd-au-group__head { display: flex; align-items: baseline; gap: var(--s-2); margin-bottom: var(--s-3); padding-bottom: var(--s-2); border-bottom: 1px solid var(--line); font-size: var(--fs-h4); font-weight: var(--fw-semi); }
.rd-au-group__head small { font-size: var(--fs-sm); font-weight: var(--fw-regular); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.rd-au-hero { display: flex; align-items: center; gap: var(--s-4); margin-top: var(--s-5); }
.rd-au-hero h1 { margin: 0; font-size: var(--fs-h2); }
.rd-au-bio { max-width: var(--measure); margin-top: var(--s-4); }
.rd-au-sec { padding-bottom: var(--s-8); }
.rd-au-how { display: grid; gap: var(--s-2); font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.7; }
.rd-au-how dl { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-2) var(--s-4); }
.rd-au-how dt { color: var(--ink-2); }
.rd-au-how dd { color: var(--ink); font-weight: var(--fw-semi); font-variant-numeric: tabular-nums; text-align: end; }
.rd-hero__side .rd-hero__note { font-size: var(--fs-xs); color: var(--ink-3); }
/* 手机端把「依据 / 核对」压成署名下一行小字（P2-12；大于 1023 时右侧信息卡已有，不重复） */
.rd-hero__basis { display: none; }
@media (max-width: 1023px) { .rd-hero__basis { display: block; margin-top: var(--s-2); font-size: var(--fs-xs); color: var(--ink-3); } }
/* 栏目胶囊：父栏目「已展开」弱样式；子栏目跟在父栏目后面（P2-03） */
.ct-cols .chip.is-open { border-color: var(--line-strong); color: var(--ink); font-weight: var(--fw-semi); }
.ct-cols .chip--sub::before { display: none; }
.ct-cols .chip--sub { font-size: var(--fs-sm); }
/* 案例、专题手机单栏：没有答案框和首卡，不留两行空格子的行距（看图：事实条和目录之间空出一大块） */
@media (max-width: 1023px) {
  .rd-layout--case, .rd-layout--topic { grid-template-areas: "toc" "body" "side" "side2"; padding-top: var(--s-5); }
}
/* 体检 6-横切 H-16：内容页文字链、栏目标、术语标签的可点区域——电脑端不小于 24px，手机端不小于 44px（原来卡片里的文字链被压到 22～28px） */
.rd-card .link-more, .rd-kicker > a, .ct-terms .tag, .rd-more__head .link-more, .rd-prod__alt .link-more { display: inline-flex; align-items: center; min-height: 24px; }
@media (max-width: 760px) {
  .rd-card .link-more, .rd-kicker > a, .ct-terms .tag, .rd-more__head .link-more, .rd-prod__alt .link-more, .rd-law__src a, .rd-note a { min-height: var(--hit); }
  .rd-law__src a, .rd-note a { display: inline-flex; align-items: center; }
}
.rd-note a, .rd-law__src a, .rd-meta a, .rd-au-how a { display: inline-flex; align-items: center; min-height: 24px; vertical-align: middle; }
.ct-index li a, .ct-rank a, .ct-list .ct-item__title { min-height: 24px; }
.ct-index li a { display: inline-block; padding-block: 1px; }
@media (max-width: 760px) {
  .rd-au-how a, .rd-meta a { min-height: var(--hit); }
  .rd-search input { min-height: var(--hit); }
}
.co-case-hero .article-meta a { display: inline-flex; align-items: center; min-height: 24px; }
@media (max-width: 760px) { .rd-note a, .rd-law__src a, .co-case-hero .article-meta a { min-height: var(--hit); } }
