@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,2144 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Broadside Presentation</title>
7
+
8
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
+ <!-- Broadside fonts: Barlow (the workhorse grotesque), IBM Plex Mono (chrome),
11
+ Noto Sans SC (CJK fallback for all roles) -->
12
+ <link
13
+ href="https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;700;800;900&family=IBM+Plex+Mono:wght@300;400;500&family=Noto+Sans+SC:wght@400;500;700;900&display=swap"
14
+ rel="stylesheet"
15
+ />
16
+
17
+ <style>
18
+ /* ╔══════════════════════════════════════════════════════════════════════╗
19
+ ║ ZONE A · TOKENS ║
20
+ ║ ║
21
+ ║ This is the ONLY block you replace to change the visual style. ║
22
+ ║ Every color, font, and size in this file reads from these vars. ║
23
+ ║ Never write raw hex values, font names, or px sizes outside here. ║
24
+ ╚══════════════════════════════════════════════════════════════════════╝ */
25
+ :root {
26
+ /* ── Palette ──────────────────────────────────────────────────────── */
27
+ --c-bg: #111111; /* near-black — the default slide background */
28
+ --c-bg-alt: #1a1a18; /* secondary surface on dark slides */
29
+
30
+ /* Broadside has NO light slides. These vars are overridden to dark
31
+ so any accidental .light class still renders dark. */
32
+ --c-bg-light: #111111;
33
+ --c-bg-light-alt: #1a1a18;
34
+
35
+ /* The signature: orange is not an accent here — it is the ENVIRONMENT.
36
+ Cover and chapter slides use this as their full background fill. */
37
+ --c-bg-orange: #e85d26;
38
+
39
+ --c-fg: #f0ece5; /* primary text on dark slides */
40
+ --c-fg-2: #888880; /* secondary / muted text on dark */
41
+ --c-fg-3: #505048; /* tertiary / hint text on dark */
42
+
43
+ /* Text colours for orange slides — ink on fire */
44
+ --c-fg-light: #111111; /* primary text on orange */
45
+ --c-fg-light-2: #2a1810; /* muted text on orange */
46
+ --c-fg-light-3: rgba(
47
+ 17,
48
+ 17,
49
+ 17,
50
+ 0.55
51
+ ); /* hint text on orange */
52
+
53
+ --c-accent: #e85d26; /* orange = accent everywhere on dark slides */
54
+ --c-border: #282826; /* divider lines on dark slides */
55
+ --c-border-light: #282826; /* same dark border even on "light" (overridden)*/
56
+
57
+ /* ── Typography ──────────────────────────────────────────────────── */
58
+ /* Barlow: the defining typeface. Condensed grotesque. Always heavy.
59
+ Used at max weight — 900 for display, 800 for h1, 700 for h2.
60
+ Noto Sans SC provides full CJK coverage at matching weights. */
61
+ --f-display: "Barlow", "Noto Sans SC", sans-serif;
62
+ --f-heading: "Barlow", "Noto Sans SC", sans-serif;
63
+ --f-body: "Barlow", "Noto Sans SC", system-ui, sans-serif;
64
+ /* Mono: IBM Plex Mono for chrome labels, metadata, slide numbers */
65
+ --f-mono: "IBM Plex Mono", monospace;
66
+
67
+ /* ── Type Scale ───────────────────────────────────────────────────── */
68
+ /* Broadside's defining trait: TYPE IS MASSIVE. Display is 13vw —
69
+ on a 1440px screen that is ~187px. Words become graphic elements. */
70
+ --sz-display: 13vw; /* the whole point — nearly abstract at full size */
71
+ --sz-h1: 7.5vw; /* chapter title — still enormous */
72
+ --sz-h2: 4.5vw; /* slide headline */
73
+ --sz-h3: 2.8vw; /* sub-headline */
74
+ --sz-lead: 1.6vw; /* lead paragraph */
75
+ --sz-body: 1.2vw; /* body text */
76
+ --sz-caption: 0.9vw; /* captions, footnotes */
77
+ --sz-label: 0.72vw; /* chrome labels, slide numbers, metadata */
78
+
79
+ /* ── Spacing ─────────────────────────────────────────────────────── */
80
+ --pad-x: 5.5vw; /* tighter than skeleton — type fills the space */
81
+ --pad-y: 5.5vh;
82
+ --gap-lg: 3.5vh;
83
+ --gap-md: 2vh;
84
+ --gap-sm: 1vh;
85
+
86
+ /* ── Motion ──────────────────────────────────────────────────────── */
87
+ --ease-slide: cubic-bezier(0.77, 0, 0.175, 1);
88
+ --dur-slide: 0.8s;
89
+ --ease-enter: cubic-bezier(0.16, 1, 0.3, 1);
90
+ --dur-enter: 0.5s;
91
+ }
92
+
93
+ /* ╔══════════════════════════════════════════════════════════════════════╗
94
+ ║ ZONE B · ENGINE — DO NOT MODIFY ║
95
+ ║ ║
96
+ ║ Layout engine, transitions, animation system, navigation. ║
97
+ ║ Touching this breaks the mechanics. ║
98
+ ╚══════════════════════════════════════════════════════════════════════╝ */
99
+
100
+ *,
101
+ *::before,
102
+ *::after {
103
+ box-sizing: border-box;
104
+ margin: 0;
105
+ padding: 0;
106
+ }
107
+ html,
108
+ body {
109
+ width: 100%;
110
+ height: 100%;
111
+ overflow: hidden;
112
+ background: var(--c-bg);
113
+ -webkit-font-smoothing: antialiased;
114
+ }
115
+
116
+ /* Deck container — all slides sit side by side */
117
+ #deck {
118
+ display: flex;
119
+ height: 100vh;
120
+ /* Width = N * 100vw, set dynamically by JS */
121
+ transition: transform var(--dur-slide) var(--ease-slide);
122
+ will-change: transform;
123
+ }
124
+
125
+ /* Slide base — each slide is one full viewport */
126
+ .slide {
127
+ flex: 0 0 100vw;
128
+ width: 100vw;
129
+ height: 100vh;
130
+ position: relative;
131
+ padding: var(--pad-y) var(--pad-x);
132
+ display: grid;
133
+ grid-template-rows: auto 1fr auto;
134
+ overflow: hidden;
135
+ }
136
+ /* Prevent grid children from overflowing */
137
+ .slide-body {
138
+ min-height: 0;
139
+ }
140
+
141
+ /* Slide themes */
142
+ .slide.dark {
143
+ background: var(--c-bg);
144
+ color: var(--c-fg);
145
+ }
146
+ /* Broadside: .light is overridden to dark — there are no cream/white slides */
147
+ .slide.light {
148
+ background: var(--c-bg-light);
149
+ color: var(--c-fg);
150
+ }
151
+ /* The orange theme — the signature Broadside treatment */
152
+ .slide.orange {
153
+ background: var(--c-bg-orange);
154
+ color: var(--c-fg-light);
155
+ }
156
+
157
+ /* ── Animation system ──────────────────────────────────────────────── */
158
+ /* All data-anim elements start invisible.
159
+ They animate when their parent slide receives .is-active.
160
+ JS resets animations before adding .is-active so re-visiting a slide re-plays them. */
161
+
162
+ [data-anim] {
163
+ opacity: 0;
164
+ }
165
+
166
+ .slide.is-active [data-anim] {
167
+ animation-duration: var(--dur-enter);
168
+ animation-timing-function: var(--ease-enter);
169
+ animation-fill-mode: forwards;
170
+ }
171
+ .slide.is-active [data-anim="fade-up"] {
172
+ animation-name: kFadeUp;
173
+ }
174
+ .slide.is-active [data-anim="fade-in"] {
175
+ animation-name: kFadeIn;
176
+ }
177
+ .slide.is-active [data-anim="reveal-right"] {
178
+ animation-name: kRevealRight;
179
+ }
180
+ .slide.is-active [data-anim="reveal-left"] {
181
+ animation-name: kRevealLeft;
182
+ }
183
+ .slide.is-active [data-anim="scale-in"] {
184
+ animation-name: kScaleIn;
185
+ }
186
+
187
+ /* Stagger delays — add data-delay="N" to offset each element */
188
+ [data-delay="0"] {
189
+ animation-delay: 0s;
190
+ }
191
+ [data-delay="1"] {
192
+ animation-delay: 0.08s;
193
+ }
194
+ [data-delay="2"] {
195
+ animation-delay: 0.18s;
196
+ }
197
+ [data-delay="3"] {
198
+ animation-delay: 0.3s;
199
+ }
200
+ [data-delay="4"] {
201
+ animation-delay: 0.44s;
202
+ }
203
+ [data-delay="5"] {
204
+ animation-delay: 0.6s;
205
+ }
206
+ [data-delay="6"] {
207
+ animation-delay: 0.78s;
208
+ }
209
+
210
+ @keyframes kFadeUp {
211
+ from {
212
+ opacity: 0;
213
+ transform: translateY(28px);
214
+ }
215
+ to {
216
+ opacity: 1;
217
+ transform: none;
218
+ }
219
+ }
220
+ @keyframes kFadeIn {
221
+ from {
222
+ opacity: 0;
223
+ }
224
+ to {
225
+ opacity: 1;
226
+ }
227
+ }
228
+ @keyframes kRevealRight {
229
+ from {
230
+ clip-path: inset(0 100% 0 0);
231
+ opacity: 1;
232
+ }
233
+ to {
234
+ clip-path: inset(0 0% 0 0);
235
+ opacity: 1;
236
+ }
237
+ }
238
+ @keyframes kRevealLeft {
239
+ from {
240
+ clip-path: inset(0 0 0 100%);
241
+ opacity: 1;
242
+ }
243
+ to {
244
+ clip-path: inset(0 0 0 0%);
245
+ opacity: 1;
246
+ }
247
+ }
248
+ @keyframes kScaleIn {
249
+ from {
250
+ opacity: 0;
251
+ transform: scale(0.94);
252
+ }
253
+ to {
254
+ opacity: 1;
255
+ transform: none;
256
+ }
257
+ }
258
+
259
+ /* ── Navigation ───────────────────────────────────────────────────── */
260
+ #nav-dots {
261
+ position: fixed;
262
+ bottom: 24px;
263
+ left: 50%;
264
+ transform: translateX(-50%);
265
+ display: flex;
266
+ gap: 7px;
267
+ z-index: 100;
268
+ }
269
+ .nav-dot {
270
+ width: 5px;
271
+ height: 5px;
272
+ border-radius: 50%;
273
+ border: none;
274
+ background: rgba(255, 255, 255, 0.22);
275
+ cursor: pointer;
276
+ transition:
277
+ background 0.3s,
278
+ transform 0.3s;
279
+ padding: 0;
280
+ }
281
+ .nav-dot.is-active {
282
+ background: rgba(255, 255, 255, 0.8);
283
+ transform: scale(1.4);
284
+ }
285
+
286
+ #slide-counter {
287
+ position: fixed;
288
+ bottom: 20px;
289
+ right: 28px;
290
+ font-family: var(--f-mono);
291
+ font-size: 10px;
292
+ letter-spacing: 0.12em;
293
+ color: rgba(255, 255, 255, 0.25);
294
+ z-index: 100;
295
+ user-select: none;
296
+ }
297
+
298
+ /* ╔══════════════════════════════════════════════════════════════════════╗
299
+ ║ ZONE C · TYPOGRAPHY ║
300
+ ║ ║
301
+ ║ Use only these classes for text. Never set font-family, font-size, ║
302
+ ║ or color inline. Exception: overriding size via ║
303
+ ║ style="--sz-h2: 2.5vw" is OK — it stays within the token system. ║
304
+ ╚══════════════════════════════════════════════════════════════════════╝ */
305
+
306
+ /* Base typographic classes — all font families read from tokens */
307
+ .display {
308
+ font-family: var(--f-display);
309
+ font-size: var(--sz-display);
310
+ /* Broadside: maximum weight. Lowercase is the aesthetic — NOT uppercase. */
311
+ font-weight: 900;
312
+ line-height: 0.88;
313
+ letter-spacing: -0.04em;
314
+ }
315
+ .h1 {
316
+ font-family: var(--f-heading);
317
+ font-size: var(--sz-h1);
318
+ font-weight: 800;
319
+ line-height: 0.9;
320
+ letter-spacing: -0.03em;
321
+ }
322
+ .h2 {
323
+ font-family: var(--f-heading);
324
+ font-size: var(--sz-h2);
325
+ font-weight: 700;
326
+ line-height: 1.1;
327
+ letter-spacing: -0.02em;
328
+ }
329
+ .h3 {
330
+ font-family: var(--f-heading);
331
+ font-size: var(--sz-h3);
332
+ font-weight: 600;
333
+ line-height: 1.2;
334
+ }
335
+ .lead {
336
+ font-family: var(--f-body);
337
+ font-size: var(--sz-lead);
338
+ font-weight: 400;
339
+ line-height: 1.5;
340
+ }
341
+ .body {
342
+ font-family: var(--f-body);
343
+ font-size: var(--sz-body);
344
+ font-weight: 400;
345
+ line-height: 1.6;
346
+ }
347
+ .caption {
348
+ font-family: var(--f-body);
349
+ font-size: var(--sz-caption);
350
+ font-weight: 400;
351
+ line-height: 1.5;
352
+ }
353
+ .label {
354
+ font-family: var(--f-mono);
355
+ font-size: var(--sz-label);
356
+ font-weight: 500;
357
+ letter-spacing: 0.14em;
358
+ text-transform: uppercase;
359
+ }
360
+
361
+ /* Contextual color helpers — reads from active slide theme */
362
+ .dark .muted {
363
+ color: var(--c-fg-2);
364
+ }
365
+ .light .muted {
366
+ color: var(--c-fg-2);
367
+ } /* light = dark in Broadside */
368
+ /* On orange slides: muted text is dark ink at reduced opacity */
369
+ .orange .muted {
370
+ color: var(--c-fg-light-2);
371
+ }
372
+
373
+ /* The orange accent colour — used for emphasis on dark slides */
374
+ .accent {
375
+ color: var(--c-accent);
376
+ }
377
+
378
+ /* ── Orange slide text overrides ────────────────────────────────────── */
379
+ /* On orange slides, display/heading text is near-black (ink on fire).
380
+ This is the protest-poster aesthetic: dark ink on vivid ground. */
381
+ .orange .display,
382
+ .orange .h1,
383
+ .orange .h2,
384
+ .orange .h3 {
385
+ color: #111111;
386
+ }
387
+ .orange .lead,
388
+ .orange .body {
389
+ color: rgba(17, 17, 17, 0.75);
390
+ }
391
+ .orange .label {
392
+ color: rgba(17, 17, 17, 0.55);
393
+ }
394
+ /* On orange, .accent still means "the contrast pop" — use sparingly */
395
+ .orange .accent {
396
+ color: #111111;
397
+ }
398
+
399
+ /* ╔══════════════════════════════════════════════════════════════════════╗
400
+ ║ ZONE D · CHROME ║
401
+ ║ ║
402
+ ║ Header + footer present on slides that show them. ║
403
+ ║ Cover, chapter, quote, and end slides suppress both. ║
404
+ ╚══════════════════════════════════════════════════════════════════════╝ */
405
+
406
+ .slide-chrome,
407
+ .slide-foot {
408
+ display: flex;
409
+ justify-content: space-between;
410
+ align-items: center;
411
+ }
412
+ .slide-chrome {
413
+ padding-bottom: var(--gap-sm);
414
+ border-bottom: 1px solid var(--c-border);
415
+ margin-bottom: var(--gap-md);
416
+ }
417
+ .slide-foot {
418
+ padding-top: var(--gap-sm);
419
+ border-top: 1px solid var(--c-border);
420
+ margin-top: var(--gap-md);
421
+ }
422
+
423
+ /* On orange slides, chrome borders use dark ink at low opacity */
424
+ .orange .slide-chrome,
425
+ .orange .slide-foot {
426
+ border-color: rgba(17, 17, 17, 0.2);
427
+ }
428
+
429
+ /* Slides that suppress chrome/foot entirely */
430
+ .slide--cover .slide-chrome,
431
+ .slide--cover .slide-foot,
432
+ .slide--chapter .slide-chrome,
433
+ .slide--chapter .slide-foot,
434
+ .slide--quote .slide-chrome,
435
+ .slide--quote .slide-foot,
436
+ .slide--end .slide-chrome,
437
+ .slide--end .slide-foot {
438
+ display: none;
439
+ }
440
+
441
+ /* ╔══════════════════════════════════════════════════════════════════════╗
442
+ ║ ZONE E · LAYOUT PATTERNS ║
443
+ ║ ║
444
+ ║ 9 slide types. Use the class names below — do not invent new ones. ║
445
+ ║ Broadside note: .slide--cover and .slide--chapter use .orange ║
446
+ ║ (not .dark or .light). Dark slides use .dark. ║
447
+ ╚══════════════════════════════════════════════════════════════════════╝ */
448
+
449
+ /* ── 1. COVER ─────────────────────────────────────────────────────── */
450
+ /* Title slide. Always orange in Broadside. The broadside-num sits
451
+ top-left like a catalogue number. Title fills most of the slide. */
452
+ .slide--cover {
453
+ display: flex;
454
+ flex-direction: column;
455
+ justify-content: flex-end;
456
+ }
457
+ .cover-body {
458
+ display: flex;
459
+ flex-direction: column;
460
+ flex: 1;
461
+ justify-content: flex-end;
462
+ gap: var(--gap-md);
463
+ }
464
+ .cover-meta {
465
+ display: flex;
466
+ justify-content: space-between;
467
+ align-items: flex-end;
468
+ margin-top: var(--gap-lg);
469
+ padding-top: var(--gap-sm);
470
+ border-top: 1px solid rgba(17, 17, 17, 0.2);
471
+ }
472
+
473
+ /* ── 2. CHAPTER ───────────────────────────────────────────────────── */
474
+ /* Section divider. Always orange in Broadside.
475
+ Big weight-900 title, no chrome, maximum negative space. */
476
+ .slide--chapter {
477
+ display: flex;
478
+ flex-direction: column;
479
+ justify-content: center;
480
+ gap: 0;
481
+ }
482
+ .chapter-num {
483
+ font-family: var(--f-mono);
484
+ font-size: var(--sz-label);
485
+ letter-spacing: 0.2em;
486
+ text-transform: uppercase;
487
+ /* On orange: dark ink; on dark: orange accent */
488
+ color: rgba(17, 17, 17, 0.55);
489
+ margin-bottom: var(--gap-md);
490
+ }
491
+ /* On dark chapter slides the number gets orange accent */
492
+ .dark .chapter-num {
493
+ color: var(--c-accent);
494
+ }
495
+ .chapter-rule {
496
+ width: 36px;
497
+ height: 2px;
498
+ background: #111111; /* dark rule on orange */
499
+ margin-bottom: var(--gap-md);
500
+ }
501
+ .dark .chapter-rule {
502
+ background: var(--c-accent);
503
+ }
504
+
505
+ /* ── 3. STATEMENT ─────────────────────────────────────────────────── */
506
+ /* Single bold claim. No image. The dark counterpart to the orange covers.
507
+ 4-8 words max. Let the type breathe. */
508
+ .slide--statement .statement-body {
509
+ display: flex;
510
+ flex-direction: column;
511
+ justify-content: center;
512
+ gap: var(--gap-md);
513
+ }
514
+
515
+ /* ── 4. SPLIT ─────────────────────────────────────────────────────── */
516
+ /* Left: text content. Right: image. Dark background.
517
+ Orange kicker/rule above the headline. */
518
+ .slide--split .slide-body {
519
+ display: grid;
520
+ grid-template-columns: 1fr 1fr;
521
+ gap: calc(var(--pad-x) * 0.7);
522
+ align-items: center;
523
+ }
524
+ .split-text {
525
+ display: flex;
526
+ flex-direction: column;
527
+ gap: var(--gap-md);
528
+ }
529
+ .split-image {
530
+ display: flex;
531
+ flex-direction: column;
532
+ justify-content: flex-start;
533
+ gap: var(--gap-sm);
534
+ }
535
+ /* Always explicit height in vh to prevent overflow on different screens */
536
+ .split-image img {
537
+ width: 100%;
538
+ height: 55vh;
539
+ object-fit: cover;
540
+ display: block;
541
+ }
542
+ /* Placeholder shown when no real image is wired up. Same footprint
543
+ as a real <img> so the surrounding layout stays unchanged. */
544
+ .img-placeholder {
545
+ width: 100%;
546
+ height: 55vh;
547
+ display: flex;
548
+ align-items: center;
549
+ justify-content: center;
550
+ background: rgba(255, 255, 255, 0.04);
551
+ border: 1px dashed var(--c-border);
552
+ font-family: var(--font-mono, "IBM Plex Mono", monospace);
553
+ font-size: 0.85rem;
554
+ font-weight: 500;
555
+ color: var(--c-fg-2, var(--c-fg));
556
+ letter-spacing: 0.12em;
557
+ text-transform: uppercase;
558
+ }
559
+
560
+ /* ── 5. STATS ─────────────────────────────────────────────────────── */
561
+ /* 3 or 4 large data cards. Add .cols-4 to .stats-grid for 4 columns. */
562
+ .slide--stats .slide-body {
563
+ display: flex;
564
+ flex-direction: column;
565
+ justify-content: center;
566
+ gap: var(--gap-lg);
567
+ }
568
+ .stats-grid {
569
+ display: grid;
570
+ grid-template-columns: repeat(3, 1fr);
571
+ gap: 0;
572
+ }
573
+ .stats-grid.cols-4 {
574
+ grid-template-columns: repeat(4, 1fr);
575
+ }
576
+ .stat-card {
577
+ display: flex;
578
+ flex-direction: column;
579
+ gap: var(--gap-sm);
580
+ padding: var(--gap-md) var(--gap-md) var(--gap-md) 0;
581
+ border-top: 1px solid var(--c-border);
582
+ }
583
+ /* The big number — orange on dark slides */
584
+ .stat-value {
585
+ font-family: var(--f-display);
586
+ font-size: 5.5vw;
587
+ font-weight: 900;
588
+ line-height: 1;
589
+ color: var(--c-accent);
590
+ letter-spacing: -0.04em;
591
+ }
592
+ .stat-label {
593
+ font-family: var(--f-body);
594
+ font-size: var(--sz-body);
595
+ line-height: 1.5;
596
+ }
597
+ .stat-note {
598
+ font-family: var(--f-mono);
599
+ font-size: var(--sz-caption);
600
+ letter-spacing: 0.05em;
601
+ color: var(--c-fg-3);
602
+ }
603
+
604
+ /* ── 6. QUOTE ─────────────────────────────────────────────────────── */
605
+ /* Full-slide pull quote. Dark background. Orange opening mark. */
606
+ .slide--quote {
607
+ display: flex;
608
+ flex-direction: column;
609
+ justify-content: center;
610
+ padding: calc(var(--pad-y) * 1.2) calc(var(--pad-x) * 1.1);
611
+ }
612
+ .quote-mark {
613
+ font-family: var(--f-display);
614
+ font-size: 10vw;
615
+ line-height: 0.6;
616
+ color: var(--c-accent);
617
+ margin-bottom: var(--gap-md);
618
+ font-weight: 900;
619
+ }
620
+ .quote-text {
621
+ font-family: var(--f-display);
622
+ font-size: 3.8vw;
623
+ font-weight: 700;
624
+ line-height: 1.15;
625
+ letter-spacing: -0.02em;
626
+ max-width: 78%;
627
+ margin-bottom: var(--gap-lg);
628
+ }
629
+ .quote-attr {
630
+ display: flex;
631
+ flex-direction: column;
632
+ gap: 0.4vh;
633
+ }
634
+
635
+ /* ── 7. LIST ──────────────────────────────────────────────────────── */
636
+ /* Headline left, bullets right. Max 3 bullets in Broadside — this style
637
+ prizes density of impact over density of information. */
638
+ .slide--list .slide-body {
639
+ display: grid;
640
+ grid-template-columns: 2fr 3fr;
641
+ gap: calc(var(--pad-x) * 0.8);
642
+ align-items: center;
643
+ }
644
+ .list-head {
645
+ display: flex;
646
+ flex-direction: column;
647
+ gap: var(--gap-md);
648
+ padding-top: var(--gap-sm);
649
+ }
650
+ .bullet-list {
651
+ list-style: none;
652
+ display: flex;
653
+ flex-direction: column;
654
+ gap: var(--gap-md);
655
+ }
656
+ .bullet-list li {
657
+ display: grid;
658
+ grid-template-columns: 1.2em 1fr;
659
+ gap: 0.5em;
660
+ font-family: var(--f-body);
661
+ font-size: var(--sz-lead);
662
+ font-weight: 500;
663
+ line-height: 1.4;
664
+ }
665
+ /* Orange dash marker */
666
+ .bullet-list li::before {
667
+ content: "/";
668
+ color: var(--c-accent);
669
+ font-family: var(--f-mono);
670
+ font-weight: 700;
671
+ }
672
+ .dark .bullet-list li {
673
+ color: var(--c-fg);
674
+ }
675
+ .light .bullet-list li {
676
+ color: var(--c-fg);
677
+ }
678
+
679
+ /* ── 8. COMPARE ───────────────────────────────────────────────────── */
680
+ /* Side-by-side before/after or A vs B. Orange "after" label. */
681
+ .slide--compare .slide-body {
682
+ display: grid;
683
+ grid-template-columns: 1fr 1fr;
684
+ height: 100%;
685
+ }
686
+ .compare-panel {
687
+ display: flex;
688
+ flex-direction: column;
689
+ gap: var(--gap-md);
690
+ padding: var(--gap-md) 0;
691
+ }
692
+ .compare-panel.left {
693
+ padding-right: calc(var(--pad-x) * 0.55);
694
+ border-right: 1px solid var(--c-border);
695
+ }
696
+ .compare-panel.right {
697
+ padding-left: calc(var(--pad-x) * 0.55);
698
+ }
699
+ .compare-label {
700
+ font-family: var(--f-mono);
701
+ font-size: var(--sz-label);
702
+ letter-spacing: 0.16em;
703
+ text-transform: uppercase;
704
+ padding-bottom: var(--gap-sm);
705
+ border-bottom: 1px solid var(--c-border);
706
+ color: var(--c-fg-2);
707
+ }
708
+ /* The "after" panel uses orange — the payoff */
709
+ .compare-label.after {
710
+ color: var(--c-accent);
711
+ border-color: var(--c-accent);
712
+ }
713
+
714
+ /* ── 9. END ───────────────────────────────────────────────────────── */
715
+ /* Closing slide. Dark background. Massive closing headline. No chrome. */
716
+ .slide--end {
717
+ display: flex;
718
+ flex-direction: column;
719
+ justify-content: center;
720
+ gap: var(--gap-md);
721
+ }
722
+
723
+ /* ╔══════════════════════════════════════════════════════════════════════╗
724
+ ║ ZONE F · COMPONENTS ║
725
+ ║ ║
726
+ ║ Reusable pieces used across multiple layouts. ║
727
+ ╚══════════════════════════════════════════════════════════════════════╝ */
728
+
729
+ /* Accent rule — orange on dark, dark-ink on orange */
730
+ .rule {
731
+ width: 36px;
732
+ height: 2px;
733
+ background: var(--c-accent);
734
+ }
735
+ .orange .rule {
736
+ background: #111111;
737
+ }
738
+ .rule.full {
739
+ width: 100%;
740
+ background: var(--c-border);
741
+ }
742
+ .orange .rule.full {
743
+ background: rgba(17, 17, 17, 0.2);
744
+ }
745
+
746
+ /* Eyebrow / kicker label — orange on dark, dark-ink on orange */
747
+ .kicker {
748
+ font-family: var(--f-mono);
749
+ font-size: var(--sz-label);
750
+ letter-spacing: 0.14em;
751
+ text-transform: uppercase;
752
+ color: var(--c-accent);
753
+ }
754
+ .orange .kicker {
755
+ color: rgba(17, 17, 17, 0.55);
756
+ }
757
+
758
+ /* Bordered tag */
759
+ .tag {
760
+ display: inline-block;
761
+ font-family: var(--f-mono);
762
+ font-size: var(--sz-label);
763
+ letter-spacing: 0.14em;
764
+ text-transform: uppercase;
765
+ color: var(--c-accent);
766
+ border: 1px solid var(--c-accent);
767
+ padding: 0.3em 0.8em;
768
+ line-height: 1;
769
+ }
770
+ .orange .tag {
771
+ color: #111111;
772
+ border-color: rgba(17, 17, 17, 0.4);
773
+ }
774
+
775
+ /* Image caption */
776
+ .img-caption {
777
+ font-family: var(--f-mono);
778
+ font-size: var(--sz-caption);
779
+ letter-spacing: 0.04em;
780
+ opacity: 0.5;
781
+ margin-top: 0.8vh;
782
+ }
783
+
784
+ /* ── Broadside-specific: slide number ─────────────────────────────── */
785
+ /* The large catalogue number in the top-left corner of orange slides.
786
+ Inspired by SPACE10 deck: "01" in small mono, top-left, low opacity. */
787
+ .broadside-num {
788
+ font-family: var(--f-mono);
789
+ font-size: 1.1vw;
790
+ font-weight: 500;
791
+ letter-spacing: 0.1em;
792
+ color: rgba(17, 17, 17, 0.45); /* dark ink on orange */
793
+ }
794
+ /* On dark slides the number uses muted fg */
795
+ .dark .broadside-num {
796
+ color: var(--c-fg-3);
797
+ }
798
+
799
+ /* Corner label utility — used for section labels at slide edges */
800
+ .corner-label {
801
+ font-family: var(--f-mono);
802
+ font-size: var(--sz-label);
803
+ letter-spacing: 0.1em;
804
+ text-transform: uppercase;
805
+ color: rgba(17, 17, 17, 0.4);
806
+ }
807
+ .dark .corner-label {
808
+ color: var(--c-fg-3);
809
+ }
810
+
811
+ /* Orange slide cover: a thin top strip showing the slide number + section name */
812
+ .broadside-top-chrome {
813
+ display: flex;
814
+ justify-content: space-between;
815
+ align-items: center;
816
+ margin-bottom: auto;
817
+ padding-bottom: 0;
818
+ }
819
+
820
+ /* ── FADELIST (SPACE10 Before/During/After) ────────────────────────── */
821
+ .slide--fadelist {
822
+ display: flex;
823
+ flex-direction: column;
824
+ justify-content: space-between;
825
+ }
826
+ .fadelist-top {
827
+ display: flex;
828
+ justify-content: space-between;
829
+ align-items: flex-start;
830
+ }
831
+ .fadelist-items {
832
+ display: flex;
833
+ flex-direction: column;
834
+ align-items: flex-end;
835
+ gap: 0;
836
+ line-height: 0.92;
837
+ }
838
+ .fadelist-item {
839
+ font-family: var(--f-display);
840
+ font-size: 7.5vw;
841
+ font-weight: 900;
842
+ letter-spacing: -0.03em;
843
+ color: #111111;
844
+ line-height: 1;
845
+ }
846
+ .fadelist-item:nth-child(2) {
847
+ opacity: 0.5;
848
+ }
849
+ .fadelist-item:nth-child(3) {
850
+ opacity: 0.22;
851
+ }
852
+ .fadelist-title {
853
+ font-family: var(--f-display);
854
+ font-size: 10.5vw;
855
+ font-weight: 900;
856
+ line-height: 0.9;
857
+ letter-spacing: -0.04em;
858
+ color: #111111;
859
+ align-self: flex-end;
860
+ }
861
+
862
+ /* Stats on orange: dark ink instead of cream */
863
+ .orange .stat-value {
864
+ color: #111111;
865
+ }
866
+ .orange .stat-label {
867
+ color: rgba(17, 17, 17, 0.65);
868
+ }
869
+ .orange .stat-note {
870
+ color: rgba(17, 17, 17, 0.4);
871
+ }
872
+ .orange .stat-card {
873
+ border-top-color: rgba(17, 17, 17, 0.22);
874
+ }
875
+
876
+ /* Compare: right panel gets orange fill */
877
+ .compare-panel.panel-orange {
878
+ padding-left: calc(var(--pad-x) * 0.55);
879
+ background: var(--c-accent);
880
+ }
881
+ .compare-panel.panel-orange .compare-label {
882
+ color: rgba(17, 17, 17, 0.55);
883
+ border-color: rgba(17, 17, 17, 0.22);
884
+ }
885
+ .compare-panel.panel-orange .h3 {
886
+ color: #111111;
887
+ }
888
+ .compare-panel.panel-orange .lead {
889
+ color: rgba(17, 17, 17, 0.7);
890
+ }
891
+ .compare-panel.panel-orange .bullet-list li {
892
+ color: #111111;
893
+ }
894
+ .compare-panel.panel-orange .bullet-list li::before {
895
+ color: rgba(17, 17, 17, 0.45);
896
+ }
897
+
898
+ /* ── CHART ─────────────────────────────────────────────────────────── */
899
+ .slide--chart .slide-body {
900
+ display: flex;
901
+ flex-direction: column;
902
+ gap: var(--gap-md);
903
+ min-height: 0;
904
+ }
905
+ .chart-header {
906
+ display: flex;
907
+ justify-content: space-between;
908
+ align-items: baseline;
909
+ flex-shrink: 0;
910
+ }
911
+ .chart-wrapper {
912
+ flex: 1;
913
+ display: flex;
914
+ flex-direction: column;
915
+ justify-content: flex-end;
916
+ min-height: 0;
917
+ }
918
+ .bar-track {
919
+ height: 30vh;
920
+ display: flex;
921
+ align-items: flex-end;
922
+ gap: 4vw;
923
+ border-left: 1px solid var(--c-border);
924
+ padding-left: 0.5vw;
925
+ }
926
+ .orange .bar-track {
927
+ border-color: rgba(17, 17, 17, 0.2);
928
+ }
929
+ .bar-col {
930
+ flex: 1;
931
+ display: flex;
932
+ flex-direction: column;
933
+ align-items: flex-start;
934
+ justify-content: flex-end;
935
+ gap: 1vh;
936
+ height: 100%;
937
+ }
938
+ .bar-fill {
939
+ width: 100%;
940
+ background: var(--c-fg-3);
941
+ transition: height 0.6s var(--ease-enter);
942
+ }
943
+ .bar-fill.accent {
944
+ background: var(--c-accent);
945
+ }
946
+ .orange .bar-fill {
947
+ background: rgba(17, 17, 17, 0.22);
948
+ }
949
+ .orange .bar-fill.accent {
950
+ background: #111111;
951
+ }
952
+ .bar-x-label {
953
+ font-family: var(--f-mono);
954
+ font-size: var(--sz-caption);
955
+ letter-spacing: 0.1em;
956
+ color: var(--c-fg-3);
957
+ white-space: nowrap;
958
+ text-transform: uppercase;
959
+ }
960
+ .orange .bar-x-label {
961
+ color: rgba(17, 17, 17, 0.45);
962
+ }
963
+ .bar-val {
964
+ font-family: var(--f-body);
965
+ font-size: var(--sz-body);
966
+ font-weight: 700;
967
+ color: var(--c-fg-2);
968
+ }
969
+ .bar-val.hi {
970
+ color: var(--c-accent);
971
+ }
972
+ .orange .bar-val {
973
+ color: rgba(17, 17, 17, 0.55);
974
+ }
975
+ .orange .bar-val.hi {
976
+ color: #111111;
977
+ }
978
+ .chart-baseline {
979
+ height: 1px;
980
+ background: var(--c-border);
981
+ flex-shrink: 0;
982
+ margin-top: 1px;
983
+ }
984
+ .orange .chart-baseline {
985
+ background: rgba(17, 17, 17, 0.2);
986
+ }
987
+ .chart-source {
988
+ flex-shrink: 0;
989
+ font-family: var(--f-mono);
990
+ font-size: var(--sz-caption);
991
+ color: var(--c-fg-3);
992
+ letter-spacing: 0.06em;
993
+ margin-top: var(--gap-sm);
994
+ }
995
+ .orange .chart-source {
996
+ color: rgba(17, 17, 17, 0.4);
997
+ }
998
+
999
+ /* ── DIAGRAM ────────────────────────────────────────────────────────── */
1000
+ .slide--diagram .slide-body {
1001
+ display: flex;
1002
+ flex-direction: column;
1003
+ justify-content: center;
1004
+ gap: var(--gap-lg);
1005
+ min-height: 0;
1006
+ }
1007
+ .flow {
1008
+ display: flex;
1009
+ align-items: stretch;
1010
+ gap: 0;
1011
+ }
1012
+ .flow-step {
1013
+ flex: 1;
1014
+ display: flex;
1015
+ flex-direction: column;
1016
+ gap: var(--gap-sm);
1017
+ padding-right: calc(var(--pad-x) * 0.35);
1018
+ }
1019
+ .flow-num {
1020
+ font-family: var(--f-display);
1021
+ font-size: 5vw;
1022
+ font-weight: 900;
1023
+ line-height: 1;
1024
+ color: var(--c-accent);
1025
+ letter-spacing: -0.03em;
1026
+ }
1027
+ .orange .flow-num {
1028
+ color: rgba(17, 17, 17, 0.2);
1029
+ }
1030
+ .flow-title {
1031
+ font-family: var(--f-heading);
1032
+ font-size: var(--sz-h3);
1033
+ font-weight: 700;
1034
+ line-height: 1.15;
1035
+ color: var(--c-fg);
1036
+ }
1037
+ .orange .flow-title {
1038
+ color: #111111;
1039
+ }
1040
+ .flow-desc {
1041
+ font-family: var(--f-body);
1042
+ font-size: var(--sz-body);
1043
+ color: var(--c-fg-2);
1044
+ line-height: 1.6;
1045
+ font-weight: 400;
1046
+ }
1047
+ .orange .flow-desc {
1048
+ color: rgba(17, 17, 17, 0.6);
1049
+ }
1050
+ .flow-arrow {
1051
+ display: flex;
1052
+ align-items: flex-start;
1053
+ padding-top: 1.2em;
1054
+ padding-right: calc(var(--pad-x) * 0.35);
1055
+ font-size: 2.2vw;
1056
+ color: var(--c-accent);
1057
+ font-weight: 300;
1058
+ flex-shrink: 0;
1059
+ }
1060
+ .orange .flow-arrow {
1061
+ color: rgba(17, 17, 17, 0.3);
1062
+ }
1063
+ /* ── PIE / DONUT CHART ──────────────────────────────────────────────── */
1064
+ .slide--pie .slide-body {
1065
+ display: flex;
1066
+ flex-direction: column;
1067
+ gap: var(--gap-md);
1068
+ min-height: 0;
1069
+ }
1070
+ .pie-row {
1071
+ display: grid;
1072
+ grid-template-columns: 1fr 1fr;
1073
+ gap: calc(var(--pad-x) * 0.7);
1074
+ align-items: center;
1075
+ flex: 1;
1076
+ min-height: 0;
1077
+ }
1078
+ .pie-donut {
1079
+ width: min(28vw, 44vh);
1080
+ height: min(28vw, 44vh);
1081
+ border-radius: 50%;
1082
+ position: relative;
1083
+ flex-shrink: 0;
1084
+ justify-self: center;
1085
+ }
1086
+ .pie-donut::after {
1087
+ content: "";
1088
+ position: absolute;
1089
+ inset: 20%;
1090
+ border-radius: 50%;
1091
+ background: var(--c-bg);
1092
+ }
1093
+ .orange .pie-donut::after {
1094
+ background: var(--c-bg-orange);
1095
+ }
1096
+ .pie-legend {
1097
+ display: flex;
1098
+ flex-direction: column;
1099
+ gap: var(--gap-md);
1100
+ }
1101
+ .pie-item {
1102
+ display: grid;
1103
+ grid-template-columns: 0.8em 1fr auto;
1104
+ gap: 1em;
1105
+ align-items: center;
1106
+ }
1107
+ .pie-swatch {
1108
+ width: 0.8em;
1109
+ height: 0.8em;
1110
+ border-radius: 2px;
1111
+ flex-shrink: 0;
1112
+ }
1113
+ .pie-item-label {
1114
+ font-family: var(--f-body);
1115
+ font-size: var(--sz-lead);
1116
+ font-weight: 700;
1117
+ line-height: 1.4;
1118
+ }
1119
+ .pie-item-val {
1120
+ font-family: var(--f-mono);
1121
+ font-size: var(--sz-body);
1122
+ font-weight: 500;
1123
+ letter-spacing: 0.06em;
1124
+ color: var(--c-accent);
1125
+ }
1126
+ .orange .pie-item-val {
1127
+ color: #111;
1128
+ }
1129
+ .pie-total {
1130
+ margin-top: var(--gap-sm);
1131
+ padding-top: var(--gap-sm);
1132
+ border-top: 1px solid var(--c-border);
1133
+ font-family: var(--f-mono);
1134
+ font-size: var(--sz-label);
1135
+ letter-spacing: 0.1em;
1136
+ color: var(--c-fg-3);
1137
+ }
1138
+
1139
+ /* ── PYRAMID ─────────────────────────────────────────────────────────── */
1140
+ .slide--pyramid .slide-body {
1141
+ display: flex;
1142
+ flex-direction: column;
1143
+ justify-content: center;
1144
+ gap: var(--gap-md);
1145
+ min-height: 0;
1146
+ }
1147
+ .pyramid {
1148
+ display: flex;
1149
+ flex-direction: column;
1150
+ gap: 3px;
1151
+ align-items: center;
1152
+ }
1153
+ .pyr-level {
1154
+ display: flex;
1155
+ justify-content: space-between;
1156
+ align-items: center;
1157
+ padding: 1.5vh 2.5vw;
1158
+ border-left: 4px solid var(--c-accent);
1159
+ transition: width 0.3s;
1160
+ }
1161
+ .orange .pyr-level {
1162
+ border-left-color: rgba(17, 17, 17, 0.4);
1163
+ }
1164
+ .pyr-level:nth-child(1) {
1165
+ background: color-mix(in srgb, var(--c-accent) 75%, var(--c-bg));
1166
+ width: 36%;
1167
+ }
1168
+ .pyr-level:nth-child(2) {
1169
+ background: color-mix(in srgb, var(--c-accent) 50%, var(--c-bg));
1170
+ width: 52%;
1171
+ }
1172
+ .pyr-level:nth-child(3) {
1173
+ background: color-mix(in srgb, var(--c-accent) 28%, var(--c-bg));
1174
+ width: 68%;
1175
+ }
1176
+ .pyr-level:nth-child(4) {
1177
+ background: color-mix(in srgb, var(--c-accent) 14%, var(--c-bg));
1178
+ width: 84%;
1179
+ }
1180
+ .pyr-level:nth-child(5) {
1181
+ background: color-mix(in srgb, var(--c-accent) 6%, var(--c-bg));
1182
+ width: 100%;
1183
+ }
1184
+ .pyr-name {
1185
+ font-family: var(--f-heading);
1186
+ font-size: var(--sz-h3);
1187
+ font-weight: 900;
1188
+ line-height: 1.1;
1189
+ text-transform: lowercase;
1190
+ }
1191
+ .pyr-desc {
1192
+ font-family: var(--f-body);
1193
+ font-size: var(--sz-body);
1194
+ color: var(--c-fg-2);
1195
+ text-align: right;
1196
+ max-width: 55%;
1197
+ line-height: 1.4;
1198
+ font-weight: 400;
1199
+ }
1200
+
1201
+ /* ── VERTICAL TIMELINE ───────────────────────────────────────────────── */
1202
+ .slide--vtimeline {
1203
+ grid-template-rows: auto auto 1fr auto;
1204
+ }
1205
+ .vt-hl {
1206
+ font-family: var(--f-heading);
1207
+ font-size: var(--sz-h2);
1208
+ font-weight: 900;
1209
+ text-transform: lowercase;
1210
+ letter-spacing: -0.03em;
1211
+ padding-bottom: var(--gap-md);
1212
+ border-bottom: 1px solid var(--c-border);
1213
+ }
1214
+ .vtimeline {
1215
+ display: grid;
1216
+ grid-template-columns: 8em 2px 1fr;
1217
+ gap: 0;
1218
+ min-height: 0;
1219
+ padding-top: var(--gap-md);
1220
+ }
1221
+ .vt-date {
1222
+ font-family: var(--f-mono);
1223
+ font-size: var(--sz-caption);
1224
+ letter-spacing: 0.1em;
1225
+ color: var(--c-fg-3);
1226
+ text-align: right;
1227
+ padding: 0 1.5vw 3.5vh 0;
1228
+ line-height: 1.4;
1229
+ }
1230
+ .vt-spine {
1231
+ background: var(--c-border);
1232
+ position: relative;
1233
+ }
1234
+ .vt-spine::before {
1235
+ content: "";
1236
+ position: absolute;
1237
+ top: 0.2em;
1238
+ left: -5px;
1239
+ width: 10px;
1240
+ height: 10px;
1241
+ background: var(--c-accent);
1242
+ }
1243
+ .vt-content {
1244
+ padding: 0 0 3.5vh 1.5vw;
1245
+ }
1246
+ .vt-title {
1247
+ font-family: var(--f-heading);
1248
+ font-size: var(--sz-h3);
1249
+ font-weight: 900;
1250
+ margin-bottom: 0.6vh;
1251
+ line-height: 1.1;
1252
+ text-transform: lowercase;
1253
+ }
1254
+ .vt-body {
1255
+ font-family: var(--f-body);
1256
+ font-size: var(--sz-body);
1257
+ color: var(--c-fg-2);
1258
+ line-height: 1.65;
1259
+ font-weight: 400;
1260
+ }
1261
+
1262
+ /* ── CYCLE PROCESS ───────────────────────────────────────────────────── */
1263
+ .slide--cycle .slide-body {
1264
+ display: flex;
1265
+ flex-direction: column;
1266
+ gap: var(--gap-md);
1267
+ min-height: 0;
1268
+ }
1269
+ .cycle-grid {
1270
+ display: grid;
1271
+ grid-template-columns: 1fr 3em 1fr;
1272
+ grid-template-rows: 1fr 3em 1fr;
1273
+ gap: var(--gap-sm);
1274
+ flex: 1;
1275
+ min-height: 0;
1276
+ align-items: center;
1277
+ }
1278
+ .cycle-step {
1279
+ display: flex;
1280
+ flex-direction: column;
1281
+ gap: var(--gap-sm);
1282
+ padding: var(--gap-md);
1283
+ border-top: 3px solid var(--c-accent);
1284
+ }
1285
+ .cycle-num {
1286
+ font-family: var(--f-display);
1287
+ font-size: 4vw;
1288
+ font-weight: 900;
1289
+ color: var(--c-accent);
1290
+ line-height: 1;
1291
+ letter-spacing: -0.03em;
1292
+ text-transform: lowercase;
1293
+ }
1294
+ .cycle-title {
1295
+ font-family: var(--f-heading);
1296
+ font-size: var(--sz-h3);
1297
+ font-weight: 900;
1298
+ line-height: 1.1;
1299
+ text-transform: lowercase;
1300
+ }
1301
+ .cycle-desc {
1302
+ font-family: var(--f-body);
1303
+ font-size: var(--sz-body);
1304
+ color: var(--c-fg-2);
1305
+ line-height: 1.6;
1306
+ font-weight: 400;
1307
+ }
1308
+ .cycle-arrow {
1309
+ color: var(--c-fg-3);
1310
+ font-size: 2.2vw;
1311
+ display: flex;
1312
+ align-items: center;
1313
+ justify-content: center;
1314
+ }
1315
+ </style>
1316
+ </head>
1317
+
1318
+ <body>
1319
+ <div id="deck">
1320
+ <!-- ══════════════════════════════════════════════════════════════════
1321
+ LAYOUT 1 · COVER (Broadside: orange)
1322
+ ──────────────────────────────────────────────────────────────────
1323
+ The SPACE10 aesthetic: full orange fill, "01" top-left in tiny mono,
1324
+ section label top-right. Massive weight-900 lowercase title.
1325
+ Tiny mono subtitle. Author + date in bottom corners.
1326
+ ══════════════════════════════════════════════════════════════════ -->
1327
+ <section class="slide slide--cover orange">
1328
+ <!-- Top chrome: slide number left, section label right -->
1329
+ <div class="broadside-top-chrome">
1330
+ <span class="broadside-num" data-anim="fade-in" data-delay="0"
1331
+ >01</span
1332
+ >
1333
+ <span class="corner-label" data-anim="fade-in" data-delay="0"
1334
+ >Broadside</span
1335
+ >
1336
+ </div>
1337
+
1338
+ <!-- Main content: fills the slide, anchored to bottom -->
1339
+ <div class="cover-body">
1340
+ <h1
1341
+ class="display"
1342
+ data-anim="fade-up"
1343
+ data-delay="1"
1344
+ style="max-width: 95%"
1345
+ >
1346
+ this is the broadside style
1347
+ </h1>
1348
+ <p
1349
+ class="lead"
1350
+ data-anim="fade-up"
1351
+ data-delay="2"
1352
+ style="opacity: 0.65; max-width: 55%"
1353
+ >
1354
+ Protest poster meets publication cover. Type so large it becomes
1355
+ image.
1356
+ </p>
1357
+ </div>
1358
+
1359
+ <!-- Bottom meta: author left, date right -->
1360
+ <div class="cover-meta" data-anim="fade-in" data-delay="3">
1361
+ <span class="broadside-num">[[Author Name]]</span>
1362
+ <span class="broadside-num">[Year] · Context</span>
1363
+ </div>
1364
+ </section>
1365
+ <section class="slide slide--chapter orange">
1366
+ <!-- Chapter number: top-left, same small mono as cover -->
1367
+ <div
1368
+ class="broadside-num"
1369
+ data-anim="fade-in"
1370
+ data-delay="0"
1371
+ style="margin-bottom: var(--gap-lg)"
1372
+ >
1373
+ 02 / Chapter
1374
+ </div>
1375
+
1376
+ <h2 class="h1" data-anim="fade-up" data-delay="1">
1377
+ the next chapter begins here
1378
+ </h2>
1379
+
1380
+ <p
1381
+ class="lead"
1382
+ data-anim="fade-up"
1383
+ data-delay="2"
1384
+ style="max-width: 50%; margin-top: var(--gap-md); opacity: 0.65"
1385
+ >
1386
+ One optional sentence that frames what this section is about.
1387
+ </p>
1388
+ </section>
1389
+ <section class="slide slide--statement dark">
1390
+ <header class="slide-chrome">
1391
+ <span class="label muted">The Argument</span>
1392
+ <span class="label muted">03</span>
1393
+ </header>
1394
+
1395
+ <div class="statement-body">
1396
+ <p class="kicker" data-anim="fade-in" data-delay="0">Core Thesis</p>
1397
+ <div
1398
+ class="rule"
1399
+ data-anim="reveal-right"
1400
+ data-delay="1"
1401
+ style="margin: 1.8vh 0"
1402
+ ></div>
1403
+ <!-- The .accent class makes this orange — the punchline -->
1404
+ <h2
1405
+ class="h1 accent"
1406
+ data-anim="fade-up"
1407
+ data-delay="2"
1408
+ style="max-width: 75%"
1409
+ >
1410
+ orange is not an accent. it is the room.
1411
+ </h2>
1412
+ </div>
1413
+
1414
+ <footer class="slide-foot">
1415
+ <span class="label muted">Broadside</span>
1416
+ <span class="label muted">[Author Name]</span>
1417
+ </footer>
1418
+ </section>
1419
+ <section class="slide slide--split dark">
1420
+ <header class="slide-chrome">
1421
+ <span class="label muted">Details</span>
1422
+ <span class="label muted">04</span>
1423
+ </header>
1424
+
1425
+ <div class="slide-body">
1426
+ <div class="split-text">
1427
+ <p class="kicker" data-anim="fade-in" data-delay="0">Context</p>
1428
+ <div
1429
+ class="rule"
1430
+ data-anim="reveal-right"
1431
+ data-delay="1"
1432
+ style="margin: 1.5vh 0"
1433
+ ></div>
1434
+ <h2 class="h2" data-anim="fade-up" data-delay="2">
1435
+ when content needs image support
1436
+ </h2>
1437
+ <p
1438
+ class="lead muted"
1439
+ data-anim="fade-up"
1440
+ data-delay="3"
1441
+ style="max-width: 90%"
1442
+ >
1443
+ One or two sentences of supporting context. Short. Dense. No
1444
+ padding.
1445
+ </p>
1446
+ <!-- Broadside list: max 3 items, forward-slash bullet -->
1447
+ <ul class="bullet-list" data-anim="fade-up" data-delay="4">
1448
+ <li>First key supporting point</li>
1449
+ <li>Second point, equally direct</li>
1450
+ <li>Third and final — end strong</li>
1451
+ </ul>
1452
+ </div>
1453
+
1454
+ <div class="split-image" data-anim="reveal-right" data-delay="2">
1455
+ <div class="img-placeholder">Image Placeholder</div>
1456
+ <p class="img-caption">Image caption or source · Year</p>
1457
+ </div>
1458
+ </div>
1459
+
1460
+ <footer class="slide-foot">
1461
+ <span class="label muted">Broadside</span>
1462
+ <span class="label muted">[Author Name]</span>
1463
+ </footer>
1464
+ </section>
1465
+ <section class="slide slide--stats orange">
1466
+ <header class="slide-chrome">
1467
+ <span class="broadside-num">05</span>
1468
+ <span class="corner-label">By the numbers</span>
1469
+ </header>
1470
+ <div class="slide-body">
1471
+ <div class="stats-grid" data-anim="fade-up" data-delay="1">
1472
+ <div class="stat-card">
1473
+ <div class="stat-value" data-anim="scale-in" data-delay="1">
1474
+ $3.5B
1475
+ </div>
1476
+ <div class="stat-label body">
1477
+ Series E closed at $61.5B valuation
1478
+ </div>
1479
+ <div class="stat-note">[Source] · [Year]</div>
1480
+ </div>
1481
+ <div class="stat-card">
1482
+ <div class="stat-value" data-anim="scale-in" data-delay="2">
1483
+
1484
+ </div>
1485
+ <div class="stat-label body">
1486
+ Enterprise deployments up quarter over quarter
1487
+ </div>
1488
+ <div class="stat-note">Primary research</div>
1489
+ </div>
1490
+ <div class="stat-card">
1491
+ <div class="stat-value" data-anim="scale-in" data-delay="3">
1492
+ #1
1493
+ </div>
1494
+ <div class="stat-label body">
1495
+ App Store ranking · [Product Name] · [Date]
1496
+ </div>
1497
+ <div class="stat-note">App Store Charts</div>
1498
+ </div>
1499
+ </div>
1500
+ </div>
1501
+ <footer class="slide-foot">
1502
+ <span class="broadside-num" style="opacity: 0.4">Broadside</span>
1503
+ <span class="broadside-num" style="opacity: 0.4">[Author Name]</span>
1504
+ </footer>
1505
+ </section>
1506
+ <section class="slide slide--fadelist orange">
1507
+ <div class="fadelist-top">
1508
+ <span class="broadside-num" data-anim="fade-in" data-delay="0"
1509
+ >01</span
1510
+ >
1511
+ <div class="fadelist-items" data-anim="fade-up" data-delay="1">
1512
+ <span class="fadelist-item">Before</span>
1513
+ <span class="fadelist-item">During</span>
1514
+ <span class="fadelist-item">After</span>
1515
+ </div>
1516
+ </div>
1517
+ <div class="fadelist-title" data-anim="fade-up" data-delay="2">
1518
+ the<br />session
1519
+ </div>
1520
+ <div
1521
+ style="
1522
+ display: flex;
1523
+ justify-content: space-between;
1524
+ align-items: flex-end;
1525
+ padding-top: var(--gap-sm);
1526
+ border-top: 1px solid rgba(17, 17, 17, 0.15);
1527
+ "
1528
+ >
1529
+ <span class="broadside-num" style="opacity: 0.4"
1530
+ >[Studio X] Guidelines</span
1531
+ >
1532
+ <span class="broadside-num" style="opacity: 0.4">06 / 10</span>
1533
+ </div>
1534
+ </section>
1535
+ <section class="slide slide--list dark">
1536
+ <header class="slide-chrome">
1537
+ <span class="label muted">The Framework</span>
1538
+ <span class="label muted">07</span>
1539
+ </header>
1540
+ <div class="slide-body">
1541
+ <div class="list-head">
1542
+ <p class="kicker" data-anim="fade-in" data-delay="0">Four rules</p>
1543
+ <h2 class="h2" data-anim="fade-up" data-delay="1">
1544
+ what separates<br />signal from noise
1545
+ </h2>
1546
+ </div>
1547
+ <ul class="bullet-list" data-anim="fade-up" data-delay="2">
1548
+ <li>Ship before it's ready — learn faster than you plan</li>
1549
+ <li>
1550
+ One metric that matters — ignore everything else this quarter
1551
+ </li>
1552
+ <li>
1553
+ The customer is always wrong about solutions, never about problems
1554
+ </li>
1555
+ <li>
1556
+ Speed is a feature — slow companies don't get a second chance
1557
+ </li>
1558
+ </ul>
1559
+ </div>
1560
+ <footer class="slide-foot">
1561
+ <span class="label muted">Broadside</span>
1562
+ <span class="label muted">[Author Name]</span>
1563
+ </footer>
1564
+ </section>
1565
+ <section class="slide slide--quote dark">
1566
+ <p
1567
+ class="kicker accent"
1568
+ data-anim="fade-in"
1569
+ data-delay="0"
1570
+ style="margin-bottom: var(--gap-lg)"
1571
+ >
1572
+ On speed
1573
+ </p>
1574
+ <div class="quote-text" data-anim="fade-up" data-delay="1">
1575
+ "Move fast and you'll break things. Move slow and something else will
1576
+ break you."
1577
+ </div>
1578
+ <div class="quote-attr" data-anim="fade-up" data-delay="2">
1579
+ <span class="label accent">[Industry Leader]</span>
1580
+ <span class="label muted">[Source] · [Year]</span>
1581
+ </div>
1582
+ </section>
1583
+ <section class="slide slide--compare dark">
1584
+ <header class="slide-chrome">
1585
+ <span class="label muted">Before · After</span>
1586
+ <span class="label muted">09</span>
1587
+ </header>
1588
+ <div class="slide-body">
1589
+ <div class="compare-panel left">
1590
+ <div class="compare-label" data-anim="fade-in" data-delay="0">
1591
+ Before
1592
+ </div>
1593
+ <h3 class="h3" data-anim="fade-up" data-delay="1">
1594
+ six-month build cycles
1595
+ </h3>
1596
+ <p class="lead muted" data-anim="fade-up" data-delay="2">
1597
+ Teams planned for months before shipping anything. By launch, the
1598
+ market had moved.
1599
+ </p>
1600
+ <ul
1601
+ class="bullet-list"
1602
+ data-anim="fade-up"
1603
+ data-delay="3"
1604
+ style="--sz-lead: 1.2vw"
1605
+ >
1606
+ <li>Waterfall planning, quarterly roadmaps</li>
1607
+ <li>User testing at the end, not the start</li>
1608
+ <li>Success measured by features shipped</li>
1609
+ </ul>
1610
+ </div>
1611
+ <div class="compare-panel panel-orange">
1612
+ <div class="compare-label after" data-anim="fade-in" data-delay="0">
1613
+ After
1614
+ </div>
1615
+ <h3
1616
+ class="h3"
1617
+ data-anim="fade-up"
1618
+ data-delay="1"
1619
+ style="color: #111"
1620
+ >
1621
+ two-week iteration loops
1622
+ </h3>
1623
+ <p
1624
+ class="lead"
1625
+ data-anim="fade-up"
1626
+ data-delay="2"
1627
+ style="color: rgba(17, 17, 17, 0.65)"
1628
+ >
1629
+ Ship a rough version. Watch what users actually do. Rebuild. Ship
1630
+ again.
1631
+ </p>
1632
+ <ul
1633
+ class="bullet-list"
1634
+ data-anim="fade-up"
1635
+ data-delay="3"
1636
+ style="--sz-lead: 1.2vw"
1637
+ >
1638
+ <li>Weekly user sessions, continuous discovery</li>
1639
+ <li>Metrics reviewed daily, not quarterly</li>
1640
+ <li>Success measured by behavior change</li>
1641
+ </ul>
1642
+ </div>
1643
+ </div>
1644
+ <footer class="slide-foot">
1645
+ <span class="label muted">Broadside</span>
1646
+ <span class="label muted">[Author Name]</span>
1647
+ </footer>
1648
+ </section>
1649
+ <section class="slide slide--chart dark">
1650
+ <header class="slide-chrome">
1651
+ <span class="label muted">Growth Metrics</span>
1652
+ <span class="label muted">11</span>
1653
+ </header>
1654
+ <div class="slide-body">
1655
+ <div class="chart-header">
1656
+ <h2 class="h2" data-anim="fade-up" data-delay="0">
1657
+ revenue by quarter
1658
+ </h2>
1659
+ <span class="caption muted" data-anim="fade-in" data-delay="1"
1660
+ >USD · Millions · FY 2025</span
1661
+ >
1662
+ </div>
1663
+ <div class="chart-wrapper" data-anim="fade-up" data-delay="2">
1664
+ <div class="bar-track">
1665
+ <div class="bar-col">
1666
+ <span class="bar-val">$1.2M</span>
1667
+ <div class="bar-fill" style="height: 12vh"></div>
1668
+ <span class="bar-x-label">Q1</span>
1669
+ </div>
1670
+ <div class="bar-col">
1671
+ <span class="bar-val">$1.7M</span>
1672
+ <div class="bar-fill" style="height: 17vh"></div>
1673
+ <span class="bar-x-label">Q2</span>
1674
+ </div>
1675
+ <div class="bar-col">
1676
+ <span class="bar-val">$2.1M</span>
1677
+ <div class="bar-fill" style="height: 21vh"></div>
1678
+ <span class="bar-x-label">Q3</span>
1679
+ </div>
1680
+ <div class="bar-col">
1681
+ <span class="bar-val hi">$2.8M</span>
1682
+ <div class="bar-fill accent" style="height: 28vh"></div>
1683
+ <span class="bar-x-label">Q4</span>
1684
+ </div>
1685
+ </div>
1686
+ <div class="chart-baseline"></div>
1687
+ </div>
1688
+ <p class="chart-source" data-anim="fade-in" data-delay="3">
1689
+ Source: Internal finance data · Q4 2025 Annual Report
1690
+ </p>
1691
+ </div>
1692
+ <footer class="slide-foot">
1693
+ <span class="label muted">Broadside</span>
1694
+ <span class="label muted">[Author Name]</span>
1695
+ </footer>
1696
+ </section>
1697
+ <section class="slide slide--diagram orange">
1698
+ <header class="slide-chrome">
1699
+ <span class="broadside-num">12</span>
1700
+ <span class="corner-label">The Process</span>
1701
+ </header>
1702
+ <div class="slide-body">
1703
+ <h2
1704
+ class="h2"
1705
+ style="color: #111; letter-spacing: -0.02em"
1706
+ data-anim="fade-up"
1707
+ data-delay="0"
1708
+ >
1709
+ how it works
1710
+ </h2>
1711
+ <div class="flow" data-anim="fade-up" data-delay="1">
1712
+ <div class="flow-step">
1713
+ <div class="flow-num">01</div>
1714
+ <div class="flow-title">Discover</div>
1715
+ <div class="flow-desc">
1716
+ Talk to users. Read the data. Surface what's actually true vs.
1717
+ what the team assumes.
1718
+ </div>
1719
+ </div>
1720
+ <div class="flow-arrow">→</div>
1721
+ <div class="flow-step">
1722
+ <div class="flow-num">02</div>
1723
+ <div class="flow-title">Define</div>
1724
+ <div class="flow-desc">
1725
+ Narrow to one problem worth solving. Write it as a testable
1726
+ hypothesis, not a feature request.
1727
+ </div>
1728
+ </div>
1729
+ <div class="flow-arrow">→</div>
1730
+ <div class="flow-step">
1731
+ <div class="flow-num">03</div>
1732
+ <div class="flow-title">Design</div>
1733
+ <div class="flow-desc">
1734
+ Build the simplest thing that could prove or disprove the
1735
+ hypothesis. Skip the polish.
1736
+ </div>
1737
+ </div>
1738
+ <div class="flow-arrow">→</div>
1739
+ <div class="flow-step">
1740
+ <div class="flow-num">04</div>
1741
+ <div class="flow-title">Deploy</div>
1742
+ <div class="flow-desc">
1743
+ Ship to real users. Measure behavior, not opinions. Repeat from
1744
+ step one with new data.
1745
+ </div>
1746
+ </div>
1747
+ </div>
1748
+ </div>
1749
+ <footer class="slide-foot" style="border-color: rgba(17, 17, 17, 0.15)">
1750
+ <span class="broadside-num" style="opacity: 0.4">Broadside</span>
1751
+ <span class="broadside-num" style="opacity: 0.4">[Author Name]</span>
1752
+ </footer>
1753
+ </section>
1754
+ <section class="slide slide--pie dark">
1755
+ <header class="slide-chrome">
1756
+ <span class="label muted">Market Share</span>
1757
+ <span class="label muted">13</span>
1758
+ </header>
1759
+ <div class="slide-body">
1760
+ <h2
1761
+ class="h2"
1762
+ data-anim="fade-up"
1763
+ data-delay="0"
1764
+ style="font-weight: 900"
1765
+ >
1766
+ where the market sits
1767
+ </h2>
1768
+ <div class="pie-row" data-anim="fade-up" data-delay="1">
1769
+ <!-- Donut: conic-gradient segments match legend order -->
1770
+ <div
1771
+ class="pie-donut"
1772
+ style="
1773
+ background: conic-gradient(
1774
+ var(--c-accent) 0% 40%,
1775
+ #3a3a38 40% 68%,
1776
+ #555550 68% 88%,
1777
+ #282826 88% 100%
1778
+ );
1779
+ "
1780
+ ></div>
1781
+ <div class="pie-legend">
1782
+ <div class="pie-item">
1783
+ <div
1784
+ class="pie-swatch"
1785
+ style="background: var(--c-accent)"
1786
+ ></div>
1787
+ <span class="pie-item-label">Leader</span>
1788
+ <span class="pie-item-val">40%</span>
1789
+ </div>
1790
+ <div class="pie-item">
1791
+ <div class="pie-swatch" style="background: #3a3a38"></div>
1792
+ <span class="pie-item-label">Challenger</span>
1793
+ <span class="pie-item-val">28%</span>
1794
+ </div>
1795
+ <div class="pie-item">
1796
+ <div class="pie-swatch" style="background: #555550"></div>
1797
+ <span class="pie-item-label">Followers</span>
1798
+ <span class="pie-item-val">20%</span>
1799
+ </div>
1800
+ <div class="pie-item">
1801
+ <div class="pie-swatch" style="background: #282826"></div>
1802
+ <span class="pie-item-label">Other</span>
1803
+ <span class="pie-item-val">12%</span>
1804
+ </div>
1805
+ <div class="pie-total">TOTAL MARKET: $[X]B · [Year] ESTIMATE</div>
1806
+ </div>
1807
+ </div>
1808
+ <p class="chart-source" data-anim="fade-in" data-delay="2">
1809
+ Source: [Industry report] · [Year] · Estimates only
1810
+ </p>
1811
+ </div>
1812
+ <footer class="slide-foot">
1813
+ <span class="label muted">[Author]</span>
1814
+ <span class="label muted">[Year]</span>
1815
+ </footer>
1816
+ </section>
1817
+ <section class="slide slide--pyramid dark">
1818
+ <header class="slide-chrome">
1819
+ <span class="label muted">The Hierarchy</span>
1820
+ <span class="label muted">14</span>
1821
+ </header>
1822
+ <div class="slide-body">
1823
+ <h2
1824
+ class="h2"
1825
+ data-anim="fade-up"
1826
+ data-delay="0"
1827
+ style="font-weight: 900"
1828
+ >
1829
+ what actually matters
1830
+ </h2>
1831
+ <div class="pyramid" data-anim="fade-up" data-delay="1">
1832
+ <div class="pyr-level">
1833
+ <span class="pyr-name">mission</span>
1834
+ <span class="pyr-desc">why this exists</span>
1835
+ </div>
1836
+ <div class="pyr-level">
1837
+ <span class="pyr-name">strategy</span>
1838
+ <span class="pyr-desc">what we're betting on</span>
1839
+ </div>
1840
+ <div class="pyr-level">
1841
+ <span class="pyr-name">product</span>
1842
+ <span class="pyr-desc">what we're building</span>
1843
+ </div>
1844
+ <div class="pyr-level">
1845
+ <span class="pyr-name">growth</span>
1846
+ <span class="pyr-desc">how we reach people</span>
1847
+ </div>
1848
+ <div class="pyr-level">
1849
+ <span class="pyr-name">operations</span>
1850
+ <span class="pyr-desc">how we run the day-to-day</span>
1851
+ </div>
1852
+ </div>
1853
+ </div>
1854
+ <footer class="slide-foot">
1855
+ <span class="label muted">[Author]</span>
1856
+ <span class="label muted">[Year]</span>
1857
+ </footer>
1858
+ </section>
1859
+ <section class="slide slide--vtimeline dark">
1860
+ <header class="slide-chrome">
1861
+ <span class="label muted">The Story</span>
1862
+ <span class="label muted">15</span>
1863
+ </header>
1864
+ <div class="vt-hl" data-anim="fade-up" data-delay="0">
1865
+ how we got here
1866
+ </div>
1867
+ <div class="vtimeline" data-anim="fade-up" data-delay="1">
1868
+ <!-- Event 1 -->
1869
+ <div class="vt-date">[Year −3]</div>
1870
+ <div class="vt-spine"></div>
1871
+ <div class="vt-content">
1872
+ <div class="vt-title">the idea</div>
1873
+ <div class="vt-body">
1874
+ One slide. Three slides. Nineteen rejections. One yes.
1875
+ </div>
1876
+ </div>
1877
+ <!-- Event 2 -->
1878
+ <div class="vt-date">[Year −2]</div>
1879
+ <div class="vt-spine"></div>
1880
+ <div class="vt-content">
1881
+ <div class="vt-title">first product</div>
1882
+ <div class="vt-body">
1883
+ Launched to [N] users. [X]% used it daily after week one.
1884
+ </div>
1885
+ </div>
1886
+ <!-- Event 3 -->
1887
+ <div class="vt-date">[Year −1]</div>
1888
+ <div class="vt-spine"></div>
1889
+ <div class="vt-content">
1890
+ <div class="vt-title">the pivot</div>
1891
+ <div class="vt-body">
1892
+ Killed [X] features. Found the one thing that changed retention.
1893
+ </div>
1894
+ </div>
1895
+ <!-- Event 4 -->
1896
+ <div class="vt-date">[Year 0]</div>
1897
+ <div class="vt-spine"></div>
1898
+ <div class="vt-content">
1899
+ <div class="vt-title">now</div>
1900
+ <div class="vt-body">
1901
+ [N]k users. $[X]M ARR. The hard part starts here.
1902
+ </div>
1903
+ </div>
1904
+ </div>
1905
+ <footer class="slide-foot">
1906
+ <span class="label muted">[Author] / [Year]</span>
1907
+ <span class="label muted">15</span>
1908
+ </footer>
1909
+ </section>
1910
+ <section class="slide slide--cycle dark">
1911
+ <header class="slide-chrome">
1912
+ <span class="label muted">The Loop</span>
1913
+ <span class="label muted">16</span>
1914
+ </header>
1915
+ <div class="slide-body">
1916
+ <h2
1917
+ class="h2"
1918
+ data-anim="fade-up"
1919
+ data-delay="0"
1920
+ style="font-weight: 900"
1921
+ >
1922
+ build · measure · learn
1923
+ </h2>
1924
+ <div class="cycle-grid" data-anim="fade-up" data-delay="1">
1925
+ <!-- Row 1 -->
1926
+ <div class="cycle-step">
1927
+ <div class="cycle-num">01</div>
1928
+ <div class="cycle-title">build</div>
1929
+ <div class="cycle-desc">
1930
+ Ship the smallest version that could prove the idea wrong.
1931
+ </div>
1932
+ </div>
1933
+ <div class="cycle-arrow">→</div>
1934
+ <div class="cycle-step">
1935
+ <div class="cycle-num">02</div>
1936
+ <div class="cycle-title">measure</div>
1937
+ <div class="cycle-desc">
1938
+ What did users actually do? Not what they said — what they did.
1939
+ </div>
1940
+ </div>
1941
+ <!-- Row 2: arrows -->
1942
+ <div class="cycle-arrow">↓</div>
1943
+ <div></div>
1944
+ <div class="cycle-arrow">↓</div>
1945
+ <!-- Row 3 (reversed: left=04, right=03 to form clockwise loop) -->
1946
+ <div class="cycle-step">
1947
+ <div class="cycle-num">04</div>
1948
+ <div class="cycle-title">learn</div>
1949
+ <div class="cycle-desc">
1950
+ Update the hypothesis. Kill what didn't work. Double what did.
1951
+ </div>
1952
+ </div>
1953
+ <div class="cycle-arrow">←</div>
1954
+ <div class="cycle-step">
1955
+ <div class="cycle-num">03</div>
1956
+ <div class="cycle-title">decide</div>
1957
+ <div class="cycle-desc">
1958
+ Ship to more users or go back to step one. There is no third
1959
+ option.
1960
+ </div>
1961
+ </div>
1962
+ </div>
1963
+ </div>
1964
+ <footer class="slide-foot">
1965
+ <span class="label muted">[Author] / [Year]</span>
1966
+ <span class="label muted">16</span>
1967
+ </footer>
1968
+ </section>
1969
+ <section class="slide slide--end orange">
1970
+ <div class="broadside-top-chrome">
1971
+ <span class="broadside-num" data-anim="fade-in" data-delay="0"
1972
+ >10</span
1973
+ >
1974
+ <span class="corner-label" data-anim="fade-in" data-delay="0"
1975
+ >End</span
1976
+ >
1977
+ </div>
1978
+ <h1
1979
+ class="display"
1980
+ data-anim="fade-up"
1981
+ data-delay="1"
1982
+ style="
1983
+ color: #111;
1984
+ max-width: 80%;
1985
+ line-height: 0.9;
1986
+ letter-spacing: -0.04em;
1987
+ "
1988
+ >
1989
+ let's<br />talk.
1990
+ </h1>
1991
+ <div
1992
+ style="display: flex; flex-direction: column; gap: var(--gap-sm)"
1993
+ data-anim="fade-up"
1994
+ data-delay="2"
1995
+ >
1996
+ <p class="lead" style="color: rgba(17, 17, 17, 0.65); max-width: 45%">
1997
+ [hello@company.com] · [@handle] · [company.com]
1998
+ </p>
1999
+ </div>
2000
+ <div
2001
+ style="
2002
+ display: flex;
2003
+ justify-content: space-between;
2004
+ align-items: flex-end;
2005
+ margin-top: auto;
2006
+ padding-top: var(--gap-sm);
2007
+ border-top: 1px solid rgba(17, 17, 17, 0.15);
2008
+ "
2009
+ >
2010
+ <span class="broadside-num" style="opacity: 0.4">[Author Name]</span>
2011
+ <span class="broadside-num" style="opacity: 0.4">[Year]</span>
2012
+ </div>
2013
+ </section>
2014
+ </div>
2015
+ <!-- /#deck -->
2016
+
2017
+ <nav id="nav-dots" aria-label="Slide navigation"></nav>
2018
+ <div id="slide-counter"></div>
2019
+
2020
+ <script>
2021
+ (function () {
2022
+ const deck = document.getElementById("deck");
2023
+ const dotsNav = document.getElementById("nav-dots");
2024
+ const counter = document.getElementById("slide-counter");
2025
+ const slides = Array.from(deck.querySelectorAll(".slide"));
2026
+ const total = slides.length;
2027
+ let current = 0;
2028
+ let isAnimating = false;
2029
+
2030
+ // Size the deck to fit all slides side by side
2031
+ deck.style.width = "calc(" + total + " * 100vw)";
2032
+
2033
+ // Build navigation dots dynamically from slide count
2034
+ slides.forEach(function (_, i) {
2035
+ const dot = document.createElement("button");
2036
+ dot.className = "nav-dot";
2037
+ dot.setAttribute("aria-label", "Slide " + (i + 1));
2038
+ dot.addEventListener("click", function () {
2039
+ goTo(i);
2040
+ });
2041
+ dotsNav.appendChild(dot);
2042
+ });
2043
+
2044
+ function pad(n) {
2045
+ return String(n).padStart(2, "0");
2046
+ }
2047
+
2048
+ function goTo(index) {
2049
+ if (isAnimating) return;
2050
+ if (index < 0 || index >= total) return;
2051
+ if (
2052
+ index === current &&
2053
+ slides[current].classList.contains("is-active")
2054
+ )
2055
+ return;
2056
+
2057
+ isAnimating = true;
2058
+ slides[current].classList.remove("is-active");
2059
+
2060
+ current = index;
2061
+ const slide = slides[current];
2062
+
2063
+ // Reset animations so re-visiting a slide re-plays them
2064
+ slide.querySelectorAll("[data-anim]").forEach(function (el) {
2065
+ el.style.animation = "none";
2066
+ void el.offsetHeight; // force reflow to clear animation state
2067
+ el.style.animation = "";
2068
+ });
2069
+
2070
+ slide.classList.add("is-active");
2071
+ deck.style.transform = "translateX(calc(-" + current + " * 100vw))";
2072
+
2073
+ // Update dots
2074
+ dotsNav.querySelectorAll(".nav-dot").forEach(function (d, i) {
2075
+ d.classList.toggle("is-active", i === current);
2076
+ });
2077
+
2078
+ // Update counter
2079
+ counter.textContent = pad(current + 1) + " / " + pad(total);
2080
+
2081
+ setTimeout(function () {
2082
+ isAnimating = false;
2083
+ }, 900);
2084
+ }
2085
+
2086
+ // Keyboard navigation — arrows, space, Home/End
2087
+ document.addEventListener("keydown", function (e) {
2088
+ if (
2089
+ e.key === "ArrowRight" ||
2090
+ e.key === " " ||
2091
+ e.key === "ArrowDown"
2092
+ ) {
2093
+ e.preventDefault();
2094
+ goTo(current + 1);
2095
+ }
2096
+ if (e.key === "ArrowLeft" || e.key === "ArrowUp") {
2097
+ e.preventDefault();
2098
+ goTo(current - 1);
2099
+ }
2100
+ if (e.key === "Home") goTo(0);
2101
+ if (e.key === "End") goTo(total - 1);
2102
+ });
2103
+
2104
+ // Touch swipe — 40px threshold
2105
+ var touchStartX = 0;
2106
+ document.addEventListener(
2107
+ "touchstart",
2108
+ function (e) {
2109
+ touchStartX = e.touches[0].clientX;
2110
+ },
2111
+ { passive: true },
2112
+ );
2113
+ document.addEventListener(
2114
+ "touchend",
2115
+ function (e) {
2116
+ var dx = e.changedTouches[0].clientX - touchStartX;
2117
+ if (Math.abs(dx) > 40) goTo(current + (dx < 0 ? 1 : -1));
2118
+ },
2119
+ { passive: true },
2120
+ );
2121
+
2122
+ // Mouse wheel — 1000ms lock prevents double-firing
2123
+ var wheelLocked = false;
2124
+ document.addEventListener(
2125
+ "wheel",
2126
+ function (e) {
2127
+ if (wheelLocked) return;
2128
+ var primary =
2129
+ Math.abs(e.deltaX) > Math.abs(e.deltaY) ? e.deltaX : e.deltaY;
2130
+ goTo(current + (primary > 0 ? 1 : -1));
2131
+ wheelLocked = true;
2132
+ setTimeout(function () {
2133
+ wheelLocked = false;
2134
+ }, 1000);
2135
+ },
2136
+ { passive: true },
2137
+ );
2138
+
2139
+ // Kick off on slide 1
2140
+ goTo(0);
2141
+ })();
2142
+ </script>
2143
+ </body>
2144
+ </html>