product-playbook 1.0.0

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 (291) hide show
  1. package/LICENSE +21 -0
  2. package/README.es.md +518 -0
  3. package/README.ja.md +519 -0
  4. package/README.ko.md +518 -0
  5. package/README.md +520 -0
  6. package/README.zh-CN.md +518 -0
  7. package/README.zh-TW.md +518 -0
  8. package/SKILL.md +244 -0
  9. package/commands/product-build.md +13 -0
  10. package/commands/product-dev.md +21 -0
  11. package/commands/product-full.md +13 -0
  12. package/commands/product-prd.md +14 -0
  13. package/commands/product-quick.md +13 -0
  14. package/commands/product-report.md +12 -0
  15. package/commands/product-revision.md +13 -0
  16. package/i18n/en/SKILL.md +245 -0
  17. package/i18n/en/commands/product-build.md +13 -0
  18. package/i18n/en/commands/product-dev.md +21 -0
  19. package/i18n/en/commands/product-full.md +13 -0
  20. package/i18n/en/commands/product-prd.md +14 -0
  21. package/i18n/en/commands/product-quick.md +13 -0
  22. package/i18n/en/commands/product-report.md +12 -0
  23. package/i18n/en/commands/product-revision.md +13 -0
  24. package/i18n/en/references/00-opportunity-check.md +44 -0
  25. package/i18n/en/references/01-strategy.md +90 -0
  26. package/i18n/en/references/02a-persona.md +57 -0
  27. package/i18n/en/references/02b-jtbd.md +125 -0
  28. package/i18n/en/references/02c-ost-journey.md +65 -0
  29. package/i18n/en/references/03-define.md +118 -0
  30. package/i18n/en/references/04a-prfaq.md +112 -0
  31. package/i18n/en/references/04b-solutions.md +269 -0
  32. package/i18n/en/references/04c-mvp.md +21 -0
  33. package/i18n/en/references/05a-northstar-aha.md +93 -0
  34. package/i18n/en/references/05b-pmf-gtm.md +102 -0
  35. package/i18n/en/references/05c-validation-spec.md +117 -0
  36. package/i18n/en/references/06-html-report.md +128 -0
  37. package/i18n/en/references/07a-handoff-core.md +152 -0
  38. package/i18n/en/references/07b-tasks-tickets.md +215 -0
  39. package/i18n/en/references/07c-architecture-setup.md +197 -0
  40. package/i18n/en/references/08-security-checklist.md +221 -0
  41. package/i18n/en/references/rules-build.md +152 -0
  42. package/i18n/en/references/rules-change-propagation.md +74 -0
  43. package/i18n/en/references/rules-commands.md +98 -0
  44. package/i18n/en/references/rules-context.md +291 -0
  45. package/i18n/en/references/rules-custom.md +63 -0
  46. package/i18n/en/references/rules-document-tools.md +126 -0
  47. package/i18n/en/references/rules-end-of-flow.md +150 -0
  48. package/i18n/en/references/rules-export-document.md +346 -0
  49. package/i18n/en/references/rules-file-integration.md +65 -0
  50. package/i18n/en/references/rules-full.md +66 -0
  51. package/i18n/en/references/rules-import-document.md +261 -0
  52. package/i18n/en/references/rules-product-type.md +14 -0
  53. package/i18n/en/references/rules-progress.md +60 -0
  54. package/i18n/en/references/rules-quick.md +29 -0
  55. package/i18n/en/references/rules-revision.md +64 -0
  56. package/i18n/es/SKILL.md +245 -0
  57. package/i18n/es/commands/product-build.md +13 -0
  58. package/i18n/es/commands/product-dev.md +21 -0
  59. package/i18n/es/commands/product-full.md +13 -0
  60. package/i18n/es/commands/product-prd.md +14 -0
  61. package/i18n/es/commands/product-quick.md +13 -0
  62. package/i18n/es/commands/product-report.md +12 -0
  63. package/i18n/es/commands/product-revision.md +13 -0
  64. package/i18n/es/references/00-opportunity-check.md +44 -0
  65. package/i18n/es/references/01-strategy.md +90 -0
  66. package/i18n/es/references/02a-persona.md +57 -0
  67. package/i18n/es/references/02b-jtbd.md +125 -0
  68. package/i18n/es/references/02c-ost-journey.md +65 -0
  69. package/i18n/es/references/03-define.md +118 -0
  70. package/i18n/es/references/04a-prfaq.md +114 -0
  71. package/i18n/es/references/04b-solutions.md +269 -0
  72. package/i18n/es/references/04c-mvp.md +21 -0
  73. package/i18n/es/references/05a-northstar-aha.md +93 -0
  74. package/i18n/es/references/05b-pmf-gtm.md +102 -0
  75. package/i18n/es/references/05c-validation-spec.md +117 -0
  76. package/i18n/es/references/06-html-report.md +138 -0
  77. package/i18n/es/references/07a-handoff-core.md +152 -0
  78. package/i18n/es/references/07b-tasks-tickets.md +215 -0
  79. package/i18n/es/references/07c-architecture-setup.md +197 -0
  80. package/i18n/es/references/08-security-checklist.md +221 -0
  81. package/i18n/es/references/rules-build.md +152 -0
  82. package/i18n/es/references/rules-change-propagation.md +74 -0
  83. package/i18n/es/references/rules-commands.md +98 -0
  84. package/i18n/es/references/rules-context.md +291 -0
  85. package/i18n/es/references/rules-custom.md +63 -0
  86. package/i18n/es/references/rules-document-tools.md +126 -0
  87. package/i18n/es/references/rules-end-of-flow.md +150 -0
  88. package/i18n/es/references/rules-export-document.md +346 -0
  89. package/i18n/es/references/rules-file-integration.md +65 -0
  90. package/i18n/es/references/rules-full.md +66 -0
  91. package/i18n/es/references/rules-import-document.md +261 -0
  92. package/i18n/es/references/rules-product-type.md +14 -0
  93. package/i18n/es/references/rules-progress.md +60 -0
  94. package/i18n/es/references/rules-quick.md +29 -0
  95. package/i18n/es/references/rules-revision.md +64 -0
  96. package/i18n/ja/SKILL.md +245 -0
  97. package/i18n/ja/commands/product-build.md +13 -0
  98. package/i18n/ja/commands/product-dev.md +21 -0
  99. package/i18n/ja/commands/product-full.md +13 -0
  100. package/i18n/ja/commands/product-prd.md +14 -0
  101. package/i18n/ja/commands/product-quick.md +13 -0
  102. package/i18n/ja/commands/product-report.md +12 -0
  103. package/i18n/ja/commands/product-revision.md +13 -0
  104. package/i18n/ja/references/00-opportunity-check.md +44 -0
  105. package/i18n/ja/references/01-strategy.md +90 -0
  106. package/i18n/ja/references/02a-persona.md +57 -0
  107. package/i18n/ja/references/02b-jtbd.md +125 -0
  108. package/i18n/ja/references/02c-ost-journey.md +65 -0
  109. package/i18n/ja/references/03-define.md +118 -0
  110. package/i18n/ja/references/04a-prfaq.md +111 -0
  111. package/i18n/ja/references/04b-solutions.md +269 -0
  112. package/i18n/ja/references/04c-mvp.md +21 -0
  113. package/i18n/ja/references/05a-northstar-aha.md +93 -0
  114. package/i18n/ja/references/05b-pmf-gtm.md +102 -0
  115. package/i18n/ja/references/05c-validation-spec.md +117 -0
  116. package/i18n/ja/references/06-html-report.md +126 -0
  117. package/i18n/ja/references/07a-handoff-core.md +152 -0
  118. package/i18n/ja/references/07b-tasks-tickets.md +215 -0
  119. package/i18n/ja/references/07c-architecture-setup.md +197 -0
  120. package/i18n/ja/references/08-security-checklist.md +221 -0
  121. package/i18n/ja/references/rules-build.md +152 -0
  122. package/i18n/ja/references/rules-change-propagation.md +74 -0
  123. package/i18n/ja/references/rules-commands.md +98 -0
  124. package/i18n/ja/references/rules-context.md +291 -0
  125. package/i18n/ja/references/rules-custom.md +63 -0
  126. package/i18n/ja/references/rules-document-tools.md +126 -0
  127. package/i18n/ja/references/rules-end-of-flow.md +150 -0
  128. package/i18n/ja/references/rules-export-document.md +346 -0
  129. package/i18n/ja/references/rules-file-integration.md +65 -0
  130. package/i18n/ja/references/rules-full.md +66 -0
  131. package/i18n/ja/references/rules-import-document.md +261 -0
  132. package/i18n/ja/references/rules-product-type.md +14 -0
  133. package/i18n/ja/references/rules-progress.md +60 -0
  134. package/i18n/ja/references/rules-quick.md +29 -0
  135. package/i18n/ja/references/rules-revision.md +64 -0
  136. package/i18n/ko/SKILL.md +245 -0
  137. package/i18n/ko/commands/product-build.md +13 -0
  138. package/i18n/ko/commands/product-dev.md +21 -0
  139. package/i18n/ko/commands/product-full.md +13 -0
  140. package/i18n/ko/commands/product-prd.md +14 -0
  141. package/i18n/ko/commands/product-quick.md +13 -0
  142. package/i18n/ko/commands/product-report.md +12 -0
  143. package/i18n/ko/commands/product-revision.md +13 -0
  144. package/i18n/ko/references/00-opportunity-check.md +44 -0
  145. package/i18n/ko/references/01-strategy.md +90 -0
  146. package/i18n/ko/references/02a-persona.md +57 -0
  147. package/i18n/ko/references/02b-jtbd.md +125 -0
  148. package/i18n/ko/references/02c-ost-journey.md +65 -0
  149. package/i18n/ko/references/03-define.md +118 -0
  150. package/i18n/ko/references/04a-prfaq.md +112 -0
  151. package/i18n/ko/references/04b-solutions.md +269 -0
  152. package/i18n/ko/references/04c-mvp.md +21 -0
  153. package/i18n/ko/references/05a-northstar-aha.md +93 -0
  154. package/i18n/ko/references/05b-pmf-gtm.md +102 -0
  155. package/i18n/ko/references/05c-validation-spec.md +117 -0
  156. package/i18n/ko/references/06-html-report.md +126 -0
  157. package/i18n/ko/references/07a-handoff-core.md +152 -0
  158. package/i18n/ko/references/07b-tasks-tickets.md +215 -0
  159. package/i18n/ko/references/07c-architecture-setup.md +197 -0
  160. package/i18n/ko/references/08-security-checklist.md +221 -0
  161. package/i18n/ko/references/rules-build.md +152 -0
  162. package/i18n/ko/references/rules-change-propagation.md +74 -0
  163. package/i18n/ko/references/rules-commands.md +98 -0
  164. package/i18n/ko/references/rules-context.md +291 -0
  165. package/i18n/ko/references/rules-custom.md +63 -0
  166. package/i18n/ko/references/rules-document-tools.md +126 -0
  167. package/i18n/ko/references/rules-end-of-flow.md +150 -0
  168. package/i18n/ko/references/rules-export-document.md +346 -0
  169. package/i18n/ko/references/rules-file-integration.md +65 -0
  170. package/i18n/ko/references/rules-full.md +66 -0
  171. package/i18n/ko/references/rules-import-document.md +261 -0
  172. package/i18n/ko/references/rules-product-type.md +14 -0
  173. package/i18n/ko/references/rules-progress.md +60 -0
  174. package/i18n/ko/references/rules-quick.md +29 -0
  175. package/i18n/ko/references/rules-revision.md +64 -0
  176. package/i18n/zh-CN/SKILL.md +245 -0
  177. package/i18n/zh-CN/commands/product-build.md +13 -0
  178. package/i18n/zh-CN/commands/product-dev.md +21 -0
  179. package/i18n/zh-CN/commands/product-full.md +13 -0
  180. package/i18n/zh-CN/commands/product-prd.md +14 -0
  181. package/i18n/zh-CN/commands/product-quick.md +13 -0
  182. package/i18n/zh-CN/commands/product-report.md +12 -0
  183. package/i18n/zh-CN/commands/product-revision.md +13 -0
  184. package/i18n/zh-CN/references/00-opportunity-check.md +44 -0
  185. package/i18n/zh-CN/references/01-strategy.md +90 -0
  186. package/i18n/zh-CN/references/02a-persona.md +57 -0
  187. package/i18n/zh-CN/references/02b-jtbd.md +125 -0
  188. package/i18n/zh-CN/references/02c-ost-journey.md +65 -0
  189. package/i18n/zh-CN/references/03-define.md +118 -0
  190. package/i18n/zh-CN/references/04a-prfaq.md +106 -0
  191. package/i18n/zh-CN/references/04b-solutions.md +269 -0
  192. package/i18n/zh-CN/references/04c-mvp.md +21 -0
  193. package/i18n/zh-CN/references/05a-northstar-aha.md +93 -0
  194. package/i18n/zh-CN/references/05b-pmf-gtm.md +102 -0
  195. package/i18n/zh-CN/references/05c-validation-spec.md +117 -0
  196. package/i18n/zh-CN/references/06-html-report.md +123 -0
  197. package/i18n/zh-CN/references/07a-handoff-core.md +152 -0
  198. package/i18n/zh-CN/references/07b-tasks-tickets.md +215 -0
  199. package/i18n/zh-CN/references/07c-architecture-setup.md +197 -0
  200. package/i18n/zh-CN/references/08-security-checklist.md +221 -0
  201. package/i18n/zh-CN/references/rules-build.md +152 -0
  202. package/i18n/zh-CN/references/rules-change-propagation.md +74 -0
  203. package/i18n/zh-CN/references/rules-commands.md +98 -0
  204. package/i18n/zh-CN/references/rules-context.md +291 -0
  205. package/i18n/zh-CN/references/rules-custom.md +63 -0
  206. package/i18n/zh-CN/references/rules-document-tools.md +126 -0
  207. package/i18n/zh-CN/references/rules-end-of-flow.md +150 -0
  208. package/i18n/zh-CN/references/rules-export-document.md +346 -0
  209. package/i18n/zh-CN/references/rules-file-integration.md +65 -0
  210. package/i18n/zh-CN/references/rules-full.md +66 -0
  211. package/i18n/zh-CN/references/rules-import-document.md +261 -0
  212. package/i18n/zh-CN/references/rules-product-type.md +14 -0
  213. package/i18n/zh-CN/references/rules-progress.md +60 -0
  214. package/i18n/zh-CN/references/rules-quick.md +29 -0
  215. package/i18n/zh-CN/references/rules-revision.md +64 -0
  216. package/i18n/zh-TW/SKILL.md +244 -0
  217. package/i18n/zh-TW/commands/product-build.md +13 -0
  218. package/i18n/zh-TW/commands/product-dev.md +21 -0
  219. package/i18n/zh-TW/commands/product-full.md +13 -0
  220. package/i18n/zh-TW/commands/product-prd.md +14 -0
  221. package/i18n/zh-TW/commands/product-quick.md +13 -0
  222. package/i18n/zh-TW/commands/product-report.md +12 -0
  223. package/i18n/zh-TW/commands/product-revision.md +13 -0
  224. package/i18n/zh-TW/references/00-opportunity-check.md +44 -0
  225. package/i18n/zh-TW/references/01-strategy.md +90 -0
  226. package/i18n/zh-TW/references/02a-persona.md +57 -0
  227. package/i18n/zh-TW/references/02b-jtbd.md +125 -0
  228. package/i18n/zh-TW/references/02c-ost-journey.md +65 -0
  229. package/i18n/zh-TW/references/03-define.md +118 -0
  230. package/i18n/zh-TW/references/04a-prfaq.md +106 -0
  231. package/i18n/zh-TW/references/04b-solutions.md +269 -0
  232. package/i18n/zh-TW/references/04c-mvp.md +21 -0
  233. package/i18n/zh-TW/references/05a-northstar-aha.md +93 -0
  234. package/i18n/zh-TW/references/05b-pmf-gtm.md +102 -0
  235. package/i18n/zh-TW/references/05c-validation-spec.md +117 -0
  236. package/i18n/zh-TW/references/06-html-report.md +123 -0
  237. package/i18n/zh-TW/references/07a-handoff-core.md +152 -0
  238. package/i18n/zh-TW/references/07b-tasks-tickets.md +215 -0
  239. package/i18n/zh-TW/references/07c-architecture-setup.md +197 -0
  240. package/i18n/zh-TW/references/08-security-checklist.md +221 -0
  241. package/i18n/zh-TW/references/rules-build.md +152 -0
  242. package/i18n/zh-TW/references/rules-change-propagation.md +74 -0
  243. package/i18n/zh-TW/references/rules-commands.md +98 -0
  244. package/i18n/zh-TW/references/rules-context.md +291 -0
  245. package/i18n/zh-TW/references/rules-custom.md +63 -0
  246. package/i18n/zh-TW/references/rules-document-tools.md +126 -0
  247. package/i18n/zh-TW/references/rules-end-of-flow.md +150 -0
  248. package/i18n/zh-TW/references/rules-export-document.md +346 -0
  249. package/i18n/zh-TW/references/rules-file-integration.md +65 -0
  250. package/i18n/zh-TW/references/rules-full.md +66 -0
  251. package/i18n/zh-TW/references/rules-import-document.md +261 -0
  252. package/i18n/zh-TW/references/rules-product-type.md +14 -0
  253. package/i18n/zh-TW/references/rules-progress.md +60 -0
  254. package/i18n/zh-TW/references/rules-quick.md +29 -0
  255. package/i18n/zh-TW/references/rules-revision.md +64 -0
  256. package/install.sh +418 -0
  257. package/package.json +41 -0
  258. package/references/00-opportunity-check.md +44 -0
  259. package/references/01-strategy.md +90 -0
  260. package/references/02a-persona.md +57 -0
  261. package/references/02b-jtbd.md +125 -0
  262. package/references/02c-ost-journey.md +65 -0
  263. package/references/03-define.md +118 -0
  264. package/references/04a-prfaq.md +106 -0
  265. package/references/04b-solutions.md +269 -0
  266. package/references/04c-mvp.md +21 -0
  267. package/references/05a-northstar-aha.md +93 -0
  268. package/references/05b-pmf-gtm.md +102 -0
  269. package/references/05c-validation-spec.md +117 -0
  270. package/references/06-html-report.md +123 -0
  271. package/references/07a-handoff-core.md +152 -0
  272. package/references/07b-tasks-tickets.md +215 -0
  273. package/references/07c-architecture-setup.md +197 -0
  274. package/references/08-security-checklist.md +221 -0
  275. package/references/rules-build.md +152 -0
  276. package/references/rules-change-propagation.md +74 -0
  277. package/references/rules-commands.md +98 -0
  278. package/references/rules-context.md +291 -0
  279. package/references/rules-custom.md +63 -0
  280. package/references/rules-document-tools.md +126 -0
  281. package/references/rules-end-of-flow.md +150 -0
  282. package/references/rules-export-document.md +346 -0
  283. package/references/rules-file-integration.md +65 -0
  284. package/references/rules-full.md +66 -0
  285. package/references/rules-import-document.md +261 -0
  286. package/references/rules-product-type.md +14 -0
  287. package/references/rules-progress.md +60 -0
  288. package/references/rules-quick.md +29 -0
  289. package/references/rules-revision.md +64 -0
  290. package/references/templates/prd-style.css +464 -0
  291. package/references/templates/report-style.css +114 -0
@@ -0,0 +1,464 @@
1
+ /* ============================================
2
+ PRD / 規格文件 — 專業印刷級 CSS
3
+ 用於 Playwright page.pdf() 渲染
4
+ ============================================ */
5
+
6
+ /* --- 頁面設定 --- */
7
+ @page {
8
+ size: A4;
9
+ margin: 1.8cm 2cm;
10
+ }
11
+
12
+ /* --- CJK 專業排版 --- */
13
+ body {
14
+ font-family: "PingFang TC", "Noto Sans TC", "Heiti TC", "Microsoft JhengHei", system-ui, -apple-system, sans-serif;
15
+ font-size: 10pt;
16
+ line-height: 1.75;
17
+ letter-spacing: 0.02em;
18
+ color: #1a1a2e;
19
+ word-break: break-all;
20
+ }
21
+
22
+ /* --- 防止排版事故 --- */
23
+ h1, h2, h3, h4 { page-break-after: avoid; }
24
+ table { page-break-inside: auto; }
25
+ tr { page-break-inside: avoid; page-break-after: auto; }
26
+ thead { display: table-header-group; }
27
+ p { orphans: 3; widows: 3; }
28
+ blockquote, ul, ol { page-break-inside: avoid; }
29
+ img { page-break-inside: avoid; }
30
+
31
+ /* --- 標題層級 --- */
32
+ h1 {
33
+ font-size: 18pt;
34
+ font-weight: 700;
35
+ color: #1a1a2e;
36
+ border-bottom: 3px solid #2563eb;
37
+ padding-bottom: 6px;
38
+ margin-top: 0;
39
+ margin-bottom: 16px;
40
+ }
41
+
42
+ h2 {
43
+ font-size: 13pt;
44
+ font-weight: 700;
45
+ color: #1e40af;
46
+ border-bottom: 1.5px solid #dbeafe;
47
+ padding-bottom: 4px;
48
+ margin-top: 28px;
49
+ margin-bottom: 12px;
50
+ }
51
+
52
+ h3 {
53
+ font-size: 11pt;
54
+ font-weight: 600;
55
+ color: #1e3a5f;
56
+ margin-top: 18px;
57
+ margin-bottom: 8px;
58
+ }
59
+
60
+ h4 {
61
+ font-size: 10pt;
62
+ font-weight: 600;
63
+ color: #334155;
64
+ margin-top: 12px;
65
+ margin-bottom: 6px;
66
+ }
67
+
68
+ /* --- 封面頁 --- */
69
+ .cover-page {
70
+ display: flex;
71
+ flex-direction: column;
72
+ justify-content: center;
73
+ align-items: center;
74
+ min-height: 100vh;
75
+ text-align: center;
76
+ background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
77
+ color: white;
78
+ page-break-after: always;
79
+ padding: 60px 40px;
80
+ }
81
+
82
+ .cover-page h1 {
83
+ font-size: 28pt;
84
+ color: white;
85
+ border-bottom: none;
86
+ margin-bottom: 16px;
87
+ letter-spacing: 0.05em;
88
+ }
89
+
90
+ .cover-page .subtitle {
91
+ font-size: 14pt;
92
+ color: #94a3b8;
93
+ margin-bottom: 40px;
94
+ font-weight: 400;
95
+ }
96
+
97
+ .cover-page .meta-info {
98
+ font-size: 10pt;
99
+ color: #64748b;
100
+ line-height: 2;
101
+ }
102
+
103
+ .cover-page .meta-info strong {
104
+ color: #cbd5e1;
105
+ }
106
+
107
+ .cover-page .version-badge {
108
+ display: inline-block;
109
+ background: #2563eb;
110
+ color: white;
111
+ font-size: 11pt;
112
+ font-weight: 600;
113
+ padding: 4px 16px;
114
+ border-radius: 20px;
115
+ margin-top: 24px;
116
+ }
117
+
118
+ /* --- 目錄頁 --- */
119
+ .toc-page {
120
+ page-break-after: always;
121
+ padding-top: 40px;
122
+ }
123
+
124
+ .toc-page h2 {
125
+ font-size: 16pt;
126
+ color: #1a1a2e;
127
+ border-bottom: 2px solid #1a1a2e;
128
+ margin-bottom: 24px;
129
+ }
130
+
131
+ .toc {
132
+ list-style: none;
133
+ padding: 0;
134
+ margin: 0;
135
+ }
136
+
137
+ .toc li {
138
+ display: flex;
139
+ align-items: baseline;
140
+ padding: 6px 0;
141
+ font-size: 10.5pt;
142
+ border-bottom: 1px dotted #e2e8f0;
143
+ }
144
+
145
+ .toc li:last-child { border-bottom: none; }
146
+
147
+ .toc .toc-title {
148
+ flex-shrink: 0;
149
+ color: #1e40af;
150
+ }
151
+
152
+ .toc .toc-dots {
153
+ flex-grow: 1;
154
+ border-bottom: 1px dotted #cbd5e1;
155
+ margin: 0 8px;
156
+ min-width: 20px;
157
+ }
158
+
159
+ .toc .toc-page-num {
160
+ flex-shrink: 0;
161
+ color: #64748b;
162
+ font-size: 9pt;
163
+ }
164
+
165
+ .toc .toc-indent {
166
+ padding-left: 20px;
167
+ font-size: 9.5pt;
168
+ }
169
+
170
+ /* --- 表格 --- */
171
+ table {
172
+ width: 100%;
173
+ border-collapse: collapse;
174
+ margin: 10px 0 16px 0;
175
+ font-size: 9pt;
176
+ }
177
+
178
+ th {
179
+ background: #1e40af;
180
+ color: white;
181
+ font-weight: 600;
182
+ text-align: left;
183
+ padding: 6px 10px;
184
+ border: 1px solid #1e40af;
185
+ }
186
+
187
+ td {
188
+ padding: 6px 10px;
189
+ border: 1px solid #d1d5db;
190
+ vertical-align: top;
191
+ }
192
+
193
+ tr:nth-child(even) td {
194
+ background: #f8fafc;
195
+ }
196
+
197
+ /* 元資料表(無框線) */
198
+ .meta-table td {
199
+ border: none;
200
+ padding: 3px 10px;
201
+ }
202
+ .meta-table td:first-child {
203
+ font-weight: 600;
204
+ color: #475569;
205
+ width: 120px;
206
+ }
207
+
208
+ /* --- 變更追蹤標記 --- */
209
+ .new {
210
+ display: inline-block;
211
+ background: #059669;
212
+ color: white;
213
+ font-size: 7pt;
214
+ font-weight: 700;
215
+ padding: 1px 6px;
216
+ border-radius: 3px;
217
+ margin-right: 4px;
218
+ vertical-align: middle;
219
+ }
220
+
221
+ .upd {
222
+ display: inline-block;
223
+ background: #d97706;
224
+ color: white;
225
+ font-size: 7pt;
226
+ font-weight: 700;
227
+ padding: 1px 6px;
228
+ border-radius: 3px;
229
+ margin-right: 4px;
230
+ vertical-align: middle;
231
+ }
232
+
233
+ .blk {
234
+ display: inline-block;
235
+ background: #dc2626;
236
+ color: white;
237
+ font-size: 7pt;
238
+ font-weight: 700;
239
+ padding: 1px 6px;
240
+ border-radius: 3px;
241
+ margin-right: 4px;
242
+ }
243
+
244
+ .pnd {
245
+ display: inline-block;
246
+ background: #eab308;
247
+ color: white;
248
+ font-size: 7pt;
249
+ font-weight: 700;
250
+ padding: 1px 6px;
251
+ border-radius: 3px;
252
+ margin-right: 4px;
253
+ }
254
+
255
+ /* 變更行背景 */
256
+ .new-row td {
257
+ background: #ecfdf5 !important;
258
+ border-left: 3px solid #059669;
259
+ }
260
+
261
+ .upd-row td {
262
+ background: #fffbeb !important;
263
+ border-left: 3px solid #d97706;
264
+ }
265
+
266
+ /* --- 視覺 Diff(增量更新專用) --- */
267
+ .diff-removed {
268
+ text-decoration: line-through;
269
+ color: #94a3b8;
270
+ background: #fef2f2;
271
+ padding: 2px 4px;
272
+ border-radius: 2px;
273
+ }
274
+
275
+ .diff-added {
276
+ background: #ecfdf5;
277
+ border-left: 3px solid #059669;
278
+ padding: 4px 10px;
279
+ margin: 4px 0;
280
+ }
281
+
282
+ .diff-context {
283
+ color: #64748b;
284
+ font-size: 0.9em;
285
+ font-style: italic;
286
+ }
287
+
288
+ /* Diff 圖例 */
289
+ .diff-legend {
290
+ background: #f1f5f9;
291
+ border: 1px solid #e2e8f0;
292
+ border-radius: 6px;
293
+ padding: 10px 16px;
294
+ margin: 12px 0 20px 0;
295
+ font-size: 9pt;
296
+ display: flex;
297
+ gap: 20px;
298
+ flex-wrap: wrap;
299
+ }
300
+
301
+ .diff-legend-item {
302
+ display: flex;
303
+ align-items: center;
304
+ gap: 6px;
305
+ }
306
+
307
+ .diff-legend-swatch {
308
+ display: inline-block;
309
+ width: 14px;
310
+ height: 14px;
311
+ border-radius: 3px;
312
+ }
313
+
314
+ .diff-legend-swatch.swatch-new { background: #059669; }
315
+ .diff-legend-swatch.swatch-upd { background: #d97706; }
316
+ .diff-legend-swatch.swatch-del { background: #e2e8f0; text-decoration: line-through; }
317
+ .diff-legend-swatch.swatch-unchanged { background: white; border: 1px solid #d1d5db; }
318
+
319
+ /* --- 提示框 --- */
320
+ .note {
321
+ background: #fffbeb;
322
+ border-left: 3px solid #f59e0b;
323
+ padding: 10px 14px;
324
+ margin: 10px 0;
325
+ font-size: 9pt;
326
+ border-radius: 0 4px 4px 0;
327
+ }
328
+
329
+ .info {
330
+ background: #eff6ff;
331
+ border-left: 3px solid #2563eb;
332
+ padding: 10px 14px;
333
+ margin: 10px 0;
334
+ font-size: 9pt;
335
+ border-radius: 0 4px 4px 0;
336
+ }
337
+
338
+ .warning {
339
+ background: #fef2f2;
340
+ border-left: 3px solid #dc2626;
341
+ padding: 10px 14px;
342
+ margin: 10px 0;
343
+ font-size: 9pt;
344
+ border-radius: 0 4px 4px 0;
345
+ }
346
+
347
+ /* --- 引用 --- */
348
+ blockquote {
349
+ border-left: 3px solid #cbd5e1;
350
+ margin: 10px 0;
351
+ padding: 4px 14px;
352
+ color: #64748b;
353
+ font-size: 9pt;
354
+ }
355
+
356
+ /* --- 清單 --- */
357
+ ul, ol {
358
+ margin: 6px 0;
359
+ padding-left: 22px;
360
+ }
361
+
362
+ li {
363
+ margin-bottom: 3px;
364
+ }
365
+
366
+ li > ul, li > ol {
367
+ margin-top: 2px;
368
+ margin-bottom: 2px;
369
+ }
370
+
371
+ /* --- 連結 --- */
372
+ a {
373
+ color: #2563eb;
374
+ text-decoration: none;
375
+ }
376
+
377
+ /* --- 程式碼 --- */
378
+ code {
379
+ font-family: "SF Mono", "Menlo", "Monaco", monospace;
380
+ font-size: 8.5pt;
381
+ background: #f1f5f9;
382
+ padding: 1px 4px;
383
+ border-radius: 3px;
384
+ }
385
+
386
+ pre {
387
+ background: #1e293b;
388
+ color: #e2e8f0;
389
+ padding: 12px 16px;
390
+ border-radius: 6px;
391
+ font-size: 8.5pt;
392
+ overflow-x: auto;
393
+ page-break-inside: avoid;
394
+ }
395
+
396
+ pre code {
397
+ background: none;
398
+ padding: 0;
399
+ color: inherit;
400
+ }
401
+
402
+ /* --- 分隔線 --- */
403
+ hr {
404
+ border: none;
405
+ border-top: 1px solid #e2e8f0;
406
+ margin: 20px 0;
407
+ }
408
+
409
+ /* --- 刪除線 --- */
410
+ .strike {
411
+ text-decoration: line-through;
412
+ color: #94a3b8;
413
+ }
414
+
415
+ /* --- 強制分頁 --- */
416
+ .page-break {
417
+ page-break-before: always;
418
+ }
419
+
420
+ /* --- 小字 --- */
421
+ .small {
422
+ font-size: 8pt;
423
+ color: #64748b;
424
+ }
425
+
426
+ /* --- 頁尾浮水印 --- */
427
+ .doc-footer {
428
+ margin-top: 40px;
429
+ padding-top: 12px;
430
+ border-top: 1px solid #e2e8f0;
431
+ font-size: 8pt;
432
+ color: #94a3b8;
433
+ text-align: center;
434
+ }
435
+
436
+ /* --- 核取方塊 --- */
437
+ .checkbox-empty {
438
+ display: inline-block;
439
+ width: 11px;
440
+ height: 11px;
441
+ border: 1.5px solid #94a3b8;
442
+ border-radius: 2px;
443
+ margin-right: 5px;
444
+ vertical-align: middle;
445
+ }
446
+
447
+ .checkbox-checked {
448
+ display: inline-block;
449
+ width: 11px;
450
+ height: 11px;
451
+ background: #059669;
452
+ border-radius: 2px;
453
+ margin-right: 5px;
454
+ vertical-align: middle;
455
+ color: white;
456
+ font-size: 7pt;
457
+ text-align: center;
458
+ line-height: 11px;
459
+ }
460
+
461
+ /* --- 風險等級色彩 --- */
462
+ .risk-high { color: #dc2626; font-weight: 600; }
463
+ .risk-medium { color: #d97706; font-weight: 600; }
464
+ .risk-low { color: #059669; font-weight: 600; }
@@ -0,0 +1,114 @@
1
+ /* ============================================
2
+ HTML 報告轉 PDF — 列印優化 CSS
3
+ 用於路徑 B(HTML 報告 → Playwright PDF)
4
+ 覆蓋 06-html-report.md 的互動樣式
5
+ ============================================ */
6
+
7
+ /* --- 頁面設定 --- */
8
+ @page {
9
+ size: A4;
10
+ margin: 1.5cm 1.8cm;
11
+ }
12
+
13
+ /* --- 列印時隱藏互動元素 --- */
14
+ @media print {
15
+ /* 隱藏 sticky 導航 */
16
+ nav, .toc-nav, .sticky-nav {
17
+ display: none !important;
18
+ }
19
+
20
+ /* 展開所有手風琴 */
21
+ details {
22
+ open: true;
23
+ }
24
+ details > summary {
25
+ list-style: none;
26
+ }
27
+ details > summary::marker,
28
+ details > summary::-webkit-details-marker {
29
+ display: none;
30
+ }
31
+
32
+ /* 移除 hover 效果 */
33
+ * {
34
+ transition: none !important;
35
+ transform: none !important;
36
+ box-shadow: none !important;
37
+ }
38
+
39
+ /* 卡片樣式改為列印友善 */
40
+ .card, [class*="card"] {
41
+ box-shadow: none !important;
42
+ border: 1px solid #e2e8f0;
43
+ break-inside: avoid;
44
+ }
45
+
46
+ /* Hero 區塊列印適配 */
47
+ .hero, [class*="hero"] {
48
+ min-height: auto !important;
49
+ padding: 30px 20px !important;
50
+ page-break-after: always;
51
+ }
52
+
53
+ /* 表格不截斷 */
54
+ table {
55
+ page-break-inside: auto;
56
+ }
57
+ tr {
58
+ page-break-inside: avoid;
59
+ page-break-after: auto;
60
+ }
61
+ thead {
62
+ display: table-header-group;
63
+ }
64
+
65
+ /* 標題不孤立 */
66
+ h1, h2, h3, h4 {
67
+ page-break-after: avoid;
68
+ }
69
+
70
+ /* 防寡行 */
71
+ p {
72
+ orphans: 3;
73
+ widows: 3;
74
+ }
75
+
76
+ /* 連結顯示 URL */
77
+ a[href^="http"]::after {
78
+ content: " (" attr(href) ")";
79
+ font-size: 8pt;
80
+ color: #64748b;
81
+ word-break: break-all;
82
+ }
83
+
84
+ /* 隱藏滾動提示和互動按鈕 */
85
+ .scroll-hint,
86
+ .back-to-top,
87
+ [onclick],
88
+ button:not(.no-hide) {
89
+ display: none !important;
90
+ }
91
+ }
92
+
93
+ /* --- CJK 字體 fallback(CDN 不可用時) --- */
94
+ body {
95
+ font-family: "Noto Sans TC", "PingFang TC", "Heiti TC", "Microsoft JhengHei", system-ui, sans-serif;
96
+ }
97
+
98
+ /* --- Mermaid 圖表列印優化 --- */
99
+ .mermaid svg {
100
+ max-width: 100% !important;
101
+ height: auto !important;
102
+ page-break-inside: avoid;
103
+ }
104
+
105
+ /* --- PMF 等級圖列印適配 --- */
106
+ .pmf-level, [class*="pmf"] {
107
+ break-inside: avoid;
108
+ }
109
+
110
+ /* --- 邏輯鏈視覺化列印適配 --- */
111
+ .logic-chain, [class*="logic-chain"] {
112
+ break-inside: avoid;
113
+ overflow: visible !important;
114
+ }