@hiai-gg/hiai-opencode 0.2.0 → 0.2.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 (490) hide show
  1. package/.env.example +4 -0
  2. package/AGENTS.md +40 -44
  3. package/ARCHITECTURE.md +4 -3
  4. package/LICENSE.md +14 -0
  5. package/README.md +61 -30
  6. package/assets/cli/hiai-opencode.mjs +4 -4
  7. package/config/hiai-opencode.schema.json +11 -13
  8. package/dist/agents/{bob.d.ts → bob/claude.d.ts} +6 -2
  9. package/dist/agents/bob/core.d.ts +6 -0
  10. package/dist/agents/bob/gpt.d.ts +11 -0
  11. package/dist/agents/bob/index.d.ts +3 -0
  12. package/dist/agents/coder/core.d.ts +4 -0
  13. package/dist/agents/coder/gpt.d.ts +1 -4
  14. package/dist/agents/coder/index.d.ts +1 -0
  15. package/dist/agents/manager/agent.d.ts +1 -1
  16. package/dist/agents/manager/default-prompt-sections.d.ts +4 -4
  17. package/dist/agents/manager/guard-integration.d.ts +1 -0
  18. package/dist/agents/prompt-library/index.d.ts +0 -1
  19. package/dist/agents/prompt-library/shared-execution.d.ts +9 -0
  20. package/dist/agents/strategist/behavioral-summary.d.ts +1 -1
  21. package/dist/agents/strategist/identity-constraints.d.ts +1 -1
  22. package/dist/agents/strategist/plan-generation.d.ts +1 -1
  23. package/dist/agents/types.d.ts +2 -1
  24. package/dist/config/defaults.d.ts +1 -0
  25. package/dist/config/platform-schema.d.ts +26 -26
  26. package/dist/config/schema/agent-names.d.ts +6 -6
  27. package/dist/config/schema/agent-overrides.d.ts +0 -128
  28. package/dist/config/schema/hiai-opencode-config.d.ts +0 -128
  29. package/dist/config/types.d.ts +2 -2
  30. package/dist/features/background-agent/error-classifier.d.ts +1 -0
  31. package/dist/features/background-agent/manager-notifier.d.ts +46 -0
  32. package/dist/features/background-agent/manager-types.d.ts +40 -0
  33. package/dist/features/background-agent/manager.d.ts +3 -19
  34. package/dist/features/background-agent/polling-manager.d.ts +51 -0
  35. package/dist/features/boulder-state/constants.d.ts +3 -0
  36. package/dist/features/boulder-state/storage.d.ts +95 -0
  37. package/dist/features/boulder-state/types.d.ts +17 -0
  38. package/dist/features/builtin-commands/templates/doctor.d.ts +1 -1
  39. package/dist/features/builtin-commands/templates/loop.d.ts +2 -0
  40. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
  41. package/dist/features/builtin-skills/skills/interview-me.d.ts +2 -0
  42. package/dist/features/builtin-skills/skills/planning-and-task-breakdown.d.ts +2 -0
  43. package/dist/hooks/manager/resolve-active-boulder-session.d.ts +5 -0
  44. package/dist/hooks/manager/system-reminder-templates.d.ts +2 -2
  45. package/dist/hooks/reasoning-content-cache/hook.d.ts +11 -0
  46. package/dist/hooks/reasoning-content-cache/index.d.ts +1 -0
  47. package/dist/hooks/session-recovery/checkpoint.d.ts +48 -0
  48. package/dist/hooks/session-recovery/enhanced-hook.d.ts +30 -0
  49. package/dist/hooks/session-recovery/state-backup.d.ts +76 -0
  50. package/dist/hooks/shared/compaction-in-progress.d.ts +4 -0
  51. package/dist/hooks/start-work/context-info-builder.d.ts +2 -0
  52. package/dist/hooks/start-work/git-operations.d.ts +47 -0
  53. package/dist/hooks/start-work/worktree-block.d.ts +2 -1
  54. package/dist/hooks/start-work/worktree-detector.d.ts +45 -0
  55. package/dist/hooks/strategist-md-only/agent-resolution.d.ts +1 -1
  56. package/dist/hooks/strategist-md-only/constants.d.ts +6 -0
  57. package/dist/hooks/token-budget.d.ts +30 -0
  58. package/dist/index.js +1275 -1132
  59. package/dist/mcp/rate-limiter.d.ts +68 -0
  60. package/dist/plugin/chat-message.d.ts +8 -0
  61. package/dist/plugin/command-execute-before.d.ts +1 -1
  62. package/dist/plugin/event-handlers/message-updated.d.ts +2 -0
  63. package/dist/plugin/event-handlers/session-error.d.ts +2 -0
  64. package/dist/plugin/event-handlers/session-status.d.ts +2 -0
  65. package/dist/plugin/event-handlers/types.d.ts +62 -0
  66. package/dist/plugin/event-handlers/utils.d.ts +11 -0
  67. package/dist/plugin/event.d.ts +1 -1
  68. package/dist/shared/data-path.d.ts +1 -1
  69. package/dist/shared/errors.d.ts +70 -0
  70. package/dist/shared/extract-session-id.d.ts +8 -0
  71. package/dist/shared/git-worktree/get-git-state-summary.d.ts +14 -0
  72. package/dist/shared/index.d.ts +67 -68
  73. package/dist/shared/internal-initiator-marker.d.ts +1 -1
  74. package/dist/shared/logger.d.ts +5 -1
  75. package/dist/shared/reasoning-content-cache.d.ts +68 -0
  76. package/dist/shared/safe-create-hook.d.ts +4 -4
  77. package/dist/tools/call-hiai-agent/constants.d.ts +2 -2
  78. package/dist/tools/delegate-task/sub-agent.d.ts +1 -1
  79. package/dist/tools/look-at/constants.d.ts +1 -1
  80. package/docs/architecture/bob-manager-architecture.md +244 -0
  81. package/docs/hiai-opencode/adr/ADR-001-agent-identity-section-injection.md +66 -0
  82. package/docs/hiai-opencode/adr/ADR-002-anti-loop-guard-priority.md +63 -0
  83. package/docs/hiai-opencode/adr/ADR-003-compaction-mechanism.md +71 -0
  84. package/docs/hiai-opencode/adr/ADR-004-session-recovery.md +76 -0
  85. package/docs/hiai-opencode/api.md +305 -0
  86. package/docs/hiai-opencode/hooks-architecture.md +225 -0
  87. package/docs/hiai-opencode/migration.md +209 -0
  88. package/docs/quickstart.md +1 -1
  89. package/docs/skill-discovery.md +288 -0
  90. package/package.json +2 -2
  91. package/skills/agent-browser/SKILL.md +193 -0
  92. package/skills/apple-hig/SKILL.md +43 -0
  93. package/skills/article-magazine/SKILL.md +46 -0
  94. package/skills/article-magazine/example.html +81 -0
  95. package/skills/article-magazine/example.md +38 -0
  96. package/skills/canvas-design/SKILL.md +45 -0
  97. package/skills/design-templates/audio-jingle/SKILL.md +132 -0
  98. package/skills/design-templates/audio-jingle/example.html +128 -0
  99. package/skills/design-templates/blog-post/SKILL.md +80 -0
  100. package/skills/design-templates/blog-post/example.html +80 -0
  101. package/skills/design-templates/clinical-case-report/SKILL.md +209 -0
  102. package/skills/design-templates/clinical-case-report/example.html +698 -0
  103. package/skills/design-templates/clinical-case-report/examples/example-stemi.html +698 -0
  104. package/skills/design-templates/clinical-case-report/references/case-formats.md +94 -0
  105. package/skills/design-templates/clinical-case-report/references/checklist.md +41 -0
  106. package/skills/design-templates/critique/SKILL.md +258 -0
  107. package/skills/design-templates/critique/example.html +671 -0
  108. package/skills/design-templates/dashboard/SKILL.md +76 -0
  109. package/skills/design-templates/dashboard/example.html +118 -0
  110. package/skills/design-templates/dating-web/SKILL.md +92 -0
  111. package/skills/design-templates/dating-web/example.html +265 -0
  112. package/skills/design-templates/dcf-valuation/SKILL.md +140 -0
  113. package/skills/design-templates/dcf-valuation/references/sector-wacc.md +42 -0
  114. package/skills/design-templates/digital-eguide/SKILL.md +94 -0
  115. package/skills/design-templates/digital-eguide/example.html +204 -0
  116. package/skills/design-templates/docs-page/SKILL.md +80 -0
  117. package/skills/design-templates/docs-page/example.html +122 -0
  118. package/skills/design-templates/email-marketing/SKILL.md +84 -0
  119. package/skills/design-templates/email-marketing/example.html +159 -0
  120. package/skills/design-templates/eng-runbook/SKILL.md +51 -0
  121. package/skills/design-templates/eng-runbook/example.html +250 -0
  122. package/skills/design-templates/finance-report/SKILL.md +61 -0
  123. package/skills/design-templates/finance-report/example.html +242 -0
  124. package/skills/design-templates/flowai-live-dashboard-template/SKILL.md +87 -0
  125. package/skills/design-templates/flowai-live-dashboard-template/assets/template.html +387 -0
  126. package/skills/design-templates/flowai-live-dashboard-template/example.html +13 -0
  127. package/skills/design-templates/flowai-live-dashboard-template/references/checklist.md +35 -0
  128. package/skills/design-templates/gamified-app/SKILL.md +108 -0
  129. package/skills/design-templates/gamified-app/example.html +292 -0
  130. package/skills/design-templates/github-dashboard/SKILL.md +130 -0
  131. package/skills/design-templates/github-dashboard/example.html +473 -0
  132. package/skills/design-templates/github-dashboard/references/README.md +10 -0
  133. package/skills/design-templates/github-dashboard/references/artifact-example.json +15 -0
  134. package/skills/design-templates/github-dashboard/references/example-data.json +138 -0
  135. package/skills/design-templates/github-dashboard/references/provenance-example.json +92 -0
  136. package/skills/design-templates/github-dashboard/references/template.html +473 -0
  137. package/skills/design-templates/guizang-ppt/LICENSE +21 -0
  138. package/skills/design-templates/guizang-ppt/README.en.md +119 -0
  139. package/skills/design-templates/guizang-ppt/README.md +120 -0
  140. package/skills/design-templates/guizang-ppt/README.pt-BR.md +121 -0
  141. package/skills/design-templates/guizang-ppt/SKILL.md +313 -0
  142. package/skills/design-templates/guizang-ppt/assets/example-slides.html +318 -0
  143. package/skills/design-templates/guizang-ppt/assets/template.html +647 -0
  144. package/skills/design-templates/guizang-ppt/references/checklist.md +265 -0
  145. package/skills/design-templates/guizang-ppt/references/components.md +363 -0
  146. package/skills/design-templates/guizang-ppt/references/layouts.md +630 -0
  147. package/skills/design-templates/guizang-ppt/references/styles.md +195 -0
  148. package/skills/design-templates/guizang-ppt/references/themes.md +122 -0
  149. package/skills/design-templates/hr-onboarding/SKILL.md +52 -0
  150. package/skills/design-templates/hr-onboarding/example.html +219 -0
  151. package/skills/design-templates/html-ppt/.clawscan-allow +12 -0
  152. package/skills/design-templates/html-ppt/LICENSE +21 -0
  153. package/skills/design-templates/html-ppt/README.md +234 -0
  154. package/skills/design-templates/html-ppt/README.pt-BR.md +239 -0
  155. package/skills/design-templates/html-ppt/README.zh-CN.md +238 -0
  156. package/skills/design-templates/html-ppt/SKILL.md +250 -0
  157. package/skills/design-templates/html-ppt/assets/animations/animations.css +138 -0
  158. package/skills/design-templates/html-ppt/assets/animations/fx/_util.js +63 -0
  159. package/skills/design-templates/html-ppt/assets/animations/fx/chain-react.js +41 -0
  160. package/skills/design-templates/html-ppt/assets/animations/fx/confetti-cannon.js +49 -0
  161. package/skills/design-templates/html-ppt/assets/animations/fx/constellation.js +44 -0
  162. package/skills/design-templates/html-ppt/assets/animations/fx/counter-explosion.js +58 -0
  163. package/skills/design-templates/html-ppt/assets/animations/fx/data-stream.js +45 -0
  164. package/skills/design-templates/html-ppt/assets/animations/fx/firework.js +51 -0
  165. package/skills/design-templates/html-ppt/assets/animations/fx/galaxy-swirl.js +33 -0
  166. package/skills/design-templates/html-ppt/assets/animations/fx/gradient-blob.js +39 -0
  167. package/skills/design-templates/html-ppt/assets/animations/fx/knowledge-graph.js +69 -0
  168. package/skills/design-templates/html-ppt/assets/animations/fx/letter-explode.js +50 -0
  169. package/skills/design-templates/html-ppt/assets/animations/fx/magnetic-field.js +40 -0
  170. package/skills/design-templates/html-ppt/assets/animations/fx/matrix-rain.js +33 -0
  171. package/skills/design-templates/html-ppt/assets/animations/fx/neural-net.js +75 -0
  172. package/skills/design-templates/html-ppt/assets/animations/fx/orbit-ring.js +38 -0
  173. package/skills/design-templates/html-ppt/assets/animations/fx/particle-burst.js +42 -0
  174. package/skills/design-templates/html-ppt/assets/animations/fx/shockwave.js +39 -0
  175. package/skills/design-templates/html-ppt/assets/animations/fx/sparkle-trail.js +62 -0
  176. package/skills/design-templates/html-ppt/assets/animations/fx/starfield.js +30 -0
  177. package/skills/design-templates/html-ppt/assets/animations/fx/typewriter-multi.js +51 -0
  178. package/skills/design-templates/html-ppt/assets/animations/fx/word-cascade.js +47 -0
  179. package/skills/design-templates/html-ppt/assets/animations/fx-runtime.js +99 -0
  180. package/skills/design-templates/html-ppt/assets/base.css +150 -0
  181. package/skills/design-templates/html-ppt/assets/fonts.css +9 -0
  182. package/skills/design-templates/html-ppt/assets/runtime.js +960 -0
  183. package/skills/design-templates/html-ppt/assets/themes/academic-paper.css +23 -0
  184. package/skills/design-templates/html-ppt/assets/themes/arctic-cool.css +14 -0
  185. package/skills/design-templates/html-ppt/assets/themes/aurora.css +20 -0
  186. package/skills/design-templates/html-ppt/assets/themes/bauhaus.css +16 -0
  187. package/skills/design-templates/html-ppt/assets/themes/blueprint.css +19 -0
  188. package/skills/design-templates/html-ppt/assets/themes/catppuccin-latte.css +14 -0
  189. package/skills/design-templates/html-ppt/assets/themes/catppuccin-mocha.css +14 -0
  190. package/skills/design-templates/html-ppt/assets/themes/corporate-clean.css +19 -0
  191. package/skills/design-templates/html-ppt/assets/themes/cyberpunk-neon.css +23 -0
  192. package/skills/design-templates/html-ppt/assets/themes/dracula.css +14 -0
  193. package/skills/design-templates/html-ppt/assets/themes/editorial-serif.css +18 -0
  194. package/skills/design-templates/html-ppt/assets/themes/engineering-whiteprint.css +26 -0
  195. package/skills/design-templates/html-ppt/assets/themes/glassmorphism.css +21 -0
  196. package/skills/design-templates/html-ppt/assets/themes/gruvbox-dark.css +14 -0
  197. package/skills/design-templates/html-ppt/assets/themes/japanese-minimal.css +21 -0
  198. package/skills/design-templates/html-ppt/assets/themes/magazine-bold.css +21 -0
  199. package/skills/design-templates/html-ppt/assets/themes/memphis-pop.css +20 -0
  200. package/skills/design-templates/html-ppt/assets/themes/midcentury.css +19 -0
  201. package/skills/design-templates/html-ppt/assets/themes/minimal-white.css +16 -0
  202. package/skills/design-templates/html-ppt/assets/themes/neo-brutalism.css +17 -0
  203. package/skills/design-templates/html-ppt/assets/themes/news-broadcast.css +20 -0
  204. package/skills/design-templates/html-ppt/assets/themes/nord.css +14 -0
  205. package/skills/design-templates/html-ppt/assets/themes/pitch-deck-vc.css +21 -0
  206. package/skills/design-templates/html-ppt/assets/themes/rainbow-gradient.css +16 -0
  207. package/skills/design-templates/html-ppt/assets/themes/retro-tv.css +22 -0
  208. package/skills/design-templates/html-ppt/assets/themes/rose-pine.css +14 -0
  209. package/skills/design-templates/html-ppt/assets/themes/sharp-mono.css +17 -0
  210. package/skills/design-templates/html-ppt/assets/themes/soft-pastel.css +14 -0
  211. package/skills/design-templates/html-ppt/assets/themes/solarized-light.css +14 -0
  212. package/skills/design-templates/html-ppt/assets/themes/sunset-warm.css +14 -0
  213. package/skills/design-templates/html-ppt/assets/themes/swiss-grid.css +17 -0
  214. package/skills/design-templates/html-ppt/assets/themes/terminal-green.css +18 -0
  215. package/skills/design-templates/html-ppt/assets/themes/tokyo-night.css +14 -0
  216. package/skills/design-templates/html-ppt/assets/themes/vaporwave.css +21 -0
  217. package/skills/design-templates/html-ppt/assets/themes/xiaohongshu-white.css +16 -0
  218. package/skills/design-templates/html-ppt/assets/themes/y2k-chrome.css +20 -0
  219. package/skills/design-templates/html-ppt/docs/readme/_theme-cell.html +56 -0
  220. package/skills/design-templates/html-ppt/docs/readme/animations.png +0 -0
  221. package/skills/design-templates/html-ppt/docs/readme/hero.gif +0 -0
  222. package/skills/design-templates/html-ppt/docs/readme/layouts-live.gif +0 -0
  223. package/skills/design-templates/html-ppt/docs/readme/layouts.png +0 -0
  224. package/skills/design-templates/html-ppt/docs/readme/montage-animations.html +61 -0
  225. package/skills/design-templates/html-ppt/docs/readme/montage-layouts.html +72 -0
  226. package/skills/design-templates/html-ppt/docs/readme/montage-templates.html +72 -0
  227. package/skills/design-templates/html-ppt/docs/readme/montage-themes.html +38 -0
  228. package/skills/design-templates/html-ppt/docs/readme/presenter-mode.png +0 -0
  229. package/skills/design-templates/html-ppt/docs/readme/templates.png +0 -0
  230. package/skills/design-templates/html-ppt/docs/readme/themes.png +0 -0
  231. package/skills/design-templates/html-ppt/examples/demo-deck/index.html +161 -0
  232. package/skills/design-templates/html-ppt/references/animations.md +147 -0
  233. package/skills/design-templates/html-ppt/references/authoring-guide.md +141 -0
  234. package/skills/design-templates/html-ppt/references/full-decks.md +98 -0
  235. package/skills/design-templates/html-ppt/references/layouts.md +103 -0
  236. package/skills/design-templates/html-ppt/references/presenter-mode.md +240 -0
  237. package/skills/design-templates/html-ppt/references/themes.md +107 -0
  238. package/skills/design-templates/html-ppt/scripts/new-deck.sh +46 -0
  239. package/skills/design-templates/html-ppt/scripts/render.sh +71 -0
  240. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_01.png +0 -0
  241. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_02.png +0 -0
  242. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_03.png +0 -0
  243. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_04.png +0 -0
  244. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_05.png +0 -0
  245. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_06.png +0 -0
  246. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_07.png +0 -0
  247. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_08.png +0 -0
  248. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_09.png +0 -0
  249. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_10.png +0 -0
  250. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_11.png +0 -0
  251. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_12.png +0 -0
  252. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_13.png +0 -0
  253. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_14.png +0 -0
  254. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_15.png +0 -0
  255. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_16.png +0 -0
  256. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_17.png +0 -0
  257. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_18.png +0 -0
  258. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_19.png +0 -0
  259. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_20.png +0 -0
  260. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_01.png +0 -0
  261. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_02.png +0 -0
  262. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_03.png +0 -0
  263. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_04.png +0 -0
  264. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_05.png +0 -0
  265. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_06.png +0 -0
  266. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_07.png +0 -0
  267. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_08.png +0 -0
  268. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_09.png +0 -0
  269. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_10.png +0 -0
  270. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_11.png +0 -0
  271. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_12.png +0 -0
  272. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_13.png +0 -0
  273. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_14.png +0 -0
  274. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_15.png +0 -0
  275. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_16.png +0 -0
  276. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_17.png +0 -0
  277. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_18.png +0 -0
  278. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_19.png +0 -0
  279. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_20.png +0 -0
  280. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_21.png +0 -0
  281. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_22.png +0 -0
  282. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_23.png +0 -0
  283. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_24.png +0 -0
  284. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_25.png +0 -0
  285. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_26.png +0 -0
  286. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_27.png +0 -0
  287. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_28.png +0 -0
  288. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_29.png +0 -0
  289. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_30.png +0 -0
  290. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_31.png +0 -0
  291. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_32.png +0 -0
  292. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_33.png +0 -0
  293. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_34.png +0 -0
  294. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_35.png +0 -0
  295. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_36.png +0 -0
  296. package/skills/design-templates/html-ppt/templates/animation-showcase.html +172 -0
  297. package/skills/design-templates/html-ppt/templates/deck.html +69 -0
  298. package/skills/design-templates/html-ppt/templates/full-decks/course-module/README.md +8 -0
  299. package/skills/design-templates/html-ppt/templates/full-decks/course-module/index.html +189 -0
  300. package/skills/design-templates/html-ppt/templates/full-decks/course-module/style.css +46 -0
  301. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/README.md +11 -0
  302. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/index.html +138 -0
  303. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/style.css +60 -0
  304. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/README.md +11 -0
  305. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/index.html +180 -0
  306. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/style.css +54 -0
  307. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/README.md +11 -0
  308. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/index.html +199 -0
  309. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/style.css +55 -0
  310. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/README.md +11 -0
  311. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/index.html +190 -0
  312. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/style.css +49 -0
  313. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/README.md +11 -0
  314. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/index.html +144 -0
  315. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/style.css +59 -0
  316. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/README.md +9 -0
  317. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/index.html +148 -0
  318. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/style.css +40 -0
  319. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/README.md +102 -0
  320. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/index.html +187 -0
  321. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/style.css +216 -0
  322. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/README.md +8 -0
  323. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/index.html +121 -0
  324. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/style.css +39 -0
  325. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/README.md +8 -0
  326. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/index.html +156 -0
  327. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/style.css +49 -0
  328. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/README.md +11 -0
  329. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/index.html +183 -0
  330. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/style.css +62 -0
  331. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/README.md +8 -0
  332. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/index.html +127 -0
  333. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/style.css +55 -0
  334. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/README.md +11 -0
  335. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/index.html +147 -0
  336. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/style.css +66 -0
  337. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/README.md +9 -0
  338. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/index.html +133 -0
  339. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/style.css +47 -0
  340. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/README.md +11 -0
  341. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/index.html +187 -0
  342. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/style.css +63 -0
  343. package/skills/design-templates/html-ppt/templates/full-decks-index.html +82 -0
  344. package/skills/design-templates/html-ppt/templates/layout-showcase.html +47 -0
  345. package/skills/design-templates/html-ppt/templates/single-page/arch-diagram.html +46 -0
  346. package/skills/design-templates/html-ppt/templates/single-page/big-quote.html +18 -0
  347. package/skills/design-templates/html-ppt/templates/single-page/bullets.html +19 -0
  348. package/skills/design-templates/html-ppt/templates/single-page/chart-bar.html +30 -0
  349. package/skills/design-templates/html-ppt/templates/single-page/chart-line.html +35 -0
  350. package/skills/design-templates/html-ppt/templates/single-page/chart-pie.html +36 -0
  351. package/skills/design-templates/html-ppt/templates/single-page/chart-radar.html +31 -0
  352. package/skills/design-templates/html-ppt/templates/single-page/code.html +33 -0
  353. package/skills/design-templates/html-ppt/templates/single-page/comparison.html +47 -0
  354. package/skills/design-templates/html-ppt/templates/single-page/cover.html +32 -0
  355. package/skills/design-templates/html-ppt/templates/single-page/cta.html +27 -0
  356. package/skills/design-templates/html-ppt/templates/single-page/diff.html +35 -0
  357. package/skills/design-templates/html-ppt/templates/single-page/flow-diagram.html +33 -0
  358. package/skills/design-templates/html-ppt/templates/single-page/gantt.html +29 -0
  359. package/skills/design-templates/html-ppt/templates/single-page/image-grid.html +34 -0
  360. package/skills/design-templates/html-ppt/templates/single-page/image-hero.html +33 -0
  361. package/skills/design-templates/html-ppt/templates/single-page/kpi-grid.html +19 -0
  362. package/skills/design-templates/html-ppt/templates/single-page/mindmap.html +38 -0
  363. package/skills/design-templates/html-ppt/templates/single-page/process-steps.html +27 -0
  364. package/skills/design-templates/html-ppt/templates/single-page/pros-cons.html +31 -0
  365. package/skills/design-templates/html-ppt/templates/single-page/roadmap.html +46 -0
  366. package/skills/design-templates/html-ppt/templates/single-page/section-divider.html +17 -0
  367. package/skills/design-templates/html-ppt/templates/single-page/stat-highlight.html +17 -0
  368. package/skills/design-templates/html-ppt/templates/single-page/table.html +33 -0
  369. package/skills/design-templates/html-ppt/templates/single-page/terminal.html +35 -0
  370. package/skills/design-templates/html-ppt/templates/single-page/thanks.html +21 -0
  371. package/skills/design-templates/html-ppt/templates/single-page/three-column.html +18 -0
  372. package/skills/design-templates/html-ppt/templates/single-page/timeline.html +32 -0
  373. package/skills/design-templates/html-ppt/templates/single-page/toc.html +26 -0
  374. package/skills/design-templates/html-ppt/templates/single-page/todo-checklist.html +33 -0
  375. package/skills/design-templates/html-ppt/templates/single-page/two-column.html +39 -0
  376. package/skills/design-templates/html-ppt/templates/theme-showcase.html +151 -0
  377. package/skills/design-templates/html-ppt-course-module/SKILL.md +78 -0
  378. package/skills/design-templates/html-ppt-course-module/example.html +542 -0
  379. package/skills/design-templates/html-ppt-dir-key-nav-minimal/SKILL.md +77 -0
  380. package/skills/design-templates/html-ppt-dir-key-nav-minimal/example.html +366 -0
  381. package/skills/design-templates/html-ppt-graphify-dark-graph/SKILL.md +77 -0
  382. package/skills/design-templates/html-ppt-graphify-dark-graph/example.html +402 -0
  383. package/skills/design-templates/html-ppt-hermes-cyber-terminal/SKILL.md +77 -0
  384. package/skills/design-templates/html-ppt-hermes-cyber-terminal/example.html +422 -0
  385. package/skills/design-templates/html-ppt-knowledge-arch-blueprint/SKILL.md +77 -0
  386. package/skills/design-templates/html-ppt-knowledge-arch-blueprint/example.html +407 -0
  387. package/skills/design-templates/html-ppt-obsidian-claude-gradient/SKILL.md +77 -0
  388. package/skills/design-templates/html-ppt-obsidian-claude-gradient/example.html +371 -0
  389. package/skills/design-templates/html-ppt-pitch-deck/SKILL.md +78 -0
  390. package/skills/design-templates/html-ppt-pitch-deck/example.html +495 -0
  391. package/skills/design-templates/html-ppt-presenter-mode-reveal/SKILL.md +78 -0
  392. package/skills/design-templates/html-ppt-presenter-mode-reveal/example.html +725 -0
  393. package/skills/design-templates/html-ppt-product-launch/SKILL.md +77 -0
  394. package/skills/design-templates/html-ppt-product-launch/example.html +467 -0
  395. package/skills/design-templates/html-ppt-taste-brutalist/SKILL.md +70 -0
  396. package/skills/design-templates/html-ppt-taste-brutalist/example.html +774 -0
  397. package/skills/design-templates/html-ppt-taste-editorial/SKILL.md +62 -0
  398. package/skills/design-templates/html-ppt-taste-editorial/example.html +689 -0
  399. package/skills/design-templates/html-ppt-tech-sharing/SKILL.md +77 -0
  400. package/skills/design-templates/html-ppt-tech-sharing/example.html +512 -0
  401. package/skills/design-templates/html-ppt-testing-safety-alert/SKILL.md +78 -0
  402. package/skills/design-templates/html-ppt-testing-safety-alert/example.html +413 -0
  403. package/skills/design-templates/html-ppt-weekly-report/SKILL.md +77 -0
  404. package/skills/design-templates/html-ppt-weekly-report/example.html +489 -0
  405. package/skills/design-templates/html-ppt-xhs-pastel-card/SKILL.md +78 -0
  406. package/skills/design-templates/html-ppt-xhs-pastel-card/example.html +381 -0
  407. package/skills/design-templates/html-ppt-xhs-post/SKILL.md +78 -0
  408. package/skills/design-templates/html-ppt-xhs-post/example.html +487 -0
  409. package/skills/design-templates/html-ppt-xhs-white-editorial/SKILL.md +77 -0
  410. package/skills/design-templates/html-ppt-xhs-white-editorial/example.html +418 -0
  411. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/LICENSE +21 -0
  412. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/SKILL.md +93 -0
  413. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/example.html +1640 -0
  414. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/template.json +48 -0
  415. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/LICENSE +21 -0
  416. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/SKILL.md +93 -0
  417. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/example.html +833 -0
  418. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/template.json +49 -0
  419. package/skills/design-templates/html-ppt-zhangzara-block-frame/LICENSE +21 -0
  420. package/skills/design-templates/html-ppt-zhangzara-block-frame/SKILL.md +93 -0
  421. package/skills/design-templates/html-ppt-zhangzara-block-frame/example.html +1453 -0
  422. package/skills/design-templates/html-ppt-zhangzara-block-frame/template.json +47 -0
  423. package/skills/design-templates/html-ppt-zhangzara-blue-professional/LICENSE +21 -0
  424. package/skills/design-templates/html-ppt-zhangzara-blue-professional/SKILL.md +93 -0
  425. package/skills/design-templates/html-ppt-zhangzara-blue-professional/example.html +1423 -0
  426. package/skills/design-templates/html-ppt-zhangzara-blue-professional/template.json +44 -0
  427. package/skills/design-templates/html-ppt-zhangzara-bold-poster/LICENSE +21 -0
  428. package/skills/design-templates/html-ppt-zhangzara-bold-poster/SKILL.md +93 -0
  429. package/skills/design-templates/html-ppt-zhangzara-bold-poster/example.html +876 -0
  430. package/skills/design-templates/html-ppt-zhangzara-bold-poster/template.json +45 -0
  431. package/skills/design-templates/html-ppt-zhangzara-broadside/LICENSE +21 -0
  432. package/skills/design-templates/html-ppt-zhangzara-broadside/SKILL.md +92 -0
  433. package/skills/design-templates/html-ppt-zhangzara-broadside/example.html +2144 -0
  434. package/skills/design-templates/html-ppt-zhangzara-broadside/template.json +49 -0
  435. package/skills/design-templates/html-ppt-zhangzara-capsule/LICENSE +21 -0
  436. package/skills/design-templates/html-ppt-zhangzara-capsule/SKILL.md +92 -0
  437. package/skills/design-templates/html-ppt-zhangzara-capsule/example.html +1413 -0
  438. package/skills/design-templates/html-ppt-zhangzara-capsule/template.json +51 -0
  439. package/skills/design-templates/html-ppt-zhangzara-cartesian/LICENSE +21 -0
  440. package/skills/design-templates/html-ppt-zhangzara-cartesian/SKILL.md +92 -0
  441. package/skills/design-templates/html-ppt-zhangzara-cartesian/example.html +1136 -0
  442. package/skills/design-templates/html-ppt-zhangzara-cartesian/template.json +47 -0
  443. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/LICENSE +21 -0
  444. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/SKILL.md +93 -0
  445. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/example.html +1205 -0
  446. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/template.json +49 -0
  447. package/skills/design-templates/html-ppt-zhangzara-coral/LICENSE +21 -0
  448. package/skills/design-templates/html-ppt-zhangzara-coral/SKILL.md +92 -0
  449. package/skills/design-templates/html-ppt-zhangzara-coral/example.html +1487 -0
  450. package/skills/design-templates/html-ppt-zhangzara-coral/template.json +45 -0
  451. package/skills/design-templates/html-ppt-zhangzara-creative-mode/LICENSE +21 -0
  452. package/skills/design-templates/html-ppt-zhangzara-creative-mode/SKILL.md +99 -0
  453. package/skills/design-templates/html-ppt-zhangzara-creative-mode/assets/deck-stage.js +619 -0
  454. package/skills/design-templates/html-ppt-zhangzara-creative-mode/example.html +636 -0
  455. package/skills/design-templates/html-ppt-zhangzara-creative-mode/template.json +47 -0
  456. package/skills/design-templates/html-ppt-zhangzara-daisy-days/LICENSE +21 -0
  457. package/skills/design-templates/html-ppt-zhangzara-daisy-days/SKILL.md +93 -0
  458. package/skills/design-templates/html-ppt-zhangzara-daisy-days/example.html +469 -0
  459. package/skills/design-templates/html-ppt-zhangzara-daisy-days/template.json +54 -0
  460. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/LICENSE +21 -0
  461. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/SKILL.md +98 -0
  462. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/assets/deck-stage.js +619 -0
  463. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/example.html +737 -0
  464. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/template.json +44 -0
  465. package/skills/design-templates/html-ppt-zhangzara-grove/LICENSE +21 -0
  466. package/skills/design-templates/html-ppt-zhangzara-grove/SKILL.md +92 -0
  467. package/skills/design-templates/html-ppt-zhangzara-grove/example.html +1676 -0
  468. package/skills/design-templates/html-ppt-zhangzara-grove/template.json +51 -0
  469. package/skills/figma-code-connect-components/SKILL.md +42 -0
  470. package/skills/figma-create-design-system-rules/SKILL.md +42 -0
  471. package/skills/figma-create-new-file/SKILL.md +41 -0
  472. package/skills/figma-generate-design/SKILL.md +42 -0
  473. package/skills/figma-generate-library/SKILL.md +42 -0
  474. package/skills/figma-implement-design/SKILL.md +42 -0
  475. package/skills/figma-use/SKILL.md +42 -0
  476. package/skills/full-page-screenshot/SKILL.md +42 -0
  477. package/skills/interview-me/SKILL.md +64 -0
  478. package/skills/planning-and-task-breakdown/SKILL.md +52 -0
  479. package/skills/sora/SKILL.md +43 -0
  480. package/skills/theme-factory/SKILL.md +43 -0
  481. package/skills/web-design-guidelines/SKILL.md +42 -0
  482. package/dist/agents/prompt-library/orchestration.d.ts +0 -4
  483. package/skills/brainstorming/SKILL.md +0 -164
  484. package/skills/brainstorming/scripts/frame-template.html +0 -214
  485. package/skills/brainstorming/scripts/helper.js +0 -88
  486. package/skills/brainstorming/scripts/server.cjs +0 -354
  487. package/skills/brainstorming/scripts/start-server.sh +0 -148
  488. package/skills/brainstorming/scripts/stop-server.sh +0 -56
  489. package/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
  490. package/skills/brainstorming/visual-companion.md +0 -287
@@ -0,0 +1,1487 @@
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>Presentation Template</title>
7
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.7/dist/chart.umd.min.js"></script>
8
+ <style>
9
+ @import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@300;400;600;700&display=swap');
10
+
11
+ :root {
12
+ --coral: #E85D5D;
13
+ --coral-dark: #D44A4A;
14
+ --cream: #F5F0E8;
15
+ --cream-dark: #E8E0D4;
16
+ --black: #1A1A1A;
17
+ --gray: #6B6B6B;
18
+ --light-gray: #B0B0B0;
19
+ }
20
+
21
+ * {
22
+ margin: 0;
23
+ padding: 0;
24
+ box-sizing: border-box;
25
+ }
26
+
27
+ html, body {
28
+ width: 100%;
29
+ height: 100%;
30
+ overflow: hidden;
31
+ font-family: 'Inter', sans-serif;
32
+ background: var(--black);
33
+ color: var(--black);
34
+ }
35
+
36
+ .presentation {
37
+ width: 100%;
38
+ height: 100%;
39
+ position: relative;
40
+ }
41
+
42
+ .slide {
43
+ width: 100%;
44
+ height: 100%;
45
+ position: absolute;
46
+ top: 0;
47
+ left: 0;
48
+ opacity: 0;
49
+ visibility: hidden;
50
+ transition: opacity 0.6s ease, visibility 0.6s ease;
51
+ overflow: hidden;
52
+ }
53
+
54
+ .slide.active {
55
+ opacity: 1;
56
+ visibility: visible;
57
+ }
58
+
59
+ /* Navigation */
60
+ .nav-dots {
61
+ position: fixed;
62
+ right: 24px;
63
+ top: 50%;
64
+ transform: translateY(-50%);
65
+ z-index: 1000;
66
+ display: flex;
67
+ flex-direction: column;
68
+ gap: 12px;
69
+ }
70
+
71
+ .nav-dot {
72
+ width: 10px;
73
+ height: 10px;
74
+ border-radius: 50%;
75
+ background: rgba(255,255,255,0.3);
76
+ border: 2px solid rgba(255,255,255,0.5);
77
+ cursor: pointer;
78
+ transition: all 0.3s ease;
79
+ }
80
+
81
+ .nav-dot.active {
82
+ background: var(--coral);
83
+ border-color: var(--coral);
84
+ }
85
+
86
+ .nav-dot.dark {
87
+ background: rgba(26,26,26,0.2);
88
+ border-color: rgba(26,26,26,0.4);
89
+ }
90
+
91
+ .nav-dot.dark.active {
92
+ background: var(--coral);
93
+ border-color: var(--coral);
94
+ }
95
+
96
+ .slide-counter {
97
+ position: fixed;
98
+ bottom: 24px;
99
+ right: 24px;
100
+ z-index: 1000;
101
+ font-family: 'Bebas Neue', sans-serif;
102
+ font-size: 18px;
103
+ letter-spacing: 2px;
104
+ color: rgba(255,255,255,0.6);
105
+ }
106
+
107
+ .slide-counter.dark {
108
+ color: rgba(26,26,26,0.5);
109
+ }
110
+
111
+ /* Arrow Navigation */
112
+ .nav-arrows {
113
+ position: fixed;
114
+ bottom: 24px;
115
+ left: 24px;
116
+ z-index: 1000;
117
+ display: flex;
118
+ gap: 16px;
119
+ }
120
+
121
+ .nav-arrow {
122
+ width: 44px;
123
+ height: 44px;
124
+ border-radius: 50%;
125
+ background: rgba(255,255,255,0.1);
126
+ border: 2px solid rgba(255,255,255,0.3);
127
+ color: white;
128
+ display: flex;
129
+ align-items: center;
130
+ justify-content: center;
131
+ cursor: pointer;
132
+ transition: all 0.3s ease;
133
+ font-size: 18px;
134
+ }
135
+
136
+ .nav-arrow:hover {
137
+ background: var(--coral);
138
+ border-color: var(--coral);
139
+ }
140
+
141
+ .nav-arrow.dark {
142
+ background: rgba(26,26,26,0.05);
143
+ border-color: rgba(26,26,26,0.2);
144
+ color: var(--black);
145
+ }
146
+
147
+ .nav-arrow.dark:hover {
148
+ background: var(--coral);
149
+ border-color: var(--coral);
150
+ color: white;
151
+ }
152
+
153
+ /* ===== SLIDE 1: TITLE / COVER ===== */
154
+ .slide-1 {
155
+ display: grid;
156
+ grid-template-rows: 32% 68%;
157
+ }
158
+
159
+ .slide-1 .top-section {
160
+ background: var(--coral);
161
+ position: relative;
162
+ overflow: hidden;
163
+ display: flex;
164
+ align-items: flex-start;
165
+ justify-content: flex-start;
166
+ padding: clamp(24px, 4vh, 48px) clamp(40px, 8vw, 100px);
167
+ }
168
+
169
+ .slide-1 .zigzag-layer {
170
+ position: absolute;
171
+ top: 0;
172
+ left: 0;
173
+ width: 100%;
174
+ height: 100%;
175
+ pointer-events: none;
176
+ }
177
+
178
+ .slide-1 .zigzag-layer svg {
179
+ width: 100%;
180
+ height: 100%;
181
+ }
182
+
183
+ .slide-1 .brand-mark {
184
+ font-family: 'Inter', sans-serif;
185
+ font-size: 12px;
186
+ font-weight: 700;
187
+ letter-spacing: 4px;
188
+ color: var(--black);
189
+ position: relative;
190
+ z-index: 2;
191
+ opacity: 0.7;
192
+ }
193
+
194
+ .slide-1 .bottom-section {
195
+ background: var(--cream);
196
+ padding: clamp(28px, 4.5vh, 60px) clamp(40px, 8vw, 100px) clamp(24px, 3.5vh, 44px);
197
+ display: flex;
198
+ flex-direction: column;
199
+ justify-content: space-between;
200
+ position: relative;
201
+ min-height: 0;
202
+ }
203
+
204
+ .slide-1 .main-title {
205
+ font-family: 'Bebas Neue', sans-serif;
206
+ /* Cap by both viewport WIDTH and HEIGHT so the 3-line title
207
+ can never grow taller than the bottom-section can hold.
208
+ Without the vh cap the title overflows on short laptops. */
209
+ font-size: min(120px, 9vw, 13vh);
210
+ color: var(--black);
211
+ line-height: 0.9;
212
+ letter-spacing: 4px;
213
+ }
214
+
215
+ .slide-1 .title-rule {
216
+ width: 100%;
217
+ height: 3px;
218
+ background: var(--black);
219
+ margin-top: clamp(16px, 2.5vh, 32px);
220
+ opacity: 0.15;
221
+ }
222
+
223
+ .slide-1 .meta-row {
224
+ display: flex;
225
+ justify-content: space-between;
226
+ align-items: baseline;
227
+ margin-top: auto;
228
+ padding-top: clamp(16px, 2.5vh, 32px);
229
+ }
230
+
231
+ .slide-1 .meta-left {
232
+ display: flex;
233
+ flex-direction: column;
234
+ gap: 2px;
235
+ }
236
+
237
+ .slide-1 .meta-right {
238
+ display: flex;
239
+ flex-direction: column;
240
+ align-items: flex-end;
241
+ gap: 2px;
242
+ }
243
+
244
+ .slide-1 .meta-label {
245
+ font-family: 'Inter', sans-serif;
246
+ font-size: 11px;
247
+ font-weight: 600;
248
+ letter-spacing: 3px;
249
+ text-transform: uppercase;
250
+ color: var(--gray);
251
+ }
252
+
253
+ .slide-1 .meta-value {
254
+ font-family: 'Bebas Neue', sans-serif;
255
+ font-size: min(44px, 3.5vw, 5.5vh);
256
+ color: var(--black);
257
+ letter-spacing: 2px;
258
+ line-height: 1;
259
+ }
260
+
261
+ .slide-1 .meta-date {
262
+ font-family: 'Bebas Neue', sans-serif;
263
+ font-size: min(38px, 3vw, 4.8vh);
264
+ color: var(--black);
265
+ letter-spacing: 2px;
266
+ line-height: 1;
267
+ }
268
+
269
+ /* ===== SLIDE 2: INTRODUCTION ===== */
270
+ .slide-2 {
271
+ background: var(--cream);
272
+ display: flex;
273
+ flex-direction: column;
274
+ padding: clamp(40px, 6vh, 80px) clamp(40px, 8vw, 100px);
275
+ }
276
+
277
+ .slide-2 .section-label {
278
+ font-family: 'Inter', sans-serif;
279
+ font-size: 12px;
280
+ font-weight: 700;
281
+ letter-spacing: 4px;
282
+ text-transform: uppercase;
283
+ color: var(--coral);
284
+ margin-bottom: 24px;
285
+ }
286
+
287
+ .slide-2 .big-statement {
288
+ font-family: 'Bebas Neue', sans-serif;
289
+ font-size: clamp(42px, 7vw, 100px);
290
+ color: var(--black);
291
+ line-height: 1.0;
292
+ letter-spacing: 2px;
293
+ max-width: 90%;
294
+ margin-bottom: 32px;
295
+ }
296
+
297
+ .slide-2 .body-text {
298
+ font-family: 'Inter', sans-serif;
299
+ font-size: clamp(15px, 1.4vw, 20px);
300
+ line-height: 1.7;
301
+ color: var(--gray);
302
+ max-width: 600px;
303
+ }
304
+
305
+ .slide-2 .accent-line {
306
+ width: 80px;
307
+ height: 4px;
308
+ background: var(--coral);
309
+ margin-top: auto;
310
+ }
311
+
312
+ /* ===== SLIDE 3: TWO COLUMN ===== */
313
+ .slide-3 {
314
+ background: var(--black);
315
+ display: grid;
316
+ grid-template-columns: 1fr 1fr;
317
+ }
318
+
319
+ .slide-3 .left-col {
320
+ background: var(--coral);
321
+ padding: clamp(40px, 6vh, 80px) clamp(32px, 4vw, 60px);
322
+ display: flex;
323
+ flex-direction: column;
324
+ justify-content: space-between;
325
+ position: relative;
326
+ overflow: hidden;
327
+ }
328
+
329
+ .slide-3 .left-col::before {
330
+ content: '';
331
+ position: absolute;
332
+ top: -50%;
333
+ right: -30%;
334
+ width: 80%;
335
+ height: 200%;
336
+ background: repeating-linear-gradient(
337
+ 45deg,
338
+ transparent,
339
+ transparent 20px,
340
+ rgba(0,0,0,0.06) 20px,
341
+ rgba(0,0,0,0.06) 40px
342
+ );
343
+ }
344
+
345
+ .slide-3 .left-col .number {
346
+ font-family: 'Bebas Neue', sans-serif;
347
+ font-size: clamp(100px, 15vw, 200px);
348
+ color: rgba(0,0,0,0.12);
349
+ line-height: 1;
350
+ position: relative;
351
+ }
352
+
353
+ .slide-3 .left-col .col-title {
354
+ font-family: 'Bebas Neue', sans-serif;
355
+ font-size: clamp(36px, 5vw, 72px);
356
+ color: var(--black);
357
+ line-height: 1;
358
+ letter-spacing: 2px;
359
+ position: relative;
360
+ z-index: 2;
361
+ }
362
+
363
+ .slide-3 .right-col {
364
+ padding: clamp(40px, 6vh, 80px) clamp(32px, 4vw, 60px);
365
+ display: flex;
366
+ flex-direction: column;
367
+ justify-content: center;
368
+ }
369
+
370
+ .slide-3 .right-col .item {
371
+ margin-bottom: 28px;
372
+ }
373
+
374
+ .slide-3 .right-col .item:last-child {
375
+ margin-bottom: 0;
376
+ }
377
+
378
+ .slide-3 .right-col .item-label {
379
+ font-family: 'Inter', sans-serif;
380
+ font-size: 11px;
381
+ font-weight: 700;
382
+ letter-spacing: 3px;
383
+ text-transform: uppercase;
384
+ color: var(--coral);
385
+ margin-bottom: 8px;
386
+ }
387
+
388
+ .slide-3 .right-col .item-text {
389
+ font-family: 'Inter', sans-serif;
390
+ font-size: clamp(14px, 1.2vw, 18px);
391
+ color: var(--cream);
392
+ line-height: 1.6;
393
+ }
394
+
395
+ /* ===== SLIDE 4: CHART / DATA ===== */
396
+ .slide-4 {
397
+ background: var(--cream);
398
+ display: flex;
399
+ flex-direction: column;
400
+ padding: clamp(40px, 6vh, 80px) clamp(40px, 8vw, 100px);
401
+ }
402
+
403
+ .slide-4 .slide-header {
404
+ display: flex;
405
+ justify-content: space-between;
406
+ align-items: flex-start;
407
+ margin-bottom: 40px;
408
+ }
409
+
410
+ .slide-4 .header-left .section-label {
411
+ font-family: 'Inter', sans-serif;
412
+ font-size: 12px;
413
+ font-weight: 700;
414
+ letter-spacing: 4px;
415
+ text-transform: uppercase;
416
+ color: var(--coral);
417
+ margin-bottom: 12px;
418
+ }
419
+
420
+ .slide-4 .header-left .slide-title {
421
+ font-family: 'Bebas Neue', sans-serif;
422
+ font-size: clamp(40px, 6vw, 80px);
423
+ color: var(--black);
424
+ line-height: 1;
425
+ letter-spacing: 2px;
426
+ }
427
+
428
+ .slide-4 .header-right {
429
+ text-align: right;
430
+ }
431
+
432
+ .slide-4 .stat-number {
433
+ font-family: 'Bebas Neue', sans-serif;
434
+ font-size: clamp(48px, 7vw, 96px);
435
+ color: var(--coral);
436
+ line-height: 1;
437
+ }
438
+
439
+ .slide-4 .stat-label {
440
+ font-family: 'Inter', sans-serif;
441
+ font-size: 12px;
442
+ color: var(--gray);
443
+ letter-spacing: 2px;
444
+ text-transform: uppercase;
445
+ }
446
+
447
+ .slide-4 .chart-container {
448
+ flex: 1;
449
+ display: flex;
450
+ gap: 40px;
451
+ align-items: stretch;
452
+ min-height: 0;
453
+ }
454
+
455
+ .slide-4 .chart-wrapper {
456
+ flex: 2;
457
+ position: relative;
458
+ min-height: 0;
459
+ }
460
+
461
+ .slide-4 .chart-wrapper canvas {
462
+ max-height: 100%;
463
+ }
464
+
465
+ .slide-4 .chart-sidebar {
466
+ flex: 1;
467
+ display: flex;
468
+ flex-direction: column;
469
+ gap: 20px;
470
+ justify-content: center;
471
+ }
472
+
473
+ .slide-4 .sidebar-item {
474
+ background: white;
475
+ padding: 20px 24px;
476
+ border-left: 4px solid var(--coral);
477
+ }
478
+
479
+ .slide-4 .sidebar-item .value {
480
+ font-family: 'Bebas Neue', sans-serif;
481
+ font-size: clamp(28px, 3vw, 48px);
482
+ color: var(--black);
483
+ line-height: 1;
484
+ }
485
+
486
+ .slide-4 .sidebar-item .label {
487
+ font-family: 'Inter', sans-serif;
488
+ font-size: 12px;
489
+ color: var(--gray);
490
+ margin-top: 4px;
491
+ letter-spacing: 1px;
492
+ }
493
+
494
+ /* ===== SLIDE 5: FULL WIDTH FEATURE ===== */
495
+ .slide-5 {
496
+ display: grid;
497
+ grid-template-rows: 1fr auto;
498
+ background: var(--black);
499
+ }
500
+
501
+ .slide-5 .visual-area {
502
+ background: linear-gradient(135deg, var(--coral-dark) 0%, var(--coral) 100%);
503
+ position: relative;
504
+ overflow: hidden;
505
+ display: flex;
506
+ align-items: center;
507
+ justify-content: center;
508
+ }
509
+
510
+ .slide-5 .visual-area .pattern-overlay {
511
+ position: absolute;
512
+ top: 0;
513
+ left: 0;
514
+ width: 100%;
515
+ height: 100%;
516
+ opacity: 0.1;
517
+ background-image: repeating-linear-gradient(
518
+ 90deg,
519
+ transparent,
520
+ transparent 60px,
521
+ var(--black) 60px,
522
+ var(--black) 62px
523
+ );
524
+ }
525
+
526
+ .slide-5 .visual-area .center-text {
527
+ font-family: 'Bebas Neue', sans-serif;
528
+ font-size: clamp(80px, 15vw, 200px);
529
+ color: var(--black);
530
+ letter-spacing: 12px;
531
+ position: relative;
532
+ z-index: 2;
533
+ text-align: center;
534
+ }
535
+
536
+ .slide-5 .info-bar {
537
+ background: var(--cream);
538
+ padding: clamp(24px, 4vh, 40px) clamp(40px, 8vw, 100px);
539
+ display: flex;
540
+ justify-content: space-between;
541
+ align-items: center;
542
+ }
543
+
544
+ .slide-5 .info-bar .bar-title {
545
+ font-family: 'Bebas Neue', sans-serif;
546
+ font-size: clamp(28px, 4vw, 56px);
547
+ color: var(--black);
548
+ letter-spacing: 2px;
549
+ }
550
+
551
+ .slide-5 .info-bar .bar-meta {
552
+ font-family: 'Inter', sans-serif;
553
+ font-size: 12px;
554
+ color: var(--gray);
555
+ letter-spacing: 2px;
556
+ text-transform: uppercase;
557
+ text-align: right;
558
+ }
559
+
560
+ /* ===== SLIDE 6: THREE COLUMNS ===== */
561
+ .slide-6 {
562
+ background: var(--cream);
563
+ display: flex;
564
+ flex-direction: column;
565
+ padding: clamp(40px, 6vh, 80px) clamp(40px, 8vw, 100px);
566
+ }
567
+
568
+ .slide-6 .slide-title {
569
+ font-family: 'Bebas Neue', sans-serif;
570
+ font-size: clamp(40px, 6vw, 80px);
571
+ color: var(--black);
572
+ line-height: 1;
573
+ letter-spacing: 2px;
574
+ margin-bottom: 8px;
575
+ }
576
+
577
+ .slide-6 .slide-subtitle {
578
+ font-family: 'Inter', sans-serif;
579
+ font-size: 14px;
580
+ color: var(--gray);
581
+ letter-spacing: 2px;
582
+ margin-bottom: 48px;
583
+ }
584
+
585
+ .slide-6 .columns-grid {
586
+ display: grid;
587
+ grid-template-columns: repeat(3, 1fr);
588
+ gap: 32px;
589
+ flex: 1;
590
+ }
591
+
592
+ .slide-6 .column-card {
593
+ background: white;
594
+ padding: clamp(24px, 3vh, 40px);
595
+ border-top: 5px solid var(--coral);
596
+ display: flex;
597
+ flex-direction: column;
598
+ }
599
+
600
+ .slide-6 .column-card .card-icon {
601
+ width: 48px;
602
+ height: 48px;
603
+ background: var(--coral);
604
+ margin-bottom: 20px;
605
+ display: flex;
606
+ align-items: center;
607
+ justify-content: center;
608
+ font-family: 'Bebas Neue', sans-serif;
609
+ font-size: 24px;
610
+ color: white;
611
+ }
612
+
613
+ .slide-6 .column-card .card-title {
614
+ font-family: 'Bebas Neue', sans-serif;
615
+ font-size: clamp(24px, 2.5vw, 36px);
616
+ color: var(--black);
617
+ letter-spacing: 1px;
618
+ margin-bottom: 12px;
619
+ line-height: 1.1;
620
+ }
621
+
622
+ .slide-6 .column-card .card-text {
623
+ font-family: 'Inter', sans-serif;
624
+ font-size: clamp(13px, 1.1vw, 16px);
625
+ color: var(--gray);
626
+ line-height: 1.6;
627
+ flex: 1;
628
+ }
629
+
630
+ .slide-6 .column-card .card-stat {
631
+ font-family: 'Bebas Neue', sans-serif;
632
+ font-size: clamp(36px, 4vw, 56px);
633
+ color: var(--coral);
634
+ line-height: 1;
635
+ margin-top: auto;
636
+ padding-top: 20px;
637
+ }
638
+
639
+ /* ===== SLIDE 7: QUOTE ===== */
640
+ .slide-7 {
641
+ background: var(--black);
642
+ display: grid;
643
+ grid-template-columns: 40% 60%;
644
+ }
645
+
646
+ .slide-7 .quote-left {
647
+ background: var(--coral);
648
+ display: flex;
649
+ align-items: center;
650
+ justify-content: center;
651
+ position: relative;
652
+ overflow: hidden;
653
+ }
654
+
655
+ .slide-7 .quote-left::after {
656
+ content: '';
657
+ position: absolute;
658
+ top: 0;
659
+ left: 0;
660
+ width: 100%;
661
+ height: 100%;
662
+ background: repeating-linear-gradient(
663
+ -45deg,
664
+ transparent,
665
+ transparent 30px,
666
+ rgba(0,0,0,0.06) 30px,
667
+ rgba(0,0,0,0.06) 60px
668
+ );
669
+ }
670
+
671
+ .slide-7 .quote-left .giant-mark {
672
+ font-family: 'Bebas Neue', sans-serif;
673
+ font-size: clamp(140px, 20vw, 280px);
674
+ color: var(--black);
675
+ opacity: 0.35;
676
+ line-height: 1;
677
+ position: relative;
678
+ z-index: 2;
679
+ }
680
+
681
+ .slide-7 .quote-right {
682
+ display: flex;
683
+ flex-direction: column;
684
+ justify-content: center;
685
+ padding: clamp(40px, 8vh, 100px) clamp(48px, 7vw, 100px);
686
+ }
687
+
688
+ .slide-7 .quote-text {
689
+ font-family: 'Inter', sans-serif;
690
+ font-size: clamp(20px, 2.5vw, 36px);
691
+ font-weight: 300;
692
+ color: var(--cream);
693
+ line-height: 1.5;
694
+ font-style: italic;
695
+ margin-bottom: 40px;
696
+ }
697
+
698
+ .slide-7 .quote-author {
699
+ font-family: 'Inter', sans-serif;
700
+ font-size: 14px;
701
+ font-weight: 600;
702
+ color: var(--coral);
703
+ letter-spacing: 3px;
704
+ text-transform: uppercase;
705
+ }
706
+
707
+ .slide-7 .quote-role {
708
+ font-family: 'Inter', sans-serif;
709
+ font-size: 12px;
710
+ color: var(--gray);
711
+ margin-top: 4px;
712
+ letter-spacing: 1px;
713
+ }
714
+
715
+ .slide-7 .quote-accent {
716
+ width: 60px;
717
+ height: 4px;
718
+ background: var(--coral);
719
+ margin-bottom: 32px;
720
+ }
721
+
722
+ /* ===== SLIDE 8: TIMELINE / DIAGRAM ===== */
723
+ .slide-8 {
724
+ background: var(--cream);
725
+ display: flex;
726
+ flex-direction: column;
727
+ padding: clamp(40px, 6vh, 80px) clamp(40px, 8vw, 100px);
728
+ }
729
+
730
+ .slide-8 .slide-header {
731
+ margin-bottom: 48px;
732
+ }
733
+
734
+ .slide-8 .section-label {
735
+ font-family: 'Inter', sans-serif;
736
+ font-size: 12px;
737
+ font-weight: 700;
738
+ letter-spacing: 4px;
739
+ text-transform: uppercase;
740
+ color: var(--coral);
741
+ margin-bottom: 12px;
742
+ }
743
+
744
+ .slide-8 .slide-title {
745
+ font-family: 'Bebas Neue', sans-serif;
746
+ font-size: clamp(40px, 6vw, 80px);
747
+ color: var(--black);
748
+ line-height: 1;
749
+ letter-spacing: 2px;
750
+ }
751
+
752
+ .slide-8 .timeline-container {
753
+ flex: 1;
754
+ display: flex;
755
+ align-items: center;
756
+ position: relative;
757
+ }
758
+
759
+ .slide-8 .timeline-line {
760
+ position: absolute;
761
+ top: 50%;
762
+ left: 0;
763
+ right: 0;
764
+ height: 4px;
765
+ background: var(--black);
766
+ transform: translateY(-50%);
767
+ }
768
+
769
+ .slide-8 .timeline-line::after {
770
+ content: '';
771
+ position: absolute;
772
+ top: 0;
773
+ left: 0;
774
+ width: 100%;
775
+ height: 100%;
776
+ background: repeating-linear-gradient(
777
+ 90deg,
778
+ var(--black) 0px,
779
+ var(--black) 20px,
780
+ transparent 20px,
781
+ transparent 30px
782
+ );
783
+ }
784
+
785
+ .slide-8 .timeline-points {
786
+ display: flex;
787
+ justify-content: space-between;
788
+ width: 100%;
789
+ position: relative;
790
+ z-index: 2;
791
+ }
792
+
793
+ .slide-8 .t-point {
794
+ display: flex;
795
+ flex-direction: column;
796
+ align-items: center;
797
+ width: 18%;
798
+ }
799
+
800
+ .slide-8 .t-point:nth-child(odd) .t-bubble {
801
+ margin-bottom: 24px;
802
+ order: 1;
803
+ }
804
+
805
+ .slide-8 .t-point:nth-child(odd) .t-info {
806
+ order: 2;
807
+ text-align: center;
808
+ }
809
+
810
+ .slide-8 .t-point:nth-child(even) .t-bubble {
811
+ margin-top: 24px;
812
+ order: 2;
813
+ }
814
+
815
+ .slide-8 .t-point:nth-child(even) .t-info {
816
+ order: 1;
817
+ text-align: center;
818
+ margin-bottom: 20px;
819
+ }
820
+
821
+ .slide-8 .t-bubble {
822
+ width: clamp(60px, 8vw, 100px);
823
+ height: clamp(60px, 8vw, 100px);
824
+ border-radius: 50%;
825
+ background: var(--coral);
826
+ display: flex;
827
+ align-items: center;
828
+ justify-content: center;
829
+ font-family: 'Bebas Neue', sans-serif;
830
+ font-size: clamp(20px, 2vw, 32px);
831
+ color: white;
832
+ border: 4px solid var(--black);
833
+ flex-shrink: 0;
834
+ }
835
+
836
+ .slide-8 .t-info .t-phase {
837
+ font-family: 'Inter', sans-serif;
838
+ font-size: 12px;
839
+ font-weight: 700;
840
+ letter-spacing: 2px;
841
+ text-transform: uppercase;
842
+ color: var(--coral);
843
+ margin-bottom: 4px;
844
+ }
845
+
846
+ .slide-8 .t-info .t-desc {
847
+ font-family: 'Inter', sans-serif;
848
+ font-size: clamp(12px, 1vw, 14px);
849
+ color: var(--gray);
850
+ line-height: 1.4;
851
+ }
852
+
853
+ /* ===== SLIDE 9: TEAM GRID ===== */
854
+ .slide-9 {
855
+ background: var(--black);
856
+ display: flex;
857
+ flex-direction: column;
858
+ padding: clamp(40px, 6vh, 80px) clamp(40px, 8vw, 100px);
859
+ }
860
+
861
+ .slide-9 .slide-title {
862
+ font-family: 'Bebas Neue', sans-serif;
863
+ font-size: clamp(40px, 6vw, 80px);
864
+ color: var(--cream);
865
+ line-height: 1;
866
+ letter-spacing: 2px;
867
+ margin-bottom: 8px;
868
+ }
869
+
870
+ .slide-9 .slide-subtitle {
871
+ font-family: 'Inter', sans-serif;
872
+ font-size: 14px;
873
+ color: var(--gray);
874
+ letter-spacing: 2px;
875
+ margin-bottom: 48px;
876
+ }
877
+
878
+ .slide-9 .team-grid {
879
+ display: grid;
880
+ grid-template-columns: repeat(4, 1fr);
881
+ gap: 24px;
882
+ flex: 1;
883
+ }
884
+
885
+ .slide-9 .team-member {
886
+ background: rgba(245, 240, 232, 0.05);
887
+ padding: clamp(20px, 2vh, 32px);
888
+ border: 1px solid rgba(245, 240, 232, 0.1);
889
+ display: flex;
890
+ flex-direction: column;
891
+ align-items: center;
892
+ text-align: center;
893
+ transition: all 0.3s ease;
894
+ }
895
+
896
+ .slide-9 .team-member:hover {
897
+ background: rgba(232, 93, 93, 0.1);
898
+ border-color: var(--coral);
899
+ }
900
+
901
+ .slide-9 .member-avatar {
902
+ width: clamp(60px, 8vw, 100px);
903
+ height: clamp(60px, 8vw, 100px);
904
+ border-radius: 50%;
905
+ background: linear-gradient(135deg, var(--coral) 0%, var(--coral-dark) 100%);
906
+ margin-bottom: 16px;
907
+ display: flex;
908
+ align-items: center;
909
+ justify-content: center;
910
+ font-family: 'Bebas Neue', sans-serif;
911
+ font-size: clamp(28px, 3vw, 40px);
912
+ color: white;
913
+ }
914
+
915
+ .slide-9 .member-name {
916
+ font-family: 'Inter', sans-serif;
917
+ font-size: 16px;
918
+ font-weight: 600;
919
+ color: var(--cream);
920
+ margin-bottom: 4px;
921
+ }
922
+
923
+ .slide-9 .member-role {
924
+ font-family: 'Inter', sans-serif;
925
+ font-size: 12px;
926
+ color: var(--gray);
927
+ letter-spacing: 1px;
928
+ }
929
+
930
+ /* ===== SLIDE 10: CLOSING ===== */
931
+ .slide-10 {
932
+ display: grid;
933
+ grid-template-columns: 55% 45%;
934
+ }
935
+
936
+ .slide-10 .left-panel {
937
+ background: var(--coral);
938
+ padding: clamp(40px, 8vh, 100px) clamp(40px, 6vw, 80px);
939
+ display: flex;
940
+ flex-direction: column;
941
+ justify-content: center;
942
+ position: relative;
943
+ overflow: hidden;
944
+ }
945
+
946
+ .slide-10 .left-panel .closing-title {
947
+ font-family: 'Bebas Neue', sans-serif;
948
+ font-size: clamp(48px, 8vw, 120px);
949
+ color: var(--black);
950
+ line-height: 0.95;
951
+ letter-spacing: 4px;
952
+ margin-bottom: 24px;
953
+ }
954
+
955
+ .slide-10 .left-panel .closing-subtitle {
956
+ font-family: 'Inter', sans-serif;
957
+ font-size: clamp(14px, 1.3vw, 20px);
958
+ color: rgba(0,0,0,0.7);
959
+ line-height: 1.6;
960
+ max-width: 400px;
961
+ }
962
+
963
+ .slide-10 .left-panel .zigzag-deco {
964
+ position: absolute;
965
+ bottom: 0;
966
+ left: 0;
967
+ width: 100%;
968
+ height: 60px;
969
+ opacity: 0.2;
970
+ }
971
+
972
+ .slide-10 .right-panel {
973
+ background: var(--cream);
974
+ padding: clamp(40px, 8vh, 100px) clamp(40px, 6vw, 80px);
975
+ display: flex;
976
+ flex-direction: column;
977
+ justify-content: center;
978
+ }
979
+
980
+ .slide-10 .contact-block {
981
+ margin-bottom: 32px;
982
+ }
983
+
984
+ .slide-10 .contact-block:last-child {
985
+ margin-bottom: 0;
986
+ }
987
+
988
+ .slide-10 .contact-label {
989
+ font-family: 'Inter', sans-serif;
990
+ font-size: 11px;
991
+ font-weight: 700;
992
+ letter-spacing: 3px;
993
+ text-transform: uppercase;
994
+ color: var(--gray);
995
+ margin-bottom: 8px;
996
+ }
997
+
998
+ .slide-10 .contact-value {
999
+ font-family: 'Bebas Neue', sans-serif;
1000
+ font-size: clamp(24px, 3vw, 40px);
1001
+ color: var(--black);
1002
+ letter-spacing: 2px;
1003
+ line-height: 1.1;
1004
+ }
1005
+
1006
+ .slide-10 .social-row {
1007
+ display: flex;
1008
+ gap: 16px;
1009
+ margin-top: 40px;
1010
+ }
1011
+
1012
+ .slide-10 .social-icon {
1013
+ width: 44px;
1014
+ height: 44px;
1015
+ border: 2px solid var(--black);
1016
+ display: flex;
1017
+ align-items: center;
1018
+ justify-content: center;
1019
+ font-family: 'Inter', sans-serif;
1020
+ font-size: 12px;
1021
+ font-weight: 700;
1022
+ color: var(--black);
1023
+ transition: all 0.3s ease;
1024
+ }
1025
+
1026
+ .slide-10 .social-icon:hover {
1027
+ background: var(--coral);
1028
+ border-color: var(--coral);
1029
+ color: white;
1030
+ }
1031
+
1032
+ /* Responsive */
1033
+ @media (max-width: 768px) {
1034
+ .slide-3 {
1035
+ grid-template-columns: 1fr;
1036
+ grid-template-rows: 40% 60%;
1037
+ }
1038
+
1039
+ .slide-6 .columns-grid {
1040
+ grid-template-columns: 1fr;
1041
+ gap: 16px;
1042
+ }
1043
+
1044
+ .slide-8 .timeline-container {
1045
+ overflow-x: auto;
1046
+ }
1047
+
1048
+ .slide-8 .timeline-points {
1049
+ min-width: 600px;
1050
+ }
1051
+
1052
+ .slide-9 .team-grid {
1053
+ grid-template-columns: repeat(2, 1fr);
1054
+ }
1055
+
1056
+ .slide-10 {
1057
+ grid-template-columns: 1fr;
1058
+ grid-template-rows: 50% 50%;
1059
+ }
1060
+
1061
+ .slide-4 .chart-container {
1062
+ flex-direction: column;
1063
+ }
1064
+
1065
+ .slide-7 {
1066
+ grid-template-columns: 1fr;
1067
+ grid-template-rows: 35% 65%;
1068
+ }
1069
+
1070
+ .slide-7 .quote-left {
1071
+ min-height: 200px;
1072
+ }
1073
+ }
1074
+ </style>
1075
+ </head>
1076
+ <body>
1077
+ <div class="presentation">
1078
+ <!-- Slide 1: Title / Cover -->
1079
+ <div class="slide slide-1 active">
1080
+ <div class="top-section">
1081
+ <div class="zigzag-layer">
1082
+ <svg viewBox="0 0 1200 400" preserveAspectRatio="xMidYMid slice">
1083
+ <polyline points="-50,320 50,120 150,320 250,120 350,320 450,120 550,320 650,120 750,320 850,120 950,320 1050,120 1150,320 1250,120"
1084
+ fill="none" stroke="#1A1A1A" stroke-width="18" stroke-linejoin="miter" stroke-linecap="butt" opacity="0.22"/>
1085
+ <polyline points="-50,380 50,180 150,380 250,180 350,380 450,180 550,380 650,180 750,380 850,180 950,380 1050,180 1150,380 1250,180"
1086
+ fill="none" stroke="#1A1A1A" stroke-width="12" stroke-linejoin="miter" stroke-linecap="butt" opacity="0.15"/>
1087
+ </svg>
1088
+ </div>
1089
+ <div class="brand-mark">VENTURE</div>
1090
+ </div>
1091
+ <div class="bottom-section">
1092
+ <div>
1093
+ <div class="main-title">QUARTERLY<br>STRATEGY<br>SESSION 2026</div>
1094
+ <div class="title-rule"></div>
1095
+ </div>
1096
+ <div class="meta-row">
1097
+ <div class="meta-left">
1098
+ <div class="meta-label">Location</div>
1099
+ <div class="meta-value">7TH FLOOR</div>
1100
+ </div>
1101
+ <div class="meta-right">
1102
+ <div class="meta-label">May 15 / 09:00 Start</div>
1103
+ <div class="meta-date">2026</div>
1104
+ </div>
1105
+ </div>
1106
+ </div>
1107
+ </div>
1108
+
1109
+ <!-- Slide 2: Introduction -->
1110
+ <div class="slide slide-2">
1111
+ <div class="section-label">01 / Overview</div>
1112
+ <div class="big-statement">REDEFINING THE BOUNDARIES OF WHAT IS POSSIBLE</div>
1113
+ <div class="body-text">
1114
+ We bring together diverse perspectives and bold ideas to create meaningful impact.
1115
+ Our approach combines strategic thinking with creative execution, ensuring every initiative
1116
+ delivers measurable results and lasting value for our partners and community.
1117
+ </div>
1118
+ <div class="accent-line"></div>
1119
+ </div>
1120
+
1121
+ <!-- Slide 3: Two Column -->
1122
+ <div class="slide slide-3">
1123
+ <div class="left-col">
1124
+ <div class="number">03</div>
1125
+ <div class="col-title">CORE<br>PILLARS</div>
1126
+ </div>
1127
+ <div class="right-col">
1128
+ <div class="item">
1129
+ <div class="item-label">Innovation</div>
1130
+ <div class="item-text">Pushing boundaries with cutting-edge solutions and forward-thinking methodologies.</div>
1131
+ </div>
1132
+ <div class="item">
1133
+ <div class="item-label">Collaboration</div>
1134
+ <div class="item-text">Building strong partnerships across teams, disciplines, and industries.</div>
1135
+ </div>
1136
+ <div class="item">
1137
+ <div class="item-label">Execution</div>
1138
+ <div class="item-text">Delivering results with precision, speed, and uncompromising quality.</div>
1139
+ </div>
1140
+ </div>
1141
+ </div>
1142
+
1143
+ <!-- Slide 4: Chart / Data -->
1144
+ <div class="slide slide-4">
1145
+ <div class="slide-header">
1146
+ <div class="header-left">
1147
+ <div class="section-label">02 / Performance</div>
1148
+ <div class="slide-title">GROWTH METRICS</div>
1149
+ </div>
1150
+ <div class="header-right">
1151
+ <div class="stat-number">+147%</div>
1152
+ <div class="stat-label">Year Over Year</div>
1153
+ </div>
1154
+ </div>
1155
+ <div class="chart-container">
1156
+ <div class="chart-wrapper">
1157
+ <canvas id="growthChart"></canvas>
1158
+ </div>
1159
+ <div class="chart-sidebar">
1160
+ <div class="sidebar-item">
1161
+ <div class="value">2.4M</div>
1162
+ <div class="label">Total Reach</div>
1163
+ </div>
1164
+ <div class="sidebar-item">
1165
+ <div class="value">89%</div>
1166
+ <div class="label">Retention Rate</div>
1167
+ </div>
1168
+ <div class="sidebar-item">
1169
+ <div class="value">156</div>
1170
+ <div class="label">New Partners</div>
1171
+ </div>
1172
+ </div>
1173
+ </div>
1174
+ </div>
1175
+
1176
+ <!-- Slide 5: Full Width Feature -->
1177
+ <div class="slide slide-5">
1178
+ <div class="visual-area">
1179
+ <div class="pattern-overlay"></div>
1180
+ <div class="center-text">IMPACT</div>
1181
+ </div>
1182
+ <div class="info-bar">
1183
+ <div class="bar-title">GLOBAL INITIATIVE 2026</div>
1184
+ <div class="bar-meta">Phase One / Launch Q2<br>12 Cities / 4 Continents</div>
1185
+ </div>
1186
+ </div>
1187
+
1188
+ <!-- Slide 6: Three Columns -->
1189
+ <div class="slide slide-6">
1190
+ <div class="slide-title">KEY OBJECTIVES</div>
1191
+ <div class="slide-subtitle">Strategic priorities for the upcoming fiscal period</div>
1192
+ <div class="columns-grid">
1193
+ <div class="column-card">
1194
+ <div class="card-icon">A</div>
1195
+ <div class="card-title">EXPAND REACH</div>
1196
+ <div class="card-text">Enter new markets and establish presence in emerging territories through targeted campaigns.</div>
1197
+ <div class="card-stat">24</div>
1198
+ </div>
1199
+ <div class="column-card">
1200
+ <div class="card-icon">B</div>
1201
+ <div class="card-title">DEEPEN ENGAGEMENT</div>
1202
+ <div class="card-text">Strengthen relationships with existing partners through enhanced service offerings.</div>
1203
+ <div class="card-stat">+45%</div>
1204
+ </div>
1205
+ <div class="column-card">
1206
+ <div class="card-icon">C</div>
1207
+ <div class="card-title">OPTIMIZE FLOW</div>
1208
+ <div class="card-text">Streamline internal processes to improve delivery times and resource allocation.</div>
1209
+ <div class="card-stat">3.2x</div>
1210
+ </div>
1211
+ </div>
1212
+ </div>
1213
+
1214
+ <!-- Slide 7: Quote -->
1215
+ <div class="slide slide-7">
1216
+ <div class="quote-left">
1217
+ <div class="giant-mark">"</div>
1218
+ </div>
1219
+ <div class="quote-right">
1220
+ <div class="quote-accent"></div>
1221
+ <div class="quote-text">The best way to predict the future is to create it with intention, precision, and the courage to challenge convention.</div>
1222
+ <div class="quote-author">Alexandra Chen</div>
1223
+ <div class="quote-role">Chief Strategy Officer</div>
1224
+ </div>
1225
+ </div>
1226
+
1227
+ <!-- Slide 8: Timeline / Diagram -->
1228
+ <div class="slide slide-8">
1229
+ <div class="slide-header">
1230
+ <div class="section-label">03 / Roadmap</div>
1231
+ <div class="slide-title">PROJECT TIMELINE</div>
1232
+ </div>
1233
+ <div class="timeline-container">
1234
+ <div class="timeline-line"></div>
1235
+ <div class="timeline-points">
1236
+ <div class="t-point">
1237
+ <div class="t-bubble">Q1</div>
1238
+ <div class="t-info">
1239
+ <div class="t-phase">Discovery</div>
1240
+ <div class="t-desc">Research &amp; planning phase with stakeholder alignment</div>
1241
+ </div>
1242
+ </div>
1243
+ <div class="t-point">
1244
+ <div class="t-bubble">Q2</div>
1245
+ <div class="t-info">
1246
+ <div class="t-phase">Design</div>
1247
+ <div class="t-desc">Concept development and prototype validation</div>
1248
+ </div>
1249
+ </div>
1250
+ <div class="t-point">
1251
+ <div class="t-bubble">Q3</div>
1252
+ <div class="t-info">
1253
+ <div class="t-phase">Build</div>
1254
+ <div class="t-desc">Full implementation and iterative refinement</div>
1255
+ </div>
1256
+ </div>
1257
+ <div class="t-point">
1258
+ <div class="t-bubble">Q4</div>
1259
+ <div class="t-info">
1260
+ <div class="t-phase">Launch</div>
1261
+ <div class="t-desc">Market release and performance monitoring</div>
1262
+ </div>
1263
+ </div>
1264
+ <div class="t-point">
1265
+ <div class="t-bubble">+</div>
1266
+ <div class="t-info">
1267
+ <div class="t-phase">Scale</div>
1268
+ <div class="t-desc">Expansion and long-term optimization</div>
1269
+ </div>
1270
+ </div>
1271
+ </div>
1272
+ </div>
1273
+ </div>
1274
+
1275
+ <!-- Slide 9: Team Grid -->
1276
+ <div class="slide slide-9">
1277
+ <div class="slide-title">LEADERSHIP</div>
1278
+ <div class="slide-subtitle">The people driving our vision forward</div>
1279
+ <div class="team-grid">
1280
+ <div class="team-member">
1281
+ <div class="member-avatar">JD</div>
1282
+ <div class="member-name">Jordan Davis</div>
1283
+ <div class="member-role">Chief Executive</div>
1284
+ </div>
1285
+ <div class="team-member">
1286
+ <div class="member-avatar">MK</div>
1287
+ <div class="member-name">Morgan Kim</div>
1288
+ <div class="member-role">Head of Product</div>
1289
+ </div>
1290
+ <div class="team-member">
1291
+ <div class="member-avatar">SR</div>
1292
+ <div class="member-name">Sam Rivera</div>
1293
+ <div class="member-role">Creative Director</div>
1294
+ </div>
1295
+ <div class="team-member">
1296
+ <div class="member-avatar">TW</div>
1297
+ <div class="member-name">Taylor Wong</div>
1298
+ <div class="member-role">Operations Lead</div>
1299
+ </div>
1300
+ </div>
1301
+ </div>
1302
+
1303
+ <!-- Slide 10: Closing -->
1304
+ <div class="slide slide-10">
1305
+ <div class="left-panel">
1306
+ <div class="closing-title">THANK<br>YOU</div>
1307
+ <div class="closing-subtitle">Let's build something extraordinary together. Reach out to start the conversation.</div>
1308
+ <svg class="zigzag-deco" viewBox="0 0 400 60" preserveAspectRatio="none">
1309
+ <path d="M0,30 L40,10 L80,30 L120,10 L160,30 L200,10 L240,30 L280,10 L320,30 L360,10 L400,30 L400,60 L0,60 Z" fill="black"/>
1310
+ </svg>
1311
+ </div>
1312
+ <div class="right-panel">
1313
+ <div class="contact-block">
1314
+ <div class="contact-label">Email</div>
1315
+ <div class="contact-value">HELLO@VENTURE.IO</div>
1316
+ </div>
1317
+ <div class="contact-block">
1318
+ <div class="contact-label">Phone</div>
1319
+ <div class="contact-value">+1 (555) 014-2298</div>
1320
+ </div>
1321
+ <div class="contact-block">
1322
+ <div class="contact-label">Office</div>
1323
+ <div class="contact-value">SEATTLE, WA</div>
1324
+ </div>
1325
+ <div class="social-row">
1326
+ <div class="social-icon">LI</div>
1327
+ <div class="social-icon">TW</div>
1328
+ <div class="social-icon">IG</div>
1329
+ </div>
1330
+ </div>
1331
+ </div>
1332
+ </div>
1333
+
1334
+ <!-- Navigation -->
1335
+ <div class="nav-dots" id="navDots"></div>
1336
+ <div class="slide-counter" id="slideCounter">01 / 10</div>
1337
+ <div class="nav-arrows" id="navArrows">
1338
+ <div class="nav-arrow" id="prevArrow">&#8592;</div>
1339
+ <div class="nav-arrow" id="nextArrow">&#8594;</div>
1340
+ </div>
1341
+
1342
+ <script>
1343
+ const slides = document.querySelectorAll('.slide');
1344
+ const totalSlides = slides.length;
1345
+ let currentSlide = 0;
1346
+
1347
+ const navDotsContainer = document.getElementById('navDots');
1348
+ const slideCounter = document.getElementById('slideCounter');
1349
+ const prevArrow = document.getElementById('prevArrow');
1350
+ const nextArrow = document.getElementById('nextArrow');
1351
+ const navArrows = document.getElementById('navArrows');
1352
+
1353
+ // Create dots
1354
+ slides.forEach((_, index) => {
1355
+ const dot = document.createElement('div');
1356
+ dot.className = 'nav-dot' + (index === 0 ? ' active' : '');
1357
+ dot.addEventListener('click', () => goToSlide(index));
1358
+ navDotsContainer.appendChild(dot);
1359
+ });
1360
+
1361
+ const dots = document.querySelectorAll('.nav-dot');
1362
+
1363
+ function updateNav() {
1364
+ slides.forEach((slide, index) => {
1365
+ slide.classList.toggle('active', index === currentSlide);
1366
+ });
1367
+ dots.forEach((dot, index) => {
1368
+ dot.classList.toggle('active', index === currentSlide);
1369
+ });
1370
+ slideCounter.textContent = String(currentSlide + 1).padStart(2, '0') + ' / ' + String(totalSlides).padStart(2, '0');
1371
+
1372
+ // Check if current slide has light background for dark nav elements
1373
+ const currentSlideEl = slides[currentSlide];
1374
+ const isLight = currentSlideEl.classList.contains('slide-2') ||
1375
+ currentSlideEl.classList.contains('slide-4') ||
1376
+ currentSlideEl.classList.contains('slide-6') ||
1377
+ currentSlideEl.classList.contains('slide-8');
1378
+
1379
+ dots.forEach(d => d.classList.toggle('dark', isLight));
1380
+ slideCounter.classList.toggle('dark', isLight);
1381
+ prevArrow.classList.toggle('dark', isLight);
1382
+ nextArrow.classList.toggle('dark', isLight);
1383
+ }
1384
+
1385
+ function goToSlide(index) {
1386
+ if (index >= 0 && index < totalSlides) {
1387
+ currentSlide = index;
1388
+ updateNav();
1389
+ }
1390
+ }
1391
+
1392
+ function nextSlide() {
1393
+ goToSlide((currentSlide + 1) % totalSlides);
1394
+ }
1395
+
1396
+ function prevSlide() {
1397
+ goToSlide((currentSlide - 1 + totalSlides) % totalSlides);
1398
+ }
1399
+
1400
+ prevArrow.addEventListener('click', prevSlide);
1401
+ nextArrow.addEventListener('click', nextSlide);
1402
+
1403
+ document.addEventListener('keydown', (e) => {
1404
+ if (e.key === 'ArrowRight' || e.key === ' ') {
1405
+ e.preventDefault();
1406
+ nextSlide();
1407
+ } else if (e.key === 'ArrowLeft') {
1408
+ e.preventDefault();
1409
+ prevSlide();
1410
+ }
1411
+ });
1412
+
1413
+ // Chart.js initialization for Slide 4
1414
+ function initChart() {
1415
+ const ctx = document.getElementById('growthChart');
1416
+ if (!ctx) return;
1417
+
1418
+ new Chart(ctx, {
1419
+ type: 'bar',
1420
+ data: {
1421
+ labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
1422
+ datasets: [{
1423
+ label: 'Revenue (K)',
1424
+ data: [45, 62, 55, 78, 95, 112],
1425
+ backgroundColor: '#E85D5D',
1426
+ borderColor: '#1A1A1A',
1427
+ borderWidth: 2,
1428
+ borderRadius: 0,
1429
+ borderSkipped: false,
1430
+ }, {
1431
+ label: 'Target (K)',
1432
+ data: [50, 58, 65, 72, 85, 100],
1433
+ backgroundColor: '#1A1A1A',
1434
+ borderColor: '#1A1A1A',
1435
+ borderWidth: 2,
1436
+ borderRadius: 0,
1437
+ borderSkipped: false,
1438
+ }]
1439
+ },
1440
+ options: {
1441
+ responsive: true,
1442
+ maintainAspectRatio: false,
1443
+ plugins: {
1444
+ legend: {
1445
+ position: 'top',
1446
+ labels: {
1447
+ font: { family: 'Inter', size: 12 },
1448
+ color: '#6B6B6B',
1449
+ usePointStyle: true,
1450
+ pointStyle: 'rect',
1451
+ padding: 20
1452
+ }
1453
+ }
1454
+ },
1455
+ scales: {
1456
+ x: {
1457
+ grid: { display: false },
1458
+ ticks: {
1459
+ font: { family: 'Inter', size: 12 },
1460
+ color: '#6B6B6B'
1461
+ }
1462
+ },
1463
+ y: {
1464
+ border: { display: false },
1465
+ grid: {
1466
+ color: 'rgba(26,26,26,0.08)',
1467
+ drawBorder: false
1468
+ },
1469
+ ticks: {
1470
+ font: { family: 'Inter', size: 11 },
1471
+ color: '#B0B0B0',
1472
+ callback: function(value) { return '$' + value + 'K'; }
1473
+ }
1474
+ }
1475
+ }
1476
+ }
1477
+ });
1478
+ }
1479
+
1480
+ // Initialize chart after a short delay to ensure canvas is visible
1481
+ setTimeout(initChart, 300);
1482
+
1483
+ // Initial nav update
1484
+ updateNav();
1485
+ </script>
1486
+ </body>
1487
+ </html>