@fectivnfy112358/minimax-code-web 0.1.0-preview.0 → 0.1.0-preview.3

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 (656) hide show
  1. package/bin/mcode-webui.mjs +6 -2
  2. package/package.json +1 -1
  3. package/server/assets/agents/_default/prompt-base-all.md +121 -0
  4. package/server/assets/agents/_default/prompt-base-all.md.hbs +255 -0
  5. package/server/assets/agents/_default/prompt-base-windows.md +6 -0
  6. package/server/assets/agents/_default/prompt-base-windows.md.hbs +6 -0
  7. package/server/assets/agents/_default/prompt-base-worker.md +12 -0
  8. package/server/assets/agents/_default/prompt-base-worker.md.hbs +27 -0
  9. package/server/assets/agents/_default/prompt-session-branch.md +3 -0
  10. package/server/assets/agents/_default/prompt-session-branch.md.hbs +30 -0
  11. package/server/assets/agents/_default/prompt-session-root.md +4 -0
  12. package/server/assets/agents/_default/prompt-session-root.md.hbs +32 -0
  13. package/server/assets/agents/_migration/README.md +20 -0
  14. package/server/assets/agents/_migration/coder/PERSONA-zh.md +10 -0
  15. package/server/assets/agents/_migration/coder/PERSONA.md +11 -0
  16. package/server/assets/agents/_migration/coder/system-prompt.md.hbs +42 -0
  17. package/server/assets/agents/_migration/general/PERSONA-zh.md +11 -0
  18. package/server/assets/agents/_migration/general/PERSONA.md +11 -0
  19. package/server/assets/agents/_migration/general/system-prompt.md.hbs +49 -0
  20. package/server/assets/agents/_v2/AGENT_CONTEXT.md.hbs +222 -0
  21. package/server/assets/agents/_v2/coding/SYSTEM.md.hbs +161 -0
  22. package/server/assets/agents/_v2/explore.md.hbs +38 -0
  23. package/server/assets/agents/_v2/tui/SYSTEM.md.hbs +147 -0
  24. package/server/assets/agents/_v2/verifier.md.hbs +32 -0
  25. package/server/assets/agents/_v2/work/SYSTEM.md.hbs +173 -0
  26. package/server/assets/agents/_v2/worker.md.hbs +27 -0
  27. package/server/assets/agents/builtin-agents.json +1 -0
  28. package/server/assets/agents/desktop-task/archive-title/system-en.md +1 -0
  29. package/server/assets/agents/desktop-task/archive-title/system-zh.md +1 -0
  30. package/server/assets/agents/desktop-task/checkpoint/system.md +15 -0
  31. package/server/assets/agents/desktop-task/output-revision/system.md +1 -0
  32. package/server/assets/agents/desktop-task/retry/continuation.md +4 -0
  33. package/server/assets/agents/desktop-task/session-title/system.md +41 -0
  34. package/server/assets/agents/explore/PERSONA-zh.md +8 -0
  35. package/server/assets/agents/explore/PERSONA.md +8 -0
  36. package/server/assets/agents/explore/agent.md +14 -0
  37. package/server/assets/agents/explore/system-prompt.md.hbs +35 -0
  38. package/server/assets/agents/greeting-zh.md +61 -0
  39. package/server/assets/agents/greeting.md +61 -0
  40. package/server/assets/agents/managed-prompts.json +54 -0
  41. package/server/assets/agents/mavis/PERSONA-zh.md +7 -0
  42. package/server/assets/agents/mavis/PERSONA.md +7 -0
  43. package/server/assets/agents/mavis/features/cron.md.hbs +23 -0
  44. package/server/assets/agents/mavis/features/delegation.md.hbs +56 -0
  45. package/server/assets/agents/mavis/features/memory.md.hbs +61 -0
  46. package/server/assets/agents/mavis/features/recoverable-deletion.md.hbs +10 -0
  47. package/server/assets/agents/mavis/features/task-management.md.hbs +11 -0
  48. package/server/assets/agents/mavis/features/web-search.md.hbs +11 -0
  49. package/server/assets/agents/mavis/modes/coding/online/PERSONA-zh.md.hbs +20 -0
  50. package/server/assets/agents/mavis/modes/coding/online/PERSONA.md.hbs +20 -0
  51. package/server/assets/agents/mavis/modes/coding/online/SYSTEM.md.hbs +159 -0
  52. package/server/assets/agents/mavis/modes/work/online/PERSONA-zh.md.hbs +20 -0
  53. package/server/assets/agents/mavis/modes/work/online/PERSONA.md.hbs +20 -0
  54. package/server/assets/agents/mavis/modes/work/online/SYSTEM.md.hbs +161 -0
  55. package/server/assets/agents/mavis/prompt-session-root.md +4 -0
  56. package/server/assets/agents/mavis/prompt-session-root.md.hbs +4 -0
  57. package/server/assets/agents/mavis/skills/control-in-app-browser/SKILL.md +491 -0
  58. package/server/assets/agents/mavis/skills/minimax-code-product/SKILL.md +114 -0
  59. package/server/assets/agents/mavis/skills/minimax-code-product/references/account-models.md +32 -0
  60. package/server/assets/agents/mavis/skills/minimax-code-product/references/agents.md +25 -0
  61. package/server/assets/agents/mavis/skills/minimax-code-product/references/extensions.md +33 -0
  62. package/server/assets/agents/mavis/skills/minimax-code-product/references/workflows.md +30 -0
  63. package/server/assets/agents/mavis/system-prompt.md.hbs +97 -0
  64. package/server/assets/agents/prompt-exemptions.json +38 -0
  65. package/server/assets/agents/verifier/PERSONA-zh.md +8 -0
  66. package/server/assets/agents/verifier/PERSONA.md +8 -0
  67. package/server/assets/agents/verifier/agent.md +17 -0
  68. package/server/assets/agents/verifier/system-prompt.md.hbs +28 -0
  69. package/server/assets/agents/worker/PERSONA-zh.md +8 -0
  70. package/server/assets/agents/worker/PERSONA.md +8 -0
  71. package/server/assets/agents/worker/agent.md +18 -0
  72. package/server/assets/agents/worker/system-prompt.md.hbs +22 -0
  73. package/server/assets/agents/workflow/code-review/review-candidates.md +120 -0
  74. package/server/assets/agents/workflow/code-review/reviewer-system.md +75 -0
  75. package/server/assets/agents/workflow/goal/budget-limit.md +16 -0
  76. package/server/assets/agents/workflow/goal/continuation.md +62 -0
  77. package/server/assets/agents/workflow/goal/objective-updated.md +16 -0
  78. package/server/assets/agents/workflow/goal/recovery-terminal-audit.md +12 -0
  79. package/server/assets/agents/workflow/goal/recovery.md +11 -0
  80. package/server/assets/agents/workflow/goal/terminal-audit.md +9 -0
  81. package/server/assets/agents/workflow/plan-mode/agent-entry.md +72 -0
  82. package/server/assets/agents/workflow/prompt-hook/system.md +0 -0
  83. package/server/assets/models-dev-catalog.json.gz +0 -0
  84. package/server/assets/prompts/code-review/review-candidates.md +120 -0
  85. package/server/assets/prompts/code-review/reviewer-system.md +75 -0
  86. package/server/assets/skills/code-review/SKILL.md +51 -0
  87. package/server/assets/skills/cu-desktop/SKILL.md +257 -0
  88. package/server/assets/skills/deep-research/SKILL.md +219 -0
  89. package/server/assets/skills/deep-research/scripts/render_plan.py +33 -0
  90. package/server/assets/skills/deep-research/steps/1_background.md +65 -0
  91. package/server/assets/skills/deep-research/steps/2_judgment.md +66 -0
  92. package/server/assets/skills/deep-research/steps/3_analysis.md +114 -0
  93. package/server/assets/skills/deep-research/steps/4_research.md +161 -0
  94. package/server/assets/skills/deep-research/steps/5_writing.md +358 -0
  95. package/server/assets/skills/deploy-website/SKILL.md +55 -0
  96. package/server/assets/skills/docx/LICENSE +21 -0
  97. package/server/assets/skills/docx/SKILL.md +261 -0
  98. package/server/assets/skills/docx/assets/styles/academic_styles.xml +250 -0
  99. package/server/assets/skills/docx/assets/styles/corporate_styles.xml +284 -0
  100. package/server/assets/skills/docx/assets/styles/default_styles.xml +449 -0
  101. package/server/assets/skills/docx/assets/xsd/aesthetic-rules.xsd +470 -0
  102. package/server/assets/skills/docx/assets/xsd/business-rules.xsd +130 -0
  103. package/server/assets/skills/docx/assets/xsd/common-types.xsd +159 -0
  104. package/server/assets/skills/docx/assets/xsd/wml-subset.xsd +589 -0
  105. package/server/assets/skills/docx/docs/acceptance-checklists/create.md +7 -0
  106. package/server/assets/skills/docx/docs/acceptance-checklists/edit.md +6 -0
  107. package/server/assets/skills/docx/docs/acceptance-checklists/layout-repair.md +7 -0
  108. package/server/assets/skills/docx/docs/acceptance-checklists/template.md +6 -0
  109. package/server/assets/skills/docx/docs/acceptance.md +139 -0
  110. package/server/assets/skills/docx/docs/anti-patterns.md +14 -0
  111. package/server/assets/skills/docx/docs/backends.md +116 -0
  112. package/server/assets/skills/docx/docs/evidence.md +73 -0
  113. package/server/assets/skills/docx/docs/failure-taxonomy.md +71 -0
  114. package/server/assets/skills/docx/docs/index.md +50 -0
  115. package/server/assets/skills/docx/docs/rendered-delivery.md +125 -0
  116. package/server/assets/skills/docx/docs/router.md +122 -0
  117. package/server/assets/skills/docx/docs/tables-and-numbering.md +27 -0
  118. package/server/assets/skills/docx/docs/task-apply-template.md +141 -0
  119. package/server/assets/skills/docx/docs/task-compare-two-docx.md +48 -0
  120. package/server/assets/skills/docx/docs/task-create.md +124 -0
  121. package/server/assets/skills/docx/docs/task-edit-fill.md +69 -0
  122. package/server/assets/skills/docx/docs/task-read-content.md +148 -0
  123. package/server/assets/skills/docx/docs/task-read-rendered.md +78 -0
  124. package/server/assets/skills/docx/docs/task-read-structure.md +93 -0
  125. package/server/assets/skills/docx/docs/task-repair-layout.md +70 -0
  126. package/server/assets/skills/docx/docs/template-dsl.md +32 -0
  127. package/server/assets/skills/docx/docs/track-changes.md +15 -0
  128. package/server/assets/skills/docx/docs/xml-patch-dsl.md +33 -0
  129. package/server/assets/skills/docx/references/cjk_typography.md +357 -0
  130. package/server/assets/skills/docx/references/cjk_university_template_guide.md +184 -0
  131. package/server/assets/skills/docx/references/comments_guide.md +191 -0
  132. package/server/assets/skills/docx/references/design_good_bad_examples.md +829 -0
  133. package/server/assets/skills/docx/references/design_principles.md +819 -0
  134. package/server/assets/skills/docx/references/openxml_element_order.md +308 -0
  135. package/server/assets/skills/docx/references/openxml_encyclopedia_part1.md +4061 -0
  136. package/server/assets/skills/docx/references/openxml_encyclopedia_part2.md +2820 -0
  137. package/server/assets/skills/docx/references/openxml_encyclopedia_part3.md +3381 -0
  138. package/server/assets/skills/docx/references/openxml_namespaces.md +82 -0
  139. package/server/assets/skills/docx/references/openxml_units.md +72 -0
  140. package/server/assets/skills/docx/references/sample-patch-plans.json +22 -0
  141. package/server/assets/skills/docx/references/sample-task-intents.json +5 -0
  142. package/server/assets/skills/docx/references/sample-template-manifests.json +21 -0
  143. package/server/assets/skills/docx/references/scenario_a_create.md +284 -0
  144. package/server/assets/skills/docx/references/scenario_b_edit_content.md +295 -0
  145. package/server/assets/skills/docx/references/scenario_c_apply_template.md +456 -0
  146. package/server/assets/skills/docx/references/track_changes_guide.md +200 -0
  147. package/server/assets/skills/docx/references/troubleshooting.md +506 -0
  148. package/server/assets/skills/docx/references/typography_guide.md +294 -0
  149. package/server/assets/skills/docx/references/xsd_validation_guide.md +158 -0
  150. package/server/assets/skills/docx/scripts/build_patch_plan.py +29 -0
  151. package/server/assets/skills/docx/scripts/diff_docx_structure.py +61 -0
  152. package/server/assets/skills/docx/scripts/doc_to_docx.ps1 +85 -0
  153. package/server/assets/skills/docx/scripts/doc_to_docx.sh +40 -0
  154. package/server/assets/skills/docx/scripts/docx_preview.ps1 +76 -0
  155. package/server/assets/skills/docx/scripts/docx_preview.sh +37 -0
  156. package/server/assets/skills/docx/scripts/docx_to_pdf.py +87 -0
  157. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
  158. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  159. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  160. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  161. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  162. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  163. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  164. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  165. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  166. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  167. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
  168. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  169. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  170. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  171. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  172. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  173. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  174. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  175. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  176. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  177. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  178. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  179. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  180. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  181. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  182. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  183. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  184. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  185. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  186. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  187. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  188. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  189. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  190. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  191. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  192. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  193. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  194. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  195. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  196. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  197. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  198. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  199. package/server/assets/skills/docx/scripts/env_check.ps1 +327 -0
  200. package/server/assets/skills/docx/scripts/env_check.sh +340 -0
  201. package/server/assets/skills/docx/scripts/extract_docx_text.py +1075 -0
  202. package/server/assets/skills/docx/scripts/pack_docx.py +31 -0
  203. package/server/assets/skills/docx/scripts/read_docx_structure.py +1032 -0
  204. package/server/assets/skills/docx/scripts/render_docx_pages.py +147 -0
  205. package/server/assets/skills/docx/scripts/rendered_report.py +609 -0
  206. package/server/assets/skills/docx/scripts/setup.ps1 +542 -0
  207. package/server/assets/skills/docx/scripts/setup.sh +537 -0
  208. package/server/assets/skills/docx/scripts/unpack_docx.py +29 -0
  209. package/server/assets/skills/docx/scripts/validate_template_manifest.py +60 -0
  210. package/server/assets/skills/docx/scripts/verify_anchor_atomicity.py +87 -0
  211. package/server/assets/skills/edit-deployed-website/SKILL.md +27 -0
  212. package/server/assets/skills/init/SKILL.md +137 -0
  213. package/server/assets/skills/lark-tools/SKILL.md +321 -0
  214. package/server/assets/skills/lark-tools/cli-skills/lark-approval/SKILL.md +48 -0
  215. package/server/assets/skills/lark-tools/cli-skills/lark-attendance/SKILL.md +57 -0
  216. package/server/assets/skills/lark-tools/cli-skills/lark-base/SKILL.md +372 -0
  217. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/dashboard-block-data-config.md +350 -0
  218. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/examples.md +130 -0
  219. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/formula-field-guide.md +735 -0
  220. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-advperm-disable.md +83 -0
  221. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-advperm-enable.md +80 -0
  222. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-base-copy.md +74 -0
  223. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-base-create.md +68 -0
  224. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-base-get.md +39 -0
  225. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-arrange.md +83 -0
  226. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-create.md +108 -0
  227. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
  228. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-get.md +57 -0
  229. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-list.md +53 -0
  230. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-update.md +84 -0
  231. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-create.md +73 -0
  232. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-delete.md +44 -0
  233. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-get.md +59 -0
  234. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-list.md +52 -0
  235. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-update.md +69 -0
  236. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard.md +240 -0
  237. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-data-query.md +375 -0
  238. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-create.md +104 -0
  239. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-delete.md +51 -0
  240. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-get.md +42 -0
  241. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-list.md +44 -0
  242. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-search-options.md +48 -0
  243. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-update.md +97 -0
  244. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field.md +22 -0
  245. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-create.md +87 -0
  246. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-delete.md +64 -0
  247. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-get.md +68 -0
  248. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-list.md +73 -0
  249. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-create.md +118 -0
  250. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-delete.md +68 -0
  251. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-list.md +84 -0
  252. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-update.md +92 -0
  253. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions.md +23 -0
  254. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-update.md +82 -0
  255. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form.md +24 -0
  256. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-history.md +16 -0
  257. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-batch-create.md +76 -0
  258. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-batch-update.md +71 -0
  259. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-delete.md +51 -0
  260. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-get.md +38 -0
  261. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-history-list.md +86 -0
  262. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-list.md +83 -0
  263. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-search.md +72 -0
  264. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-upload-attachment.md +51 -0
  265. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-upsert.md +89 -0
  266. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record.md +28 -0
  267. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-create.md +89 -0
  268. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-delete.md +83 -0
  269. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-get.md +87 -0
  270. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-list.md +81 -0
  271. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-update.md +94 -0
  272. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-shortcut-field-properties.md +679 -0
  273. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-shortcut-record-value.md +200 -0
  274. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-create.md +62 -0
  275. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-delete.md +51 -0
  276. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-get.md +46 -0
  277. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-list.md +43 -0
  278. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-update.md +49 -0
  279. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table.md +20 -0
  280. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-create.md +83 -0
  281. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-delete.md +48 -0
  282. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-card.md +38 -0
  283. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-filter.md +38 -0
  284. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-group.md +38 -0
  285. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-sort.md +38 -0
  286. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-timebar.md +38 -0
  287. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-visible-fields.md +38 -0
  288. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get.md +38 -0
  289. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-list.md +44 -0
  290. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-rename.md +44 -0
  291. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-card.md +81 -0
  292. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-filter.md +92 -0
  293. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-group.md +77 -0
  294. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-sort.md +77 -0
  295. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-timebar.md +79 -0
  296. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-visible-fields.md +73 -0
  297. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view.md +44 -0
  298. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-create.md +180 -0
  299. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-disable.md +94 -0
  300. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-enable.md +94 -0
  301. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-get.md +147 -0
  302. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-guide.md +718 -0
  303. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-list.md +123 -0
  304. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-schema.md +935 -0
  305. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-update.md +167 -0
  306. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow.md +23 -0
  307. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workspace.md +18 -0
  308. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lookup-field-guide.md +508 -0
  309. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/role-config.md +532 -0
  310. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/SKILL.md +143 -0
  311. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
  312. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-create.md +109 -0
  313. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-freebusy.md +124 -0
  314. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-room-find.md +89 -0
  315. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
  316. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-schedule-meeting.md +194 -0
  317. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
  318. package/server/assets/skills/lark-tools/cli-skills/lark-contact/SKILL.md +23 -0
  319. package/server/assets/skills/lark-tools/cli-skills/lark-contact/references/lark-contact-get-user.md +47 -0
  320. package/server/assets/skills/lark-tools/cli-skills/lark-contact/references/lark-contact-search-user.md +39 -0
  321. package/server/assets/skills/lark-tools/cli-skills/lark-doc/SKILL.md +189 -0
  322. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-create.md +673 -0
  323. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-fetch.md +120 -0
  324. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-media-download.md +50 -0
  325. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-media-insert.md +51 -0
  326. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-media-preview.md +41 -0
  327. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-search.md +213 -0
  328. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-update.md +264 -0
  329. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-whiteboard-update.md +6 -0
  330. package/server/assets/skills/lark-tools/cli-skills/lark-drive/SKILL.md +294 -0
  331. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-add-comment.md +99 -0
  332. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-create-folder.md +73 -0
  333. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  334. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-delete.md +79 -0
  335. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-download.md +31 -0
  336. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-export-download.md +50 -0
  337. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-export.md +100 -0
  338. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-import.md +132 -0
  339. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-move.md +120 -0
  340. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-reactions.md +113 -0
  341. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-task-result.md +264 -0
  342. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-upload.md +67 -0
  343. package/server/assets/skills/lark-tools/cli-skills/lark-event/SKILL.md +21 -0
  344. package/server/assets/skills/lark-tools/cli-skills/lark-event/references/lark-event-subscribe.md +217 -0
  345. package/server/assets/skills/lark-tools/cli-skills/lark-im/SKILL.md +140 -0
  346. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-create.md +156 -0
  347. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-identity.md +55 -0
  348. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-messages-list.md +142 -0
  349. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-search.md +114 -0
  350. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-update.md +84 -0
  351. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-mget.md +95 -0
  352. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-reply.md +222 -0
  353. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
  354. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-search.md +213 -0
  355. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-send.md +223 -0
  356. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-reactions.md +297 -0
  357. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-threads-messages-list.md +111 -0
  358. package/server/assets/skills/lark-tools/cli-skills/lark-mail/SKILL.md +550 -0
  359. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-draft-create.md +110 -0
  360. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-draft-edit.md +376 -0
  361. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-forward.md +208 -0
  362. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-message.md +201 -0
  363. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-messages.md +108 -0
  364. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-reply-all.md +184 -0
  365. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-reply.md +220 -0
  366. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-send.md +178 -0
  367. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-signature.md +98 -0
  368. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-thread.md +111 -0
  369. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-triage.md +122 -0
  370. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-watch.md +94 -0
  371. package/server/assets/skills/lark-tools/cli-skills/lark-minutes/SKILL.md +116 -0
  372. package/server/assets/skills/lark-tools/cli-skills/lark-minutes/references/lark-minutes-download.md +119 -0
  373. package/server/assets/skills/lark-tools/cli-skills/lark-minutes/references/lark-minutes-search.md +180 -0
  374. package/server/assets/skills/lark-tools/cli-skills/lark-openapi-explorer/SKILL.md +153 -0
  375. package/server/assets/skills/lark-tools/cli-skills/lark-shared/SKILL.md +141 -0
  376. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/SKILL.md +262 -0
  377. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-add-dimension.md +51 -0
  378. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-append.md +56 -0
  379. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-batch-set-style.md +53 -0
  380. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-create-filter-view-condition.md +42 -0
  381. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-create-filter-view.md +42 -0
  382. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-create.md +69 -0
  383. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-dimension.md +53 -0
  384. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-dropdown.md +46 -0
  385. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-filter-view-condition.md +26 -0
  386. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-filter-view.md +25 -0
  387. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-export.md +51 -0
  388. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-find.md +62 -0
  389. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-formula.md +89 -0
  390. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-get-dropdown.md +43 -0
  391. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-get-filter-view-condition.md +27 -0
  392. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-get-filter-view.md +26 -0
  393. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-info.md +43 -0
  394. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-insert-dimension.md +51 -0
  395. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-list-filter-view-conditions.md +28 -0
  396. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-list-filter-views.md +26 -0
  397. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-merge-cells.md +47 -0
  398. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-move-dimension.md +52 -0
  399. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-read.md +61 -0
  400. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-replace.md +62 -0
  401. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-set-dropdown.md +62 -0
  402. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-set-style.md +71 -0
  403. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-unmerge-cells.md +46 -0
  404. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-dimension.md +60 -0
  405. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-dropdown.md +51 -0
  406. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-filter-view-condition.md +27 -0
  407. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-filter-view.md +24 -0
  408. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-write-image.md +65 -0
  409. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-write.md +60 -0
  410. package/server/assets/skills/lark-tools/cli-skills/lark-skill-maker/SKILL.md +85 -0
  411. package/server/assets/skills/lark-tools/cli-skills/lark-slides/SKILL.md +368 -0
  412. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/examples.md +179 -0
  413. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-create.md +137 -0
  414. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-media-upload.md +143 -0
  415. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +215 -0
  416. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +119 -0
  417. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-xml-presentations-get.md +94 -0
  418. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/slide-templates.md +199 -0
  419. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/slides_demo.xml +226 -0
  420. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
  421. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/xml-format-guide.md +369 -0
  422. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/xml-schema-quick-ref.md +215 -0
  423. package/server/assets/skills/lark-tools/cli-skills/lark-task/SKILL.md +151 -0
  424. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-assign.md +35 -0
  425. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-comment.md +28 -0
  426. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-complete.md +27 -0
  427. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-create.md +51 -0
  428. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-followers.md +32 -0
  429. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-get-my-tasks.md +55 -0
  430. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
  431. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-reminder.md +36 -0
  432. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-reopen.md +27 -0
  433. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-search.md +41 -0
  434. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-set-ancestor.md +32 -0
  435. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-subscribe-event.md +86 -0
  436. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-create.md +35 -0
  437. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-members.md +36 -0
  438. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-search.md +38 -0
  439. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  440. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-update.md +37 -0
  441. package/server/assets/skills/lark-tools/cli-skills/lark-vc/SKILL.md +143 -0
  442. package/server/assets/skills/lark-tools/cli-skills/lark-vc/references/lark-vc-notes.md +126 -0
  443. package/server/assets/skills/lark-tools/cli-skills/lark-vc/references/lark-vc-recording.md +141 -0
  444. package/server/assets/skills/lark-tools/cli-skills/lark-vc/references/lark-vc-search.md +159 -0
  445. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard/SKILL.md +118 -0
  446. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
  447. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard/references/lark-whiteboard-update.md +97 -0
  448. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/SKILL.md +236 -0
  449. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/connectors.md +102 -0
  450. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/content.md +40 -0
  451. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/layout.md +374 -0
  452. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/schema.md +333 -0
  453. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/style.md +318 -0
  454. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/typography.md +73 -0
  455. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/architecture.md +433 -0
  456. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/bar-chart.md +181 -0
  457. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/comparison.md +135 -0
  458. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/fishbone.md +238 -0
  459. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/flowchart.md +185 -0
  460. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/flywheel.md +195 -0
  461. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/funnel.md +101 -0
  462. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/line-chart.md +208 -0
  463. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/mermaid.md +136 -0
  464. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/milestone.md +139 -0
  465. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/organization.md +175 -0
  466. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/pyramid.md +99 -0
  467. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/swimlane.md +370 -0
  468. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/treemap.md +210 -0
  469. package/server/assets/skills/lark-tools/cli-skills/lark-wiki/SKILL.md +93 -0
  470. package/server/assets/skills/lark-tools/cli-skills/lark-wiki/references/lark-wiki-move.md +183 -0
  471. package/server/assets/skills/lark-tools/cli-skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
  472. package/server/assets/skills/lark-tools/cli-skills/lark-workflow-meeting-summary/SKILL.md +99 -0
  473. package/server/assets/skills/lark-tools/cli-skills/lark-workflow-standup-report/SKILL.md +120 -0
  474. package/server/assets/skills/lark-tools/references/commands-macos-linux.md +42 -0
  475. package/server/assets/skills/lark-tools/references/commands-windows-powershell.md +54 -0
  476. package/server/assets/skills/lark-tools/references/storage-paths.md +21 -0
  477. package/server/assets/skills/llm-call/SKILL.md +50 -0
  478. package/server/assets/skills/llm-call/scripts/llm_call.py +458 -0
  479. package/server/assets/skills/mcode-tools-master/SKILL.md +133 -0
  480. package/server/assets/skills/pdf/SKILL.md +287 -0
  481. package/server/assets/skills/pdf/docs/advanced-reference.md +711 -0
  482. package/server/assets/skills/pdf/docs/ai-voice-cloning-regulatory-report-case.md +303 -0
  483. package/server/assets/skills/pdf/docs/annual-report-financial-digest-latex-case.md +233 -0
  484. package/server/assets/skills/pdf/docs/create-guide.md +438 -0
  485. package/server/assets/skills/pdf/docs/design-guide.md +204 -0
  486. package/server/assets/skills/pdf/docs/docx-contract-roundtrip-professional-case.md +328 -0
  487. package/server/assets/skills/pdf/docs/email-translation-goldman-two-sessions-case.md +346 -0
  488. package/server/assets/skills/pdf/docs/forms-guide.md +462 -0
  489. package/server/assets/skills/pdf/docs/html-pdf-spec.md +500 -0
  490. package/server/assets/skills/pdf/docs/italy-schengen-visa-acroform-case.md +22 -0
  491. package/server/assets/skills/pdf/docs/latex-academic-thesis-guide.md +234 -0
  492. package/server/assets/skills/pdf/docs/latex-technical-book-guide.md +112 -0
  493. package/server/assets/skills/pdf/docs/markdown-static-academic-data-viz-case.md +280 -0
  494. package/server/assets/skills/pdf/docs/pitfalls-index.md +798 -0
  495. package/server/assets/skills/pdf/docs/read-guide.md +358 -0
  496. package/server/assets/skills/pdf/docs/reformat-guide.md +238 -0
  497. package/server/assets/skills/pdf/docs/skill-readme-archive.md +152 -0
  498. package/server/assets/skills/pdf/docs/troubleshooting.md +86 -0
  499. package/server/assets/skills/pdf/docs/vision-guide.md +188 -0
  500. package/server/assets/skills/pdf/scripts/__init__.py +0 -0
  501. package/server/assets/skills/pdf/scripts/_pdf_read_lib.py +284 -0
  502. package/server/assets/skills/pdf/scripts/fill/__init__.py +0 -0
  503. package/server/assets/skills/pdf/scripts/fill/acroform_apply.py +153 -0
  504. package/server/assets/skills/pdf/scripts/fill/overlay_apply.py +109 -0
  505. package/server/assets/skills/pdf/scripts/lib/__init__.py +0 -0
  506. package/server/assets/skills/pdf/scripts/lib/acroform_io.py +170 -0
  507. package/server/assets/skills/pdf/scripts/lib/cli_utils.py +41 -0
  508. package/server/assets/skills/pdf/scripts/lib/geometry.py +79 -0
  509. package/server/assets/skills/pdf/scripts/make.sh +388 -0
  510. package/server/assets/skills/pdf/scripts/merge.py +112 -0
  511. package/server/assets/skills/pdf/scripts/pdf_inspect/__init__.py +0 -0
  512. package/server/assets/skills/pdf/scripts/pdf_inspect/acroform_inspect.py +52 -0
  513. package/server/assets/skills/pdf/scripts/pdf_inspect/acroform_probe.py +57 -0
  514. package/server/assets/skills/pdf/scripts/pdf_inspect/layout_scan.py +164 -0
  515. package/server/assets/skills/pdf/scripts/read_pdf_vision.py +473 -0
  516. package/server/assets/skills/pdf/scripts/reformat_parse.py +181 -0
  517. package/server/assets/skills/pdf/scripts/render/__init__.py +0 -0
  518. package/server/assets/skills/pdf/scripts/render/overlay_preview.py +86 -0
  519. package/server/assets/skills/pdf/scripts/render/page_rasterize.py +85 -0
  520. package/server/assets/skills/pdf/scripts/render_html.cjs +205 -0
  521. package/server/assets/skills/pdf/scripts/validate/__init__.py +0 -0
  522. package/server/assets/skills/pdf/scripts/validate/geometry_lint.py +124 -0
  523. package/server/assets/skills/pdf/templates/INDEX.md +97 -0
  524. package/server/assets/skills/pdf/templates/bilingual-menu-premium/README.md +175 -0
  525. package/server/assets/skills/pdf/templates/bilingual-menu-premium/skeleton.html +343 -0
  526. package/server/assets/skills/pdf/templates/brand-guide-2page/README.md +140 -0
  527. package/server/assets/skills/pdf/templates/brand-guide-2page/cases/minimax-web-brand-guide/README.md +155 -0
  528. package/server/assets/skills/pdf/templates/brand-guide-2page/cases/minimax-web-brand-guide/source.html +188 -0
  529. package/server/assets/skills/pdf/templates/brand-guide-2page/skeleton.html +264 -0
  530. package/server/assets/skills/pdf/templates/data-viz-report/README.md +234 -0
  531. package/server/assets/skills/pdf/templates/data-viz-report/cases/annual-report-financial-digest-latex/README.md +12 -0
  532. package/server/assets/skills/pdf/templates/data-viz-report/cases/annual-report-financial-digest-latex/build_charts.py +341 -0
  533. package/server/assets/skills/pdf/templates/data-viz-report/cases/annual-report-financial-digest-latex/source.tex +161 -0
  534. package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/assets/fig_1_1_table_1_1_specs.png +0 -0
  535. package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/assets/fig_1_2_table_1_2_geekbench.png +0 -0
  536. package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/assets/fig_1_3_mmax_generation.png +0 -0
  537. package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/source.html +656 -0
  538. package/server/assets/skills/pdf/templates/data-viz-report/skeleton.html +835 -0
  539. package/server/assets/skills/pdf/templates/form-fill-acroform/README.md +198 -0
  540. package/server/assets/skills/pdf/templates/form-fill-acroform/cases/italy-schengen-visa-example/USER-FINAL-SUMMARY.template.md +42 -0
  541. package/server/assets/skills/pdf/templates/form-fill-acroform/cases/italy-schengen-visa-example/extract_pdfs_key_info.py +80 -0
  542. package/server/assets/skills/pdf/templates/form-fill-acroform/cases/italy-schengen-visa-example/field_values.case.json +233 -0
  543. package/server/assets/skills/pdf/templates/form-fill-acroform/field_values.template.json +118 -0
  544. package/server/assets/skills/pdf/templates/latex-academic-thesis/README.md +146 -0
  545. package/server/assets/skills/pdf/templates/latex-academic-thesis/source.tex +334 -0
  546. package/server/assets/skills/pdf/templates/latex-technical-book/README.md +130 -0
  547. package/server/assets/skills/pdf/templates/latex-technical-book/README.template-source.md +62 -0
  548. package/server/assets/skills/pdf/templates/latex-technical-book/source.tex +439 -0
  549. package/server/assets/skills/pdf/templates/multi-article-aggregator/README.md +148 -0
  550. package/server/assets/skills/pdf/templates/multi-article-aggregator/pipeline.md +223 -0
  551. package/server/assets/skills/pdf/templates/multilang-research-report/README.md +146 -0
  552. package/server/assets/skills/pdf/templates/multilang-research-report/cases/ai-voice-cloning-regulatory/source.html +244 -0
  553. package/server/assets/skills/pdf/templates/multilang-research-report/skeleton.html +242 -0
  554. package/server/assets/skills/pdf/templates/reformat-default/README.md +137 -0
  555. package/server/assets/skills/pdf/templates/reformat-default/cases/pku-contract-roundtrip/docx_engine.py +68 -0
  556. package/server/assets/skills/pdf/templates/reformat-default/cases/pku-contract-roundtrip/source.html +231 -0
  557. package/server/assets/skills/pdf/templates/reformat-default/cases/pku-contract-roundtrip/source.md +196 -0
  558. package/server/assets/skills/pdf/templates/reformat-default/skeleton.html +204 -0
  559. package/server/assets/skills/pdf/templates/translate-preserve-layout/README.md +147 -0
  560. package/server/assets/skills/pdf/templates/translate-preserve-layout/cases/goldman-china-two-sessions-cn.html +1660 -0
  561. package/server/assets/skills/pdf/templates/translate-preserve-layout/skeleton.html +96 -0
  562. package/server/assets/skills/pdf/templates/translate-preserve-layout/terminology.template.json +66 -0
  563. package/server/assets/skills/pptx/SKILL.md +285 -0
  564. package/server/assets/skills/pptx/references/design-system.md +424 -0
  565. package/server/assets/skills/pptx/references/editing.md +162 -0
  566. package/server/assets/skills/pptx/references/element-map.md +229 -0
  567. package/server/assets/skills/pptx/references/pitfalls.md +205 -0
  568. package/server/assets/skills/pptx/references/pptxgenjs.md +420 -0
  569. package/server/assets/skills/pptx/references/preview-selection-writeback.md +65 -0
  570. package/server/assets/skills/pptx/references/python-pptx-recipes.md +63 -0
  571. package/server/assets/skills/pptx/references/slide-types.md +413 -0
  572. package/server/assets/skills/pptx/scripts/audit_pptx.py +708 -0
  573. package/server/assets/skills/pptx/scripts/extract_comments.py +468 -0
  574. package/server/assets/skills/pptx/scripts/extract_images.py +226 -0
  575. package/server/assets/skills/pptx/scripts/extract_pptx.py +285 -0
  576. package/server/assets/skills/pptx/scripts/mavis-ppt-map.cjs +280 -0
  577. package/server/assets/skills/pptx/scripts/pdf2png.swift +203 -0
  578. package/server/assets/skills/pptx/scripts/pptx-screenshot.sh +105 -0
  579. package/server/assets/skills/resume-codex/SKILL.md +55 -0
  580. package/server/assets/skills/resume-codex/scripts/session-reader.mjs +445 -0
  581. package/server/assets/skills/skill-creator/SKILL.md +190 -0
  582. package/server/assets/skills/skill-creator/references/anti-patterns.md +149 -0
  583. package/server/assets/skills/skill-creator/references/commands-macos-linux.md +38 -0
  584. package/server/assets/skills/skill-creator/references/commands-windows-powershell.md +48 -0
  585. package/server/assets/skills/skill-creator/references/description-rubric.md +83 -0
  586. package/server/assets/skills/skill-creator/references/skill-template.md +101 -0
  587. package/server/assets/skills/skill-creator/references/when-to-bundle-scripts.md +139 -0
  588. package/server/assets/skills/skill-creator/scripts/lint-skill.js +226 -0
  589. package/server/assets/skills/skill-refiner/SKILL.md +139 -0
  590. package/server/assets/skills/visual-page/SKILL.md +196 -0
  591. package/server/assets/skills/x-link-reader/SKILL.md +110 -0
  592. package/server/assets/skills/xlsx/SKILL.md +501 -0
  593. package/server/assets/skills/xlsx/docs/advanced-reference.md +410 -0
  594. package/server/assets/skills/xlsx/docs/cases/superstore-multiformat/conversion_manifest.example.json +49 -0
  595. package/server/assets/skills/xlsx/docs/cases/superstore-multiformat/superstore_orders_print.html +17 -0
  596. package/server/assets/skills/xlsx/docs/conventions-guide.md +217 -0
  597. package/server/assets/skills/xlsx/docs/create-edit-guide.md +410 -0
  598. package/server/assets/skills/xlsx/docs/pitfalls-index.md +760 -0
  599. package/server/assets/skills/xlsx/docs/raw-xml-escape-hatch.md +201 -0
  600. package/server/assets/skills/xlsx/docs/recalc-guide.md +295 -0
  601. package/server/assets/skills/xlsx/docs/superstore-multiformat-conversion-case.md +413 -0
  602. package/server/assets/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  603. package/server/assets/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  604. package/server/assets/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  605. package/server/assets/skills/xlsx/scripts/office/pack.py +159 -0
  606. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  607. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  608. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  609. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  610. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  611. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  612. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  613. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  614. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  615. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  616. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  617. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  618. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  619. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  620. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  621. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  622. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  623. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  624. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  625. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  626. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  627. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  628. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  629. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  630. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  631. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  632. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  633. package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  634. package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  635. package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  636. package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  637. package/server/assets/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  638. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  639. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  640. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  641. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  642. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  643. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  644. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  645. package/server/assets/skills/xlsx/scripts/office/soffice.py +191 -0
  646. package/server/assets/skills/xlsx/scripts/office/unpack.py +132 -0
  647. package/server/assets/skills/xlsx/scripts/office/validate.py +117 -0
  648. package/server/assets/skills/xlsx/scripts/office/validators/__init__.py +15 -0
  649. package/server/assets/skills/xlsx/scripts/office/validators/base.py +851 -0
  650. package/server/assets/skills/xlsx/scripts/office/validators/docx.py +446 -0
  651. package/server/assets/skills/xlsx/scripts/office/validators/pptx.py +275 -0
  652. package/server/assets/skills/xlsx/scripts/office/validators/redlining.py +247 -0
  653. package/server/assets/skills/xlsx/scripts/recalc.py +450 -0
  654. package/server/mcode-tools.js +2 -0
  655. package/server/package-info.json +1 -1
  656. package/server/server.js +2 -0
@@ -0,0 +1,835 @@
1
+ <!DOCTYPE html>
2
+ <!--
3
+ data-viz-report skeleton
4
+ ------------------------
5
+ Copy this file, edit the <!-- PLACEHOLDER --> tokens and the chart
6
+ datasets at the bottom of <script>, then render with Chrome headless:
7
+
8
+ "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
9
+ --headless=new --disable-gpu --no-sandbox --hide-scrollbars \
10
+ --virtual-time-budget=15000 \
11
+ --run-all-compositor-stages-before-draw \
12
+ --no-pdf-header-footer \
13
+ --print-to-pdf="out.pdf" "file://$PWD/page.html"
14
+
15
+ Component primitives (drop-in, all carried in this file):
16
+ .cover full-bleed gradient hero page
17
+ .section-num + h2.section part eyebrow + title + accent rule
18
+ .lead left-bordered intro paragraph
19
+ .kpis > .kpi.{blue|green|orange|purple} 4-up stat grid
20
+ .timeline > .gen.{g1..g4} generation / phase progression strip
21
+ .chart-card.avoid-break chart wrapper with title + sub
22
+ table.data + .pill.{bad|warn|ok|good|best} reference table + status
23
+ .versus > .vs-card.{apple|nvidia} head-to-head 2-up comparison
24
+ .recommend-grid > .rec-card.{entry|recommend|premium} 3-tier picks
25
+ .insight yellow callout (one-line takeaway)
26
+ .conclusion dark conclusion block
27
+ .takeaway numbered finding row
28
+ .footer-meta reference / version footer
29
+ -->
30
+ <html lang="zh-CN">
31
+ <head>
32
+ <meta charset="UTF-8">
33
+ <title><!-- REPORT_TITLE --></title>
34
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
35
+ <style>
36
+ /* === @page + universal print color fidelity ============================ */
37
+ @page { size: A4 portrait; margin: 14mm 12mm; }
38
+ * { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
39
+
40
+ /* === Tokens (re-skin per subject — see README §7 diversification table) */
41
+ :root {
42
+ --ink: #1d1d1f;
43
+ --ink-2: #424245;
44
+ --ink-3: #6e6e73;
45
+ --ink-4: #86868b;
46
+ --hairline: #e5e5ea;
47
+ --rule: #d2d2d7;
48
+ --surface: #fff;
49
+ --mute: #f5f5f7;
50
+ --accent: <!-- ACCENT_HEX -->; /* e.g. #007AFF */
51
+ --cover-1: <!-- COVER_GRAD_1 -->; /* e.g. #0a1628 */
52
+ --cover-2: <!-- COVER_GRAD_2 -->; /* e.g. #1d3557 */
53
+ --cover-3: <!-- COVER_GRAD_3 -->; /* e.g. #2a5298 */
54
+ }
55
+
56
+ html, body {
57
+ margin: 0; padding: 0;
58
+ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display",
59
+ "PingFang SC", "Helvetica Neue", Arial, sans-serif;
60
+ color: var(--ink); background: var(--surface);
61
+ font-size: 10.5pt; line-height: 1.55;
62
+ -webkit-font-smoothing: antialiased;
63
+ }
64
+ .content { padding: 14mm 12mm; }
65
+ .page-break { page-break-after: always; }
66
+ .avoid-break { page-break-inside: avoid; }
67
+
68
+ /* === Cover (full-bleed gradient hero) ================================== */
69
+ .cover {
70
+ height: 268mm;
71
+ background: linear-gradient(135deg, var(--cover-1) 0%, var(--cover-2) 50%, var(--cover-3) 100%);
72
+ color: #fff; padding: 30mm 18mm; position: relative; overflow: hidden;
73
+ page-break-after: always;
74
+ }
75
+ .cover::before {
76
+ content: ""; position: absolute; top: -100px; right: -100px;
77
+ width: 500px; height: 500px; border-radius: 50%;
78
+ background: radial-gradient(circle, rgba(99,179,237,0.30), transparent 70%);
79
+ }
80
+ .cover::after {
81
+ content: ""; position: absolute; bottom: -150px; left: -150px;
82
+ width: 600px; height: 600px; border-radius: 50%;
83
+ background: radial-gradient(circle, rgba(168,85,247,0.20), transparent 70%);
84
+ }
85
+ .cover-tag {
86
+ display: inline-block; padding: 6px 14px; border: 1px solid rgba(255,255,255,0.4);
87
+ border-radius: 20px; font-size: 10pt; letter-spacing: 2px; opacity: 0.85;
88
+ }
89
+ .cover h1 {
90
+ font-size: 38pt; font-weight: 700; margin: 28px 0 18px; line-height: 1.15;
91
+ letter-spacing: -1px; position: relative; z-index: 2;
92
+ }
93
+ .cover .subtitle {
94
+ font-size: 13pt; opacity: 0.85; max-width: 520px;
95
+ line-height: 1.7; position: relative; z-index: 2;
96
+ }
97
+ .cover-meta {
98
+ position: absolute; bottom: 30mm; left: 18mm; right: 18mm;
99
+ display: flex; justify-content: space-between; align-items: flex-end; z-index: 2;
100
+ }
101
+ .meta-stats { display: flex; gap: 32px; }
102
+ .meta-stat .num { font-size: 28pt; font-weight: 700; line-height: 1; }
103
+ .meta-stat .lbl { font-size: 9pt; opacity: 0.7; margin-top: 4px; letter-spacing: 1px; }
104
+ .cover-info { text-align: right; opacity: 0.7; font-size: 9pt; line-height: 1.8; }
105
+
106
+ /* === Section header (eyebrow + H2 + accent rule) ======================= */
107
+ h2.section {
108
+ font-size: 20pt; font-weight: 700; margin: 0 0 4px;
109
+ color: var(--ink); letter-spacing: -0.5px;
110
+ }
111
+ .section-num {
112
+ display: inline-block; font-size: 10pt; font-weight: 600;
113
+ color: var(--accent); letter-spacing: 3px; margin-bottom: 8px;
114
+ }
115
+ .section-line {
116
+ width: 50px; height: 3px; background: var(--accent);
117
+ border-radius: 2px; margin: 12px 0 24px;
118
+ }
119
+ h3 { font-size: 13pt; font-weight: 600; margin: 22px 0 10px; color: var(--ink); letter-spacing: -0.3px; }
120
+ h3 .num { color: var(--ink-4); font-weight: 500; margin-right: 8px; }
121
+ p { margin: 8px 0; }
122
+ .lead {
123
+ font-size: 11pt; color: var(--ink-2); line-height: 1.75;
124
+ border-left: 3px solid var(--accent);
125
+ background: linear-gradient(90deg, rgba(0,122,255,0.04), transparent);
126
+ padding: 14px 16px; border-radius: 4px; margin: 16px 0 22px;
127
+ }
128
+
129
+ /* === KPI grid (4-up with 4 color variants) ============================= */
130
+ .kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 20px 0; }
131
+ .kpi {
132
+ padding: 14px; border-radius: 12px;
133
+ background: linear-gradient(135deg, #f5f5f7, #ebebef);
134
+ border: 1px solid var(--rule);
135
+ }
136
+ .kpi.blue { background: linear-gradient(135deg, #e3f0ff, #d4e6ff); border-color: #b8d4ff; }
137
+ .kpi.green { background: linear-gradient(135deg, #e8f7ee, #d4f0e0); border-color: #b3e0c2; }
138
+ .kpi.orange { background: linear-gradient(135deg, #fff0e0, #ffe0c4); border-color: #ffc89b; }
139
+ .kpi.purple { background: linear-gradient(135deg, #f0e8ff, #e2d4ff); border-color: #c9b3ff; }
140
+ .kpi .label { font-size: 8.5pt; color: var(--ink-3); letter-spacing: 0.5px;
141
+ text-transform: uppercase; font-weight: 500; }
142
+ .kpi .value { font-size: 22pt; font-weight: 700; color: var(--ink); line-height: 1.1; margin-top: 4px; }
143
+ .kpi .unit { font-size: 11pt; color: var(--ink-3); margin-left: 2px; font-weight: 500; }
144
+ .kpi .desc { font-size: 8.5pt; color: var(--ink-3); margin-top: 4px; }
145
+
146
+ /* === Chart card (every chart MUST be wrapped in .avoid-break) ========== */
147
+ .chart-card {
148
+ background: #fff; border: 1px solid var(--hairline);
149
+ border-radius: 12px; padding: 16px; margin: 18px 0;
150
+ box-shadow: 0 1px 3px rgba(0,0,0,0.04);
151
+ }
152
+ .chart-title {
153
+ font-size: 11pt; font-weight: 600; color: var(--ink);
154
+ margin: 0 0 4px; display: flex; align-items: center; gap: 8px;
155
+ }
156
+ .chart-title::before {
157
+ content: ""; width: 4px; height: 14px; background: var(--accent); border-radius: 2px;
158
+ }
159
+ .chart-sub { font-size: 9pt; color: var(--ink-4); margin: 0 0 12px; padding-left: 12px; }
160
+ .chart-wrap { position: relative; height: 280px; }
161
+ .chart-wrap.tall { height: 380px; }
162
+ .chart-wrap.short { height: 200px; }
163
+
164
+ /* === Reference data table + 5-level pill badges ======================== */
165
+ table.data {
166
+ width: 100%; border-collapse: collapse; font-size: 9pt;
167
+ margin: 12px 0; background: #fff;
168
+ border-radius: 8px; overflow: hidden; border: 1px solid var(--hairline);
169
+ }
170
+ table.data thead th {
171
+ background: linear-gradient(180deg, #f5f5f7, #ebebef);
172
+ padding: 9px 10px; text-align: left;
173
+ font-weight: 600; color: var(--ink);
174
+ border-bottom: 1px solid var(--rule);
175
+ font-size: 8.5pt; letter-spacing: 0.3px;
176
+ }
177
+ table.data tbody td { padding: 7px 10px; border-bottom: 1px solid var(--mute); color: var(--ink-2); }
178
+ table.data tbody tr:last-child td { border-bottom: 0; }
179
+ table.data tbody tr:nth-child(even) { background: #fbfbfd; }
180
+ table.data tbody td.bold { font-weight: 600; color: var(--ink); }
181
+ .pill { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 8pt; font-weight: 500; }
182
+ .pill-bad { background: #ffebee; color: #c62828; }
183
+ .pill-warn { background: #fff3e0; color: #e65100; }
184
+ .pill-ok { background: #e8f5e9; color: #2e7d32; }
185
+ .pill-good { background: #e3f2fd; color: #1565c0; }
186
+ .pill-best { background: #f3e5f5; color: #6a1b9a; }
187
+
188
+ /* === Versus comparison cards =========================================== */
189
+ .versus { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px;
190
+ align-items: stretch; margin: 16px 0; }
191
+ .vs-card { padding: 16px; border-radius: 12px; border: 1px solid; }
192
+ .vs-card.apple { background: linear-gradient(160deg, #f5f5f7, #fff); border-color: var(--rule); }
193
+ .vs-card.nvidia { background: linear-gradient(160deg, #f0f9ec, #fff); border-color: #c5e0a5; }
194
+ .vs-divider { display: flex; align-items: center; justify-content: center;
195
+ font-size: 16pt; font-weight: 700; color: var(--ink-4); }
196
+ .vs-card h4 { margin: 0 0 8px; font-size: 13pt; font-weight: 700; }
197
+ .vs-card.apple h4 { color: var(--ink); }
198
+ .vs-card.nvidia h4 { color: #5a8a3a; }
199
+ .vs-card .tag { display: inline-block; font-size: 8pt; padding: 2px 8px;
200
+ border-radius: 10px; background: rgba(0,0,0,0.06); margin-bottom: 6px; }
201
+ .vs-card ul { margin: 8px 0 0; padding-left: 18px; font-size: 9.5pt; line-height: 1.7; }
202
+
203
+ /* === Recommend triple (entry / recommended / premium) ================== */
204
+ .recommend-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0; }
205
+ .rec-card { padding: 16px; border-radius: 12px; border: 1px solid; position: relative; }
206
+ .rec-card .level { display: inline-block; padding: 2px 10px; border-radius: 12px;
207
+ font-size: 8pt; font-weight: 700; letter-spacing: 0.5px; margin-bottom: 8px; }
208
+ .rec-card.entry { background: #f0f7ff; border-color: #b8d4ff; }
209
+ .rec-card.entry .level { background: #007AFF; color: #fff; }
210
+ .rec-card.recommend { background: #f0fff4; border-color: #a8d5b8; }
211
+ .rec-card.recommend .level { background: #34a853; color: #fff; }
212
+ .rec-card.premium { background: #fdf4ff; border-color: #d9b8ff; }
213
+ .rec-card.premium .level { background: #9333ea; color: #fff; }
214
+ .rec-card h4 { margin: 0 0 6px; font-size: 11pt; font-weight: 700; color: var(--ink); }
215
+ .rec-card .price{ font-size: 9pt; color: var(--ink-3); margin-bottom: 8px; font-weight: 500; }
216
+ .rec-card .desc { font-size: 9pt; color: var(--ink-2); line-height: 1.6; }
217
+
218
+ /* === Insight callout (yellow takeaway) ================================= */
219
+ .insight {
220
+ background: linear-gradient(135deg, #fff8e1, #fff3c4);
221
+ border: 1px solid #ffe082;
222
+ border-radius: 10px; padding: 12px 16px; margin: 16px 0; font-size: 10pt;
223
+ }
224
+ .insight .label {
225
+ display: inline-block; font-weight: 700; color: #b8860b;
226
+ font-size: 9pt; letter-spacing: 1px; margin-right: 8px;
227
+ }
228
+
229
+ /* === Dark conclusion blocks + takeaways ================================ */
230
+ .conclusion {
231
+ background: linear-gradient(135deg, #1a1a2e, #16213e);
232
+ color: #fff; padding: 24px; border-radius: 14px; margin: 20px 0;
233
+ }
234
+ .conclusion h3 { color: #fff; margin-top: 0; }
235
+ .conclusion h3 .num { color: #64b5f6; }
236
+ .takeaway {
237
+ display: flex; gap: 8px; margin: 8px 0;
238
+ padding: 10px 12px; border-radius: 8px; background: var(--mute); font-size: 9.5pt;
239
+ }
240
+ .takeaway .icon { font-weight: 700; color: var(--accent); min-width: 18px; }
241
+
242
+ /* === Timeline strip (3-5 generation stops) ============================= */
243
+ .timeline { display: flex; gap: 0; margin: 16px 0;
244
+ background: var(--mute); border-radius: 12px; padding: 14px; }
245
+ .gen { flex: 1; text-align: center; padding: 10px 6px; position: relative; }
246
+ .gen + .gen::before {
247
+ content: "→"; position: absolute; left: -6px; top: 14px;
248
+ color: #c7c7cc; font-size: 12pt;
249
+ }
250
+ .gen .tag { display: inline-block; padding: 3px 10px; border-radius: 12px;
251
+ color: #fff; font-size: 8pt; font-weight: 700; }
252
+ .gen.g1 .tag { background: #8e8e93; }
253
+ .gen.g2 .tag { background: #5ac8fa; }
254
+ .gen.g3 .tag { background: #007AFF; }
255
+ .gen.g4 .tag { background: #5e5ce6; }
256
+ .gen .year { font-size: 8.5pt; color: var(--ink-3); margin-top: 4px; }
257
+ .gen .key { font-size: 9pt; font-weight: 600; color: var(--ink); margin-top: 4px; line-height: 1.4; }
258
+
259
+ /* === Footer-meta (references) ========================================== */
260
+ .footer-meta {
261
+ border-top: 1px solid var(--hairline); margin-top: 30px; padding-top: 16px;
262
+ font-size: 8.5pt; color: var(--ink-4);
263
+ }
264
+ .footer-meta h4 { color: var(--ink-2); font-size: 10pt; margin: 0 0 8px; }
265
+ .footer-meta ul { margin: 6px 0; padding-left: 18px; line-height: 1.7; }
266
+
267
+ /* === Screen-emulation: open in browser → looks like the A4 PDF =========== */
268
+ @media screen {
269
+ html { background: #d0d0d0; }
270
+ body { margin: 0; padding: 20px 0; }
271
+ body > section {
272
+ width: 210mm; min-height: 297mm; margin: 0 auto 20px;
273
+ background: #fff; box-shadow: 0 4px 24px rgba(0,0,0,0.18);
274
+ box-sizing: border-box; overflow: hidden;
275
+ }
276
+ }
277
+ </style>
278
+ </head>
279
+ <body>
280
+
281
+ <!-- ============================================================ -->
282
+ <!-- COVER PAGE -->
283
+ <!-- ============================================================ -->
284
+ <section class="cover">
285
+ <span class="cover-tag"><!-- COVER_TAG --></span>
286
+ <h1><!-- REPORT_TITLE --></h1>
287
+ <p class="subtitle"><!-- REPORT_SUBTITLE --></p>
288
+
289
+ <div class="cover-meta">
290
+ <div class="meta-stats">
291
+ <div class="meta-stat"><div class="num"><!-- META_STAT_1_NUM --></div><div class="lbl"><!-- META_STAT_1_LABEL --></div></div>
292
+ <div class="meta-stat"><div class="num"><!-- META_STAT_2_NUM --></div><div class="lbl"><!-- META_STAT_2_LABEL --></div></div>
293
+ <div class="meta-stat"><div class="num"><!-- META_STAT_3_NUM --></div><div class="lbl"><!-- META_STAT_3_LABEL --></div></div>
294
+ </div>
295
+ <div class="cover-info">
296
+ <div><!-- DOC_TYPE --></div>
297
+ <div><!-- DOC_VERSION --></div>
298
+ </div>
299
+ </div>
300
+ </section>
301
+
302
+ <!-- ============================================================ -->
303
+ <!-- PROLOGUE / INTRO -->
304
+ <!-- ============================================================ -->
305
+ <section class="content page-break">
306
+ <span class="section-num">PROLOGUE · <!-- PROLOGUE_LABEL --></span>
307
+ <h2 class="section"><!-- PROLOGUE_TITLE --></h2>
308
+ <div class="section-line"></div>
309
+
310
+ <p class="lead"><!-- PROLOGUE_LEAD --></p>
311
+
312
+ <!-- 4-up KPI grid (one per color variant; drop unused) -->
313
+ <div class="kpis">
314
+ <div class="kpi blue">
315
+ <div class="label"><!-- KPI_1_LABEL --></div>
316
+ <div class="value"><!-- KPI_1_VALUE --></div>
317
+ <div class="desc"><!-- KPI_1_DESC --></div>
318
+ </div>
319
+ <div class="kpi green">
320
+ <div class="label"><!-- KPI_2_LABEL --></div>
321
+ <div class="value"><!-- KPI_2_VALUE --></div>
322
+ <div class="desc"><!-- KPI_2_DESC --></div>
323
+ </div>
324
+ <div class="kpi purple">
325
+ <div class="label"><!-- KPI_3_LABEL --></div>
326
+ <div class="value"><!-- KPI_3_VALUE --></div>
327
+ <div class="desc"><!-- KPI_3_DESC --></div>
328
+ </div>
329
+ <div class="kpi orange">
330
+ <div class="label"><!-- KPI_4_LABEL --></div>
331
+ <div class="value"><!-- KPI_4_VALUE --><span class="unit"> <!-- KPI_4_UNIT --></span></div>
332
+ <div class="desc"><!-- KPI_4_DESC --></div>
333
+ </div>
334
+ </div>
335
+ </section>
336
+
337
+ <!-- ============================================================ -->
338
+ <!-- PART 01 — first analytical section -->
339
+ <!-- Includes: timeline strip + dual-axis evolution chart -->
340
+ <!-- ============================================================ -->
341
+ <section class="content page-break">
342
+ <span class="section-num">PART 01 · <!-- PART_1_EYEBROW --></span>
343
+ <h2 class="section"><!-- PART_1_TITLE --></h2>
344
+ <div class="section-line"></div>
345
+
346
+ <h3><span class="num">1.1</span><!-- SUB_1_1_TITLE --></h3>
347
+
348
+ <!-- Timeline strip (3–5 stops) -->
349
+ <div class="timeline">
350
+ <div class="gen g1"><div class="tag"><!-- GEN_1_TAG --></div><div class="year"><!-- GEN_1_YEAR --></div><div class="key"><!-- GEN_1_KEY --></div></div>
351
+ <div class="gen g2"><div class="tag"><!-- GEN_2_TAG --></div><div class="year"><!-- GEN_2_YEAR --></div><div class="key"><!-- GEN_2_KEY --></div></div>
352
+ <div class="gen g3"><div class="tag"><!-- GEN_3_TAG --></div><div class="year"><!-- GEN_3_YEAR --></div><div class="key"><!-- GEN_3_KEY --></div></div>
353
+ <div class="gen g4"><div class="tag"><!-- GEN_4_TAG --></div><div class="year"><!-- GEN_4_YEAR --></div><div class="key"><!-- GEN_4_KEY --></div></div>
354
+ </div>
355
+
356
+ <!-- Chart 1 — dual-axis bar+line (evolution / progression) -->
357
+ <div class="chart-card avoid-break">
358
+ <div class="chart-title"><!-- CHART_1_TITLE --></div>
359
+ <div class="chart-sub"><!-- CHART_1_SUB --></div>
360
+ <div class="chart-wrap"><canvas id="chart_1_evolution"></canvas></div>
361
+ </div>
362
+ </section>
363
+
364
+ <!-- ============================================================ -->
365
+ <!-- PART 01 cont. — benchmark / KPI page -->
366
+ <!-- Includes: KPI row + horizontal bar + grouped vertical bar -->
367
+ <!-- ============================================================ -->
368
+ <section class="content page-break">
369
+ <h3><span class="num">1.2</span><!-- SUB_1_2_TITLE --></h3>
370
+
371
+ <div class="kpis">
372
+ <div class="kpi blue"><div class="label"><!-- BENCH_KPI_1_LABEL --></div><div class="value"><!-- BENCH_KPI_1_VALUE --></div><div class="desc"><!-- BENCH_KPI_1_DESC --></div></div>
373
+ <div class="kpi green"><div class="label"><!-- BENCH_KPI_2_LABEL --></div><div class="value"><!-- BENCH_KPI_2_VALUE --></div><div class="desc"><!-- BENCH_KPI_2_DESC --></div></div>
374
+ <div class="kpi purple"><div class="label"><!-- BENCH_KPI_3_LABEL --></div><div class="value"><!-- BENCH_KPI_3_VALUE --></div><div class="desc"><!-- BENCH_KPI_3_DESC --></div></div>
375
+ <div class="kpi orange"><div class="label"><!-- BENCH_KPI_4_LABEL --></div><div class="value"><!-- BENCH_KPI_4_VALUE --><span class="unit"> <!-- BENCH_KPI_4_UNIT --></span></div><div class="desc"><!-- BENCH_KPI_4_DESC --></div></div>
376
+ </div>
377
+
378
+ <!-- Chart 2 — horizontal grouped bar (long category list) -->
379
+ <div class="chart-card avoid-break">
380
+ <div class="chart-title"><!-- CHART_2_TITLE --></div>
381
+ <div class="chart-sub"><!-- CHART_2_SUB --></div>
382
+ <div class="chart-wrap tall"><canvas id="chart_2_horizontal"></canvas></div>
383
+ </div>
384
+
385
+ <!-- Chart 3 — grouped vertical bar (cross-tab) -->
386
+ <div class="chart-card avoid-break">
387
+ <div class="chart-title"><!-- CHART_3_TITLE --></div>
388
+ <div class="chart-sub"><!-- CHART_3_SUB --></div>
389
+ <div class="chart-wrap"><canvas id="chart_3_grouped"></canvas></div>
390
+ </div>
391
+
392
+ <div class="insight">
393
+ <span class="label">⚡ <!-- INSIGHT_1_LABEL --></span>
394
+ <!-- INSIGHT_1_BODY -->
395
+ </div>
396
+ </section>
397
+
398
+ <!-- ============================================================ -->
399
+ <!-- PART 01 cont. — full reference table + scatter matrix -->
400
+ <!-- ============================================================ -->
401
+ <section class="content page-break">
402
+ <h3><span class="num">1.3</span><!-- SUB_1_3_TITLE --></h3>
403
+
404
+ <table class="data">
405
+ <thead>
406
+ <tr>
407
+ <th><!-- COL_1 --></th><th><!-- COL_2 --></th><th><!-- COL_3 --></th>
408
+ <th><!-- COL_4 --></th><th><!-- COL_5 --></th><th><!-- COL_6 --></th>
409
+ </tr>
410
+ </thead>
411
+ <tbody>
412
+ <!-- Repeat per row; first cell uses .bold for entity name -->
413
+ <tr><td class="bold"><!-- ROW_1_NAME --></td><td><!-- ROW_1_C2 --></td><td><!-- ROW_1_C3 --></td><td><!-- ROW_1_C4 --></td><td><!-- ROW_1_C5 --></td><td><!-- ROW_1_C6 --></td></tr>
414
+ <tr><td class="bold"><!-- ROW_2_NAME --></td><td><!-- ROW_2_C2 --></td><td><!-- ROW_2_C3 --></td><td><!-- ROW_2_C4 --></td><td><!-- ROW_2_C5 --></td><td><!-- ROW_2_C6 --></td></tr>
415
+ <!-- … duplicate rows as needed … -->
416
+ </tbody>
417
+ </table>
418
+
419
+ <!-- Chart 4 — scatter matrix (X = capacity, Y = bandwidth, color = generation) -->
420
+ <div class="chart-card avoid-break">
421
+ <div class="chart-title"><!-- CHART_4_TITLE --></div>
422
+ <div class="chart-sub"><!-- CHART_4_SUB --></div>
423
+ <div class="chart-wrap tall"><canvas id="chart_4_scatter"></canvas></div>
424
+ </div>
425
+ </section>
426
+
427
+ <!-- ============================================================ -->
428
+ <!-- PART 02 — feasibility / fit analysis -->
429
+ <!-- Includes: stacked bar + reference table with status pills -->
430
+ <!-- ============================================================ -->
431
+ <section class="content page-break">
432
+ <span class="section-num">PART 02 · <!-- PART_2_EYEBROW --></span>
433
+ <h2 class="section"><!-- PART_2_TITLE --></h2>
434
+ <div class="section-line"></div>
435
+
436
+ <p class="lead"><!-- PART_2_LEAD --></p>
437
+
438
+ <h3><span class="num">2.1</span><!-- SUB_2_1_TITLE --></h3>
439
+
440
+ <div class="kpis">
441
+ <div class="kpi orange"><div class="label"><!-- REQ_KPI_1_LABEL --></div><div class="value"><!-- REQ_KPI_1_VALUE --><span class="unit"> <!-- REQ_KPI_1_UNIT --></span></div><div class="desc"><!-- REQ_KPI_1_DESC --></div></div>
442
+ <div class="kpi blue"><div class="label"><!-- REQ_KPI_2_LABEL --></div><div class="value"><!-- REQ_KPI_2_VALUE --><span class="unit"> <!-- REQ_KPI_2_UNIT --></span></div><div class="desc"><!-- REQ_KPI_2_DESC --></div></div>
443
+ <div class="kpi green"><div class="label"><!-- REQ_KPI_3_LABEL --></div><div class="value"><!-- REQ_KPI_3_VALUE --><span class="unit"> <!-- REQ_KPI_3_UNIT --></span></div><div class="desc"><!-- REQ_KPI_3_DESC --></div></div>
444
+ <div class="kpi purple"><div class="label"><!-- REQ_KPI_4_LABEL --></div><div class="value"><!-- REQ_KPI_4_VALUE --><span class="unit"> <!-- REQ_KPI_4_UNIT --></span></div><div class="desc"><!-- REQ_KPI_4_DESC --></div></div>
445
+ </div>
446
+
447
+ <!-- Chart 5 — stacked bar (component A + component B vs total budget) -->
448
+ <div class="chart-card avoid-break">
449
+ <div class="chart-title"><!-- CHART_5_TITLE --></div>
450
+ <div class="chart-sub"><!-- CHART_5_SUB --></div>
451
+ <div class="chart-wrap"><canvas id="chart_5_stacked"></canvas></div>
452
+ </div>
453
+
454
+ <h3><span class="num">2.2</span><!-- SUB_2_2_TITLE --></h3>
455
+
456
+ <table class="data">
457
+ <thead>
458
+ <tr><th><!-- FIT_COL_1 --></th><th><!-- FIT_COL_2 --></th><th><!-- FIT_COL_3 --></th><th><!-- FIT_COL_4 --></th></tr>
459
+ </thead>
460
+ <tbody>
461
+ <tr><td class="bold"><!-- FIT_R1_NAME --></td><td><!-- FIT_R1_CAPACITY --></td><td><span class="pill pill-bad">❌ <!-- FIT_R1_VERDICT --></span></td><td><!-- FIT_R1_NOTE --></td></tr>
462
+ <tr><td class="bold"><!-- FIT_R2_NAME --></td><td><!-- FIT_R2_CAPACITY --></td><td><span class="pill pill-warn">⚠️ <!-- FIT_R2_VERDICT --></span></td><td><!-- FIT_R2_NOTE --></td></tr>
463
+ <tr><td class="bold"><!-- FIT_R3_NAME --></td><td><!-- FIT_R3_CAPACITY --></td><td><span class="pill pill-ok">✓ <!-- FIT_R3_VERDICT --></span></td><td><!-- FIT_R3_NOTE --></td></tr>
464
+ <tr><td class="bold"><!-- FIT_R4_NAME --></td><td><!-- FIT_R4_CAPACITY --></td><td><span class="pill pill-good">★ <!-- FIT_R4_VERDICT --></span></td><td><!-- FIT_R4_NOTE --></td></tr>
465
+ <tr><td class="bold"><!-- FIT_R5_NAME --></td><td><!-- FIT_R5_CAPACITY --></td><td><span class="pill pill-best">★★ <!-- FIT_R5_VERDICT --></span></td><td><!-- FIT_R5_NOTE --></td></tr>
466
+ </tbody>
467
+ </table>
468
+ </section>
469
+
470
+ <!-- ============================================================ -->
471
+ <!-- PART 02 cont. — recommend triple + framework callout -->
472
+ <!-- ============================================================ -->
473
+ <section class="content page-break">
474
+ <h3><span class="num">2.3</span><!-- SUB_2_3_TITLE --></h3>
475
+
476
+ <div class="recommend-grid">
477
+ <div class="rec-card entry">
478
+ <span class="level"><!-- REC_ENTRY_LEVEL --></span>
479
+ <h4><!-- REC_ENTRY_TITLE --></h4>
480
+ <div class="price"><!-- REC_ENTRY_PRICE --></div>
481
+ <div class="desc"><!-- REC_ENTRY_DESC --></div>
482
+ </div>
483
+ <div class="rec-card recommend">
484
+ <span class="level">★ <!-- REC_REC_LEVEL --></span>
485
+ <h4><!-- REC_REC_TITLE --></h4>
486
+ <div class="price"><!-- REC_REC_PRICE --></div>
487
+ <div class="desc"><!-- REC_REC_DESC --></div>
488
+ </div>
489
+ <div class="rec-card premium">
490
+ <span class="level"><!-- REC_PREMIUM_LEVEL --></span>
491
+ <h4><!-- REC_PREMIUM_TITLE --></h4>
492
+ <div class="price"><!-- REC_PREMIUM_PRICE --></div>
493
+ <div class="desc"><!-- REC_PREMIUM_DESC --></div>
494
+ </div>
495
+ </div>
496
+
497
+ <div class="insight">
498
+ <span class="label">🛠 <!-- INSIGHT_2_LABEL --></span>
499
+ <!-- INSIGHT_2_BODY -->
500
+ </div>
501
+ </section>
502
+
503
+ <!-- ============================================================ -->
504
+ <!-- PART 03 — head-to-head versus + radar + log-axis chart -->
505
+ <!-- ============================================================ -->
506
+ <section class="content page-break">
507
+ <span class="section-num">PART 03 · <!-- PART_3_EYEBROW --></span>
508
+ <h2 class="section"><!-- PART_3_TITLE --></h2>
509
+ <div class="section-line"></div>
510
+
511
+ <h3><span class="num">3.1</span><!-- SUB_3_1_TITLE --></h3>
512
+
513
+ <div class="versus">
514
+ <div class="vs-card apple">
515
+ <span class="tag"><!-- VS_LEFT_TAG --></span>
516
+ <h4><!-- VS_LEFT_TITLE --></h4>
517
+ <ul>
518
+ <li><!-- VS_LEFT_LI_1 --></li>
519
+ <li><!-- VS_LEFT_LI_2 --></li>
520
+ <li><!-- VS_LEFT_LI_3 --></li>
521
+ <li><!-- VS_LEFT_LI_4 --></li>
522
+ </ul>
523
+ </div>
524
+ <div class="vs-divider">VS</div>
525
+ <div class="vs-card nvidia">
526
+ <span class="tag"><!-- VS_RIGHT_TAG --></span>
527
+ <h4><!-- VS_RIGHT_TITLE --></h4>
528
+ <ul>
529
+ <li><!-- VS_RIGHT_LI_1 --></li>
530
+ <li><!-- VS_RIGHT_LI_2 --></li>
531
+ <li><!-- VS_RIGHT_LI_3 --></li>
532
+ <li><!-- VS_RIGHT_LI_4 --></li>
533
+ </ul>
534
+ </div>
535
+ </div>
536
+
537
+ <h3><span class="num">3.2</span><!-- SUB_3_2_TITLE --></h3>
538
+
539
+ <!-- Chart 6 — logarithmic axis (when values span 2+ decades, e.g. 80 vs 5841) -->
540
+ <div class="chart-card avoid-break">
541
+ <div class="chart-title"><!-- CHART_6_TITLE --></div>
542
+ <div class="chart-sub"><!-- CHART_6_SUB --></div>
543
+ <div class="chart-wrap"><canvas id="chart_6_logaxis"></canvas></div>
544
+ </div>
545
+
546
+ <div class="insight">
547
+ <span class="label">📊 <!-- INSIGHT_3_LABEL --></span>
548
+ <!-- INSIGHT_3_BODY -->
549
+ </div>
550
+
551
+ <!-- Chart 7 — radar (multi-dimensional positioning, 5–7 axes) -->
552
+ <div class="chart-card avoid-break">
553
+ <div class="chart-title"><!-- CHART_7_TITLE --></div>
554
+ <div class="chart-sub"><!-- CHART_7_SUB --></div>
555
+ <div class="chart-wrap tall"><canvas id="chart_7_radar"></canvas></div>
556
+ </div>
557
+ </section>
558
+
559
+ <!-- ============================================================ -->
560
+ <!-- PART 03 cont. — cost / power dual-axis + decision tree -->
561
+ <!-- ============================================================ -->
562
+ <section class="content page-break">
563
+ <h3><span class="num">3.3</span><!-- SUB_3_3_TITLE --></h3>
564
+
565
+ <div class="kpis">
566
+ <div class="kpi blue"><div class="label"><!-- COST_KPI_1_LABEL --></div><div class="value"><!-- COST_KPI_1_VALUE --></div><div class="desc"><!-- COST_KPI_1_DESC --></div></div>
567
+ <div class="kpi green"><div class="label"><!-- COST_KPI_2_LABEL --></div><div class="value"><!-- COST_KPI_2_VALUE --></div><div class="desc"><!-- COST_KPI_2_DESC --></div></div>
568
+ <div class="kpi orange"><div class="label"><!-- COST_KPI_3_LABEL --></div><div class="value"><!-- COST_KPI_3_VALUE --><span class="unit"> <!-- COST_KPI_3_UNIT --></span></div><div class="desc"><!-- COST_KPI_3_DESC --></div></div>
569
+ <div class="kpi purple"><div class="label"><!-- COST_KPI_4_LABEL --></div><div class="value"><!-- COST_KPI_4_VALUE --><span class="unit"> <!-- COST_KPI_4_UNIT --></span></div><div class="desc"><!-- COST_KPI_4_DESC --></div></div>
570
+ </div>
571
+
572
+ <!-- Chart 8 — dual-axis bars (price + power, two units) -->
573
+ <div class="chart-card avoid-break">
574
+ <div class="chart-title"><!-- CHART_8_TITLE --></div>
575
+ <div class="chart-sub"><!-- CHART_8_SUB --></div>
576
+ <div class="chart-wrap"><canvas id="chart_8_dualaxis"></canvas></div>
577
+ </div>
578
+
579
+ <h3><span class="num">3.4</span><!-- SUB_3_4_TITLE --></h3>
580
+
581
+ <!-- Decision-tree pair (mirrors versus card; second axis = persona) -->
582
+ <div class="versus">
583
+ <div class="vs-card apple">
584
+ <span class="tag">→ <!-- DT_LEFT_PICK --></span>
585
+ <h4><!-- DT_LEFT_PERSONA --></h4>
586
+ <ul>
587
+ <li><!-- DT_LEFT_LI_1 --></li>
588
+ <li><!-- DT_LEFT_LI_2 --></li>
589
+ <li><!-- DT_LEFT_LI_3 --></li>
590
+ <li><!-- DT_LEFT_LI_4 --></li>
591
+ </ul>
592
+ </div>
593
+ <div class="vs-divider">→</div>
594
+ <div class="vs-card nvidia">
595
+ <span class="tag">→ <!-- DT_RIGHT_PICK --></span>
596
+ <h4><!-- DT_RIGHT_PERSONA --></h4>
597
+ <ul>
598
+ <li><!-- DT_RIGHT_LI_1 --></li>
599
+ <li><!-- DT_RIGHT_LI_2 --></li>
600
+ <li><!-- DT_RIGHT_LI_3 --></li>
601
+ <li><!-- DT_RIGHT_LI_4 --></li>
602
+ </ul>
603
+ </div>
604
+ </div>
605
+ </section>
606
+
607
+ <!-- ============================================================ -->
608
+ <!-- EPILOGUE — dark conclusion blocks + takeaway list + footer -->
609
+ <!-- ============================================================ -->
610
+ <section class="content page-break">
611
+ <span class="section-num">EPILOGUE · <!-- EPILOGUE_LABEL --></span>
612
+ <h2 class="section"><!-- EPILOGUE_TITLE --></h2>
613
+ <div class="section-line"></div>
614
+
615
+ <div class="conclusion">
616
+ <h3><span class="num">01.</span><!-- CONC_1_TITLE --></h3>
617
+ <p style="opacity: 0.92;"><!-- CONC_1_BODY --></p>
618
+ </div>
619
+ <div class="conclusion">
620
+ <h3><span class="num">02.</span><!-- CONC_2_TITLE --></h3>
621
+ <p style="opacity: 0.92;"><!-- CONC_2_BODY --></p>
622
+ </div>
623
+ <div class="conclusion">
624
+ <h3><span class="num">03.</span><!-- CONC_3_TITLE --></h3>
625
+ <p style="opacity: 0.92;"><!-- CONC_3_BODY --></p>
626
+ </div>
627
+
628
+ <h3 style="margin-top: 30px;"><span class="num">📋</span><!-- TAKEAWAY_HEADING --></h3>
629
+ <div class="takeaway"><span class="icon">①</span><span><strong><!-- TAKE_1_HEAD --></strong>:<!-- TAKE_1_BODY --></span></div>
630
+ <div class="takeaway"><span class="icon">②</span><span><strong><!-- TAKE_2_HEAD --></strong>:<!-- TAKE_2_BODY --></span></div>
631
+ <div class="takeaway"><span class="icon">③</span><span><strong><!-- TAKE_3_HEAD --></strong>:<!-- TAKE_3_BODY --></span></div>
632
+
633
+ <div class="footer-meta">
634
+ <h4><!-- REFERENCES_HEADING --></h4>
635
+ <ul>
636
+ <li><!-- REF_1 --></li>
637
+ <li><!-- REF_2 --></li>
638
+ <li><!-- REF_3 --></li>
639
+ </ul>
640
+ <p style="margin-top: 12px; text-align: center; opacity: 0.6;">— END OF REPORT —</p>
641
+ </div>
642
+ </section>
643
+
644
+ <!-- ============================================================ -->
645
+ <!-- CHART INITIALIZATION -->
646
+ <!-- Order matches the canvas IDs above. Edit labels + datasets -->
647
+ <!-- only; leave the options blocks intact for consistent look. -->
648
+ <!-- ============================================================ -->
649
+ <script>
650
+ Chart.defaults.font.family = '-apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif';
651
+ Chart.defaults.font.size = 10;
652
+ Chart.defaults.color = '#424245';
653
+ Chart.defaults.animation = false; /* CRITICAL: avoid mid-animation snapshot */
654
+
655
+ /* === Chart 1 — dual-axis bar+line evolution =========================== */
656
+ new Chart(document.getElementById('chart_1_evolution'), {
657
+ type: 'bar',
658
+ data: {
659
+ labels: [/* GEN_1, GEN_2, GEN_3, GEN_4 */],
660
+ datasets: [
661
+ { type: 'bar', label: '<!-- DS_BAR_LABEL -->', data: [/* … */],
662
+ backgroundColor: 'rgba(0,122,255,0.18)', borderColor: '#007AFF',
663
+ borderWidth: 1.5, yAxisID: 'y1', order: 3, borderRadius: 4 },
664
+ { type: 'line', label: '<!-- DS_LINE_A_LABEL -->', data: [/* … */],
665
+ borderColor: '#34a853', backgroundColor: 'rgba(52,168,83,0.10)',
666
+ borderWidth: 2.5, fill: true, tension: 0.35,
667
+ yAxisID: 'y', order: 1, pointRadius: 5, pointBackgroundColor: '#34a853' },
668
+ { type: 'line', label: '<!-- DS_LINE_B_LABEL -->', data: [/* … */],
669
+ borderColor: '#ff9500', borderWidth: 2.5, fill: false, tension: 0.35,
670
+ yAxisID: 'y2', order: 2, pointRadius: 5, pointBackgroundColor: '#ff9500' }
671
+ ]
672
+ },
673
+ options: {
674
+ responsive: true, maintainAspectRatio: false,
675
+ plugins: { legend: { position: 'top', labels: { boxWidth: 14, padding: 14 } } },
676
+ scales: {
677
+ y: { type: 'linear', position: 'left', title: { display: true, text: '<!-- Y_LEFT_LABEL -->' }, beginAtZero: true },
678
+ y1: { type: 'linear', position: 'right', title: { display: true, text: '<!-- Y_RIGHT_LABEL -->' }, beginAtZero: true, grid: { display: false } },
679
+ y2: { display: false } /* hidden third axis for the second line */
680
+ }
681
+ }
682
+ });
683
+
684
+ /* === Chart 2 — horizontal grouped bar (long category list) ============ */
685
+ new Chart(document.getElementById('chart_2_horizontal'), {
686
+ type: 'bar',
687
+ data: {
688
+ labels: [/* 10–20 entity names */],
689
+ datasets: [
690
+ { label: '<!-- DS_2A_LABEL -->', data: [/* … */], backgroundColor: '#5AC8FA', borderRadius: 4 },
691
+ { label: '<!-- DS_2B_LABEL -->', data: [/* … */], backgroundColor: '#007AFF', borderRadius: 4 }
692
+ ]
693
+ },
694
+ options: {
695
+ responsive: true, maintainAspectRatio: false, indexAxis: 'y',
696
+ plugins: { legend: { position: 'top', labels: { boxWidth: 14, padding: 14 } } },
697
+ scales: {
698
+ x: { beginAtZero: true, title: { display: true, text: '<!-- X_LABEL -->' } },
699
+ y: { ticks: { font: { size: 9 } } }
700
+ }
701
+ }
702
+ });
703
+
704
+ /* === Chart 3 — grouped vertical bar (cross-tab) ======================= */
705
+ new Chart(document.getElementById('chart_3_grouped'), {
706
+ type: 'bar',
707
+ data: {
708
+ labels: [/* tier names: e.g. Base, Pro, Max, Ultra */],
709
+ datasets: [
710
+ { label: '<!-- DS_3A -->', data: [/* … */], backgroundColor: '#8e8e93', borderRadius: 4 },
711
+ { label: '<!-- DS_3B -->', data: [/* … */], backgroundColor: '#5AC8FA', borderRadius: 4 },
712
+ { label: '<!-- DS_3C -->', data: [/* … */], backgroundColor: '#007AFF', borderRadius: 4 },
713
+ { label: '<!-- DS_3D -->', data: [/* … */], backgroundColor: '#5e5ce6', borderRadius: 4 }
714
+ ]
715
+ },
716
+ options: {
717
+ responsive: true, maintainAspectRatio: false,
718
+ plugins: { legend: { position: 'top', labels: { boxWidth: 14, padding: 14 } } },
719
+ scales: {
720
+ x: { title: { display: true, text: '<!-- X_LABEL -->' } },
721
+ y: { beginAtZero: true, title: { display: true, text: '<!-- Y_LABEL -->' } }
722
+ }
723
+ }
724
+ });
725
+
726
+ /* === Chart 4 — scatter matrix (X = capacity, Y = bandwidth) =========== */
727
+ new Chart(document.getElementById('chart_4_scatter'), {
728
+ type: 'scatter',
729
+ data: {
730
+ datasets: [
731
+ { label: '<!-- GROUP_1 -->', backgroundColor: '#8e8e93', pointRadius: 8,
732
+ data: [{ x: 0, y: 0, label: '' } /* … */] },
733
+ { label: '<!-- GROUP_2 -->', backgroundColor: '#5AC8FA', pointRadius: 8,
734
+ data: [{ x: 0, y: 0, label: '' } /* … */] },
735
+ { label: '<!-- GROUP_3 -->', backgroundColor: '#007AFF', pointRadius: 8,
736
+ data: [{ x: 0, y: 0, label: '' } /* … */] },
737
+ { label: '<!-- GROUP_4 -->', backgroundColor: '#5e5ce6', pointRadius: 9,
738
+ data: [{ x: 0, y: 0, label: '' } /* … */] }
739
+ ]
740
+ },
741
+ options: {
742
+ responsive: true, maintainAspectRatio: false,
743
+ plugins: {
744
+ legend: { position: 'top', labels: { boxWidth: 14, padding: 14 } },
745
+ tooltip: { callbacks: { label: (c) => `${c.raw.label}: ${c.parsed.x} · ${c.parsed.y}` } }
746
+ },
747
+ scales: {
748
+ x: { title: { display: true, text: '<!-- X_LABEL -->' }, beginAtZero: true },
749
+ y: { title: { display: true, text: '<!-- Y_LABEL -->' }, beginAtZero: true }
750
+ }
751
+ }
752
+ });
753
+
754
+ /* === Chart 5 — stacked bar (component A + component B vs total) ======= */
755
+ new Chart(document.getElementById('chart_5_stacked'), {
756
+ type: 'bar',
757
+ data: {
758
+ labels: [/* mode names: e.g. Full / INT8 / INT4 */],
759
+ datasets: [
760
+ { label: '<!-- DS_5A_LABEL -->', data: [/* … */], backgroundColor: '#007AFF', borderRadius: 4, stack: 'a' },
761
+ { label: '<!-- DS_5B_LABEL -->', data: [/* … */], backgroundColor: '#FF9500', borderRadius: 4, stack: 'a' }
762
+ ]
763
+ },
764
+ options: {
765
+ responsive: true, maintainAspectRatio: false,
766
+ plugins: { legend: { position: 'top', labels: { boxWidth: 14, padding: 14 } }, tooltip: { mode: 'index' } },
767
+ scales: {
768
+ x: { stacked: true, title: { display: true, text: '<!-- X_LABEL -->' } },
769
+ y: { stacked: true, beginAtZero: true, title: { display: true, text: '<!-- Y_LABEL -->' } }
770
+ }
771
+ }
772
+ });
773
+
774
+ /* === Chart 6 — logarithmic axis (values spanning 2+ decades) ========== */
775
+ new Chart(document.getElementById('chart_6_logaxis'), {
776
+ type: 'bar',
777
+ data: {
778
+ labels: ['<!-- LEFT_NAME -->', '<!-- RIGHT_NAME -->'],
779
+ datasets: [{ label: '<!-- METRIC -->', data: [/* small, large */],
780
+ backgroundColor: ['#007AFF', '#34a853'], borderRadius: 6 }]
781
+ },
782
+ options: {
783
+ responsive: true, maintainAspectRatio: false, indexAxis: 'y',
784
+ plugins: { legend: { display: false },
785
+ tooltip: { callbacks: { label: (c) => `${c.parsed.x.toLocaleString()}` } } },
786
+ scales: { x: { type: 'logarithmic', title: { display: true, text: '<!-- METRIC --> (log scale)' } } }
787
+ }
788
+ });
789
+
790
+ /* === Chart 7 — radar (5–7 axes, 2 entities) =========================== */
791
+ new Chart(document.getElementById('chart_7_radar'), {
792
+ type: 'radar',
793
+ data: {
794
+ labels: [/* 5–7 dimension names */],
795
+ datasets: [
796
+ { label: '<!-- ENTITY_A -->', data: [/* 0–10 each */],
797
+ backgroundColor: 'rgba(0,122,255,0.20)', borderColor: '#007AFF', borderWidth: 2,
798
+ pointBackgroundColor: '#007AFF', pointRadius: 4 },
799
+ { label: '<!-- ENTITY_B -->', data: [/* 0–10 each */],
800
+ backgroundColor: 'rgba(118,185,0,0.20)', borderColor: '#76b900', borderWidth: 2,
801
+ pointBackgroundColor: '#76b900', pointRadius: 4 }
802
+ ]
803
+ },
804
+ options: {
805
+ responsive: true, maintainAspectRatio: false,
806
+ plugins: { legend: { position: 'top', labels: { boxWidth: 14, padding: 14 } } },
807
+ scales: {
808
+ r: { min: 0, max: 10, ticks: { stepSize: 2, backdropColor: 'transparent' },
809
+ pointLabels: { font: { size: 10, weight: '600' } } }
810
+ }
811
+ }
812
+ });
813
+
814
+ /* === Chart 8 — dual-axis bar (price + power, two units) =============== */
815
+ new Chart(document.getElementById('chart_8_dualaxis'), {
816
+ type: 'bar',
817
+ data: {
818
+ labels: ['<!-- ENTITY_A -->', '<!-- ENTITY_B -->'],
819
+ datasets: [
820
+ { label: '<!-- METRIC_A_LABEL -->', data: [/* both */], backgroundColor: '#5AC8FA', borderRadius: 4, yAxisID: 'y' },
821
+ { label: '<!-- METRIC_B_LABEL -->', data: [/* both */], backgroundColor: '#FF3B30', borderRadius: 4, yAxisID: 'y1' }
822
+ ]
823
+ },
824
+ options: {
825
+ responsive: true, maintainAspectRatio: false,
826
+ plugins: { legend: { position: 'top', labels: { boxWidth: 14, padding: 14 } } },
827
+ scales: {
828
+ y: { type: 'linear', position: 'left', title: { display: true, text: '<!-- METRIC_A_AXIS -->' }, beginAtZero: true },
829
+ y1: { type: 'linear', position: 'right', title: { display: true, text: '<!-- METRIC_B_AXIS -->' }, beginAtZero: true, grid: { display: false } }
830
+ }
831
+ }
832
+ });
833
+ </script>
834
+ </body>
835
+ </html>