@topmindspace/tms-skills 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +139 -123
  2. package/README.md +126 -103
  3. package/bin/tms-skills.js +160 -160
  4. package/package.json +48 -48
  5. package/top-ppt-html/README.md +254 -253
  6. package/top-ppt-html/SKILL.md +111 -111
  7. package/top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.html +3873 -3926
  8. package/top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.model.json +167 -167
  9. package/top-ppt-html/assets/examples/2026-09-09-architecture-spectrum.html +3873 -3926
  10. package/top-ppt-html/assets/examples/2026-09-09-architecture-spectrum.model.json +167 -167
  11. package/top-ppt-html/assets/examples/2026-09-09-presentation-apple-mono.html +4272 -4325
  12. package/top-ppt-html/assets/examples/2026-09-09-presentation-apple-mono.model.json +320 -320
  13. package/top-ppt-html/assets/examples/2026-09-09-presentation-brand-red.html +4272 -4325
  14. package/top-ppt-html/assets/examples/2026-09-09-presentation-brand-red.model.json +320 -320
  15. package/top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.html +4272 -4325
  16. package/top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.model.json +320 -320
  17. package/top-ppt-html/assets/examples/2026-09-09-research-deep-teal.html +5474 -5527
  18. package/top-ppt-html/assets/examples/2026-09-09-research-deep-teal.model.json +913 -913
  19. package/top-ppt-html/assets/examples/2026-09-09-research-indigo-violet.html +5474 -5527
  20. package/top-ppt-html/assets/examples/2026-09-09-research-indigo-violet.model.json +913 -913
  21. package/top-ppt-html/assets/examples/2026-09-09-research-mckinsey.html +5474 -5527
  22. package/top-ppt-html/assets/examples/2026-09-09-research-mckinsey.model.json +913 -913
  23. package/top-ppt-html/assets/examples/2026-09-09-research-warm-sand.html +5474 -5527
  24. package/top-ppt-html/assets/examples/2026-09-09-research-warm-sand.model.json +913 -913
  25. package/top-ppt-html/assets/pptx-export.js +1944 -1944
  26. package/top-ppt-html/assets/style-gallery.html +559 -589
  27. package/top-ppt-html/assets/templates/architecture.html +3675 -3728
  28. package/top-ppt-html/assets/templates/engine.css +787 -840
  29. package/top-ppt-html/assets/templates/presentation.html +3685 -3738
  30. package/top-ppt-html/assets/templates/research.html +3964 -4017
  31. package/top-ppt-html/assets/templates/ui.js +520 -520
  32. package/top-ppt-html/assets/theme-overview-architecture.png +0 -0
  33. package/top-ppt-html/assets/theme-overview-presentation.png +0 -0
  34. package/top-ppt-html/assets/theme-overview-research.png +0 -0
  35. package/top-ppt-html/assets/theme-overview.png +0 -0
  36. package/top-ppt-html/evals/prompts.csv +15 -15
  37. package/top-ppt-html/evals/rubric.schema.json +25 -25
  38. package/top-ppt-html/evals/run_evals.py +220 -220
  39. package/top-ppt-html/evals/trace.example.json +16 -16
  40. package/top-ppt-html/package-lock.json +175 -0
  41. package/top-ppt-html/package.json +30 -35
  42. package/top-ppt-html/references/charts-basic.md +624 -624
  43. package/top-ppt-html/references/charts-discipline.md +108 -108
  44. package/top-ppt-html/references/charts-extended.md +482 -482
  45. package/top-ppt-html/references/charts.md +28 -28
  46. package/top-ppt-html/references/components-atoms.md +624 -624
  47. package/top-ppt-html/references/components.md +30 -30
  48. package/top-ppt-html/references/content-rules.md +490 -490
  49. package/top-ppt-html/references/design-system-engine.md +235 -235
  50. package/top-ppt-html/references/design-system.md +471 -478
  51. package/top-ppt-html/references/failure-modes.md +214 -214
  52. package/top-ppt-html/references/high-fidelity.md +127 -127
  53. package/top-ppt-html/references/icons.md +397 -397
  54. package/top-ppt-html/references/industry-benchmark.md +105 -105
  55. package/top-ppt-html/references/infographics-stats.md +308 -308
  56. package/top-ppt-html/references/infographics-structure.md +226 -226
  57. package/top-ppt-html/references/infographics.md +43 -43
  58. package/top-ppt-html/references/layout-grammar.md +315 -315
  59. package/top-ppt-html/references/layouts-architecture.md +108 -108
  60. package/top-ppt-html/references/layouts-combo.md +600 -600
  61. package/top-ppt-html/references/layouts-research.md +160 -160
  62. package/top-ppt-html/references/modes.md +254 -254
  63. package/top-ppt-html/references/outline-design.md +275 -275
  64. package/top-ppt-html/references/playbook.md +266 -266
  65. package/top-ppt-html/references/pptx-export.md +209 -209
  66. package/top-ppt-html/references/reform-plan.md +252 -252
  67. package/top-ppt-html/references/styles.md +336 -370
  68. package/top-ppt-html/references/tech-design.md +138 -138
  69. package/top-ppt-html/scripts/audit_css.py +109 -109
  70. package/top-ppt-html/scripts/audit_docs.py +176 -176
  71. package/top-ppt-html/scripts/audit_skill.py +220 -220
  72. package/top-ppt-html/scripts/audit_styles.py +293 -351
  73. package/top-ppt-html/scripts/build_examples.py +2276 -2276
  74. package/top-ppt-html/scripts/build_pptx.js +2380 -2380
  75. package/top-ppt-html/scripts/capture_theme_overview.js +78 -78
  76. package/top-ppt-html/scripts/checks_html.py +127 -127
  77. package/top-ppt-html/scripts/cross_verify.py +294 -294
  78. package/top-ppt-html/scripts/env_probe.py +158 -158
  79. package/top-ppt-html/scripts/extract_model.py +210 -210
  80. package/top-ppt-html/scripts/extract_snippet.py +374 -374
  81. package/top-ppt-html/scripts/gen_channel_a.js +214 -214
  82. package/top-ppt-html/scripts/layout-constants.json +3309 -3377
  83. package/top-ppt-html/scripts/layout_slots.json +830 -830
  84. package/top-ppt-html/scripts/lib_layout_regions.js +412 -412
  85. package/top-ppt-html/scripts/measure_height.py +178 -178
  86. package/top-ppt-html/scripts/model-schema.json +547 -547
  87. package/top-ppt-html/scripts/negative_tests.py +307 -307
  88. package/top-ppt-html/scripts/package_skill.py +291 -291
  89. package/top-ppt-html/scripts/prepare_images.py +341 -341
  90. package/top-ppt-html/scripts/probe_image_export.py +188 -188
  91. package/top-ppt-html/scripts/quality_gate.py +301 -301
  92. package/top-ppt-html/scripts/regression.py +307 -308
  93. package/top-ppt-html/scripts/render_compare.py +275 -275
  94. package/top-ppt-html/scripts/render_from_model.py +698 -698
  95. package/top-ppt-html/scripts/scaffold_report.py +1054 -1054
  96. package/top-ppt-html/scripts/section-file-map.json +104 -104
  97. package/top-ppt-html/scripts/sync_runtime.py +662 -662
  98. package/top-ppt-html/scripts/validate_pptx.py +1510 -1510
  99. package/top-ppt-html/scripts/validate_report.py +1456 -1456
@@ -1,600 +1,600 @@
1
- # 结构组件与锁定版式 · layouts-combo.md
2
-
3
- > 由 `components.md` 拆出(§编号保持不变,跨文件稳定引用)。
4
- > 取码:`python scripts/extract_snippet.py --file components.md --section <编号>`
5
- > 或直接 `--file layouts-combo.md --section <编号>`。整读大文件视为违规。
6
-
7
- ## 32. 版式 A:左图右文(一个大图 + 一组解读)
8
-
9
- ```html
10
- <section class="band" id="s3">
11
- <div class="wrap">
12
- <div class="shead rv">…章节头…</div>
13
- <div class="grid g-side rv" style="align-items:center">
14
- <div class="fig"><!-- 主图:柱/折线/架构 SVG,宽 ≥ 版心 55% --></div>
15
- <div class="stack gap-5">
16
- <h3 class="t-h3">怎么读这张图</h3>
17
- <ul class="ul">
18
- <li><strong>结论一。</strong>一句话。</li>
19
- <li><strong>结论二。</strong>一句话。</li>
20
- <li><strong>结论三。</strong>一句话。</li>
21
- </ul>
22
- <div class="note">…可选:一句强调…</div>
23
- </div>
24
- </div>
25
- </div>
26
- </section>
27
- ```
28
-
29
- ---
30
-
31
- ## 33. 版式 B:表 + 图并排(对照阅读)
32
-
33
- ```html
34
- <div class="grid g-2 rv" style="align-items:start">
35
- <div class="fig"><!-- 环形/条形图 --></div>
36
- <div class="tbl-wrap">
37
- <table><!-- 3–5 行小表,与图互相印证 --></table>
38
- </div>
39
- </div>
40
- ```
41
-
42
- > 两栏**顶边对齐**(`align-items:start`);表行数 ≤5,图选中尺寸(环形 150–170px);高度差过大时给矮的一侧补一张 `card--flat` 注解卡。
43
-
44
- ---
45
-
46
- ## 34. 版式 C:2×2 卡图混排(四象限)
47
-
48
- ```html
49
- <div class="grid g-2 rv">
50
- <div class="card"><!-- 左上:要点卡 --></div>
51
- <div class="fig" style="text-align:center"><!-- 右上:环形/雷达 --></div>
52
- <div class="fig"><!-- 左下:条形/柱 --></div>
53
- <div class="card"><!-- 右下:要点卡 --></div>
54
- </div>
55
- ```
56
-
57
- > 图与卡**对角分布**,视觉平衡;每格内容 ≤4 条;1080p 下 2×2 是密度上限,更多就拆页。
58
-
59
- ---
60
-
61
- ---
62
-
63
- ## 39. 大引言 / 金句页(节奏休止页 · 三模式通用 · 主题一致)
64
-
65
- > 强调带 + 一句话主张。用于演示模式的"节奏休止"(连续数据页之间的呼吸口)或报告的核心判断页。**全文 1–2 处即可,多了廉价**;不加任何多余的页头角标/页脚信息。
66
- > 默认 `band--accent`(软强调,亮暗同向);更强用 `band--accent--solid`(强调色实底)。**不用 `band--deep`**——浅色模式下它会渲染成深色页。
67
-
68
- ```html
69
- <section class="band band--accent band--fit" id="quote-1">
70
- <div class="wrap">
71
- <div class="shead shead--center rv">
72
- <div class="t-eyebrow">03 · 关键判断</div>
73
- <h2 class="t-h1 shead__title">治理不是把数据管起来,<br>而是让好数据被用起来</h2>
74
- <div style="font-size:clamp(40px,4.6vh,56px);font-weight:700;color:var(--accent);line-height:1;margin-top:var(--sp-4)">「</div>
75
- <p class="t-lead" style="max-width:860px;margin-inline:auto;font-size:clamp(18px,2.2vh,22px);font-weight:600">穿越分水岭的钥匙是平台化,不是更大的模型。</p>
76
- <p class="t-sm" style="margin-top:var(--sp-4);color:var(--accent-text)">—— 企业智能体发展调研 · 42 家深度访谈</p>
77
- </div>
78
- </div>
79
- </section>
80
- ```
81
-
82
- > **PPTX 映射**:金句页 → `quote` 页型(主题一致强调带:accent-soft 底 + 常规文字 + accent 引号/署名;`{quote, author, context?}`)。HTML 版式在标题下加大引号 `「` 与署名行,与 PPTX 同源。
83
-
84
- ---
85
-
86
- ## 40. 对比页(锁定版式 · presentation / research 通用)
87
-
88
- > 左右双栏对照(现状 vs 目标 / 方案 A vs B / 之前 vs 之后),结论条收口。两栏同构同高(`.grid.g-half` + 两张 `.card`),右栏用强调底 `--accent-soft` 标示"目标态"。
89
-
90
- ```html
91
- <div class="grid g-half rv">
92
- <div class="card">
93
- <h3 class="t-h3">堆场景路径 · 现状</h3>
94
- <ul class="ul">
95
- <li><strong>接入慢。</strong>每场景重复对接工具与权限。</li>
96
- <li><strong>治理弱。</strong>事后审计,回退靠人工。</li>
97
- </ul>
98
- </div>
99
- <div class="card" style="background:var(--accent-soft);border-color:transparent">
100
- <h3 class="t-h3" style="color:var(--accent)">平台化路径 · 目标</h3>
101
- <ul class="ul">
102
- <li><strong>接入快。</strong>统一编排,接入成本降一个量级。</li>
103
- <li><strong>治理内嵌。</strong>权限、审计、回退进平台层。</li>
104
- </ul>
105
- </div>
106
- </div>
107
- <div class="sowhat rv">
108
- <span class="sowhat__k">结论</span>
109
- <span class="sowhat__v">平台化不是可选项,而是规模化穿越分水岭的唯一共同路径。</span>
110
- </div>
111
- ```
112
-
113
- > 每栏要点 ≤4 条、同构对仗(同一维度正面 vs 反面);结论条演示模式用 `.sowhat__k` 写"结论",research 沿用"So what"。
114
- > **PPTX 映射**:`comparison` 页型——`left/right = {title, points:[[k,v]…]}`,左 surface / 右 soft 面板 + `verdict`(结论条,accent 实底);research 亦可填 `soWhat`(soft 底结论条,与 R 系页型通用件同源)。
115
-
116
- ---
117
-
118
- ## 41. 大数指标页(锁定版式 · presentation / research 通用)
119
-
120
- > 一个压场巨号数字(hero)+ 右列支撑指标。用于"单点核心数字撑起一页"的节奏页:hero 数字 56–76px 走 `--accent`,标签 + 同比变化(▲)在其下;右侧 2–4 个 `.metric` 支撑。
121
-
122
- ```html
123
- <div class="grid g-side rv" style="align-items:center">
124
- <div class="stack gap-3">
125
- <div class="t-metric" style="color:var(--accent);font-size:clamp(56px,7vh,76px)">61%</div>
126
- <div class="t-h3">2025 企业智能体试点率</div>
127
- <div class="t-sm" style="color:var(--accent);font-weight:600">▲ +6pt vs 2024</div>
128
- </div>
129
- <div class="grid g-3">
130
- <div class="metric">
131
- <div class="metric__v t-metric">18<small>%</small></div>
132
- <div class="metric__k">规模化运行占比</div>
133
- <div class="metric__n">3 个以上场景稳定运行</div>
134
- </div>
135
- <!-- …2–3 个支撑指标 -->
136
- </div>
137
- </div>
138
- ```
139
-
140
- > hero 数字必须"一数一结论"(标题负责结论句,hero 负责证据);支撑指标 ≤4 个、与 hero 不重复同一数字。
141
- > **PPTX 映射**:`kpi` 页型——`hero=[值, 标签, delta?]` + `metrics:[[值, 注]…]`(竖分隔线左右分栏,几何见 `layout-constants.json` 的 `PT.kpi`)。
142
-
143
- ---
144
-
145
- ## 42. 环形图页(锁定版式 · presentation / research 通用)
146
-
147
- > 占比结构图(3–5 扇区)。环形走 SVG `circle` + `stroke-dasharray` 弧段(12 点钟起顺时针),中心洞放合计值 + 标签,右侧图例行(色点 chip + 数值列表)。
148
-
149
- ```html
150
- <svg class="chart" data-chart="donut" viewBox="0 0 150 150" style="width:200px;margin-inline:auto">
151
- <circle cx="75" cy="75" r="54" class="f-none s-bds" stroke-width="26"/>
152
- <circle cx="75" cy="75" r="54" class="f-acc" stroke-width="26"
153
- stroke-dasharray="61.1 278.2" transform="rotate(-90 75 75)"><title>已规模化 18%</title></circle>
154
- <!-- 每扇区一个 circle:dasharray = 弧长 余长(C=339.3,r=54);rotate 依次累加扇区角度 -->
155
- <text x="75" y="72" text-anchor="middle" class="f-txt" font-size="22" font-weight="600">100%</text>
156
- <text x="75" y="92" text-anchor="middle" class="f-txt3" font-size="10">企业占比</text>
157
- </svg>
158
- ```
159
-
160
- > 显示宽 ≥140px(铁律 12);扇区 ≤5、最小扇区 ≥8%(太小合并为"其他");色板走语义类(`f-acc / f-accs / f-s2`),spectrum 风格用 `f-c1~c5`;中心合计须与图例自洽。
161
- > **PPTX 映射**:`donut` 页型——原生 `pie` 楔形(angleRange 角度拆分两通道同规则)+ 背景色圆挖孔 + 中心合计 + 右侧图例(色点/标签/值/占比),`chart={labels, values, unit?, centerLabel?}`;几何见 `PT.donut`。
162
-
163
- ---
164
-
165
- ## 43. 版式 D:全幅图表页(一个图撑满一页)
166
-
167
- > 单图信息量大、需要全场聚焦时用:架构总览 / 全景趋势 / 复杂管线 / 大型对比。图占版心 ≥90%,标题负责结论、图负责证据、图注收口。三模式通用(architecture 模式下即 A1/A3 的全幅用法)。
168
-
169
- ```html
170
- <section class="band band--fit" id="sX">
171
- <div class="wrap">
172
- <div class="shead rv">
173
- <div class="t-eyebrow">0X · 关键词</div>
174
- <h2 class="t-h1 shead__title">一句主张(标题负责结论,图负责证据)</h2>
175
- </div>
176
- <figure class="fig fig--full rv" style="padding:clamp(16px,2vw,28px)">
177
- <!-- 主图:宽 ≥ 版心 90%,高 420–560px;数据系列用 f-acc/f-s3(spectrum 用 f-c1~c5) -->
178
- <svg class="chart" data-chart="…" viewBox="0 0 1200 480" style="width:100%">…</svg>
179
- <figcaption class="fig__cap" style="margin-top:var(--sp-3)">图注一行:怎么读 + 口径说明</figcaption>
180
- </figure>
181
- </div>
182
- </section>
183
- ```
184
-
185
- > 图内文字 ≥11px;节点/系列 ≤24;超过先精简再拆页。**PPTX 映射**:`diagram`(architecture)或 `exhibit`/`bar`(A/B 模式)。
186
-
187
- ---
188
-
189
- ## 44. 版式 E:里程碑时间线页
190
-
191
- > 路线图 / 排期 / 阶段复盘。3–5 个里程碑,每个 ≤2 行说明;当前阶段 `tl__i--now`、已完成 `tl__i--done`;关键里程碑挂 chip。
192
-
193
- ```html
194
- <section class="band" id="sX">
195
- <div class="wrap">
196
- <div class="shead rv">
197
- <div class="t-eyebrow">0X · 路线图</div>
198
- <h2 class="t-h1 shead__title">四季度三里程碑:平台先行,场景分层放量</h2>
199
- </div>
200
- <div class="fig rv" style="padding:clamp(24px,2.4vw,36px)">
201
- <div class="tl">
202
- <div class="tl__i tl__i--done">
203
- <div class="tl__d"></div>
204
- <div class="tl__l">2026 Q3</div>
205
- <div class="tl__t">平台层就绪</div>
206
- <p class="t-body">统一编排与护栏上线。</p>
207
- <div class="row row-wrap" style="margin-top:var(--sp-3)">
208
- <span class="chip chip--accent">已交付</span>
209
- </div>
210
- </div>
211
- <div class="tl__i tl__i--now"><!-- 当前阶段:关键里程碑 chip --></div>
212
- <div class="tl__i"><!-- 后续阶段 --></div>
213
- </div>
214
- </div>
215
- </div>
216
- </section>
217
- ```
218
-
219
- > **PPTX 映射**:`timeline` 页型(阶段横排,当前阶段强调)。甘特排期(任务条 + 依赖)继续用 `data-chart="gantt"`(`charts.md` §27),两者不要混用:里程碑叙事用时间线、并行排期用甘特。
220
-
221
- ---
222
-
223
- ## 45. 版式 F:指标墙页
224
-
225
- > 现状基线 / 经营快照 / 复盘仪表。6±2 个指标一排(`g-6`),带类别小图标(`metric__ico`)分组感,口径行收口;research 模式即 R4 指标带页。单数压场用 §41 kpi 版式,不要混。
226
-
227
- ```html
228
- <section class="band band--top" id="sX">
229
- <div class="wrap">
230
- <div class="shead rv">
231
- <div class="t-eyebrow">0X · 现状基线</div>
232
- <h2 class="t-h1 shead__title">六组基线数字勾勒落地现状</h2>
233
- </div>
234
- <div class="grid g-6 rv">
235
- <div class="metric">
236
- <svg class="metric__ico" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><!-- 类别图标 --></svg>
237
- <div class="metric__v t-metric">62<small>TB</small></div>
238
- <div class="metric__k">指标名</div>
239
- <div class="metric__n">一行注解</div>
240
- </div>
241
- <!-- …同构 ≤6 张;指标 ≥7 时合并或拆两页… -->
242
- </div>
243
- <div class="row row-wrap rv" style="margin-top:var(--sp-5)">
244
- <div class="t-sm" style="color:var(--text-3)">口径:统计周期与样本说明<a class="cite" href="#ref-1">[1]</a></div>
245
- </div>
246
- </div>
247
- </section>
248
- ```
249
-
250
- > **PPTX 映射**:`metrics` 页型。带趋势的指标用迷你 sparkline(`charts.md` §30);问题项 `metric--warn` 数量 ≤2。
251
-
252
- ---
253
-
254
- ## 46. 版式选型速查表(内容形态 → 版式 → PPTX 页型)
255
-
256
- > 拿到内容先查这张表再动手;模式列空白 = 三模式通用。**禁止临场发明表外结构**——需要新结构时先扩本表与 PPTX 页型(四件套纪律),再使用。
257
-
258
- | 内容形态 | 首选版式 | 次选 | 模式 | PPTX 页型 |
259
- |---------|---------|------|------|-----------|
260
- | 要点式并列主张(默认页型) | points 要点列表(§5 卡片 / §15b 图标列表) | cards(§5) | — | `points` |
261
- | 一个大图 + 一组解读 | A 左图右文(§32) | D 全幅图表(§43) | — | `split` / `bar` / `exhibit` |
262
- | 单图全场聚焦(架构/全景) | D 全幅图表(§43) | A1 分层带(§37) | C | `diagram` / `exhibit` |
263
- | 现状基线 / 指标快照 | F 指标墙(§45) | R4 指标带 | B→F | `metrics` |
264
- | 单个核心数字压场 | kpi 大数页(§41) | — | A/B | `kpi` |
265
- | 构成占比(环形口径) | 环形图页(§42) | R7 半表半图 | A/B | `donut` / `halftable` |
266
- | 构成占比(饼图口径) | pie 饼图(`charts.md` §16 变体) | 环形图页(§42) | A/B | `donut` |
267
- | 构成占比(多系列 ≤4 段) | multidonut 多段环形(`charts.md` §29) | 环形图页(§42) | A/B | `donut` |
268
- | 指标卡内嵌迷你趋势 | sparkline 迷你趋势线(`charts.md` §30 / §55) | — | — | `metrics` / `kpi` |
269
- | 趋势 / 爬坡 | 版式 A + 折线 | R2 Exhibit | — | `exhibit`(chart bar/hbar) |
270
- | 现状 vs 目标 / 方案对比 | comparison 对比页(§40) | vsbar 双向条形(`charts.md` §28) | A/B | `comparison` |
271
- | 多维对标清单 | 表格(§7/8) | R3 密表 | B 密排 | `table` |
272
- | 并列论点(3 个) | 三卡 g-3 / R6 三栏(§36e) | cards | A/B | `cards` / `threecol` |
273
- | 完整论述(发现→证据→含义) | R1 双栏论证(§36) | R5 分栏证据 | B | `twocol` / `split` |
274
- | 路线图 / 里程碑叙事 | E 时间线(§44) | 甘特 gantt(`charts.md` §27) | — | `timeline` |
275
- | 并行排期(任务条+依赖) | 甘特(`charts.md` §27) | E 时间线(§44,仅里程碑) | — | `bar`(chart.type=gantt) |
276
- | 定位 / 优先级 / 象限 | R8 矩阵(§36f) | scatter 散点(`charts.md` §25) | B | `matrix` |
277
- | 系统分层架构 | A1 分层带(§37) | A3 管线(§38) | C | `diagram` |
278
- | 流程 / 职责协作 | A2 泳道(§38b) | A3 管线 | C | `lane` |
279
- | 端到端链路 | A3 管线(§38) | A2 泳道 | C | `lane` |
280
- | 关键判断 / 金句休止 | 金句页(§39) | 深色收尾章(§11) | A 为主 | `quote` |
281
- | 转化 / 筛选漏斗 | funnel(`charts.md` §26) | 版式 A | — | `exhibit`(bar 变体) |
282
- | 增减归因(A→B) | waterfall 瀑布(`charts.md` §24) | 版式 A | — | `exhibit`(bar 变体) |
283
- | 步骤 / 实施节奏(3–6 步) | steps 步骤条(§47) | E 时间线(§44) | — | `steps` |
284
- | 二维强度对标(行业×场景) | heatmap 热力矩阵(§48) | R8 矩阵(§36f) | A/B | `heatmap` |
285
- | 目标达成度对照(实际 vs 目标) | bullet 达成对比(§49) | vsbar(`charts.md` §28) | A/B | `bullet` |
286
- | 层级递进 / 价值阶梯 | pyramid 金字塔(§50) | A1 分层带(§37) | — | `pyramid` |
287
- | 份额悬殊的构成(面积编码) | treemap 树图页(`infographics.md` §72) | 环形图页(§42) | B/C | `treemap` |
288
- | 双指标趋势对比(两条线) | dualline 双折线(`charts.md` §52) | R2 Exhibit | — | `exhibit`(chart line) |
289
- | 累计量趋势(强调量级) | area 面积图(`charts.md` §52) | 折线(`charts.md` §21) | — | `exhibit`(chart area) |
290
- | 双维分布 + 第三维权重 | bubble 气泡图(`charts.md` §53) | scatter(`charts.md` §25) | B | `exhibit`(bar 变体) |
291
- | 多项目完成度进度 | progress 进度条组(`charts.md` §54) | bullet(§49) | A/B | `bullet` |
292
- | 多对多流向 / 归因路径 | sankey 桑基页(`infographics.md` §71) | 漏斗(`charts.md` §26) | B/C | `sankey` |
293
- | 两期排名/份额升降(谁升谁降) | slope 斜率(`charts.md` §57) | dumbbell(`charts.md` §58) | A/B | `exhibit`(chart line) |
294
- | 单指标前后对比(多对象) | dumbbell 哑铃(`charts.md` §58) | vsbar(`charts.md` §28) | A/B | `bullet` |
295
- | 排名 + 量值(比条形更轻) | lollipop 棒棒糖(`charts.md` §59) | hbar(`charts.md` §17) | A/B | `exhibit`(bar 变体) |
296
- | 构成 + 规模(双重维度) | marimekko 马赛克页(`infographics.md` §75) | treemap(`infographics.md` §72) | B/C | `marimekko` |
297
- | 周期性/多维强度(极坐标) | rose 玫瑰(`charts.md` §61) | radar(`charts.md` §22) | A/B | `exhibit`(bar 变体) |
298
- | 分布 / 离散程度 | dotplot 点图(`charts.md` §62) | scatter(`charts.md` §25) | B | `exhibit`(bar 变体) |
299
- | 目标 vs 实际(含定性区间) | bulletchart 子弹图(`charts.md` §63) | bullet 达成对比(§49) | A/B | `bullet` |
300
- | 素材图片(full/half/bleed/grid/compare/wall) | media 图片页(§11c) | split 左文右图(§32) | — | `image` |
301
- | 无素材但要锁版式(配图占位) | `.media--ph` 占位(§11c-3) | — | — | `image.placeholder` |
302
- | 待核实/待补充项收口 | flagbar 清单条(§11b) | tbd-legend 页级图例 | — | `flags` 字段 |
303
- | 构成占比(强调“每 1%”) | waffle 华夫图(`charts.md` §65) | 环形图(§42) | A/B | `donut` |
304
- | 多组分布 / 离散度对比 | boxplot 箱线图页(`infographics.md` §73) | dotplot(`charts.md` §62) | B/C | `boxplot` |
305
- | 主因排序(二八分析) | pareto 帕累托(`charts.md` §67) | 瀑布(`charts.md` §24) | A/B | `exhibit`(bar 变体) |
306
- | 多指标达成率(同心环) | radialbar 径向条形(`charts.md` §68) | gauge(`charts.md` §18) | A/B | `bullet` |
307
- | 结构随时间的此消彼长 | streamgraph 流带图页(`infographics.md` §76) | stackline(`charts.md` §23) | B/C | `streamgraph` |
308
- | 节点-边拓扑关系 | network 关系网络页(`infographics.md` §74) | A1 分层带(§42) | B/C | `network` |
309
- | 区间波动(开高低收) | candlestick K 线(`charts.md` §70) | line(`charts.md` §21) | A/B | `exhibit`(line 变体) |
310
-
311
- ---
312
-
313
- ## 46b. 密度分级适配(每页先定密度档,再套上表选版式)
314
-
315
- > §46 按**内容形态**选版式;本表按**内容丰富度**定密度——两维正交,先查 §46 定"用哪个版式",再用本表定"排多密"。完整规则见 `content-rules.md` §四-d。
316
-
317
- | 密度档 | 判定(presentation / research 基准) | 版式倾向 | 排版参数 |
318
- |-------|--------------------------------------|----------|----------|
319
- | **L 轻** | 1–2 单元 / 一图一主张 / 一核心数字 | kpi(§41)· 金句(§39)· D 全幅图(§43)· 环形图页(§42) | `band--fit` 居中;字号上限;图表大尺寸 |
320
- | **M 中** | 3–4 单元(research 一论证组) | `g-2` · `g-hero` / `g-hero--rev` · `g-side` / `g-side--rev` · `g-31` / `g-13` · `g-211` / `g-121` · `g-quad` · `g-aside` · comparison(§40)· R1/R7 | 标准字号与 gap;主次分明,非对称栅格优先 |
321
- | **H 重** | 5–6 单元(research ≤12;密表/矩阵) | `g-3` · `g-4` · `g-6` · `g-mosaic` · `g-hero-full` 指标墙(§45)· 表格(§7/8)· R3/R6/R8/R4 | 字号下限仍达标;`band--top`;超限先拆页 |
322
-
323
- **节奏规则**:连续两页 H 档 → 插一页 L 档休止;同一版式不连用超过 2 页(换栅格节奏,防"模板感")。
324
-
325
- ### 栅格与版式工具类(一)· 非对称双栏与自适应列
326
-
327
- ```html
328
- <!-- Hero 视觉居左(大图开场,文字收右侧) -->
329
- <div class="grid g-hero--rev">…</div>
330
- <!-- 图右文左(g-side 镜像:结论先行、证据靠右) -->
331
- <div class="grid g-side--rev">…</div>
332
- <!-- 3:1 非对称双栏(主内容 : 侧栏注解/指标) -->
333
- <div class="grid g-31">…</div>
334
- <!-- 1:3 非对称双栏(窄引言/导航 : 主内容) -->
335
- <div class="grid g-13">…</div>
336
- <!-- 4:1 / 1:4 强主次双栏(主件 + 窄侧栏:一行指标条 / 一列图例) -->
337
- <div class="grid g-41">…</div>
338
- <div class="grid g-14">…</div>
339
- <!-- 5 等分(一屏 5 个并列单元) -->
340
- <div class="grid g-5">…</div>
341
- <!-- 自适应列(卡片数量不定时自动折行,minmax(220px,1fr)) -->
342
- <div class="grid g-auto">…</div>
343
- ```
344
-
345
- 均随 1180/960/620px 断点自动塌列,与既有 `.g-*` 行为一致。
346
-
347
- ### 栅格与版式工具类(二)· 拼贴 / 交错图文 / 键值
348
-
349
- ```html
350
- <!-- 拼贴栅格 g-bento(Bento/马赛克):4 列基准 + 跨列/跨行;.sp-2/.sp-3/.sp-4 跨列,.rw-2 跨行 -->
351
- <div class="grid g-bento">
352
- <div class="card sp-2">主卡(跨 2 列)</div>
353
- <div class="card">小卡</div>
354
- <div class="card">小卡</div>
355
- <div class="card rw-2">竖长卡(跨 2 行)</div>
356
- </div>
357
- <!-- 交错图文 stagger(一行图左文右、一行文左图右,节奏感强) -->
358
- <div class="stagger">
359
- <div class="stagger__row"><div class="stagger__media">…图/卡…</div><div class="stagger__txt">…文…</div></div>
360
- <div class="stagger__row stagger__row--rev"><div class="stagger__media">…图/卡…</div><div class="stagger__txt">…文…</div></div>
361
- </div>
362
- <!-- 键值对照 kv(定义列表:指标口径 / 参数 / 对照项) -->
363
- <dl class="kv">
364
- <dt>统计口径</dt><dd>试点及以上企业占比(N=42)</dd>
365
- <dt>样本周期</dt><dd>2025-09 至 2026-08</dd>
366
- </dl>
367
- ```
368
-
369
- - `.g-bento` 窄屏降为 2 列(1180px)→ 1 列(620px),span 自动收敛;适合"一屏多个不等大单元"的经营快照/能力矩阵。
370
- - `.stagger` 窄屏(960px)自动取消镜像、单列堆叠。
371
- - `.kv` 用 `dt/dd` 语义标签;`dt` 加粗左列、`dd` 常规右列,适合表格的轻量替代(≤6 组)。
372
-
373
- ---
374
-
375
- ### 栅格与版式工具类(三)· 命名区马赛克与等高行
376
-
377
- ```html
378
- <!-- 三栏非对称:主栏 + 两个辅助栏(2:1:1) / 1:2:1 -->
379
- <div class="grid g-211">…主 · 辅 · 辅…</div>
380
- <div class="grid g-121">…辅 · 主 · 辅…</div>
381
- <!-- 2×2 象限(四宫格,每格等权,等高自动拉伸) -->
382
- <div class="grid g-quad">…四象限…</div>
383
- <!-- 主内容 + 粘性侧栏(长文/大图 + 常驻注解栏;侧栏随滚动吸附) -->
384
- <div class="grid g-aside">
385
- <div>…主内容…</div>
386
- <aside class="g-aside__side">…常驻注解 / 指标 / 图例…</aside>
387
- </div>
388
- <!-- 命名区马赛克:hero 通栏 + 三卡(一屏一重心) -->
389
- <div class="grid g-mosaic">
390
- <div class="g-mosaic__hero">…通栏主件…</div>
391
- <div class="g-mosaic__a">…</div><div class="g-mosaic__b">…</div><div class="g-mosaic__c">…</div>
392
- </div>
393
- <!-- 全幅主件 + 底部三等分(大图/大表 + 支撑卡) -->
394
- <div class="grid g-hero-full">
395
- <div class="g-hero-full__main">…全幅主件…</div>
396
- <div class="g-hero-full__s1">…</div><div class="g-hero-full__s2">…</div><div class="g-hero-full__s3">…</div>
397
- </div>
398
- <!-- 等高行分区(纵向节奏,替代等高卡片堆叠) -->
399
- <div class="grid rows-3">…三行等高…</div>
400
- <!-- 双列键值对照(宽屏两栏排定义,窄屏回落单列) -->
401
- <dl class="kv kv--2col">…</dl>
402
- ```
403
-
404
- - `g-211 / g-121`:三栏非对称,比 `g-3` 等分更有主次;窄屏(960px)塌为单列。
405
- - `g-quad`:四象限分析 / 四类并列;`grid-auto-rows:minmax(0,1fr)` 保证四格等高。
406
- - `g-aside`:主内容 + 粘性侧栏;侧栏 960px 以下取消吸附并堆到下方。
407
- - `g-mosaic / g-hero-full`:用 `grid-template-areas` 命名区;窄屏自动 `areas:none` 单列堆叠。
408
- - `rows-2 / rows-3`:等高行分区;内容超出时行高自然增长(不截断)。
409
-
410
- ---
411
-
412
- ## 46c. 组合版式矩阵(一页 = 主件 + 从件 + 注释层)
413
-
414
- > **单件页(只有一张图 / 一张表)是例外,不是默认。** 报告的"丰富"来自**组合**——把图、表、卡片、指标、图片、结构图按主次组织进一页,而不是给图加个标题、加一条 so-what。
415
- > **决策层**(分析意图 → 组合 → 页型,含合法组合表)见 `references/playbook.md` §四;本节给**可复制的组合代码**。
416
- > **纪律**:一屏一个视觉重心(主件明显大于从件);从件必须承载主件表达不了的信息(趋势 / 对比 / 含义),**不得复述主件数字**;注释层必写口径。
417
-
418
- ### 46c-1 组合一览(主件 → 从件 → 注释层 → 页型)
419
-
420
- | 组合 | 主件 | 从件 | 注释层 | 页型 |
421
- |------|------|------|--------|------|
422
- | 证据页主力 | 图表 | 要点 3–4 条(`.ul--ico`) | `.sowhat` + `.exhibit__src` | `exhibit` |
423
- | 结论先行 | 图表 | 左栏要点(`g-side` 镜像) | `.sowhat` | `split` |
424
- | 表图互证 | 密表 | 图表 | 口径行 | `halftable` |
425
- | 现状基线 | 指标带 4–6 个 | 小表 / 迷你图 | 口径行 | `metrics` |
426
- | 主张 + 基线 | 要点列表 | 指标带 | — | `points`(`metrics` 字段) |
427
- | 架构总览 | 分层图 | 图例 chips | 图注 1–2 行 | `diagram`(`legend`) |
428
- | 图文互证 | 图片 | 要点 3–4 条 | 图注 + `.media__src` | `image`(`layout:"half"`) |
429
- | 并列观察 | 卡片网格 | 结论条 | — | `cards` / `points` |
430
- | **双区自由组合** | 左区 / 右区各可为 图表·表格·图片·要点·指标 | — | `.sowhat` / `flags` | `split`(双区版) |
431
-
432
- > `split` 是组合页的通用解:`left` 与 `right` 各自可承载 图表 / 表格 / 图片 / 要点 / 指标(字段见 `model-schema.json`),因此 **图+图、图+表、表+文、指标+图** 都能在一页内成立。
433
-
434
- ### 46c-2 代码:主件图 + 从件要点 + 注释层(最常用)
435
-
436
- ```html
437
- <div class="grid g-side rv" style="align-items:start">
438
- <div class="fig"><!-- 主件:宽 ≥ 版心 55%,取 charts.minSize 之上 --></div>
439
- <div class="stack gap-4">
440
- <h3 class="t-h3">怎么读这张图</h3>
441
- <ul class="ul ul--ico">
442
- <li><!-- icons.md 取图标 --><strong>结论一。</strong>图里读不出的含义。</li>
443
- <li><strong>结论二。</strong>对比或趋势判断。</li>
444
- <li><strong>结论三。</strong>下一步动作。</li>
445
- </ul>
446
- </div>
447
- </div>
448
- <div class="sowhat rv"><span class="sowhat__k">So what</span>
449
- <span class="sowhat__v">一行含义(≤60 字)。</span></div>
450
- ```
451
-
452
- ### 46c-3 代码:双区自由组合(左图 + 右表 / 左文 + 右图)
453
-
454
- ```html
455
- <!-- 左图右表:两张不同维度的证据同屏互证 -->
456
- <div class="grid g-2 rv" style="align-items:start">
457
- <div class="fig"><div class="fig__cap">图:结构与趋势</div><!-- svg.chart --></div>
458
- <div class="tbl-wrap"><table><!-- ≤8 行小表:明细与口径 --></table></div>
459
- </div>
460
-
461
- <!-- 左文右图:结论先行(g-side--rev 可镜像) -->
462
- <div class="grid g-side rv" style="align-items:start">
463
- <div class="stack gap-4"><h3 class="t-h3">判断</h3><ul class="ul">…</ul></div>
464
- <div class="fig"><!-- 主件图 --></div>
465
- </div>
466
- ```
467
-
468
- ### 46c-4 代码:主件全幅 + 底部支撑带(大图 + 三卡)
469
-
470
- ```html
471
- <div class="grid g-hero-full rv">
472
- <div class="g-hero-full__main"><!-- 全幅主件:大图 / 大表 --></div>
473
- <div class="g-hero-full__s1"><div class="card">支撑一</div></div>
474
- <div class="g-hero-full__s2"><div class="card">支撑二</div></div>
475
- <div class="g-hero-full__s3"><div class="card">支撑三</div></div>
476
- </div>
477
- ```
478
-
479
- ### 46c-5 代码:不等大拼贴(一屏一重心 + 多个从件)
480
-
481
- ```html
482
- <div class="grid g-bento rv">
483
- <div class="card sp-2"><!-- 主卡(跨 2 列):核心结论 --></div>
484
- <div class="card"><!-- 小卡 --></div>
485
- <div class="card"><!-- 小卡 --></div>
486
- <div class="card rw-2"><!-- 竖长卡(跨 2 行):明细 / 时间线 --></div>
487
- </div>
488
- ```
489
-
490
- > **组合版式与 PPTX 同源**:上表每个组合都映射到一个已登记页型(`split` / `halftable` / `exhibit` / `metrics` / `points` / `diagram` / `image` / `cards`),因此**不会出现"HTML 排得丰富、PPTX 交付不出来"**。新增组合前先确认页型已登记(`model-schema.json` + `layout-constants.json` `pageTypeGeometry`)。
491
- > **校验**:research 模式下「含 ≥2 种承载类型的内容页 ≥30%」由 `validate_report.py` 的 `图表多样性 / 组合版式` 检查把关(阈值单源 `charts.variety.compositeMinRatio`)。
492
-
493
- ---
494
-
495
- ## 47. 步骤条页(锁定版式 · 三模式通用)`steps`
496
-
497
- **用途**:实施节奏 / 操作流程 / 阶段推进(3–6 步最佳,超 6 步折行;可分阶段分组)。
498
- **内容形态**:每步一个动作 + 一句说明;关键步用 `.step--a` 高亮。
499
-
500
- ```html
501
- <section class="band" id="s7">
502
- <div class="wrap">
503
- <div class="shead rv">
504
- <div class="t-eyebrow">05 · 落地节奏</div>
505
- <h2 class="t-h1 shead__title">四步走:从单场景试点到平台化放量</h2>
506
- </div>
507
- <!-- 可选分组标签(多阶段时用;单段可删) -->
508
- <div class="steps__phase rv">第一阶段 · 打基础</div>
509
- <div class="steps rv">
510
- <div class="step"><div class="step__n">01</div>
511
- <div class="step__t">选场景</div><div class="step__d">客服 / 研发 / 数据三类先跑通</div></div>
512
- <div class="step step--a"><div class="step__n">02</div>
513
- <div class="step__t">建平台</div><div class="step__d">三层解耦 + 统一编排(关键步高亮)</div></div>
514
- <div class="step"><div class="step__n">03</div>
515
- <div class="step__t">立治理</div><div class="step__d">权限、审计、回退进平台层</div></div>
516
- <div class="step"><div class="step__n">04</div>
517
- <div class="step__t">放量复制</div><div class="step__d">同一套护栏复制到新场景</div></div>
518
- </div>
519
- </div>
520
- </section>
521
- ```
522
-
523
- **规则**:步数 3–6;每步标题 ≤8 字、说明 ≤30 字;`.step--a` 全文 ≤2 处;PPTX 页型 `steps`(超 `maxPerRow:6` 自动折行,`groups` 字段可分组)。
524
-
525
- ---
526
-
527
- ## 48. 热力矩阵页(锁定版式 · A/B)`heatmap`
528
-
529
- **用途**:二维强度对标(行业 × 场景、区域 × 品类、团队 × 能力),比矩阵更适合**有数值强度**的场景。
530
-
531
- ```html
532
- <div class="heat rv">
533
- <div class="heat__grid" style="--heat-cols:5;--heat-label:132px">
534
- <div></div>
535
- <div class="heat__h">客服</div><div class="heat__h">研发</div><div class="heat__h">营销</div>
536
- <div class="heat__h">供应链</div><div class="heat__h">财务</div>
537
- <div class="heat__rh">金融</div>
538
- <div class="heat__c heat__c--3">78<small>高</small></div>
539
- <div class="heat__c heat__c--1">46<small>中</small></div>
540
- <div class="heat__c heat__c--2">63<small>中高</small></div>
541
- <div class="heat__c">38<small>低</small></div>
542
- <div class="heat__c heat__c--2">61<small>中高</small></div>
543
- </div>
544
- <div class="heat__legend">
545
- <span>就绪度</span>
546
- <span class="heat__sw" style="background:var(--surface-1)"></span>
547
- <span class="heat__sw" style="background:var(--accent-soft)"></span>
548
- <span class="heat__sw" style="background:var(--accent-soft-2)"></span>
549
- <span class="heat__sw" style="background:var(--accent)"></span>
550
- <span>低 → 高(单位:分)</span>
551
- </div>
552
- </div>
553
- ```
554
-
555
- **规则**:4 级色阶(`--1/--2/--3` + 默认)**只用强调色明度阶梯**,不引入第二色相;行列 ≤5×5(超了改附录密表);单元格数值 + 一行强度词;口径写 `.footnote`。PPTX 页型 `heatmap`(`rowHeads/colHeads/cells/unit/scaleLabel`)。
556
-
557
- ---
558
-
559
- ## 49. 达成对比页(锁定版式 · A/B)`bullet`
560
-
561
- **用途**:目标 vs 实际(OKR 复盘、能力就绪度、KPI 达成);比双向条形更适合"有明确目标线"的场景。
562
-
563
- ```html
564
- <div class="bul rv" style="--bul-label:minmax(0,2.4fr)">
565
- <div class="bul__row">
566
- <div class="bul__k">场景覆盖</div>
567
- <div class="bul__track"><div class="bul__fill" style="width:61%"></div>
568
- <div class="bul__tgt" style="left:80%"></div></div>
569
- <div class="bul__v"><b>61%</b> / 80%</div>
570
- </div>
571
- <div class="bul__row bul__row--warn">
572
- <div class="bul__k">治理就绪</div>
573
- <div class="bul__track"><div class="bul__fill" style="width:34%"></div>
574
- <div class="bul__tgt" style="left:75%"></div></div>
575
- <div class="bul__v"><b>34%</b> / 75%</div>
576
- </div>
577
- </div>
578
- ```
579
-
580
- **规则**:`bul__fill` 的 width 与 `bul__tgt` 的 left 用**同一量纲百分比**(建议统一以 `max` 为 100%);未达标行加 `.bul__row--warn`(填充转中性色,不引入红绿);行数 ≤6。PPTX 页型 `bullet`(`items:[[标签,实际,目标]…]` + `unit`/`max`)。
581
-
582
- ---
583
-
584
- ## 50. 金字塔页(锁定版式 · 三模式通用)`pyramid`
585
-
586
- **用途**:层级递进(价值阶梯、能力成熟度、优先级金字塔);**顶层最窄**,逐层加宽。
587
-
588
- ```html
589
- <div class="pyr rv">
590
- <div class="pyr__lvl" style="--w:42%">
591
- <div class="pyr__t">自主决策</div><div class="pyr__d">护栏内自动执行,人工只审例外</div></div>
592
- <div class="pyr__lvl pyr__lvl--a" style="--w:72%">
593
- <div class="pyr__t">副驾协同</div><div class="pyr__d">人机分工明确(当前主力形态)</div></div>
594
- <div class="pyr__lvl" style="--w:100%">
595
- <div class="pyr__t">问答与检索</div><div class="pyr__d">知识问答、找数问数,替换成本最低</div></div>
596
- </div>
597
- ```
598
-
599
- **规则**:层级 3–5 层;`--w` 单调递增(建议 42/72/100 或 34/56/78/100);`--a` 强调层 ≤1;层标题 ≤6 字、说明 ≤24 字。PPTX 页型 `pyramid`(`levels`)。
600
-
1
+ # 结构组件与锁定版式 · layouts-combo.md
2
+
3
+ > 由 `components.md` 拆出(§编号保持不变,跨文件稳定引用)。
4
+ > 取码:`python scripts/extract_snippet.py --file components.md --section <编号>`
5
+ > 或直接 `--file layouts-combo.md --section <编号>`。整读大文件视为违规。
6
+
7
+ ## 32. 版式 A:左图右文(一个大图 + 一组解读)
8
+
9
+ ```html
10
+ <section class="band" id="s3">
11
+ <div class="wrap">
12
+ <div class="shead rv">…章节头…</div>
13
+ <div class="grid g-side rv" style="align-items:center">
14
+ <div class="fig"><!-- 主图:柱/折线/架构 SVG,宽 ≥ 版心 55% --></div>
15
+ <div class="stack gap-5">
16
+ <h3 class="t-h3">怎么读这张图</h3>
17
+ <ul class="ul">
18
+ <li><strong>结论一。</strong>一句话。</li>
19
+ <li><strong>结论二。</strong>一句话。</li>
20
+ <li><strong>结论三。</strong>一句话。</li>
21
+ </ul>
22
+ <div class="note">…可选:一句强调…</div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </section>
27
+ ```
28
+
29
+ ---
30
+
31
+ ## 33. 版式 B:表 + 图并排(对照阅读)
32
+
33
+ ```html
34
+ <div class="grid g-2 rv" style="align-items:start">
35
+ <div class="fig"><!-- 环形/条形图 --></div>
36
+ <div class="tbl-wrap">
37
+ <table><!-- 3–5 行小表,与图互相印证 --></table>
38
+ </div>
39
+ </div>
40
+ ```
41
+
42
+ > 两栏**顶边对齐**(`align-items:start`);表行数 ≤5,图选中尺寸(环形 150–170px);高度差过大时给矮的一侧补一张 `card--flat` 注解卡。
43
+
44
+ ---
45
+
46
+ ## 34. 版式 C:2×2 卡图混排(四象限)
47
+
48
+ ```html
49
+ <div class="grid g-2 rv">
50
+ <div class="card"><!-- 左上:要点卡 --></div>
51
+ <div class="fig" style="text-align:center"><!-- 右上:环形/雷达 --></div>
52
+ <div class="fig"><!-- 左下:条形/柱 --></div>
53
+ <div class="card"><!-- 右下:要点卡 --></div>
54
+ </div>
55
+ ```
56
+
57
+ > 图与卡**对角分布**,视觉平衡;每格内容 ≤4 条;1080p 下 2×2 是密度上限,更多就拆页。
58
+
59
+ ---
60
+
61
+ ---
62
+
63
+ ## 39. 大引言 / 金句页(节奏休止页 · 三模式通用 · 主题一致)
64
+
65
+ > 强调带 + 一句话主张。用于演示模式的"节奏休止"(连续数据页之间的呼吸口)或报告的核心判断页。**全文 1–2 处即可,多了廉价**;不加任何多余的页头角标/页脚信息。
66
+ > 默认 `band--accent`(软强调,亮暗同向);更强用 `band--accent--solid`(强调色实底)。**不用 `band--deep`**——浅色模式下它会渲染成深色页。
67
+
68
+ ```html
69
+ <section class="band band--accent band--fit" id="quote-1">
70
+ <div class="wrap">
71
+ <div class="shead shead--center rv">
72
+ <div class="t-eyebrow">03 · 关键判断</div>
73
+ <h2 class="t-h1 shead__title">治理不是把数据管起来,<br>而是让好数据被用起来</h2>
74
+ <div style="font-size:clamp(40px,4.6vh,56px);font-weight:700;color:var(--accent);line-height:1;margin-top:var(--sp-4)">「</div>
75
+ <p class="t-lead" style="max-width:860px;margin-inline:auto;font-size:clamp(18px,2.2vh,22px);font-weight:600">穿越分水岭的钥匙是平台化,不是更大的模型。</p>
76
+ <p class="t-sm" style="margin-top:var(--sp-4);color:var(--accent-text)">—— 企业智能体发展调研 · 42 家深度访谈</p>
77
+ </div>
78
+ </div>
79
+ </section>
80
+ ```
81
+
82
+ > **PPTX 映射**:金句页 → `quote` 页型(主题一致强调带:accent-soft 底 + 常规文字 + accent 引号/署名;`{quote, author, context?}`)。HTML 版式在标题下加大引号 `「` 与署名行,与 PPTX 同源。
83
+
84
+ ---
85
+
86
+ ## 40. 对比页(锁定版式 · presentation / research 通用)
87
+
88
+ > 左右双栏对照(现状 vs 目标 / 方案 A vs B / 之前 vs 之后),结论条收口。两栏同构同高(`.grid.g-half` + 两张 `.card`),右栏用强调底 `--accent-soft` 标示"目标态"。
89
+
90
+ ```html
91
+ <div class="grid g-half rv">
92
+ <div class="card">
93
+ <h3 class="t-h3">堆场景路径 · 现状</h3>
94
+ <ul class="ul">
95
+ <li><strong>接入慢。</strong>每场景重复对接工具与权限。</li>
96
+ <li><strong>治理弱。</strong>事后审计,回退靠人工。</li>
97
+ </ul>
98
+ </div>
99
+ <div class="card" style="background:var(--accent-soft);border-color:transparent">
100
+ <h3 class="t-h3" style="color:var(--accent)">平台化路径 · 目标</h3>
101
+ <ul class="ul">
102
+ <li><strong>接入快。</strong>统一编排,接入成本降一个量级。</li>
103
+ <li><strong>治理内嵌。</strong>权限、审计、回退进平台层。</li>
104
+ </ul>
105
+ </div>
106
+ </div>
107
+ <div class="sowhat rv">
108
+ <span class="sowhat__k">结论</span>
109
+ <span class="sowhat__v">平台化不是可选项,而是规模化穿越分水岭的唯一共同路径。</span>
110
+ </div>
111
+ ```
112
+
113
+ > 每栏要点 ≤4 条、同构对仗(同一维度正面 vs 反面);结论条演示模式用 `.sowhat__k` 写"结论",research 沿用"So what"。
114
+ > **PPTX 映射**:`comparison` 页型——`left/right = {title, points:[[k,v]…]}`,左 surface / 右 soft 面板 + `verdict`(结论条,accent 实底);research 亦可填 `soWhat`(soft 底结论条,与 R 系页型通用件同源)。
115
+
116
+ ---
117
+
118
+ ## 41. 大数指标页(锁定版式 · presentation / research 通用)
119
+
120
+ > 一个压场巨号数字(hero)+ 右列支撑指标。用于"单点核心数字撑起一页"的节奏页:hero 数字 56–76px 走 `--accent`,标签 + 同比变化(▲)在其下;右侧 2–4 个 `.metric` 支撑。
121
+
122
+ ```html
123
+ <div class="grid g-side rv" style="align-items:center">
124
+ <div class="stack gap-3">
125
+ <div class="t-metric" style="color:var(--accent);font-size:clamp(56px,7vh,76px)">61%</div>
126
+ <div class="t-h3">2025 企业智能体试点率</div>
127
+ <div class="t-sm" style="color:var(--accent);font-weight:600">▲ +6pt vs 2024</div>
128
+ </div>
129
+ <div class="grid g-3">
130
+ <div class="metric">
131
+ <div class="metric__v t-metric">18<small>%</small></div>
132
+ <div class="metric__k">规模化运行占比</div>
133
+ <div class="metric__n">3 个以上场景稳定运行</div>
134
+ </div>
135
+ <!-- …2–3 个支撑指标 -->
136
+ </div>
137
+ </div>
138
+ ```
139
+
140
+ > hero 数字必须"一数一结论"(标题负责结论句,hero 负责证据);支撑指标 ≤4 个、与 hero 不重复同一数字。
141
+ > **PPTX 映射**:`kpi` 页型——`hero=[值, 标签, delta?]` + `metrics:[[值, 注]…]`(竖分隔线左右分栏,几何见 `layout-constants.json` 的 `PT.kpi`)。
142
+
143
+ ---
144
+
145
+ ## 42. 环形图页(锁定版式 · presentation / research 通用)
146
+
147
+ > 占比结构图(3–5 扇区)。环形走 SVG `circle` + `stroke-dasharray` 弧段(12 点钟起顺时针),中心洞放合计值 + 标签,右侧图例行(色点 chip + 数值列表)。
148
+
149
+ ```html
150
+ <svg class="chart" data-chart="donut" viewBox="0 0 150 150" style="width:200px;margin-inline:auto">
151
+ <circle cx="75" cy="75" r="54" class="f-none s-bds" stroke-width="26"/>
152
+ <circle cx="75" cy="75" r="54" class="f-acc" stroke-width="26"
153
+ stroke-dasharray="61.1 278.2" transform="rotate(-90 75 75)"><title>已规模化 18%</title></circle>
154
+ <!-- 每扇区一个 circle:dasharray = 弧长 余长(C=339.3,r=54);rotate 依次累加扇区角度 -->
155
+ <text x="75" y="72" text-anchor="middle" class="f-txt" font-size="22" font-weight="600">100%</text>
156
+ <text x="75" y="92" text-anchor="middle" class="f-txt3" font-size="10">企业占比</text>
157
+ </svg>
158
+ ```
159
+
160
+ > 显示宽 ≥140px(铁律 12);扇区 ≤5、最小扇区 ≥8%(太小合并为"其他");色板走语义类(`f-acc / f-accs / f-s2`),spectrum 风格用 `f-c1~c5`;中心合计须与图例自洽。
161
+ > **PPTX 映射**:`donut` 页型——原生 `pie` 楔形(angleRange 角度拆分两通道同规则)+ 背景色圆挖孔 + 中心合计 + 右侧图例(色点/标签/值/占比),`chart={labels, values, unit?, centerLabel?}`;几何见 `PT.donut`。
162
+
163
+ ---
164
+
165
+ ## 43. 版式 D:全幅图表页(一个图撑满一页)
166
+
167
+ > 单图信息量大、需要全场聚焦时用:架构总览 / 全景趋势 / 复杂管线 / 大型对比。图占版心 ≥90%,标题负责结论、图负责证据、图注收口。三模式通用(architecture 模式下即 A1/A3 的全幅用法)。
168
+
169
+ ```html
170
+ <section class="band band--fit" id="sX">
171
+ <div class="wrap">
172
+ <div class="shead rv">
173
+ <div class="t-eyebrow">0X · 关键词</div>
174
+ <h2 class="t-h1 shead__title">一句主张(标题负责结论,图负责证据)</h2>
175
+ </div>
176
+ <figure class="fig fig--full rv" style="padding:clamp(16px,2vw,28px)">
177
+ <!-- 主图:宽 ≥ 版心 90%,高 420–560px;数据系列用 f-acc/f-s3(spectrum 用 f-c1~c5) -->
178
+ <svg class="chart" data-chart="…" viewBox="0 0 1200 480" style="width:100%">…</svg>
179
+ <figcaption class="fig__cap" style="margin-top:var(--sp-3)">图注一行:怎么读 + 口径说明</figcaption>
180
+ </figure>
181
+ </div>
182
+ </section>
183
+ ```
184
+
185
+ > 图内文字 ≥11px;节点/系列 ≤24;超过先精简再拆页。**PPTX 映射**:`diagram`(architecture)或 `exhibit`/`bar`(A/B 模式)。
186
+
187
+ ---
188
+
189
+ ## 44. 版式 E:里程碑时间线页
190
+
191
+ > 路线图 / 排期 / 阶段复盘。3–5 个里程碑,每个 ≤2 行说明;当前阶段 `tl__i--now`、已完成 `tl__i--done`;关键里程碑挂 chip。
192
+
193
+ ```html
194
+ <section class="band" id="sX">
195
+ <div class="wrap">
196
+ <div class="shead rv">
197
+ <div class="t-eyebrow">0X · 路线图</div>
198
+ <h2 class="t-h1 shead__title">四季度三里程碑:平台先行,场景分层放量</h2>
199
+ </div>
200
+ <div class="fig rv" style="padding:clamp(24px,2.4vw,36px)">
201
+ <div class="tl">
202
+ <div class="tl__i tl__i--done">
203
+ <div class="tl__d"></div>
204
+ <div class="tl__l">2026 Q3</div>
205
+ <div class="tl__t">平台层就绪</div>
206
+ <p class="t-body">统一编排与护栏上线。</p>
207
+ <div class="row row-wrap" style="margin-top:var(--sp-3)">
208
+ <span class="chip chip--accent">已交付</span>
209
+ </div>
210
+ </div>
211
+ <div class="tl__i tl__i--now"><!-- 当前阶段:关键里程碑 chip --></div>
212
+ <div class="tl__i"><!-- 后续阶段 --></div>
213
+ </div>
214
+ </div>
215
+ </div>
216
+ </section>
217
+ ```
218
+
219
+ > **PPTX 映射**:`timeline` 页型(阶段横排,当前阶段强调)。甘特排期(任务条 + 依赖)继续用 `data-chart="gantt"`(`charts.md` §27),两者不要混用:里程碑叙事用时间线、并行排期用甘特。
220
+
221
+ ---
222
+
223
+ ## 45. 版式 F:指标墙页
224
+
225
+ > 现状基线 / 经营快照 / 复盘仪表。6±2 个指标一排(`g-6`),带类别小图标(`metric__ico`)分组感,口径行收口;research 模式即 R4 指标带页。单数压场用 §41 kpi 版式,不要混。
226
+
227
+ ```html
228
+ <section class="band band--top" id="sX">
229
+ <div class="wrap">
230
+ <div class="shead rv">
231
+ <div class="t-eyebrow">0X · 现状基线</div>
232
+ <h2 class="t-h1 shead__title">六组基线数字勾勒落地现状</h2>
233
+ </div>
234
+ <div class="grid g-6 rv">
235
+ <div class="metric">
236
+ <svg class="metric__ico" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><!-- 类别图标 --></svg>
237
+ <div class="metric__v t-metric">62<small>TB</small></div>
238
+ <div class="metric__k">指标名</div>
239
+ <div class="metric__n">一行注解</div>
240
+ </div>
241
+ <!-- …同构 ≤6 张;指标 ≥7 时合并或拆两页… -->
242
+ </div>
243
+ <div class="row row-wrap rv" style="margin-top:var(--sp-5)">
244
+ <div class="t-sm" style="color:var(--text-3)">口径:统计周期与样本说明<a class="cite" href="#ref-1">[1]</a></div>
245
+ </div>
246
+ </div>
247
+ </section>
248
+ ```
249
+
250
+ > **PPTX 映射**:`metrics` 页型。带趋势的指标用迷你 sparkline(`charts.md` §30);问题项 `metric--warn` 数量 ≤2。
251
+
252
+ ---
253
+
254
+ ## 46. 版式选型速查表(内容形态 → 版式 → PPTX 页型)
255
+
256
+ > 拿到内容先查这张表再动手;模式列空白 = 三模式通用。**禁止临场发明表外结构**——需要新结构时先扩本表与 PPTX 页型(四件套纪律),再使用。
257
+
258
+ | 内容形态 | 首选版式 | 次选 | 模式 | PPTX 页型 |
259
+ |---------|---------|------|------|-----------|
260
+ | 要点式并列主张(默认页型) | points 要点列表(§5 卡片 / §15b 图标列表) | cards(§5) | — | `points` |
261
+ | 一个大图 + 一组解读 | A 左图右文(§32) | D 全幅图表(§43) | — | `split` / `bar` / `exhibit` |
262
+ | 单图全场聚焦(架构/全景) | D 全幅图表(§43) | A1 分层带(§37) | C | `diagram` / `exhibit` |
263
+ | 现状基线 / 指标快照 | F 指标墙(§45) | R4 指标带 | B→F | `metrics` |
264
+ | 单个核心数字压场 | kpi 大数页(§41) | — | A/B | `kpi` |
265
+ | 构成占比(环形口径) | 环形图页(§42) | R7 半表半图 | A/B | `donut` / `halftable` |
266
+ | 构成占比(饼图口径) | pie 饼图(`charts.md` §16 变体) | 环形图页(§42) | A/B | `donut` |
267
+ | 构成占比(多系列 ≤4 段) | multidonut 多段环形(`charts.md` §29) | 环形图页(§42) | A/B | `donut` |
268
+ | 指标卡内嵌迷你趋势 | sparkline 迷你趋势线(`charts.md` §30 / §55) | — | — | `metrics` / `kpi` |
269
+ | 趋势 / 爬坡 | 版式 A + 折线 | R2 Exhibit | — | `exhibit`(chart bar/hbar) |
270
+ | 现状 vs 目标 / 方案对比 | comparison 对比页(§40) | vsbar 双向条形(`charts.md` §28) | A/B | `comparison` |
271
+ | 多维对标清单 | 表格(§7/8) | R3 密表 | B 密排 | `table` |
272
+ | 并列论点(3 个) | 三卡 g-3 / R6 三栏(§36e) | cards | A/B | `cards` / `threecol` |
273
+ | 完整论述(发现→证据→含义) | R1 双栏论证(§36) | R5 分栏证据 | B | `twocol` / `split` |
274
+ | 路线图 / 里程碑叙事 | E 时间线(§44) | 甘特 gantt(`charts.md` §27) | — | `timeline` |
275
+ | 并行排期(任务条+依赖) | 甘特(`charts.md` §27) | E 时间线(§44,仅里程碑) | — | `bar`(chart.type=gantt) |
276
+ | 定位 / 优先级 / 象限 | R8 矩阵(§36f) | scatter 散点(`charts.md` §25) | B | `matrix` |
277
+ | 系统分层架构 | A1 分层带(§37) | A3 管线(§38) | C | `diagram` |
278
+ | 流程 / 职责协作 | A2 泳道(§38b) | A3 管线 | C | `lane` |
279
+ | 端到端链路 | A3 管线(§38) | A2 泳道 | C | `lane` |
280
+ | 关键判断 / 金句休止 | 金句页(§39) | 深色收尾章(§11) | A 为主 | `quote` |
281
+ | 转化 / 筛选漏斗 | funnel(`charts.md` §26) | 版式 A | — | `exhibit`(bar 变体) |
282
+ | 增减归因(A→B) | waterfall 瀑布(`charts.md` §24) | 版式 A | — | `exhibit`(bar 变体) |
283
+ | 步骤 / 实施节奏(3–6 步) | steps 步骤条(§47) | E 时间线(§44) | — | `steps` |
284
+ | 二维强度对标(行业×场景) | heatmap 热力矩阵(§48) | R8 矩阵(§36f) | A/B | `heatmap` |
285
+ | 目标达成度对照(实际 vs 目标) | bullet 达成对比(§49) | vsbar(`charts.md` §28) | A/B | `bullet` |
286
+ | 层级递进 / 价值阶梯 | pyramid 金字塔(§50) | A1 分层带(§37) | — | `pyramid` |
287
+ | 份额悬殊的构成(面积编码) | treemap 树图页(`infographics.md` §72) | 环形图页(§42) | B/C | `treemap` |
288
+ | 双指标趋势对比(两条线) | dualline 双折线(`charts.md` §52) | R2 Exhibit | — | `exhibit`(chart line) |
289
+ | 累计量趋势(强调量级) | area 面积图(`charts.md` §52) | 折线(`charts.md` §21) | — | `exhibit`(chart area) |
290
+ | 双维分布 + 第三维权重 | bubble 气泡图(`charts.md` §53) | scatter(`charts.md` §25) | B | `exhibit`(bar 变体) |
291
+ | 多项目完成度进度 | progress 进度条组(`charts.md` §54) | bullet(§49) | A/B | `bullet` |
292
+ | 多对多流向 / 归因路径 | sankey 桑基页(`infographics.md` §71) | 漏斗(`charts.md` §26) | B/C | `sankey` |
293
+ | 两期排名/份额升降(谁升谁降) | slope 斜率(`charts.md` §57) | dumbbell(`charts.md` §58) | A/B | `exhibit`(chart line) |
294
+ | 单指标前后对比(多对象) | dumbbell 哑铃(`charts.md` §58) | vsbar(`charts.md` §28) | A/B | `bullet` |
295
+ | 排名 + 量值(比条形更轻) | lollipop 棒棒糖(`charts.md` §59) | hbar(`charts.md` §17) | A/B | `exhibit`(bar 变体) |
296
+ | 构成 + 规模(双重维度) | marimekko 马赛克页(`infographics.md` §75) | treemap(`infographics.md` §72) | B/C | `marimekko` |
297
+ | 周期性/多维强度(极坐标) | rose 玫瑰(`charts.md` §61) | radar(`charts.md` §22) | A/B | `exhibit`(bar 变体) |
298
+ | 分布 / 离散程度 | dotplot 点图(`charts.md` §62) | scatter(`charts.md` §25) | B | `exhibit`(bar 变体) |
299
+ | 目标 vs 实际(含定性区间) | bulletchart 子弹图(`charts.md` §63) | bullet 达成对比(§49) | A/B | `bullet` |
300
+ | 素材图片(full/half/bleed/grid/compare/wall) | media 图片页(§11c) | split 左文右图(§32) | — | `image` |
301
+ | 无素材但要锁版式(配图占位) | `.media--ph` 占位(§11c-3) | — | — | `image.placeholder` |
302
+ | 待核实/待补充项收口 | flagbar 清单条(§11b) | tbd-legend 页级图例 | — | `flags` 字段 |
303
+ | 构成占比(强调“每 1%”) | waffle 华夫图(`charts.md` §65) | 环形图(§42) | A/B | `donut` |
304
+ | 多组分布 / 离散度对比 | boxplot 箱线图页(`infographics.md` §73) | dotplot(`charts.md` §62) | B/C | `boxplot` |
305
+ | 主因排序(二八分析) | pareto 帕累托(`charts.md` §67) | 瀑布(`charts.md` §24) | A/B | `exhibit`(bar 变体) |
306
+ | 多指标达成率(同心环) | radialbar 径向条形(`charts.md` §68) | gauge(`charts.md` §18) | A/B | `bullet` |
307
+ | 结构随时间的此消彼长 | streamgraph 流带图页(`infographics.md` §76) | stackline(`charts.md` §23) | B/C | `streamgraph` |
308
+ | 节点-边拓扑关系 | network 关系网络页(`infographics.md` §74) | A1 分层带(§42) | B/C | `network` |
309
+ | 区间波动(开高低收) | candlestick K 线(`charts.md` §70) | line(`charts.md` §21) | A/B | `exhibit`(line 变体) |
310
+
311
+ ---
312
+
313
+ ## 46b. 密度分级适配(每页先定密度档,再套上表选版式)
314
+
315
+ > §46 按**内容形态**选版式;本表按**内容丰富度**定密度——两维正交,先查 §46 定"用哪个版式",再用本表定"排多密"。完整规则见 `content-rules.md` §四-d。
316
+
317
+ | 密度档 | 判定(presentation / research 基准) | 版式倾向 | 排版参数 |
318
+ |-------|--------------------------------------|----------|----------|
319
+ | **L 轻** | 1–2 单元 / 一图一主张 / 一核心数字 | kpi(§41)· 金句(§39)· D 全幅图(§43)· 环形图页(§42) | `band--fit` 居中;字号上限;图表大尺寸 |
320
+ | **M 中** | 3–4 单元(research 一论证组) | `g-2` · `g-hero` / `g-hero--rev` · `g-side` / `g-side--rev` · `g-31` / `g-13` · `g-211` / `g-121` · `g-quad` · `g-aside` · comparison(§40)· R1/R7 | 标准字号与 gap;主次分明,非对称栅格优先 |
321
+ | **H 重** | 5–6 单元(research ≤12;密表/矩阵) | `g-3` · `g-4` · `g-6` · `g-mosaic` · `g-hero-full` 指标墙(§45)· 表格(§7/8)· R3/R6/R8/R4 | 字号下限仍达标;`band--top`;超限先拆页 |
322
+
323
+ **节奏规则**:连续两页 H 档 → 插一页 L 档休止;同一版式不连用超过 2 页(换栅格节奏,防"模板感")。
324
+
325
+ ### 栅格与版式工具类(一)· 非对称双栏与自适应列
326
+
327
+ ```html
328
+ <!-- Hero 视觉居左(大图开场,文字收右侧) -->
329
+ <div class="grid g-hero--rev">…</div>
330
+ <!-- 图右文左(g-side 镜像:结论先行、证据靠右) -->
331
+ <div class="grid g-side--rev">…</div>
332
+ <!-- 3:1 非对称双栏(主内容 : 侧栏注解/指标) -->
333
+ <div class="grid g-31">…</div>
334
+ <!-- 1:3 非对称双栏(窄引言/导航 : 主内容) -->
335
+ <div class="grid g-13">…</div>
336
+ <!-- 4:1 / 1:4 强主次双栏(主件 + 窄侧栏:一行指标条 / 一列图例) -->
337
+ <div class="grid g-41">…</div>
338
+ <div class="grid g-14">…</div>
339
+ <!-- 5 等分(一屏 5 个并列单元) -->
340
+ <div class="grid g-5">…</div>
341
+ <!-- 自适应列(卡片数量不定时自动折行,minmax(220px,1fr)) -->
342
+ <div class="grid g-auto">…</div>
343
+ ```
344
+
345
+ 均随 1180/960/620px 断点自动塌列,与既有 `.g-*` 行为一致。
346
+
347
+ ### 栅格与版式工具类(二)· 拼贴 / 交错图文 / 键值
348
+
349
+ ```html
350
+ <!-- 拼贴栅格 g-bento(Bento/马赛克):4 列基准 + 跨列/跨行;.sp-2/.sp-3/.sp-4 跨列,.rw-2 跨行 -->
351
+ <div class="grid g-bento">
352
+ <div class="card sp-2">主卡(跨 2 列)</div>
353
+ <div class="card">小卡</div>
354
+ <div class="card">小卡</div>
355
+ <div class="card rw-2">竖长卡(跨 2 行)</div>
356
+ </div>
357
+ <!-- 交错图文 stagger(一行图左文右、一行文左图右,节奏感强) -->
358
+ <div class="stagger">
359
+ <div class="stagger__row"><div class="stagger__media">…图/卡…</div><div class="stagger__txt">…文…</div></div>
360
+ <div class="stagger__row stagger__row--rev"><div class="stagger__media">…图/卡…</div><div class="stagger__txt">…文…</div></div>
361
+ </div>
362
+ <!-- 键值对照 kv(定义列表:指标口径 / 参数 / 对照项) -->
363
+ <dl class="kv">
364
+ <dt>统计口径</dt><dd>试点及以上企业占比(N=42)</dd>
365
+ <dt>样本周期</dt><dd>2025-09 至 2026-08</dd>
366
+ </dl>
367
+ ```
368
+
369
+ - `.g-bento` 窄屏降为 2 列(1180px)→ 1 列(620px),span 自动收敛;适合"一屏多个不等大单元"的经营快照/能力矩阵。
370
+ - `.stagger` 窄屏(960px)自动取消镜像、单列堆叠。
371
+ - `.kv` 用 `dt/dd` 语义标签;`dt` 加粗左列、`dd` 常规右列,适合表格的轻量替代(≤6 组)。
372
+
373
+ ---
374
+
375
+ ### 栅格与版式工具类(三)· 命名区马赛克与等高行
376
+
377
+ ```html
378
+ <!-- 三栏非对称:主栏 + 两个辅助栏(2:1:1) / 1:2:1 -->
379
+ <div class="grid g-211">…主 · 辅 · 辅…</div>
380
+ <div class="grid g-121">…辅 · 主 · 辅…</div>
381
+ <!-- 2×2 象限(四宫格,每格等权,等高自动拉伸) -->
382
+ <div class="grid g-quad">…四象限…</div>
383
+ <!-- 主内容 + 粘性侧栏(长文/大图 + 常驻注解栏;侧栏随滚动吸附) -->
384
+ <div class="grid g-aside">
385
+ <div>…主内容…</div>
386
+ <aside class="g-aside__side">…常驻注解 / 指标 / 图例…</aside>
387
+ </div>
388
+ <!-- 命名区马赛克:hero 通栏 + 三卡(一屏一重心) -->
389
+ <div class="grid g-mosaic">
390
+ <div class="g-mosaic__hero">…通栏主件…</div>
391
+ <div class="g-mosaic__a">…</div><div class="g-mosaic__b">…</div><div class="g-mosaic__c">…</div>
392
+ </div>
393
+ <!-- 全幅主件 + 底部三等分(大图/大表 + 支撑卡) -->
394
+ <div class="grid g-hero-full">
395
+ <div class="g-hero-full__main">…全幅主件…</div>
396
+ <div class="g-hero-full__s1">…</div><div class="g-hero-full__s2">…</div><div class="g-hero-full__s3">…</div>
397
+ </div>
398
+ <!-- 等高行分区(纵向节奏,替代等高卡片堆叠) -->
399
+ <div class="grid rows-3">…三行等高…</div>
400
+ <!-- 双列键值对照(宽屏两栏排定义,窄屏回落单列) -->
401
+ <dl class="kv kv--2col">…</dl>
402
+ ```
403
+
404
+ - `g-211 / g-121`:三栏非对称,比 `g-3` 等分更有主次;窄屏(960px)塌为单列。
405
+ - `g-quad`:四象限分析 / 四类并列;`grid-auto-rows:minmax(0,1fr)` 保证四格等高。
406
+ - `g-aside`:主内容 + 粘性侧栏;侧栏 960px 以下取消吸附并堆到下方。
407
+ - `g-mosaic / g-hero-full`:用 `grid-template-areas` 命名区;窄屏自动 `areas:none` 单列堆叠。
408
+ - `rows-2 / rows-3`:等高行分区;内容超出时行高自然增长(不截断)。
409
+
410
+ ---
411
+
412
+ ## 46c. 组合版式矩阵(一页 = 主件 + 从件 + 注释层)
413
+
414
+ > **单件页(只有一张图 / 一张表)是例外,不是默认。** 报告的"丰富"来自**组合**——把图、表、卡片、指标、图片、结构图按主次组织进一页,而不是给图加个标题、加一条 so-what。
415
+ > **决策层**(分析意图 → 组合 → 页型,含合法组合表)见 `references/playbook.md` §四;本节给**可复制的组合代码**。
416
+ > **纪律**:一屏一个视觉重心(主件明显大于从件);从件必须承载主件表达不了的信息(趋势 / 对比 / 含义),**不得复述主件数字**;注释层必写口径。
417
+
418
+ ### 46c-1 组合一览(主件 → 从件 → 注释层 → 页型)
419
+
420
+ | 组合 | 主件 | 从件 | 注释层 | 页型 |
421
+ |------|------|------|--------|------|
422
+ | 证据页主力 | 图表 | 要点 3–4 条(`.ul--ico`) | `.sowhat` + `.exhibit__src` | `exhibit` |
423
+ | 结论先行 | 图表 | 左栏要点(`g-side` 镜像) | `.sowhat` | `split` |
424
+ | 表图互证 | 密表 | 图表 | 口径行 | `halftable` |
425
+ | 现状基线 | 指标带 4–6 个 | 小表 / 迷你图 | 口径行 | `metrics` |
426
+ | 主张 + 基线 | 要点列表 | 指标带 | — | `points`(`metrics` 字段) |
427
+ | 架构总览 | 分层图 | 图例 chips | 图注 1–2 行 | `diagram`(`legend`) |
428
+ | 图文互证 | 图片 | 要点 3–4 条 | 图注 + `.media__src` | `image`(`layout:"half"`) |
429
+ | 并列观察 | 卡片网格 | 结论条 | — | `cards` / `points` |
430
+ | **双区自由组合** | 左区 / 右区各可为 图表·表格·图片·要点·指标 | — | `.sowhat` / `flags` | `split`(双区版) |
431
+
432
+ > `split` 是组合页的通用解:`left` 与 `right` 各自可承载 图表 / 表格 / 图片 / 要点 / 指标(字段见 `model-schema.json`),因此 **图+图、图+表、表+文、指标+图** 都能在一页内成立。
433
+
434
+ ### 46c-2 代码:主件图 + 从件要点 + 注释层(最常用)
435
+
436
+ ```html
437
+ <div class="grid g-side rv" style="align-items:start">
438
+ <div class="fig"><!-- 主件:宽 ≥ 版心 55%,取 charts.minSize 之上 --></div>
439
+ <div class="stack gap-4">
440
+ <h3 class="t-h3">怎么读这张图</h3>
441
+ <ul class="ul ul--ico">
442
+ <li><!-- icons.md 取图标 --><strong>结论一。</strong>图里读不出的含义。</li>
443
+ <li><strong>结论二。</strong>对比或趋势判断。</li>
444
+ <li><strong>结论三。</strong>下一步动作。</li>
445
+ </ul>
446
+ </div>
447
+ </div>
448
+ <div class="sowhat rv"><span class="sowhat__k">So what</span>
449
+ <span class="sowhat__v">一行含义(≤60 字)。</span></div>
450
+ ```
451
+
452
+ ### 46c-3 代码:双区自由组合(左图 + 右表 / 左文 + 右图)
453
+
454
+ ```html
455
+ <!-- 左图右表:两张不同维度的证据同屏互证 -->
456
+ <div class="grid g-2 rv" style="align-items:start">
457
+ <div class="fig"><div class="fig__cap">图:结构与趋势</div><!-- svg.chart --></div>
458
+ <div class="tbl-wrap"><table><!-- ≤8 行小表:明细与口径 --></table></div>
459
+ </div>
460
+
461
+ <!-- 左文右图:结论先行(g-side--rev 可镜像) -->
462
+ <div class="grid g-side rv" style="align-items:start">
463
+ <div class="stack gap-4"><h3 class="t-h3">判断</h3><ul class="ul">…</ul></div>
464
+ <div class="fig"><!-- 主件图 --></div>
465
+ </div>
466
+ ```
467
+
468
+ ### 46c-4 代码:主件全幅 + 底部支撑带(大图 + 三卡)
469
+
470
+ ```html
471
+ <div class="grid g-hero-full rv">
472
+ <div class="g-hero-full__main"><!-- 全幅主件:大图 / 大表 --></div>
473
+ <div class="g-hero-full__s1"><div class="card">支撑一</div></div>
474
+ <div class="g-hero-full__s2"><div class="card">支撑二</div></div>
475
+ <div class="g-hero-full__s3"><div class="card">支撑三</div></div>
476
+ </div>
477
+ ```
478
+
479
+ ### 46c-5 代码:不等大拼贴(一屏一重心 + 多个从件)
480
+
481
+ ```html
482
+ <div class="grid g-bento rv">
483
+ <div class="card sp-2"><!-- 主卡(跨 2 列):核心结论 --></div>
484
+ <div class="card"><!-- 小卡 --></div>
485
+ <div class="card"><!-- 小卡 --></div>
486
+ <div class="card rw-2"><!-- 竖长卡(跨 2 行):明细 / 时间线 --></div>
487
+ </div>
488
+ ```
489
+
490
+ > **组合版式与 PPTX 同源**:上表每个组合都映射到一个已登记页型(`split` / `halftable` / `exhibit` / `metrics` / `points` / `diagram` / `image` / `cards`),因此**不会出现"HTML 排得丰富、PPTX 交付不出来"**。新增组合前先确认页型已登记(`model-schema.json` + `layout-constants.json` `pageTypeGeometry`)。
491
+ > **校验**:research 模式下「含 ≥2 种承载类型的内容页 ≥30%」由 `validate_report.py` 的 `图表多样性 / 组合版式` 检查把关(阈值单源 `charts.variety.compositeMinRatio`)。
492
+
493
+ ---
494
+
495
+ ## 47. 步骤条页(锁定版式 · 三模式通用)`steps`
496
+
497
+ **用途**:实施节奏 / 操作流程 / 阶段推进(3–6 步最佳,超 6 步折行;可分阶段分组)。
498
+ **内容形态**:每步一个动作 + 一句说明;关键步用 `.step--a` 高亮。
499
+
500
+ ```html
501
+ <section class="band" id="s7">
502
+ <div class="wrap">
503
+ <div class="shead rv">
504
+ <div class="t-eyebrow">05 · 落地节奏</div>
505
+ <h2 class="t-h1 shead__title">四步走:从单场景试点到平台化放量</h2>
506
+ </div>
507
+ <!-- 可选分组标签(多阶段时用;单段可删) -->
508
+ <div class="steps__phase rv">第一阶段 · 打基础</div>
509
+ <div class="steps rv">
510
+ <div class="step"><div class="step__n">01</div>
511
+ <div class="step__t">选场景</div><div class="step__d">客服 / 研发 / 数据三类先跑通</div></div>
512
+ <div class="step step--a"><div class="step__n">02</div>
513
+ <div class="step__t">建平台</div><div class="step__d">三层解耦 + 统一编排(关键步高亮)</div></div>
514
+ <div class="step"><div class="step__n">03</div>
515
+ <div class="step__t">立治理</div><div class="step__d">权限、审计、回退进平台层</div></div>
516
+ <div class="step"><div class="step__n">04</div>
517
+ <div class="step__t">放量复制</div><div class="step__d">同一套护栏复制到新场景</div></div>
518
+ </div>
519
+ </div>
520
+ </section>
521
+ ```
522
+
523
+ **规则**:步数 3–6;每步标题 ≤8 字、说明 ≤30 字;`.step--a` 全文 ≤2 处;PPTX 页型 `steps`(超 `maxPerRow:6` 自动折行,`groups` 字段可分组)。
524
+
525
+ ---
526
+
527
+ ## 48. 热力矩阵页(锁定版式 · A/B)`heatmap`
528
+
529
+ **用途**:二维强度对标(行业 × 场景、区域 × 品类、团队 × 能力),比矩阵更适合**有数值强度**的场景。
530
+
531
+ ```html
532
+ <div class="heat rv">
533
+ <div class="heat__grid" style="--heat-cols:5;--heat-label:132px">
534
+ <div></div>
535
+ <div class="heat__h">客服</div><div class="heat__h">研发</div><div class="heat__h">营销</div>
536
+ <div class="heat__h">供应链</div><div class="heat__h">财务</div>
537
+ <div class="heat__rh">金融</div>
538
+ <div class="heat__c heat__c--3">78<small>高</small></div>
539
+ <div class="heat__c heat__c--1">46<small>中</small></div>
540
+ <div class="heat__c heat__c--2">63<small>中高</small></div>
541
+ <div class="heat__c">38<small>低</small></div>
542
+ <div class="heat__c heat__c--2">61<small>中高</small></div>
543
+ </div>
544
+ <div class="heat__legend">
545
+ <span>就绪度</span>
546
+ <span class="heat__sw" style="background:var(--surface-1)"></span>
547
+ <span class="heat__sw" style="background:var(--accent-soft)"></span>
548
+ <span class="heat__sw" style="background:var(--accent-soft-2)"></span>
549
+ <span class="heat__sw" style="background:var(--accent)"></span>
550
+ <span>低 → 高(单位:分)</span>
551
+ </div>
552
+ </div>
553
+ ```
554
+
555
+ **规则**:4 级色阶(`--1/--2/--3` + 默认)**只用强调色明度阶梯**,不引入第二色相;行列 ≤5×5(超了改附录密表);单元格数值 + 一行强度词;口径写 `.footnote`。PPTX 页型 `heatmap`(`rowHeads/colHeads/cells/unit/scaleLabel`)。
556
+
557
+ ---
558
+
559
+ ## 49. 达成对比页(锁定版式 · A/B)`bullet`
560
+
561
+ **用途**:目标 vs 实际(OKR 复盘、能力就绪度、KPI 达成);比双向条形更适合"有明确目标线"的场景。
562
+
563
+ ```html
564
+ <div class="bul rv" style="--bul-label:minmax(0,2.4fr)">
565
+ <div class="bul__row">
566
+ <div class="bul__k">场景覆盖</div>
567
+ <div class="bul__track"><div class="bul__fill" style="width:61%"></div>
568
+ <div class="bul__tgt" style="left:80%"></div></div>
569
+ <div class="bul__v"><b>61%</b> / 80%</div>
570
+ </div>
571
+ <div class="bul__row bul__row--warn">
572
+ <div class="bul__k">治理就绪</div>
573
+ <div class="bul__track"><div class="bul__fill" style="width:34%"></div>
574
+ <div class="bul__tgt" style="left:75%"></div></div>
575
+ <div class="bul__v"><b>34%</b> / 75%</div>
576
+ </div>
577
+ </div>
578
+ ```
579
+
580
+ **规则**:`bul__fill` 的 width 与 `bul__tgt` 的 left 用**同一量纲百分比**(建议统一以 `max` 为 100%);未达标行加 `.bul__row--warn`(填充转中性色,不引入红绿);行数 ≤6。PPTX 页型 `bullet`(`items:[[标签,实际,目标]…]` + `unit`/`max`)。
581
+
582
+ ---
583
+
584
+ ## 50. 金字塔页(锁定版式 · 三模式通用)`pyramid`
585
+
586
+ **用途**:层级递进(价值阶梯、能力成熟度、优先级金字塔);**顶层最窄**,逐层加宽。
587
+
588
+ ```html
589
+ <div class="pyr rv">
590
+ <div class="pyr__lvl" style="--w:42%">
591
+ <div class="pyr__t">自主决策</div><div class="pyr__d">护栏内自动执行,人工只审例外</div></div>
592
+ <div class="pyr__lvl pyr__lvl--a" style="--w:72%">
593
+ <div class="pyr__t">副驾协同</div><div class="pyr__d">人机分工明确(当前主力形态)</div></div>
594
+ <div class="pyr__lvl" style="--w:100%">
595
+ <div class="pyr__t">问答与检索</div><div class="pyr__d">知识问答、找数问数,替换成本最低</div></div>
596
+ </div>
597
+ ```
598
+
599
+ **规则**:层级 3–5 层;`--w` 单调递增(建议 42/72/100 或 34/56/78/100);`--a` 强调层 ≤1;层标题 ≤6 字、说明 ≤24 字。PPTX 页型 `pyramid`(`levels`)。
600
+