@taloswork/ose-shared 0.0.2 → 0.0.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 (120) hide show
  1. package/mcp/gen/mcp.json +26 -0
  2. package/package.json +3 -3
  3. package/skills/document/SKILL.md +11 -7
  4. package/skills/document/assets/fonts/Anton-Regular.woff2 +0 -0
  5. package/skills/document/bin/doc-convert.cjs +983 -936
  6. package/skills/document/bin/doc-gen.cjs +52 -4
  7. package/skills/document/bin/html2pptx.cjs +34 -10
  8. package/skills/document/content-pipeline.md +4 -3
  9. package/skills/document/layouts/README.md +9 -0
  10. package/skills/document/layouts/bento.tpl +1 -1
  11. package/skills/document/layouts/big-stat.tpl +1 -1
  12. package/skills/document/layouts/blocks-2x2.tpl +3 -3
  13. package/skills/document/layouts/brand-values.tpl +1 -1
  14. package/skills/document/layouts/cards-3.tpl +1 -1
  15. package/skills/document/layouts/cards-grid.tpl +1 -1
  16. package/skills/document/layouts/chart-full.tpl +1 -1
  17. package/skills/document/layouts/chart-kpi.tpl +1 -1
  18. package/skills/document/layouts/color-palette.tpl +6 -6
  19. package/skills/document/layouts/comparison.tpl +2 -2
  20. package/skills/document/layouts/concept-hub.tpl +1 -1
  21. package/skills/document/layouts/cover-centered.tpl +1 -1
  22. package/skills/document/layouts/cover-image.tpl +1 -1
  23. package/skills/document/layouts/cover-minimal.tpl +1 -1
  24. package/skills/document/layouts/cover-statement.tpl +1 -1
  25. package/skills/document/layouts/cover.tpl +1 -1
  26. package/skills/document/layouts/data-table.tpl +1 -1
  27. package/skills/document/layouts/dos-donts.tpl +1 -1
  28. package/skills/document/layouts/editorial-panel.tpl +5 -5
  29. package/skills/document/layouts/ending-contact.tpl +1 -1
  30. package/skills/document/layouts/ending.tpl +1 -1
  31. package/skills/document/layouts/funnel.tpl +1 -1
  32. package/skills/document/layouts/gantt.tpl +2 -2
  33. package/skills/document/layouts/hero.tpl +1 -1
  34. package/skills/document/layouts/icon-row.tpl +1 -1
  35. package/skills/document/layouts/image-grid.tpl +1 -1
  36. package/skills/document/layouts/image-left.tpl +1 -1
  37. package/skills/document/layouts/list.tpl +1 -1
  38. package/skills/document/layouts/logo-guidelines.tpl +3 -3
  39. package/skills/document/layouts/map-distribution.tpl +1 -1
  40. package/skills/document/layouts/map-quad.tpl +1 -1
  41. package/skills/document/layouts/matrix-2x2.tpl +1 -1
  42. package/skills/document/layouts/numbered-brief.tpl +3 -3
  43. package/skills/document/layouts/org-tree.tpl +1 -1
  44. package/skills/document/layouts/problem-solution-banner.tpl +12 -0
  45. package/skills/document/layouts/problem-solution.tpl +2 -2
  46. package/skills/document/layouts/pyramid.tpl +1 -1
  47. package/skills/document/layouts/quote.tpl +1 -1
  48. package/skills/document/layouts/radar.tpl +1 -1
  49. package/skills/document/layouts/ring-progress.tpl +1 -1
  50. package/skills/document/layouts/section-fullbleed.tpl +8 -0
  51. package/skills/document/layouts/section-image.tpl +1 -1
  52. package/skills/document/layouts/section-stat.tpl +1 -1
  53. package/skills/document/layouts/section.tpl +1 -1
  54. package/skills/document/layouts/slots.json +763 -1
  55. package/skills/document/layouts/split-two-col.tpl +1 -1
  56. package/skills/document/layouts/stats-chart.tpl +2 -2
  57. package/skills/document/layouts/steps-serpentine.tpl +19 -0
  58. package/skills/document/layouts/steps-vertical.tpl +1 -1
  59. package/skills/document/layouts/steps.tpl +1 -1
  60. package/skills/document/layouts/team-row.tpl +6 -6
  61. package/skills/document/layouts/three-kpi.tpl +1 -1
  62. package/skills/document/layouts/timeline.tpl +1 -1
  63. package/skills/document/layouts/title-meta.tpl +1 -1
  64. package/skills/document/layouts/title.tpl +1 -1
  65. package/skills/document/layouts/toc-agenda.tpl +1 -1
  66. package/skills/document/layouts/toc-panel.tpl +3 -3
  67. package/skills/document/layouts/toc.tpl +1 -1
  68. package/skills/document/layouts/transition.tpl +1 -1
  69. package/skills/document/layouts/two-kpi.tpl +1 -1
  70. package/skills/document/layouts/type-specimen.tpl +3 -3
  71. package/skills/document/layouts/versus.tpl +1 -1
  72. package/skills/document/styles/README.md +42 -6
  73. package/skills/document/styles/_backdrops/arch.html +5 -0
  74. package/skills/document/styles/_backdrops/aurora.html +6 -0
  75. package/skills/document/styles/_backdrops/beam.html +5 -0
  76. package/skills/document/styles/_backdrops/bloom.html +5 -0
  77. package/skills/document/styles/_backdrops/duotone.html +6 -0
  78. package/skills/document/styles/_backdrops/frosted.html +4 -0
  79. package/skills/document/styles/_backdrops/rimlight.html +7 -0
  80. package/skills/document/styles/_backdrops/shared.html +5 -0
  81. package/skills/document/styles/_samples/anthropic.webp +0 -0
  82. package/skills/document/styles/_samples/apple.webp +0 -0
  83. package/skills/document/styles/_samples/black-gold.webp +0 -0
  84. package/skills/document/styles/_samples/branding.webp +0 -0
  85. package/skills/document/styles/_samples/cinereel.webp +0 -0
  86. package/skills/document/styles/_samples/cool.webp +0 -0
  87. package/skills/document/styles/_samples/hand-drawn.webp +0 -0
  88. package/skills/document/styles/_samples/ivory-gold.webp +0 -0
  89. package/skills/document/styles/_samples/magazine-ink.webp +0 -0
  90. package/skills/document/styles/_samples/mckinsey.webp +0 -0
  91. package/skills/document/styles/_samples/mono.webp +0 -0
  92. package/skills/document/styles/_samples/olive-gold.webp +0 -0
  93. package/skills/document/styles/_samples/swiss-grid.webp +0 -0
  94. package/skills/document/styles/anthropic/skin.css +1 -1
  95. package/skills/document/styles/apple/skin.css +1 -1
  96. package/skills/document/styles/black-gold/skin.css +1 -1
  97. package/skills/document/styles/cinereel/backdrop.html +2 -0
  98. package/skills/document/styles/cinereel/skin.css +133 -0
  99. package/skills/document/styles/cool/skin.css +1 -1
  100. package/skills/document/styles/hand-drawn/skin.css +1 -1
  101. package/skills/document/styles/ivory-gold/backdrop.html +15 -0
  102. package/skills/document/styles/ivory-gold/skin.css +137 -0
  103. package/skills/document/styles/magazine-ink/backdrop.html +12 -0
  104. package/skills/document/styles/magazine-ink/skin.css +121 -0
  105. package/skills/document/styles/mckinsey/skin.css +1 -1
  106. package/skills/document/styles/mono/skin.css +1 -1
  107. package/skills/document/styles/swiss-grid/backdrop.html +2 -0
  108. package/skills/document/styles/swiss-grid/skin.css +117 -0
  109. package/skills/document/themes/README.md +5 -1
  110. package/skills/document/themes/cinereel.json +24 -0
  111. package/skills/document/themes/ivory-gold.json +24 -0
  112. package/skills/document/themes/magazine-ink.json +24 -0
  113. package/skills/document/themes/swiss-grid.json +24 -0
  114. package/mcp/Linear/mcp.json +0 -17
  115. package/skills/document/styles/anthropic/backdrop-arch.html +0 -3
  116. package/skills/document/styles/anthropic/backdrop-shared.html +0 -3
  117. package/skills/document/styles/apple/backdrop-shared.html +0 -3
  118. package/skills/document/styles/cool/backdrop-spotlight.html +0 -3
  119. package/skills/document/styles/mckinsey/backdrop-shared.html +0 -3
  120. /package/skills/document/styles/{apple/backdrop-spotlight.html → _backdrops/spotlight.html} +0 -0
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/problem-solution — structure-only variant (paint via skin). reuses class contract, no skin change. -->
2
- <section class="slide" data-layout="problem-solution" 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|CHALLENGE → SOLUTION}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;font-weight:700;letter-spacing:-.4px">{{title|问题与方案}}</h2>
3
- <div style="position:absolute;left:96px;right:96px;top:288px;bottom:88px;display:grid;grid-template-columns:1fr 1fr;gap:40px"><div class="cmp-col" style="position:relative;border-radius:18px;padding:32px 34px"><div class="cmp-title" style="font-size:24px;font-weight:700">{{problem_title|面临的问题}}</div><div style="margin-top:16px"><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{problem_1|要点说明,替换为真实内容。}}</span></div><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{problem_2|要点说明,替换为真实内容。}}</span></div><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{problem_3|要点说明,替换为真实内容。}}</span></div></div></div><div class="cmp-col cmp-col--rec" style="position:relative;border-radius:18px;padding:32px 34px"><div class="cmp-badge" style="position:absolute;top:-13px;left:30px;font-weight:700;font-size:12px;letter-spacing:.08em;border-radius:999px;padding:5px 14px">方案</div><div class="cmp-title" style="font-size:24px;font-weight:700">{{solution_title|我们的方案}}</div><div style="margin-top:16px"><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{solution_1|要点说明,替换为真实内容。}}</span></div><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{solution_2|要点说明,替换为真实内容。}}</span></div><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{solution_3|要点说明,替换为真实内容。}}</span></div></div></div></div>
2
+ <section class="slide" data-layout="problem-solution" 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|CHALLENGE → SOLUTION}}</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:288px;bottom:88px;display:grid;grid-template-columns:1fr 1fr;gap:40px"><div class="cmp-col" style="position:relative;border-radius:var(--card-radius);padding:32px 34px"><div class="cmp-title" style="font-size:24px;font-weight:700">{{problem_title|面临的问题}}</div><div style="margin-top:16px"><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{problem_1|要点说明,替换为真实内容。}}</span></div><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{problem_2|要点说明,替换为真实内容。}}</span></div><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{problem_3|要点说明,替换为真实内容。}}</span></div></div></div><div class="cmp-col cmp-col--rec" style="position:relative;border-radius:var(--card-radius);padding:32px 34px"><div class="cmp-badge" style="position:absolute;top:-13px;left:30px;font-weight:700;font-size:12px;letter-spacing:.08em;border-radius:999px;padding:5px 14px">方案</div><div class="cmp-title" style="font-size:24px;font-weight:700">{{solution_title|我们的方案}}</div><div style="margin-top:16px"><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{solution_1|要点说明,替换为真实内容。}}</span></div><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{solution_2|要点说明,替换为真实内容。}}</span></div><div class="cmp-row" style="display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)"><span class="cmp-k" style="font-size:15px">·</span><span class="cmp-v" style="font-size:15.5px;line-height:1.5;font-weight:400;flex:1;text-align:left">{{solution_3|要点说明,替换为真实内容。}}</span></div></div></div></div>
4
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>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/pyramid — structure-only variant (paint via skin). -->
2
- <section class="slide" data-layout="pyramid" 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|HIERARCHY}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;font-weight:700;letter-spacing:-.4px">{{title|层级结构}}</h2>
2
+ <section class="slide" data-layout="pyramid" 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|HIERARCHY}}</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">{{title|层级结构}}</h2>
3
3
  <div class="card-grid" style="position:absolute;left:0;right:0;top:300px;display:flex;flex-direction:column;align-items:center;gap:14px"><div class="card" style="width:100%;max-width:900px;height:74px;display:flex;align-items:center;justify-content:center"><div class="card-title" style="font-size:19px;font-weight:700">{{level1|顶层 · 战略目标}}</div></div><div class="card" style="width:76%;max-width:900px;height:74px;display:flex;align-items:center;justify-content:center"><div class="card-title" style="font-size:19px;font-weight:700">{{level2|中层 · 关键举措}}</div></div><div class="card" style="width:54%;max-width:900px;height:74px;display:flex;align-items:center;justify-content:center"><div class="card-title" style="font-size:19px;font-weight:700">{{level3|执行 · 具体任务}}</div></div><div class="card" style="width:34%;max-width:900px;height:74px;display:flex;align-items:center;justify-content:center"><div class="card-title" style="font-size:19px;font-weight:700">{{level4|基础 · 支撑保障}}</div></div></div>
4
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>
@@ -1,2 +1,2 @@
1
1
  <!-- layouts/quote — structure-only. -->
2
- <section class="slide" data-layout="quote" 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|INSIGHT}}</span></span></div><h2 class="ending-title" style="position:absolute;left:140px;right:140px;top:296px;text-align:center;font-size:52px;font-weight:700;line-height:1.3">{{quote|一句有力的判断或金句,<br>点出这一页的核心观点。}}</h2><div class="ending-sub" style="position:absolute;left:0;right:0;top:520px;text-align:center;font-size:17px;letter-spacing:.1em">{{source|—— 来源 / 作者}}</div><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="quote" 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|INSIGHT}}</span></span></div><h2 class="ending-title" style="position:absolute;left:140px;right:140px;top:296px;text-align:center;font-size:52px;line-height:1.3">{{quote|一句有力的判断或金句,<br>点出这一页的核心观点。}}</h2><div class="ending-sub" style="position:absolute;left:0;right:0;top:520px;text-align:center;font-size:17px;letter-spacing:.1em">{{source|—— 来源 / 作者}}</div><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>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/radar — structure-only variant (paint via skin). -->
2
- <section class="slide" data-layout="radar" 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">ASSESSMENT</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;font-weight:700;letter-spacing:-.4px">能力雷达</h2>
2
+ <section class="slide" data-layout="radar" 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">ASSESSMENT</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">能力雷达</h2>
3
3
  <svg width="720" height="560" viewBox="0 0 720 560" style="position:absolute;left:60px;top:250px"><g class="radar-grid" fill="none" stroke-width="1"><polygon points="360,130 503,234 448,401 272,401 217,234"/><polygon points="360,168 467,245 426,371 294,371 253,245"/><polygon points="360,205 431,257 404,341 316,341 289,257"/><polygon points="360,243 396,268 382,310 338,310 324,268"/><line x1="360" y1="280" x2="360" y2="130"/><line x1="360" y1="280" x2="503" y2="234"/><line x1="360" y1="280" x2="448" y2="401"/><line x1="360" y1="280" x2="272" y2="401"/><line x1="360" y1="280" x2="217" y2="234"/></g><polygon class="radar-shape" points="360,145 460,248 435,383 307,353 253,245"/><g class="radar-axis" font-size="16" text-anchor="middle"><text x="360" y="109">技术</text><text x="527" y="231">市场</text><text x="463" y="427">团队</text><text x="257" y="427">资金</text><text x="193" y="231">生态</text></g></svg><div style="position:absolute;right:96px;top:300px;width:300px"><div class="toc-item" style="display:flex;justify-content:space-between;padding:15px 0"><span class="toc-title" style="font-size:17px">技术</span><span class="dt-em" style="font-size:19px;font-weight:700">9.0</span></div><div class="toc-item" style="display:flex;justify-content:space-between;padding:15px 0"><span class="toc-title" style="font-size:17px">市场</span><span class="dt-em" style="font-size:19px;font-weight:700">7.0</span></div><div class="toc-item" style="display:flex;justify-content:space-between;padding:15px 0"><span class="toc-title" style="font-size:17px">团队</span><span class="dt-em" style="font-size:19px;font-weight:700">8.5</span></div><div class="toc-item" style="display:flex;justify-content:space-between;padding:15px 0"><span class="toc-title" style="font-size:17px">资金</span><span class="dt-em" style="font-size:19px;font-weight:700">6.0</span></div><div class="toc-item" style="display:flex;justify-content:space-between;padding:15px 0"><span class="toc-title" style="font-size:17px">生态</span><span class="dt-em" style="font-size:19px;font-weight:700">7.5</span></div></div>
4
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">报告标题 / 章节</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">01</div></section>
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/ring-progress — structure-only variant (paint via skin). -->
2
- <section class="slide" data-layout="ring-progress" 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">PROGRESS</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;font-weight:700;letter-spacing:-.4px">关键进度</h2>
2
+ <section class="slide" data-layout="ring-progress" 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">PROGRESS</span></div><h2 class="deck-title" style="position:absolute;left:92px;top:158px;font-size:48px;letter-spacing:-.4px">关键进度</h2>
3
3
  <div style="position:absolute;left:96px;right:96px;top:310px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px"><div style="text-align:center"><div style="position:relative;width:150px;height:150px;margin:0 auto"><svg width="150" height="150" viewBox="0 0 150 150"><circle class="ring-track" cx="75" cy="75" r="54" fill="none" stroke-width="12"/><circle class="ring-fill" cx="75" cy="75" r="54" fill="none" stroke-width="12" stroke-linecap="round" stroke-dasharray="339.3" stroke-dashoffset="61.1" transform="rotate(-90 75 75)"/></svg><div class="ring-num" style="position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800">82%</div></div><div class="step-title" style="font-size:19px;font-weight:600;margin-top:20px">目标达成</div><p class="step-body" style="font-size:14px;margin-top:6px">一句说明。</p></div><div style="text-align:center"><div style="position:relative;width:150px;height:150px;margin:0 auto"><svg width="150" height="150" viewBox="0 0 150 150"><circle class="ring-track" cx="75" cy="75" r="54" fill="none" stroke-width="12"/><circle class="ring-fill" cx="75" cy="75" r="54" fill="none" stroke-width="12" stroke-linecap="round" stroke-dasharray="339.3" stroke-dashoffset="122.1" transform="rotate(-90 75 75)"/></svg><div class="ring-num" style="position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800">64%</div></div><div class="step-title" style="font-size:19px;font-weight:600;margin-top:20px">覆盖率</div><p class="step-body" style="font-size:14px;margin-top:6px">一句说明。</p></div><div style="text-align:center"><div style="position:relative;width:150px;height:150px;margin:0 auto"><svg width="150" height="150" viewBox="0 0 150 150"><circle class="ring-track" cx="75" cy="75" r="54" fill="none" stroke-width="12"/><circle class="ring-fill" cx="75" cy="75" r="54" fill="none" stroke-width="12" stroke-linecap="round" stroke-dasharray="339.3" stroke-dashoffset="23.8" transform="rotate(-90 75 75)"/></svg><div class="ring-num" style="position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800">93%</div></div><div class="step-title" style="font-size:19px;font-weight:600;margin-top:20px">满意度</div><p class="step-body" style="font-size:14px;margin-top:6px">一句说明。</p></div></div>
4
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">报告标题 / 章节</div><div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:12px">01</div></section>
@@ -0,0 +1,8 @@
1
+ <!-- layouts/section-fullbleed — structure-only. role=section. 满出血图片 + 底部压边超大编号标题(数字与标题连写)+
2
+ 右上角一句引子,vs 小侧图的 section-image(整章过渡用满屏影像时选这个)。 -->
3
+ <section class="slide" data-layout="section-fullbleed" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div>
4
+ <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>
5
+ <div style="position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72) 4%,rgba(0,0,0,.18) 46%,transparent 70%)"></div>
6
+ <p class="overlay-sub" style="position:absolute;right:96px;top:100px;width:420px;font-size:15px;line-height:1.6;text-align:left">{{desc|一句本章概述,点出这一章要回答的问题,替换为真实内容。}}</p>
7
+ <h2 class="overlay-title" style="position:absolute;left:56px;bottom:64px;width:1100px;font-size:64px;font-weight:800;line-height:1;letter-spacing:-.5px">{{index|01}}.{{title|章节标题}}</h2>
8
+ </section>
@@ -1,2 +1,2 @@
1
1
  <!-- layouts/section-image — structure-only. role=section. -->
2
- <section class="slide" data-layout="section-image" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="section-ghost" style="position:absolute;left:60px;top:150px;font-weight:800;line-height:1;font-size:300px">{{index|01}}</div><div class="eyebrow-row" style="position:absolute;left:96px;top:330px;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|CHAPTER 01}}</span></div><h2 class="section-title" style="position:absolute;left:92px;top:362px;font-size:60px;font-weight:700;letter-spacing:-.5px">{{title|章节标题}}</h2><p class="section-desc" style="position:absolute;left:96px;top:470px;width:520px;font-size:18px;line-height:1.6">{{desc|一句本章概述,点出这一章要回答的问题。}}</p><div class="surface" style="position:absolute;right:96px;top:150px;width:460px;height:420px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:15px">{{image_label|章节配图占位}}</span></div><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="section-image" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="section-ghost" style="position:absolute;left:60px;top:150px;font-weight:800;line-height:1;font-size:300px">{{index|01}}</div><div class="eyebrow-row" style="position:absolute;left:96px;top:330px;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|CHAPTER 01}}</span></div><h2 class="section-title" style="position:absolute;left:92px;top:362px;font-size:60px;letter-spacing:-.5px">{{title|章节标题}}</h2><p class="section-desc" style="position:absolute;left:96px;top:470px;width:520px;font-size:18px;line-height:1.6">{{desc|一句本章概述,点出这一章要回答的问题。}}</p><div class="surface" style="position:absolute;right:96px;top:150px;width:460px;height:420px;display:flex;align-items:center;justify-content:center"><span class="surface-label" style="font-size:15px">{{image_label|章节配图占位}}</span></div><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>
@@ -1,2 +1,2 @@
1
1
  <!-- layouts/section-stat — structure-only. role=section. -->
2
- <section class="slide" data-layout="section-stat" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:300px;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|CHAPTER 02}}</span></div><h2 class="section-title" style="position:absolute;left:92px;top:332px;font-size:60px;font-weight:700;letter-spacing:-.5px">{{title|章节标题}}</h2><p class="section-desc" style="position:absolute;left:96px;top:446px;width:560px;font-size:18px;line-height:1.6">{{desc|一句本章概述。}}</p><div style="position:absolute;right:96px;top:300px;text-align:right"><div class="stat-num" style="font-size:180px;font-weight:800;line-height:1">{{stat|3}}<span class="stat-unit" style="font-size:56px">{{unit|大主题}}</span></div><div class="kpi-label" style="font-size:16px;margin-top:8px">{{stat_label|本章要点数}}</div></div><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="section-stat" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:96px;top:300px;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|CHAPTER 02}}</span></div><h2 class="section-title" style="position:absolute;left:92px;top:332px;font-size:60px;letter-spacing:-.5px">{{title|章节标题}}</h2><p class="section-desc" style="position:absolute;left:96px;top:446px;width:560px;font-size:18px;line-height:1.6">{{desc|一句本章概述。}}</p><div style="position:absolute;right:96px;top:300px;text-align:right"><div class="stat-num" style="font-size:180px;font-weight:800;line-height:1">{{stat|3}}<span class="stat-unit" style="font-size:56px">{{unit|大主题}}</span></div><div class="kpi-label" style="font-size:16px;margin-top:8px">{{stat_label|本章要点数}}</div></div><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>
@@ -1,2 +1,2 @@
1
1
  <!-- layouts/section — structure-only (paint via skin). -->
2
- <section class="slide" data-layout="section" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="section-ghost" style="position:absolute;left:60px;top:70px;font-weight:800;line-height:1;font-size:430px">{{index|01}}</div><div class="eyebrow-row" style="position:absolute;left:96px;top:330px;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|CHAPTER 01}}</span></div><h2 class="section-title" style="position:absolute;left:92px;top:362px;font-size:64px;font-weight:700;letter-spacing:-.5px">{{title|章节标题}}</h2><p class="section-desc" style="position:absolute;left:96px;top:476px;width:820px;font-size:18px;line-height:1.6">{{desc|一句本章概述,点出这一章要回答的问题。}}</p><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="section" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="section-ghost" style="position:absolute;left:60px;top:70px;font-weight:800;line-height:1;font-size:430px">{{index|01}}</div><div class="eyebrow-row" style="position:absolute;left:96px;top:330px;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|CHAPTER 01}}</span></div><h2 class="section-title" style="position:absolute;left:92px;top:362px;font-size:64px;letter-spacing:-.5px">{{title|章节标题}}</h2><p class="section-desc" style="position:absolute;left:96px;top:476px;width:820px;font-size:18px;line-height:1.6">{{desc|一句本章概述,点出这一章要回答的问题。}}</p><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>