@cola1900/dsh-ppt 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (730) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -0
  3. package/THIRD_PARTY_NOTICES.md +29 -0
  4. package/UPSTREAM.md +17 -0
  5. package/cordis.patch.yml +8 -0
  6. package/lib/bin.js +4070 -0
  7. package/lib/catalog.js +3 -0
  8. package/lib/client.js +916 -0
  9. package/lib/index.js +3688 -0
  10. package/lib/invariant.js +13 -0
  11. package/lib/pptd-2VqVzr_T.js +2173 -0
  12. package/lib/pptd.js +2 -0
  13. package/lib/preview-assets.js +59 -0
  14. package/lib/preview-manifest.js +2 -0
  15. package/lib/text-wrap.js +20 -0
  16. package/lib/types/bin.d.ts +12 -0
  17. package/lib/types/client/OfficePptHero.d.ts +42 -0
  18. package/lib/types/client/curated-previews.d.ts +3 -0
  19. package/lib/types/client/curated-previews.generated.d.ts +2 -0
  20. package/lib/types/client/index.d.ts +6 -0
  21. package/lib/types/client/locales.d.ts +15 -0
  22. package/lib/types/client/rpc.d.ts +23 -0
  23. package/lib/types/client/standard.d.ts +31 -0
  24. package/lib/types/client.d.ts +1 -0
  25. package/lib/types/data-series.d.ts +31 -0
  26. package/lib/types/index.d.ts +25 -0
  27. package/lib/types/invariant.d.ts +8 -0
  28. package/lib/types/layouts.d.ts +54 -0
  29. package/lib/types/planning.d.ts +35 -0
  30. package/lib/types/ppt-ppt-skill.d.ts +6 -0
  31. package/lib/types/ppt-reference-semantics.generated.d.ts +2 -0
  32. package/lib/types/ppt-rpc.d.ts +5 -0
  33. package/lib/types/ppt-service.d.ts +34 -0
  34. package/lib/types/ppt-store.d.ts +47 -0
  35. package/lib/types/ppt-template-catalog.generated.d.ts +2 -0
  36. package/lib/types/ppt-template-definitions.d.ts +1 -0
  37. package/lib/types/ppt-tools.d.ts +10 -0
  38. package/lib/types/pptd-colors.d.ts +15 -0
  39. package/lib/types/pptd-convert.d.ts +21 -0
  40. package/lib/types/pptd-preview.d.ts +6 -0
  41. package/lib/types/pptd-publish.d.ts +8 -0
  42. package/lib/types/pptd-repair.d.ts +18 -0
  43. package/lib/types/pptd-tools.d.ts +5 -0
  44. package/lib/types/pptd.d.ts +89 -0
  45. package/lib/types/protocol.d.ts +547 -0
  46. package/lib/types/template-reference.d.ts +28 -0
  47. package/lib/types/template-semantics.d.ts +12 -0
  48. package/lib/types/templates.d.ts +2 -0
  49. package/lib/types/text-layout.d.ts +37 -0
  50. package/lib/validation.js +84 -0
  51. package/licenses/composer-NOTICES.md +29 -0
  52. package/licenses/dsh-desktop-LICENSE +21 -0
  53. package/licenses/html-anything/LICENSE +202 -0
  54. package/licenses/html-anything/deck-blueprint.md +22 -0
  55. package/licenses/html-anything/deck-course-module.md +23 -0
  56. package/licenses/zara/LICENSE +21 -0
  57. package/licenses/zara/templates/blue-professional/design.md +701 -0
  58. package/licenses/zara/templates/blue-professional/template.html +1423 -0
  59. package/licenses/zara/templates/blue-professional/template.json +43 -0
  60. package/licenses/zara/templates/broadside/design.md +493 -0
  61. package/licenses/zara/templates/broadside/template.html +2144 -0
  62. package/licenses/zara/templates/broadside/template.json +48 -0
  63. package/licenses/zara/templates/cartesian/design.md +513 -0
  64. package/licenses/zara/templates/cartesian/template.html +1136 -0
  65. package/licenses/zara/templates/cartesian/template.json +46 -0
  66. package/licenses/zara/templates/editorial-forest/design.md +497 -0
  67. package/licenses/zara/templates/editorial-forest/template.html +843 -0
  68. package/licenses/zara/templates/editorial-forest/template.json +44 -0
  69. package/licenses/zara/templates/monochrome/design.md +482 -0
  70. package/licenses/zara/templates/monochrome/template.html +2596 -0
  71. package/licenses/zara/templates/monochrome/template.json +49 -0
  72. package/licenses/zara/templates/neo-grid-bold/design.md +534 -0
  73. package/licenses/zara/templates/neo-grid-bold/template.html +865 -0
  74. package/licenses/zara/templates/neo-grid-bold/template.json +46 -0
  75. package/licenses/zara/templates/playful/design.md +480 -0
  76. package/licenses/zara/templates/playful/template.html +1355 -0
  77. package/licenses/zara/templates/playful/template.json +42 -0
  78. package/licenses/zara/templates/sakura-chroma/design.md +632 -0
  79. package/licenses/zara/templates/sakura-chroma/template.html +1405 -0
  80. package/licenses/zara/templates/sakura-chroma/template.json +53 -0
  81. package/licenses/zara/templates/signal/design.md +517 -0
  82. package/licenses/zara/templates/signal/template.html +2558 -0
  83. package/licenses/zara/templates/signal/template.json +49 -0
  84. package/licenses/zara/templates/soft-editorial/design.md +615 -0
  85. package/licenses/zara/templates/soft-editorial/template.html +1183 -0
  86. package/licenses/zara/templates/soft-editorial/template.json +46 -0
  87. package/package.json +107 -0
  88. package/skills/dsh-ppt/SKILL.md +36 -0
  89. package/skills/dsh-ppt/references/academic/dsh-course-workshop/design.md +61 -0
  90. package/skills/dsh-ppt/references/academic/dsh-course-workshop/metadata.json +2886 -0
  91. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/01.jpg +0 -0
  92. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/02.jpg +0 -0
  93. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/03.jpg +0 -0
  94. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/04.jpg +0 -0
  95. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/05.jpg +0 -0
  96. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/06.jpg +0 -0
  97. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/07.jpg +0 -0
  98. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/08.jpg +0 -0
  99. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/09.jpg +0 -0
  100. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/10.jpg +0 -0
  101. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/11.jpg +0 -0
  102. package/skills/dsh-ppt/references/academic/dsh-course-workshop/pages/12.jpg +0 -0
  103. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/deck.pptd +21 -0
  104. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/01.page +142 -0
  105. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/02.page +382 -0
  106. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/03.page +817 -0
  107. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/04.page +408 -0
  108. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/05.page +407 -0
  109. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/06.page +760 -0
  110. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/07.page +551 -0
  111. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/08.page +339 -0
  112. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/09.page +297 -0
  113. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/10.page +365 -0
  114. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/11.page +575 -0
  115. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source/pages/12.page +130 -0
  116. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/deck.pptd +21 -0
  117. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/01.page +142 -0
  118. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/02.page +382 -0
  119. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/03.page +817 -0
  120. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/04.page +408 -0
  121. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/05.page +407 -0
  122. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/06.page +760 -0
  123. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/07.page +551 -0
  124. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/08.page +339 -0
  125. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/09.page +297 -0
  126. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/10.page +365 -0
  127. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/11.page +575 -0
  128. package/skills/dsh-ppt/references/academic/dsh-course-workshop/source-zh/pages/12.page +130 -0
  129. package/skills/dsh-ppt/references/academic/dsh-monochrome/design.md +61 -0
  130. package/skills/dsh-ppt/references/academic/dsh-monochrome/metadata.json +2989 -0
  131. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/01.jpg +0 -0
  132. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/02.jpg +0 -0
  133. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/03.jpg +0 -0
  134. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/04.jpg +0 -0
  135. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/05.jpg +0 -0
  136. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/06.jpg +0 -0
  137. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/07.jpg +0 -0
  138. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/08.jpg +0 -0
  139. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/09.jpg +0 -0
  140. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/10.jpg +0 -0
  141. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/11.jpg +0 -0
  142. package/skills/dsh-ppt/references/academic/dsh-monochrome/pages/12.jpg +0 -0
  143. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/deck.pptd +21 -0
  144. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/01.page +86 -0
  145. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/02.page +382 -0
  146. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/03.page +479 -0
  147. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/04.page +551 -0
  148. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/05.page +817 -0
  149. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/06.page +760 -0
  150. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/07.page +576 -0
  151. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/08.page +339 -0
  152. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/09.page +295 -0
  153. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/10.page +407 -0
  154. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/11.page +575 -0
  155. package/skills/dsh-ppt/references/academic/dsh-monochrome/source/pages/12.page +86 -0
  156. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/deck.pptd +21 -0
  157. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/01.page +86 -0
  158. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/02.page +382 -0
  159. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/03.page +479 -0
  160. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/04.page +551 -0
  161. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/05.page +817 -0
  162. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/06.page +760 -0
  163. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/07.page +576 -0
  164. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/08.page +339 -0
  165. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/09.page +295 -0
  166. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/10.page +407 -0
  167. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/11.page +575 -0
  168. package/skills/dsh-ppt/references/academic/dsh-monochrome/source-zh/pages/12.page +86 -0
  169. package/skills/dsh-ppt/references/business/dsh-blue-professional/design.md +53 -0
  170. package/skills/dsh-ppt/references/business/dsh-blue-professional/metadata.json +3152 -0
  171. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/01.jpg +0 -0
  172. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/02.jpg +0 -0
  173. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/03.jpg +0 -0
  174. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/04.jpg +0 -0
  175. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/05.jpg +0 -0
  176. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/06.jpg +0 -0
  177. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/07.jpg +0 -0
  178. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/08.jpg +0 -0
  179. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/09.jpg +0 -0
  180. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/10.jpg +0 -0
  181. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/11.jpg +0 -0
  182. package/skills/dsh-ppt/references/business/dsh-blue-professional/pages/12.jpg +0 -0
  183. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/deck.pptd +21 -0
  184. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/01.page +100 -0
  185. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/02.page +310 -0
  186. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/03.page +381 -0
  187. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/04.page +853 -0
  188. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/05.page +436 -0
  189. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/06.page +732 -0
  190. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/07.page +574 -0
  191. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/08.page +767 -0
  192. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/09.page +282 -0
  193. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/10.page +350 -0
  194. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/11.page +462 -0
  195. package/skills/dsh-ppt/references/business/dsh-blue-professional/source/pages/12.page +86 -0
  196. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/deck.pptd +21 -0
  197. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/01.page +100 -0
  198. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/02.page +310 -0
  199. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/03.page +381 -0
  200. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/04.page +853 -0
  201. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/05.page +436 -0
  202. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/06.page +732 -0
  203. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/07.page +574 -0
  204. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/08.page +769 -0
  205. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/09.page +282 -0
  206. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/10.page +350 -0
  207. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/11.page +462 -0
  208. package/skills/dsh-ppt/references/business/dsh-blue-professional/source-zh/pages/12.page +86 -0
  209. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/design.md +61 -0
  210. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/metadata.json +3883 -0
  211. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/01.jpg +0 -0
  212. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/02.jpg +0 -0
  213. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/03.jpg +0 -0
  214. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/04.jpg +0 -0
  215. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/05.jpg +0 -0
  216. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/06.jpg +0 -0
  217. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/07.jpg +0 -0
  218. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/08.jpg +0 -0
  219. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/09.jpg +0 -0
  220. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/10.jpg +0 -0
  221. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/11.jpg +0 -0
  222. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/pages/12.jpg +0 -0
  223. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/deck.pptd +21 -0
  224. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/01.page +355 -0
  225. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/02.page +452 -0
  226. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/03.page +561 -0
  227. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/04.page +830 -0
  228. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/05.page +887 -0
  229. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/06.page +646 -0
  230. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/07.page +881 -0
  231. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/08.page +788 -0
  232. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/09.page +365 -0
  233. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/10.page +617 -0
  234. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/11.page +645 -0
  235. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source/pages/12.page +86 -0
  236. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/deck.pptd +21 -0
  237. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/01.page +354 -0
  238. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/02.page +452 -0
  239. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/03.page +561 -0
  240. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/04.page +830 -0
  241. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/05.page +887 -0
  242. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/06.page +646 -0
  243. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/07.page +881 -0
  244. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/08.page +788 -0
  245. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/09.page +365 -0
  246. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/10.page +617 -0
  247. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/11.page +645 -0
  248. package/skills/dsh-ppt/references/business/dsh-neo-grid-bold/source-zh/pages/12.page +86 -0
  249. package/skills/dsh-ppt/references/composition.md +19 -0
  250. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/design.md +124 -0
  251. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/metadata.json +1930 -0
  252. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/01.jpg +0 -0
  253. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/02.jpg +0 -0
  254. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/03.jpg +0 -0
  255. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/04.jpg +0 -0
  256. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/05.jpg +0 -0
  257. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/06.jpg +0 -0
  258. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/07.jpg +0 -0
  259. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/08.jpg +0 -0
  260. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/09.jpg +0 -0
  261. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/10.jpg +0 -0
  262. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/11.jpg +0 -0
  263. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/pages/12.jpg +0 -0
  264. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/deck.pptd +91 -0
  265. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/01.page +259 -0
  266. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/02.page +325 -0
  267. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/03.page +511 -0
  268. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/04.page +398 -0
  269. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/05.page +439 -0
  270. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/06.page +493 -0
  271. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/07.page +194 -0
  272. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/08.page +422 -0
  273. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/09.page +458 -0
  274. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/10.page +746 -0
  275. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/11.page +604 -0
  276. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source/pages/12.page +343 -0
  277. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/deck.pptd +91 -0
  278. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/01.page +259 -0
  279. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/02.page +325 -0
  280. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/03.page +511 -0
  281. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/04.page +398 -0
  282. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/05.page +439 -0
  283. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/06.page +493 -0
  284. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/07.page +194 -0
  285. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/08.page +417 -0
  286. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/09.page +458 -0
  287. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/10.page +746 -0
  288. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/11.page +604 -0
  289. package/skills/dsh-ppt/references/consulting/curated-swiss-signal-grid/source-zh/pages/12.page +343 -0
  290. package/skills/dsh-ppt/references/consulting/dsh-cartesian/design.md +61 -0
  291. package/skills/dsh-ppt/references/consulting/dsh-cartesian/metadata.json +3196 -0
  292. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/01.jpg +0 -0
  293. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/02.jpg +0 -0
  294. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/03.jpg +0 -0
  295. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/04.jpg +0 -0
  296. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/05.jpg +0 -0
  297. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/06.jpg +0 -0
  298. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/07.jpg +0 -0
  299. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/08.jpg +0 -0
  300. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/09.jpg +0 -0
  301. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/10.jpg +0 -0
  302. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/11.jpg +0 -0
  303. package/skills/dsh-ppt/references/consulting/dsh-cartesian/pages/12.jpg +0 -0
  304. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/deck.pptd +21 -0
  305. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/01.page +98 -0
  306. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/02.page +382 -0
  307. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/03.page +817 -0
  308. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/04.page +479 -0
  309. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/05.page +576 -0
  310. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/06.page +760 -0
  311. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/07.page +339 -0
  312. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/08.page +718 -0
  313. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/09.page +295 -0
  314. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/10.page +547 -0
  315. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/11.page +575 -0
  316. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source/pages/12.page +86 -0
  317. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/deck.pptd +21 -0
  318. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/01.page +98 -0
  319. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/02.page +382 -0
  320. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/03.page +817 -0
  321. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/04.page +479 -0
  322. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/05.page +576 -0
  323. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/06.page +760 -0
  324. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/07.page +339 -0
  325. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/08.page +718 -0
  326. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/09.page +295 -0
  327. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/10.page +547 -0
  328. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/11.page +575 -0
  329. package/skills/dsh-ppt/references/consulting/dsh-cartesian/source-zh/pages/12.page +86 -0
  330. package/skills/dsh-ppt/references/consulting/dsh-signal/design.md +61 -0
  331. package/skills/dsh-ppt/references/consulting/dsh-signal/metadata.json +3172 -0
  332. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/01.jpg +0 -0
  333. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/02.jpg +0 -0
  334. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/03.jpg +0 -0
  335. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/04.jpg +0 -0
  336. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/05.jpg +0 -0
  337. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/06.jpg +0 -0
  338. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/07.jpg +0 -0
  339. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/08.jpg +0 -0
  340. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/09.jpg +0 -0
  341. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/10.jpg +0 -0
  342. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/11.jpg +0 -0
  343. package/skills/dsh-ppt/references/consulting/dsh-signal/pages/12.jpg +0 -0
  344. package/skills/dsh-ppt/references/consulting/dsh-signal/source/deck.pptd +21 -0
  345. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/01.page +100 -0
  346. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/02.page +382 -0
  347. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/03.page +817 -0
  348. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/04.page +760 -0
  349. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/05.page +576 -0
  350. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/06.page +718 -0
  351. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/07.page +295 -0
  352. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/08.page +551 -0
  353. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/09.page +339 -0
  354. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/10.page +547 -0
  355. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/11.page +575 -0
  356. package/skills/dsh-ppt/references/consulting/dsh-signal/source/pages/12.page +86 -0
  357. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/deck.pptd +21 -0
  358. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/01.page +100 -0
  359. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/02.page +382 -0
  360. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/03.page +817 -0
  361. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/04.page +760 -0
  362. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/05.page +576 -0
  363. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/06.page +718 -0
  364. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/07.page +295 -0
  365. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/08.page +551 -0
  366. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/09.page +339 -0
  367. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/10.page +547 -0
  368. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/11.page +575 -0
  369. package/skills/dsh-ppt/references/consulting/dsh-signal/source-zh/pages/12.page +86 -0
  370. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/design.md +61 -0
  371. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/metadata.json +3091 -0
  372. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/01.jpg +0 -0
  373. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/02.jpg +0 -0
  374. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/03.jpg +0 -0
  375. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/04.jpg +0 -0
  376. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/05.jpg +0 -0
  377. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/06.jpg +0 -0
  378. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/07.jpg +0 -0
  379. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/08.jpg +0 -0
  380. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/09.jpg +0 -0
  381. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/10.jpg +0 -0
  382. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/11.jpg +0 -0
  383. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/pages/12.jpg +0 -0
  384. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/deck.pptd +21 -0
  385. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/01.page +124 -0
  386. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/02.page +382 -0
  387. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/03.page +479 -0
  388. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/04.page +365 -0
  389. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/05.page +817 -0
  390. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/06.page +760 -0
  391. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/07.page +576 -0
  392. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/08.page +295 -0
  393. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/09.page +339 -0
  394. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/10.page +547 -0
  395. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/11.page +575 -0
  396. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source/pages/12.page +135 -0
  397. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/deck.pptd +21 -0
  398. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/01.page +124 -0
  399. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/02.page +384 -0
  400. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/03.page +479 -0
  401. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/04.page +365 -0
  402. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/05.page +817 -0
  403. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/06.page +760 -0
  404. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/07.page +576 -0
  405. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/08.page +295 -0
  406. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/09.page +341 -0
  407. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/10.page +547 -0
  408. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/11.page +575 -0
  409. package/skills/dsh-ppt/references/editorial/dsh-editorial-notebook/source-zh/pages/12.page +135 -0
  410. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/design.md +61 -0
  411. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/metadata.json +3119 -0
  412. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/01.jpg +0 -0
  413. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/02.jpg +0 -0
  414. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/03.jpg +0 -0
  415. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/04.jpg +0 -0
  416. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/05.jpg +0 -0
  417. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/06.jpg +0 -0
  418. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/07.jpg +0 -0
  419. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/08.jpg +0 -0
  420. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/09.jpg +0 -0
  421. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/10.jpg +0 -0
  422. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/11.jpg +0 -0
  423. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/pages/12.jpg +0 -0
  424. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/deck.pptd +21 -0
  425. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/01.page +117 -0
  426. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/02.page +382 -0
  427. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/03.page +479 -0
  428. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/04.page +817 -0
  429. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/05.page +760 -0
  430. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/06.page +295 -0
  431. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/07.page +365 -0
  432. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/08.page +576 -0
  433. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/09.page +408 -0
  434. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/10.page +547 -0
  435. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/11.page +575 -0
  436. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source/pages/12.page +86 -0
  437. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/deck.pptd +21 -0
  438. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/01.page +117 -0
  439. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/02.page +384 -0
  440. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/03.page +479 -0
  441. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/04.page +817 -0
  442. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/05.page +760 -0
  443. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/06.page +295 -0
  444. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/07.page +365 -0
  445. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/08.page +576 -0
  446. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/09.page +408 -0
  447. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/10.page +547 -0
  448. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/11.page +575 -0
  449. package/skills/dsh-ppt/references/editorial/dsh-soft-editorial/source-zh/pages/12.page +86 -0
  450. package/skills/dsh-ppt/references/pptd.md +55 -0
  451. package/skills/dsh-ppt/references/promotion/dsh-broadside/design.md +53 -0
  452. package/skills/dsh-ppt/references/promotion/dsh-broadside/metadata.json +2329 -0
  453. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/01.jpg +0 -0
  454. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/02.jpg +0 -0
  455. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/03.jpg +0 -0
  456. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/04.jpg +0 -0
  457. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/05.jpg +0 -0
  458. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/06.jpg +0 -0
  459. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/07.jpg +0 -0
  460. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/08.jpg +0 -0
  461. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/09.jpg +0 -0
  462. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/10.jpg +0 -0
  463. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/11.jpg +0 -0
  464. package/skills/dsh-ppt/references/promotion/dsh-broadside/pages/12.jpg +0 -0
  465. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/deck.pptd +21 -0
  466. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/01.page +72 -0
  467. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/02.page +156 -0
  468. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/03.page +350 -0
  469. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/04.page +210 -0
  470. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/05.page +436 -0
  471. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/06.page +420 -0
  472. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/07.page +480 -0
  473. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/08.page +294 -0
  474. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/09.page +210 -0
  475. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/10.page +392 -0
  476. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/11.page +560 -0
  477. package/skills/dsh-ppt/references/promotion/dsh-broadside/source/pages/12.page +58 -0
  478. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/deck.pptd +21 -0
  479. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/01.page +72 -0
  480. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/02.page +156 -0
  481. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/03.page +350 -0
  482. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/04.page +210 -0
  483. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/05.page +436 -0
  484. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/06.page +420 -0
  485. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/07.page +480 -0
  486. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/08.page +294 -0
  487. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/09.page +210 -0
  488. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/10.page +392 -0
  489. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/11.page +560 -0
  490. package/skills/dsh-ppt/references/promotion/dsh-broadside/source-zh/pages/12.page +58 -0
  491. package/skills/dsh-ppt/references/promotion/dsh-playful/design.md +61 -0
  492. package/skills/dsh-ppt/references/promotion/dsh-playful/metadata.json +3070 -0
  493. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/01.jpg +0 -0
  494. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/02.jpg +0 -0
  495. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/03.jpg +0 -0
  496. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/04.jpg +0 -0
  497. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/05.jpg +0 -0
  498. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/06.jpg +0 -0
  499. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/07.jpg +0 -0
  500. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/08.jpg +0 -0
  501. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/09.jpg +0 -0
  502. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/10.jpg +0 -0
  503. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/11.jpg +0 -0
  504. package/skills/dsh-ppt/references/promotion/dsh-playful/pages/12.jpg +0 -0
  505. package/skills/dsh-ppt/references/promotion/dsh-playful/source/deck.pptd +21 -0
  506. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/01.page +101 -0
  507. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/02.page +410 -0
  508. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/03.page +436 -0
  509. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/04.page +845 -0
  510. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/05.page +579 -0
  511. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/06.page +367 -0
  512. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/07.page +519 -0
  513. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/08.page +323 -0
  514. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/09.page +604 -0
  515. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/10.page +575 -0
  516. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/11.page +603 -0
  517. package/skills/dsh-ppt/references/promotion/dsh-playful/source/pages/12.page +86 -0
  518. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/deck.pptd +21 -0
  519. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/01.page +100 -0
  520. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/02.page +410 -0
  521. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/03.page +436 -0
  522. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/04.page +845 -0
  523. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/05.page +579 -0
  524. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/06.page +367 -0
  525. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/07.page +519 -0
  526. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/08.page +323 -0
  527. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/09.page +604 -0
  528. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/10.page +575 -0
  529. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/11.page +603 -0
  530. package/skills/dsh-ppt/references/promotion/dsh-playful/source-zh/pages/12.page +86 -0
  531. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/design.md +61 -0
  532. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/metadata.json +3203 -0
  533. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/01.jpg +0 -0
  534. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/02.jpg +0 -0
  535. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/03.jpg +0 -0
  536. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/04.jpg +0 -0
  537. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/05.jpg +0 -0
  538. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/06.jpg +0 -0
  539. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/07.jpg +0 -0
  540. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/08.jpg +0 -0
  541. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/09.jpg +0 -0
  542. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/10.jpg +0 -0
  543. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/11.jpg +0 -0
  544. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/pages/12.jpg +0 -0
  545. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/deck.pptd +21 -0
  546. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/01.page +173 -0
  547. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/02.page +424 -0
  548. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/03.page +450 -0
  549. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/04.page +593 -0
  550. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/05.page +521 -0
  551. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/06.page +533 -0
  552. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/07.page +618 -0
  553. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/08.page +381 -0
  554. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/09.page +337 -0
  555. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/10.page +407 -0
  556. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/11.page +617 -0
  557. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source/pages/12.page +145 -0
  558. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/deck.pptd +21 -0
  559. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/01.page +173 -0
  560. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/02.page +424 -0
  561. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/03.page +450 -0
  562. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/04.page +593 -0
  563. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/05.page +521 -0
  564. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/06.page +533 -0
  565. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/07.page +618 -0
  566. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/08.page +381 -0
  567. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/09.page +337 -0
  568. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/10.page +407 -0
  569. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/11.page +617 -0
  570. package/skills/dsh-ppt/references/promotion/dsh-sakura-chroma/source-zh/pages/12.page +145 -0
  571. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/design.md +122 -0
  572. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/metadata.json +1659 -0
  573. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/01.jpg +0 -0
  574. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/02.jpg +0 -0
  575. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/03.jpg +0 -0
  576. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/04.jpg +0 -0
  577. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/05.jpg +0 -0
  578. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/06.jpg +0 -0
  579. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/07.jpg +0 -0
  580. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/08.jpg +0 -0
  581. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/09.jpg +0 -0
  582. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/10.jpg +0 -0
  583. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/11.jpg +0 -0
  584. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/pages/12.jpg +0 -0
  585. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/deck.pptd +105 -0
  586. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/01.page +499 -0
  587. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/02.page +499 -0
  588. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/03.page +577 -0
  589. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/04.page +408 -0
  590. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/05.page +660 -0
  591. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/06.page +641 -0
  592. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/07.page +415 -0
  593. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/08.page +606 -0
  594. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/09.page +567 -0
  595. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/10.page +595 -0
  596. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/11.page +555 -0
  597. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source/pages/12.page +895 -0
  598. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/deck.pptd +105 -0
  599. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/01.page +499 -0
  600. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/02.page +499 -0
  601. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/03.page +577 -0
  602. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/04.page +408 -0
  603. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/05.page +660 -0
  604. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/06.page +641 -0
  605. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/07.page +415 -0
  606. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/08.page +606 -0
  607. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/09.page +567 -0
  608. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/10.page +595 -0
  609. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/11.page +555 -0
  610. package/skills/dsh-ppt/references/work/curated-modular-logistics-system/source-zh/pages/12.page +895 -0
  611. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/design.md +111 -0
  612. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/metadata.json +1712 -0
  613. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/01.jpg +0 -0
  614. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/02.jpg +0 -0
  615. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/03.jpg +0 -0
  616. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/04.jpg +0 -0
  617. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/05.jpg +0 -0
  618. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/06.jpg +0 -0
  619. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/07.jpg +0 -0
  620. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/08.jpg +0 -0
  621. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/09.jpg +0 -0
  622. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/10.jpg +0 -0
  623. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/11.jpg +0 -0
  624. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/pages/12.jpg +0 -0
  625. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/deck.pptd +93 -0
  626. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/01.page +395 -0
  627. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/02.page +574 -0
  628. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/03.page +307 -0
  629. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/04.page +359 -0
  630. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/05.page +443 -0
  631. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/06.page +437 -0
  632. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/07.page +181 -0
  633. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/08.page +557 -0
  634. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/09.page +337 -0
  635. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/10.page +732 -0
  636. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/11.page +589 -0
  637. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source/pages/12.page +385 -0
  638. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/deck.pptd +93 -0
  639. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/01.page +395 -0
  640. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/02.page +574 -0
  641. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/03.page +307 -0
  642. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/04.page +359 -0
  643. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/05.page +443 -0
  644. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/06.page +437 -0
  645. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/07.page +181 -0
  646. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/08.page +557 -0
  647. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/09.page +337 -0
  648. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/10.page +732 -0
  649. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/11.page +589 -0
  650. package/skills/dsh-ppt/references/work/curated-nordic-operating-report/source-zh/pages/12.page +385 -0
  651. package/skills/dsh-ppt/references/work/dsh-editorial-forest/design.md +61 -0
  652. package/skills/dsh-ppt/references/work/dsh-editorial-forest/metadata.json +3338 -0
  653. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/01.jpg +0 -0
  654. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/02.jpg +0 -0
  655. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/03.jpg +0 -0
  656. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/04.jpg +0 -0
  657. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/05.jpg +0 -0
  658. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/06.jpg +0 -0
  659. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/07.jpg +0 -0
  660. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/08.jpg +0 -0
  661. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/09.jpg +0 -0
  662. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/10.jpg +0 -0
  663. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/11.jpg +0 -0
  664. package/skills/dsh-ppt/references/work/dsh-editorial-forest/pages/12.jpg +0 -0
  665. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/deck.pptd +21 -0
  666. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/01.page +87 -0
  667. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/02.page +382 -0
  668. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/03.page +760 -0
  669. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/04.page +718 -0
  670. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/05.page +479 -0
  671. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/06.page +576 -0
  672. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/07.page +551 -0
  673. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/08.page +295 -0
  674. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/09.page +811 -0
  675. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/10.page +547 -0
  676. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/11.page +575 -0
  677. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source/pages/12.page +86 -0
  678. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/deck.pptd +21 -0
  679. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/01.page +87 -0
  680. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/02.page +382 -0
  681. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/03.page +760 -0
  682. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/04.page +718 -0
  683. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/05.page +479 -0
  684. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/06.page +576 -0
  685. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/07.page +551 -0
  686. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/08.page +295 -0
  687. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/09.page +811 -0
  688. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/10.page +547 -0
  689. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/11.page +575 -0
  690. package/skills/dsh-ppt/references/work/dsh-editorial-forest/source-zh/pages/12.page +86 -0
  691. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/design.md +61 -0
  692. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/metadata.json +3147 -0
  693. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/01.jpg +0 -0
  694. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/02.jpg +0 -0
  695. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/03.jpg +0 -0
  696. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/04.jpg +0 -0
  697. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/05.jpg +0 -0
  698. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/06.jpg +0 -0
  699. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/07.jpg +0 -0
  700. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/08.jpg +0 -0
  701. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/09.jpg +0 -0
  702. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/10.jpg +0 -0
  703. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/11.jpg +0 -0
  704. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/pages/12.jpg +0 -0
  705. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/deck.pptd +21 -0
  706. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/01.page +390 -0
  707. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/02.page +1082 -0
  708. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/03.page +1511 -0
  709. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/04.page +1227 -0
  710. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/05.page +1517 -0
  711. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/06.page +1460 -0
  712. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/07.page +1276 -0
  713. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/08.page +1039 -0
  714. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/09.page +995 -0
  715. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/10.page +1275 -0
  716. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/11.page +1275 -0
  717. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source/pages/12.page +125 -0
  718. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/deck.pptd +21 -0
  719. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/01.page +390 -0
  720. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/02.page +1084 -0
  721. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/03.page +1511 -0
  722. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/04.page +1227 -0
  723. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/05.page +1517 -0
  724. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/06.page +1460 -0
  725. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/07.page +1276 -0
  726. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/08.page +1041 -0
  727. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/09.page +995 -0
  728. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/10.page +1275 -0
  729. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/11.page +1275 -0
  730. package/skills/dsh-ppt/references/work/dsh-engineering-blueprint/source-zh/pages/12.page +125 -0
@@ -0,0 +1,2558 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Signal Template</title>
7
+
8
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
+ <!--
11
+ Signal style uses four font families:
12
+ 1. Source Serif 4 — editorial serif for headlines, mixed roman + italic
13
+ 2. DM Sans — clean grotesque for body, stats numbers
14
+ 3. IBM Plex Mono — condensed mono labels, chrome, kickers
15
+ 4. Noto Serif SC / Noto Sans SC — Chinese fallbacks for every role
16
+ -->
17
+ <link
18
+ href="https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,300;1,8..60,400;1,8..60,600;1,8..60,700&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=IBM+Plex+Mono:wght@300;400;500&family=Noto+Serif+SC:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500&display=swap"
19
+ rel="stylesheet"
20
+ />
21
+
22
+ <style>
23
+ /* ╔══════════════════════════════════════════════════════════════════════╗
24
+ ║ ZONE A · TOKENS — SIGNAL STYLE ║
25
+ ║ ║
26
+ ║ Replace this block to change the visual style entirely. ║
27
+ ║ Every color, font, and size in this file reads from these vars. ║
28
+ ║ Never write raw hex values, font names, or px sizes outside here. ║
29
+ ╚══════════════════════════════════════════════════════════════════════╝ */
30
+ :root {
31
+ /* ── Palette ──────────────────────────────────────────────────────── */
32
+ /* Dark navy: intelligence, authority, depth — the editorial tone */
33
+ --c-bg: #1c2644;
34
+ /* Slightly lighter navy for secondary dark surfaces */
35
+ --c-bg-alt: #232f55;
36
+ /* Warm cream: the light slide background, like aged paper */
37
+ --c-bg-light: #f0ece3;
38
+ /* Slightly cooler cream for secondary light surfaces */
39
+ --c-bg-light-alt: #e6e0d4;
40
+
41
+ /* Primary text on dark: warm off-white, never pure white */
42
+ --c-fg: #e2dcd0;
43
+ /* Secondary text on dark: muted blue-grey */
44
+ --c-fg-2: #8a96a8;
45
+ /* Tertiary / hint text on dark */
46
+ --c-fg-3: #4e5a6e;
47
+ /* Primary text on light: very dark navy near-black */
48
+ --c-fg-light: #1a2030;
49
+ /* Secondary text on light */
50
+ --c-fg-light-2: #5a6270;
51
+ /* Tertiary text on light */
52
+ --c-fg-light-3: #9aa0a8;
53
+
54
+ /* Accent: warm antique gold — the single hot colour; used for italic serif em */
55
+ --c-accent: #c8a870;
56
+ /* Dividers on dark: dark navy border */
57
+ --c-border: #2e3d5c;
58
+ /* Dividers on light: warm greige border */
59
+ --c-border-light: #cac4b4;
60
+
61
+ /* ── Typography ──────────────────────────────────────────────────── */
62
+ /* Display + Heading: Source Serif 4 — editorial, authoritative.
63
+ Mix roman and italic mid-sentence for the Signal look. */
64
+ --f-display: "Source Serif 4", "Noto Serif SC", Georgia, serif;
65
+ --f-heading: "Source Serif 4", "Noto Serif SC", Georgia, serif;
66
+ /* Body: DM Sans — clean grotesque, steps back so the serif leads */
67
+ --f-body: "DM Sans", "Noto Sans SC", system-ui, sans-serif;
68
+ /* Mono: IBM Plex Mono — the condensed editorial timestamp */
69
+ --f-mono: "IBM Plex Mono", "JetBrains Mono", monospace;
70
+
71
+ /* ── Type Scale ───────────────────────────────────────────────────── */
72
+ /* vw units keep all sizes proportional regardless of window width */
73
+ --sz-display: 9.5vw; /* hero cover title — very large, commanding */
74
+ --sz-h1: 5.2vw; /* chapter titles */
75
+ --sz-h2: 3vw; /* slide headlines */
76
+ --sz-h3: 1.9vw; /* sub-headlines, compare panel titles */
77
+ --sz-lead: 1.4vw; /* lead paragraph */
78
+ --sz-body: 1.05vw; /* body text, bullets */
79
+ --sz-caption: 0.82vw; /* captions, footnotes */
80
+ --sz-label: 0.7vw; /* chrome, kickers, tags, mono metadata */
81
+
82
+ /* ── Spacing ─────────────────────────────────────────────────────── */
83
+ --pad-x: 7.5vw; /* horizontal slide padding */
84
+ --pad-y: 5.5vh; /* vertical slide padding */
85
+ --gap-lg: 4vh; /* between major content sections */
86
+ --gap-md: 2.5vh; /* between related elements */
87
+ --gap-sm: 1.2vh; /* between tightly coupled elements */
88
+
89
+ /* ── Motion ──────────────────────────────────────────────────────── */
90
+ /* Slide pan: sharp in, sharp out — deliberate, not springy */
91
+ --ease-slide: cubic-bezier(0.77, 0, 0.175, 1);
92
+ --dur-slide: 0.85s;
93
+ /* Element entrance: spring-y ease-out for content reveals */
94
+ --ease-enter: cubic-bezier(0.16, 1, 0.3, 1);
95
+ --dur-enter: 0.65s;
96
+ }
97
+
98
+ /* ╔══════════════════════════════════════════════════════════════════════╗
99
+ ║ ZONE B · ENGINE — DO NOT MODIFY ║
100
+ ║ ║
101
+ ║ Layout engine, transitions, animation system, navigation. ║
102
+ ║ Touching this breaks the mechanics. ║
103
+ ╚══════════════════════════════════════════════════════════════════════╝ */
104
+
105
+ *,
106
+ *::before,
107
+ *::after {
108
+ box-sizing: border-box;
109
+ margin: 0;
110
+ padding: 0;
111
+ }
112
+ html,
113
+ body {
114
+ width: 100%;
115
+ height: 100%;
116
+ overflow: hidden;
117
+ background: var(--c-bg);
118
+ -webkit-font-smoothing: antialiased;
119
+ }
120
+
121
+ /* Deck container — all slides sit side by side in one horizontal strip */
122
+ #deck {
123
+ display: flex;
124
+ height: 100vh;
125
+ transition: transform var(--dur-slide) var(--ease-slide);
126
+ will-change: transform;
127
+ }
128
+
129
+ /* Slide base — each slide occupies exactly one full viewport */
130
+ .slide {
131
+ flex: 0 0 100vw;
132
+ width: 100vw;
133
+ height: 100vh;
134
+ position: relative;
135
+ padding: var(--pad-y) var(--pad-x);
136
+ display: grid;
137
+ grid-template-rows: auto 1fr auto;
138
+ overflow: hidden;
139
+ }
140
+ .slide-body {
141
+ min-height: 0;
142
+ }
143
+
144
+ /* Slide themes */
145
+ .slide.dark {
146
+ background: var(--c-bg);
147
+ color: var(--c-fg);
148
+ }
149
+ .slide.light {
150
+ background: var(--c-bg-light);
151
+ color: var(--c-fg-light);
152
+ }
153
+
154
+ /* ── Animation system ─────────────────────────────────────────────── */
155
+ /* Elements start invisible; become visible only when slide is active */
156
+ [data-anim] {
157
+ opacity: 0;
158
+ }
159
+ .slide.is-active [data-anim] {
160
+ animation-duration: var(--dur-enter);
161
+ animation-timing-function: var(--ease-enter);
162
+ animation-fill-mode: forwards;
163
+ }
164
+ .slide.is-active [data-anim="fade-up"] {
165
+ animation-name: kFadeUp;
166
+ }
167
+ .slide.is-active [data-anim="fade-in"] {
168
+ animation-name: kFadeIn;
169
+ }
170
+ .slide.is-active [data-anim="reveal-right"] {
171
+ animation-name: kRevealRight;
172
+ }
173
+ .slide.is-active [data-anim="reveal-left"] {
174
+ animation-name: kRevealLeft;
175
+ }
176
+ .slide.is-active [data-anim="scale-in"] {
177
+ animation-name: kScaleIn;
178
+ }
179
+
180
+ /* Staggered delays via data-delay attribute (0–6) */
181
+ [data-delay="0"] {
182
+ animation-delay: 0s;
183
+ }
184
+ [data-delay="1"] {
185
+ animation-delay: 0.08s;
186
+ }
187
+ [data-delay="2"] {
188
+ animation-delay: 0.18s;
189
+ }
190
+ [data-delay="3"] {
191
+ animation-delay: 0.3s;
192
+ }
193
+ [data-delay="4"] {
194
+ animation-delay: 0.44s;
195
+ }
196
+ [data-delay="5"] {
197
+ animation-delay: 0.6s;
198
+ }
199
+ [data-delay="6"] {
200
+ animation-delay: 0.78s;
201
+ }
202
+
203
+ @keyframes kFadeUp {
204
+ from {
205
+ opacity: 0;
206
+ transform: translateY(28px);
207
+ }
208
+ to {
209
+ opacity: 1;
210
+ transform: none;
211
+ }
212
+ }
213
+ @keyframes kFadeIn {
214
+ from {
215
+ opacity: 0;
216
+ }
217
+ to {
218
+ opacity: 1;
219
+ }
220
+ }
221
+ @keyframes kRevealRight {
222
+ from {
223
+ clip-path: inset(0 100% 0 0);
224
+ opacity: 1;
225
+ }
226
+ to {
227
+ clip-path: inset(0 0% 0 0);
228
+ opacity: 1;
229
+ }
230
+ }
231
+ @keyframes kRevealLeft {
232
+ from {
233
+ clip-path: inset(0 0 0 100%);
234
+ opacity: 1;
235
+ }
236
+ to {
237
+ clip-path: inset(0 0 0 0%);
238
+ opacity: 1;
239
+ }
240
+ }
241
+ @keyframes kScaleIn {
242
+ from {
243
+ opacity: 0;
244
+ transform: scale(0.94);
245
+ }
246
+ to {
247
+ opacity: 1;
248
+ transform: none;
249
+ }
250
+ }
251
+
252
+ /* ── Navigation UI ───────────────────────────────────────────────── */
253
+ #nav-dots {
254
+ position: fixed;
255
+ bottom: 24px;
256
+ left: 50%;
257
+ transform: translateX(-50%);
258
+ display: flex;
259
+ gap: 7px;
260
+ z-index: 100;
261
+ }
262
+ .nav-dot {
263
+ width: 5px;
264
+ height: 5px;
265
+ border-radius: 50%;
266
+ border: none;
267
+ background: rgba(255, 255, 255, 0.22);
268
+ cursor: pointer;
269
+ transition:
270
+ background 0.3s,
271
+ transform 0.3s;
272
+ padding: 0;
273
+ }
274
+ .nav-dot.is-active {
275
+ background: rgba(255, 255, 255, 0.8);
276
+ transform: scale(1.4);
277
+ }
278
+
279
+ #slide-counter {
280
+ position: fixed;
281
+ bottom: 20px;
282
+ right: 28px;
283
+ font-family: var(--f-mono);
284
+ font-size: 10px;
285
+ letter-spacing: 0.12em;
286
+ color: rgba(255, 255, 255, 0.25);
287
+ z-index: 100;
288
+ user-select: none;
289
+ }
290
+
291
+ /* ╔══════════════════════════════════════════════════════════════════════╗
292
+ ║ ZONE C · TYPOGRAPHY ║
293
+ ╚══════════════════════════════════════════════════════════════════════╝ */
294
+
295
+ .display {
296
+ font-family: var(--f-display);
297
+ font-size: var(--sz-display);
298
+ font-weight: 700;
299
+ line-height: 0.96;
300
+ letter-spacing: -0.02em;
301
+ }
302
+ .h1 {
303
+ font-family: var(--f-heading);
304
+ font-size: var(--sz-h1);
305
+ font-weight: 600;
306
+ line-height: 1.08;
307
+ letter-spacing: -0.01em;
308
+ }
309
+ .h2 {
310
+ font-family: var(--f-heading);
311
+ font-size: var(--sz-h2);
312
+ font-weight: 600;
313
+ line-height: 1.18;
314
+ }
315
+ .h3 {
316
+ font-family: var(--f-heading);
317
+ font-size: var(--sz-h3);
318
+ font-weight: 500;
319
+ line-height: 1.3;
320
+ }
321
+ .lead {
322
+ font-family: var(--f-body);
323
+ font-size: var(--sz-lead);
324
+ font-weight: 400;
325
+ line-height: 1.58;
326
+ }
327
+ .body {
328
+ font-family: var(--f-body);
329
+ font-size: var(--sz-body);
330
+ font-weight: 400;
331
+ line-height: 1.65;
332
+ }
333
+ .caption {
334
+ font-family: var(--f-body);
335
+ font-size: var(--sz-caption);
336
+ font-weight: 400;
337
+ line-height: 1.5;
338
+ }
339
+ .label {
340
+ font-family: var(--f-mono);
341
+ font-size: var(--sz-label);
342
+ font-weight: 500;
343
+ letter-spacing: 0.14em;
344
+ text-transform: uppercase;
345
+ }
346
+
347
+ /* Signal signature: italic serif in accent gold for em tags inside headings */
348
+ .display em,
349
+ .h1 em,
350
+ .h2 em,
351
+ .h3 em {
352
+
353
+ color: var(--c-accent);
354
+ }
355
+ .lead em {
356
+
357
+ color: var(--c-accent);
358
+ font-family: var(--f-heading);
359
+ }
360
+
361
+ .dark .muted {
362
+ color: var(--c-fg-2);
363
+ }
364
+ .light .muted {
365
+ color: var(--c-fg-light-2);
366
+ }
367
+ .accent {
368
+ color: var(--c-accent);
369
+ }
370
+
371
+ /* ╔══════════════════════════════════════════════════════════════════════╗
372
+ ║ ZONE D · CHROME + GRID TEXTURE ║
373
+ ╚══════════════════════════════════════════════════════════════════════╝ */
374
+
375
+ /* Subtle grid overlay — the Signal visual fingerprint */
376
+ .slide.dark::before {
377
+ content: "";
378
+ position: absolute;
379
+ inset: 0;
380
+ background-image:
381
+ linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
382
+ linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
383
+ background-size: 80px 80px;
384
+ pointer-events: none;
385
+ z-index: 0;
386
+ }
387
+ .slide.dark > * {
388
+ position: relative;
389
+ z-index: 1;
390
+ }
391
+
392
+ /* Chrome (top bar) and footer */
393
+ .slide-chrome,
394
+ .slide-foot {
395
+ display: flex;
396
+ justify-content: space-between;
397
+ align-items: center;
398
+ }
399
+ .slide-chrome {
400
+ padding-bottom: var(--gap-sm);
401
+ border-bottom: 1px solid var(--c-border);
402
+ margin-bottom: var(--gap-md);
403
+ }
404
+ .slide-foot {
405
+ padding-top: var(--gap-sm);
406
+ border-top: 1px solid var(--c-border);
407
+ margin-top: var(--gap-md);
408
+ }
409
+ .light .slide-chrome,
410
+ .light .slide-foot {
411
+ border-color: var(--c-border-light);
412
+ }
413
+
414
+ /* Special layouts that don't use chrome/foot */
415
+ .slide--cover .slide-chrome,
416
+ .slide--cover .slide-foot,
417
+ .slide--chapter .slide-chrome,
418
+ .slide--chapter .slide-foot,
419
+ .slide--quote .slide-chrome,
420
+ .slide--quote .slide-foot,
421
+ .slide--end .slide-chrome,
422
+ .slide--end .slide-foot {
423
+ display: none;
424
+ }
425
+
426
+ /* ╔══════════════════════════════════════════════════════════════════════╗
427
+ ║ ZONE E · LAYOUT PATTERNS ║
428
+ ╚══════════════════════════════════════════════════════════════════════╝ */
429
+
430
+ /* 1. COVER ─────────────────────────────────────────────────────────── */
431
+ .slide--cover {
432
+ display: flex;
433
+ flex-direction: column;
434
+ justify-content: flex-end;
435
+ }
436
+ .cover-body {
437
+ display: flex;
438
+ flex-direction: column;
439
+ flex: 1;
440
+ justify-content: flex-end;
441
+ gap: var(--gap-md);
442
+ }
443
+ .cover-meta {
444
+ display: flex;
445
+ justify-content: space-between;
446
+ align-items: flex-end;
447
+ margin-top: var(--gap-lg);
448
+ padding-top: var(--gap-sm);
449
+ border-top: 1px solid var(--c-border);
450
+ }
451
+ .light .cover-meta {
452
+ border-color: var(--c-border-light);
453
+ }
454
+
455
+ /* 2. CHAPTER ────────────────────────────────────────────────────────── */
456
+ .slide--chapter {
457
+ display: flex;
458
+ flex-direction: column;
459
+ justify-content: center;
460
+ }
461
+ .chapter-num {
462
+ font-family: var(--f-mono);
463
+ font-size: var(--sz-label);
464
+ letter-spacing: 0.2em;
465
+ text-transform: uppercase;
466
+ color: var(--c-accent);
467
+ margin-bottom: var(--gap-md);
468
+ }
469
+ .chapter-rule {
470
+ width: 36px;
471
+ height: 1px;
472
+ background: var(--c-accent);
473
+ margin-bottom: var(--gap-md);
474
+ }
475
+
476
+ /* 3. STATEMENT ──────────────────────────────────────────────────────── */
477
+ .slide--statement .statement-body {
478
+ display: flex;
479
+ flex-direction: column;
480
+ justify-content: center;
481
+ gap: var(--gap-md);
482
+ }
483
+
484
+ /* 4. SPLIT ──────────────────────────────────────────────────────────── */
485
+ .slide--split .slide-body {
486
+ display: grid;
487
+ grid-template-columns: 1fr 1fr;
488
+ gap: calc(var(--pad-x) * 0.7);
489
+ align-items: center;
490
+ }
491
+ .split-text {
492
+ display: flex;
493
+ flex-direction: column;
494
+ gap: var(--gap-md);
495
+ }
496
+ .split-image {
497
+ display: flex;
498
+ flex-direction: column;
499
+ gap: var(--gap-sm);
500
+ }
501
+ .split-image img {
502
+ width: 100%;
503
+ height: 55vh;
504
+ object-fit: cover;
505
+ display: block;
506
+ }
507
+
508
+ /* 5. STATS ───────────────────────────────────────────────────────────── */
509
+ .slide--stats .slide-body {
510
+ display: flex;
511
+ flex-direction: column;
512
+ justify-content: center;
513
+ gap: var(--gap-lg);
514
+ }
515
+ .stats-grid {
516
+ display: grid;
517
+ grid-template-columns: repeat(3, 1fr);
518
+ gap: 0;
519
+ }
520
+ .stats-grid.cols-4 {
521
+ grid-template-columns: repeat(4, 1fr);
522
+ }
523
+ .stat-card {
524
+ display: flex;
525
+ flex-direction: column;
526
+ gap: var(--gap-sm);
527
+ padding: var(--gap-md) var(--gap-md) var(--gap-md) 0;
528
+ border-top: 1px solid var(--c-border);
529
+ }
530
+ .light .stat-card {
531
+ border-color: var(--c-border-light);
532
+ }
533
+ .stat-value {
534
+ font-family: var(--f-display);
535
+ font-size: 5.5vw;
536
+ font-weight: 600;
537
+ line-height: 1;
538
+ color: var(--c-accent);
539
+ letter-spacing: -0.02em;
540
+ }
541
+ .stat-label {
542
+ font-family: var(--f-body);
543
+ font-size: var(--sz-body);
544
+ line-height: 1.5;
545
+ }
546
+ .stat-note {
547
+ font-family: var(--f-mono);
548
+ font-size: var(--sz-caption);
549
+ letter-spacing: 0.05em;
550
+ color: var(--c-fg-3);
551
+ }
552
+ .light .stat-note {
553
+ color: var(--c-fg-light-3);
554
+ }
555
+
556
+ /* 6. QUOTE ───────────────────────────────────────────────────────────── */
557
+ .slide--quote {
558
+ display: flex;
559
+ flex-direction: column;
560
+ justify-content: center;
561
+ padding: calc(var(--pad-y) * 1.2) calc(var(--pad-x) * 1.1);
562
+ }
563
+ .quote-mark {
564
+ font-family: var(--f-display);
565
+ font-size: 8vw;
566
+ line-height: 0.6;
567
+ color: var(--c-accent);
568
+ margin-bottom: var(--gap-md);
569
+ font-weight: 300;
570
+ }
571
+ .quote-text {
572
+ font-family: var(--f-display);
573
+ font-size: 3.6vw;
574
+ font-weight: 400;
575
+ line-height: 1.28;
576
+ letter-spacing: -0.01em;
577
+ max-width: 78%;
578
+ margin-bottom: var(--gap-lg);
579
+
580
+ }
581
+ .quote-attr {
582
+ display: flex;
583
+ flex-direction: column;
584
+ gap: 0.4vh;
585
+ }
586
+
587
+ /* 7. LIST ────────────────────────────────────────────────────────────── */
588
+ .slide--list .slide-body {
589
+ display: grid;
590
+ grid-template-columns: 2fr 3fr;
591
+ gap: calc(var(--pad-x) * 0.8);
592
+ align-items: center;
593
+ }
594
+ .list-head {
595
+ display: flex;
596
+ flex-direction: column;
597
+ gap: var(--gap-md);
598
+ padding-top: var(--gap-sm);
599
+ }
600
+ .bullet-list {
601
+ list-style: none;
602
+ display: flex;
603
+ flex-direction: column;
604
+ gap: var(--gap-md);
605
+ }
606
+ .bullet-list li {
607
+ display: grid;
608
+ grid-template-columns: 1.2em 1fr;
609
+ gap: 0.5em;
610
+ font-family: var(--f-body);
611
+ font-size: var(--sz-lead);
612
+ line-height: 1.5;
613
+ }
614
+ .bullet-list li::before {
615
+ content: "—";
616
+ color: var(--c-accent);
617
+ font-family: var(--f-mono);
618
+ }
619
+ .dark .bullet-list li {
620
+ color: var(--c-fg);
621
+ }
622
+ .light .bullet-list li {
623
+ color: var(--c-fg-light);
624
+ }
625
+
626
+ /* 8. COMPARE ─────────────────────────────────────────────────────────── */
627
+ .slide--compare .slide-body {
628
+ display: grid;
629
+ grid-template-columns: 1fr 1fr;
630
+ height: 100%;
631
+ }
632
+ .compare-panel {
633
+ display: flex;
634
+ flex-direction: column;
635
+ gap: var(--gap-md);
636
+ padding: var(--gap-md) 0;
637
+ }
638
+ .compare-panel.left {
639
+ padding-right: calc(var(--pad-x) * 0.55);
640
+ border-right: 1px solid var(--c-border);
641
+ }
642
+ .compare-panel.right {
643
+ padding-left: calc(var(--pad-x) * 0.55);
644
+ }
645
+ .light .compare-panel.left {
646
+ border-color: var(--c-border-light);
647
+ }
648
+ .compare-label {
649
+ font-family: var(--f-mono);
650
+ font-size: var(--sz-label);
651
+ letter-spacing: 0.16em;
652
+ text-transform: uppercase;
653
+ padding-bottom: var(--gap-sm);
654
+ border-bottom: 1px solid var(--c-border);
655
+ }
656
+ .compare-label.after {
657
+ color: var(--c-accent);
658
+ }
659
+ .light .compare-label {
660
+ border-color: var(--c-border-light);
661
+ }
662
+
663
+ /* 9. END ─────────────────────────────────────────────────────────────── */
664
+ .slide--end {
665
+ display: flex;
666
+ flex-direction: column;
667
+ justify-content: center;
668
+ gap: var(--gap-md);
669
+ }
670
+
671
+ /* 10. EDITORIAL — Editorial newsletter style ─────────────────── */
672
+ .slide--editorial {
673
+ grid-template-rows: auto auto auto 1fr auto;
674
+ }
675
+ .editorial-stamp {
676
+ font-family: var(--f-mono);
677
+ font-size: var(--sz-label);
678
+ letter-spacing: 0.22em;
679
+ color: var(--c-fg-3);
680
+ }
681
+ .editorial-stamp .accent {
682
+ color: var(--c-accent);
683
+ }
684
+ .editorial-hl {
685
+ font-family: var(--f-heading);
686
+ font-size: 2.75vw;
687
+ font-weight: 600;
688
+ line-height: 1.2;
689
+ padding-bottom: var(--gap-md);
690
+ border-bottom: 1px solid var(--c-border);
691
+ }
692
+ .editorial-hl em {
693
+
694
+ color: var(--c-accent);
695
+ }
696
+ .light .editorial-hl {
697
+ border-color: var(--c-border-light);
698
+ }
699
+
700
+ /* Two-column layout */
701
+ .editorial-cols {
702
+ display: grid;
703
+ grid-template-columns: 1.15fr 0.85fr;
704
+ gap: 0;
705
+ min-height: 0;
706
+ }
707
+ .editorial-col-left {
708
+ padding-right: calc(var(--pad-x) * 0.38);
709
+ border-right: 1px solid var(--c-border);
710
+ display: flex;
711
+ flex-direction: column;
712
+ }
713
+ .editorial-col-right {
714
+ padding-left: calc(var(--pad-x) * 0.38);
715
+ display: flex;
716
+ flex-direction: column;
717
+ gap: var(--gap-md);
718
+ }
719
+ .light .editorial-col-left {
720
+ border-color: var(--c-border-light);
721
+ }
722
+ .editorial-col-head {
723
+ font-family: var(--f-mono);
724
+ font-size: var(--sz-label);
725
+ letter-spacing: 0.18em;
726
+ color: var(--c-fg-3);
727
+ padding-bottom: var(--gap-sm);
728
+ border-bottom: 1px solid var(--c-border);
729
+ margin-bottom: var(--gap-sm);
730
+ }
731
+ .light .editorial-col-head {
732
+ border-color: var(--c-border-light);
733
+ color: var(--c-fg-light-3);
734
+ }
735
+
736
+ /* Date log in left column */
737
+ .log-list {
738
+ display: flex;
739
+ flex-direction: column;
740
+ gap: 1.4vh;
741
+ flex: 1;
742
+ }
743
+ .log-row {
744
+ display: grid;
745
+ grid-template-columns: 5em 1fr;
746
+ gap: 1em;
747
+ align-items: baseline;
748
+ }
749
+ .log-dt {
750
+ font-family: var(--f-mono);
751
+ font-size: var(--sz-caption);
752
+ letter-spacing: 0.1em;
753
+ color: var(--c-fg-3);
754
+ white-space: nowrap;
755
+ }
756
+ .log-dd {
757
+ font-family: var(--f-body);
758
+ font-size: var(--sz-body);
759
+ line-height: 1.52;
760
+ }
761
+ .log-dd em {
762
+
763
+ color: var(--c-accent);
764
+ font-family: var(--f-heading);
765
+ }
766
+
767
+ /* 2x2 mixed-font stat grid in right column */
768
+ .stat-4 {
769
+ display: grid;
770
+ grid-template-columns: 1fr 1fr;
771
+ gap: 0;
772
+ }
773
+ .stat-4-cell {
774
+ border-top: 1px solid var(--c-border);
775
+ padding: 1.2vh 0 1.5vh 0;
776
+ }
777
+ .stat-4-cell:nth-child(even) {
778
+ border-left: 1px solid var(--c-border);
779
+ padding-left: 1.8vh;
780
+ }
781
+ .light .stat-4-cell {
782
+ border-color: var(--c-border-light);
783
+ }
784
+ /* Value: roman grotesque number (DM Sans 700) + italic serif suffix (Source Serif 4 italic) */
785
+ .stat-4-val {
786
+ font-family: var(--f-body);
787
+ font-size: 2.5vw;
788
+ font-weight: 700;
789
+ line-height: 1;
790
+ color: var(--c-fg);
791
+ margin-bottom: 0.5vh;
792
+ letter-spacing: -0.02em;
793
+ }
794
+ .stat-4-val em {
795
+ font-family: var(--f-display);
796
+
797
+ color: var(--c-accent);
798
+ font-weight: 600;
799
+ }
800
+ .stat-4-label {
801
+ font-family: var(--f-mono);
802
+ font-size: 0.62vw;
803
+ letter-spacing: 0.07em;
804
+ color: var(--c-fg-3);
805
+ line-height: 1.4;
806
+ text-transform: uppercase;
807
+ }
808
+ .light .stat-4-label {
809
+ color: var(--c-fg-light-3);
810
+ }
811
+
812
+ /* Analysis line below columns */
813
+ .editorial-analysis {
814
+ font-family: var(--f-body);
815
+ font-size: 0.88vw;
816
+ line-height: 1.72;
817
+ color: var(--c-fg-2);
818
+ border-top: 1px solid var(--c-border);
819
+ padding-top: var(--gap-sm);
820
+ }
821
+ .light .editorial-analysis {
822
+ border-color: var(--c-border-light);
823
+ color: var(--c-fg-light-2);
824
+ }
825
+
826
+ /* 11. DENSE — Two-column editorial text ─────────────────────────────── */
827
+ .slide--dense {
828
+ grid-template-rows: auto auto 1fr auto;
829
+ }
830
+ .dense-hl {
831
+ font-family: var(--f-heading);
832
+ font-size: 2.4vw;
833
+ font-weight: 600;
834
+ line-height: 1.2;
835
+ padding-bottom: var(--gap-md);
836
+ border-bottom: 1px solid var(--c-border);
837
+ max-width: 88%;
838
+ }
839
+ .dense-hl em {
840
+
841
+ color: var(--c-accent);
842
+ }
843
+ .light .dense-hl {
844
+ border-color: var(--c-border-light);
845
+ }
846
+ .dense-cols {
847
+ display: grid;
848
+ grid-template-columns: 1fr 1fr;
849
+ gap: calc(var(--pad-x) * 0.45);
850
+ padding-top: var(--gap-md);
851
+ min-height: 0;
852
+ }
853
+ .dense-col h4 {
854
+ font-family: var(--f-mono);
855
+ font-size: var(--sz-label);
856
+ letter-spacing: 0.16em;
857
+ color: var(--c-fg-3);
858
+ margin-bottom: var(--gap-sm);
859
+ padding-bottom: var(--gap-sm);
860
+ border-bottom: 1px solid var(--c-border);
861
+ }
862
+ .light .dense-col h4 {
863
+ border-color: var(--c-border-light);
864
+ color: var(--c-fg-light-3);
865
+ }
866
+ .dense-col p {
867
+ font-family: var(--f-body);
868
+ font-size: var(--sz-body);
869
+ line-height: 1.72;
870
+ color: var(--c-fg-2);
871
+ margin-bottom: 1.4vh;
872
+ }
873
+ .light .dense-col p {
874
+ color: var(--c-fg-light-2);
875
+ }
876
+ .dense-col p:last-child {
877
+ margin-bottom: 0;
878
+ }
879
+ .dense-col p em {
880
+
881
+ color: var(--c-accent);
882
+ font-family: var(--f-heading);
883
+ }
884
+
885
+ /* 12. FULLBLEED ──────────────────────────────────────────────────────── */
886
+ .slide--fullbleed {
887
+ padding: 0;
888
+ display: block;
889
+ position: relative;
890
+ }
891
+ .slide--fullbleed::before {
892
+ display: none !important;
893
+ }
894
+ .fb-img {
895
+ position: absolute;
896
+ inset: 0;
897
+ width: 100%;
898
+ height: 100%;
899
+ object-fit: cover;
900
+ display: block;
901
+ }
902
+ .fb-content {
903
+ position: absolute;
904
+ bottom: 0;
905
+ left: 0;
906
+ right: 0;
907
+ padding: var(--pad-y) var(--pad-x);
908
+ background: linear-gradient(
909
+ to bottom,
910
+ transparent 0%,
911
+ rgba(15, 20, 36, 0.9) 35%
912
+ );
913
+ display: flex;
914
+ flex-direction: column;
915
+ gap: var(--gap-sm);
916
+ }
917
+
918
+ /* ╔══════════════════════════════════════════════════════════════════════╗
919
+ ║ ZONE F · COMPONENTS ║
920
+ ╚══════════════════════════════════════════════════════════════════════╝ */
921
+
922
+ /* Decorative rule lines */
923
+ .rule {
924
+ width: 36px;
925
+ height: 1px;
926
+ background: var(--c-accent);
927
+ }
928
+ .rule.full {
929
+ width: 100%;
930
+ background: var(--c-border);
931
+ }
932
+ .light .rule.full {
933
+ background: var(--c-border-light);
934
+ }
935
+
936
+ /* Kicker label (above headlines) */
937
+ .kicker {
938
+ font-family: var(--f-mono);
939
+ font-size: var(--sz-label);
940
+ letter-spacing: 0.14em;
941
+ text-transform: uppercase;
942
+ color: var(--c-accent);
943
+ }
944
+
945
+ /* Outlined tag */
946
+ .tag {
947
+ display: inline-block;
948
+ font-family: var(--f-mono);
949
+ font-size: var(--sz-label);
950
+ letter-spacing: 0.14em;
951
+ text-transform: uppercase;
952
+ color: var(--c-accent);
953
+ border: 1px solid var(--c-accent);
954
+ padding: 0.3em 0.8em;
955
+ line-height: 1;
956
+ }
957
+
958
+ /* Image caption */
959
+ .img-caption {
960
+ font-family: var(--f-mono);
961
+ font-size: var(--sz-caption);
962
+ letter-spacing: 0.04em;
963
+ opacity: 0.5;
964
+ margin-top: 0.8vh;
965
+ }
966
+ /* ── CHART ─────────────────────────────────────────────────────────── */
967
+ .slide--chart .slide-body {
968
+ display: flex;
969
+ flex-direction: column;
970
+ gap: var(--gap-md);
971
+ min-height: 0;
972
+ }
973
+ .chart-header {
974
+ display: flex;
975
+ justify-content: space-between;
976
+ align-items: baseline;
977
+ flex-shrink: 0;
978
+ }
979
+ .chart-wrapper {
980
+ flex: 1;
981
+ display: flex;
982
+ flex-direction: column;
983
+ justify-content: flex-end;
984
+ min-height: 0;
985
+ }
986
+ .bar-track {
987
+ height: 30vh;
988
+ display: flex;
989
+ align-items: flex-end;
990
+ gap: 4vw;
991
+ border-left: 1px solid var(--c-border);
992
+ padding-left: 0.5vw;
993
+ }
994
+ .light .bar-track {
995
+ border-color: var(--c-border-light);
996
+ }
997
+ .bar-col {
998
+ flex: 1;
999
+ display: flex;
1000
+ flex-direction: column;
1001
+ align-items: flex-start;
1002
+ justify-content: flex-end;
1003
+ gap: 1vh;
1004
+ height: 100%;
1005
+ }
1006
+ .bar-fill {
1007
+ width: 100%;
1008
+ background: var(--c-fg-3);
1009
+ }
1010
+ .bar-fill.accent {
1011
+ background: var(--c-accent);
1012
+ }
1013
+ .light .bar-fill {
1014
+ background: var(--c-fg-light-3);
1015
+ }
1016
+ .light .bar-fill.accent {
1017
+ background: var(--c-accent);
1018
+ }
1019
+ .bar-x-label {
1020
+ font-family: var(--f-mono);
1021
+ font-size: var(--sz-caption);
1022
+ letter-spacing: 0.1em;
1023
+ color: var(--c-fg-3);
1024
+ white-space: nowrap;
1025
+ text-transform: uppercase;
1026
+ }
1027
+ .light .bar-x-label {
1028
+ color: var(--c-fg-light-3);
1029
+ }
1030
+ .bar-val {
1031
+ font-family: var(--f-body);
1032
+ font-size: var(--sz-body);
1033
+ font-weight: 500;
1034
+ color: var(--c-fg-2);
1035
+ }
1036
+ .bar-val.hi {
1037
+ color: var(--c-accent);
1038
+ font-weight: 600;
1039
+ }
1040
+ .light .bar-val {
1041
+ color: var(--c-fg-light-2);
1042
+ }
1043
+ .chart-baseline {
1044
+ height: 1px;
1045
+ background: var(--c-border);
1046
+ flex-shrink: 0;
1047
+ margin-top: 1px;
1048
+ }
1049
+ .light .chart-baseline {
1050
+ background: var(--c-border-light);
1051
+ }
1052
+ .chart-source {
1053
+ flex-shrink: 0;
1054
+ font-family: var(--f-mono);
1055
+ font-size: var(--sz-caption);
1056
+ color: var(--c-fg-3);
1057
+ letter-spacing: 0.06em;
1058
+ margin-top: var(--gap-sm);
1059
+ }
1060
+ .light .chart-source {
1061
+ color: var(--c-fg-light-3);
1062
+ }
1063
+
1064
+ /* ── DIAGRAM ────────────────────────────────────────────────────────── */
1065
+ .slide--diagram .slide-body {
1066
+ display: flex;
1067
+ flex-direction: column;
1068
+ justify-content: center;
1069
+ gap: var(--gap-lg);
1070
+ min-height: 0;
1071
+ }
1072
+ .flow {
1073
+ display: flex;
1074
+ align-items: stretch;
1075
+ gap: 0;
1076
+ }
1077
+ .flow-step {
1078
+ flex: 1;
1079
+ display: flex;
1080
+ flex-direction: column;
1081
+ gap: var(--gap-sm);
1082
+ padding-right: calc(var(--pad-x) * 0.35);
1083
+ }
1084
+ .flow-num {
1085
+ font-family: var(--f-display);
1086
+ font-size: 4.5vw;
1087
+ font-weight: 700;
1088
+ line-height: 1;
1089
+ color: var(--c-accent);
1090
+ letter-spacing: -0.02em;
1091
+
1092
+ }
1093
+ .flow-title {
1094
+ font-family: var(--f-heading);
1095
+ font-size: var(--sz-h3);
1096
+ font-weight: 600;
1097
+ line-height: 1.15;
1098
+ color: var(--c-fg);
1099
+ }
1100
+ .light .flow-title {
1101
+ color: var(--c-fg-light);
1102
+ }
1103
+ .flow-desc {
1104
+ font-family: var(--f-body);
1105
+ font-size: var(--sz-body);
1106
+ color: var(--c-fg-2);
1107
+ line-height: 1.62;
1108
+ }
1109
+ .light .flow-desc {
1110
+ color: var(--c-fg-light-2);
1111
+ }
1112
+ .flow-arrow {
1113
+ display: flex;
1114
+ align-items: flex-start;
1115
+ padding-top: 1em;
1116
+ padding-right: calc(var(--pad-x) * 0.35);
1117
+ font-size: 2vw;
1118
+ color: var(--c-border);
1119
+ flex-shrink: 0;
1120
+ }
1121
+ .light .flow-arrow {
1122
+ color: var(--c-border-light);
1123
+ }
1124
+
1125
+ /* ── PIE / DONUT CHART ──────────────────────────────────────────────── */
1126
+ .slide--pie .slide-body {
1127
+ display: flex;
1128
+ flex-direction: column;
1129
+ gap: var(--gap-md);
1130
+ min-height: 0;
1131
+ }
1132
+ .pie-row {
1133
+ display: grid;
1134
+ grid-template-columns: 1fr 1fr;
1135
+ gap: calc(var(--pad-x) * 0.7);
1136
+ align-items: center;
1137
+ flex: 1;
1138
+ min-height: 0;
1139
+ }
1140
+ .pie-donut {
1141
+ width: min(26vw, 42vh);
1142
+ height: min(26vw, 42vh);
1143
+ border-radius: 50%;
1144
+ position: relative;
1145
+ flex-shrink: 0;
1146
+ justify-self: center;
1147
+ }
1148
+ .pie-donut::after {
1149
+ content: "";
1150
+ position: absolute;
1151
+ inset: 22%;
1152
+ border-radius: 50%;
1153
+ background: var(--c-bg);
1154
+ }
1155
+ .pie-legend {
1156
+ display: flex;
1157
+ flex-direction: column;
1158
+ gap: var(--gap-md);
1159
+ }
1160
+ .pie-item {
1161
+ display: grid;
1162
+ grid-template-columns: 0.8em 1fr auto;
1163
+ gap: 1em;
1164
+ align-items: center;
1165
+ }
1166
+ .pie-swatch {
1167
+ width: 0.8em;
1168
+ height: 0.8em;
1169
+ border-radius: 2px;
1170
+ flex-shrink: 0;
1171
+ }
1172
+ .pie-item-label {
1173
+ font-family: var(--f-body);
1174
+ font-size: var(--sz-lead);
1175
+ line-height: 1.4;
1176
+ }
1177
+ .pie-item-val {
1178
+ font-family: var(--f-mono);
1179
+ font-size: var(--sz-body);
1180
+ font-weight: 500;
1181
+ letter-spacing: 0.06em;
1182
+ color: var(--c-accent);
1183
+ }
1184
+ .pie-total {
1185
+ margin-top: var(--gap-sm);
1186
+ padding-top: var(--gap-sm);
1187
+ border-top: 1px solid var(--c-border);
1188
+ font-family: var(--f-mono);
1189
+ font-size: var(--sz-label);
1190
+ letter-spacing: 0.1em;
1191
+ color: var(--c-fg-3);
1192
+ }
1193
+ .light .pie-donut::after {
1194
+ background: var(--c-bg-light);
1195
+ }
1196
+ .light .pie-total {
1197
+ border-color: var(--c-border-light);
1198
+ color: var(--c-fg-light-3);
1199
+ }
1200
+
1201
+ /* ── PYRAMID ─────────────────────────────────────────────────────────── */
1202
+ .slide--pyramid .slide-body {
1203
+ display: flex;
1204
+ flex-direction: column;
1205
+ justify-content: center;
1206
+ gap: var(--gap-md);
1207
+ min-height: 0;
1208
+ }
1209
+ .pyramid {
1210
+ display: flex;
1211
+ flex-direction: column;
1212
+ gap: 3px;
1213
+ align-items: center;
1214
+ }
1215
+ .pyr-level {
1216
+ display: flex;
1217
+ justify-content: space-between;
1218
+ align-items: center;
1219
+ padding: 1.3vh 2.5vw;
1220
+ border-left: 3px solid var(--c-accent);
1221
+ transition: width 0.3s;
1222
+ }
1223
+ .pyr-level:nth-child(1) {
1224
+ background: color-mix(in srgb, var(--c-accent) 70%, var(--c-bg));
1225
+ width: 38%;
1226
+ }
1227
+ .pyr-level:nth-child(2) {
1228
+ background: color-mix(in srgb, var(--c-accent) 45%, var(--c-bg));
1229
+ width: 54%;
1230
+ }
1231
+ .pyr-level:nth-child(3) {
1232
+ background: color-mix(in srgb, var(--c-accent) 27%, var(--c-bg));
1233
+ width: 70%;
1234
+ }
1235
+ .pyr-level:nth-child(4) {
1236
+ background: color-mix(in srgb, var(--c-accent) 15%, var(--c-bg));
1237
+ width: 86%;
1238
+ }
1239
+ .pyr-level:nth-child(5) {
1240
+ background: color-mix(in srgb, var(--c-accent) 8%, var(--c-bg));
1241
+ width: 100%;
1242
+ }
1243
+ .pyr-name {
1244
+ font-family: var(--f-heading);
1245
+ font-size: var(--sz-h3);
1246
+ font-weight: 500;
1247
+ line-height: 1.2;
1248
+ }
1249
+ .pyr-desc {
1250
+ font-family: var(--f-body);
1251
+ font-size: var(--sz-body);
1252
+ color: var(--c-fg-2);
1253
+ text-align: right;
1254
+ max-width: 55%;
1255
+ line-height: 1.4;
1256
+ }
1257
+
1258
+ /* ── VERTICAL TIMELINE ───────────────────────────────────────────────── */
1259
+ .slide--vtimeline {
1260
+ grid-template-rows: auto auto 1fr auto;
1261
+ }
1262
+ .vt-hl {
1263
+ font-family: var(--f-heading);
1264
+ font-size: var(--sz-h2);
1265
+ font-weight: 600;
1266
+ padding-bottom: var(--gap-md);
1267
+ border-bottom: 1px solid var(--c-border);
1268
+ }
1269
+ .light .vt-hl {
1270
+ border-color: var(--c-border-light);
1271
+ }
1272
+ .vtimeline {
1273
+ display: grid;
1274
+ grid-template-columns: 8em 1px 1fr;
1275
+ gap: 0;
1276
+ min-height: 0;
1277
+ padding-top: var(--gap-md);
1278
+ }
1279
+ .vt-date {
1280
+ font-family: var(--f-mono);
1281
+ font-size: var(--sz-caption);
1282
+ letter-spacing: 0.08em;
1283
+ color: var(--c-fg-3);
1284
+ text-align: right;
1285
+ padding: 0 1.5vw 3.5vh 0;
1286
+ line-height: 1.4;
1287
+ }
1288
+ .light .vt-date {
1289
+ color: var(--c-fg-light-3);
1290
+ }
1291
+ .vt-spine {
1292
+ background: var(--c-border);
1293
+ position: relative;
1294
+ }
1295
+ .light .vt-spine {
1296
+ background: var(--c-border-light);
1297
+ }
1298
+ .vt-spine::before {
1299
+ content: "";
1300
+ position: absolute;
1301
+ top: 0.25em;
1302
+ left: -4px;
1303
+ width: 9px;
1304
+ height: 9px;
1305
+ border-radius: 50%;
1306
+ background: var(--c-accent);
1307
+ }
1308
+ .vt-content {
1309
+ padding: 0 0 3.5vh 1.5vw;
1310
+ }
1311
+ .vt-title {
1312
+ font-family: var(--f-heading);
1313
+ font-size: var(--sz-h3);
1314
+ font-weight: 500;
1315
+ margin-bottom: 0.6vh;
1316
+ line-height: 1.25;
1317
+ }
1318
+ .vt-body {
1319
+ font-family: var(--f-body);
1320
+ font-size: var(--sz-body);
1321
+ color: var(--c-fg-2);
1322
+ line-height: 1.65;
1323
+ }
1324
+ .light .vt-body {
1325
+ color: var(--c-fg-light-2);
1326
+ }
1327
+ .vt-body em {
1328
+
1329
+ color: var(--c-accent);
1330
+ font-family: var(--f-heading);
1331
+ }
1332
+
1333
+ /* ── CYCLE PROCESS ───────────────────────────────────────────────────── */
1334
+ .slide--cycle .slide-body {
1335
+ display: flex;
1336
+ flex-direction: column;
1337
+ gap: var(--gap-md);
1338
+ min-height: 0;
1339
+ }
1340
+ .cycle-grid {
1341
+ display: grid;
1342
+ grid-template-columns: 1fr 3em 1fr;
1343
+ grid-template-rows: 1fr 3em 1fr;
1344
+ gap: var(--gap-sm);
1345
+ flex: 1;
1346
+ min-height: 0;
1347
+ align-items: center;
1348
+ }
1349
+ .cycle-step {
1350
+ display: flex;
1351
+ flex-direction: column;
1352
+ gap: var(--gap-sm);
1353
+ padding: var(--gap-md);
1354
+ border-top: 2px solid var(--c-accent);
1355
+ }
1356
+ .cycle-num {
1357
+ font-family: var(--f-display);
1358
+ font-size: 3.2vw;
1359
+ font-weight: 700;
1360
+ color: var(--c-accent);
1361
+ line-height: 1;
1362
+ letter-spacing: -0.02em;
1363
+ }
1364
+ .cycle-title {
1365
+ font-family: var(--f-heading);
1366
+ font-size: var(--sz-h3);
1367
+ font-weight: 500;
1368
+ line-height: 1.2;
1369
+ }
1370
+ .cycle-desc {
1371
+ font-family: var(--f-body);
1372
+ font-size: var(--sz-body);
1373
+ color: var(--c-fg-2);
1374
+ line-height: 1.6;
1375
+ }
1376
+ .light .cycle-desc {
1377
+ color: var(--c-fg-light-2);
1378
+ }
1379
+ .cycle-arrow {
1380
+ color: var(--c-fg-3);
1381
+ font-size: 1.8vw;
1382
+ display: flex;
1383
+ align-items: center;
1384
+ justify-content: center;
1385
+ }
1386
+ .light .cycle-arrow {
1387
+ color: var(--c-fg-light-3);
1388
+ }
1389
+ .cycle-corner {
1390
+ display: flex;
1391
+ align-items: center;
1392
+ justify-content: center;
1393
+ color: var(--c-fg-3);
1394
+ font-size: 1.3vw;
1395
+ }
1396
+ </style>
1397
+ </head>
1398
+
1399
+ <body>
1400
+ <!-- NAV DOTS: generated by JS -->
1401
+ <nav id="nav-dots"></nav>
1402
+ <!-- SLIDE COUNTER: generated by JS -->
1403
+ <div id="slide-counter"></div>
1404
+
1405
+ <!-- ═══════════════════════════════════════════════════════════════════════
1406
+ DECK — all slides live here, side by side
1407
+ ═══════════════════════════════════════════════════════════════════════ -->
1408
+ <div id="deck">
1409
+ <!-- ═══════ SLIDE 1 · COVER dark ══════════════════════════════════════ -->
1410
+ <section class="slide dark slide--cover">
1411
+ <div class="cover-body">
1412
+ <!-- Session stamp: condensed mono label top-left -->
1413
+ <div class="label muted" data-anim="fade-in" data-delay="0">
1414
+ [Period] · [Audience] · [Deck Type]
1415
+ </div>
1416
+
1417
+ <!-- Gold rule reveal -->
1418
+ <div class="rule" data-anim="reveal-right" data-delay="1"></div>
1419
+
1420
+ <!-- Display title: roman + italic accent -->
1421
+ <h1 class="display" data-anim="fade-up" data-delay="2">
1422
+ [Presentation]<br />Title
1423
+ </h1>
1424
+
1425
+ <!-- Subtitle: italic serif -->
1426
+ <p
1427
+ class="lead"
1428
+ style="
1429
+
1430
+ font-family: var(--f-heading);
1431
+ max-width: 52%;
1432
+ color: var(--c-fg-2);
1433
+ "
1434
+ data-anim="fade-up"
1435
+ data-delay="3"
1436
+ >
1437
+ A short description of the deck, its purpose, and the decision it
1438
+ supports.
1439
+ </p>
1440
+
1441
+ <!-- Meta bar: name left, version right -->
1442
+ <div class="cover-meta" data-anim="fade-in" data-delay="4">
1443
+ <span class="label muted">[Author Name] · [Role]</span>
1444
+ <span class="label muted">[Version] · [Status] · [Period]</span>
1445
+ </div>
1446
+ </div>
1447
+ </section>
1448
+
1449
+ <!-- ═══════ SLIDE 2 · CHAPTER dark ════════════════════════════════════ -->
1450
+ <section class="slide dark slide--chapter">
1451
+ <!-- Chapter number: mono label -->
1452
+ <div class="chapter-num" data-anim="fade-in" data-delay="0">
1453
+ 01 · [Section]
1454
+ </div>
1455
+ <!-- Gold rule -->
1456
+ <div class="chapter-rule" data-anim="reveal-right" data-delay="1"></div>
1457
+ <!-- Chapter title -->
1458
+ <h1
1459
+ class="h1"
1460
+ style="max-width: 62%; margin-bottom: var(--gap-md)"
1461
+ data-anim="fade-up"
1462
+ data-delay="2"
1463
+ >
1464
+ Section headline with one emphasized idea
1465
+ </h1>
1466
+ <!-- Description -->
1467
+ <p
1468
+ class="lead muted"
1469
+ style="max-width: 50%"
1470
+ data-anim="fade-up"
1471
+ data-delay="3"
1472
+ >
1473
+ A brief setup sentence that explains what this section covers and why
1474
+ it matters.
1475
+ </p>
1476
+ </section>
1477
+
1478
+ <!-- ═══════ SLIDE 3 · STATEMENT dark ══════════════════════════════════ -->
1479
+ <section class="slide dark slide--statement">
1480
+ <!-- Chrome bar -->
1481
+ <div class="slide-chrome">
1482
+ <span class="label muted" data-anim="fade-in" data-delay="0"
1483
+ >[Slide Label]</span
1484
+ >
1485
+ <span class="label muted" data-anim="fade-in" data-delay="0">03</span>
1486
+ </div>
1487
+
1488
+ <div class="slide-body">
1489
+ <div class="statement-body">
1490
+ <!-- Kicker -->
1491
+ <div class="kicker" data-anim="fade-in" data-delay="1">
1492
+ [Kicker Label]
1493
+ </div>
1494
+ <!-- Gold rule -->
1495
+ <div class="rule" data-anim="reveal-right" data-delay="2"></div>
1496
+ <!-- Main statement -->
1497
+ <h1
1498
+ class="h1"
1499
+ style="max-width: 68%"
1500
+ data-anim="fade-up"
1501
+ data-delay="3"
1502
+ >
1503
+ A concise statement that frames the main argument in one
1504
+ memorable sentence.
1505
+ </h1>
1506
+ </div>
1507
+ </div>
1508
+
1509
+ <div class="slide-foot">
1510
+ <span class="label muted"></span>
1511
+ <span class="label muted">03 / 18</span>
1512
+ </div>
1513
+ </section>
1514
+
1515
+ <!-- ═══════ SLIDE 4 · SPLIT light ═════════════════════════════════════ -->
1516
+ <section class="slide light slide--split">
1517
+ <!-- Chrome bar -->
1518
+ <div class="slide-chrome">
1519
+ <span
1520
+ class="label"
1521
+ style="color: var(--c-fg-light-2)"
1522
+ data-anim="fade-in"
1523
+ data-delay="0"
1524
+ >[Category] · [Topic]</span
1525
+ >
1526
+ <span
1527
+ class="label"
1528
+ style="color: var(--c-fg-light-2)"
1529
+ data-anim="fade-in"
1530
+ data-delay="0"
1531
+ >04</span
1532
+ >
1533
+ </div>
1534
+
1535
+ <div class="slide-body">
1536
+ <!-- Left: text content -->
1537
+ <div class="split-text" data-anim="fade-up" data-delay="1">
1538
+ <div class="kicker">[Kicker Label]</div>
1539
+ <h2 class="h2">
1540
+ Main headline for a split-layout slide
1541
+ </h2>
1542
+ <p class="lead" style="color: var(--c-fg-light-2)">
1543
+ Use this paragraph for the core explanation. Keep it short,
1544
+ specific, and easy to scan.
1545
+ </p>
1546
+ <!-- Bullet list -->
1547
+ <ul class="bullet-list" style="font-size: var(--sz-body)">
1548
+ <li>First supporting point with concise context</li>
1549
+ <li>Second supporting point with concise context</li>
1550
+ <li>Third supporting point with concise context</li>
1551
+ </ul>
1552
+ </div>
1553
+
1554
+ <!-- Right: image placeholder -->
1555
+ <div
1556
+ class="split-image"
1557
+ data-anim="fade-in"
1558
+ data-delay="3"
1559
+ style="display: flex; flex-direction: column; gap: var(--gap-sm)"
1560
+ >
1561
+ <div
1562
+ style="
1563
+ flex: 1;
1564
+ background: var(--c-bg-light-alt);
1565
+ border: 1px solid var(--c-border-light);
1566
+ display: flex;
1567
+ align-items: center;
1568
+ justify-content: center;
1569
+ min-height: 28vh;
1570
+ "
1571
+ >
1572
+ <span
1573
+ style="
1574
+ font-family: var(--f-mono);
1575
+ font-size: var(--sz-label);
1576
+ color: var(--c-fg-light-3);
1577
+ letter-spacing: 0.12em;
1578
+ text-transform: uppercase;
1579
+ "
1580
+ >Image Placeholder</span
1581
+ >
1582
+ </div>
1583
+ <p class="img-caption" style="color: var(--c-fg-light-3)">
1584
+ [Caption for image]
1585
+ </p>
1586
+ </div>
1587
+ </div>
1588
+
1589
+ <div class="slide-foot">
1590
+ <span class="label" style="color: var(--c-fg-light-2)"></span>
1591
+ <span class="label" style="color: var(--c-fg-light-2)">04 / 18</span>
1592
+ </div>
1593
+ </section>
1594
+
1595
+ <!-- ═══════ SLIDE 5 · STATS dark ═══════════════════════════════════════ -->
1596
+ <section class="slide dark slide--stats">
1597
+ <!-- Chrome bar -->
1598
+ <div class="slide-chrome">
1599
+ <span class="label muted" data-anim="fade-in" data-delay="0"
1600
+ >[Category] · [Metrics]</span
1601
+ >
1602
+ <span class="label muted" data-anim="fade-in" data-delay="0">05</span>
1603
+ </div>
1604
+
1605
+ <div class="slide-body">
1606
+ <!-- Headline above stats -->
1607
+ <h2 class="h2" data-anim="fade-up" data-delay="1">
1608
+ Three metrics that summarize the current state
1609
+ </h2>
1610
+
1611
+ <!-- 3-column stat grid -->
1612
+ <div class="stats-grid" data-anim="fade-up" data-delay="2">
1613
+ <div class="stat-card">
1614
+ <div class="stat-value">[X]%</div>
1615
+ <div class="stat-label">
1616
+ Short description of the first metric and its meaning
1617
+ </div>
1618
+ <div class="stat-note">[Source] · [Date]</div>
1619
+ </div>
1620
+ <div class="stat-card">
1621
+ <div class="stat-value">[Y]×</div>
1622
+ <div class="stat-label">
1623
+ Short description of the second metric and its meaning
1624
+ </div>
1625
+ <div class="stat-note">[Method or source]</div>
1626
+ </div>
1627
+ <div class="stat-card">
1628
+ <div class="stat-value">[Z]</div>
1629
+ <div class="stat-label">
1630
+ Short description of the third metric and its meaning
1631
+ </div>
1632
+ <div class="stat-note">[Benchmark]</div>
1633
+ </div>
1634
+ </div>
1635
+ </div>
1636
+
1637
+ <div class="slide-foot">
1638
+ <span class="label muted"></span>
1639
+ <span class="label muted">05 / 18</span>
1640
+ </div>
1641
+ </section>
1642
+
1643
+ <!-- ═══════ SLIDE 6 · QUOTE dark ═══════════════════════════════════════ -->
1644
+ <section class="slide dark slide--quote">
1645
+ <!-- Opening quote mark in accent gold -->
1646
+ <div class="quote-mark" data-anim="fade-in" data-delay="0">"</div>
1647
+
1648
+ <!-- Quote body: large italic serif -->
1649
+ <p class="quote-text" data-anim="fade-up" data-delay="1">
1650
+ A short pull quote or highlighted observation can sit here.
1651
+ </p>
1652
+
1653
+ <!-- Attribution -->
1654
+ <div class="quote-attr" data-anim="fade-up" data-delay="3">
1655
+ <span class="label accent">[Source Name]</span>
1656
+ <span class="label muted">[Source Role] · [Context]</span>
1657
+ </div>
1658
+ </section>
1659
+
1660
+ <!-- ═══════ SLIDE 7 · LIST light ═══════════════════════════════════════ -->
1661
+ <section class="slide light slide--list">
1662
+ <!-- Chrome bar -->
1663
+ <div class="slide-chrome">
1664
+ <span
1665
+ class="label"
1666
+ style="color: var(--c-fg-light-2)"
1667
+ data-anim="fade-in"
1668
+ data-delay="0"
1669
+ >[Framework]</span
1670
+ >
1671
+ <span
1672
+ class="label"
1673
+ style="color: var(--c-fg-light-2)"
1674
+ data-anim="fade-in"
1675
+ data-delay="0"
1676
+ >07</span
1677
+ >
1678
+ </div>
1679
+
1680
+ <div class="slide-body">
1681
+ <!-- Left column: intro -->
1682
+ <div class="list-head" data-anim="fade-up" data-delay="1">
1683
+ <div class="kicker">[Kicker Label]</div>
1684
+ <h2 class="h2">
1685
+ Five principles that shape the recommended approach
1686
+ </h2>
1687
+ <p class="body" style="color: var(--c-fg-light-2)">
1688
+ Use this sentence to introduce the list and clarify how the
1689
+ points should be read.
1690
+ </p>
1691
+ </div>
1692
+
1693
+ <!-- Right column: bullets -->
1694
+ <ul class="bullet-list" data-anim="fade-up" data-delay="2">
1695
+ <li>
1696
+ First principle written as a complete sentence
1697
+ </li>
1698
+ <li>
1699
+ Second principle written as a complete sentence
1700
+ </li>
1701
+ <li>
1702
+ Third principle written as a complete sentence
1703
+ </li>
1704
+ <li>Fourth principle written as a complete sentence</li>
1705
+ <li>Fifth principle written as a complete sentence</li>
1706
+ </ul>
1707
+ </div>
1708
+
1709
+ <div class="slide-foot">
1710
+ <span class="label" style="color: var(--c-fg-light-2)"></span>
1711
+ <span class="label" style="color: var(--c-fg-light-2)">07 / 18</span>
1712
+ </div>
1713
+ </section>
1714
+
1715
+ <!-- ═══════ SLIDE 8 · COMPARE dark ════════════════════════════════════ -->
1716
+ <section class="slide dark slide--compare">
1717
+ <!-- Chrome bar -->
1718
+ <div class="slide-chrome">
1719
+ <span class="label muted" data-anim="fade-in" data-delay="0"
1720
+ >[Before] · [After]</span
1721
+ >
1722
+ <span class="label muted" data-anim="fade-in" data-delay="0">08</span>
1723
+ </div>
1724
+
1725
+ <div class="slide-body">
1726
+ <!-- Left panel: Before -->
1727
+ <div class="compare-panel left" data-anim="fade-up" data-delay="1">
1728
+ <div class="compare-label">[Current State]</div>
1729
+ <h3 class="h3">
1730
+ Headline describing the current state
1731
+ </h3>
1732
+ <p class="lead" style="color: var(--c-fg-2)">
1733
+ Describe the current approach, the friction it creates, and why it
1734
+ needs to change.
1735
+ </p>
1736
+ <ul class="bullet-list" style="font-size: var(--sz-body)">
1737
+ <li>Current limitation or source of friction</li>
1738
+ <li>Current limitation or source of friction</li>
1739
+ <li>Current limitation or source of friction</li>
1740
+ </ul>
1741
+ </div>
1742
+
1743
+ <!-- Right panel: After -->
1744
+ <div class="compare-panel right" data-anim="fade-up" data-delay="2">
1745
+ <div class="compare-label after">[Proposed State]</div>
1746
+ <h3 class="h3">
1747
+ Headline describing the proposed approach
1748
+ </h3>
1749
+ <p class="lead" style="color: var(--c-fg-2)">
1750
+ Describe the improved approach, the behavior it enables, and the
1751
+ outcome it supports.
1752
+ </p>
1753
+ <ul class="bullet-list" style="font-size: var(--sz-body)">
1754
+ <li>Expected improvement or capability</li>
1755
+ <li>Expected improvement or capability</li>
1756
+ <li>Expected improvement or capability</li>
1757
+ </ul>
1758
+ </div>
1759
+ </div>
1760
+
1761
+ <div class="slide-foot">
1762
+ <span class="label muted"></span>
1763
+ <span class="label muted">08 / 18</span>
1764
+ </div>
1765
+ </section>
1766
+
1767
+ <!-- ═══════ SLIDE 9 · EDITORIAL dark ══════════════════════════════════
1768
+ The signature dense layout — editorial newsletter style
1769
+ Chrome: condensed mono section marker
1770
+ Headline: roman serif + italic gold word
1771
+ Left col: date log with em-tagged italic entries
1772
+ Right col: 2x2 mixed-font stat grid (DM Sans number + Source Serif italic suffix)
1773
+ Bottom: analysis line + sources footer
1774
+ ══════════════════════════════════════════════════════════════════ -->
1775
+ <section class="slide dark slide--editorial">
1776
+ <!-- Chrome: section marker left, issue ID right -->
1777
+ <div class="slide-chrome">
1778
+ <span class="label muted" data-anim="fade-in" data-delay="0"
1779
+ >— § [Section]</span
1780
+ >
1781
+ <span class="label muted" data-anim="fade-in" data-delay="0"
1782
+ >[Deck Name] · [Period] · <span class="accent">[Year]</span></span
1783
+ >
1784
+ </div>
1785
+
1786
+ <!-- Week stamp: condensed mono with accent number -->
1787
+ <div class="editorial-stamp" data-anim="fade-in" data-delay="1">
1788
+ [Issue] <span class="accent">[N]</span> · [Review Label]
1789
+ </div>
1790
+
1791
+ <!-- Headline: roman serif + single italic gold word -->
1792
+ <h2 class="editorial-hl" data-anim="fade-up" data-delay="2">
1793
+ Editorial headline with one accented word for emphasis.
1794
+ </h2>
1795
+
1796
+ <!-- Two-column body -->
1797
+ <div class="editorial-cols" data-anim="fade-up" data-delay="3">
1798
+ <!-- Left: date log -->
1799
+ <div class="editorial-col-left">
1800
+ <div class="editorial-col-head">[Sequence]</div>
1801
+ <div class="log-list">
1802
+ <div class="log-row">
1803
+ <span class="log-dt">[Date]</span>
1804
+ <span class="log-dd"
1805
+ >First event or observation appears.
1806
+ Short implication.</span
1807
+ >
1808
+ </div>
1809
+ <div class="log-row">
1810
+ <span class="log-dt">[Date]</span>
1811
+ <span class="log-dd"
1812
+ >Second event or observation appears.
1813
+ Short implication.</span
1814
+ >
1815
+ </div>
1816
+ <div class="log-row">
1817
+ <span class="log-dt">[Date]</span>
1818
+ <span class="log-dd"
1819
+ >Third event or observation appears.
1820
+ Short implication.</span
1821
+ >
1822
+ </div>
1823
+ <div class="log-row">
1824
+ <span class="log-dt">[Date]</span>
1825
+ <span class="log-dd"
1826
+ >Fourth event adds context. A key pattern holds
1827
+ across the data.</span
1828
+ >
1829
+ </div>
1830
+ <div class="log-row">
1831
+ <span class="log-dt">[Date]</span>
1832
+ <span class="log-dd"
1833
+ >Fifth event confirms part of the hypothesis and challenges
1834
+ another assumption.</span
1835
+ >
1836
+ </div>
1837
+ <div class="log-row">
1838
+ <span class="log-dt">[Date]</span>
1839
+ <span class="log-dd"
1840
+ >Final event closes the sequence and clarifies the
1841
+ next question.</span
1842
+ >
1843
+ </div>
1844
+ </div>
1845
+ </div>
1846
+
1847
+ <!-- Right: 2x2 mixed-font stat grid -->
1848
+ <div class="editorial-col-right">
1849
+ <div class="editorial-col-head">[Key Readings]</div>
1850
+ <!-- 2x2 grid: roman grotesque number + italic serif suffix in gold -->
1851
+ <div class="stat-4">
1852
+ <div class="stat-4-cell">
1853
+ <div class="stat-4-val">[A]%</div>
1854
+ <div class="stat-4-label">Metric label · [Segment] · [Period]</div>
1855
+ </div>
1856
+ <div class="stat-4-cell">
1857
+ <div class="stat-4-val">[B]x</div>
1858
+ <div class="stat-4-label">
1859
+ Metric label vs. comparison period
1860
+ </div>
1861
+ </div>
1862
+ <div class="stat-4-cell">
1863
+ <div class="stat-4-val">[C]pt</div>
1864
+ <div class="stat-4-label">
1865
+ Metric label · [Segment]
1866
+ </div>
1867
+ </div>
1868
+ <div class="stat-4-cell">
1869
+ <div class="stat-4-val">+[D]</div>
1870
+ <div class="stat-4-label">
1871
+ Net change across selected group
1872
+ </div>
1873
+ </div>
1874
+ </div>
1875
+ </div>
1876
+ </div>
1877
+
1878
+ <!-- Analysis line below the columns -->
1879
+ <div class="editorial-analysis" data-anim="fade-in" data-delay="4">
1880
+ Use this analysis line to synthesize the sequence above. Explain what
1881
+ changed, why it matters, and what decision should follow.
1882
+ </div>
1883
+
1884
+ <!-- Footer: sources left, page right -->
1885
+ <div class="slide-foot">
1886
+ <span class="label muted"
1887
+ >Sources: [Source A] · [Source B] · [Source C] · [Source D]</span
1888
+ >
1889
+ <span class="label muted">09 / 18</span>
1890
+ </div>
1891
+ </section>
1892
+
1893
+ <!-- ═══════ SLIDE 10 · DENSE dark ══════════════════════════════════════ -->
1894
+ <section class="slide dark slide--dense">
1895
+ <!-- Chrome bar -->
1896
+ <div class="slide-chrome">
1897
+ <span class="label muted" data-anim="fade-in" data-delay="0"
1898
+ >[Deep Dive]</span
1899
+ >
1900
+ <span class="label muted" data-anim="fade-in" data-delay="0">10</span>
1901
+ </div>
1902
+
1903
+ <!-- Headline with italic gold emphasis -->
1904
+ <h2 class="dense-hl" data-anim="fade-up" data-delay="1">
1905
+ Long-form headline that frames the central tradeoff
1906
+ </h2>
1907
+
1908
+ <!-- Two-column analysis text -->
1909
+ <div class="dense-cols slide-body" data-anim="fade-up" data-delay="2">
1910
+ <!-- Left column -->
1911
+ <div class="dense-col">
1912
+ <h4>[Argument A]</h4>
1913
+ <p>
1914
+ Use this paragraph to explain the first side of the argument.
1915
+ Include one emphasized phrase when a key idea needs
1916
+ extra weight.
1917
+ </p>
1918
+ <p>
1919
+ Add a second paragraph with supporting evidence, operational
1920
+ detail, or a short example that strengthens the case.
1921
+ </p>
1922
+ <p>
1923
+ Close the column with the implication. Make the logic clear
1924
+ enough that the reader understands the recommended action.
1925
+ </p>
1926
+ </div>
1927
+
1928
+ <!-- Right column -->
1929
+ <div class="dense-col">
1930
+ <h4>[Argument B]</h4>
1931
+ <p>
1932
+ Use this paragraph to explain the second side of the argument.
1933
+ Highlight the contrasting principle with an
1934
+ emphasized phrase.
1935
+ </p>
1936
+ <p>
1937
+ Add a second paragraph with supporting detail. This column should
1938
+ feel like a deliberate counterweight to the first column.
1939
+ </p>
1940
+ <p>
1941
+ Close with the practical takeaway, linking the argument back to
1942
+ the decision the deck is meant to support.
1943
+ </p>
1944
+ </div>
1945
+ </div>
1946
+
1947
+ <div class="slide-foot">
1948
+ <span class="label muted">[Analysis Label] · [Period]</span>
1949
+ <span class="label muted">10 / 18</span>
1950
+ </div>
1951
+ </section>
1952
+
1953
+ <!-- ═══════ SLIDE 11 · STATEMENT dark (replaces broken fullbleed) ════════════════ -->
1954
+ <section class="slide dark slide--statement">
1955
+ <div class="slide-chrome">
1956
+ <span class="label muted" data-anim="fade-in" data-delay="0"
1957
+ >[Perspective]</span
1958
+ >
1959
+ <span class="label muted" data-anim="fade-in" data-delay="0">11</span>
1960
+ </div>
1961
+ <div class="slide-body">
1962
+ <div class="statement-body">
1963
+ <div class="kicker" data-anim="fade-in" data-delay="1">
1964
+ [Kicker Label]
1965
+ </div>
1966
+ <div class="rule" data-anim="reveal-right" data-delay="2"></div>
1967
+ <h1
1968
+ class="h1"
1969
+ style="max-width: 68%"
1970
+ data-anim="fade-up"
1971
+ data-delay="3"
1972
+ >
1973
+ A second statement slide can reinforce the argument with a
1974
+ sharper closing line.
1975
+ </h1>
1976
+ </div>
1977
+ </div>
1978
+ <div class="slide-foot">
1979
+ <span class="label muted"></span>
1980
+ <span class="label muted">11 / 18</span>
1981
+ </div>
1982
+ </section>
1983
+
1984
+ <!-- ═══════ SLIDE 12 · END dark ════════════════════════════════════════ -->
1985
+ <section class="slide dark slide--end">
1986
+ <!-- Kicker: organization placeholder -->
1987
+ <div class="kicker" data-anim="fade-in" data-delay="0">
1988
+ [Organization]
1989
+ </div>
1990
+
1991
+ <!-- Gold rule -->
1992
+ <div class="rule" data-anim="reveal-right" data-delay="1"></div>
1993
+
1994
+ <!-- Closing headline -->
1995
+ <h1
1996
+ class="h1"
1997
+ style="max-width: 55%"
1998
+ data-anim="fade-up"
1999
+ data-delay="2"
2000
+ >
2001
+ Closing headline with one emphasized phrase.
2002
+ </h1>
2003
+
2004
+ <!-- Contact line -->
2005
+ <p
2006
+ class="lead muted"
2007
+ style="max-width: 42%"
2008
+ data-anim="fade-up"
2009
+ data-delay="3"
2010
+ >
2011
+ [Author Name] · [email@example.com] · [website.example]
2012
+ </p>
2013
+ </section>
2014
+
2015
+ <!-- SLIDE 11 · CHART (dark — bar chart with gold accent bar) -->
2016
+ <section class="slide slide--chart dark">
2017
+ <header class="slide-chrome">
2018
+ <span class="label muted">§ [Metrics]</span>
2019
+ <span class="label muted">13</span>
2020
+ </header>
2021
+ <div class="slide-body">
2022
+ <div class="chart-header">
2023
+ <h2 class="h2" data-anim="fade-up" data-delay="0">
2024
+ Chart headline with emphasis
2025
+ </h2>
2026
+ <span class="caption muted" data-anim="fade-in" data-delay="1"
2027
+ >[Unit] · [Scope] · [Period]</span
2028
+ >
2029
+ </div>
2030
+ <div class="chart-wrapper" data-anim="fade-up" data-delay="2">
2031
+ <div class="bar-track">
2032
+ <div class="bar-col">
2033
+ <span class="bar-val">[A]</span>
2034
+ <div class="bar-fill" style="height: 9vh"></div>
2035
+ <span class="bar-x-label">[T1]</span>
2036
+ </div>
2037
+ <div class="bar-col">
2038
+ <span class="bar-val">[B]</span>
2039
+ <div class="bar-fill" style="height: 14vh"></div>
2040
+ <span class="bar-x-label">[T2]</span>
2041
+ </div>
2042
+ <div class="bar-col">
2043
+ <span class="bar-val">[C]</span>
2044
+ <div class="bar-fill" style="height: 20vh"></div>
2045
+ <span class="bar-x-label">[T3]</span>
2046
+ </div>
2047
+ <div class="bar-col">
2048
+ <span class="bar-val">[D]</span>
2049
+ <div class="bar-fill" style="height: 26vh"></div>
2050
+ <span class="bar-x-label">[T4]</span>
2051
+ </div>
2052
+ <div class="bar-col">
2053
+ <span class="bar-val hi">[E]</span>
2054
+ <div class="bar-fill accent" style="height: 30vh"></div>
2055
+ <span class="bar-x-label">[T5]</span>
2056
+ </div>
2057
+ </div>
2058
+ <div class="chart-baseline"></div>
2059
+ </div>
2060
+ <p class="chart-source" data-anim="fade-in" data-delay="3">
2061
+ Source: [Source] · [Period]
2062
+ </p>
2063
+ </div>
2064
+ <footer class="slide-foot">
2065
+ <span class="label muted">[Organization] · [Period]</span>
2066
+ <span class="label muted">13 / 18</span>
2067
+ </footer>
2068
+ </section>
2069
+
2070
+ <!-- SLIDE 12 · DIAGRAM (light cream — 4-step investment process) -->
2071
+ <section class="slide slide--diagram light">
2072
+ <header class="slide-chrome">
2073
+ <span class="label muted">Process</span>
2074
+ <span class="label muted">14</span>
2075
+ </header>
2076
+ <div class="slide-body">
2077
+ <h2 class="h2" data-anim="fade-up" data-delay="0">
2078
+ Four-step process with emphasis
2079
+ </h2>
2080
+ <div class="flow" data-anim="fade-up" data-delay="1">
2081
+ <div class="flow-step">
2082
+ <div class="flow-num">01</div>
2083
+ <div class="flow-title">Step One</div>
2084
+ <div class="flow-desc">
2085
+ Briefly describe the first step in the workflow.
2086
+ </div>
2087
+ </div>
2088
+ <div class="flow-arrow">→</div>
2089
+ <div class="flow-step">
2090
+ <div class="flow-num">02</div>
2091
+ <div class="flow-title">Step Two</div>
2092
+ <div class="flow-desc">
2093
+ Briefly describe the second step in the workflow.
2094
+ </div>
2095
+ </div>
2096
+ <div class="flow-arrow">→</div>
2097
+ <div class="flow-step">
2098
+ <div class="flow-num">03</div>
2099
+ <div class="flow-title">Step Three</div>
2100
+ <div class="flow-desc">
2101
+ Briefly describe the third step in the workflow.
2102
+ </div>
2103
+ </div>
2104
+ <div class="flow-arrow">→</div>
2105
+ <div class="flow-step">
2106
+ <div class="flow-num">04</div>
2107
+ <div class="flow-title">Step Four</div>
2108
+ <div class="flow-desc">
2109
+ Briefly describe the fourth step in the workflow.
2110
+ </div>
2111
+ </div>
2112
+ </div>
2113
+ </div>
2114
+ <footer class="slide-foot">
2115
+ <span class="label muted">[Organization] · [Period]</span>
2116
+ <span class="label muted">14 / 18</span>
2117
+ </footer>
2118
+ </section>
2119
+
2120
+ <!-- ═══════ SLIDE 13 · PIE CHART dark ════════════════════════════════ -->
2121
+ <section class="slide dark slide--pie">
2122
+ <!-- Chrome bar -->
2123
+ <div class="slide-chrome">
2124
+ <span class="label muted" data-anim="fade-in" data-delay="0"
2125
+ >[Breakdown]</span
2126
+ >
2127
+ <span class="label muted" data-anim="fade-in" data-delay="0">15</span>
2128
+ </div>
2129
+
2130
+ <div class="slide-body">
2131
+ <!-- Headline -->
2132
+ <h2 class="h2" data-anim="fade-up" data-delay="1">
2133
+ Breakdown by category
2134
+ </h2>
2135
+
2136
+ <!-- Donut + legend row -->
2137
+ <div class="pie-row" data-anim="fade-in" data-delay="2">
2138
+ <!-- Donut chart: conic-gradient, 4 sectors -->
2139
+ <div
2140
+ class="pie-donut"
2141
+ style="
2142
+ background: conic-gradient(
2143
+ var(--c-accent) 0% 35%,
2144
+ #3d5475 35% 65%,
2145
+ #526880 65% 87%,
2146
+ #2d3f55 87% 100%
2147
+ );
2148
+ "
2149
+ ></div>
2150
+
2151
+ <!-- Legend -->
2152
+ <div class="pie-legend">
2153
+ <div class="pie-item">
2154
+ <div
2155
+ class="pie-swatch"
2156
+ style="background: var(--c-accent)"
2157
+ ></div>
2158
+ <span class="pie-item-label">Category A</span>
2159
+ <span class="pie-item-val">35%</span>
2160
+ </div>
2161
+ <div class="pie-item">
2162
+ <div class="pie-swatch" style="background: #3d5475"></div>
2163
+ <span class="pie-item-label">Category B</span>
2164
+ <span class="pie-item-val">30%</span>
2165
+ </div>
2166
+ <div class="pie-item">
2167
+ <div class="pie-swatch" style="background: #526880"></div>
2168
+ <span class="pie-item-label">Category C</span>
2169
+ <span class="pie-item-val">22%</span>
2170
+ </div>
2171
+ <div class="pie-item">
2172
+ <div class="pie-swatch" style="background: #2d3f55"></div>
2173
+ <span class="pie-item-label">Category D</span>
2174
+ <span class="pie-item-val">13%</span>
2175
+ </div>
2176
+ <div class="pie-total">Total: [N] · As of [Period]</div>
2177
+ </div>
2178
+ </div>
2179
+
2180
+ <p class="chart-source" data-anim="fade-in" data-delay="3">
2181
+ Source: [Source] · [Period]
2182
+ </p>
2183
+ </div>
2184
+
2185
+ <div class="slide-foot">
2186
+ <span class="label muted">[Organization] · [Period]</span>
2187
+ <span class="label muted">15 / 18</span>
2188
+ </div>
2189
+ </section>
2190
+
2191
+ <!-- ═══════ SLIDE 14 · PYRAMID dark ══════════════════════════════════ -->
2192
+ <section class="slide dark slide--pyramid">
2193
+ <!-- Chrome bar -->
2194
+ <div class="slide-chrome">
2195
+ <span class="label muted" data-anim="fade-in" data-delay="0"
2196
+ >[Hierarchy]</span
2197
+ >
2198
+ <span class="label muted" data-anim="fade-in" data-delay="0">16</span>
2199
+ </div>
2200
+
2201
+ <div class="slide-body">
2202
+ <!-- Headline -->
2203
+ <h2 class="h2" data-anim="fade-up" data-delay="1">
2204
+ The priority hierarchy
2205
+ </h2>
2206
+
2207
+ <!-- Pyramid levels, narrowest at top -->
2208
+ <div class="pyramid" data-anim="fade-up" data-delay="2">
2209
+ <div class="pyr-level">
2210
+ <span class="pyr-name">Level One</span>
2211
+ <span class="pyr-desc"
2212
+ >Highest-order principle or decision criterion</span
2213
+ >
2214
+ </div>
2215
+ <div class="pyr-level">
2216
+ <span class="pyr-name">Level Two</span>
2217
+ <span class="pyr-desc"
2218
+ >Second-order principle or decision criterion</span
2219
+ >
2220
+ </div>
2221
+ <div class="pyr-level">
2222
+ <span class="pyr-name">Level Three</span>
2223
+ <span class="pyr-desc">Third-order principle or decision criterion</span>
2224
+ </div>
2225
+ <div class="pyr-level">
2226
+ <span class="pyr-name">Level Four</span>
2227
+ <span class="pyr-desc">Supporting layer or operating standard</span>
2228
+ </div>
2229
+ <div class="pyr-level">
2230
+ <span class="pyr-name">Level Five</span>
2231
+ <span class="pyr-desc"
2232
+ >Foundation layer or ongoing practice</span
2233
+ >
2234
+ </div>
2235
+ </div>
2236
+ </div>
2237
+
2238
+ <div class="slide-foot">
2239
+ <span class="label muted">[Organization] · [Period]</span>
2240
+ <span class="label muted">16 / 18</span>
2241
+ </div>
2242
+ </section>
2243
+
2244
+ <!-- ═══════ SLIDE 15 · VERTICAL TIMELINE dark ═════════════════════════ -->
2245
+ <section class="slide dark slide--vtimeline">
2246
+ <!-- Chrome bar -->
2247
+ <div class="slide-chrome">
2248
+ <span class="label muted" data-anim="fade-in" data-delay="0"
2249
+ >[Timeline]</span
2250
+ >
2251
+ <span class="label muted" data-anim="fade-in" data-delay="0">17</span>
2252
+ </div>
2253
+
2254
+ <!-- Section headline with italic em -->
2255
+ <h2 class="vt-hl" data-anim="fade-up" data-delay="1">
2256
+ From starting point to current state
2257
+ </h2>
2258
+
2259
+ <!-- Timeline: 3-column grid: date | spine | content -->
2260
+ <div class="vtimeline" data-anim="fade-up" data-delay="2">
2261
+ <!-- Event 1 -->
2262
+ <div class="vt-date">[Year 1]</div>
2263
+ <div class="vt-spine"></div>
2264
+ <div class="vt-content">
2265
+ <div class="vt-title">Milestone One</div>
2266
+ <p class="vt-body">
2267
+ Describe the first milestone and the outcome it produced.
2268
+ </p>
2269
+ </div>
2270
+
2271
+ <!-- Event 2 -->
2272
+ <div class="vt-date">[Year 2]</div>
2273
+ <div class="vt-spine"></div>
2274
+ <div class="vt-content">
2275
+ <div class="vt-title">Milestone Two</div>
2276
+ <p class="vt-body">
2277
+ Describe the second milestone. Use emphasis for the key
2278
+ implication.
2279
+ </p>
2280
+ </div>
2281
+
2282
+ <!-- Event 3 -->
2283
+ <div class="vt-date">[Year 3]</div>
2284
+ <div class="vt-spine"></div>
2285
+ <div class="vt-content">
2286
+ <div class="vt-title">Milestone Three</div>
2287
+ <p class="vt-body">
2288
+ Describe the third milestone and how the scope changed.
2289
+ </p>
2290
+ </div>
2291
+
2292
+ <!-- Event 4 -->
2293
+ <div class="vt-date">[Year 4]</div>
2294
+ <div class="vt-spine"></div>
2295
+ <div class="vt-content">
2296
+ <div class="vt-title">Milestone Four</div>
2297
+ <p class="vt-body">
2298
+ Describe the current milestone and the focus area it
2299
+ represents.
2300
+ </p>
2301
+ </div>
2302
+ </div>
2303
+
2304
+ <div class="slide-foot">
2305
+ <span class="label muted">[Organization] · [Period]</span>
2306
+ <span class="label muted">17 / 18</span>
2307
+ </div>
2308
+ </section>
2309
+
2310
+ <!-- ═══════ SLIDE 16 · CYCLE PROCESS dark ════════════════════════════ -->
2311
+ <section class="slide dark slide--cycle">
2312
+ <!-- Chrome bar -->
2313
+ <div class="slide-chrome">
2314
+ <span class="label muted" data-anim="fade-in" data-delay="0"
2315
+ >[Process]</span
2316
+ >
2317
+ <span class="label muted" data-anim="fade-in" data-delay="0">18</span>
2318
+ </div>
2319
+
2320
+ <div class="slide-body">
2321
+ <!-- Headline -->
2322
+ <h2 class="h2" data-anim="fade-up" data-delay="1">
2323
+ The operating cycle
2324
+ </h2>
2325
+
2326
+ <!-- 2×2 cycle grid -->
2327
+ <div class="cycle-grid" data-anim="fade-up" data-delay="2">
2328
+ <!-- Step 01: top-left -->
2329
+ <div class="cycle-step">
2330
+ <div class="cycle-num">01</div>
2331
+ <div class="cycle-title">Step One</div>
2332
+ <div class="cycle-desc">
2333
+ Describe how the cycle begins and what input starts the work.
2334
+ </div>
2335
+ </div>
2336
+
2337
+ <!-- Arrow right: col 2 row 1 -->
2338
+ <div class="cycle-arrow">→</div>
2339
+
2340
+ <!-- Step 02: top-right -->
2341
+ <div class="cycle-step">
2342
+ <div class="cycle-num">02</div>
2343
+ <div class="cycle-title">Step Two</div>
2344
+ <div class="cycle-desc">
2345
+ Describe how the input is examined, refined, or validated.
2346
+ </div>
2347
+ </div>
2348
+
2349
+ <!-- Arrow down: col 1 row 2 -->
2350
+ <div class="cycle-arrow">↓</div>
2351
+
2352
+ <!-- Empty center: col 2 row 2 -->
2353
+ <div></div>
2354
+
2355
+ <!-- Arrow down: col 3 row 2 -->
2356
+ <div class="cycle-arrow">↓</div>
2357
+
2358
+ <!-- Step 04: bottom-left -->
2359
+ <div class="cycle-step">
2360
+ <div class="cycle-num">04</div>
2361
+ <div class="cycle-title">Step Four</div>
2362
+ <div class="cycle-desc">
2363
+ Describe how the result is implemented, supported, or improved.
2364
+ </div>
2365
+ </div>
2366
+
2367
+ <!-- Arrow left: col 2 row 3 -->
2368
+ <div class="cycle-arrow">←</div>
2369
+
2370
+ <!-- Step 03: bottom-right -->
2371
+ <div class="cycle-step">
2372
+ <div class="cycle-num">03</div>
2373
+ <div class="cycle-title">Step Three</div>
2374
+ <div class="cycle-desc">
2375
+ Describe the decision point and the criteria used to move
2376
+ forward.
2377
+ </div>
2378
+ </div>
2379
+ </div>
2380
+ </div>
2381
+
2382
+ <div class="slide-foot">
2383
+ <span class="label muted">[Organization] · [Period]</span>
2384
+ <span class="label muted">18 / 18</span>
2385
+ </div>
2386
+ </section>
2387
+ </div>
2388
+ <!-- /deck -->
2389
+
2390
+ <script>
2391
+ /* ══════════════════════════════════════════════════════════════════════
2392
+ SIGNAL PRESENTATION ENGINE
2393
+ Self-contained navigation: keyboard, touch, mouse-wheel, nav-dots.
2394
+ No external dependencies.
2395
+ ══════════════════════════════════════════════════════════════════════ */
2396
+ (function () {
2397
+ "use strict";
2398
+
2399
+ /* ── State ─────────────────────────────────────────────────────────── */
2400
+ const deck = document.getElementById("deck");
2401
+ const slides = Array.from(document.querySelectorAll(".slide"));
2402
+ const dotsEl = document.getElementById("nav-dots");
2403
+ const counter = document.getElementById("slide-counter");
2404
+ const total = slides.length;
2405
+ let current = 0;
2406
+ let animating = false;
2407
+
2408
+ /* ── Bootstrap: set deck width, build nav dots ─────────────────────── */
2409
+ function init() {
2410
+ // The deck is one wide strip — width equals N full viewports
2411
+ deck.style.width = total + "00vw";
2412
+
2413
+ // Build one dot per slide
2414
+ slides.forEach(function (_, i) {
2415
+ const btn = document.createElement("button");
2416
+ btn.className = "nav-dot";
2417
+ btn.setAttribute("aria-label", "Go to slide " + (i + 1));
2418
+ btn.addEventListener("click", function () {
2419
+ goTo(i);
2420
+ });
2421
+ dotsEl.appendChild(btn);
2422
+ });
2423
+
2424
+ // Activate the first slide immediately
2425
+ goTo(0, true); // true = skip transition on load
2426
+ }
2427
+
2428
+ /* ── goTo: the single source of truth for navigation ───────────────── */
2429
+ function goTo(index, instant) {
2430
+ // Clamp to valid range
2431
+ index = Math.max(0, Math.min(total - 1, index));
2432
+ if (index === current && !instant) return;
2433
+
2434
+ // Mark animating to block rapid key/swipe spam
2435
+ animating = true;
2436
+
2437
+ // Deactivate current slide: reset animations by toggling is-active
2438
+ const prev = slides[current];
2439
+ prev.classList.remove("is-active");
2440
+ // Force a reflow so removing then re-adding is-active (on same slide)
2441
+ // actually re-triggers the keyframe animations
2442
+ void prev.offsetWidth; // eslint-disable-line no-void
2443
+
2444
+ // Translate the deck
2445
+ if (instant) {
2446
+ // Remove transition temporarily for the initial load snap
2447
+ deck.style.transition = "none";
2448
+ deck.style.transform = "translateX(-" + index + "00vw)";
2449
+ void deck.offsetWidth; // force reflow
2450
+ deck.style.transition = "";
2451
+ } else {
2452
+ deck.style.transform = "translateX(-" + index + "00vw)";
2453
+ }
2454
+
2455
+ // Activate new slide
2456
+ current = index;
2457
+ const next = slides[current];
2458
+ next.classList.add("is-active");
2459
+
2460
+ // Update nav dots
2461
+ Array.from(dotsEl.children).forEach(function (dot, i) {
2462
+ dot.classList.toggle("is-active", i === current);
2463
+ });
2464
+
2465
+ // Update counter: "3 / 12"
2466
+ counter.textContent = current + 1 + " / " + total;
2467
+
2468
+ // Unlock after transition completes
2469
+ const delay = instant
2470
+ ? 0
2471
+ : parseFloat(getComputedStyle(deck).transitionDuration) * 1000;
2472
+ setTimeout(function () {
2473
+ animating = false;
2474
+ }, delay);
2475
+ }
2476
+
2477
+ /* ── Keyboard navigation ──────────────────────────────────────────── */
2478
+ document.addEventListener("keydown", function (e) {
2479
+ if (animating) return;
2480
+ if (
2481
+ e.key === "ArrowRight" ||
2482
+ e.key === "ArrowDown" ||
2483
+ e.key === " "
2484
+ ) {
2485
+ e.preventDefault();
2486
+ goTo(current + 1);
2487
+ } else if (e.key === "ArrowLeft" || e.key === "ArrowUp") {
2488
+ e.preventDefault();
2489
+ goTo(current - 1);
2490
+ } else if (e.key === "Home") {
2491
+ e.preventDefault();
2492
+ goTo(0);
2493
+ } else if (e.key === "End") {
2494
+ e.preventDefault();
2495
+ goTo(total - 1);
2496
+ }
2497
+ });
2498
+
2499
+ /* ── Mouse-wheel navigation ───────────────────────────────────────── */
2500
+ let wheelCooldown = false;
2501
+ document.addEventListener(
2502
+ "wheel",
2503
+ function (e) {
2504
+ e.preventDefault();
2505
+ if (animating || wheelCooldown) return;
2506
+ wheelCooldown = true;
2507
+ setTimeout(function () {
2508
+ wheelCooldown = false;
2509
+ }, 900);
2510
+ if (e.deltaY > 0 || e.deltaX > 0) {
2511
+ goTo(current + 1);
2512
+ } else {
2513
+ goTo(current - 1);
2514
+ }
2515
+ },
2516
+ { passive: false },
2517
+ );
2518
+
2519
+ /* ── Touch swipe navigation ───────────────────────────────────────── */
2520
+ let touchStartX = null;
2521
+ let touchStartY = null;
2522
+
2523
+ document.addEventListener(
2524
+ "touchstart",
2525
+ function (e) {
2526
+ touchStartX = e.touches[0].clientX;
2527
+ touchStartY = e.touches[0].clientY;
2528
+ },
2529
+ { passive: true },
2530
+ );
2531
+
2532
+ document.addEventListener(
2533
+ "touchend",
2534
+ function (e) {
2535
+ if (touchStartX === null) return;
2536
+ const dx = touchStartX - e.changedTouches[0].clientX;
2537
+ const dy = touchStartY - e.changedTouches[0].clientY;
2538
+ // Only respond if horizontal swipe is dominant
2539
+ if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {
2540
+ if (animating) return;
2541
+ if (dx > 0) {
2542
+ goTo(current + 1); // swipe left: next
2543
+ } else {
2544
+ goTo(current - 1); // swipe right: prev
2545
+ }
2546
+ }
2547
+ touchStartX = null;
2548
+ touchStartY = null;
2549
+ },
2550
+ { passive: true },
2551
+ );
2552
+
2553
+ /* ── Boot ─────────────────────────────────────────────────────────── */
2554
+ init();
2555
+ })();
2556
+ </script>
2557
+ </body>
2558
+ </html>