@taloswork/ose-shared 0.1.2 → 0.1.4

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 (237) hide show
  1. package/package.json +3 -3
  2. package/skills/document/SKILL.md +56 -53
  3. package/skills/document/assets/fonts/Archivo-Regular.woff2 +0 -0
  4. package/skills/document/assets/fonts/Archivo-SemiBold.woff2 +0 -0
  5. package/skills/document/assets/fonts/BigShouldersDisplay-Bold.woff2 +0 -0
  6. package/skills/document/assets/fonts/BodoniModa-SemiBold.woff2 +0 -0
  7. package/skills/document/assets/fonts/ChakraPetch-600.woff2 +0 -0
  8. package/skills/document/assets/fonts/CormorantGaramond-SemiBold.woff2 +0 -0
  9. package/skills/document/assets/fonts/DMSerifDisplay-400.woff2 +0 -0
  10. package/skills/document/assets/fonts/Fraunces-SemiBold.woff2 +0 -0
  11. package/skills/document/assets/fonts/GochiHand-Regular.woff2 +0 -0
  12. package/skills/document/assets/fonts/IBMPlexSans-Regular.woff2 +0 -0
  13. package/skills/document/assets/fonts/IBMPlexSans-SemiBold.woff2 +0 -0
  14. package/skills/document/assets/fonts/Inter-Regular.woff2 +0 -0
  15. package/skills/document/assets/fonts/Jost-Regular.woff2 +0 -0
  16. package/skills/document/assets/fonts/Jost-SemiBold.woff2 +0 -0
  17. package/skills/document/assets/fonts/Karla-Regular.woff2 +0 -0
  18. package/skills/document/assets/fonts/Lexend-500.woff2 +0 -0
  19. package/skills/document/assets/fonts/Lora-Regular.woff2 +0 -0
  20. package/skills/document/assets/fonts/Manrope-Bold.woff2 +0 -0
  21. package/skills/document/assets/fonts/Manrope-Regular.woff2 +0 -0
  22. package/skills/document/assets/fonts/Marcellus-Regular.woff2 +0 -0
  23. package/skills/document/assets/fonts/Nunito-700.woff2 +0 -0
  24. package/skills/document/assets/fonts/PlayfairDisplay-600.woff2 +0 -0
  25. package/skills/document/assets/fonts/PublicSans-Regular.woff2 +0 -0
  26. package/skills/document/assets/fonts/Quicksand-600.woff2 +0 -0
  27. package/skills/document/assets/fonts/Sora-Regular.woff2 +0 -0
  28. package/skills/document/assets/fonts/Sora-SemiBold.woff2 +0 -0
  29. package/skills/document/assets/fonts/SpaceGrotesk-500.woff2 +0 -0
  30. package/skills/document/assets/fonts/Syne-700.woff2 +0 -0
  31. package/skills/document/assets/fonts/ZillaSlab-600.woff2 +0 -0
  32. package/skills/document/assets/fonts/fonts.json +316 -0
  33. package/skills/document/bin/deck-build.cjs +273 -5
  34. package/skills/document/bin/doc-gen.cjs +108 -23
  35. package/skills/document/bin/html2pptx.cjs +284 -51
  36. package/skills/document/catalog.json +43 -0
  37. package/skills/document/deck-design.md +191 -0
  38. package/skills/document/layouts/README.md +33 -0
  39. package/skills/document/layouts/banner-columns.tpl +9 -9
  40. package/skills/document/layouts/bento.tpl +3 -3
  41. package/skills/document/layouts/big-stat.tpl +3 -3
  42. package/skills/document/layouts/blocks-2x2.tpl +12 -12
  43. package/skills/document/layouts/brand-values.tpl +5 -5
  44. package/skills/document/layouts/cards-3.tpl +3 -3
  45. package/skills/document/layouts/cards-grid.tpl +3 -3
  46. package/skills/document/layouts/chart-full.tpl +3 -3
  47. package/skills/document/layouts/chart-kpi.tpl +3 -3
  48. package/skills/document/layouts/color-palette.tpl +5 -5
  49. package/skills/document/layouts/comparison.tpl +3 -3
  50. package/skills/document/layouts/concept-hub.tpl +3 -3
  51. package/skills/document/layouts/cover-centered.tpl +1 -1
  52. package/skills/document/layouts/cover-image.tpl +1 -1
  53. package/skills/document/layouts/cover-minimal.tpl +3 -3
  54. package/skills/document/layouts/cover-statement.tpl +3 -3
  55. package/skills/document/layouts/cover.tpl +1 -1
  56. package/skills/document/layouts/data-table.tpl +3 -3
  57. package/skills/document/layouts/dos-donts.tpl +14 -14
  58. package/skills/document/layouts/editorial-panel.tpl +11 -11
  59. package/skills/document/layouts/ending-contact.tpl +1 -1
  60. package/skills/document/layouts/ending.tpl +1 -1
  61. package/skills/document/layouts/funnel.tpl +3 -3
  62. package/skills/document/layouts/gantt.tpl +3 -3
  63. package/skills/document/layouts/hero.tpl +3 -3
  64. package/skills/document/layouts/icon-row.tpl +3 -3
  65. package/skills/document/layouts/image-full.tpl +5 -5
  66. package/skills/document/layouts/image-grid.tpl +3 -3
  67. package/skills/document/layouts/image-left.tpl +3 -3
  68. package/skills/document/layouts/list.tpl +3 -3
  69. package/skills/document/layouts/logo-guidelines.tpl +8 -8
  70. package/skills/document/layouts/map-distribution.tpl +3 -3
  71. package/skills/document/layouts/map-quad.tpl +6 -6
  72. package/skills/document/layouts/matrix-2x2.tpl +3 -3
  73. package/skills/document/layouts/numbered-brief.tpl +12 -12
  74. package/skills/document/layouts/org-tree.tpl +3 -3
  75. package/skills/document/layouts/problem-solution-banner.tpl +7 -7
  76. package/skills/document/layouts/problem-solution.tpl +3 -3
  77. package/skills/document/layouts/pyramid.tpl +3 -3
  78. package/skills/document/layouts/quote-aside.tpl +11 -0
  79. package/skills/document/layouts/quote.tpl +1 -1
  80. package/skills/document/layouts/radar.tpl +3 -3
  81. package/skills/document/layouts/ring-progress.tpl +3 -3
  82. package/skills/document/layouts/section-fullbleed.tpl +3 -3
  83. package/skills/document/layouts/section-image.tpl +1 -1
  84. package/skills/document/layouts/section-stat.tpl +1 -1
  85. package/skills/document/layouts/section.tpl +1 -1
  86. package/skills/document/layouts/slots.json +1 -1
  87. package/skills/document/layouts/split-two-col.tpl +3 -3
  88. package/skills/document/layouts/stats-chart.tpl +3 -3
  89. package/skills/document/layouts/steps-serpentine.tpl +11 -11
  90. package/skills/document/layouts/steps-vertical.tpl +3 -3
  91. package/skills/document/layouts/steps.tpl +3 -3
  92. package/skills/document/layouts/team-row.tpl +4 -4
  93. package/skills/document/layouts/three-kpi.tpl +3 -3
  94. package/skills/document/layouts/timeline.tpl +3 -3
  95. package/skills/document/layouts/title-meta.tpl +5 -5
  96. package/skills/document/layouts/title.tpl +2 -2
  97. package/skills/document/layouts/toc-agenda.tpl +3 -3
  98. package/skills/document/layouts/toc-editorial.tpl +15 -0
  99. package/skills/document/layouts/toc-panel.tpl +4 -4
  100. package/skills/document/layouts/toc.tpl +3 -3
  101. package/skills/document/layouts/transition.tpl +1 -1
  102. package/skills/document/layouts/two-kpi.tpl +3 -3
  103. package/skills/document/layouts/type-specimen.tpl +10 -10
  104. package/skills/document/layouts/versus.tpl +3 -3
  105. package/skills/document/motion/README.md +29 -0
  106. package/skills/document/motion/anthropic.json +29 -0
  107. package/skills/document/motion/apple.json +41 -0
  108. package/skills/document/motion/bistro-warm.json +16 -0
  109. package/skills/document/motion/black-gold.json +29 -0
  110. package/skills/document/motion/board-brief.json +14 -0
  111. package/skills/document/motion/bold-clash.json +16 -0
  112. package/skills/document/motion/branding.json +22 -0
  113. package/skills/document/motion/campus-teal.json +22 -0
  114. package/skills/document/motion/cinereel.json +23 -0
  115. package/skills/document/motion/clinic-care.json +22 -0
  116. package/skills/document/motion/cool.json +41 -0
  117. package/skills/document/motion/dark-glass.json +22 -0
  118. package/skills/document/motion/gov-brief.json +14 -0
  119. package/skills/document/motion/grid-tech.json +16 -0
  120. package/skills/document/motion/hand-drawn.json +23 -0
  121. package/skills/document/motion/ivory-gold.json +22 -0
  122. package/skills/document/motion/legal-slate.json +15 -0
  123. package/skills/document/motion/magazine-ink.json +29 -0
  124. package/skills/document/motion/mckinsey.json +28 -0
  125. package/skills/document/motion/memphis.json +16 -0
  126. package/skills/document/motion/mono.json +21 -0
  127. package/skills/document/motion/neon-cyber.json +42 -0
  128. package/skills/document/motion/olive-gold.json +22 -0
  129. package/skills/document/motion/organic-earth.json +15 -0
  130. package/skills/document/motion/pastel-saas.json +15 -0
  131. package/skills/document/motion/portfolio-noir.json +21 -0
  132. package/skills/document/motion/press-room.json +14 -0
  133. package/skills/document/motion/retro-press.json +15 -0
  134. package/skills/document/motion/sport-arena.json +16 -0
  135. package/skills/document/motion/swiss-grid.json +34 -0
  136. package/skills/document/motion/wedding-blush.json +15 -0
  137. package/skills/document/packs/README.md +28 -0
  138. package/skills/document/packs/board-brief/backdrop.html +4 -0
  139. package/skills/document/packs/board-brief/layouts/cover.tpl +12 -0
  140. package/skills/document/packs/board-brief/layouts/toc-agenda.tpl +20 -0
  141. package/skills/document/packs/board-brief/pack.css +27 -0
  142. package/skills/document/packs/press-room/backdrop.html +4 -0
  143. package/skills/document/packs/press-room/layouts/cover.tpl +12 -0
  144. package/skills/document/packs/press-room/layouts/section.tpl +13 -0
  145. package/skills/document/packs/press-room/pack.css +27 -0
  146. package/skills/document/styles/README.md +65 -16
  147. package/skills/document/styles/_contract-defaults.css +55 -0
  148. package/skills/document/styles/_samples/_groups/biz-premium.webp +0 -0
  149. package/skills/document/styles/_samples/_groups/creative.webp +0 -0
  150. package/skills/document/styles/_samples/_groups/editorial.webp +0 -0
  151. package/skills/document/styles/_samples/_groups/minimal.webp +0 -0
  152. package/skills/document/styles/_samples/_groups/natural.webp +0 -0
  153. package/skills/document/styles/_samples/_groups/tech-future.webp +0 -0
  154. package/skills/document/styles/_samples/anthropic.webp +0 -0
  155. package/skills/document/styles/_samples/apple.webp +0 -0
  156. package/skills/document/styles/_samples/bistro-warm.webp +0 -0
  157. package/skills/document/styles/_samples/black-gold.webp +0 -0
  158. package/skills/document/styles/_samples/board-brief.webp +0 -0
  159. package/skills/document/styles/_samples/bold-clash.webp +0 -0
  160. package/skills/document/styles/_samples/branding.webp +0 -0
  161. package/skills/document/styles/_samples/campus-teal.webp +0 -0
  162. package/skills/document/styles/_samples/cinereel.webp +0 -0
  163. package/skills/document/styles/_samples/clinic-care.webp +0 -0
  164. package/skills/document/styles/_samples/cool.webp +0 -0
  165. package/skills/document/styles/_samples/dark-glass.webp +0 -0
  166. package/skills/document/styles/_samples/gov-brief.webp +0 -0
  167. package/skills/document/styles/_samples/grid-tech.webp +0 -0
  168. package/skills/document/styles/_samples/hand-drawn.webp +0 -0
  169. package/skills/document/styles/_samples/ivory-gold.webp +0 -0
  170. package/skills/document/styles/_samples/legal-slate.webp +0 -0
  171. package/skills/document/styles/_samples/magazine-ink.webp +0 -0
  172. package/skills/document/styles/_samples/mckinsey.webp +0 -0
  173. package/skills/document/styles/_samples/memphis.webp +0 -0
  174. package/skills/document/styles/_samples/mono.webp +0 -0
  175. package/skills/document/styles/_samples/neon-cyber.webp +0 -0
  176. package/skills/document/styles/_samples/olive-gold.webp +0 -0
  177. package/skills/document/styles/_samples/organic-earth.webp +0 -0
  178. package/skills/document/styles/_samples/pastel-saas.webp +0 -0
  179. package/skills/document/styles/_samples/portfolio-noir.webp +0 -0
  180. package/skills/document/styles/_samples/press-room.webp +0 -0
  181. package/skills/document/styles/_samples/retro-press.webp +0 -0
  182. package/skills/document/styles/_samples/sport-arena.webp +0 -0
  183. package/skills/document/styles/_samples/swiss-grid.webp +0 -0
  184. package/skills/document/styles/_samples/wedding-blush.webp +0 -0
  185. package/skills/document/styles/anthropic/backdrop.html +4 -0
  186. package/skills/document/styles/anthropic/skin.css +15 -8
  187. package/skills/document/styles/apple/backdrop.html +4 -1
  188. package/skills/document/styles/apple/skin.css +5 -2
  189. package/skills/document/styles/bistro-warm/backdrop.html +4 -0
  190. package/skills/document/styles/bistro-warm/skin.css +27 -0
  191. package/skills/document/styles/black-gold/backdrop.html +3 -0
  192. package/skills/document/styles/black-gold/skin.css +15 -8
  193. package/skills/document/styles/bold-clash/backdrop.html +4 -0
  194. package/skills/document/styles/bold-clash/skin.css +27 -0
  195. package/skills/document/styles/branding/backdrop.html +4 -0
  196. package/skills/document/styles/branding/skin.css +14 -7
  197. package/skills/document/styles/campus-teal/backdrop.html +3 -0
  198. package/skills/document/styles/campus-teal/skin.css +27 -0
  199. package/skills/document/styles/cinereel/skin.css +28 -10
  200. package/skills/document/styles/clinic-care/backdrop.html +4 -0
  201. package/skills/document/styles/clinic-care/skin.css +27 -0
  202. package/skills/document/styles/cool/backdrop.html +3 -0
  203. package/skills/document/styles/cool/skin.css +5 -2
  204. package/skills/document/styles/dark-glass/backdrop.html +4 -0
  205. package/skills/document/styles/dark-glass/skin.css +27 -0
  206. package/skills/document/styles/gov-brief/backdrop.html +4 -0
  207. package/skills/document/styles/gov-brief/skin.css +27 -0
  208. package/skills/document/styles/grid-tech/backdrop.html +37 -0
  209. package/skills/document/styles/grid-tech/skin.css +27 -0
  210. package/skills/document/styles/hand-drawn/skin.css +16 -8
  211. package/skills/document/styles/ivory-gold/skin.css +21 -8
  212. package/skills/document/styles/legal-slate/backdrop.html +6 -0
  213. package/skills/document/styles/legal-slate/skin.css +27 -0
  214. package/skills/document/styles/magazine-ink/skin.css +7 -2
  215. package/skills/document/styles/mckinsey/backdrop.html +5 -0
  216. package/skills/document/styles/mckinsey/skin.css +5 -2
  217. package/skills/document/styles/memphis/backdrop.html +5 -0
  218. package/skills/document/styles/memphis/skin.css +27 -0
  219. package/skills/document/styles/mono/backdrop.html +6 -0
  220. package/skills/document/styles/mono/skin.css +6 -3
  221. package/skills/document/styles/neon-cyber/backdrop.html +4 -0
  222. package/skills/document/styles/neon-cyber/skin.css +27 -0
  223. package/skills/document/styles/olive-gold/backdrop.html +5 -0
  224. package/skills/document/styles/olive-gold/skin.css +15 -8
  225. package/skills/document/styles/organic-earth/backdrop.html +4 -0
  226. package/skills/document/styles/organic-earth/skin.css +27 -0
  227. package/skills/document/styles/pastel-saas/backdrop.html +4 -0
  228. package/skills/document/styles/pastel-saas/skin.css +27 -0
  229. package/skills/document/styles/portfolio-noir/backdrop.html +4 -0
  230. package/skills/document/styles/portfolio-noir/skin.css +27 -0
  231. package/skills/document/styles/retro-press/backdrop.html +6 -0
  232. package/skills/document/styles/retro-press/skin.css +27 -0
  233. package/skills/document/styles/sport-arena/backdrop.html +4 -0
  234. package/skills/document/styles/sport-arena/skin.css +27 -0
  235. package/skills/document/styles/swiss-grid/skin.css +6 -1
  236. package/skills/document/styles/wedding-blush/backdrop.html +6 -0
  237. package/skills/document/styles/wedding-blush/skin.css +27 -0
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/concept-hub — structure-only variant (paint via skin; uses batch-5 classes). -->
2
- <section class="slide" data-layout="concept-hub" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|FRAMEWORK}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|核心框架}}</h2>
3
- <svg width="1280" height="720" viewBox="0 0 1280 720" style="position:absolute;inset:0;pointer-events:none"><g class="hub-link" fill="none" stroke-width="1.5"><line x1="640" y1="418" x2="300" y2="316"/><line x1="640" y1="418" x2="980" y2="316"/><line x1="640" y1="418" x2="300" y2="540"/><line x1="640" y1="418" x2="980" y2="540"/></g></svg><div class="card hub-center" style="position:absolute;left:540px;top:318px;width:200px;height:200px;display:flex;align-items:center;justify-content:center;text-align:center"><div><div class="hub-title" style="font-size:24px;font-weight:800">{{center_title|核心}}</div><div class="card-body" style="font-size:14px;margin-top:6px">{{center_body|一句概括}}</div></div></div><div class="card hub-node" style="position:absolute;left:150px;top:256px;width:260px;height:120px;padding:22px 26px"><div class="hub-title" style="font-size:19px;font-weight:700">{{node1_title|01 维度}}</div><p class="card-body" style="font-size:14px;line-height:1.5;margin-top:6px">{{node1_body|一句说明。}}</p></div><div class="card hub-node" style="position:absolute;right:150px;top:256px;width:260px;height:120px;padding:22px 26px"><div class="hub-title" style="font-size:19px;font-weight:700">{{node2_title|02 维度}}</div><p class="card-body" style="font-size:14px;line-height:1.5;margin-top:6px">{{node2_body|一句说明。}}</p></div><div class="card hub-node" style="position:absolute;left:150px;top:480px;width:260px;height:120px;padding:22px 26px"><div class="hub-title" style="font-size:19px;font-weight:700">{{node3_title|03 维度}}</div><p class="card-body" style="font-size:14px;line-height:1.5;margin-top:6px">{{node3_body|一句说明。}}</p></div><div class="card hub-node" style="position:absolute;right:150px;top:480px;width:260px;height:120px;padding:22px 26px"><div class="hub-title" style="font-size:19px;font-weight:700">{{node4_title|04 维度}}</div><p class="card-body" style="font-size:14px;line-height:1.5;margin-top:6px">{{node4_body|一句说明。}}</p></div>
4
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div></section>
2
+ <section class="slide" data-layout="concept-hub" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|FRAMEWORK}}</span></div><h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|核心框架}}</h2>
3
+ <svg width="1280" height="720" viewBox="0 0 1280 720" style="position:absolute;inset:0;pointer-events:none"><g class="hub-link" fill="none" stroke-width="1.5"><line x1="640" y1="418" x2="300" y2="316"/><line x1="640" y1="418" x2="980" y2="316"/><line x1="640" y1="418" x2="300" y2="540"/><line x1="640" y1="418" x2="980" y2="540"/></g></svg><div class="card hub-center" style="position:absolute;left:540px;top:318px;width:200px;height:200px;display:flex;align-items:center;justify-content:center;text-align:center"><div><div class="hub-title" style="font-size:calc(24px * var(--type-scale,1));font-weight:800">{{center_title|核心}}</div><div class="card-body" style="font-size:calc(14px * var(--type-scale,1));margin-top:6px">{{center_body|一句概括}}</div></div></div><div class="card hub-node" style="position:absolute;left:150px;top:256px;width:260px;height:120px;padding:22px 26px"><div class="hub-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700">{{node1_title|01 维度}}</div><p class="card-body" style="font-size:calc(14px * var(--type-scale,1));line-height:1.5;margin-top:6px">{{node1_body|一句说明。}}</p></div><div class="card hub-node" style="position:absolute;right:150px;top:256px;width:260px;height:120px;padding:22px 26px"><div class="hub-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700">{{node2_title|02 维度}}</div><p class="card-body" style="font-size:calc(14px * var(--type-scale,1));line-height:1.5;margin-top:6px">{{node2_body|一句说明。}}</p></div><div class="card hub-node" style="position:absolute;left:150px;top:480px;width:260px;height:120px;padding:22px 26px"><div class="hub-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700">{{node3_title|03 维度}}</div><p class="card-body" style="font-size:calc(14px * var(--type-scale,1));line-height:1.5;margin-top:6px">{{node3_body|一句说明。}}</p></div><div class="card hub-node" style="position:absolute;right:150px;top:480px;width:260px;height:120px;padding:22px 26px"><div class="hub-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700">{{node4_title|04 维度}}</div><p class="card-body" style="font-size:calc(14px * var(--type-scale,1));line-height:1.5;margin-top:6px">{{node4_body|一句说明。}}</p></div>
4
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div></section>
@@ -1,2 +1,2 @@
1
1
  <!-- layouts/cover-centered — structure-only. -->
2
- <section class="slide" data-layout="cover-centered" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div style="position:absolute;left:0;right:0;top:262px;text-align:center"><span class="eyebrow-row" style="display:inline-flex;align-items:center;gap:14px"><span class="accent-bar" style="width:44px;height:3px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|2026 · 行业报告}}</span></span></div><h1 class="cover-title" style="position:absolute;left:0;right:0;top:306px;text-align:center;font-size:82px;line-height:1.06">{{title|主标题<br>第二行}}</h1><p class="cover-sub" style="position:absolute;left:0;right:0;top:534px;text-align:center;font-size:23px">{{subtitle|一句副标题 / 价值主张}}</p><div class="ending-contact" style="position:absolute;left:0;right:0;bottom:44px;text-align:center;font-size:13px;letter-spacing:.14em">{{meta|演讲者 · 部门 · 2026}}</div></section>
2
+ <section class="slide" data-layout="cover-centered" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div style="position:absolute;left:0;right:0;top:262px;text-align:center"><span class="eyebrow-row" style="display:inline-flex;align-items:center;gap:14px"><span class="accent-bar" style="width:44px;height:3px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|2026 · 行业报告}}</span></span></div><h1 class="cover-title" style="position:absolute;left:0;right:0;top:306px;text-align:center;font-size:calc(82px * var(--type-scale,1));line-height:1.06">{{title|主标题<br>第二行}}</h1><p class="cover-sub" style="position:absolute;left:0;right:0;top:534px;text-align:center;font-size:calc(23px * var(--type-scale,1))">{{subtitle|一句副标题 / 价值主张}}</p><div class="ending-contact" style="position:absolute;left:0;right:0;bottom:44px;text-align:center;font-size:calc(13px * var(--type-scale,1));letter-spacing:.14em">{{meta|演讲者 · 部门 · 2026}}</div></section>
@@ -1,2 +1,2 @@
1
1
  <!-- layouts/cover-image — structure-only (uses batch-5 classes; overlay text stays light on any skin). -->
2
- <section class="slide" data-layout="cover-image" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="surface" style="position:absolute;inset:0;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:16px">{{image_label|全出血图片占位(替换为 &lt;img&gt;)}}</span></div><div class="scrim" style="position:absolute;inset:0"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:470px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:40px;height:3px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|2026 · 行业报告}}</span></div><h1 class="overlay-title" style="position:absolute;left:92px;top:506px;width:1000px;font-size:78px;font-weight:800;line-height:1.06">{{title|主标题<br>压在图片上}}</h1><p class="overlay-sub" style="position:absolute;left:96px;bottom:48px;font-size:20px">{{subtitle|一句副标题 / 价值主张}}</p></section>
2
+ <section class="slide" data-layout="cover-image" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="surface" style="position:absolute;inset:0;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:calc(16px * var(--type-scale,1))">{{image_label|全出血图片占位(替换为 &lt;img&gt;)}}</span></div><div class="scrim" style="position:absolute;inset:0"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:470px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:40px;height:3px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|2026 · 行业报告}}</span></div><h1 class="overlay-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:506px;width:1000px;font-size:calc(78px * var(--type-scale,1));font-weight:800;line-height:1.06">{{title|主标题<br>压在图片上}}</h1><p class="overlay-sub" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:48px;font-size:calc(20px * var(--type-scale,1))">{{subtitle|一句副标题 / 价值主张}}</p></section>
@@ -1,7 +1,7 @@
1
1
  <!-- layouts/cover-minimal — structure-only (paint via skin). 招牌"线点线极简封面":居中 ── ● ── 分隔符 + 粗标题 + 宽字距大写拉丁副标 + 居中元信息. mono/极简单色最佳. 线用 .rule(发丝) 点用 .accent-bar(实心,inline 改圆). -->
2
2
  <section class="slide" data-layout="cover-minimal" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div>
3
3
  <div class="cover-divider" style="position:absolute;left:0;right:0;top:236px;display:flex;align-items:center;justify-content:center;gap:18px"><span class="rule" style="width:64px;height:1px;display:inline-block"></span><span class="accent-bar" style="width:8px;height:8px;border-radius:50%;display:inline-block"></span><span class="rule" style="width:64px;height:1px;display:inline-block"></span></div>
4
- <h1 class="cover-title" style="position:absolute;left:0;right:0;top:272px;text-align:center;font-size:72px;line-height:1.1;letter-spacing:-.01em">{{title|产品设计报告}}</h1>
5
- <p class="cover-sub" style="position:absolute;left:0;right:0;top:392px;text-align:center;font-size:20px;letter-spacing:.26em;text-transform:uppercase">{{subtitle|Product Design Report 2025}}</p>
6
- <div class="deck-footer" style="position:absolute;left:0;right:0;top:452px;text-align:center;font-size:14px;letter-spacing:.06em">{{meta|主讲人: 张小明 | 2025/01/20}}</div>
4
+ <h1 class="cover-title" style="position:absolute;left:0;right:0;top:272px;text-align:center;font-size:calc(72px * var(--type-scale,1));line-height:1.1;letter-spacing:-.01em">{{title|产品设计报告}}</h1>
5
+ <p class="cover-sub" style="position:absolute;left:0;right:0;top:392px;text-align:center;font-size:calc(20px * var(--type-scale,1));letter-spacing:.26em;text-transform:uppercase">{{subtitle|Product Design Report 2025}}</p>
6
+ <div class="deck-footer" style="position:absolute;left:0;right:0;top:452px;text-align:center;font-size:calc(14px * var(--type-scale,1));letter-spacing:.06em">{{meta|主讲人: 张小明 | 2025/01/20}}</div>
7
7
  </section>
@@ -1,6 +1,6 @@
1
1
  <!-- layouts/cover-statement — structure-only variant (paint via skin). -->
2
2
  <section class="slide" data-layout="cover-statement" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div>
3
- <div class="eyebrow-row" style="position:absolute;left:96px;top:214px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:44px;height:3px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|2026 · 主张}}</span></div>
4
- <h1 class="cover-title" style="position:absolute;left:92px;top:252px;width:1090px;font-size:96px;line-height:1.08;letter-spacing:-1px">{{statement|一句有力的主张,<br>点出整份报告的核心。}}</h1>
5
- <div class="ending-contact" style="position:absolute;left:96px;bottom:44px;font-size:13px;letter-spacing:.14em">{{meta|演讲者 · 部门 · 2026}}</div>
3
+ <div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:214px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:44px;height:3px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|2026 · 主张}}</span></div>
4
+ <h1 class="cover-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:252px;width:1090px;font-size:calc(96px * var(--type-scale,1));line-height:1.08;letter-spacing:-1px">{{statement|一句有力的主张,<br>点出整份报告的核心。}}</h1>
5
+ <div class="ending-contact" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:44px;font-size:calc(13px * var(--type-scale,1));letter-spacing:.14em">{{meta|演讲者 · 部门 · 2026}}</div>
6
6
  </section>
@@ -1,2 +1,2 @@
1
1
  <!-- layouts/cover — structure-only (paint via skin). -->
2
- <section class="slide" data-layout="cover" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:296px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|2026 · 行业报告}}</span></div><h1 class="cover-title" style="position:absolute;left:92px;top:332px;font-size:86px;line-height:1.05;max-width:1000px">{{title|主标题<br>第二行}}</h1><p class="cover-sub" style="position:absolute;left:96px;top:558px;font-size:24px">{{subtitle|一句副标题 / 价值主张}}</p><div class="deck-footer" style="position:absolute;left:96px;right:96px;bottom:40px;display:flex;justify-content:space-between;font-size:13px"><span>{{presenter|演讲者 · 部门}}</span><span>{{date|2026}}</span></div></section>
2
+ <section class="slide" data-layout="cover" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:296px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|2026 · 行业报告}}</span></div><h1 class="cover-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:332px;font-size:calc(86px * var(--type-scale,1));line-height:1.05;max-width:1000px">{{title|主标题<br>第二行}}</h1><p class="cover-sub" style="position:absolute;left:calc(96px * var(--space-scale,1));top:558px;font-size:calc(24px * var(--type-scale,1))">{{subtitle|一句副标题 / 价值主张}}</p><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;display:flex;justify-content:space-between;font-size:calc(13px * var(--type-scale,1))"><span>{{presenter|演讲者 · 部门}}</span><span>{{date|2026}}</span></div></section>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/data-table — structure-only variant (paint via skin). -->
2
- <section class="slide" data-layout="data-table" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|DATA}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|关键数据一览}}</h2>
3
- <div style="position:absolute;left:96px;right:96px;top:290px"><div class="dt-head" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:16px;font-weight:700">{{col0|维度}}</div><div class="dt-cell" style="font-size:16px;font-weight:700;text-align:right">{{col1|方案 A}}</div><div class="dt-cell" style="font-size:16px;font-weight:700;text-align:right">{{col2|方案 B}}</div><div class="dt-cell" style="font-size:16px;font-weight:700;text-align:right">{{col3|方案 C}}</div></div><div class="dt-row" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:16px;font-weight:600">{{r1_key|成本}}</div><div class="dt-cell" style="font-size:16px;text-align:right">{{r1c1|中}}</div><div class="dt-em" style="font-size:16px;text-align:right">{{r1c2|低}}</div><div class="dt-cell" style="font-size:16px;text-align:right">{{r1c3|高}}</div></div><div class="dt-row" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:16px;font-weight:600">{{r2_key|周期}}</div><div class="dt-cell" style="font-size:16px;text-align:right">{{r2c1|短}}</div><div class="dt-em" style="font-size:16px;text-align:right">{{r2c2|中}}</div><div class="dt-cell" style="font-size:16px;text-align:right">{{r2c3|长}}</div></div><div class="dt-row" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:16px;font-weight:600">{{r3_key|风险}}</div><div class="dt-cell" style="font-size:16px;text-align:right">{{r3c1|高}}</div><div class="dt-em" style="font-size:16px;text-align:right">{{r3c2|低}}</div><div class="dt-cell" style="font-size:16px;text-align:right">{{r3c3|中}}</div></div><div class="dt-row" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:16px;font-weight:600">{{r4_key|收益}}</div><div class="dt-cell" style="font-size:16px;text-align:right">{{r4c1|中}}</div><div class="dt-em" style="font-size:16px;text-align:right">{{r4c2|高}}</div><div class="dt-cell" style="font-size:16px;text-align:right">{{r4c3|中}}</div></div></div>
4
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div></section>
2
+ <section class="slide" data-layout="data-table" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|DATA}}</span></div><h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|关键数据一览}}</h2>
3
+ <div style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));top:290px"><div class="dt-head" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:calc(16px * var(--type-scale,1));font-weight:700">{{col0|维度}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));font-weight:700;text-align:right">{{col1|方案 A}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));font-weight:700;text-align:right">{{col2|方案 B}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));font-weight:700;text-align:right">{{col3|方案 C}}</div></div><div class="dt-row" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:calc(16px * var(--type-scale,1));font-weight:600">{{r1_key|成本}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r1c1|中}}</div><div class="dt-em" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r1c2|低}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r1c3|高}}</div></div><div class="dt-row" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:calc(16px * var(--type-scale,1));font-weight:600">{{r2_key|周期}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r2c1|短}}</div><div class="dt-em" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r2c2|中}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r2c3|长}}</div></div><div class="dt-row" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:calc(16px * var(--type-scale,1));font-weight:600">{{r3_key|风险}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r3c1|高}}</div><div class="dt-em" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r3c2|低}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r3c3|中}}</div></div><div class="dt-row" style="display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:16px 22px"><div class="dt-key" style="font-size:calc(16px * var(--type-scale,1));font-weight:600">{{r4_key|收益}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r4c1|中}}</div><div class="dt-em" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r4c2|高}}</div><div class="dt-cell" style="font-size:calc(16px * var(--type-scale,1));text-align:right">{{r4c3|中}}</div></div></div>
4
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div></section>
@@ -1,20 +1,20 @@
1
1
  <!-- layouts/dos-donts — structure-only (paint via skin). 品牌手册"Do & Don't":左推荐(✓)/ 右避免(✗)双栏,每条一个标记 + 说明. 标记/表头走 skin 变量(.do-head/.dont-head/.do-mark/.dont-mark). data-layout drives P1/P2/P3 + dedup. -->
2
2
  <section class="slide" data-layout="dos-donts" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div>
3
- <div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|GUIDELINES}}</span></div>
4
- <h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">Do &amp; Don&#39;t</h2>
5
- <div style="position:absolute;left:96px;right:96px;top:266px;bottom:92px;display:grid;grid-template-columns:1fr 1fr;gap:28px">
6
- <div class="surface" style="padding:32px 36px;display:flex;flex-direction:column"><div class="do-head" style="font-size:22px;font-weight:700;font-family:var(--font-head)">{{do_head|✓ 推荐 Do}}</div><div style="margin-top:22px;display:flex;flex-direction:column;gap:18px">
7
- <div style="display:flex;gap:14px;align-items:flex-start"><span class="do-mark" style="font-size:18px;line-height:1.5;flex:none">✓</span><span class="do-item" style="font-size:15.5px;line-height:1.55">{{do1|保持充足留白,让 Logo 与元素有呼吸空间。}}</span></div>
8
- <div style="display:flex;gap:14px;align-items:flex-start"><span class="do-mark" style="font-size:18px;line-height:1.5;flex:none">✓</span><span class="do-item" style="font-size:15.5px;line-height:1.55">{{do2|使用规定的主色与辅助色搭配。}}</span></div>
9
- <div style="display:flex;gap:14px;align-items:flex-start"><span class="do-mark" style="font-size:18px;line-height:1.5;flex:none">✓</span><span class="do-item" style="font-size:15.5px;line-height:1.55">{{do3|标题用衬线、正文用无衬线,层级分明。}}</span></div>
10
- <div style="display:flex;gap:14px;align-items:flex-start"><span class="do-mark" style="font-size:18px;line-height:1.5;flex:none">✓</span><span class="do-item" style="font-size:15.5px;line-height:1.55">{{do4|在浅底/深底上分别使用主标与反白版本。}}</span></div>
3
+ <div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|GUIDELINES}}</span></div>
4
+ <h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">Do &amp; Don&#39;t</h2>
5
+ <div style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));top:266px;bottom:92px;display:grid;grid-template-columns:1fr 1fr;gap:28px">
6
+ <div class="surface" style="padding:32px 36px;display:flex;flex-direction:column"><div class="do-head" style="font-size:calc(22px * var(--type-scale,1));font-weight:700;font-family:var(--font-head)">{{do_head|✓ 推荐 Do}}</div><div style="margin-top:22px;display:flex;flex-direction:column;gap:18px">
7
+ <div style="display:flex;gap:14px;align-items:flex-start"><span class="do-mark" style="font-size:calc(18px * var(--type-scale,1));line-height:1.5;flex:none">✓</span><span class="do-item" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.55">{{do1|保持充足留白,让 Logo 与元素有呼吸空间。}}</span></div>
8
+ <div style="display:flex;gap:14px;align-items:flex-start"><span class="do-mark" style="font-size:calc(18px * var(--type-scale,1));line-height:1.5;flex:none">✓</span><span class="do-item" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.55">{{do2|使用规定的主色与辅助色搭配。}}</span></div>
9
+ <div style="display:flex;gap:14px;align-items:flex-start"><span class="do-mark" style="font-size:calc(18px * var(--type-scale,1));line-height:1.5;flex:none">✓</span><span class="do-item" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.55">{{do3|标题用衬线、正文用无衬线,层级分明。}}</span></div>
10
+ <div style="display:flex;gap:14px;align-items:flex-start"><span class="do-mark" style="font-size:calc(18px * var(--type-scale,1));line-height:1.5;flex:none">✓</span><span class="do-item" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.55">{{do4|在浅底/深底上分别使用主标与反白版本。}}</span></div>
11
11
  </div></div>
12
- <div class="surface" style="padding:32px 36px;display:flex;flex-direction:column"><div class="dont-head" style="font-size:22px;font-weight:700;font-family:var(--font-head)">{{dont_head|✗ 避免 Don&#39;t}}</div><div style="margin-top:22px;display:flex;flex-direction:column;gap:18px">
13
- <div style="display:flex;gap:14px;align-items:flex-start"><span class="dont-mark" style="font-size:18px;line-height:1.5;flex:none">✗</span><span class="dont-item" style="font-size:15.5px;line-height:1.55">{{dont1|不要拉伸、压扁或旋转 Logo。}}</span></div>
14
- <div style="display:flex;gap:14px;align-items:flex-start"><span class="dont-mark" style="font-size:18px;line-height:1.5;flex:none">✗</span><span class="dont-item" style="font-size:15.5px;line-height:1.55">{{dont2|不要使用规范外的颜色或渐变。}}</span></div>
15
- <div style="display:flex;gap:14px;align-items:flex-start"><span class="dont-mark" style="font-size:18px;line-height:1.5;flex:none">✗</span><span class="dont-item" style="font-size:15.5px;line-height:1.55">{{dont3|不要把 Logo 放在杂乱或低对比的背景上。}}</span></div>
16
- <div style="display:flex;gap:14px;align-items:flex-start"><span class="dont-mark" style="font-size:18px;line-height:1.5;flex:none">✗</span><span class="dont-item" style="font-size:15.5px;line-height:1.55">{{dont4|不要混用多种字体或随意改字重。}}</span></div>
12
+ <div class="surface" style="padding:32px 36px;display:flex;flex-direction:column"><div class="dont-head" style="font-size:calc(22px * var(--type-scale,1));font-weight:700;font-family:var(--font-head)">{{dont_head|✗ 避免 Don&#39;t}}</div><div style="margin-top:22px;display:flex;flex-direction:column;gap:18px">
13
+ <div style="display:flex;gap:14px;align-items:flex-start"><span class="dont-mark" style="font-size:calc(18px * var(--type-scale,1));line-height:1.5;flex:none">✗</span><span class="dont-item" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.55">{{dont1|不要拉伸、压扁或旋转 Logo。}}</span></div>
14
+ <div style="display:flex;gap:14px;align-items:flex-start"><span class="dont-mark" style="font-size:calc(18px * var(--type-scale,1));line-height:1.5;flex:none">✗</span><span class="dont-item" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.55">{{dont2|不要使用规范外的颜色或渐变。}}</span></div>
15
+ <div style="display:flex;gap:14px;align-items:flex-start"><span class="dont-mark" style="font-size:calc(18px * var(--type-scale,1));line-height:1.5;flex:none">✗</span><span class="dont-item" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.55">{{dont3|不要把 Logo 放在杂乱或低对比的背景上。}}</span></div>
16
+ <div style="display:flex;gap:14px;align-items:flex-start"><span class="dont-mark" style="font-size:calc(18px * var(--type-scale,1));line-height:1.5;flex:none">✗</span><span class="dont-item" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.55">{{dont4|不要混用多种字体或随意改字重。}}</span></div>
17
17
  </div></div>
18
18
  </div>
19
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div>
19
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div>
20
20
  </section>
@@ -1,22 +1,22 @@
1
1
  <!-- layouts/editorial-panel — structure-only (paint via styles/<skin>/skin.css). 招牌"编辑多面板":标题带下划线 + 两列×两带对齐网格(左:虚线导语卡 / 2×2 小卡;右:引言卡 / 列表卡)+ 底部通栏 Note. skin 决定柔彩/实色/单色. data-layout drives P1/P2/P3 + dedup. -->
2
2
  <section class="slide" data-layout="editorial-panel" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div>
3
- <div class="eyebrow-row" style="position:absolute;left:96px;top:68px"><span class="eyebrow" style="font-size:12px;letter-spacing:.3em">{{eyebrow|CHAPTER}}</span></div>
4
- <h2 class="deck-title" style="position:absolute;left:96px;top:94px;font-size:38px;">{{title|章节主标题}}</h2>
3
+ <div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:68px"><span class="eyebrow" style="font-size:calc(12px * var(--type-scale,1));letter-spacing:.3em">{{eyebrow|CHAPTER}}</span></div>
4
+ <h2 class="deck-title" style="position:absolute;left:calc(96px * var(--space-scale,1));top:94px;font-size:calc(38px * var(--type-scale,1));">{{title|章节主标题}}</h2>
5
5
  <!-- ===== TOP BAND (186–336) ===== -->
6
6
  <!-- left: dashed lead card -->
7
- <div class="surface surface--dashed" style="position:absolute;left:96px;top:186px;width:660px;height:150px;padding:24px 30px;border-radius:var(--card-radius)"><p class="card-body" style="font-size:15.5px;line-height:1.8">{{lead1|在这里写一段导语,两三行,交代主题的背景与基调,替换为真实内容。}}</p><p class="card-body" style="font-size:15.5px;line-height:1.8;margin-top:10px">{{lead2|第二段延展一句,收束到下面的要点。}}</p></div>
7
+ <div class="surface surface--dashed" style="position:absolute;left:calc(96px * var(--space-scale,1));top:186px;width:660px;height:150px;padding:24px 30px;border-radius:var(--card-radius)"><p class="card-body" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.8">{{lead1|在这里写一段导语,两三行,交代主题的背景与基调,替换为真实内容。}}</p><p class="card-body" style="font-size:calc(15.5px * var(--type-scale,1));line-height:1.8;margin-top:10px">{{lead2|第二段延展一句,收束到下面的要点。}}</p></div>
8
8
  <!-- right: quote card -->
9
- <div class="quote-card" style="position:absolute;left:788px;right:96px;top:186px;height:150px;padding:26px 30px;border-radius:var(--card-radius)"><div class="quote-txt" style="font-size:18px;font-weight:700;line-height:1.5;font-style:italic">{{quote|"一句引言,点题。"}}</div><div class="quote-attr" style="font-size:13px;margin-top:12px">{{quote_attr|— 出处 / 作者}}</div></div>
9
+ <div class="quote-card" style="position:absolute;left:788px;right:calc(96px * var(--space-scale,1));top:186px;height:150px;padding:26px 30px;border-radius:var(--card-radius)"><div class="quote-txt" style="font-size:calc(18px * var(--type-scale,1));font-weight:700;line-height:1.5;font-style:italic">{{quote|"一句引言,点题。"}}</div><div class="quote-attr" style="font-size:calc(13px * var(--type-scale,1));margin-top:12px">{{quote_attr|— 出处 / 作者}}</div></div>
10
10
  <!-- ===== BOTTOM BAND (352–528) ===== -->
11
11
  <!-- left: 2x2 small cards -->
12
- <div class="card-grid" style="position:absolute;left:96px;top:352px;width:660px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:80px;gap:16px">
13
- <div class="card" style="position:relative;padding:18px 22px"><span class="card-rail" style="position:absolute;left:0;top:18px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:17px;font-weight:700">{{card1_title|要点一}}</div><p class="card-body" style="font-size:13px;line-height:1.5;margin-top:5px">{{card1_body|一句说明}}</p></div>
14
- <div class="card" style="position:relative;padding:18px 22px"><span class="card-rail" style="position:absolute;left:0;top:18px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:17px;font-weight:700">{{card2_title|要点二}}</div><p class="card-body" style="font-size:13px;line-height:1.5;margin-top:5px">{{card2_body|一句说明}}</p></div>
15
- <div class="card" style="position:relative;padding:18px 22px"><span class="card-rail" style="position:absolute;left:0;top:18px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:17px;font-weight:700">{{card3_title|要点三}}</div><p class="card-body" style="font-size:13px;line-height:1.5;margin-top:5px">{{card3_body|一句说明}}</p></div>
16
- <div class="card" style="position:relative;padding:18px 22px"><span class="card-rail" style="position:absolute;left:0;top:18px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:17px;font-weight:700">{{card4_title|要点四}}</div><p class="card-body" style="font-size:13px;line-height:1.5;margin-top:5px">{{card4_body|一句说明}}</p></div>
12
+ <div class="card-grid" style="position:absolute;left:calc(96px * var(--space-scale,1));top:352px;width:660px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:80px;gap:16px">
13
+ <div class="card" style="position:relative;padding:18px 22px"><span class="card-rail" style="position:absolute;left:0;top:18px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:calc(17px * var(--type-scale,1));font-weight:700">{{card1_title|要点一}}</div><p class="card-body" style="font-size:calc(13px * var(--type-scale,1));line-height:1.5;margin-top:5px">{{card1_body|一句说明}}</p></div>
14
+ <div class="card" style="position:relative;padding:18px 22px"><span class="card-rail" style="position:absolute;left:0;top:18px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:calc(17px * var(--type-scale,1));font-weight:700">{{card2_title|要点二}}</div><p class="card-body" style="font-size:calc(13px * var(--type-scale,1));line-height:1.5;margin-top:5px">{{card2_body|一句说明}}</p></div>
15
+ <div class="card" style="position:relative;padding:18px 22px"><span class="card-rail" style="position:absolute;left:0;top:18px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:calc(17px * var(--type-scale,1));font-weight:700">{{card3_title|要点三}}</div><p class="card-body" style="font-size:calc(13px * var(--type-scale,1));line-height:1.5;margin-top:5px">{{card3_body|一句说明}}</p></div>
16
+ <div class="card" style="position:relative;padding:18px 22px"><span class="card-rail" style="position:absolute;left:0;top:18px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:calc(17px * var(--type-scale,1));font-weight:700">{{card4_title|要点四}}</div><p class="card-body" style="font-size:calc(13px * var(--type-scale,1));line-height:1.5;margin-top:5px">{{card4_body|一句说明}}</p></div>
17
17
  </div>
18
18
  <!-- right: list card (same band as left grid) -->
19
- <div class="list-card" style="position:absolute;left:788px;right:96px;top:352px;height:176px;padding:22px 26px;border-radius:var(--card-radius)"><div class="list-title" style="font-size:16px;font-weight:700;text-align:center">{{list_title|列表标题}}</div><div class="list" style="margin-top:14px;display:flex;flex-direction:column;gap:10px;text-align:center"><div class="list-item" style="font-size:14px">{{list1|列表项一}}</div><div class="list-item" style="font-size:14px">{{list2|列表项二}}</div><div class="list-item" style="font-size:14px">{{list3|列表项三}}</div><div class="list-item" style="font-size:14px">{{list4|列表项四}}</div></div></div>
19
+ <div class="list-card" style="position:absolute;left:788px;right:calc(96px * var(--space-scale,1));top:352px;height:176px;padding:22px 26px;border-radius:var(--card-radius)"><div class="list-title" style="font-size:calc(16px * var(--type-scale,1));font-weight:700;text-align:center">{{list_title|列表标题}}</div><div class="list" style="margin-top:14px;display:flex;flex-direction:column;gap:10px;text-align:center"><div class="list-item" style="font-size:calc(14px * var(--type-scale,1))">{{list1|列表项一}}</div><div class="list-item" style="font-size:calc(14px * var(--type-scale,1))">{{list2|列表项二}}</div><div class="list-item" style="font-size:calc(14px * var(--type-scale,1))">{{list3|列表项三}}</div><div class="list-item" style="font-size:calc(14px * var(--type-scale,1))">{{list4|列表项四}}</div></div></div>
20
20
  <!-- ===== FULL-WIDTH NOTE STRIP ===== -->
21
- <div class="note" style="position:absolute;left:96px;right:96px;top:560px;padding:14px 22px;border-radius:var(--card-radius)"><span class="note-label" style="font-size:12px;font-weight:700">温馨提示:</span><span class="note-body" style="font-size:12.5px"> {{note|一句补充说明,替换为真实内容。}}</span></div>
21
+ <div class="note" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));top:560px;padding:14px 22px;border-radius:var(--card-radius)"><span class="note-label" style="font-size:calc(12px * var(--type-scale,1));font-weight:700">温馨提示:</span><span class="note-body" style="font-size:calc(12.5px * var(--type-scale,1))"> {{note|一句补充说明,替换为真实内容。}}</span></div>
22
22
  </section>
@@ -1,2 +1,2 @@
1
1
  <!-- layouts/ending-contact — structure-only. role=ending. -->
2
- <section class="slide" data-layout="ending-contact" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div style="position:absolute;left:0;right:0;top:250px;text-align:center"><span class="eyebrow-row" style="display:inline-flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|THANK YOU}}</span></span></div><h1 class="ending-title" style="position:absolute;left:0;right:0;top:288px;text-align:center;font-size:72px;">{{title|期待与您合作}}</h1><div style="position:absolute;left:340px;right:340px;top:440px;display:grid;grid-template-columns:1fr 1fr;gap:20px"><div class="card" style="padding:18px 22px"><div class="kpi-label" style="font-size:13px;letter-spacing:.1em">邮箱</div><div class="ending-sub" style="font-size:17px;margin-top:4px">{{email|name@example.com}}</div></div><div class="card" style="padding:18px 22px"><div class="kpi-label" style="font-size:13px;letter-spacing:.1em">电话</div><div class="ending-sub" style="font-size:17px;margin-top:4px">{{phone|+86 000 0000 0000}}</div></div><div class="card" style="padding:18px 22px"><div class="kpi-label" style="font-size:13px;letter-spacing:.1em">网站</div><div class="ending-sub" style="font-size:17px;margin-top:4px">{{web|www.example.com}}</div></div><div class="card" style="padding:18px 22px"><div class="kpi-label" style="font-size:13px;letter-spacing:.1em">地址</div><div class="ending-sub" style="font-size:17px;margin-top:4px">{{addr|北京 · 示例地址}}</div></div></div></section>
2
+ <section class="slide" data-layout="ending-contact" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div style="position:absolute;left:0;right:0;top:250px;text-align:center"><span class="eyebrow-row" style="display:inline-flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|THANK YOU}}</span></span></div><h1 class="ending-title" style="position:absolute;left:0;right:0;top:288px;text-align:center;font-size:calc(72px * var(--type-scale,1));">{{title|期待与您合作}}</h1><div style="position:absolute;left:340px;right:340px;top:440px;display:grid;grid-template-columns:1fr 1fr;gap:20px"><div class="card" style="padding:18px 22px"><div class="kpi-label" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.1em">邮箱</div><div class="ending-sub" style="font-size:calc(17px * var(--type-scale,1));margin-top:4px">{{email|name@example.com}}</div></div><div class="card" style="padding:18px 22px"><div class="kpi-label" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.1em">电话</div><div class="ending-sub" style="font-size:calc(17px * var(--type-scale,1));margin-top:4px">{{phone|+86 000 0000 0000}}</div></div><div class="card" style="padding:18px 22px"><div class="kpi-label" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.1em">网站</div><div class="ending-sub" style="font-size:calc(17px * var(--type-scale,1));margin-top:4px">{{web|www.example.com}}</div></div><div class="card" style="padding:18px 22px"><div class="kpi-label" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.1em">地址</div><div class="ending-sub" style="font-size:calc(17px * var(--type-scale,1));margin-top:4px">{{addr|北京 · 示例地址}}</div></div></div></section>
@@ -1,2 +1,2 @@
1
1
  <!-- layouts/ending — structure-only (paint via skin). -->
2
- <section class="slide" data-layout="ending" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div style="position:absolute;left:0;right:0;top:300px;text-align:center"><span class="eyebrow-row" style="display:inline-flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|THANK YOU}}</span></span></div><h1 class="ending-title" style="position:absolute;left:0;right:0;top:336px;text-align:center;font-size:82px;letter-spacing:-1px">{{title|谢谢观看}}</h1><p class="ending-sub" style="position:absolute;left:0;right:0;top:488px;text-align:center;font-size:19px">{{sub|一句行动号召 / 联系方式引导}}</p><div class="ending-contact" style="position:absolute;left:0;right:0;top:556px;text-align:center;font-size:14px;letter-spacing:.14em">{{contact|name@example.com · 2026}}</div></section>
2
+ <section class="slide" data-layout="ending" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div style="position:absolute;left:0;right:0;top:300px;text-align:center"><span class="eyebrow-row" style="display:inline-flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|THANK YOU}}</span></span></div><h1 class="ending-title" style="position:absolute;left:0;right:0;top:336px;text-align:center;font-size:calc(82px * var(--type-scale,1));letter-spacing:-1px">{{title|谢谢观看}}</h1><p class="ending-sub" style="position:absolute;left:0;right:0;top:488px;text-align:center;font-size:calc(19px * var(--type-scale,1))">{{sub|一句行动号召 / 联系方式引导}}</p><div class="ending-contact" style="position:absolute;left:0;right:0;top:556px;text-align:center;font-size:calc(14px * var(--type-scale,1));letter-spacing:.14em">{{contact|name@example.com · 2026}}</div></section>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/funnel — structure-only variant (paint via skin). -->
2
- <section class="slide" data-layout="funnel" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|FUNNEL}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|转化漏斗}}</h2>
3
- <div class="card-grid" style="position:absolute;left:0;right:0;top:296px;display:flex;flex-direction:column;align-items:center;gap:12px"><div class="card" style="width:calc(100% * 8);max-width:820px;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 40px"><span class="card-title" style="font-size:19px;font-weight:700">{{s1_label|曝光}}</span><span class="dt-em" style="font-size:22px;font-weight:800">{{s1_val|100%}}</span></div><div class="card" style="width:calc(62% * 8);max-width:820px;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 40px"><span class="card-title" style="font-size:19px;font-weight:700">{{s2_label|点击}}</span><span class="dt-em" style="font-size:22px;font-weight:800">{{s2_val|62%}}</span></div><div class="card" style="width:calc(24% * 8);max-width:820px;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 40px"><span class="card-title" style="font-size:19px;font-weight:700">{{s3_label|加购}}</span><span class="dt-em" style="font-size:22px;font-weight:800">{{s3_val|24%}}</span></div><div class="card" style="width:calc(8% * 8);max-width:820px;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 40px"><span class="card-title" style="font-size:19px;font-weight:700">{{s4_label|下单}}</span><span class="dt-em" style="font-size:22px;font-weight:800">{{s4_val|8%}}</span></div></div><div class="kpi-label" style="position:absolute;right:96px;top:300px;font-size:14px;text-align:right">{{rate_label|整体转化率}}<br><span class="dt-em" style="font-size:30px;font-weight:800">{{rate|8.0%}}</span></div>
4
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div></section>
2
+ <section class="slide" data-layout="funnel" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|FUNNEL}}</span></div><h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|转化漏斗}}</h2>
3
+ <div class="card-grid" style="position:absolute;left:0;right:0;top:296px;display:flex;flex-direction:column;align-items:center;gap:12px"><div class="card" style="width:calc(100% * 8);max-width:820px;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 40px"><span class="card-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700">{{s1_label|曝光}}</span><span class="dt-em" style="font-size:calc(22px * var(--type-scale,1));font-weight:800">{{s1_val|100%}}</span></div><div class="card" style="width:calc(62% * 8);max-width:820px;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 40px"><span class="card-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700">{{s2_label|点击}}</span><span class="dt-em" style="font-size:calc(22px * var(--type-scale,1));font-weight:800">{{s2_val|62%}}</span></div><div class="card" style="width:calc(24% * 8);max-width:820px;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 40px"><span class="card-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700">{{s3_label|加购}}</span><span class="dt-em" style="font-size:calc(22px * var(--type-scale,1));font-weight:800">{{s3_val|24%}}</span></div><div class="card" style="width:calc(8% * 8);max-width:820px;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 40px"><span class="card-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700">{{s4_label|下单}}</span><span class="dt-em" style="font-size:calc(22px * var(--type-scale,1));font-weight:800">{{s4_val|8%}}</span></div></div><div class="kpi-label" style="position:absolute;right:calc(96px * var(--space-scale,1));top:300px;font-size:calc(14px * var(--type-scale,1));text-align:right">{{rate_label|整体转化率}}<br><span class="dt-em" style="font-size:calc(30px * var(--type-scale,1));font-weight:800">{{rate|8.0%}}</span></div>
4
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div></section>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/gantt — structure-only variant (paint via skin). rows.cols{label} = the timeline header; rows.tasks{name,from,to} = one bar per task, spanning columns from..to (1-based, inclusive) — deck-build derives _left/_width so the bar always matches the numbers. -->
2
- <section class="slide" data-layout="gantt" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|SCHEDULE}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|项目排期}}</h2>
3
- <div style="position:absolute;left:96px;right:96px;top:284px"><div style="display:grid;grid-template-columns:180px 1fr;align-items:center;padding-bottom:10px"><div></div><div style="display:flex">{{#cols}}<div class="gantt-grid" style="flex:1;font-size:12px;padding-left:6px;border-left:1px solid var(--hair)">{{label|Q1}}</div>{{/cols}}</div></div>{{#tasks}}<div style="display:grid;grid-template-columns:180px 1fr;align-items:center;height:52px"><div class="dt-key" style="font-size:15px;font-weight:600">{{name|占位任务}}</div><div class="gantt-track" style="position:relative;height:20px;border-radius:var(--card-radius)"><div class="gantt-bar" style="position:absolute;top:0;bottom:0;left:{{_left|0}}%;width:{{_width|25}}%;border-radius:var(--card-radius)"></div></div></div>{{/tasks}}</div>
4
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div></section>
2
+ <section class="slide" data-layout="gantt" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|SCHEDULE}}</span></div><h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|项目排期}}</h2>
3
+ <div style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));top:284px"><div style="display:grid;grid-template-columns:180px 1fr;align-items:center;padding-bottom:10px"><div></div><div style="display:flex">{{#cols}}<div class="gantt-grid" style="flex:1;font-size:calc(12px * var(--type-scale,1));padding-left:6px;border-left:1px solid var(--hair)">{{label|Q1}}</div>{{/cols}}</div></div>{{#tasks}}<div style="display:grid;grid-template-columns:180px 1fr;align-items:center;height:52px"><div class="dt-key" style="font-size:calc(15px * var(--type-scale,1));font-weight:600">{{name|占位任务}}</div><div class="gantt-track" style="position:relative;height:20px;border-radius:var(--card-radius)"><div class="gantt-bar" style="position:absolute;top:0;bottom:0;left:{{_left|0}}%;width:{{_width|25}}%;border-radius:var(--card-radius)"></div></div></div>{{/tasks}}</div>
4
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div></section>
@@ -1,6 +1,6 @@
1
1
  <!-- layouts/hero — feature-reveal: centered eyebrow + oversized statement + one line, for a dramatic skin backdrop (paint via skin). -->
2
2
  <section class="slide" data-layout="hero" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div>
3
- <div class="eyebrow-row" style="position:absolute;left:0;right:0;top:250px;display:flex;align-items:center;justify-content:center;gap:14px"><span class="accent-bar" style="width:40px;height:3px;display:inline-block"></span><span class="eyebrow" style="font-size:14px;letter-spacing:.3em">{{eyebrow|INTRODUCING · 全新特性}}</span></div>
4
- <h1 class="cover-title" style="position:absolute;left:0;right:0;top:300px;text-align:center;font-size:104px;line-height:1.05;letter-spacing:-1px">{{title|全新体验}}</h1>
5
- <p class="cover-sub" style="position:absolute;left:0;right:0;top:474px;text-align:center;font-size:21px;line-height:1.5">{{sub|一句话点出这个特性为什么重要。}}</p>
3
+ <div class="eyebrow-row" style="position:absolute;left:0;right:0;top:250px;display:flex;align-items:center;justify-content:center;gap:14px"><span class="accent-bar" style="width:40px;height:3px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(14px * var(--type-scale,1));letter-spacing:.3em">{{eyebrow|INTRODUCING · 全新特性}}</span></div>
4
+ <h1 class="cover-title" style="position:absolute;left:0;right:0;top:300px;text-align:center;font-size:calc(104px * var(--type-scale,1));line-height:1.05;letter-spacing:-1px">{{title|全新体验}}</h1>
5
+ <p class="cover-sub" style="position:absolute;left:0;right:0;top:474px;text-align:center;font-size:calc(21px * var(--type-scale,1));line-height:1.5">{{sub|一句话点出这个特性为什么重要。}}</p>
6
6
  </section>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/icon-row — structure-only variant (paint via skin). -->
2
- <section class="slide" data-layout="icon-row" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|CAPABILITIES}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|四大能力}}</h2>
3
- <div style="position:absolute;left:96px;right:96px;top:310px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px"><div style="text-align:center"><div class="step-circle" style="width:96px;height:96px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1">●</div><div class="step-title" style="font-size:20px;font-weight:700;margin-top:22px">{{item1_title|能力 01}}</div><p class="step-body" style="font-size:14px;line-height:1.55;margin-top:8px">{{item1_body|一句说明,替换为真实内容。}}</p></div><div style="text-align:center"><div class="step-circle" style="width:96px;height:96px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1">▲</div><div class="step-title" style="font-size:20px;font-weight:700;margin-top:22px">{{item2_title|能力 02}}</div><p class="step-body" style="font-size:14px;line-height:1.55;margin-top:8px">{{item2_body|一句说明,替换为真实内容。}}</p></div><div style="text-align:center"><div class="step-circle" style="width:96px;height:96px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1">■</div><div class="step-title" style="font-size:20px;font-weight:700;margin-top:22px">{{item3_title|能力 03}}</div><p class="step-body" style="font-size:14px;line-height:1.55;margin-top:8px">{{item3_body|一句说明,替换为真实内容。}}</p></div><div style="text-align:center"><div class="step-circle" style="width:96px;height:96px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1">◆</div><div class="step-title" style="font-size:20px;font-weight:700;margin-top:22px">{{item4_title|能力 04}}</div><p class="step-body" style="font-size:14px;line-height:1.55;margin-top:8px">{{item4_body|一句说明,替换为真实内容。}}</p></div></div>
4
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div></section>
2
+ <section class="slide" data-layout="icon-row" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|CAPABILITIES}}</span></div><h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|四大能力}}</h2>
3
+ <div style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));top:310px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px"><div style="text-align:center"><div class="step-circle" style="width:96px;height:96px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:calc(34px * var(--type-scale,1));line-height:1">●</div><div class="step-title" style="font-size:calc(20px * var(--type-scale,1));font-weight:700;margin-top:22px">{{item1_title|能力 01}}</div><p class="step-body" style="font-size:calc(14px * var(--type-scale,1));line-height:1.55;margin-top:8px">{{item1_body|一句说明,替换为真实内容。}}</p></div><div style="text-align:center"><div class="step-circle" style="width:96px;height:96px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:calc(34px * var(--type-scale,1));line-height:1">▲</div><div class="step-title" style="font-size:calc(20px * var(--type-scale,1));font-weight:700;margin-top:22px">{{item2_title|能力 02}}</div><p class="step-body" style="font-size:calc(14px * var(--type-scale,1));line-height:1.55;margin-top:8px">{{item2_body|一句说明,替换为真实内容。}}</p></div><div style="text-align:center"><div class="step-circle" style="width:96px;height:96px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:calc(34px * var(--type-scale,1));line-height:1">■</div><div class="step-title" style="font-size:calc(20px * var(--type-scale,1));font-weight:700;margin-top:22px">{{item3_title|能力 03}}</div><p class="step-body" style="font-size:calc(14px * var(--type-scale,1));line-height:1.55;margin-top:8px">{{item3_body|一句说明,替换为真实内容。}}</p></div><div style="text-align:center"><div class="step-circle" style="width:96px;height:96px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:calc(34px * var(--type-scale,1));line-height:1">◆</div><div class="step-title" style="font-size:calc(20px * var(--type-scale,1));font-weight:700;margin-top:22px">{{item4_title|能力 04}}</div><p class="step-body" style="font-size:calc(14px * var(--type-scale,1));line-height:1.55;margin-top:8px">{{item4_body|一句说明,替换为真实内容。}}</p></div></div>
4
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div></section>
@@ -1,9 +1,9 @@
1
1
  <!-- layouts/image-full — structure-only. full-bleed image content page + overlay caption. -->
2
2
  <section class="slide" data-layout="image-full" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div>
3
- <div class="surface" style="position:absolute;inset:0;border-radius:0;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:15px">{{image_label|全出血图片占位 · 替换为 &lt;img&gt;}}</span></div>
3
+ <div class="surface" style="position:absolute;inset:0;border-radius:0;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:calc(15px * var(--type-scale,1))">{{image_label|全出血图片占位 · 替换为 &lt;img&gt;}}</span></div>
4
4
  <div style="position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78) 6%,rgba(0,0,0,.28) 42%,transparent 68%)"></div>
5
- <div class="eyebrow-row" style="position:absolute;left:96px;top:64px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|VISUAL}}</span></div>
6
- <h2 class="overlay-title" style="position:absolute;left:92px;bottom:132px;width:1000px;font-size:44px;font-weight:700">{{title|一句图片说明的标题}}</h2>
7
- <p class="overlay-sub" style="position:absolute;left:96px;bottom:84px;width:960px;font-size:17px;line-height:1.5">{{caption|一段图注/背景说明,替换为真实内容,给这张图上下文与来源。}}</p>
8
- <div class="overlay-sub" style="position:absolute;right:96px;bottom:40px;font-size:12px;letter-spacing:.1em">{{pageno|01}}</div>
5
+ <div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:64px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|VISUAL}}</span></div>
6
+ <h2 class="overlay-title" style="position:absolute;left:calc(92px * var(--space-scale,1));bottom:132px;width:1000px;font-size:calc(44px * var(--type-scale,1));font-weight:700">{{title|一句图片说明的标题}}</h2>
7
+ <p class="overlay-sub" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:84px;width:960px;font-size:calc(17px * var(--type-scale,1));line-height:1.5">{{caption|一段图注/背景说明,替换为真实内容,给这张图上下文与来源。}}</p>
8
+ <div class="overlay-sub" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:40px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{pageno|01}}</div>
9
9
  </section>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/image-grid — structure-only variant (paint via skin). reuses class contract, no skin change. -->
2
- <section class="slide" data-layout="image-grid" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|GALLERY}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|三图并列}}</h2>
3
- <div style="position:absolute;left:96px;right:96px;top:284px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px"><div><div class="surface" style="height:236px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:14px">{{img1_label|图 01}}</span></div><div class="card-title" style="font-size:19px;font-weight:700;margin-top:16px">{{img1_title|图注标题}}</div><p class="card-body" style="font-size:14.5px;line-height:1.55;margin-top:6px">{{img1_body|一句图注说明,替换为真实内容。}}</p></div><div><div class="surface" style="height:236px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:14px">{{img2_label|图 02}}</span></div><div class="card-title" style="font-size:19px;font-weight:700;margin-top:16px">{{img2_title|图注标题}}</div><p class="card-body" style="font-size:14.5px;line-height:1.55;margin-top:6px">{{img2_body|一句图注说明,替换为真实内容。}}</p></div><div><div class="surface" style="height:236px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:14px">{{img3_label|图 03}}</span></div><div class="card-title" style="font-size:19px;font-weight:700;margin-top:16px">{{img3_title|图注标题}}</div><p class="card-body" style="font-size:14.5px;line-height:1.55;margin-top:6px">{{img3_body|一句图注说明,替换为真实内容。}}</p></div></div>
4
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div></section>
2
+ <section class="slide" data-layout="image-grid" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|GALLERY}}</span></div><h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|三图并列}}</h2>
3
+ <div style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));top:284px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px"><div><div class="surface" style="height:236px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:calc(14px * var(--type-scale,1))">{{img1_label|图 01}}</span></div><div class="card-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700;margin-top:16px">{{img1_title|图注标题}}</div><p class="card-body" style="font-size:calc(14.5px * var(--type-scale,1));line-height:1.55;margin-top:6px">{{img1_body|一句图注说明,替换为真实内容。}}</p></div><div><div class="surface" style="height:236px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:calc(14px * var(--type-scale,1))">{{img2_label|图 02}}</span></div><div class="card-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700;margin-top:16px">{{img2_title|图注标题}}</div><p class="card-body" style="font-size:calc(14.5px * var(--type-scale,1));line-height:1.55;margin-top:6px">{{img2_body|一句图注说明,替换为真实内容。}}</p></div><div><div class="surface" style="height:236px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:calc(14px * var(--type-scale,1))">{{img3_label|图 03}}</span></div><div class="card-title" style="font-size:calc(19px * var(--type-scale,1));font-weight:700;margin-top:16px">{{img3_title|图注标题}}</div><p class="card-body" style="font-size:calc(14.5px * var(--type-scale,1));line-height:1.55;margin-top:6px">{{img3_body|一句图注说明,替换为真实内容。}}</p></div></div>
4
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div></section>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/image-left — structure-only variant (paint via skin). reuses class contract, no skin change. -->
2
- <section class="slide" data-layout="image-left" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|CASE STUDY}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|图文案例}}</h2>
3
- <div class="surface" style="position:absolute;left:96px;top:280px;width:512px;height:322px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:15px">{{image_label|图片 / 图表占位}}</span></div><div style="position:absolute;right:96px;top:280px;width:512px;display:flex;flex-direction:column;gap:22px"><div class="card" style="position:relative;padding:22px 26px"><span class="card-rail" style="position:absolute;left:0;top:22px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:20px;font-weight:700">{{card1_title|背景}}</div><p class="card-body" style="font-size:15px;line-height:1.6;margin-top:6px">{{card1_body|一句说明,替换为真实内容。}}</p></div><div class="card" style="position:relative;padding:22px 26px"><span class="card-rail" style="position:absolute;left:0;top:22px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:20px;font-weight:700">{{card2_title|方案}}</div><p class="card-body" style="font-size:15px;line-height:1.6;margin-top:6px">{{card2_body|一句说明,替换为真实内容。}}</p></div><div class="card" style="position:relative;padding:22px 26px"><span class="card-rail" style="position:absolute;left:0;top:22px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:20px;font-weight:700">{{card3_title|结果}}</div><p class="card-body" style="font-size:15px;line-height:1.6;margin-top:6px">{{card3_body|一句说明,替换为真实内容。}}</p></div></div>
4
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div></section>
2
+ <section class="slide" data-layout="image-left" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|CASE STUDY}}</span></div><h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|图文案例}}</h2>
3
+ <div class="surface" style="position:absolute;left:calc(96px * var(--space-scale,1));top:280px;width:512px;height:322px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:calc(15px * var(--type-scale,1))">{{image_label|图片 / 图表占位}}</span></div><div style="position:absolute;right:calc(96px * var(--space-scale,1));top:280px;width:512px;display:flex;flex-direction:column;gap:22px"><div class="card" style="position:relative;padding:22px 26px"><span class="card-rail" style="position:absolute;left:0;top:22px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:calc(20px * var(--type-scale,1));font-weight:700">{{card1_title|背景}}</div><p class="card-body" style="font-size:calc(15px * var(--type-scale,1));line-height:1.6;margin-top:6px">{{card1_body|一句说明,替换为真实内容。}}</p></div><div class="card" style="position:relative;padding:22px 26px"><span class="card-rail" style="position:absolute;left:0;top:22px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:calc(20px * var(--type-scale,1));font-weight:700">{{card2_title|方案}}</div><p class="card-body" style="font-size:calc(15px * var(--type-scale,1));line-height:1.6;margin-top:6px">{{card2_body|一句说明,替换为真实内容。}}</p></div><div class="card" style="position:relative;padding:22px 26px"><span class="card-rail" style="position:absolute;left:0;top:22px;width:3px;height:34px;border-radius:2px"></span><div class="card-title" style="font-size:calc(20px * var(--type-scale,1));font-weight:700">{{card3_title|结果}}</div><p class="card-body" style="font-size:calc(15px * var(--type-scale,1));line-height:1.6;margin-top:6px">{{card3_body|一句说明,替换为真实内容。}}</p></div></div>
4
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div></section>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/list — structure-only variant (paint via skin). -->
2
- <section class="slide" data-layout="list" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|KEY POINTS}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|要点清单}}</h2>
3
- <div class="toc-grid" style="position:absolute;left:96px;right:96px;top:262px;bottom:74px;display:flex;flex-direction:column;justify-content:center"><div class="toc-item" style="display:flex;gap:26px;align-items:baseline;padding:15px 0"><span class="toc-num" style="font-size:34px;font-weight:700">01</span><div style="flex:1"><div class="toc-title" style="font-size:23px;font-weight:600">{{item1_title|要点标题}}</div><div class="toc-desc" style="font-size:15px;line-height:1.6;margin-top:6px">{{item1_desc|一句展开说明,替换为真实内容,25–40 字。}}</div></div></div><div class="toc-item" style="display:flex;gap:26px;align-items:baseline;padding:15px 0"><span class="toc-num" style="font-size:34px;font-weight:700">02</span><div style="flex:1"><div class="toc-title" style="font-size:23px;font-weight:600">{{item2_title|要点标题}}</div><div class="toc-desc" style="font-size:15px;line-height:1.6;margin-top:6px">{{item2_desc|一句展开说明,替换为真实内容,25–40 字。}}</div></div></div><div class="toc-item" style="display:flex;gap:26px;align-items:baseline;padding:15px 0"><span class="toc-num" style="font-size:34px;font-weight:700">03</span><div style="flex:1"><div class="toc-title" style="font-size:23px;font-weight:600">{{item3_title|要点标题}}</div><div class="toc-desc" style="font-size:15px;line-height:1.6;margin-top:6px">{{item3_desc|一句展开说明,替换为真实内容,25–40 字。}}</div></div></div><div class="toc-item" style="display:flex;gap:26px;align-items:baseline;padding:15px 0"><span class="toc-num" style="font-size:34px;font-weight:700">04</span><div style="flex:1"><div class="toc-title" style="font-size:23px;font-weight:600">{{item4_title|要点标题}}</div><div class="toc-desc" style="font-size:15px;line-height:1.6;margin-top:6px">{{item4_desc|一句展开说明,替换为真实内容,25–40 字。}}</div></div></div></div>
4
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div></section>
2
+ <section class="slide" data-layout="list" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|KEY POINTS}}</span></div><h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|要点清单}}</h2>
3
+ <div class="toc-grid" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));top:262px;bottom:74px;display:flex;flex-direction:column;justify-content:center"><div class="toc-item" style="display:flex;gap:26px;align-items:baseline;padding:15px 0"><span class="toc-num" style="font-size:calc(34px * var(--type-scale,1));font-weight:700">01</span><div style="flex:1"><div class="toc-title" style="font-size:calc(23px * var(--type-scale,1));font-weight:600">{{item1_title|要点标题}}</div><div class="toc-desc" style="font-size:calc(15px * var(--type-scale,1));line-height:1.6;margin-top:6px">{{item1_desc|一句展开说明,替换为真实内容,25–40 字。}}</div></div></div><div class="toc-item" style="display:flex;gap:26px;align-items:baseline;padding:15px 0"><span class="toc-num" style="font-size:calc(34px * var(--type-scale,1));font-weight:700">02</span><div style="flex:1"><div class="toc-title" style="font-size:calc(23px * var(--type-scale,1));font-weight:600">{{item2_title|要点标题}}</div><div class="toc-desc" style="font-size:calc(15px * var(--type-scale,1));line-height:1.6;margin-top:6px">{{item2_desc|一句展开说明,替换为真实内容,25–40 字。}}</div></div></div><div class="toc-item" style="display:flex;gap:26px;align-items:baseline;padding:15px 0"><span class="toc-num" style="font-size:calc(34px * var(--type-scale,1));font-weight:700">03</span><div style="flex:1"><div class="toc-title" style="font-size:calc(23px * var(--type-scale,1));font-weight:600">{{item3_title|要点标题}}</div><div class="toc-desc" style="font-size:calc(15px * var(--type-scale,1));line-height:1.6;margin-top:6px">{{item3_desc|一句展开说明,替换为真实内容,25–40 字。}}</div></div></div><div class="toc-item" style="display:flex;gap:26px;align-items:baseline;padding:15px 0"><span class="toc-num" style="font-size:calc(34px * var(--type-scale,1));font-weight:700">04</span><div style="flex:1"><div class="toc-title" style="font-size:calc(23px * var(--type-scale,1));font-weight:600">{{item4_title|要点标题}}</div><div class="toc-desc" style="font-size:calc(15px * var(--type-scale,1));line-height:1.6;margin-top:6px">{{item4_desc|一句展开说明,替换为真实内容,25–40 字。}}</div></div></div></div>
4
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div></section>
@@ -1,14 +1,14 @@
1
1
  <!-- layouts/logo-guidelines — structure-only (paint via skin). 品牌手册"Logo 规范":左 主标 + 虚线留白区;右 三种变体(主标/反白/单色). {{wordmark}} 填一次,四处字标同步. 字标/反白底/单色走 skin 变量(.logo-mark/.logo-tile-dark/.logo-mark-rev/.logo-mark-mono/.clearspace). data-layout drives P1/P2/P3 + dedup. -->
2
2
  <section class="slide" data-layout="logo-guidelines" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div>
3
- <div class="eyebrow-row" style="position:absolute;left:96px;top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:13px;letter-spacing:.28em">{{eyebrow|LOGO}}</span></div>
4
- <h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|Logo 规范}}</h2>
3
+ <div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|LOGO}}</span></div>
4
+ <h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|Logo 规范}}</h2>
5
5
  <!-- left: primary logo + clear space -->
6
- <div class="surface" style="position:absolute;left:96px;top:264px;width:560px;bottom:92px;display:flex;align-items:center;justify-content:center"><div class="clearspace" style="padding:56px 72px;border-radius:var(--card-radius)"><div class="logo-mark" style="font-family:var(--font-head);font-size:56px;font-weight:700;letter-spacing:.04em">{{wordmark|BRAND}}</div><div class="surface-label" style="font-size:13px;text-align:center;margin-top:8px;letter-spacing:.24em">{{tagline|STUDIO}}</div></div></div>
6
+ <div class="surface" style="position:absolute;left:calc(96px * var(--space-scale,1));top:264px;width:560px;bottom:92px;display:flex;align-items:center;justify-content:center"><div class="clearspace" style="padding:56px 72px;border-radius:var(--card-radius)"><div class="logo-mark" style="font-family:var(--font-head);font-size:calc(56px * var(--type-scale,1));font-weight:700;letter-spacing:.04em">{{wordmark|BRAND}}</div><div class="surface-label" style="font-size:calc(13px * var(--type-scale,1));text-align:center;margin-top:8px;letter-spacing:.24em">{{tagline|STUDIO}}</div></div></div>
7
7
  <!-- right: 3 variants -->
8
- <div style="position:absolute;left:692px;right:96px;top:264px;bottom:92px;display:flex;flex-direction:column;gap:18px">
9
- <div class="surface" style="flex:1;display:flex;align-items:center;justify-content:center;position:relative"><div class="logo-mark" style="font-family:var(--font-head);font-size:32px;font-weight:700;letter-spacing:.04em">{{wordmark|BRAND}}</div><span class="surface-label" style="position:absolute;left:18px;bottom:12px;font-size:11px;letter-spacing:.14em">{{v1_label|主标 · Primary}}</span></div>
10
- <div class="logo-tile-dark" style="flex:1;border-radius:var(--card-radius);display:flex;align-items:center;justify-content:center;position:relative"><div class="logo-mark-rev" style="font-family:var(--font-head);font-size:32px;font-weight:700;letter-spacing:.04em">{{wordmark|BRAND}}</div><span class="logo-mark-rev" style="position:absolute;left:18px;bottom:12px;font-size:11px;letter-spacing:.14em;opacity:.7">{{v2_label|反白 · Reverse}}</span></div>
11
- <div class="surface" style="flex:1;display:flex;align-items:center;justify-content:center;position:relative"><div class="logo-mark-mono" style="font-family:var(--font-head);font-size:32px;font-weight:700;letter-spacing:.04em">{{wordmark|BRAND}}</div><span class="surface-label" style="position:absolute;left:18px;bottom:12px;font-size:11px;letter-spacing:.14em">{{v3_label|单色 · Mono}}</span></div>
8
+ <div style="position:absolute;left:692px;right:calc(96px * var(--space-scale,1));top:264px;bottom:92px;display:flex;flex-direction:column;gap:18px">
9
+ <div class="surface" style="flex:1;display:flex;align-items:center;justify-content:center;position:relative"><div class="logo-mark" style="font-family:var(--font-head);font-size:calc(32px * var(--type-scale,1));font-weight:700;letter-spacing:.04em">{{wordmark|BRAND}}</div><span class="surface-label" style="position:absolute;left:18px;bottom:12px;font-size:calc(11px * var(--type-scale,1));letter-spacing:.14em">{{v1_label|主标 · Primary}}</span></div>
10
+ <div class="logo-tile-dark" style="flex:1;border-radius:var(--card-radius);display:flex;align-items:center;justify-content:center;position:relative"><div class="logo-mark-rev" style="font-family:var(--font-head);font-size:calc(32px * var(--type-scale,1));font-weight:700;letter-spacing:.04em">{{wordmark|BRAND}}</div><span class="logo-mark-rev" style="position:absolute;left:18px;bottom:12px;font-size:calc(11px * var(--type-scale,1));letter-spacing:.14em;opacity:.7">{{v2_label|反白 · Reverse}}</span></div>
11
+ <div class="surface" style="flex:1;display:flex;align-items:center;justify-content:center;position:relative"><div class="logo-mark-mono" style="font-family:var(--font-head);font-size:calc(32px * var(--type-scale,1));font-weight:700;letter-spacing:.04em">{{wordmark|BRAND}}</div><span class="surface-label" style="position:absolute;left:18px;bottom:12px;font-size:calc(11px * var(--type-scale,1));letter-spacing:.14em">{{v3_label|单色 · Mono}}</span></div>
12
12
  </div>
13
- <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:12px;letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">{{pageno|01}}</div>
13
+ <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div>
14
14
  </section>