mulmocast-vision 0.0.1

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 (187) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +102 -0
  3. package/assets/html/agendaPage.html +13 -0
  4. package/assets/html/balanceSheetPage.html +29 -0
  5. package/assets/html/balancedScorecardPage.html +15 -0
  6. package/assets/html/bcgMatrixPage.html +37 -0
  7. package/assets/html/beforeAfterPage.html +21 -0
  8. package/assets/html/benchmarkingTablePage.html +23 -0
  9. package/assets/html/bubbleChartPlaceholderPage.html +9 -0
  10. package/assets/html/businessModelCanvasPage.html +14 -0
  11. package/assets/html/capabilityMaturityPage.html +8 -0
  12. package/assets/html/cashFlowPage.html +21 -0
  13. package/assets/html/changeCurvePage.html +11 -0
  14. package/assets/html/circularEconomyMapPage.html +8 -0
  15. package/assets/html/communicationPlanPage.html +22 -0
  16. package/assets/html/complianceHeatmapPage.html +19 -0
  17. package/assets/html/costStructurePage.html +20 -0
  18. package/assets/html/csrInitiativesPage.html +8 -0
  19. package/assets/html/cultureValuesPage.html +21 -0
  20. package/assets/html/customerJourneyPage.html +21 -0
  21. package/assets/html/customerSuccessJourneyPage.html +15 -0
  22. package/assets/html/digitalMaturityPage.html +14 -0
  23. package/assets/html/driverTreePage.html +20 -0
  24. package/assets/html/ecosystemMapPage.html +11 -0
  25. package/assets/html/esgFrameworkPage.html +28 -0
  26. package/assets/html/executiveSummaryPage.html +15 -0
  27. package/assets/html/fourPPage.html +36 -0
  28. package/assets/html/funnelPage.html +8 -0
  29. package/assets/html/ganttSimplePage.html +21 -0
  30. package/assets/html/geMcKinseyMatrixPage.html +13 -0
  31. package/assets/html/heatmapPlaceholderPage.html +24 -0
  32. package/assets/html/hypothesisPage.html +22 -0
  33. package/assets/html/innovationFunnelPage.html +13 -0
  34. package/assets/html/integrationPlanPage.html +21 -0
  35. package/assets/html/issueTreePage.html +23 -0
  36. package/assets/html/keyMessageWithSupportsPage.html +13 -0
  37. package/assets/html/kpiHighlightPage.html +14 -0
  38. package/assets/html/launchPlanPage.html +29 -0
  39. package/assets/html/mAPipelinePage.html +16 -0
  40. package/assets/html/marimekkoPlaceholderPage.html +9 -0
  41. package/assets/html/marketDriversPage.html +8 -0
  42. package/assets/html/marketingMixPage.html +11 -0
  43. package/assets/html/meceListPage.html +15 -0
  44. package/assets/html/milestoneTimelinePage.html +14 -0
  45. package/assets/html/npvSummaryPage.html +12 -0
  46. package/assets/html/okrKpiDashboardPage.html +16 -0
  47. package/assets/html/optionEvaluationPage.html +23 -0
  48. package/assets/html/orgChartPage.html +8 -0
  49. package/assets/html/pLBreakdownPage.html +19 -0
  50. package/assets/html/partnershipMapPage.html +11 -0
  51. package/assets/html/personasPage.html +19 -0
  52. package/assets/html/pipelineFunnelPage.html +8 -0
  53. package/assets/html/porterFiveForcesPage.html +44 -0
  54. package/assets/html/positioningMapPage.html +11 -0
  55. package/assets/html/pricingWaterfallPage.html +8 -0
  56. package/assets/html/productRoadmapPage.html +15 -0
  57. package/assets/html/pyramidPrinciplePage.html +27 -0
  58. package/assets/html/quarterlyRoadmapPage.html +15 -0
  59. package/assets/html/raciPage.html +23 -0
  60. package/assets/html/revenueModelPage.html +17 -0
  61. package/assets/html/riskMitigationPage.html +17 -0
  62. package/assets/html/salesDashboardPage.html +11 -0
  63. package/assets/html/scenarioPlanningPage.html +13 -0
  64. package/assets/html/scqaPage.html +27 -0
  65. package/assets/html/sectionDividerPage.html +7 -0
  66. package/assets/html/segmentationPage.html +15 -0
  67. package/assets/html/sensitivityAnalysisPage.html +22 -0
  68. package/assets/html/sevenSPage.html +11 -0
  69. package/assets/html/shareholderValueTreePage.html +8 -0
  70. package/assets/html/stakeholderMapPage.html +14 -0
  71. package/assets/html/supportOrgModelPage.html +21 -0
  72. package/assets/html/surveyResultsPage.html +11 -0
  73. package/assets/html/sustainabilityRoadmapPage.html +15 -0
  74. package/assets/html/swotPage.html +36 -0
  75. package/assets/html/synergyCapturePage.html +8 -0
  76. package/assets/html/tamSamSomPage.html +11 -0
  77. package/assets/html/techRoadmapPage.html +15 -0
  78. package/assets/html/thankYouContactPage.html +24 -0
  79. package/assets/html/threeCPage.html +28 -0
  80. package/assets/html/twoByTwoMatrixPage.html +17 -0
  81. package/assets/html/valueChainPage.html +18 -0
  82. package/assets/html/waterfallPage.html +8 -0
  83. package/assets/html2/agendaPage.html +26 -0
  84. package/assets/html2/balanceSheetPage.html +87 -0
  85. package/assets/html2/balancedScorecardPage.html +29 -0
  86. package/assets/html2/bcgMatrixPage.html +165 -0
  87. package/assets/html2/beforeAfterPage.html +78 -0
  88. package/assets/html2/benchmarkingTablePage.html +70 -0
  89. package/assets/html2/bubbleChartPlaceholderPage.html +107 -0
  90. package/assets/html2/businessModelCanvasPage.html +43 -0
  91. package/assets/html2/capabilityMaturityPage.html +38 -0
  92. package/assets/html2/cashFlowPage.html +68 -0
  93. package/assets/html2/changeCurvePage.html +53 -0
  94. package/assets/html2/circularEconomyMapPage.html +35 -0
  95. package/assets/html2/communicationPlanPage.html +82 -0
  96. package/assets/html2/complianceHeatmapPage.html +42 -0
  97. package/assets/html2/costStructurePage.html +60 -0
  98. package/assets/html2/csrInitiativesPage.html +26 -0
  99. package/assets/html2/cultureValuesPage.html +44 -0
  100. package/assets/html2/customerJourneyPage.html +68 -0
  101. package/assets/html2/customerSuccessJourneyPage.html +54 -0
  102. package/assets/html2/digitalMaturityPage.html +51 -0
  103. package/assets/html2/driverTreePage.html +92 -0
  104. package/assets/html2/ecosystemMapPage.html +30 -0
  105. package/assets/html2/esgFrameworkPage.html +66 -0
  106. package/assets/html2/executiveSummaryPage.html +27 -0
  107. package/assets/html2/fourPPage.html +85 -0
  108. package/assets/html2/funnelPage.html +53 -0
  109. package/assets/html2/ganttSimplePage.html +56 -0
  110. package/assets/html2/geMcKinseyMatrixPage.html +43 -0
  111. package/assets/html2/heatmapPlaceholderPage.html +131 -0
  112. package/assets/html2/hypothesisPage.html +100 -0
  113. package/assets/html2/innovationFunnelPage.html +61 -0
  114. package/assets/html2/integrationPlanPage.html +61 -0
  115. package/assets/html2/issueTreePage.html +97 -0
  116. package/assets/html2/keyMessageWithSupportsPage.html +47 -0
  117. package/assets/html2/kpiHighlightPage.html +54 -0
  118. package/assets/html2/launchPlanPage.html +86 -0
  119. package/assets/html2/mAPipelinePage.html +79 -0
  120. package/assets/html2/marimekkoPlaceholderPage.html +120 -0
  121. package/assets/html2/marketDriversPage.html +32 -0
  122. package/assets/html2/marketingMixPage.html +50 -0
  123. package/assets/html2/meceListPage.html +32 -0
  124. package/assets/html2/milestoneTimelinePage.html +59 -0
  125. package/assets/html2/npvSummaryPage.html +54 -0
  126. package/assets/html2/okrKpiDashboardPage.html +85 -0
  127. package/assets/html2/optionEvaluationPage.html +128 -0
  128. package/assets/html2/orgChartPage.html +30 -0
  129. package/assets/html2/pLBreakdownPage.html +73 -0
  130. package/assets/html2/partnershipMapPage.html +26 -0
  131. package/assets/html2/personasPage.html +39 -0
  132. package/assets/html2/pipelineFunnelPage.html +77 -0
  133. package/assets/html2/porterFiveForcesPage.html +140 -0
  134. package/assets/html2/positioningMapPage.html +40 -0
  135. package/assets/html2/pricingWaterfallPage.html +33 -0
  136. package/assets/html2/productRoadmapPage.html +47 -0
  137. package/assets/html2/pyramidPrinciplePage.html +47 -0
  138. package/assets/html2/quarterlyRoadmapPage.html +54 -0
  139. package/assets/html2/raciPage.html +49 -0
  140. package/assets/html2/revenueModelPage.html +54 -0
  141. package/assets/html2/riskMitigationPage.html +36 -0
  142. package/assets/html2/salesDashboardPage.html +58 -0
  143. package/assets/html2/scenarioPlanningPage.html +63 -0
  144. package/assets/html2/scqaPage.html +74 -0
  145. package/assets/html2/sectionDividerPage.html +25 -0
  146. package/assets/html2/segmentationPage.html +36 -0
  147. package/assets/html2/sensitivityAnalysisPage.html +82 -0
  148. package/assets/html2/sevenSPage.html +31 -0
  149. package/assets/html2/shareholderValueTreePage.html +32 -0
  150. package/assets/html2/stakeholderMapPage.html +36 -0
  151. package/assets/html2/supportOrgModelPage.html +57 -0
  152. package/assets/html2/surveyResultsPage.html +32 -0
  153. package/assets/html2/sustainabilityRoadmapPage.html +54 -0
  154. package/assets/html2/swotPage.html +97 -0
  155. package/assets/html2/synergyCapturePage.html +39 -0
  156. package/assets/html2/tamSamSomPage.html +62 -0
  157. package/assets/html2/techRoadmapPage.html +54 -0
  158. package/assets/html2/thankYouContactPage.html +78 -0
  159. package/assets/html2/threeCPage.html +66 -0
  160. package/assets/html2/twoByTwoMatrixPage.html +72 -0
  161. package/assets/html2/valueChainPage.html +56 -0
  162. package/assets/html2/waterfallPage.html +47 -0
  163. package/assets/templates/tailwind-sea.html +34 -0
  164. package/assets/templates/tailwind.html +14 -0
  165. package/lib/browser.d.ts +1 -0
  166. package/lib/browser.js +17 -0
  167. package/lib/index.d.ts +2 -0
  168. package/lib/index.js +18 -0
  169. package/lib/mcp/server.d.ts +2 -0
  170. package/lib/mcp/server.js +77 -0
  171. package/lib/mcp/test.d.ts +1 -0
  172. package/lib/mcp/test.js +56 -0
  173. package/lib/presentation.d.ts +1 -0
  174. package/lib/presentation.js +67 -0
  175. package/lib/presentationHandlers/html.d.ts +322 -0
  176. package/lib/presentationHandlers/html.js +348 -0
  177. package/lib/presentationHandlers/html_class.d.ts +98 -0
  178. package/lib/presentationHandlers/html_class.js +266 -0
  179. package/lib/runner.d.ts +1 -0
  180. package/lib/runner.js +31 -0
  181. package/lib/server.d.ts +2 -0
  182. package/lib/server.js +76 -0
  183. package/lib/tools.d.ts +1 -0
  184. package/lib/tools.js +1604 -0
  185. package/lib/utils.d.ts +13 -0
  186. package/lib/utils.js +80 -0
  187. package/package.json +51 -0
@@ -0,0 +1,15 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-8">Segmentation</h1>
3
+ <div class="grid grid-cols-{{segments|length}} gap-4">
4
+ {% for s in segments %}
5
+ <section class="rounded-xl border p-4 bg-gray-50">
6
+ <h2 class="text-lg font-semibold mb-2">{{s}}</h2>
7
+ <ul class="list-disc ml-5 space-y-1 text-xl">
8
+ {% for d in descriptors %}
9
+ <li>{{d}}</li>
10
+ {% endfor %}
11
+ </ul>
12
+ </section>
13
+ {% endfor %}
14
+ </div>
15
+ </div>
@@ -0,0 +1,22 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-8">Sensitivity Analysis</h1>
3
+ <p class="text-xl text-gray-700 mb-4">Variables x Scenarios</p>
4
+ <div class="grid grid-cols-2 gap-6">
5
+ <section class="rounded-xl border p-6 bg-gray-50">
6
+ <h2 class="text-xl font-semibold mb-3">Variables</h2>
7
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
8
+ {% for v in variables %}
9
+ <li>{{v}}</li>
10
+ {% endfor %}
11
+ </ul>
12
+ </section>
13
+ <section class="rounded-xl border p-6 bg-white">
14
+ <h2 class="text-xl font-semibold mb-3">Scenarios</h2>
15
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
16
+ {% for s in scenarios %}
17
+ <li>{{s}}</li>
18
+ {% endfor %}
19
+ </ul>
20
+ </section>
21
+ </div>
22
+ </div>
@@ -0,0 +1,11 @@
1
+ <div class="bg-white text-gray-900 px-20 py-20">
2
+ <div class="grid grid-cols-2 gap-6">
3
+ {% set pairs = [ ["Strategy", strategy], ["Structure", structure], ["Systems", systems], ["Shared Values", sharedValues], ["Skills", skills], ["Style",
4
+ style], ["Staff", staff] ] %} {% for p in pairs %}
5
+ <section class="rounded-2xl border p-6 bg-gray-50">
6
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">{{p[0]}}</h2>
7
+ <p class="text-2xl leading-relaxed whitespace-pre-wrap">{{p[1]}}</p>
8
+ </section>
9
+ {% endfor %}
10
+ </div>
11
+ </div>
@@ -0,0 +1,8 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-8">Shareholder Value Drivers</h1>
3
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
4
+ {% for d in drivers %}
5
+ <li>{{d}}</li>
6
+ {% endfor %}
7
+ </ul>
8
+ </div>
@@ -0,0 +1,14 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-8">Stakeholder Map</h1>
3
+ <div class="grid grid-cols-2 gap-6">
4
+ {% for s in stakeholders %}
5
+ <section class="rounded-xl border p-6 bg-gray-50">
6
+ <div class="text-2xl font-semibold mb-2">{{s.name}}</div>
7
+ <p class="text-xl text-gray-700">Influence: {{s.influence}} / Interest: {{s.interest}}</p>
8
+ {% if s.notes %}
9
+ <p class="mt-2 text-gray-600">{{s.notes}}</p>
10
+ {% endif %}
11
+ </section>
12
+ {% endfor %}
13
+ </div>
14
+ </div>
@@ -0,0 +1,21 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-6">Support Org Model</h1>
3
+ <div class="grid grid-cols-2 gap-6">
4
+ <section class="rounded-xl border p-6 bg-gray-50">
5
+ <h2 class="text-xl font-semibold mb-3">Tiers</h2>
6
+ <ul class="list-disc ml-5 text-2xl">
7
+ {% for t in tiers %}
8
+ <li>{{t}}</li>
9
+ {% endfor %}
10
+ </ul>
11
+ </section>
12
+ <section class="rounded-xl border p-6 bg-white">
13
+ <h2 class="text-xl font-semibold mb-3">Roles</h2>
14
+ <ul class="list-disc ml-5 text-2xl">
15
+ {% for r in roles %}
16
+ <li>{{r}}</li>
17
+ {% endfor %}
18
+ </ul>
19
+ </section>
20
+ </div>
21
+ </div>
@@ -0,0 +1,11 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-8">Survey Results</h1>
3
+ <div class="grid grid-cols-2 gap-6">
4
+ {% for i in range(0, questions|length) %}
5
+ <section class="rounded-xl border p-6 bg-gray-50">
6
+ <h2 class="text-xl font-semibold mb-3">{{questions[i]}}</h2>
7
+ <p class="text-xl text-gray-700">{{summaries[i]}}</p>
8
+ </section>
9
+ {% endfor %}
10
+ </div>
11
+ </div>
@@ -0,0 +1,15 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-8">Sustainability Roadmap</h1>
3
+ <div class="grid grid-cols-{{phases|length}} gap-4">
4
+ {% for ph in phases %}
5
+ <section class="rounded-xl border p-4 bg-gray-50">
6
+ <h2 class="text-lg font-semibold mb-2">{{ph}}</h2>
7
+ <ul class="list-disc ml-5 space-y-1 text-xl">
8
+ {% for a in actions %}
9
+ <li>{{a}}</li>
10
+ {% endfor %}
11
+ </ul>
12
+ </section>
13
+ {% endfor %}
14
+ </div>
15
+ </div>
@@ -0,0 +1,36 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <div class="grid grid-cols-2 gap-6">
3
+ <section class="rounded-xl border p-6 bg-gray-50">
4
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">Strengths</h2>
5
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
6
+ {% for s in strengths %}
7
+ <li>{{s}}</li>
8
+ {% endfor %}
9
+ </ul>
10
+ </section>
11
+ <section class="rounded-xl border p-6 bg-gray-50">
12
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">Weaknesses</h2>
13
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
14
+ {% for w in weaknesses %}
15
+ <li>{{w}}</li>
16
+ {% endfor %}
17
+ </ul>
18
+ </section>
19
+ <section class="rounded-xl border p-6 bg-white">
20
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">Opportunities</h2>
21
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
22
+ {% for o in opportunities %}
23
+ <li>{{o}}</li>
24
+ {% endfor %}
25
+ </ul>
26
+ </section>
27
+ <section class="rounded-xl border p-6 bg-white">
28
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">Threats</h2>
29
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
30
+ {% for t in threats %}
31
+ <li>{{t}}</li>
32
+ {% endfor %}
33
+ </ul>
34
+ </section>
35
+ </div>
36
+ </div>
@@ -0,0 +1,8 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-6">Synergy Capture</h1>
3
+ <ul class="list-disc ml-5 text-2xl">
4
+ {% for i in range(0, sources|length) %}
5
+ <li>{{sources[i]}}{% if values %} — {{values[i]}}{% endif %}</li>
6
+ {% endfor %}
7
+ </ul>
8
+ </div>
@@ -0,0 +1,11 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-8">TAM / SAM / SOM</h1>
3
+ <ul class="list-disc ml-5 text-2xl">
4
+ <li>TAM: {{tam}}</li>
5
+ <li>SAM: {{sam}}</li>
6
+ <li>SOM: {{som}}</li>
7
+ </ul>
8
+ {% if notes %}
9
+ <p class="mt-4 text-gray-600">{{notes}}</p>
10
+ {% endif %}
11
+ </div>
@@ -0,0 +1,15 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-8">Technology Roadmap</h1>
3
+ <div class="grid grid-cols-{{phases|length}} gap-4">
4
+ {% for ph in phases %}
5
+ <section class="rounded-xl border p-4 bg-gray-50">
6
+ <h2 class="text-lg font-semibold mb-2">{{ph}}</h2>
7
+ <ul class="list-disc ml-5 space-y-1 text-xl">
8
+ {% for it in items %}{% if it.phase == ph %}
9
+ <li>{{it.label}}</li>
10
+ {% endif %}{% endfor %}
11
+ </ul>
12
+ </section>
13
+ {% endfor %}
14
+ </div>
15
+ </div>
@@ -0,0 +1,24 @@
1
+ <div class="bg-white text-gray-900 flex flex-col items-center justify-center px-16 py-24">
2
+ <h1 class="text-7xl font-extrabold tracking-tight text-center mb-8">{{message}}</h1>
3
+
4
+ <div class="w-full max-w-4xl grid grid-cols-1 md:grid-cols-3 gap-6 items-start">
5
+ <div class="md:col-span-2 rounded-2xl border border-gray-200 p-8 bg-gray-50">
6
+ <ul class="space-y-3 text-2xl leading-relaxed">
7
+ {%- if name %}
8
+ <li><span class="font-semibold">Name:</span>{{name}}</li>
9
+ {%- endif %} {%- if email %}
10
+ <li><span class="font-semibold">Email:</span>{{email}}</li>
11
+ {%- endif %} {%- if url %}
12
+ <li><span class="font-semibold">URL:</span>{{url}}</li>
13
+ {%- endif %}
14
+ </ul>
15
+ </div>
16
+
17
+ {%- if qrImageUrl %}
18
+ <!-- Remove this block if you don't have a QR -->
19
+ <div class="rounded-2xl border border-gray-200 p-6 bg-white flex items-center justify-center">
20
+ <img src="${qrImageUrl}" alt="QR code" class="w-56 h-56 object-contain" />
21
+ </div>
22
+ {%- endif %}
23
+ </div>
24
+ </div>
@@ -0,0 +1,28 @@
1
+ <div class="bg-white text-gray-900 px-20 py-20">
2
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
3
+ <section class="rounded-2xl border p-6 bg-gray-50">
4
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">Company</h2>
5
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
6
+ {% for c in company %}
7
+ <li>{{c}}</li>
8
+ {% endfor %}
9
+ </ul>
10
+ </section>
11
+ <section class="rounded-2xl border p-6 bg-white">
12
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">Customer</h2>
13
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
14
+ {% for c in customer %}
15
+ <li>{{c}}</li>
16
+ {% endfor %}
17
+ </ul>
18
+ </section>
19
+ <section class="rounded-2xl border p-6 bg-gray-50">
20
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">Competitor</h2>
21
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
22
+ {% for c in competitor %}
23
+ <li>{{c}}</li>
24
+ {% endfor %}
25
+ </ul>
26
+ </section>
27
+ </div>
28
+ </div>
@@ -0,0 +1,17 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <div class="mb-6 flex items-center justify-between">
3
+ <div class="text-2xl font-semibold">Y: {{yAxis}}</div>
4
+ <div class="text-2xl font-semibold">X: {{xAxis}}</div>
5
+ </div>
6
+ <div class="grid grid-cols-2 gap-6">
7
+ {% for q in quadrants %}
8
+ <section class="rounded-xl border p-6 bg-gray-50 min-h-[140px]">
9
+ <ul class="list-disc ml-5 space-y-2 text-xl">
10
+ {% for it in q %}
11
+ <li>{{it}}</li>
12
+ {% endfor %}
13
+ </ul>
14
+ </section>
15
+ {% endfor %}
16
+ </div>
17
+ </div>
@@ -0,0 +1,18 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16 space-y-8">
2
+ <section>
3
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">Primary Activities</h2>
4
+ <div class="grid grid-cols-5 gap-4">
5
+ {% for p in primary %}
6
+ <div class="rounded-xl border p-4 text-center text-2xl bg-white">{{p}}</div>
7
+ {% endfor %}
8
+ </div>
9
+ </section>
10
+ <section>
11
+ <h2 class="text-xl font-semibold text-gray-700 mb-3">Support Activities</h2>
12
+ <div class="grid grid-cols-5 gap-4">
13
+ {% for s in support %}
14
+ <div class="rounded-xl border p-4 text-center text-2xl bg-gray-50">{{s}}</div>
15
+ {% endfor %}
16
+ </div>
17
+ </section>
18
+ </div>
@@ -0,0 +1,8 @@
1
+ <div class="bg-white text-gray-900 px-16 py-16">
2
+ <h1 class="text-5xl font-bold mb-8">{{title}}</h1>
3
+ <ul class="list-disc ml-5 space-y-2 text-2xl">
4
+ {% for s in steps %}
5
+ <li>{{s.label}} — {{s.value}}</li>
6
+ {% endfor %}
7
+ </ul>
8
+ </div>
@@ -0,0 +1,26 @@
1
+ <div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 flex flex-col px-16 py-16 min-h-screen">
2
+ <!-- Header -->
3
+ <header class="mb-16">
4
+ <div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-8"></div>
5
+ <h1 class="text-6xl font-extrabold tracking-tight text-gray-900 mb-4 leading-tight">{{title}}</h1>
6
+ <div class="w-32 h-0.5 bg-gray-300"></div>
7
+ </header>
8
+
9
+ <!-- Agenda Items -->
10
+ <main class="flex-1 max-w-5xl">
11
+ <div class="space-y-6">
12
+ {% for item in items %}
13
+ <div class="bg-white rounded-2xl shadow-lg border border-gray-100 p-8 transform hover:scale-[1.02] transition-all duration-300 hover:shadow-xl">
14
+ <div class="flex items-start">
15
+ <div class="flex-shrink-0 w-12 h-12 bg-gradient-to-br from-blue-500 to-indigo-600 rounded-xl flex items-center justify-center mr-6">
16
+ <span class="text-white font-bold text-lg">{{ loop.index }}</span>
17
+ </div>
18
+ <div class="flex-1">
19
+ <div class="text-2xl font-semibold text-gray-800 leading-relaxed break-words">{{ item }}</div>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ {% endfor %}
24
+ </div>
25
+ </main>
26
+ </div>
@@ -0,0 +1,87 @@
1
+ <div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
2
+ <!-- Header -->
3
+ <div class="mb-16">
4
+ <div class="w-20 h-1 bg-gradient-to-r from-emerald-600 to-green-600 mb-6"></div>
5
+ <h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Balance Sheet</h1>
6
+ <div class="w-32 h-0.5 bg-gray-300"></div>
7
+ </div>
8
+
9
+ <!-- Balance Sheet Grid -->
10
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-8 max-w-7xl mx-auto">
11
+ <!-- Assets -->
12
+ <section
13
+ class="bg-gradient-to-br from-emerald-500 to-green-600 rounded-3xl p-8 text-white shadow-2xl transform hover:scale-105 transition-all duration-300"
14
+ >
15
+ <div class="flex items-center mb-6">
16
+ <div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-4">
17
+ <svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
18
+ <path
19
+ fill-rule="evenodd"
20
+ d="M4 4a2 2 0 00-2 2v4a2 2 0 002 2V6h10a2 2 0 00-2-2H4zm2 6a2 2 0 012-2h8a2 2 0 012 2v4a2 2 0 01-2 2H8a2 2 0 01-2-2v-4zm6 4a2 2 0 100-4 2 2 0 000 4z"
21
+ clip-rule="evenodd"
22
+ />
23
+ </svg>
24
+ </div>
25
+ <h2 class="text-3xl font-bold">Assets</h2>
26
+ </div>
27
+ <ul class="space-y-3 text-lg">
28
+ {% for a in assets %}
29
+ <li class="flex items-start"><span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span><span>{{a}}</span></li>
30
+ {% endfor %}
31
+ </ul>
32
+ </section>
33
+
34
+ <!-- Liabilities -->
35
+ <section class="bg-gradient-to-br from-red-500 to-rose-600 rounded-3xl p-8 text-white shadow-2xl transform hover:scale-105 transition-all duration-300">
36
+ <div class="flex items-center mb-6">
37
+ <div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-4">
38
+ <svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
39
+ <path
40
+ fill-rule="evenodd"
41
+ d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z"
42
+ clip-rule="evenodd"
43
+ />
44
+ </svg>
45
+ </div>
46
+ <h2 class="text-3xl font-bold">Liabilities</h2>
47
+ </div>
48
+ <ul class="space-y-3 text-lg">
49
+ {% for l in liabilities %}
50
+ <li class="flex items-start"><span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span><span>{{l}}</span></li>
51
+ {% endfor %}
52
+ </ul>
53
+ </section>
54
+
55
+ <!-- Equity -->
56
+ <section class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-3xl p-8 text-white shadow-2xl transform hover:scale-105 transition-all duration-300">
57
+ <div class="flex items-center mb-6">
58
+ <div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-4">
59
+ <svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
60
+ <path
61
+ fill-rule="evenodd"
62
+ d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"
63
+ clip-rule="evenodd"
64
+ />
65
+ </svg>
66
+ </div>
67
+ <h2 class="text-3xl font-bold">Equity</h2>
68
+ </div>
69
+ <ul class="space-y-3 text-lg">
70
+ {% for e in equity %}
71
+ <li class="flex items-start"><span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span><span>{{e}}</span></li>
72
+ {% endfor %}
73
+ </ul>
74
+ </section>
75
+ </div>
76
+
77
+ <!-- Balance Equation -->
78
+ <div class="text-center mt-12">
79
+ <div class="inline-flex items-center bg-white rounded-2xl shadow-lg px-8 py-4">
80
+ <span class="text-2xl font-bold text-emerald-600">Assets</span>
81
+ <span class="text-2xl font-bold text-gray-400 mx-4">=</span>
82
+ <span class="text-2xl font-bold text-red-500">Liabilities</span>
83
+ <span class="text-2xl font-bold text-gray-400 mx-4">+</span>
84
+ <span class="text-2xl font-bold text-blue-600">Equity</span>
85
+ </div>
86
+ </div>
87
+ </div>
@@ -0,0 +1,29 @@
1
+ <div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
2
+ <!-- Header -->
3
+ <div class="text-center mb-16">
4
+ <div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6 mx-auto"></div>
5
+ <h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Balanced Scorecard</h1>
6
+ <div class="w-32 h-0.5 bg-gray-300 mx-auto"></div>
7
+ </div>
8
+
9
+ <div class="grid grid-cols-2 gap-8 max-w-7xl mx-auto">
10
+ {% set colors = [ "from-emerald-500 to-green-600", "from-blue-500 to-indigo-600", "from-purple-500 to-violet-600", "from-amber-500 to-orange-600" ] %} {%
11
+ for p in perspectives %}
12
+ <section class="bg-gradient-to-br {{colors[loop.index0 % 4]}} rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
13
+ <div class="flex items-center mb-6">
14
+ <div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
15
+ <svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
16
+ <path fill-rule="evenodd" d="M2 5a2 2 0 012-2h8a2 2 0 012 2v10a2 2 0 002 2H4a2 2 0 01-2-2V5zm3 1h6v4H5V6zm6 6H5v2h6v-2z" clip-rule="evenodd" />
17
+ </svg>
18
+ </div>
19
+ <h2 class="text-3xl font-bold">{{p.name}}</h2>
20
+ </div>
21
+ <ul class="space-y-3 text-lg">
22
+ {% for it in p.items %}
23
+ <li class="flex items-start"><span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span><span class="font-light">{{it}}</span></li>
24
+ {% endfor %}
25
+ </ul>
26
+ </section>
27
+ {% endfor %}
28
+ </div>
29
+ </div>
@@ -0,0 +1,165 @@
1
+ <div class="bg-gradient-to-br from-slate-50 to-gray-100 text-gray-900 px-16 py-16 min-h-screen">
2
+ <!-- Header -->
3
+ <div class="text-center mb-16">
4
+ <h1 class="text-5xl font-bold text-gray-900 mb-4">BCG Matrix</h1>
5
+ <div class="w-24 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mx-auto mb-4"></div>
6
+ <p class="text-lg text-gray-600 max-w-2xl mx-auto">Growth-Share Matrix for Portfolio Analysis</p>
7
+ </div>
8
+
9
+ <!-- BCG Matrix Grid -->
10
+ <div class="max-w-6xl mx-auto">
11
+ <!-- Axis Labels -->
12
+ <div class="relative">
13
+ <!-- Y-axis label (Market Growth Rate) -->
14
+ <div class="absolute -left-16 top-1/2 transform -translate-y-1/2 -rotate-90">
15
+ <span class="text-gray-600 font-semibold text-lg">Market Growth Rate</span>
16
+ <div class="flex items-center mt-2">
17
+ <span class="text-sm text-gray-500 mr-2">High</span>
18
+ <div class="w-12 h-0.5 bg-gray-400"></div>
19
+ <span class="text-sm text-gray-500 ml-2">Low</span>
20
+ </div>
21
+ </div>
22
+
23
+ <!-- X-axis label (Market Share) -->
24
+ <div class="text-center mb-4">
25
+ <span class="text-gray-600 font-semibold text-lg">Relative Market Share</span>
26
+ <div class="flex items-center justify-center mt-2">
27
+ <span class="text-sm text-gray-500 mr-4">High</span>
28
+ <div class="w-24 h-0.5 bg-gray-400"></div>
29
+ <span class="text-sm text-gray-500 ml-4">Low</span>
30
+ </div>
31
+ </div>
32
+
33
+ <!-- Matrix Grid -->
34
+ <div class="grid grid-cols-2 gap-8">
35
+ <!-- Stars (High Growth, High Share) -->
36
+ <section
37
+ class="bg-gradient-to-br from-yellow-400 to-orange-500 rounded-3xl p-10 text-white shadow-2xl transform hover:scale-105 transition-all duration-300 relative overflow-hidden"
38
+ >
39
+ <div class="absolute top-0 right-0 opacity-20">
40
+ <svg class="w-20 h-20" fill="currentColor" viewBox="0 0 20 20">
41
+ <path
42
+ d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"
43
+ />
44
+ </svg>
45
+ </div>
46
+ <div class="flex items-center mb-6">
47
+ <div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-4">
48
+ <svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
49
+ <path
50
+ d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"
51
+ />
52
+ </svg>
53
+ </div>
54
+ <h2 class="text-3xl font-bold">Stars</h2>
55
+ </div>
56
+ <div class="text-sm mb-4 opacity-90">High Growth • High Market Share</div>
57
+ <ul class="space-y-3 text-lg">
58
+ {% for it in stars %}
59
+ <li class="flex items-start"><span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span><span>{{it}}</span></li>
60
+ {% endfor %}
61
+ </ul>
62
+ </section>
63
+
64
+ <!-- Question Marks (High Growth, Low Share) -->
65
+ <section
66
+ class="bg-gradient-to-br from-red-500 to-pink-600 rounded-3xl p-10 text-white shadow-2xl transform hover:scale-105 transition-all duration-300 relative overflow-hidden"
67
+ >
68
+ <div class="absolute top-0 right-0 opacity-20">
69
+ <svg class="w-20 h-20" fill="currentColor" viewBox="0 0 20 20">
70
+ <path
71
+ fill-rule="evenodd"
72
+ d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z"
73
+ clip-rule="evenodd"
74
+ />
75
+ </svg>
76
+ </div>
77
+ <div class="flex items-center mb-6">
78
+ <div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-4">
79
+ <svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
80
+ <path
81
+ fill-rule="evenodd"
82
+ d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z"
83
+ clip-rule="evenodd"
84
+ />
85
+ </svg>
86
+ </div>
87
+ <h2 class="text-3xl font-bold">Question Marks</h2>
88
+ </div>
89
+ <div class="text-sm mb-4 opacity-90">High Growth • Low Market Share</div>
90
+ <ul class="space-y-3 text-lg">
91
+ {% for it in questionMarks %}
92
+ <li class="flex items-start"><span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span><span>{{it}}</span></li>
93
+ {% endfor %}
94
+ </ul>
95
+ </section>
96
+
97
+ <!-- Cash Cows (Low Growth, High Share) -->
98
+ <section
99
+ class="bg-gradient-to-br from-emerald-500 to-green-600 rounded-3xl p-10 text-white shadow-2xl transform hover:scale-105 transition-all duration-300 relative overflow-hidden"
100
+ >
101
+ <div class="absolute top-0 right-0 opacity-20">
102
+ <svg class="w-20 h-20" fill="currentColor" viewBox="0 0 20 20">
103
+ <path
104
+ fill-rule="evenodd"
105
+ d="M4 4a2 2 0 00-2 2v4a2 2 0 002 2V6h10a2 2 0 00-2-2H4zm2 6a2 2 0 012-2h8a2 2 0 012 2v4a2 2 0 01-2 2H8a2 2 0 01-2-2v-4zm6 4a2 2 0 100-4 2 2 0 000 4z"
106
+ clip-rule="evenodd"
107
+ />
108
+ </svg>
109
+ </div>
110
+ <div class="flex items-center mb-6">
111
+ <div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-4">
112
+ <svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
113
+ <path
114
+ fill-rule="evenodd"
115
+ d="M4 4a2 2 0 00-2 2v4a2 2 0 002 2V6h10a2 2 0 00-2-2H4zm2 6a2 2 0 012-2h8a2 2 0 012 2v4a2 2 0 01-2 2H8a2 2 0 01-2-2v-4zm6 4a2 2 0 100-4 2 2 0 000 4z"
116
+ clip-rule="evenodd"
117
+ />
118
+ </svg>
119
+ </div>
120
+ <h2 class="text-3xl font-bold">Cash Cows</h2>
121
+ </div>
122
+ <div class="text-sm mb-4 opacity-90">Low Growth • High Market Share</div>
123
+ <ul class="space-y-3 text-lg">
124
+ {% for it in cashCows %}
125
+ <li class="flex items-start"><span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span><span>{{it}}</span></li>
126
+ {% endfor %}
127
+ </ul>
128
+ </section>
129
+
130
+ <!-- Dogs (Low Growth, Low Share) -->
131
+ <section
132
+ class="bg-gradient-to-br from-gray-600 to-gray-800 rounded-3xl p-10 text-white shadow-2xl transform hover:scale-105 transition-all duration-300 relative overflow-hidden"
133
+ >
134
+ <div class="absolute top-0 right-0 opacity-20">
135
+ <svg class="w-20 h-20" fill="currentColor" viewBox="0 0 20 20">
136
+ <path
137
+ fill-rule="evenodd"
138
+ d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z"
139
+ clip-rule="evenodd"
140
+ />
141
+ </svg>
142
+ </div>
143
+ <div class="flex items-center mb-6">
144
+ <div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-4">
145
+ <svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
146
+ <path
147
+ fill-rule="evenodd"
148
+ d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z"
149
+ clip-rule="evenodd"
150
+ />
151
+ </svg>
152
+ </div>
153
+ <h2 class="text-3xl font-bold">Dogs</h2>
154
+ </div>
155
+ <div class="text-sm mb-4 opacity-90">Low Growth • Low Market Share</div>
156
+ <ul class="space-y-3 text-lg">
157
+ {% for it in dogs %}
158
+ <li class="flex items-start"><span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span><span>{{it}}</span></li>
159
+ {% endfor %}
160
+ </ul>
161
+ </section>
162
+ </div>
163
+ </div>
164
+ </div>
165
+ </div>