@hiai-gg/hiai-opencode 0.2.1 → 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 (477) hide show
  1. package/.env.example +4 -0
  2. package/AGENTS.md +34 -38
  3. package/ARCHITECTURE.md +4 -3
  4. package/LICENSE.md +14 -0
  5. package/README.md +52 -21
  6. package/config/hiai-opencode.schema.json +11 -13
  7. package/dist/agents/{bob.d.ts → bob/claude.d.ts} +6 -2
  8. package/dist/agents/bob/core.d.ts +6 -0
  9. package/dist/agents/bob/gpt.d.ts +11 -0
  10. package/dist/agents/bob/index.d.ts +3 -0
  11. package/dist/agents/coder/core.d.ts +4 -0
  12. package/dist/agents/coder/gpt.d.ts +1 -4
  13. package/dist/agents/coder/index.d.ts +1 -0
  14. package/dist/agents/manager/agent.d.ts +1 -1
  15. package/dist/agents/manager/default-prompt-sections.d.ts +3 -3
  16. package/dist/agents/manager/guard-integration.d.ts +1 -0
  17. package/dist/agents/prompt-library/index.d.ts +0 -1
  18. package/dist/agents/prompt-library/shared-execution.d.ts +9 -0
  19. package/dist/agents/strategist/behavioral-summary.d.ts +1 -1
  20. package/dist/agents/strategist/identity-constraints.d.ts +1 -1
  21. package/dist/agents/strategist/plan-generation.d.ts +1 -1
  22. package/dist/agents/types.d.ts +2 -1
  23. package/dist/config/defaults.d.ts +1 -0
  24. package/dist/config/platform-schema.d.ts +26 -26
  25. package/dist/config/schema/agent-names.d.ts +6 -6
  26. package/dist/config/schema/agent-overrides.d.ts +0 -128
  27. package/dist/config/schema/hiai-opencode-config.d.ts +0 -128
  28. package/dist/config/types.d.ts +2 -2
  29. package/dist/features/background-agent/manager-notifier.d.ts +46 -0
  30. package/dist/features/background-agent/manager-types.d.ts +40 -0
  31. package/dist/features/background-agent/manager.d.ts +3 -19
  32. package/dist/features/background-agent/polling-manager.d.ts +51 -0
  33. package/dist/features/boulder-state/storage.d.ts +1 -0
  34. package/dist/features/builtin-commands/templates/loop.d.ts +2 -0
  35. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
  36. package/dist/features/builtin-skills/skills/interview-me.d.ts +2 -0
  37. package/dist/features/builtin-skills/skills/planning-and-task-breakdown.d.ts +2 -0
  38. package/dist/hooks/reasoning-content-cache/hook.d.ts +11 -0
  39. package/dist/hooks/reasoning-content-cache/index.d.ts +1 -0
  40. package/dist/hooks/session-recovery/checkpoint.d.ts +48 -0
  41. package/dist/hooks/session-recovery/enhanced-hook.d.ts +30 -0
  42. package/dist/hooks/session-recovery/state-backup.d.ts +76 -0
  43. package/dist/hooks/shared/compaction-in-progress.d.ts +4 -0
  44. package/dist/hooks/start-work/git-operations.d.ts +47 -0
  45. package/dist/hooks/token-budget.d.ts +30 -0
  46. package/dist/index.js +1185 -1078
  47. package/dist/mcp/rate-limiter.d.ts +68 -0
  48. package/dist/plugin/chat-message.d.ts +8 -0
  49. package/dist/plugin/command-execute-before.d.ts +1 -1
  50. package/dist/plugin/event-handlers/message-updated.d.ts +2 -0
  51. package/dist/plugin/event-handlers/session-error.d.ts +2 -0
  52. package/dist/plugin/event-handlers/session-status.d.ts +2 -0
  53. package/dist/plugin/event-handlers/types.d.ts +62 -0
  54. package/dist/plugin/event-handlers/utils.d.ts +11 -0
  55. package/dist/plugin/event.d.ts +1 -1
  56. package/dist/shared/data-path.d.ts +1 -1
  57. package/dist/shared/errors.d.ts +70 -0
  58. package/dist/shared/extract-session-id.d.ts +8 -0
  59. package/dist/shared/git-worktree/get-git-state-summary.d.ts +14 -0
  60. package/dist/shared/index.d.ts +67 -68
  61. package/dist/shared/internal-initiator-marker.d.ts +1 -1
  62. package/dist/shared/logger.d.ts +5 -1
  63. package/dist/shared/reasoning-content-cache.d.ts +68 -0
  64. package/dist/shared/safe-create-hook.d.ts +4 -4
  65. package/dist/tools/call-hiai-agent/constants.d.ts +2 -2
  66. package/dist/tools/delegate-task/sub-agent.d.ts +1 -1
  67. package/dist/tools/look-at/constants.d.ts +1 -1
  68. package/docs/architecture/bob-manager-architecture.md +244 -0
  69. package/docs/hiai-opencode/adr/ADR-001-agent-identity-section-injection.md +66 -0
  70. package/docs/hiai-opencode/adr/ADR-002-anti-loop-guard-priority.md +63 -0
  71. package/docs/hiai-opencode/adr/ADR-003-compaction-mechanism.md +71 -0
  72. package/docs/hiai-opencode/adr/ADR-004-session-recovery.md +76 -0
  73. package/docs/hiai-opencode/api.md +305 -0
  74. package/docs/hiai-opencode/hooks-architecture.md +225 -0
  75. package/docs/hiai-opencode/migration.md +209 -0
  76. package/docs/skill-discovery.md +288 -0
  77. package/package.json +1 -1
  78. package/skills/agent-browser/SKILL.md +193 -0
  79. package/skills/apple-hig/SKILL.md +43 -0
  80. package/skills/article-magazine/SKILL.md +46 -0
  81. package/skills/article-magazine/example.html +81 -0
  82. package/skills/article-magazine/example.md +38 -0
  83. package/skills/canvas-design/SKILL.md +45 -0
  84. package/skills/design-templates/audio-jingle/SKILL.md +132 -0
  85. package/skills/design-templates/audio-jingle/example.html +128 -0
  86. package/skills/design-templates/blog-post/SKILL.md +80 -0
  87. package/skills/design-templates/blog-post/example.html +80 -0
  88. package/skills/design-templates/clinical-case-report/SKILL.md +209 -0
  89. package/skills/design-templates/clinical-case-report/example.html +698 -0
  90. package/skills/design-templates/clinical-case-report/examples/example-stemi.html +698 -0
  91. package/skills/design-templates/clinical-case-report/references/case-formats.md +94 -0
  92. package/skills/design-templates/clinical-case-report/references/checklist.md +41 -0
  93. package/skills/design-templates/critique/SKILL.md +258 -0
  94. package/skills/design-templates/critique/example.html +671 -0
  95. package/skills/design-templates/dashboard/SKILL.md +76 -0
  96. package/skills/design-templates/dashboard/example.html +118 -0
  97. package/skills/design-templates/dating-web/SKILL.md +92 -0
  98. package/skills/design-templates/dating-web/example.html +265 -0
  99. package/skills/design-templates/dcf-valuation/SKILL.md +140 -0
  100. package/skills/design-templates/dcf-valuation/references/sector-wacc.md +42 -0
  101. package/skills/design-templates/digital-eguide/SKILL.md +94 -0
  102. package/skills/design-templates/digital-eguide/example.html +204 -0
  103. package/skills/design-templates/docs-page/SKILL.md +80 -0
  104. package/skills/design-templates/docs-page/example.html +122 -0
  105. package/skills/design-templates/email-marketing/SKILL.md +84 -0
  106. package/skills/design-templates/email-marketing/example.html +159 -0
  107. package/skills/design-templates/eng-runbook/SKILL.md +51 -0
  108. package/skills/design-templates/eng-runbook/example.html +250 -0
  109. package/skills/design-templates/finance-report/SKILL.md +61 -0
  110. package/skills/design-templates/finance-report/example.html +242 -0
  111. package/skills/design-templates/flowai-live-dashboard-template/SKILL.md +87 -0
  112. package/skills/design-templates/flowai-live-dashboard-template/assets/template.html +387 -0
  113. package/skills/design-templates/flowai-live-dashboard-template/example.html +13 -0
  114. package/skills/design-templates/flowai-live-dashboard-template/references/checklist.md +35 -0
  115. package/skills/design-templates/gamified-app/SKILL.md +108 -0
  116. package/skills/design-templates/gamified-app/example.html +292 -0
  117. package/skills/design-templates/github-dashboard/SKILL.md +130 -0
  118. package/skills/design-templates/github-dashboard/example.html +473 -0
  119. package/skills/design-templates/github-dashboard/references/README.md +10 -0
  120. package/skills/design-templates/github-dashboard/references/artifact-example.json +15 -0
  121. package/skills/design-templates/github-dashboard/references/example-data.json +138 -0
  122. package/skills/design-templates/github-dashboard/references/provenance-example.json +92 -0
  123. package/skills/design-templates/github-dashboard/references/template.html +473 -0
  124. package/skills/design-templates/guizang-ppt/LICENSE +21 -0
  125. package/skills/design-templates/guizang-ppt/README.en.md +119 -0
  126. package/skills/design-templates/guizang-ppt/README.md +120 -0
  127. package/skills/design-templates/guizang-ppt/README.pt-BR.md +121 -0
  128. package/skills/design-templates/guizang-ppt/SKILL.md +313 -0
  129. package/skills/design-templates/guizang-ppt/assets/example-slides.html +318 -0
  130. package/skills/design-templates/guizang-ppt/assets/template.html +647 -0
  131. package/skills/design-templates/guizang-ppt/references/checklist.md +265 -0
  132. package/skills/design-templates/guizang-ppt/references/components.md +363 -0
  133. package/skills/design-templates/guizang-ppt/references/layouts.md +630 -0
  134. package/skills/design-templates/guizang-ppt/references/styles.md +195 -0
  135. package/skills/design-templates/guizang-ppt/references/themes.md +122 -0
  136. package/skills/design-templates/hr-onboarding/SKILL.md +52 -0
  137. package/skills/design-templates/hr-onboarding/example.html +219 -0
  138. package/skills/design-templates/html-ppt/.clawscan-allow +12 -0
  139. package/skills/design-templates/html-ppt/LICENSE +21 -0
  140. package/skills/design-templates/html-ppt/README.md +234 -0
  141. package/skills/design-templates/html-ppt/README.pt-BR.md +239 -0
  142. package/skills/design-templates/html-ppt/README.zh-CN.md +238 -0
  143. package/skills/design-templates/html-ppt/SKILL.md +250 -0
  144. package/skills/design-templates/html-ppt/assets/animations/animations.css +138 -0
  145. package/skills/design-templates/html-ppt/assets/animations/fx/_util.js +63 -0
  146. package/skills/design-templates/html-ppt/assets/animations/fx/chain-react.js +41 -0
  147. package/skills/design-templates/html-ppt/assets/animations/fx/confetti-cannon.js +49 -0
  148. package/skills/design-templates/html-ppt/assets/animations/fx/constellation.js +44 -0
  149. package/skills/design-templates/html-ppt/assets/animations/fx/counter-explosion.js +58 -0
  150. package/skills/design-templates/html-ppt/assets/animations/fx/data-stream.js +45 -0
  151. package/skills/design-templates/html-ppt/assets/animations/fx/firework.js +51 -0
  152. package/skills/design-templates/html-ppt/assets/animations/fx/galaxy-swirl.js +33 -0
  153. package/skills/design-templates/html-ppt/assets/animations/fx/gradient-blob.js +39 -0
  154. package/skills/design-templates/html-ppt/assets/animations/fx/knowledge-graph.js +69 -0
  155. package/skills/design-templates/html-ppt/assets/animations/fx/letter-explode.js +50 -0
  156. package/skills/design-templates/html-ppt/assets/animations/fx/magnetic-field.js +40 -0
  157. package/skills/design-templates/html-ppt/assets/animations/fx/matrix-rain.js +33 -0
  158. package/skills/design-templates/html-ppt/assets/animations/fx/neural-net.js +75 -0
  159. package/skills/design-templates/html-ppt/assets/animations/fx/orbit-ring.js +38 -0
  160. package/skills/design-templates/html-ppt/assets/animations/fx/particle-burst.js +42 -0
  161. package/skills/design-templates/html-ppt/assets/animations/fx/shockwave.js +39 -0
  162. package/skills/design-templates/html-ppt/assets/animations/fx/sparkle-trail.js +62 -0
  163. package/skills/design-templates/html-ppt/assets/animations/fx/starfield.js +30 -0
  164. package/skills/design-templates/html-ppt/assets/animations/fx/typewriter-multi.js +51 -0
  165. package/skills/design-templates/html-ppt/assets/animations/fx/word-cascade.js +47 -0
  166. package/skills/design-templates/html-ppt/assets/animations/fx-runtime.js +99 -0
  167. package/skills/design-templates/html-ppt/assets/base.css +150 -0
  168. package/skills/design-templates/html-ppt/assets/fonts.css +9 -0
  169. package/skills/design-templates/html-ppt/assets/runtime.js +960 -0
  170. package/skills/design-templates/html-ppt/assets/themes/academic-paper.css +23 -0
  171. package/skills/design-templates/html-ppt/assets/themes/arctic-cool.css +14 -0
  172. package/skills/design-templates/html-ppt/assets/themes/aurora.css +20 -0
  173. package/skills/design-templates/html-ppt/assets/themes/bauhaus.css +16 -0
  174. package/skills/design-templates/html-ppt/assets/themes/blueprint.css +19 -0
  175. package/skills/design-templates/html-ppt/assets/themes/catppuccin-latte.css +14 -0
  176. package/skills/design-templates/html-ppt/assets/themes/catppuccin-mocha.css +14 -0
  177. package/skills/design-templates/html-ppt/assets/themes/corporate-clean.css +19 -0
  178. package/skills/design-templates/html-ppt/assets/themes/cyberpunk-neon.css +23 -0
  179. package/skills/design-templates/html-ppt/assets/themes/dracula.css +14 -0
  180. package/skills/design-templates/html-ppt/assets/themes/editorial-serif.css +18 -0
  181. package/skills/design-templates/html-ppt/assets/themes/engineering-whiteprint.css +26 -0
  182. package/skills/design-templates/html-ppt/assets/themes/glassmorphism.css +21 -0
  183. package/skills/design-templates/html-ppt/assets/themes/gruvbox-dark.css +14 -0
  184. package/skills/design-templates/html-ppt/assets/themes/japanese-minimal.css +21 -0
  185. package/skills/design-templates/html-ppt/assets/themes/magazine-bold.css +21 -0
  186. package/skills/design-templates/html-ppt/assets/themes/memphis-pop.css +20 -0
  187. package/skills/design-templates/html-ppt/assets/themes/midcentury.css +19 -0
  188. package/skills/design-templates/html-ppt/assets/themes/minimal-white.css +16 -0
  189. package/skills/design-templates/html-ppt/assets/themes/neo-brutalism.css +17 -0
  190. package/skills/design-templates/html-ppt/assets/themes/news-broadcast.css +20 -0
  191. package/skills/design-templates/html-ppt/assets/themes/nord.css +14 -0
  192. package/skills/design-templates/html-ppt/assets/themes/pitch-deck-vc.css +21 -0
  193. package/skills/design-templates/html-ppt/assets/themes/rainbow-gradient.css +16 -0
  194. package/skills/design-templates/html-ppt/assets/themes/retro-tv.css +22 -0
  195. package/skills/design-templates/html-ppt/assets/themes/rose-pine.css +14 -0
  196. package/skills/design-templates/html-ppt/assets/themes/sharp-mono.css +17 -0
  197. package/skills/design-templates/html-ppt/assets/themes/soft-pastel.css +14 -0
  198. package/skills/design-templates/html-ppt/assets/themes/solarized-light.css +14 -0
  199. package/skills/design-templates/html-ppt/assets/themes/sunset-warm.css +14 -0
  200. package/skills/design-templates/html-ppt/assets/themes/swiss-grid.css +17 -0
  201. package/skills/design-templates/html-ppt/assets/themes/terminal-green.css +18 -0
  202. package/skills/design-templates/html-ppt/assets/themes/tokyo-night.css +14 -0
  203. package/skills/design-templates/html-ppt/assets/themes/vaporwave.css +21 -0
  204. package/skills/design-templates/html-ppt/assets/themes/xiaohongshu-white.css +16 -0
  205. package/skills/design-templates/html-ppt/assets/themes/y2k-chrome.css +20 -0
  206. package/skills/design-templates/html-ppt/docs/readme/_theme-cell.html +56 -0
  207. package/skills/design-templates/html-ppt/docs/readme/animations.png +0 -0
  208. package/skills/design-templates/html-ppt/docs/readme/hero.gif +0 -0
  209. package/skills/design-templates/html-ppt/docs/readme/layouts-live.gif +0 -0
  210. package/skills/design-templates/html-ppt/docs/readme/layouts.png +0 -0
  211. package/skills/design-templates/html-ppt/docs/readme/montage-animations.html +61 -0
  212. package/skills/design-templates/html-ppt/docs/readme/montage-layouts.html +72 -0
  213. package/skills/design-templates/html-ppt/docs/readme/montage-templates.html +72 -0
  214. package/skills/design-templates/html-ppt/docs/readme/montage-themes.html +38 -0
  215. package/skills/design-templates/html-ppt/docs/readme/presenter-mode.png +0 -0
  216. package/skills/design-templates/html-ppt/docs/readme/templates.png +0 -0
  217. package/skills/design-templates/html-ppt/docs/readme/themes.png +0 -0
  218. package/skills/design-templates/html-ppt/examples/demo-deck/index.html +161 -0
  219. package/skills/design-templates/html-ppt/references/animations.md +147 -0
  220. package/skills/design-templates/html-ppt/references/authoring-guide.md +141 -0
  221. package/skills/design-templates/html-ppt/references/full-decks.md +98 -0
  222. package/skills/design-templates/html-ppt/references/layouts.md +103 -0
  223. package/skills/design-templates/html-ppt/references/presenter-mode.md +240 -0
  224. package/skills/design-templates/html-ppt/references/themes.md +107 -0
  225. package/skills/design-templates/html-ppt/scripts/new-deck.sh +46 -0
  226. package/skills/design-templates/html-ppt/scripts/render.sh +71 -0
  227. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_01.png +0 -0
  228. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_02.png +0 -0
  229. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_03.png +0 -0
  230. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_04.png +0 -0
  231. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_05.png +0 -0
  232. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_06.png +0 -0
  233. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_07.png +0 -0
  234. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_08.png +0 -0
  235. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_09.png +0 -0
  236. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_10.png +0 -0
  237. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_11.png +0 -0
  238. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_12.png +0 -0
  239. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_13.png +0 -0
  240. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_14.png +0 -0
  241. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_15.png +0 -0
  242. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_16.png +0 -0
  243. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_17.png +0 -0
  244. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_18.png +0 -0
  245. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_19.png +0 -0
  246. package/skills/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_20.png +0 -0
  247. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_01.png +0 -0
  248. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_02.png +0 -0
  249. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_03.png +0 -0
  250. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_04.png +0 -0
  251. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_05.png +0 -0
  252. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_06.png +0 -0
  253. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_07.png +0 -0
  254. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_08.png +0 -0
  255. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_09.png +0 -0
  256. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_10.png +0 -0
  257. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_11.png +0 -0
  258. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_12.png +0 -0
  259. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_13.png +0 -0
  260. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_14.png +0 -0
  261. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_15.png +0 -0
  262. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_16.png +0 -0
  263. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_17.png +0 -0
  264. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_18.png +0 -0
  265. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_19.png +0 -0
  266. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_20.png +0 -0
  267. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_21.png +0 -0
  268. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_22.png +0 -0
  269. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_23.png +0 -0
  270. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_24.png +0 -0
  271. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_25.png +0 -0
  272. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_26.png +0 -0
  273. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_27.png +0 -0
  274. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_28.png +0 -0
  275. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_29.png +0 -0
  276. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_30.png +0 -0
  277. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_31.png +0 -0
  278. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_32.png +0 -0
  279. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_33.png +0 -0
  280. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_34.png +0 -0
  281. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_35.png +0 -0
  282. package/skills/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_36.png +0 -0
  283. package/skills/design-templates/html-ppt/templates/animation-showcase.html +172 -0
  284. package/skills/design-templates/html-ppt/templates/deck.html +69 -0
  285. package/skills/design-templates/html-ppt/templates/full-decks/course-module/README.md +8 -0
  286. package/skills/design-templates/html-ppt/templates/full-decks/course-module/index.html +189 -0
  287. package/skills/design-templates/html-ppt/templates/full-decks/course-module/style.css +46 -0
  288. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/README.md +11 -0
  289. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/index.html +138 -0
  290. package/skills/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/style.css +60 -0
  291. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/README.md +11 -0
  292. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/index.html +180 -0
  293. package/skills/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/style.css +54 -0
  294. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/README.md +11 -0
  295. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/index.html +199 -0
  296. package/skills/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/style.css +55 -0
  297. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/README.md +11 -0
  298. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/index.html +190 -0
  299. package/skills/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/style.css +49 -0
  300. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/README.md +11 -0
  301. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/index.html +144 -0
  302. package/skills/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/style.css +59 -0
  303. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/README.md +9 -0
  304. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/index.html +148 -0
  305. package/skills/design-templates/html-ppt/templates/full-decks/pitch-deck/style.css +40 -0
  306. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/README.md +102 -0
  307. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/index.html +187 -0
  308. package/skills/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/style.css +216 -0
  309. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/README.md +8 -0
  310. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/index.html +121 -0
  311. package/skills/design-templates/html-ppt/templates/full-decks/product-launch/style.css +39 -0
  312. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/README.md +8 -0
  313. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/index.html +156 -0
  314. package/skills/design-templates/html-ppt/templates/full-decks/tech-sharing/style.css +49 -0
  315. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/README.md +11 -0
  316. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/index.html +183 -0
  317. package/skills/design-templates/html-ppt/templates/full-decks/testing-safety-alert/style.css +62 -0
  318. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/README.md +8 -0
  319. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/index.html +127 -0
  320. package/skills/design-templates/html-ppt/templates/full-decks/weekly-report/style.css +55 -0
  321. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/README.md +11 -0
  322. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/index.html +147 -0
  323. package/skills/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/style.css +66 -0
  324. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/README.md +9 -0
  325. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/index.html +133 -0
  326. package/skills/design-templates/html-ppt/templates/full-decks/xhs-post/style.css +47 -0
  327. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/README.md +11 -0
  328. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/index.html +187 -0
  329. package/skills/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/style.css +63 -0
  330. package/skills/design-templates/html-ppt/templates/full-decks-index.html +82 -0
  331. package/skills/design-templates/html-ppt/templates/layout-showcase.html +47 -0
  332. package/skills/design-templates/html-ppt/templates/single-page/arch-diagram.html +46 -0
  333. package/skills/design-templates/html-ppt/templates/single-page/big-quote.html +18 -0
  334. package/skills/design-templates/html-ppt/templates/single-page/bullets.html +19 -0
  335. package/skills/design-templates/html-ppt/templates/single-page/chart-bar.html +30 -0
  336. package/skills/design-templates/html-ppt/templates/single-page/chart-line.html +35 -0
  337. package/skills/design-templates/html-ppt/templates/single-page/chart-pie.html +36 -0
  338. package/skills/design-templates/html-ppt/templates/single-page/chart-radar.html +31 -0
  339. package/skills/design-templates/html-ppt/templates/single-page/code.html +33 -0
  340. package/skills/design-templates/html-ppt/templates/single-page/comparison.html +47 -0
  341. package/skills/design-templates/html-ppt/templates/single-page/cover.html +32 -0
  342. package/skills/design-templates/html-ppt/templates/single-page/cta.html +27 -0
  343. package/skills/design-templates/html-ppt/templates/single-page/diff.html +35 -0
  344. package/skills/design-templates/html-ppt/templates/single-page/flow-diagram.html +33 -0
  345. package/skills/design-templates/html-ppt/templates/single-page/gantt.html +29 -0
  346. package/skills/design-templates/html-ppt/templates/single-page/image-grid.html +34 -0
  347. package/skills/design-templates/html-ppt/templates/single-page/image-hero.html +33 -0
  348. package/skills/design-templates/html-ppt/templates/single-page/kpi-grid.html +19 -0
  349. package/skills/design-templates/html-ppt/templates/single-page/mindmap.html +38 -0
  350. package/skills/design-templates/html-ppt/templates/single-page/process-steps.html +27 -0
  351. package/skills/design-templates/html-ppt/templates/single-page/pros-cons.html +31 -0
  352. package/skills/design-templates/html-ppt/templates/single-page/roadmap.html +46 -0
  353. package/skills/design-templates/html-ppt/templates/single-page/section-divider.html +17 -0
  354. package/skills/design-templates/html-ppt/templates/single-page/stat-highlight.html +17 -0
  355. package/skills/design-templates/html-ppt/templates/single-page/table.html +33 -0
  356. package/skills/design-templates/html-ppt/templates/single-page/terminal.html +35 -0
  357. package/skills/design-templates/html-ppt/templates/single-page/thanks.html +21 -0
  358. package/skills/design-templates/html-ppt/templates/single-page/three-column.html +18 -0
  359. package/skills/design-templates/html-ppt/templates/single-page/timeline.html +32 -0
  360. package/skills/design-templates/html-ppt/templates/single-page/toc.html +26 -0
  361. package/skills/design-templates/html-ppt/templates/single-page/todo-checklist.html +33 -0
  362. package/skills/design-templates/html-ppt/templates/single-page/two-column.html +39 -0
  363. package/skills/design-templates/html-ppt/templates/theme-showcase.html +151 -0
  364. package/skills/design-templates/html-ppt-course-module/SKILL.md +78 -0
  365. package/skills/design-templates/html-ppt-course-module/example.html +542 -0
  366. package/skills/design-templates/html-ppt-dir-key-nav-minimal/SKILL.md +77 -0
  367. package/skills/design-templates/html-ppt-dir-key-nav-minimal/example.html +366 -0
  368. package/skills/design-templates/html-ppt-graphify-dark-graph/SKILL.md +77 -0
  369. package/skills/design-templates/html-ppt-graphify-dark-graph/example.html +402 -0
  370. package/skills/design-templates/html-ppt-hermes-cyber-terminal/SKILL.md +77 -0
  371. package/skills/design-templates/html-ppt-hermes-cyber-terminal/example.html +422 -0
  372. package/skills/design-templates/html-ppt-knowledge-arch-blueprint/SKILL.md +77 -0
  373. package/skills/design-templates/html-ppt-knowledge-arch-blueprint/example.html +407 -0
  374. package/skills/design-templates/html-ppt-obsidian-claude-gradient/SKILL.md +77 -0
  375. package/skills/design-templates/html-ppt-obsidian-claude-gradient/example.html +371 -0
  376. package/skills/design-templates/html-ppt-pitch-deck/SKILL.md +78 -0
  377. package/skills/design-templates/html-ppt-pitch-deck/example.html +495 -0
  378. package/skills/design-templates/html-ppt-presenter-mode-reveal/SKILL.md +78 -0
  379. package/skills/design-templates/html-ppt-presenter-mode-reveal/example.html +725 -0
  380. package/skills/design-templates/html-ppt-product-launch/SKILL.md +77 -0
  381. package/skills/design-templates/html-ppt-product-launch/example.html +467 -0
  382. package/skills/design-templates/html-ppt-taste-brutalist/SKILL.md +70 -0
  383. package/skills/design-templates/html-ppt-taste-brutalist/example.html +774 -0
  384. package/skills/design-templates/html-ppt-taste-editorial/SKILL.md +62 -0
  385. package/skills/design-templates/html-ppt-taste-editorial/example.html +689 -0
  386. package/skills/design-templates/html-ppt-tech-sharing/SKILL.md +77 -0
  387. package/skills/design-templates/html-ppt-tech-sharing/example.html +512 -0
  388. package/skills/design-templates/html-ppt-testing-safety-alert/SKILL.md +78 -0
  389. package/skills/design-templates/html-ppt-testing-safety-alert/example.html +413 -0
  390. package/skills/design-templates/html-ppt-weekly-report/SKILL.md +77 -0
  391. package/skills/design-templates/html-ppt-weekly-report/example.html +489 -0
  392. package/skills/design-templates/html-ppt-xhs-pastel-card/SKILL.md +78 -0
  393. package/skills/design-templates/html-ppt-xhs-pastel-card/example.html +381 -0
  394. package/skills/design-templates/html-ppt-xhs-post/SKILL.md +78 -0
  395. package/skills/design-templates/html-ppt-xhs-post/example.html +487 -0
  396. package/skills/design-templates/html-ppt-xhs-white-editorial/SKILL.md +77 -0
  397. package/skills/design-templates/html-ppt-xhs-white-editorial/example.html +418 -0
  398. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/LICENSE +21 -0
  399. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/SKILL.md +93 -0
  400. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/example.html +1640 -0
  401. package/skills/design-templates/html-ppt-zhangzara-8-bit-orbit/template.json +48 -0
  402. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/LICENSE +21 -0
  403. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/SKILL.md +93 -0
  404. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/example.html +833 -0
  405. package/skills/design-templates/html-ppt-zhangzara-biennale-yellow/template.json +49 -0
  406. package/skills/design-templates/html-ppt-zhangzara-block-frame/LICENSE +21 -0
  407. package/skills/design-templates/html-ppt-zhangzara-block-frame/SKILL.md +93 -0
  408. package/skills/design-templates/html-ppt-zhangzara-block-frame/example.html +1453 -0
  409. package/skills/design-templates/html-ppt-zhangzara-block-frame/template.json +47 -0
  410. package/skills/design-templates/html-ppt-zhangzara-blue-professional/LICENSE +21 -0
  411. package/skills/design-templates/html-ppt-zhangzara-blue-professional/SKILL.md +93 -0
  412. package/skills/design-templates/html-ppt-zhangzara-blue-professional/example.html +1423 -0
  413. package/skills/design-templates/html-ppt-zhangzara-blue-professional/template.json +44 -0
  414. package/skills/design-templates/html-ppt-zhangzara-bold-poster/LICENSE +21 -0
  415. package/skills/design-templates/html-ppt-zhangzara-bold-poster/SKILL.md +93 -0
  416. package/skills/design-templates/html-ppt-zhangzara-bold-poster/example.html +876 -0
  417. package/skills/design-templates/html-ppt-zhangzara-bold-poster/template.json +45 -0
  418. package/skills/design-templates/html-ppt-zhangzara-broadside/LICENSE +21 -0
  419. package/skills/design-templates/html-ppt-zhangzara-broadside/SKILL.md +92 -0
  420. package/skills/design-templates/html-ppt-zhangzara-broadside/example.html +2144 -0
  421. package/skills/design-templates/html-ppt-zhangzara-broadside/template.json +49 -0
  422. package/skills/design-templates/html-ppt-zhangzara-capsule/LICENSE +21 -0
  423. package/skills/design-templates/html-ppt-zhangzara-capsule/SKILL.md +92 -0
  424. package/skills/design-templates/html-ppt-zhangzara-capsule/example.html +1413 -0
  425. package/skills/design-templates/html-ppt-zhangzara-capsule/template.json +51 -0
  426. package/skills/design-templates/html-ppt-zhangzara-cartesian/LICENSE +21 -0
  427. package/skills/design-templates/html-ppt-zhangzara-cartesian/SKILL.md +92 -0
  428. package/skills/design-templates/html-ppt-zhangzara-cartesian/example.html +1136 -0
  429. package/skills/design-templates/html-ppt-zhangzara-cartesian/template.json +47 -0
  430. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/LICENSE +21 -0
  431. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/SKILL.md +93 -0
  432. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/example.html +1205 -0
  433. package/skills/design-templates/html-ppt-zhangzara-cobalt-grid/template.json +49 -0
  434. package/skills/design-templates/html-ppt-zhangzara-coral/LICENSE +21 -0
  435. package/skills/design-templates/html-ppt-zhangzara-coral/SKILL.md +92 -0
  436. package/skills/design-templates/html-ppt-zhangzara-coral/example.html +1487 -0
  437. package/skills/design-templates/html-ppt-zhangzara-coral/template.json +45 -0
  438. package/skills/design-templates/html-ppt-zhangzara-creative-mode/LICENSE +21 -0
  439. package/skills/design-templates/html-ppt-zhangzara-creative-mode/SKILL.md +99 -0
  440. package/skills/design-templates/html-ppt-zhangzara-creative-mode/assets/deck-stage.js +619 -0
  441. package/skills/design-templates/html-ppt-zhangzara-creative-mode/example.html +636 -0
  442. package/skills/design-templates/html-ppt-zhangzara-creative-mode/template.json +47 -0
  443. package/skills/design-templates/html-ppt-zhangzara-daisy-days/LICENSE +21 -0
  444. package/skills/design-templates/html-ppt-zhangzara-daisy-days/SKILL.md +93 -0
  445. package/skills/design-templates/html-ppt-zhangzara-daisy-days/example.html +469 -0
  446. package/skills/design-templates/html-ppt-zhangzara-daisy-days/template.json +54 -0
  447. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/LICENSE +21 -0
  448. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/SKILL.md +98 -0
  449. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/assets/deck-stage.js +619 -0
  450. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/example.html +737 -0
  451. package/skills/design-templates/html-ppt-zhangzara-editorial-tri-tone/template.json +44 -0
  452. package/skills/design-templates/html-ppt-zhangzara-grove/LICENSE +21 -0
  453. package/skills/design-templates/html-ppt-zhangzara-grove/SKILL.md +92 -0
  454. package/skills/design-templates/html-ppt-zhangzara-grove/example.html +1676 -0
  455. package/skills/design-templates/html-ppt-zhangzara-grove/template.json +51 -0
  456. package/skills/figma-code-connect-components/SKILL.md +42 -0
  457. package/skills/figma-create-design-system-rules/SKILL.md +42 -0
  458. package/skills/figma-create-new-file/SKILL.md +41 -0
  459. package/skills/figma-generate-design/SKILL.md +42 -0
  460. package/skills/figma-generate-library/SKILL.md +42 -0
  461. package/skills/figma-implement-design/SKILL.md +42 -0
  462. package/skills/figma-use/SKILL.md +42 -0
  463. package/skills/full-page-screenshot/SKILL.md +42 -0
  464. package/skills/interview-me/SKILL.md +64 -0
  465. package/skills/planning-and-task-breakdown/SKILL.md +52 -0
  466. package/skills/sora/SKILL.md +43 -0
  467. package/skills/theme-factory/SKILL.md +43 -0
  468. package/skills/web-design-guidelines/SKILL.md +42 -0
  469. package/dist/agents/prompt-library/orchestration.d.ts +0 -4
  470. package/skills/brainstorming/SKILL.md +0 -164
  471. package/skills/brainstorming/scripts/frame-template.html +0 -214
  472. package/skills/brainstorming/scripts/helper.js +0 -88
  473. package/skills/brainstorming/scripts/server.cjs +0 -354
  474. package/skills/brainstorming/scripts/start-server.sh +0 -148
  475. package/skills/brainstorming/scripts/stop-server.sh +0 -56
  476. package/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
  477. package/skills/brainstorming/visual-companion.md +0 -287
@@ -0,0 +1,876 @@
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>Bold Poster Business Presentation</title>
7
+ <link href="https://fonts.googleapis.com/css2?family=Shrikhand&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">
8
+ <style>
9
+ :root {
10
+ --bg: #FFFFFF;
11
+ --dark: #1C1410;
12
+ --red: #D8000F;
13
+ --light: #F5F2EF;
14
+ }
15
+
16
+ * { margin: 0; padding: 0; box-sizing: border-box; }
17
+
18
+ html, body {
19
+ width: 100%; height: 100%;
20
+ overflow: hidden;
21
+ background: var(--bg);
22
+ font-family: 'Libre Baskerville', serif;
23
+ color: var(--dark);
24
+ }
25
+
26
+ /* ---------- NAV ---------- */
27
+ .progress {
28
+ position: fixed; bottom: 0; left: 0; height: 5px;
29
+ background: var(--red); z-index: 100;
30
+ transition: width 0.5s cubic-bezier(0.22,1,0.36,1);
31
+ }
32
+ .counter {
33
+ position: fixed; bottom: 18px; right: 24px; z-index: 100;
34
+ font-family: 'Space Grotesk', sans-serif;
35
+ font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
36
+ font-weight: 600; color: var(--dark); opacity: 0.5;
37
+ }
38
+ .hint {
39
+ position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%);
40
+ z-index: 100; font-family: 'Space Grotesk', sans-serif;
41
+ font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
42
+ color: var(--dark); opacity: 0; transition: opacity 0.4s ease;
43
+ background: var(--light); padding: 6px 14px; border-radius: 4px;
44
+ }
45
+ body:hover .hint { opacity: 0.5; }
46
+
47
+ /* ---------- SLIDE SYSTEM ---------- */
48
+ .slides { width: 100%; height: 100%; position: relative; }
49
+ .slide {
50
+ position: absolute; inset: 0;
51
+ display: flex; flex-direction: column;
52
+ justify-content: center; align-items: center;
53
+ opacity: 0; pointer-events: none;
54
+ transform: translateY(30px) scale(0.98);
55
+ transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.22,1,0.36,1);
56
+ overflow: hidden; padding: 48px 56px;
57
+ }
58
+ .slide.active {
59
+ opacity: 1; pointer-events: all;
60
+ transform: translateY(0) scale(1);
61
+ }
62
+
63
+ /* ---------- UTILITIES ---------- */
64
+ .font-display { font-family: 'Shrikhand', cursive; }
65
+ .font-serif { font-family: 'Libre Baskerville', serif; }
66
+ .font-sans { font-family: 'Space Grotesk', sans-serif; }
67
+
68
+ .bullet-list {
69
+ list-style: none; padding: 0; margin: 0;
70
+ }
71
+ .bullet-list li {
72
+ font-family: 'Space Grotesk', sans-serif;
73
+ font-size: clamp(10px, 0.9vw, 12px);
74
+ line-height: 1.45; color: var(--dark); opacity: 0.8;
75
+ padding-left: 14px; position: relative; margin-bottom: 5px;
76
+ }
77
+ .bullet-list li::before {
78
+ content: '\2014'; position: absolute; left: 0;
79
+ color: var(--red); font-weight: 700;
80
+ }
81
+
82
+ /* ---------- SLIDE 1: HERO (ULTRA LOW) ---------- */
83
+ .slide-hero {
84
+ background: var(--bg);
85
+ justify-content: flex-start; align-items: flex-start;
86
+ padding-top: 5vh; padding-left: 7vw;
87
+ }
88
+ .hero-meta {
89
+ font-family: 'Libre Baskerville', serif;
90
+ font-size: clamp(11px, 1vw, 14px);
91
+ font-style: italic; color: var(--dark); opacity: 0.6;
92
+ margin-bottom: 1.5vh; letter-spacing: 0.5px;
93
+ }
94
+ .hero-title-group {
95
+ position: relative; width: 100%;
96
+ }
97
+ .hero-title {
98
+ font-family: 'Shrikhand', cursive;
99
+ font-size: clamp(72px, 16vw, 220px);
100
+ line-height: 0.88; color: var(--dark); letter-spacing: 1px;
101
+ }
102
+ .hero-title.red {
103
+ color: var(--red);
104
+ font-size: clamp(84px, 18vw, 260px);
105
+ line-height: 0.85; transform: rotate(-4deg);
106
+ display: inline-block; margin-left: -0.5vw; margin-top: -2vh;
107
+ }
108
+ .hero-title.bottom {
109
+ font-size: clamp(64px, 14vw, 200px);
110
+ line-height: 0.9; transform: rotate(2deg);
111
+ display: inline-block; margin-top: -1vh;
112
+ }
113
+ .hero-tagline {
114
+ position: absolute; right: 7vw; bottom: 8vh;
115
+ text-align: right; max-width: 300px;
116
+ }
117
+ .hero-tagline .tag-label {
118
+ font-family: 'Space Grotesk', sans-serif;
119
+ font-size: clamp(10px, 0.9vw, 12px);
120
+ letter-spacing: 3px; text-transform: uppercase;
121
+ font-weight: 600; color: var(--red); margin-bottom: 8px;
122
+ }
123
+ .hero-tagline .tag-body {
124
+ font-family: 'Libre Baskerville', serif;
125
+ font-size: clamp(13px, 1.2vw, 16px);
126
+ line-height: 1.6; color: var(--dark); font-style: italic;
127
+ }
128
+
129
+ /* ---------- SLIDE 2: RED STATEMENT (ULTRA LOW) ---------- */
130
+ .slide-red {
131
+ background: var(--red); color: var(--bg);
132
+ text-align: center; justify-content: center;
133
+ }
134
+ .red-quote {
135
+ font-family: 'Shrikhand', cursive;
136
+ font-size: clamp(32px, 7vw, 90px);
137
+ line-height: 1.15;
138
+ text-shadow: 2px 2px 0 rgba(28,20,16,0.25), 4px 4px 0 rgba(28,20,16,0.2), 6px 6px 0 rgba(28,20,16,0.15);
139
+ max-width: 900px;
140
+ }
141
+ .red-cite {
142
+ font-family: 'Libre Baskerville', serif;
143
+ font-size: clamp(13px, 1.3vw, 16px);
144
+ font-style: italic; margin-top: 3vh; opacity: 0.85;
145
+ }
146
+
147
+ /* ---------- SLIDE 3: EXECUTIVE SUMMARY (MEDIUM) ---------- */
148
+ .slide-summary {
149
+ background: var(--bg); justify-content: center;
150
+ align-items: center;
151
+ }
152
+ .summary-inner {
153
+ width: 100%; max-width: 1100px;
154
+ }
155
+ .summary-header {
156
+ font-family: 'Shrikhand', cursive;
157
+ font-size: clamp(32px, 5vw, 64px);
158
+ color: var(--dark); line-height: 1; margin-bottom: 4vh;
159
+ }
160
+ .summary-columns {
161
+ display: grid; grid-template-columns: 1fr 1fr;
162
+ gap: 48px; margin-bottom: 4vh;
163
+ }
164
+ .summary-col {
165
+ font-family: 'Libre Baskerville', serif;
166
+ font-size: clamp(13px, 1.2vw, 16px);
167
+ line-height: 1.75; color: var(--dark);
168
+ }
169
+ .summary-col strong {
170
+ font-family: 'Space Grotesk', sans-serif;
171
+ font-weight: 600; font-size: 0.95em;
172
+ letter-spacing: 0.3px;
173
+ }
174
+ .summary-highlights {
175
+ display: grid; grid-template-columns: repeat(3, 1fr);
176
+ gap: 0; border: 2px solid var(--dark);
177
+ }
178
+ .summary-hl {
179
+ padding: 20px 24px; border: 1px solid var(--dark);
180
+ display: flex; flex-direction: column;
181
+ }
182
+ .summary-hl .hl-num {
183
+ font-family: 'Shrikhand', cursive;
184
+ font-size: clamp(28px, 3.5vw, 48px);
185
+ color: var(--red); line-height: 1; margin-bottom: 6px;
186
+ }
187
+ .summary-hl .hl-label {
188
+ font-family: 'Space Grotesk', sans-serif;
189
+ font-size: 10px; letter-spacing: 2px;
190
+ text-transform: uppercase; font-weight: 600;
191
+ color: var(--dark); margin-bottom: 4px;
192
+ }
193
+ .summary-hl .hl-body {
194
+ font-family: 'Libre Baskerville', serif;
195
+ font-size: clamp(11px, 1vw, 13px);
196
+ line-height: 1.5; color: var(--dark); opacity: 0.75;
197
+ }
198
+
199
+ /* ---------- SLIDE 4: FINANCIAL GRID (HIGH) ---------- */
200
+ .slide-financial {
201
+ background: var(--bg); justify-content: center;
202
+ align-items: stretch;
203
+ }
204
+ .fin-header {
205
+ font-family: 'Shrikhand', cursive;
206
+ font-size: clamp(36px, 6vw, 72px);
207
+ color: var(--dark); margin-bottom: 3vh; line-height: 1;
208
+ }
209
+ .fin-grid {
210
+ display: grid; grid-template-columns: repeat(3, 1fr);
211
+ gap: 0; width: 100%; max-width: 1100px;
212
+ border: 3px solid var(--dark);
213
+ }
214
+ .fin-cell {
215
+ padding: 22px 20px; border: 1.5px solid var(--dark);
216
+ display: flex; flex-direction: column; justify-content: flex-start;
217
+ }
218
+ .fin-cell .fc-num {
219
+ font-family: 'Shrikhand', cursive;
220
+ font-size: clamp(28px, 3.5vw, 52px);
221
+ color: var(--red); line-height: 1; margin-bottom: 8px;
222
+ }
223
+ .fin-cell .fc-label {
224
+ font-family: 'Space Grotesk', sans-serif;
225
+ font-size: 10px; letter-spacing: 2px;
226
+ text-transform: uppercase; font-weight: 600;
227
+ color: var(--dark); margin-bottom: 6px;
228
+ }
229
+ .fin-cell .fc-body {
230
+ font-family: 'Libre Baskerville', serif;
231
+ font-size: clamp(11px, 1vw, 13px);
232
+ line-height: 1.55; color: var(--dark); opacity: 0.8;
233
+ margin-bottom: 10px;
234
+ }
235
+ .fin-cell .fc-micro {
236
+ font-family: 'Space Grotesk', sans-serif;
237
+ font-size: 10px; color: var(--dark); opacity: 0.5;
238
+ line-height: 1.4; margin-top: auto;
239
+ }
240
+
241
+ /* ---------- SLIDE 5: BIG STAT (LOW) ---------- */
242
+ .slide-stat {
243
+ background: var(--bg); justify-content: center;
244
+ align-items: center; text-align: center;
245
+ }
246
+ .stat-big {
247
+ font-family: 'Shrikhand', cursive;
248
+ font-size: clamp(120px, 26vw, 320px);
249
+ line-height: 0.82; color: var(--red);
250
+ transform: rotate(-6deg); display: inline-block;
251
+ }
252
+ .stat-row {
253
+ display: flex; gap: 48px; justify-content: center;
254
+ margin-top: 5vh;
255
+ }
256
+ .stat-item {
257
+ text-align: center;
258
+ }
259
+ .stat-item .si-num {
260
+ font-family: 'Shrikhand', cursive;
261
+ font-size: clamp(28px, 4vw, 56px);
262
+ color: var(--dark); line-height: 1;
263
+ }
264
+ .stat-item .si-label {
265
+ font-family: 'Space Grotesk', sans-serif;
266
+ font-size: 10px; letter-spacing: 2px;
267
+ text-transform: uppercase; font-weight: 600;
268
+ color: var(--dark); margin-top: 4px;
269
+ }
270
+ .stat-context {
271
+ font-family: 'Libre Baskerville', serif;
272
+ font-size: clamp(13px, 1.2vw, 16px);
273
+ font-style: italic; color: var(--dark); opacity: 0.7;
274
+ margin-top: 3vh; max-width: 520px; line-height: 1.6;
275
+ }
276
+
277
+ /* ---------- SLIDE 6: SERVICES (HIGH) ---------- */
278
+ .slide-services {
279
+ background: var(--bg); justify-content: center;
280
+ align-items: center;
281
+ }
282
+ .svc-header {
283
+ font-family: 'Shrikhand', cursive;
284
+ font-size: clamp(32px, 5vw, 64px);
285
+ color: var(--dark); line-height: 1; margin-bottom: 3vh;
286
+ }
287
+ .svc-grid {
288
+ display: grid; grid-template-columns: 1fr 1fr;
289
+ gap: 24px 32px; width: 100%; max-width: 1000px;
290
+ }
291
+ .svc-card {
292
+ border-left: 4px solid var(--red);
293
+ padding-left: 18px;
294
+ }
295
+ .svc-card .svc-title {
296
+ font-family: 'Shrikhand', cursive;
297
+ font-size: clamp(22px, 3vw, 36px);
298
+ line-height: 1.1; color: var(--dark); margin-bottom: 8px;
299
+ }
300
+ .svc-card .svc-body {
301
+ font-family: 'Libre Baskerville', serif;
302
+ font-size: clamp(12px, 1.1vw, 14px);
303
+ line-height: 1.6; color: var(--dark); opacity: 0.8;
304
+ margin-bottom: 10px;
305
+ }
306
+ .svc-card .svc-bullets {
307
+ list-style: none; padding: 0; margin: 0;
308
+ }
309
+ .svc-card .svc-bullets li {
310
+ font-family: 'Space Grotesk', sans-serif;
311
+ font-size: clamp(10px, 0.9vw, 12px);
312
+ line-height: 1.45; color: var(--dark); opacity: 0.7;
313
+ padding-left: 12px; position: relative; margin-bottom: 3px;
314
+ }
315
+ .svc-card .svc-bullets li::before {
316
+ content: '\2022'; position: absolute; left: 0;
317
+ color: var(--red);
318
+ }
319
+
320
+ /* ---------- SLIDE 7: ROADMAP (VERY HIGH) ---------- */
321
+ .slide-roadmap {
322
+ background: var(--dark); color: var(--bg);
323
+ justify-content: center; align-items: center;
324
+ padding: 40px 48px;
325
+ }
326
+ .rm-inner {
327
+ width: 100%; max-width: 1100px;
328
+ display: grid; grid-template-columns: 1fr 1fr;
329
+ gap: 28px 36px;
330
+ }
331
+ .rm-phase {
332
+ border-left: 3px solid var(--red);
333
+ padding-left: 16px;
334
+ }
335
+ .rm-phase .rm-label {
336
+ font-family: 'Space Grotesk', sans-serif;
337
+ font-size: 9px; letter-spacing: 3px;
338
+ text-transform: uppercase; font-weight: 600;
339
+ color: var(--red); margin-bottom: 6px;
340
+ }
341
+ .rm-phase .rm-title {
342
+ font-family: 'Shrikhand', cursive;
343
+ font-size: clamp(18px, 2.5vw, 32px);
344
+ line-height: 1.1; color: var(--bg); margin-bottom: 8px;
345
+ }
346
+ .rm-phase .rm-body {
347
+ font-family: 'Libre Baskerville', serif;
348
+ font-size: clamp(11px, 1vw, 13px);
349
+ line-height: 1.6; color: var(--bg); opacity: 0.65;
350
+ margin-bottom: 10px;
351
+ }
352
+ .rm-phase .rm-bullets {
353
+ list-style: none; padding: 0; margin: 0;
354
+ }
355
+ .rm-phase .rm-bullets li {
356
+ font-family: 'Space Grotesk', sans-serif;
357
+ font-size: clamp(10px, 0.85vw, 11px);
358
+ line-height: 1.4; color: var(--bg); opacity: 0.5;
359
+ padding-left: 12px; position: relative; margin-bottom: 3px;
360
+ }
361
+ .rm-phase .rm-bullets li::before {
362
+ content: '\2022'; position: absolute; left: 0;
363
+ color: var(--red);
364
+ }
365
+
366
+ /* ---------- SLIDE 8: PILLARS (VERY HIGH) ---------- */
367
+ .slide-pillars {
368
+ flex-direction: row; padding: 0; background: var(--bg);
369
+ }
370
+ .pillar {
371
+ flex: 1; display: flex; flex-direction: column;
372
+ justify-content: flex-start; align-items: flex-start;
373
+ padding: 32px 24px; text-align: left;
374
+ border-right: 3px solid var(--dark); position: relative;
375
+ overflow-y: auto;
376
+ }
377
+ .pillar:last-child { border-right: none; }
378
+ .pillar:nth-child(odd) { background: var(--light); }
379
+ .pillar .p-num {
380
+ font-family: 'Shrikhand', cursive;
381
+ font-size: clamp(36px, 5vw, 64px);
382
+ color: var(--red); line-height: 1; margin-bottom: 10px;
383
+ }
384
+ .pillar .p-title {
385
+ font-family: 'Shrikhand', cursive;
386
+ font-size: clamp(18px, 2.2vw, 28px);
387
+ color: var(--dark); line-height: 1.15; margin-bottom: 12px;
388
+ }
389
+ .pillar .p-lead {
390
+ font-family: 'Libre Baskerville', serif;
391
+ font-size: clamp(12px, 1.1vw, 14px);
392
+ line-height: 1.6; color: var(--dark); font-style: italic;
393
+ margin-bottom: 12px;
394
+ }
395
+ .pillar .p-bullets {
396
+ list-style: none; padding: 0; margin: 0; width: 100%;
397
+ }
398
+ .pillar .p-bullets li {
399
+ font-family: 'Space Grotesk', sans-serif;
400
+ font-size: clamp(10px, 0.9vw, 12px);
401
+ line-height: 1.45; color: var(--dark); opacity: 0.75;
402
+ padding: 5px 0; border-bottom: 1px solid rgba(28,20,16,0.08);
403
+ }
404
+ .pillar .p-bullets li:last-child { border-bottom: none; }
405
+
406
+ /* ---------- SLIDE 9: GLOBAL (MEDIUM-HIGH) ---------- */
407
+ .slide-global {
408
+ background: var(--bg); justify-content: center;
409
+ align-items: center;
410
+ }
411
+ .global-inner {
412
+ width: 100%; max-width: 1000px;
413
+ display: grid; grid-template-columns: 1fr 1fr;
414
+ gap: 32px 40px;
415
+ }
416
+ .global-header {
417
+ grid-column: 1 / -1;
418
+ font-family: 'Shrikhand', cursive;
419
+ font-size: clamp(32px, 5vw, 64px);
420
+ color: var(--dark); line-height: 1; margin-bottom: 1vh;
421
+ }
422
+ .global-card {
423
+ border: 2px solid var(--dark); padding: 24px;
424
+ display: flex; flex-direction: column;
425
+ }
426
+ .global-card .gc-label {
427
+ font-family: 'Space Grotesk', sans-serif;
428
+ font-size: 10px; letter-spacing: 2px;
429
+ text-transform: uppercase; font-weight: 600;
430
+ color: var(--red); margin-bottom: 10px;
431
+ }
432
+ .global-card .gc-title {
433
+ font-family: 'Shrikhand', cursive;
434
+ font-size: clamp(20px, 2.5vw, 32px);
435
+ color: var(--dark); line-height: 1.1; margin-bottom: 10px;
436
+ }
437
+ .global-card .gc-body {
438
+ font-family: 'Libre Baskerville', serif;
439
+ font-size: clamp(12px, 1.1vw, 14px);
440
+ line-height: 1.65; color: var(--dark); opacity: 0.8;
441
+ }
442
+ .global-card .gc-stats {
443
+ display: flex; gap: 20px; margin-top: 14px;
444
+ }
445
+ .global-card .gc-stat {
446
+ font-family: 'Space Grotesk', sans-serif;
447
+ font-size: 10px; color: var(--dark); opacity: 0.6;
448
+ line-height: 1.4;
449
+ }
450
+ .global-card .gc-stat strong {
451
+ font-family: 'Shrikhand', cursive;
452
+ font-size: clamp(18px, 2vw, 28px);
453
+ color: var(--red); display: block; line-height: 1;
454
+ margin-bottom: 2px;
455
+ }
456
+
457
+ /* ---------- SLIDE 10: CLOSING (ULTRA LOW) ---------- */
458
+ .slide-close {
459
+ background: var(--bg); justify-content: center;
460
+ align-items: center; text-align: center; position: relative;
461
+ }
462
+ .close-big {
463
+ font-family: 'Shrikhand', cursive;
464
+ font-size: clamp(80px, 18vw, 260px);
465
+ line-height: 0.88; color: var(--red);
466
+ transform: rotate(-5deg); display: inline-block;
467
+ }
468
+ .close-sub {
469
+ font-family: 'Libre Baskerville', serif;
470
+ font-size: clamp(14px, 1.5vw, 18px);
471
+ font-style: italic; color: var(--dark);
472
+ margin-top: 4vh; max-width: 520px; line-height: 1.6;
473
+ }
474
+ .close-links {
475
+ margin-top: 5vh; display: flex; gap: 32px;
476
+ font-family: 'Space Grotesk', sans-serif;
477
+ font-size: clamp(10px, 0.9vw, 12px);
478
+ letter-spacing: 2px; text-transform: uppercase;
479
+ font-weight: 600;
480
+ }
481
+ .close-links a {
482
+ color: var(--dark); text-decoration: none;
483
+ border-bottom: 2px solid var(--red); padding-bottom: 4px;
484
+ transition: color 0.3s;
485
+ }
486
+ .close-links a:hover { color: var(--red); }
487
+
488
+ /* ---------- RESPONSIVE ---------- */
489
+ @media (max-width: 768px) {
490
+ .slide { padding: 32px 24px; }
491
+ .summary-columns { grid-template-columns: 1fr; gap: 20px; }
492
+ .summary-highlights { grid-template-columns: 1fr; }
493
+ .fin-grid { grid-template-columns: 1fr 1fr; }
494
+ .svc-grid { grid-template-columns: 1fr; gap: 20px; }
495
+ .rm-inner { grid-template-columns: 1fr; gap: 20px; }
496
+ .slide-pillars { flex-direction: column; }
497
+ .pillar { border-right: none; border-bottom: 3px solid var(--dark); padding: 24px; }
498
+ .pillar:last-child { border-bottom: none; }
499
+ .global-inner { grid-template-columns: 1fr; gap: 20px; }
500
+ .stat-row { flex-direction: column; gap: 16px; }
501
+ .hero-tagline { position: relative; right: auto; bottom: auto; text-align: left; margin-top: 3vh; max-width: 100%; }
502
+ }
503
+ </style>
504
+ </head>
505
+ <body>
506
+
507
+ <div class="progress" id="progress"></div>
508
+ <div class="counter" id="counter">01 / 10</div>
509
+ <div class="hint"><span>&#8592;</span> Click or Swipe <span>&#8594;</span></div>
510
+
511
+ <div class="slides" id="slides">
512
+
513
+ <!-- SLIDE 1: HERO (ULTRA LOW) -->
514
+ <div class="slide slide-hero active" data-index="0">
515
+ <div class="hero-meta">Q3 Strategic Overview &mdash; Fiscal Year 2026</div>
516
+ <div class="hero-title-group">
517
+ <div class="hero-title">Apex</div>
518
+ <div class="hero-title red">Group</div>
519
+ <div class="hero-title bottom">Ltd.</div>
520
+ </div>
521
+ <div class="hero-tagline">
522
+ <div class="tag-label">Annual Report</div>
523
+ <div class="tag-body">Building scalable solutions for enterprise partners worldwide since 2019.</div>
524
+ </div>
525
+ </div>
526
+
527
+ <!-- SLIDE 2: RED STATEMENT (ULTRA LOW) -->
528
+ <div class="slide slide-red" data-index="1">
529
+ <div class="red-quote">"We don't follow markets. We build the infrastructure they run on."</div>
530
+ <div class="red-cite">&mdash; Our operating thesis since day one</div>
531
+ </div>
532
+
533
+ <!-- SLIDE 3: EXECUTIVE SUMMARY (MEDIUM) -->
534
+ <div class="slide slide-summary" data-index="2">
535
+ <div class="summary-inner">
536
+ <div class="summary-header">Executive Summary</div>
537
+ <div class="summary-columns">
538
+ <div class="summary-col">
539
+ <strong>Apex Group Ltd.</strong> partners with ambitious enterprise teams to turn complex operational challenges into scalable software infrastructure. Founded in 2019, we now serve <strong>48 active clients</strong> across fintech, logistics, and SaaS verticals in <strong>12 countries</strong>.
540
+ <br><br>
541
+ Our platform model combines strategic consulting, product design, and engineering execution under one engagement structure, eliminating the handoff delays and knowledge loss typical of multi-vendor arrangements.
542
+ </div>
543
+ <div class="summary-col">
544
+ This fiscal year we delivered <strong>14 major product releases</strong>, achieved SOC 2 Type II certification, reduced API latency by 40% at the 99th percentile, and launched a self-serve tier for mid-market customers.
545
+ <br><br>
546
+ Looking ahead, we are expanding into EMEA and APAC through two new regional hubs, targeting <strong>$18M ARR</strong> by Q4 2026 with a clear path to profitability at scale.
547
+ </div>
548
+ </div>
549
+ <div class="summary-highlights">
550
+ <div class="summary-hl">
551
+ <div class="hl-num">340%</div>
552
+ <div class="hl-label">YoY Revenue Growth</div>
553
+ <div class="hl-body">From $2.7M to $12M ARR in 24 months with positive unit economics.</div>
554
+ </div>
555
+ <div class="summary-hl">
556
+ <div class="hl-num">94%</div>
557
+ <div class="hl-label">Gross Retention</div>
558
+ <div class="hl-body">Enterprise clients renew at industry-leading rates with zero churn in top quartile.</div>
559
+ </div>
560
+ <div class="summary-hl">
561
+ <div class="hl-num">120</div>
562
+ <div class="hl-label">Team Members</div>
563
+ <div class="hl-body">Engineering, design, and strategy distributed across four continents.</div>
564
+ </div>
565
+ </div>
566
+ </div>
567
+ </div>
568
+
569
+ <!-- SLIDE 4: FINANCIAL GRID (HIGH) -->
570
+ <div class="slide slide-financial" data-index="3">
571
+ <div class="fin-header">Financial Performance</div>
572
+ <div class="fin-grid">
573
+ <div class="fin-cell">
574
+ <div class="fc-num">$12.4M</div>
575
+ <div class="fc-label">Annual Recurring Revenue</div>
576
+ <div class="fc-body">Net revenue retention of 118% driven by expansion revenue from existing accounts.</div>
577
+ <div class="fc-micro">Up from $2.7M two years prior.</div>
578
+ </div>
579
+ <div class="fin-cell">
580
+ <div class="fc-num">18%</div>
581
+ <div class="fc-label">Net Profit Margin</div>
582
+ <div class="fc-body">Profitable for six consecutive quarters while reinvesting 35% of gross profit into R&D.</div>
583
+ <div class="fc-micro">EBITDA positive since Q2 FY24.</div>
584
+ </div>
585
+ <div class="fin-cell">
586
+ <div class="fc-num">$420</div>
587
+ <div class="fc-label">Avg. Contract Value</div>
588
+ <div class="fc-body">Enterprise ACV measured in thousands. Median contract length is 24 months with annual escalation.</div>
589
+ <div class="fc-micro">Top decile ACV: $1.8M.</div>
590
+ </div>
591
+ <div class="fin-cell">
592
+ <div class="fc-num">4.2x</div>
593
+ <div class="fc-label">LTV / CAC Ratio</div>
594
+ <div class="fc-body">Customer lifetime value of $48K against blended acquisition cost of $11.4K across all channels.</div>
595
+ <div class="fc-micro">Enterprise segment: 6.8x.</div>
596
+ </div>
597
+ <div class="fin-cell">
598
+ <div class="fc-num">8 mo</div>
599
+ <div class="fc-label">Cash Runway</div>
600
+ <div class="fc-body">$8.2M cash on hand with monthly burn of $980K, fully funded to profitability without additional raises.</div>
601
+ <div class="fc-micro">Series A closed March 2025.</div>
602
+ </div>
603
+ <div class="fin-cell">
604
+ <div class="fc-num">$18M</div>
605
+ <div class="fc-label">FY27 Revenue Target</div>
606
+ <div class="fc-body">Projected ARR by March 2027 based on current pipeline velocity and expansion assumptions.</div>
607
+ <div class="fc-micro">Weighted pipeline: $31M.</div>
608
+ </div>
609
+ </div>
610
+ </div>
611
+
612
+ <!-- SLIDE 5: BIG STAT (LOW) -->
613
+ <div class="slide slide-stat" data-index="4">
614
+ <div class="stat-big">96%</div>
615
+ <div class="stat-row">
616
+ <div class="stat-item">
617
+ <div class="si-num">48</div>
618
+ <div class="si-label">Active Clients</div>
619
+ </div>
620
+ <div class="stat-item">
621
+ <div class="si-num">12</div>
622
+ <div class="si-label">Countries</div>
623
+ </div>
624
+ <div class="stat-item">
625
+ <div class="si-num">99.97%</div>
626
+ <div class="si-label">Platform Uptime</div>
627
+ </div>
628
+ </div>
629
+ <div class="stat-context">
630
+ Customer satisfaction score across all active engagements, measured quarterly via NPS and CSAT composite.
631
+ </div>
632
+ </div>
633
+
634
+ <!-- SLIDE 6: SERVICES (HIGH) -->
635
+ <div class="slide slide-services" data-index="5">
636
+ <div class="svc-header">Service Lines</div>
637
+ <div class="svc-grid">
638
+ <div class="svc-card">
639
+ <div class="svc-title">Strategy</div>
640
+ <div class="svc-body">Market analysis, competitive positioning, and multi-year roadmaps that bridge ambition with executable milestones.</div>
641
+ <ul class="svc-bullets">
642
+ <li>Market sizing and TAM analysis</li>
643
+ <li>Competitive landscape mapping</li>
644
+ <li>Pricing strategy and packaging design</li>
645
+ <li>M&A target identification and diligence</li>
646
+ </ul>
647
+ </div>
648
+ <div class="svc-card">
649
+ <div class="svc-title">Design</div>
650
+ <div class="svc-body">Product design, brand systems, and user research that make complexity feel effortless to end users.</div>
651
+ <ul class="svc-bullets">
652
+ <li>UX research and journey mapping</li>
653
+ <li>Design systems at scale</li>
654
+ <li>Prototyping and usability testing</li>
655
+ <li>Brand identity and visual language</li>
656
+ </ul>
657
+ </div>
658
+ <div class="svc-card">
659
+ <div class="svc-title">Build</div>
660
+ <div class="svc-body">Scalable architecture, robust APIs, and infrastructure that grows with demand rather than against it.</div>
661
+ <ul class="svc-bullets">
662
+ <li>Cloud-native architecture design</li>
663
+ <li>API development and developer experience</li>
664
+ <li>Security audit and compliance engineering</li>
665
+ <li>CI/CD pipelines and observability</li>
666
+ </ul>
667
+ </div>
668
+ <div class="svc-card">
669
+ <div class="svc-title">Scale</div>
670
+ <div class="svc-body">Go-to-market planning, partner programs, and revenue operations that compound quarter over quarter.</div>
671
+ <ul class="svc-bullets">
672
+ <li>Partner channel development</li>
673
+ <li>Sales process and tooling</li>
674
+ <li>Customer success playbooks</li>
675
+ <li>Revenue operations and forecasting</li>
676
+ </ul>
677
+ </div>
678
+ </div>
679
+ </div>
680
+
681
+ <!-- SLIDE 7: ROADMAP (VERY HIGH) -->
682
+ <div class="slide slide-roadmap" data-index="6">
683
+ <div class="rm-inner">
684
+ <div class="rm-phase">
685
+ <div class="rm-label">Phase One &mdash; Complete (FY22-FY24)</div>
686
+ <div class="rm-title">Foundation</div>
687
+ <div class="rm-body">Core platform refined. Enterprise-grade compliance and security architecture shipped. Initial customer base validated product-market fit across three verticals.</div>
688
+ <ul class="rm-bullets">
689
+ <li>14 major product releases this quarter</li>
690
+ <li>SOC 2 Type II and ISO 27001 certifications</li>
691
+ <li>API latency reduced 40% at p99</li>
692
+ <li>Self-serve onboarding launched for SMB tier</li>
693
+ </ul>
694
+ </div>
695
+ <div class="rm-phase">
696
+ <div class="rm-label">Phase Two &mdash; Current (FY25)</div>
697
+ <div class="rm-title">Expansion</div>
698
+ <div class="rm-body">Two new regional hubs. Localized compliance infrastructure. Partner channel activation. Direct sales team scaling in two new geographies.</div>
699
+ <ul class="rm-bullets">
700
+ <li>EMEA hub operational in London by Q1</li>
701
+ <li>APAC hub in Singapore scheduled Q2</li>
702
+ <li>5 strategic partners signed, 12 in pipeline</li>
703
+ <li>Localized pricing and tax handling live</li>
704
+ </ul>
705
+ </div>
706
+ <div class="rm-phase">
707
+ <div class="rm-label">Phase Three &mdash; FY26-FY27</div>
708
+ <div class="rm-title">Platformization</div>
709
+ <div class="rm-body">Opening core infrastructure to certified third-party developers and system integrators. Marketplace model for extensions and integrations.</div>
710
+ <ul class="rm-bullets">
711
+ <li>Developer portal and sandbox environment</li>
712
+ <li>App marketplace with revenue sharing</li>
713
+ <li>Partner certification program and badge system</li>
714
+ <li>White-label licensing for large enterprises</li>
715
+ </ul>
716
+ </div>
717
+ <div class="rm-phase">
718
+ <div class="rm-label">Phase Four &mdash; FY28+</div>
719
+ <div class="rm-title">Ecosystem</div>
720
+ <div class="rm-body">Becoming the default infrastructure layer for our vertical across global markets. Strategic M&A to fill capability gaps.</div>
721
+ <ul class="rm-bullets">
722
+ <li>Strategic M&A for complementary capabilities</li>
723
+ <li>Industry consortium and standards body founding</li>
724
+ <li>Open-source components for community trust</li>
725
+ <li>Target: 500+ active platform partners</li>
726
+ </ul>
727
+ </div>
728
+ </div>
729
+ </div>
730
+
731
+ <!-- SLIDE 8: PILLARS (VERY HIGH) -->
732
+ <div class="slide slide-pillars" data-index="7">
733
+ <div class="pillar">
734
+ <div class="p-num">01</div>
735
+ <div class="p-title">Clarity</div>
736
+ <div class="p-lead">Every decision is documented, traceable, and communicated with context.</div>
737
+ <ul class="p-bullets">
738
+ <li>Clear DRI assigned to every initiative</li>
739
+ <li>Public dashboards with real-time metrics</li>
740
+ <li>Decision logs published within 24 hours</li>
741
+ <li>Weekly all-hands with open Q&A format</li>
742
+ <li>Written strategy docs preferred over decks</li>
743
+ <li>OKRs visible to all employees by default</li>
744
+ </ul>
745
+ </div>
746
+ <div class="pillar">
747
+ <div class="p-num">02</div>
748
+ <div class="p-title">Velocity</div>
749
+ <div class="p-lead">Speed comes from focus and tooling, not from working longer hours.</div>
750
+ <ul class="p-bullets">
751
+ <li>Two-week sprints with public retrospectives</li>
752
+ <li>CI/CD with production deploys every day</li>
753
+ <li>Feature flags for gradual, safe rollouts</li>
754
+ <li>Direct customer feedback in every cycle</li>
755
+ <li>Bi-weekly demos open to all stakeholders</li>
756
+ <li>Automated testing at 94% code coverage</li>
757
+ </ul>
758
+ </div>
759
+ <div class="pillar">
760
+ <div class="p-num">03</div>
761
+ <div class="p-title">Trust</div>
762
+ <div class="p-lead">Radical transparency with partners, employees, and the market.</div>
763
+ <ul class="p-bullets">
764
+ <li>Real-time uptime dashboards shared externally</li>
765
+ <li>Quarterly business reviews with all clients</li>
766
+ <li>Security reports published proactively</li>
767
+ <li>90-day exit clauses in every contract</li>
768
+ <li>Named account engineers for enterprise tier</li>
769
+ <li>Open API status page with incident history</li>
770
+ </ul>
771
+ </div>
772
+ </div>
773
+
774
+ <!-- SLIDE 9: GLOBAL (MEDIUM-HIGH) -->
775
+ <div class="slide slide-global" data-index="8">
776
+ <div class="global-inner">
777
+ <div class="global-header">Global Presence</div>
778
+ <div class="global-card">
779
+ <div class="gc-label">Headquarters</div>
780
+ <div class="gc-title">San Francisco</div>
781
+ <div class="gc-body">Primary engineering, design, and executive leadership based in the Bay Area. Founded here in 2019.</div>
782
+ <div class="gc-stats">
783
+ <div class="gc-stat"><strong>65</strong> employees</div>
784
+ <div class="gc-stat"><strong>42K</strong> sq ft office</div>
785
+ </div>
786
+ </div>
787
+ <div class="global-card">
788
+ <div class="gc-label">Regional Hub</div>
789
+ <div class="gc-title">London</div>
790
+ <div class="gc-body">EMEA sales, customer success, and compliance operations. Serves clients across UK, EU, and Middle East.</div>
791
+ <div class="gc-stats">
792
+ <div class="gc-stat"><strong>28</strong> employees</div>
793
+ <div class="gc-stat"><strong>18</strong> clients live</div>
794
+ </div>
795
+ </div>
796
+ <div class="global-card">
797
+ <div class="gc-label">Regional Hub</div>
798
+ <div class="gc-title">Singapore</div>
799
+ <div class="gc-body">APAC expansion hub launching Q2 2026. Focus on fintech and logistics verticals in Southeast Asia.</div>
800
+ <div class="gc-stats">
801
+ <div class="gc-stat"><strong>12</strong> employees</div>
802
+ <div class="gc-stat"><strong>4</strong> clients pilot</div>
803
+ </div>
804
+ </div>
805
+ <div class="global-card">
806
+ <div class="gc-label">Distributed</div>
807
+ <div class="gc-title">Remote Network</div>
808
+ <div class="gc-body">Engineering and design talent in 8 additional countries. Async-first culture with quarterly offsites.</div>
809
+ <div class="gc-stats">
810
+ <div class="gc-stat"><strong>15</strong> remote staff</div>
811
+ <div class="gc-stat"><strong>8</strong> time zones</div>
812
+ </div>
813
+ </div>
814
+ </div>
815
+ </div>
816
+
817
+ <!-- SLIDE 10: CLOSING (ULTRA LOW) -->
818
+ <div class="slide slide-close" data-index="9">
819
+ <div class="close-big">Thank You</div>
820
+ <div class="close-sub">
821
+ Ready to explore what we can build together?<br>
822
+ hello@apexgroup.co &mdash; San Francisco &mdash; Worldwide
823
+ </div>
824
+ <div class="close-links">
825
+ <a href="#">LinkedIn</a>
826
+ <a href="#">Contact</a>
827
+ <a href="#">Careers</a>
828
+ </div>
829
+ </div>
830
+
831
+ </div>
832
+
833
+ <script>
834
+ (function() {
835
+ const slides = document.querySelectorAll('.slide');
836
+ const progress = document.getElementById('progress');
837
+ const counter = document.getElementById('counter');
838
+ const total = slides.length;
839
+ let current = 0;
840
+
841
+ function show(i) {
842
+ slides.forEach((s, idx) => s.classList.toggle('active', idx === i));
843
+ progress.style.width = ((i + 1) / total * 100) + '%';
844
+ counter.textContent = String(i + 1).padStart(2, '0') + ' / ' + String(total).padStart(2, '0');
845
+ }
846
+
847
+ function next() { if (current < total - 1) { current++; show(current); } }
848
+ function prev() { if (current > 0) { current--; show(current); } }
849
+
850
+ document.addEventListener('keydown', (e) => {
851
+ if (e.key === 'ArrowRight' || e.key === 'ArrowDown' || e.key === ' ' || e.key === 'Enter' || e.key === 'PageDown') {
852
+ e.preventDefault(); next();
853
+ } else if (e.key === 'ArrowLeft' || e.key === 'ArrowUp' || e.key === 'PageUp') {
854
+ e.preventDefault(); prev();
855
+ }
856
+ });
857
+
858
+ document.addEventListener('click', (e) => {
859
+ const x = e.clientX;
860
+ const w = window.innerWidth;
861
+ if (x > w / 2) next(); else prev();
862
+ });
863
+
864
+ let tx = 0;
865
+ document.addEventListener('touchstart', (e) => { tx = e.changedTouches[0].screenX; });
866
+ document.addEventListener('touchend', (e) => {
867
+ const dx = e.changedTouches[0].screenX - tx;
868
+ if (dx < -50) next();
869
+ else if (dx > 50) prev();
870
+ });
871
+
872
+ show(0);
873
+ })();
874
+ </script>
875
+ </body>
876
+ </html>