@cyberskill/design 2.8.0 → 2.9.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 (383) hide show
  1. package/DESIGN.md +7 -7
  2. package/README.md +14 -8
  3. package/SECURITY.md +4 -4
  4. package/SKILL.md +1 -1
  5. package/VERSION +1 -1
  6. package/_ds_bundle.js +2 -2
  7. package/_ds_bundle.js.map +1 -1
  8. package/_ds_manifest.json +210 -200
  9. package/_esm/cs.mjs +2 -2
  10. package/base/a11y.css +18 -2
  11. package/base/ai.css +2 -2
  12. package/base/collections.css +6 -3
  13. package/base/components.css +107 -20
  14. package/base/controls.css +55 -27
  15. package/base/data.css +17 -5
  16. package/base/feedback.css +8 -0
  17. package/base/forms.css +7 -4
  18. package/base/glass.css +95 -0
  19. package/base/navigation.css +9 -1
  20. package/base/responsive.css +9 -4
  21. package/components/contracts.json +202 -62
  22. package/components/css-index.json +145 -41
  23. package/components/data/data.card.html +1 -1
  24. package/components/prompt-api.json +2 -2
  25. package/components/release-compatibility.json +1 -1
  26. package/components/specifications.json +204 -64
  27. package/components/static-html-reference.json +20 -20
  28. package/dist/esm/build.json +1 -1
  29. package/dist/styles.css +385 -86
  30. package/dist/styles.min.css +1 -1
  31. package/docs/benchmark-rubric.md +1 -1
  32. package/docs/consuming.md +1 -1
  33. package/docs/contrast-report.md +8 -8
  34. package/docs/conventions.md +5 -5
  35. package/docs/decisions.md +2 -2
  36. package/docs/deploy.md +1 -1
  37. package/docs/design-styles.md +9 -8
  38. package/docs/doctrine.md +1 -1
  39. package/docs/four-axes.md +3 -3
  40. package/docs/quality-gates.md +3 -1
  41. package/docs/reference-catalog.json +52 -52
  42. package/docs/release-notes.md +18 -2
  43. package/docs/static-html-reference.md +18 -18
  44. package/docs/storybook.md +1 -1
  45. package/docs/template-inventory.json +35 -35
  46. package/docs/vi/benchmark-rubric.md +1 -1
  47. package/docs/vi/consuming.md +1 -1
  48. package/docs/vi/contrast-report.md +8 -8
  49. package/docs/vi/conventions.md +5 -5
  50. package/docs/vi/decisions.md +2 -2
  51. package/docs/vi/deploy.md +1 -1
  52. package/docs/vi/design-styles.md +9 -8
  53. package/docs/vi/doctrine.md +1 -1
  54. package/docs/vi/entrypoints/CONTRIBUTING.md +9 -2
  55. package/docs/vi/entrypoints/DESIGN.md +7 -7
  56. package/docs/vi/entrypoints/README.md +14 -8
  57. package/docs/vi/entrypoints/SKILL.md +1 -1
  58. package/docs/vi/entrypoints/llms.txt +1 -1
  59. package/docs/vi/four-axes.md +3 -3
  60. package/docs/vi/quality-gates.md +3 -1
  61. package/docs/vi/release-notes.md +18 -2
  62. package/docs/vi/static-html-reference.md +18 -18
  63. package/docs/vi/storybook.md +1 -1
  64. package/guidance/agent-contract.json +3 -3
  65. package/guidelines/atomic-view.html +7 -7
  66. package/guidelines/brand-imagery.html +1 -1
  67. package/guidelines/colors-surfaces.html +4 -4
  68. package/guidelines/colors-text.html +4 -4
  69. package/guidelines/elements-components.html +3 -3
  70. package/guidelines/elements-concept.html +1 -1
  71. package/guidelines/guideline-language.js +1 -1
  72. package/guidelines/motion.html +4 -4
  73. package/guidelines/responsive-bilingual.html +4 -4
  74. package/llms.txt +1 -1
  75. package/package.json +1 -1
  76. package/styles/components/manifest.json +179 -139
  77. package/styles.layered.css +245 -59
  78. package/styles.layered.provenance.json +16 -16
  79. package/templates/_vendor/doc-export.js +8 -1
  80. package/templates/ai-cluster-demo.html +2 -2
  81. package/templates/app-shell/AppShell.dc.html +2 -2
  82. package/templates/bod-deck/BodDeck.dc.html +3 -3
  83. package/templates/bod-investor-update/BodInvestorUpdate.dc.html +1 -1
  84. package/templates/dashboard/Dashboard.dc.html +2 -2
  85. package/templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html +2 -2
  86. package/templates/delivery-status-email/DeliveryStatusEmail.dc.html +1 -1
  87. package/templates/email/Email-VN-standalone.html +2 -2
  88. package/templates/email-safe/email-announcement.html +5 -5
  89. package/templates/email-safe/email-dunning.html +5 -5
  90. package/templates/email-safe/email-investor.html +5 -5
  91. package/templates/email-safe/email-launch.html +5 -5
  92. package/templates/email-safe/email-newsletter.html +6 -6
  93. package/templates/email-safe/email-status.html +5 -5
  94. package/templates/email-safe/email-transactional.html +5 -5
  95. package/templates/kitchen-sink.html +10 -6
  96. package/templates/marketing-newsletter/MarketingNewsletter.dc.html +4 -4
  97. package/templates/marketing-page/MarketingPage.dc.html +4 -2
  98. package/templates/playground.html +5 -4
  99. package/templates/sales-proposal-deck/SalesProposalDeck.dc.html +5 -5
  100. package/tokens/colors.css +1 -1
  101. package/tokens/declarations.json +1851 -1355
  102. package/tokens/element-seeds.json +1 -1
  103. package/tokens/elements.css +40 -10
  104. package/tokens/elevation.css +2 -2
  105. package/tokens/modes/dark__default__comfortable__high.dtcg.json +1 -1
  106. package/tokens/modes/dark__default__comfortable__standard.dtcg.json +1 -1
  107. package/tokens/modes/dark__default__compact__high.dtcg.json +1 -1
  108. package/tokens/modes/dark__default__compact__standard.dtcg.json +1 -1
  109. package/tokens/modes/dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  110. package/tokens/modes/dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  111. package/tokens/modes/dark__hoa-lava__compact__high.dtcg.json +1 -1
  112. package/tokens/modes/dark__hoa-lava__compact__standard.dtcg.json +1 -1
  113. package/tokens/modes/dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  114. package/tokens/modes/dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  115. package/tokens/modes/dark__hoa-plasma__compact__high.dtcg.json +1 -1
  116. package/tokens/modes/dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  117. package/tokens/modes/dark__hoa__comfortable__high.dtcg.json +1 -1
  118. package/tokens/modes/dark__hoa__comfortable__standard.dtcg.json +1 -1
  119. package/tokens/modes/dark__hoa__compact__high.dtcg.json +1 -1
  120. package/tokens/modes/dark__hoa__compact__standard.dtcg.json +1 -1
  121. package/tokens/modes/dark__kim-steel__comfortable__high.dtcg.json +1 -1
  122. package/tokens/modes/dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  123. package/tokens/modes/dark__kim-steel__compact__high.dtcg.json +1 -1
  124. package/tokens/modes/dark__kim-steel__compact__standard.dtcg.json +1 -1
  125. package/tokens/modes/dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  126. package/tokens/modes/dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  127. package/tokens/modes/dark__kim-titanium__compact__high.dtcg.json +1 -1
  128. package/tokens/modes/dark__kim-titanium__compact__standard.dtcg.json +1 -1
  129. package/tokens/modes/dark__kim__comfortable__high.dtcg.json +1 -1
  130. package/tokens/modes/dark__kim__comfortable__standard.dtcg.json +1 -1
  131. package/tokens/modes/dark__kim__compact__high.dtcg.json +1 -1
  132. package/tokens/modes/dark__kim__compact__standard.dtcg.json +1 -1
  133. package/tokens/modes/dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  134. package/tokens/modes/dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  135. package/tokens/modes/dark__moc-bamboo__compact__high.dtcg.json +1 -1
  136. package/tokens/modes/dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  137. package/tokens/modes/dark__moc-forest__comfortable__high.dtcg.json +1 -1
  138. package/tokens/modes/dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  139. package/tokens/modes/dark__moc-forest__compact__high.dtcg.json +1 -1
  140. package/tokens/modes/dark__moc-forest__compact__standard.dtcg.json +1 -1
  141. package/tokens/modes/dark__moc__comfortable__high.dtcg.json +1 -1
  142. package/tokens/modes/dark__moc__comfortable__standard.dtcg.json +1 -1
  143. package/tokens/modes/dark__moc__compact__high.dtcg.json +1 -1
  144. package/tokens/modes/dark__moc__compact__standard.dtcg.json +1 -1
  145. package/tokens/modes/dark__tho-clay__comfortable__high.dtcg.json +1 -1
  146. package/tokens/modes/dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  147. package/tokens/modes/dark__tho-clay__compact__high.dtcg.json +1 -1
  148. package/tokens/modes/dark__tho-clay__compact__standard.dtcg.json +1 -1
  149. package/tokens/modes/dark__tho-sand__comfortable__high.dtcg.json +1 -1
  150. package/tokens/modes/dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  151. package/tokens/modes/dark__tho-sand__compact__high.dtcg.json +1 -1
  152. package/tokens/modes/dark__tho-sand__compact__standard.dtcg.json +1 -1
  153. package/tokens/modes/dark__tho__comfortable__high.dtcg.json +1 -1
  154. package/tokens/modes/dark__tho__comfortable__standard.dtcg.json +1 -1
  155. package/tokens/modes/dark__tho__compact__high.dtcg.json +1 -1
  156. package/tokens/modes/dark__tho__compact__standard.dtcg.json +1 -1
  157. package/tokens/modes/dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  158. package/tokens/modes/dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  159. package/tokens/modes/dark__thuy-mist__compact__high.dtcg.json +1 -1
  160. package/tokens/modes/dark__thuy-mist__compact__standard.dtcg.json +1 -1
  161. package/tokens/modes/dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  162. package/tokens/modes/dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  163. package/tokens/modes/dark__thuy-ocean__compact__high.dtcg.json +1 -1
  164. package/tokens/modes/dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  165. package/tokens/modes/dark__thuy__comfortable__high.dtcg.json +1 -1
  166. package/tokens/modes/dark__thuy__comfortable__standard.dtcg.json +1 -1
  167. package/tokens/modes/dark__thuy__compact__high.dtcg.json +1 -1
  168. package/tokens/modes/dark__thuy__compact__standard.dtcg.json +1 -1
  169. package/tokens/modes/index.json +275 -275
  170. package/tokens/modes/light__default__comfortable__high.dtcg.json +1 -1
  171. package/tokens/modes/light__default__comfortable__standard.dtcg.json +1 -1
  172. package/tokens/modes/light__default__compact__high.dtcg.json +1 -1
  173. package/tokens/modes/light__default__compact__standard.dtcg.json +1 -1
  174. package/tokens/modes/light__hoa-lava__comfortable__high.dtcg.json +1 -1
  175. package/tokens/modes/light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  176. package/tokens/modes/light__hoa-lava__compact__high.dtcg.json +1 -1
  177. package/tokens/modes/light__hoa-lava__compact__standard.dtcg.json +1 -1
  178. package/tokens/modes/light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  179. package/tokens/modes/light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  180. package/tokens/modes/light__hoa-plasma__compact__high.dtcg.json +1 -1
  181. package/tokens/modes/light__hoa-plasma__compact__standard.dtcg.json +1 -1
  182. package/tokens/modes/light__hoa__comfortable__high.dtcg.json +1 -1
  183. package/tokens/modes/light__hoa__comfortable__standard.dtcg.json +1 -1
  184. package/tokens/modes/light__hoa__compact__high.dtcg.json +1 -1
  185. package/tokens/modes/light__hoa__compact__standard.dtcg.json +1 -1
  186. package/tokens/modes/light__kim-steel__comfortable__high.dtcg.json +1 -1
  187. package/tokens/modes/light__kim-steel__comfortable__standard.dtcg.json +1 -1
  188. package/tokens/modes/light__kim-steel__compact__high.dtcg.json +1 -1
  189. package/tokens/modes/light__kim-steel__compact__standard.dtcg.json +1 -1
  190. package/tokens/modes/light__kim-titanium__comfortable__high.dtcg.json +1 -1
  191. package/tokens/modes/light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  192. package/tokens/modes/light__kim-titanium__compact__high.dtcg.json +1 -1
  193. package/tokens/modes/light__kim-titanium__compact__standard.dtcg.json +1 -1
  194. package/tokens/modes/light__kim__comfortable__high.dtcg.json +1 -1
  195. package/tokens/modes/light__kim__comfortable__standard.dtcg.json +1 -1
  196. package/tokens/modes/light__kim__compact__high.dtcg.json +1 -1
  197. package/tokens/modes/light__kim__compact__standard.dtcg.json +1 -1
  198. package/tokens/modes/light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  199. package/tokens/modes/light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  200. package/tokens/modes/light__moc-bamboo__compact__high.dtcg.json +1 -1
  201. package/tokens/modes/light__moc-bamboo__compact__standard.dtcg.json +1 -1
  202. package/tokens/modes/light__moc-forest__comfortable__high.dtcg.json +1 -1
  203. package/tokens/modes/light__moc-forest__comfortable__standard.dtcg.json +1 -1
  204. package/tokens/modes/light__moc-forest__compact__high.dtcg.json +1 -1
  205. package/tokens/modes/light__moc-forest__compact__standard.dtcg.json +1 -1
  206. package/tokens/modes/light__moc__comfortable__high.dtcg.json +1 -1
  207. package/tokens/modes/light__moc__comfortable__standard.dtcg.json +1 -1
  208. package/tokens/modes/light__moc__compact__high.dtcg.json +1 -1
  209. package/tokens/modes/light__moc__compact__standard.dtcg.json +1 -1
  210. package/tokens/modes/light__tho-clay__comfortable__high.dtcg.json +1 -1
  211. package/tokens/modes/light__tho-clay__comfortable__standard.dtcg.json +1 -1
  212. package/tokens/modes/light__tho-clay__compact__high.dtcg.json +1 -1
  213. package/tokens/modes/light__tho-clay__compact__standard.dtcg.json +1 -1
  214. package/tokens/modes/light__tho-sand__comfortable__high.dtcg.json +1 -1
  215. package/tokens/modes/light__tho-sand__comfortable__standard.dtcg.json +1 -1
  216. package/tokens/modes/light__tho-sand__compact__high.dtcg.json +1 -1
  217. package/tokens/modes/light__tho-sand__compact__standard.dtcg.json +1 -1
  218. package/tokens/modes/light__tho__comfortable__high.dtcg.json +1 -1
  219. package/tokens/modes/light__tho__comfortable__standard.dtcg.json +1 -1
  220. package/tokens/modes/light__tho__compact__high.dtcg.json +1 -1
  221. package/tokens/modes/light__tho__compact__standard.dtcg.json +1 -1
  222. package/tokens/modes/light__thuy-mist__comfortable__high.dtcg.json +1 -1
  223. package/tokens/modes/light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  224. package/tokens/modes/light__thuy-mist__compact__high.dtcg.json +1 -1
  225. package/tokens/modes/light__thuy-mist__compact__standard.dtcg.json +1 -1
  226. package/tokens/modes/light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  227. package/tokens/modes/light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  228. package/tokens/modes/light__thuy-ocean__compact__high.dtcg.json +1 -1
  229. package/tokens/modes/light__thuy-ocean__compact__standard.dtcg.json +1 -1
  230. package/tokens/modes/light__thuy__comfortable__high.dtcg.json +1 -1
  231. package/tokens/modes/light__thuy__comfortable__standard.dtcg.json +1 -1
  232. package/tokens/modes/light__thuy__compact__high.dtcg.json +1 -1
  233. package/tokens/modes/light__thuy__compact__standard.dtcg.json +1 -1
  234. package/tokens/modes/system-dark__default__comfortable__high.dtcg.json +1 -1
  235. package/tokens/modes/system-dark__default__comfortable__standard.dtcg.json +1 -1
  236. package/tokens/modes/system-dark__default__compact__high.dtcg.json +1 -1
  237. package/tokens/modes/system-dark__default__compact__standard.dtcg.json +1 -1
  238. package/tokens/modes/system-dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  239. package/tokens/modes/system-dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  240. package/tokens/modes/system-dark__hoa-lava__compact__high.dtcg.json +1 -1
  241. package/tokens/modes/system-dark__hoa-lava__compact__standard.dtcg.json +1 -1
  242. package/tokens/modes/system-dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  243. package/tokens/modes/system-dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  244. package/tokens/modes/system-dark__hoa-plasma__compact__high.dtcg.json +1 -1
  245. package/tokens/modes/system-dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  246. package/tokens/modes/system-dark__hoa__comfortable__high.dtcg.json +1 -1
  247. package/tokens/modes/system-dark__hoa__comfortable__standard.dtcg.json +1 -1
  248. package/tokens/modes/system-dark__hoa__compact__high.dtcg.json +1 -1
  249. package/tokens/modes/system-dark__hoa__compact__standard.dtcg.json +1 -1
  250. package/tokens/modes/system-dark__kim-steel__comfortable__high.dtcg.json +1 -1
  251. package/tokens/modes/system-dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  252. package/tokens/modes/system-dark__kim-steel__compact__high.dtcg.json +1 -1
  253. package/tokens/modes/system-dark__kim-steel__compact__standard.dtcg.json +1 -1
  254. package/tokens/modes/system-dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  255. package/tokens/modes/system-dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  256. package/tokens/modes/system-dark__kim-titanium__compact__high.dtcg.json +1 -1
  257. package/tokens/modes/system-dark__kim-titanium__compact__standard.dtcg.json +1 -1
  258. package/tokens/modes/system-dark__kim__comfortable__high.dtcg.json +1 -1
  259. package/tokens/modes/system-dark__kim__comfortable__standard.dtcg.json +1 -1
  260. package/tokens/modes/system-dark__kim__compact__high.dtcg.json +1 -1
  261. package/tokens/modes/system-dark__kim__compact__standard.dtcg.json +1 -1
  262. package/tokens/modes/system-dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  263. package/tokens/modes/system-dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  264. package/tokens/modes/system-dark__moc-bamboo__compact__high.dtcg.json +1 -1
  265. package/tokens/modes/system-dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  266. package/tokens/modes/system-dark__moc-forest__comfortable__high.dtcg.json +1 -1
  267. package/tokens/modes/system-dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  268. package/tokens/modes/system-dark__moc-forest__compact__high.dtcg.json +1 -1
  269. package/tokens/modes/system-dark__moc-forest__compact__standard.dtcg.json +1 -1
  270. package/tokens/modes/system-dark__moc__comfortable__high.dtcg.json +1 -1
  271. package/tokens/modes/system-dark__moc__comfortable__standard.dtcg.json +1 -1
  272. package/tokens/modes/system-dark__moc__compact__high.dtcg.json +1 -1
  273. package/tokens/modes/system-dark__moc__compact__standard.dtcg.json +1 -1
  274. package/tokens/modes/system-dark__tho-clay__comfortable__high.dtcg.json +1 -1
  275. package/tokens/modes/system-dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  276. package/tokens/modes/system-dark__tho-clay__compact__high.dtcg.json +1 -1
  277. package/tokens/modes/system-dark__tho-clay__compact__standard.dtcg.json +1 -1
  278. package/tokens/modes/system-dark__tho-sand__comfortable__high.dtcg.json +1 -1
  279. package/tokens/modes/system-dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  280. package/tokens/modes/system-dark__tho-sand__compact__high.dtcg.json +1 -1
  281. package/tokens/modes/system-dark__tho-sand__compact__standard.dtcg.json +1 -1
  282. package/tokens/modes/system-dark__tho__comfortable__high.dtcg.json +1 -1
  283. package/tokens/modes/system-dark__tho__comfortable__standard.dtcg.json +1 -1
  284. package/tokens/modes/system-dark__tho__compact__high.dtcg.json +1 -1
  285. package/tokens/modes/system-dark__tho__compact__standard.dtcg.json +1 -1
  286. package/tokens/modes/system-dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  287. package/tokens/modes/system-dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  288. package/tokens/modes/system-dark__thuy-mist__compact__high.dtcg.json +1 -1
  289. package/tokens/modes/system-dark__thuy-mist__compact__standard.dtcg.json +1 -1
  290. package/tokens/modes/system-dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  291. package/tokens/modes/system-dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  292. package/tokens/modes/system-dark__thuy-ocean__compact__high.dtcg.json +1 -1
  293. package/tokens/modes/system-dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  294. package/tokens/modes/system-dark__thuy__comfortable__high.dtcg.json +1 -1
  295. package/tokens/modes/system-dark__thuy__comfortable__standard.dtcg.json +1 -1
  296. package/tokens/modes/system-dark__thuy__compact__high.dtcg.json +1 -1
  297. package/tokens/modes/system-dark__thuy__compact__standard.dtcg.json +1 -1
  298. package/tokens/modes/system-light__default__comfortable__high.dtcg.json +1 -1
  299. package/tokens/modes/system-light__default__comfortable__standard.dtcg.json +1 -1
  300. package/tokens/modes/system-light__default__compact__high.dtcg.json +1 -1
  301. package/tokens/modes/system-light__default__compact__standard.dtcg.json +1 -1
  302. package/tokens/modes/system-light__hoa-lava__comfortable__high.dtcg.json +1 -1
  303. package/tokens/modes/system-light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  304. package/tokens/modes/system-light__hoa-lava__compact__high.dtcg.json +1 -1
  305. package/tokens/modes/system-light__hoa-lava__compact__standard.dtcg.json +1 -1
  306. package/tokens/modes/system-light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  307. package/tokens/modes/system-light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  308. package/tokens/modes/system-light__hoa-plasma__compact__high.dtcg.json +1 -1
  309. package/tokens/modes/system-light__hoa-plasma__compact__standard.dtcg.json +1 -1
  310. package/tokens/modes/system-light__hoa__comfortable__high.dtcg.json +1 -1
  311. package/tokens/modes/system-light__hoa__comfortable__standard.dtcg.json +1 -1
  312. package/tokens/modes/system-light__hoa__compact__high.dtcg.json +1 -1
  313. package/tokens/modes/system-light__hoa__compact__standard.dtcg.json +1 -1
  314. package/tokens/modes/system-light__kim-steel__comfortable__high.dtcg.json +1 -1
  315. package/tokens/modes/system-light__kim-steel__comfortable__standard.dtcg.json +1 -1
  316. package/tokens/modes/system-light__kim-steel__compact__high.dtcg.json +1 -1
  317. package/tokens/modes/system-light__kim-steel__compact__standard.dtcg.json +1 -1
  318. package/tokens/modes/system-light__kim-titanium__comfortable__high.dtcg.json +1 -1
  319. package/tokens/modes/system-light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  320. package/tokens/modes/system-light__kim-titanium__compact__high.dtcg.json +1 -1
  321. package/tokens/modes/system-light__kim-titanium__compact__standard.dtcg.json +1 -1
  322. package/tokens/modes/system-light__kim__comfortable__high.dtcg.json +1 -1
  323. package/tokens/modes/system-light__kim__comfortable__standard.dtcg.json +1 -1
  324. package/tokens/modes/system-light__kim__compact__high.dtcg.json +1 -1
  325. package/tokens/modes/system-light__kim__compact__standard.dtcg.json +1 -1
  326. package/tokens/modes/system-light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  327. package/tokens/modes/system-light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  328. package/tokens/modes/system-light__moc-bamboo__compact__high.dtcg.json +1 -1
  329. package/tokens/modes/system-light__moc-bamboo__compact__standard.dtcg.json +1 -1
  330. package/tokens/modes/system-light__moc-forest__comfortable__high.dtcg.json +1 -1
  331. package/tokens/modes/system-light__moc-forest__comfortable__standard.dtcg.json +1 -1
  332. package/tokens/modes/system-light__moc-forest__compact__high.dtcg.json +1 -1
  333. package/tokens/modes/system-light__moc-forest__compact__standard.dtcg.json +1 -1
  334. package/tokens/modes/system-light__moc__comfortable__high.dtcg.json +1 -1
  335. package/tokens/modes/system-light__moc__comfortable__standard.dtcg.json +1 -1
  336. package/tokens/modes/system-light__moc__compact__high.dtcg.json +1 -1
  337. package/tokens/modes/system-light__moc__compact__standard.dtcg.json +1 -1
  338. package/tokens/modes/system-light__tho-clay__comfortable__high.dtcg.json +1 -1
  339. package/tokens/modes/system-light__tho-clay__comfortable__standard.dtcg.json +1 -1
  340. package/tokens/modes/system-light__tho-clay__compact__high.dtcg.json +1 -1
  341. package/tokens/modes/system-light__tho-clay__compact__standard.dtcg.json +1 -1
  342. package/tokens/modes/system-light__tho-sand__comfortable__high.dtcg.json +1 -1
  343. package/tokens/modes/system-light__tho-sand__comfortable__standard.dtcg.json +1 -1
  344. package/tokens/modes/system-light__tho-sand__compact__high.dtcg.json +1 -1
  345. package/tokens/modes/system-light__tho-sand__compact__standard.dtcg.json +1 -1
  346. package/tokens/modes/system-light__tho__comfortable__high.dtcg.json +1 -1
  347. package/tokens/modes/system-light__tho__comfortable__standard.dtcg.json +1 -1
  348. package/tokens/modes/system-light__tho__compact__high.dtcg.json +1 -1
  349. package/tokens/modes/system-light__tho__compact__standard.dtcg.json +1 -1
  350. package/tokens/modes/system-light__thuy-mist__comfortable__high.dtcg.json +1 -1
  351. package/tokens/modes/system-light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  352. package/tokens/modes/system-light__thuy-mist__compact__high.dtcg.json +1 -1
  353. package/tokens/modes/system-light__thuy-mist__compact__standard.dtcg.json +1 -1
  354. package/tokens/modes/system-light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  355. package/tokens/modes/system-light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  356. package/tokens/modes/system-light__thuy-ocean__compact__high.dtcg.json +1 -1
  357. package/tokens/modes/system-light__thuy-ocean__compact__standard.dtcg.json +1 -1
  358. package/tokens/modes/system-light__thuy__comfortable__high.dtcg.json +1 -1
  359. package/tokens/modes/system-light__thuy__comfortable__standard.dtcg.json +1 -1
  360. package/tokens/modes/system-light__thuy__compact__high.dtcg.json +1 -1
  361. package/tokens/modes/system-light__thuy__compact__standard.dtcg.json +1 -1
  362. package/tokens/native/CSModes.kt +129 -125
  363. package/tokens/native/CSModes.swift +129 -125
  364. package/tokens/native/CSTokens.kt +8 -8
  365. package/tokens/native/CSTokens.swift +8 -8
  366. package/tokens/native/cs_modes.dart +129 -125
  367. package/tokens/native/cs_tokens.dart +8 -8
  368. package/tokens/native/mode-provenance.json +11 -11
  369. package/tokens/provenance.json +6 -6
  370. package/tokens/styles.css +8 -4
  371. package/tokens/tokens.dtcg.json +26 -26
  372. package/tokens/tokens.js +12 -12
  373. package/tokens/tokens.json +11 -11
  374. package/tokens/variables.css +48 -15
  375. package/tokens/viewer.html +1 -0
  376. package/ui_kits/status-hub/login.html +3 -3
  377. package/ui_kits/status-hub/project.html +4 -6
  378. package/ui_kits/status-hub/settings.html +2 -3
  379. package/ui_kits/status-hub/status.css +24 -15
  380. package/ui_kits/website/careers.html +10 -17
  381. package/ui_kits/website/chat.html +14 -3
  382. package/ui_kits/website/site.css +21 -21
  383. package/ui_kits/website/work.html +4 -10
@@ -28,7 +28,7 @@ Self-audit checklist for evolving CyberSkill Design System — external standard
28
28
 
29
29
  ## Style expansion checklist (`data-cs-style`)
30
30
 
31
- Sole pack today: **liquid-glass** (`tokens/styles.css`, gate `_audit/style-contract.html`). When adding a style pack beyond liquid-glass:
31
+ Live packs: **liquid-glass** (default; absent ≡ default) and **matte-paper** (`tokens/styles.css` + `base/glass.css`, gate `_audit/style-contract.html`). When adding another style pack:
32
32
 
33
33
  1. Token overlay that **consumes** the existing 10 `--cs-accent-*` roles, including `--cs-accent-on-strong` (do not invent parallel Element packs).
34
34
  2. Specimen card + Storybook / Atomic View wiring if the style is product-selectable.
package/docs/consuming.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Consuming & upgrading the CyberSkill Design System
2
2
 
3
- **Source checkout:** VERSION **<!-- cs-source-version:checkout -->2.8.0<!-- /cs-source-version -->** is local source identity, not a registry-availability claim. For an unpublished candidate, validate the reviewed local package tarball or source checkout. Registry commands below refer to published stable 2.7.0 (and the dated ADOPT-001 1.7.2 sibling inventory) and are not automatically updated by preparation. Preparation does not authorize publication.
3
+ **Source checkout:** VERSION **<!-- cs-source-version:checkout -->2.9.0<!-- /cs-source-version -->** is local source identity, not a registry-availability claim. For an unpublished candidate, validate the reviewed local package tarball or source checkout. Registry commands below refer to published stable 2.8.0 (and the dated ADOPT-001 1.7.2 sibling inventory) and are not automatically updated by preparation. Preparation does not authorize publication.
4
4
 
5
5
  How any project — human-driven or agent-driven — adopts this HTML-first design system, and how to take updates safely. Published on Storybook **Docs** at `design.cyberskill.world`.
6
6
 
@@ -1,6 +1,6 @@
1
1
  # Contrast report — elemental pairings (APCA)
2
2
 
3
- Generated · sweep at VERSION 2.8.0.
3
+ Generated · sweep at VERSION 2.9.0.
4
4
 
5
5
  Published on Storybook **Docs** at `design.cyberskill.world`.
6
6
 
@@ -104,10 +104,10 @@ Rows use the declared light or dark `--cs-color-link` colour. White, reference-p
104
104
  | tho · sand | link on tint (body) | #695300 / #FEF8E7 | 6.98:1 | ✓ |
105
105
  | tho · sand | link on reference raised cream (body) | #695300 / #FBF4E9 | 6.77:1 | ✓ |
106
106
  | tho · sand | link on reference dark panel (body) | #F9E5AE / #221710 | 14.06:1 | ✓ |
107
- | tho | link on white (body) | #644A05 / #FFFFFF | 8.32:1 | ✓ |
108
- | tho | link on reference page (body) | #644A05 / #FFFDF8 | 8.19:1 | ✓ |
109
- | tho | link on tint (body) | #644A05 / #FBF4E9 | 7.62:1 | ✓ |
110
- | tho | link on reference raised cream (body) | #644A05 / #FBF4E9 | 7.62:1 | ✓ |
107
+ | tho | link on white (body) | #744000 / #FFFFFF | 8.48:1 | ✓ |
108
+ | tho | link on reference page (body) | #744000 / #FFFDF8 | 8.34:1 | ✓ |
109
+ | tho | link on tint (body) | #744000 / #FBF4E9 | 7.76:1 | ✓ |
110
+ | tho | link on reference raised cream (body) | #744000 / #FBF4E9 | 7.76:1 | ✓ |
111
111
  | tho | link on reference dark panel (body) | #FFD57A / #221710 | 12.56:1 | ✓ |
112
112
  | tho · clay | link on white (body) | #462402 / #FFFFFF | 13.87:1 | ✓ |
113
113
  | tho · clay | link on reference page (body) | #462402 / #FFFDF8 | 13.65:1 | ✓ |
@@ -184,8 +184,8 @@ Pair `--cs-accent-strong` with `--cs-accent-on-strong`: both light and dark pack
184
184
  |---|---|---|---|---|
185
185
  | tho · sand | light | #FFFFFF / #856A03 | 80.8 | ✓ |
186
186
  | tho · sand | dark | #FFFFFF / #80671A | 82.2 | ✓ |
187
- | tho | light | #FFFFFF / #916D11 | 78.4 | ✓ |
188
- | tho | dark | #FFFFFF / #6E5205 | 90.1 | ✓ |
187
+ | tho | light | #FFFFFF / #A4631E | 78.4 | ✓ |
188
+ | tho | dark | #FFFFFF / #7D480C | 90.5 | ✓ |
189
189
  | tho · clay | light | #FFFFFF / #5A3004 | 99.5 | ✓ |
190
190
  | tho · clay | dark | #FFFFFF / #5C3001 | 99.3 | ✓ |
191
191
  | hoa · plasma | light | #FFFFFF / #896163 | 81.7 | ✓ |
@@ -221,7 +221,7 @@ Proposal targets in `_audit/apca-dark-preview.html`: bright ≥ 75 · accent ≥
221
221
  | Pack | bright | accent | on | ink |
222
222
  |---|---|---|---|---|
223
223
  | tho · sand | 90.5 | 76.1 | 82.2 | 87.4 |
224
- | tho | 81.9 | 64.7 | 90.1 | 81 |
224
+ | tho | 81.9 | 64.7 | 90.5 | 81 |
225
225
  | tho · clay | 77.1 | 60.6 | 99.3 | 79.4 |
226
226
  | hoa · plasma | 89.4 | 75.1 | 82.8 | 86.4 |
227
227
  | hoa | 81.2 | 63.2 | 90.9 | 80.3 |
@@ -13,10 +13,10 @@ Every rendered surface resolves four orthogonal scopes — never encode one axis
13
13
  |---|---|---|---|
14
14
  | **Theme** | `data-theme="dark\|system"` | light / dark / system (OS) | `tokens/colors.css` |
15
15
  | **Element** (Ngũ Hành) | `data-cs-element` + `data-cs-variant` | hue identity per product | `tokens/elements.css` |
16
- | **Language** | `lang` / Language tweak | EN · VI required; `ja` spike (BCP-47 primary subtags) | component registry + template props — see `docs/decisions/locale-architecture.md` |
17
- | **Style** | `data-cs-style` (optional; absent ≡ `liquid-glass`) | surface material pack | `tokens/styles.css` |
16
+ | **Language** | `lang` / Language tweak | EN · VI (`vi` default on UI surfaces; internal `ja` i18n spike) | component registry + template props — see `docs/decisions/locale-architecture.md` |
17
+ | **Style** | `data-cs-style` (optional; absent ≡ `liquid-glass`) | surface material pack (`liquid-glass` · `matte-paper`) | `tokens/styles.css` + `base/glass.css` |
18
18
 
19
- Style’s sole pack today is **liquid-glass**. Immutable under all axes: Umber/Ochre anchors, voice, type families, semantic status colors, the composite focus indicator (text-primary contour + ochre halo), APCA floors, ≥44px targets.
19
+ Style ships two packs: **liquid-glass** (default) and **matte-paper** (opaque crisp paper surfaces). Immutable under all axes: Umber/Ochre anchors, voice, type families, semantic status colors, the composite focus indicator (text-primary contour + ochre halo), APCA floors, ≥44px targets.
20
20
 
21
21
  ## Naming grammar
22
22
 
@@ -78,13 +78,13 @@ only for HTML element content, never URL, attribute, CSS or script contexts.
78
78
 
79
79
  **New element variant** — stay inside the element's oklch envelope; set the 10 `--cs-accent-*` contract tokens (incl. `--cs-accent-on-strong` ≥4.5:1 and body APCA75 on `-strong`) plus `--cs-color-text-accent`/`--cs-color-link` (APCA-check both); the aurora wash inherits from the element via `.cs-aurora-wash` (override the class rule only if the variant truly needs its own image); gradient partner (`grad-b`) must follow Tương sinh.
80
80
 
81
- **Ship check** — follow the portable verification gate in `docs/doctrine.md`, then run `_audit/docs-consistency.html` **and** `_audit/namespace-portability.html` (both must be green). source checkout VERSION **<!-- cs-source-version:checkout -->2.8.0<!-- /cs-source-version -->**.
81
+ **Ship check** — follow the portable verification gate in `docs/doctrine.md`, then run `_audit/docs-consistency.html` **and** `_audit/namespace-portability.html` (both must be green). source checkout VERSION **<!-- cs-source-version:checkout -->2.9.0<!-- /cs-source-version -->**.
82
82
 
83
83
  ## Decision log (owner-approved)
84
84
 
85
85
  - Elements fully replace Ochre inside product scopes; plasma's hot-pink edge approved (Jul 2026).
86
86
 
87
- - Axes are Theme × Element × Language × Style. Style pack is liquid-glass (sole pack; absent ≡ default).
87
+ - Axes are Theme × Element × Language × Style. Style packs are `liquid-glass` (default; absent ≡ default) and `matte-paper`.
88
88
 
89
89
  - Product registry is **locked** (Jul 2026) — eight portfolio mappings in `docs/products.md`; do not invent new product → element assignments.
90
90
 
package/docs/decisions.md CHANGED
@@ -104,7 +104,7 @@ Operational follow-ups — not product marketing, not a backlog surface:
104
104
 
105
105
  7. **Element colour geometry** (Jul 2026; owner palette bar Jul 2026) — **30** default sets (5 × soft/middle/deep × light/dark) from `tokens/element-seeds.json` (`npm run tokens:elements`): soft = washed pastel, middle = intensity-synced default (Thổ middle pins logo ochre), deep = clearly darker sibling in the same hue family; harmonious role ramps; light↔dark hue lock; APCA dark floors. Geometry gate requires both minΔE and minΔL plus monotonic L. Public variant names unchanged. Hard gate: `_audit/element-geometry.html`. Benchmark rubric: `docs/benchmark-rubric.md`.
106
106
 
107
- 8. **Style axis (`data-cs-style`)** (Jul 2026) — Fourth product axis; sole live pack **liquid-glass** (absent ≡ liquid-glass). Contract: `tokens/styles.css` + hard gate `_audit/style-contract.html`. Future Style packs may expand indefinitely, each with its own colour-combination language — only via owner approval + Expansion Rule checklist in `docs/benchmark-rubric.md` (do not invent packs casually).
107
+ 8. **Style axis (`data-cs-style`)** (Jul 2026; expanded Nov 2026) — Fourth product axis; live packs **liquid-glass** (default; absent ≡ liquid-glass) and **matte-paper** (zero-blur opaque crisp paper surfaces for editorial/dense workspaces). Contract: `tokens/styles.css` + `base/glass.css` + hard gate `_audit/style-contract.html`. Future Style packs may expand only via owner approval + Expansion Rule checklist in `docs/benchmark-rubric.md` (do not invent packs casually).
108
108
 
109
109
  9. **Identity Lab retired** (Jul 2026) — Owner choice: delete `ui_kits/status-hub/identity-lab.html` and every product/docs/Storybook reference. Axis demos live in the Storybook Theme × Element × Language × Style toolbar, Atomic View, and the Elements Geometry specimen. Theme × Element × Language × Style **axes remain** product infrastructure (templates, tokens, kits Thổ-faithful). Do not revive the Lab under another name without a new decision.
110
110
 
@@ -130,7 +130,7 @@ Rules:
130
130
 
131
131
  Normative record: [`docs/decisions/locale-architecture.md`](./decisions/locale-architecture.md).
132
132
 
133
- - Language stays a product axis (Theme × Element × Language × Style). Values are primary language subtags (`en` · `vi` · spike `ja`), not a nested locale axis and not full region tags yet.
133
+ - Language stays a product axis (Theme × Element × Language × Style). UI surfaces expose `vi` · `en` only (`vi` default); `ja` remains an internal programmatic BCP-47 fallback spike for Pagination, not a UI toolbar locale.
134
134
  - Registry keeps required EN·VI pairs; optional spike tables must match `en` keys when present.
135
135
  - Vietnamese-first default unchanged (`lang` unset → `vi`). Plural/ICU and region variants are follow-on.
136
136
 
package/docs/deploy.md CHANGED
@@ -5,7 +5,7 @@ Published on Storybook **Docs** at `design.cyberskill.world`.
5
5
  Two tracks:
6
6
 
7
7
  1. **Portable design system (consumers)** — HTML consumers can link the reviewed `styles.css` and optional `_ds_bundle.js`, or use the browser legacy entry `_esm/cs.mjs`, without a bundler. The default npm import (`dist/esm/_esm/react.mjs`) is compiled ESM with React peers; React apps need a compatible module resolver. Source JSX remains available through the explicit source export. Storybook is host tooling. The npm portable payload follows `package.json` → `files`; public hosting uses the reviewed allowlist in `scripts/public-site-policy.json`.
8
- 2. **Host site (`design.cyberskill.world`)** — static output packaged for Vercel. Packaging **does** run Node once at deploy time so Storybook ships as the product surface at `/`. There is still no long-running app server.
8
+ 2. **Host site (`design.cyberskill.world`)** — static output packaged for GitHub Pages (`.github/workflows/pages.yml` publishing `.vercel-static/` with `.nojekyll` and `CNAME`) or any static host. Packaging **does** run Node once at deploy time so Storybook ships as the product surface at `/`. There is still no long-running app server.
9
9
 
10
10
  Production **`/`** is the Storybook static build. Legacy `/dashboard`, `/dashboard/`, `/dashboard.html`, `/dashboard/:path*`, `/playground`, `/playground/`, and `/playground/:path*` redirect to `/`.
11
11
 
@@ -1,13 +1,13 @@
1
1
  # Design styles
2
2
 
3
- The live styling axes are **Theme × Element × Language × Style**. Style’s sole pack today is **liquid-glass**. An absent style attribute selects that pack. Unmarked descendants inherit their nearest theme and element scopes; the neutral root defaults to light with the studio brand anchors. Published on Storybook **Docs** at `design.cyberskill.world`.
3
+ The live styling axes are **Theme × Element × Language × Style**. Style ships two surface material packs: **liquid-glass** (default; an absent style attribute selects it) and **matte-paper** (opaque crisp paper surfaces with zero backdrop blur). Unmarked descendants inherit their nearest theme and element scopes; the neutral root defaults to light with the studio brand anchors. Published on Storybook **Docs** at `design.cyberskill.world`.
4
4
 
5
5
  | Axis | How to set it | What it changes |
6
6
  |---|---|---|
7
7
  | **Theme** | `data-theme="light"`, `"dark"` or `"system"`; absence inherits the nearest scope (light at the neutral root) | light/dark semantic colours (product UI axis). Explicit light resets a dark ancestor. System follows the OS light/dark preference through `prefers-color-scheme`; Storybook toolbar and Atomic View expose all three values |
8
8
  | **Element** | `data-cs-element` + optional `data-cs-variant` | Ngũ Hành product identity (**15 packs** = 5 elements × soft/middle/deep) |
9
- | **Language** | `lang` / Language tweak | EN · VI built-in copy, Vietnamese by default; optional `ja` is a bounded Pagination spike, not full Japanese coverage |
10
- | **Style** | `data-cs-style` (optional; absent ≡ `liquid-glass`) | Surface material pack. Sole pack today: **liquid-glass** (`tokens/styles.css` + `base/glass.css`) |
9
+ | **Language** | `lang` / Language tweak | EN · VI built-in copy (`vi` default on UI surfaces); programmatic `ja` remains an internal Pagination i18n spike, not a UI toolbar locale |
10
+ | **Style** | `data-cs-style` (optional; absent ≡ `liquid-glass`) | Surface material pack: **liquid-glass** (default frosted optical blur) · **matte-paper** (opaque crisp paper surfaces, `tokens/styles.css` + `base/glass.css`) |
11
11
 
12
12
  ## Element colour contract
13
13
 
@@ -24,11 +24,12 @@ Source of truth: [`tokens/element-seeds.json`](../tokens/element-seeds.json) →
24
24
  | **Never remap** | composite focus indicator (text-primary contour + ochre halo) · semantic status colours |
25
25
  | **Geometry gate** | [`_audit/element-geometry.html`](../_audit/element-geometry.html) — intensity sync · variant distinctness · hue identity |
26
26
 
27
- ## Style pack — liquid-glass
27
+ ## Style packs — liquid-glass & matte-paper
28
28
 
29
- - Liquid-glass materials (`cs-surface-*`) are the default surface language.
29
+ - **liquid-glass** (`cs-surface-*`, default when `data-cs-style` is absent) is the optical frosted-glass surface language.
30
+ - **matte-paper** (`data-cs-style="matte-paper"`) removes backdrop blur, switches `.cs-surface-*` and `.cs-card` / `.cs-dialog` / `.cs-drawer` / `.cs-popover__panel` / `.cs-menu__list` to crisp opaque `--cs-color-surface-panel` / `--cs-color-surface-raised` fills with `1px` solid `--cs-color-border-default` borders and tactile flat elevation (`--cs-shadow-xs`), ideal for legal/editorial instruments, dense ERP tables, and SOC War-Rooms; a nested `[data-cs-style="liquid-glass"]` restores optical blur.
30
31
  - Radius, shadow, and glass tokens come from `tokens/elevation.css` + `base/glass.css`; the Style axis contract lives in [`tokens/styles.css`](../tokens/styles.css).
31
- - Gate: [`_audit/style-contract.html`](../_audit/style-contract.html) — allowlists `liquid-glass` only.
32
+ - Gate: [`_audit/style-contract.html`](../_audit/style-contract.html) — allowlists `liquid-glass` and `matte-paper`.
32
33
  - Rejected by doctrine: neon/cyberpunk cold hues, memphis playfulness, full skeuomorphism, emoji in UI chrome.
33
34
  - Type families are fixed and token-named: Be Vietnam Pro (UI) · Space Grotesk (`--cs-font-family-display`, opt-in headline face) · JetBrains Mono (code). The display face is a **role a scope may opt into** with `.cs-display-face`, not a product axis.
34
35
 
@@ -40,7 +41,7 @@ Prefer:
40
41
  3. A documented pattern in `docs/conventions.md` + a specimen card when the pattern should be reusable.
41
42
  4. A new **`data-cs-style`** pack only after an Expansion Rule pass — see [`docs/benchmark-rubric.md`](benchmark-rubric.md) style-expansion checklist. Styles consume the same 10 accent roles (incl. `on-strong`); they must not invent parallel Element packs.
42
43
 
43
- Do not invent a fifth product axis, and do not add a second Style pack without the Expansion Rule checklist.
44
+ Do not invent a fifth product axis, and do not add an unreviewed Style pack without the Expansion Rule checklist.
44
45
 
45
46
  ## Internal theme switches
46
47
 
@@ -53,7 +54,7 @@ Maintain the authored generator and run `npm run tokens:generate` and `npm run t
53
54
 
54
55
  ## Density and public spacing roles
55
56
 
56
- `data-cs-density="compact"` currently affects Button and shared `.cs-field__control` metrics. The latter is used by TextField, Textarea, Select, NativeSelect and Mentions. Component tokens carry these overrides directly; the separate `--cs-density-*` utility exports do not establish broader component adoption. Existing coarse-pointer target floors remain in force.
57
+ `data-cs-density="compact"` tightens Button, shared `.cs-field__control` metrics (TextField, Textarea, Select, NativeSelect, Mentions), and container rhythm across `.cs-card`, `.cs-table`, `.cs-dialog`, `.cs-field`, `.cs-review-gate`, `.cs-alert`, `.cs-toast`, `.cs-tag`, `.cs-tab`, `.cs-menu`, `.cs-stat`, and `.cs-divider` (with nested `[data-cs-density="comfortable"]` reset). Existing `>= 44px` coarse-pointer target floors remain strictly in force. `data-cs-contrast="high"` (and `prefers-contrast: more`) reinforces text/border tokens plus form controls, glass surface borders, and table/datagrid cell dividers.
57
58
 
58
59
  Spacing roles can replace a literal only when they express the same layout role. The current remediations verify unchanged geometry plus actual token intervention for controls and collection layouts. Border widths, font sizes, fixed geometry and touch targets are not automatically spacing-token candidates. A `px` census therefore measures literals, not defects.
59
60
 
package/docs/doctrine.md CHANGED
@@ -42,7 +42,7 @@ Deep checks, never surface spot-checks. Cover the **whole set and every relevant
42
42
  | Language | Vietnamese-first; every UI string ships an EN + VN pair |
43
43
  | Accessibility floor | APCA Lc ≥ 75 body text; focus rings never removed; ≥ 44px touch targets |
44
44
  | Axes | Theme × Element × Language × Style (independent) |
45
- | Style pack | liquid-glass (sole pack; absent ≡ default) |
45
+ | Style pack | liquid-glass (default; absent ≡ default) · matte-paper |
46
46
 
47
47
  One accent per surface. Semantic statuses and the composite focus indicator (text-primary contour + ochre halo) are never elemental. Lumi stays golden in every element.
48
48
 
package/docs/four-axes.md CHANGED
@@ -4,8 +4,8 @@ The design system exposes four **independent** axes — the same switches in thi
4
4
 
5
5
  1. **Theme** — `data-theme` — light (default) · dark · **system** (OS `prefers-color-scheme`)
6
6
  2. **Element** — `data-cs-element` (+ optional `data-cs-variant`) — Ngũ Hành product identity: Kim · Mộc · Thủy · Hỏa · Thổ, the packs declared by the [current catalog](reference-catalog.json) in the Element toolbar (same set as **Foundations/Elements**, Atomic View, and template EL maps)
7
- 3. **Language** — `lang` — `en` · `vi` (see **I18n**)
8
- 4. **Style** — `data-cs-style` — sole pack today: `liquid-glass` (absent ≡ liquid-glass)
7
+ 3. **Language** — `lang` — `vi` (default) · `en` (see **I18n**)
8
+ 4. **Style** — `data-cs-style` — `liquid-glass` (default; absent ≡ liquid-glass) · `matte-paper` (opaque crisp paper surfaces)
9
9
 
10
10
  State them on a container for components that consume these scopes. Template support is declared per template in `docs/reference-catalog.json` (published counts); static print documents, UI kits and fixed-language collateral have documented boundaries. Language changes also require translated content and a renderer that selects it:
11
11
 
@@ -33,4 +33,4 @@ Storybook defaults: `light · tho · vi · liquid-glass`.
33
33
  - Don't remap semantic status colours or the Ochre focus halo per element
34
34
  - Don't mix two element accents as primary + secondary (gradient wash along Tương sinh only)
35
35
  - Don't inline one-language UI chrome in components
36
- - Don't invent a second Style pack without the Expansion Rule checklist
36
+ - Don't invent an unreviewed Style pack without the Expansion Rule checklist
@@ -49,7 +49,7 @@ Benchmark principles (WCAG · APCA · OKLCH · DTCG · CDS doctrine + style expa
49
49
  | Template language parity | `_audit/template-lang-parity.html` | Static source scan of all 85 `.dc.html`: en/vi hole-map key sets identical and non-empty (21 map templates); `sc-if` `isEN`/`isVN` branches paired (24 branch templates); every `language`-tweak template has a bilingual mechanism; EN-leak lexicon (Unsubscribe · View in browser · Preferences · All rights reserved · Manage subscription · Sent with) never appears outside `isEN` guards / the `en` map. VN-first stacked instruments (38 `vn-*` + 3 `doc-*`) are leak-exempt by design — both languages always render | 0 key drifts, 0 unpaired branches, 0 leaks (`__langparity`) | Hard | Fast board CI |
50
50
  | APCA dark packs | `_audit/apca-dark-preview.html` | All 15 element×variant packs hold their APCA targets in dark (bright-as-text ≥ 75, accent UI ≥ 60, ink-on-accent ≥ 75, ink-on-tint ≥ 75) | 0 current failures (`__apcaPreview.currentFail === 0`) | Hard | Fast board CI |
51
51
  | Element geometry | `_audit/element-geometry.html` | Soft/middle/deep intensity sync across five elements; variant distinctness; light↔dark hue identity; Thổ middle pins logo ochre; packs generated from seeds | `__elementgeometry.pass` | Hard | Fast board CI |
52
- | Style contract | `_audit/style-contract.html` | Style axis allowlist: sole pack `liquid-glass` (absent ≡ default); `styles.css` imports `tokens/styles.css`; `--cs-style-pack` resolves; no unknown `data-cs-style` in scanned sources | `__stylecontract.pass` | Hard | Fast board CI |
52
+ | Style contract | `_audit/style-contract.html` | Style axis allowlist: `liquid-glass` (default; absent ≡ default) and `matte-paper`; `styles.css` imports `tokens/styles.css`; `--cs-style-pack` resolves for both; no unknown `data-cs-style` in scanned sources | `__stylecontract.pass` | Hard | Fast board CI |
53
53
  | Visual baselines | `_audit/visual-diff.html` | Template baselines exist and are loadable for side-by-side / overlay comparison | Baselines present; drift judged by eye (`__visualdiff`) | Advisory | Fast board CI |
54
54
  | Component baselines | `_audit/component-visual-diff.html` | 12 curated component crops anchor the atomic tiers for visual comparison | Crops render + baselines present (`__componentVisualDiff`) | Advisory | Fast board CI |
55
55
  | Component state paint | `_audit/component-state-paint.html` | Primary, secondary, ghost and danger buttons, an open dialog, an open menu, a field error and a selected data row paint the authored light and dark colors. Channel delta uses `PIXEL_CHANNEL_TOLERANCE` from the pixel contract. The 15 Linux page PNGs stay the pixel-diff set. | `__statepaint.pass` | Hard | Fast board CI + three-engine unit test |
@@ -160,3 +160,5 @@ The packed-assets check parses every packed JS/CJS/MJS/JSX file for literal impo
160
160
  Packed HTML inline scripts are also scanned when their type is absent, `module`, `text/javascript`, `application/javascript`, `text/ecmascript`, `application/ecmascript`, `text/babel` or `text/jsx`. Data and other script types are excluded. Inline module paths resolve relative to the HTML file. Missing-import and invalid-syntax probes must fail; JSON data blocks must remain unparsed. This scans dependency syntax without executing the inline programs or certifying every runtime resource.
161
161
 
162
162
  `npm run test:font-rendering` uses Chromium platform-font inspection to reject system fallback for the defined Vietnamese repertoire in NFC and NFD forms. It is part of `test:unit`. The D82 font-subset repair passes the defined NFC/NFD repertoire on both source and flattened stylesheets, with no system fallback in the Chromium fixture. This does not certify every Unicode character, native platform or human visual acceptance. Static cmap coverage and `document.fonts.ready` are not sufficient rendering proof; do not normalize caller data silently to bypass the gate.
163
+
164
+ `npm run test:audit-regression` (`node _audit/ci/verify-audit-benchmarks-browser.mjs`) runs headless Chromium across `_audit/ci/fixtures/benchmark-20d.html`, `_audit/ci/fixtures/benchmark-baseline.html`, and `_audit/ci/fixtures/benchmark-gen2.html` using shared assertions in `_audit/ci/lib/benchmark-checks.mjs`. It verifies **129/129** checks across 20 dimensions (`D1`–`D20`) at **10.0 / 10**, **64/64** baseline checks at **10.0 / 10**, **192/192** cells (`≥ 3.0:1`) across the 32×6 non-text contrast matrix, and **3/3** Generation-2 stress-test product screens with **0 watch** items. To extend the benchmark after internal reviews or external AI evaluations (Google Stitch / Claude Design), add new assertions to `_audit/ci/lib/benchmark-checks.mjs` and remove temporary external artifacts once verified.
@@ -2,9 +2,9 @@
2
2
  "schemaVersion": 1,
3
3
  "generator": {
4
4
  "path": "scripts/generate-reference-catalog.mjs",
5
- "sha256": "197bed9972eeb93eb0119dd38c5aa180a0290b3acd16cc1b957f438fd3dadc58"
5
+ "sha256": "7db24f51d6cd06ee6fe001a8972df059bf559c01daf984461d317516c69d1def"
6
6
  },
7
- "version": "2.8.0",
7
+ "version": "2.9.0",
8
8
  "interpretation": "The document inventory covers Git-listed Markdown and llms.txt; HTML count surfaces are tracked separately. Audience follows the website publication policy, not npm membership. Source paths locate repository evidence and need not all be packaged. Roles describe source routing and audience, not approval, factual freshness of every sentence, translation quality or capability certification.",
9
9
  "countScope": "Counts describe declared inventory only. Declared language/theme/boolean controls are inventory facts, not proof of complete content, working behavior or every supported state; token declarations and typed base values are distinct counts.",
10
10
  "counts": {
@@ -18,7 +18,7 @@
18
18
  "componentSourceFiles": 107,
19
19
  "coExports": 18,
20
20
  "cards": 58,
21
- "publicTokenDeclarations": 391,
21
+ "publicTokenDeclarations": 392,
22
22
  "typedBaseTokens": 197,
23
23
  "templatesWithLanguageControl": 44,
24
24
  "templatesWithoutLanguageControl": 41,
@@ -29,24 +29,24 @@
29
29
  },
30
30
  "sourceHashes": {
31
31
  "_audit/visual-diff.html": "fd344cf31f0aa4130dddec2a99dca5ef60d9d08025b5dc2b4b729a1d388c5bb8",
32
- "_ds_manifest.json": "e7307c53e9b0995b1aec89ddda00abed4674a6f11790ac5c9e89e34f1730fb61",
32
+ "_ds_manifest.json": "3f2c5cbf7b5673c94f51927ad38ed6fe2eff8d7ab11319773b84fef5634238d8",
33
33
  "scripts/public-site-policy.json": "8304a323a8b4cb7d8e571694086975cf88697c220416149ff156568ea7d80942",
34
- "templates/app-shell/AppShell.dc.html": "f71017a26f12b71d9e653dff79635ed14d5eb4a3dac9c5ce095188c537b858e3",
34
+ "templates/app-shell/AppShell.dc.html": "db367cea935919c4ad90d7fdb3513309d04bebb575269ee756b2be6f074e82b7",
35
35
  "templates/article/Article.dc.html": "9b2ed3af604ac9e552f33bc922ec7dd2659b786dcb624cb491f7a437658adb2f",
36
36
  "templates/auth/Auth.dc.html": "ab6fb52740dbda804c9963cd2b63aa7d482c4b3cd2fa87b9a7f0c20ab2ef1e64",
37
- "templates/bod-deck/BodDeck.dc.html": "83a2ea61af568fef5600a002bf646af8fda7467e83778439524edc51514b2431",
38
- "templates/bod-investor-update/BodInvestorUpdate.dc.html": "3d62bb7dc28fd362ba9b2d28fb37829b5c0a64019bb158aa3cccf56e32e87449",
37
+ "templates/bod-deck/BodDeck.dc.html": "ce30fa21a80ab6eb6f198e16f13c928d1a9c8ab73883b83fcd53d087b9423fb4",
38
+ "templates/bod-investor-update/BodInvestorUpdate.dc.html": "88c598968753b234520386d60124fdda2b28692b4c27fd6b096b9c36c0fe2817",
39
39
  "templates/bod-memo/BodMemo.dc.html": "0b02a967a853e66fc782995697abfdf847270c37182c661b68777024832ed8a2",
40
40
  "templates/bod-minutes/BodMinutes.dc.html": "b1e9cdc7138fa9ed68db3abdb85def196827fd23a8d88de17adacd619c9eb3ab",
41
41
  "templates/bod-report/BodReport.dc.html": "933135a28361c29630e7d956a1b40ac7db90877f17f3b2d5756c88b8df9911d6",
42
42
  "templates/bod-resolution/BodResolution.dc.html": "556de5898071083404ad3dd4cfa26affc8e65b63b4bff05875e9c412e4285c98",
43
43
  "templates/culture-event-invite/CultureEventInvite.dc.html": "3558f19ef07c7b1396ffe4bd1a3a4b5bc8045f7b3bcaa81dccd5b1c5ee74f11c",
44
- "templates/dashboard/Dashboard.dc.html": "e39de5367d3b0309a9c29ad61ab379707b327fb71cb19d1fe87f8e7b9ab64f6d",
44
+ "templates/dashboard/Dashboard.dc.html": "abf3996bfbaaf7deb62e5ce0a6958c16b73db630237be8135f9838436bec76aa",
45
45
  "templates/delivery-change-note/DeliveryChangeNote.dc.html": "735d445393d900cbd5778cd1ff373fd76f661d081737b073922ca771009d330a",
46
46
  "templates/delivery-kickoff/DeliveryKickoff.dc.html": "a801d7af5c90f3856a827c1d30f6d01d4c3e2e9f41d9e05ea6d6426c3e67d9f6",
47
- "templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html": "2463e404a33208fca14222473d571c58e096ca6b97cfa1de788bd1490299d011",
47
+ "templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html": "05de5ad0d238f840edb63c6b014bd2b03ebe7f8598f8bdf83560949178434047",
48
48
  "templates/delivery-runbook/DeliveryRunbook.dc.html": "d90b886e3b2466d21fd253e446446c0e48651d308bfb136f3828b1252cedf2d0",
49
- "templates/delivery-status-email/DeliveryStatusEmail.dc.html": "fed3c9b079806e96a2db546ffb730fe1a89743fef73f77735c6ace53062f6377",
49
+ "templates/delivery-status-email/DeliveryStatusEmail.dc.html": "6734c66af11496ee1d4bd2d3d65e44aaf807e795c3d947cff3db536ef6cfbd3b",
50
50
  "templates/doc-style-guide/DocStyleGuide.dc.html": "2056c6ac47a5fdead465624ead14cabcbd11843cde66e068660b3c3315777efa",
51
51
  "templates/doc-suite-index/DocSuiteIndex.dc.html": "1eb6b888ee3ef6a0577d00dffaba22b5f617938c190e1b2967d474106d9863d8",
52
52
  "templates/doc-templates/DocTemplates.dc.html": "f19141cfd000577756ddcba34f741e0eaf6a91c48361584ba5c69620d6ad633b",
@@ -65,12 +65,12 @@
65
65
  "templates/marketing-campaign-brief/MarketingCampaignBrief.dc.html": "3f6b4e1e3c5eea9324b5cb282f10e6a7e64437fbbd73549b5c2aeb22d6bbafe6",
66
66
  "templates/marketing-case-study/MarketingCaseStudy.dc.html": "31f200f4c58c7c6a1d520a6b5c5729fb365a004ff545dc4b8b8d7222e86235fd",
67
67
  "templates/marketing-launch/MarketingLaunch.dc.html": "80b1d3d9f5bdb5fd78e01c0f074d37500ae91591f429c887ab809a052ae90987",
68
- "templates/marketing-newsletter/MarketingNewsletter.dc.html": "b87b3d465883dbdcb3325572caf3a025b1396788b1995e6f42193de7bfeabfbc",
69
- "templates/marketing-page/MarketingPage.dc.html": "54fa23a31a7037210672fe43548ff07229d58faf818ef90afcf5898d1d50db83",
68
+ "templates/marketing-newsletter/MarketingNewsletter.dc.html": "e4d585ae9e5a59619e19497b5bab1d738a218a91dbb8e4c3cca250c681dfdcb4",
69
+ "templates/marketing-page/MarketingPage.dc.html": "7fecead46d1c300013885f0e8b0e247379858c70c52e514560185854d487660c",
70
70
  "templates/marketing-press-release/MarketingPressRelease.dc.html": "d0bf78d1eed5a213b7967070d206e40f5816765a4d1c314a1e83a1dbd41b0d5c",
71
71
  "templates/marketing-social-kit/MarketingSocialKit.dc.html": "8d86218ee66b4af6d8a97acdfca0ede0224ee43bded83d32cfb4edb869f71f57",
72
72
  "templates/sales-one-pager/SalesOnePager.dc.html": "ceac39dd8e3ccf39c0db695a6f7f15de41736b7e2f794d5ecd5a3c4b379010f1",
73
- "templates/sales-proposal-deck/SalesProposalDeck.dc.html": "1ce3b5aa09d263b7fdab25002ed6975bafff9b503d2e58d3b0cbfe0d7f023fff",
73
+ "templates/sales-proposal-deck/SalesProposalDeck.dc.html": "5669ae23ec2e63eff285ff9fe83fd2df0defaca8124f3eb78b2925b0cae345bf",
74
74
  "templates/settings/Settings.dc.html": "033c391850a03f8d7103de1d50b9fc377e1a9b689721900b74fbd59f9ddea4af",
75
75
  "templates/slide-deck/SlideDeck.dc.html": "c87f1551b8704b6486e81d38703a55fee7ea51711b55b04dbc263ec947a873e1",
76
76
  "templates/team-meeting-agenda/TeamMeetingAgenda.dc.html": "69668851b61e0b21e3710dccac02772402b69dd00a73ede29b3c9981a2529ce1",
@@ -116,20 +116,20 @@
116
116
  "templates/vn-total-rewards-appendix/VnTotalRewardsAppendix.dc.html": "ee941a6d26aa525bba779015ca01f4bdb7246571db2c3558499d7bc2fee3c2aa",
117
117
  "templates/vn-training-commitment/VnTrainingCommitment.dc.html": "49b2b4459bf2a900ddfafe679b6f3b088c78a31f611ae76dc3ac276e05a14c46",
118
118
  "templates/vn-travel-expense-policy/VnTravelExpensePolicy.dc.html": "1e585bd53ec6fb41322082bddfb7eed4ac811bfabb1ad2d639b9babba6c0e212",
119
- "tokens/tokens.dtcg.json": "6da8cd3627ad355d6a80364cf9d801524c0b1ca2760ee1ce0827bccdf2333b5e"
119
+ "tokens/tokens.dtcg.json": "950a88555e6e4676c49cd9a3c61d0c425d0c079cb760ffcf8cc1ba62bad7f6f0"
120
120
  },
121
121
  "documents": [
122
122
  {
123
123
  "path": "CONTRIBUTING.md",
124
124
  "audience": "documentation",
125
125
  "role": "operator_guide",
126
- "sha256": "e27a589f7a7d33523ee0673632dbe51911633f31889d395d6180548fd43988bb"
126
+ "sha256": "62f8f41df557cf2eac0c766f6ca0d6b3a3d0c84d39ec20d5bc0f69c2deeb8bfd"
127
127
  },
128
128
  {
129
129
  "path": "DESIGN.md",
130
130
  "audience": "documentation",
131
131
  "role": "generated_reference",
132
- "sha256": "1ac7639da6b5aa7ec5230e5a1ee369af9472c048065b01265cfd594426c04afa"
132
+ "sha256": "eab54110517ceb53ca59b4370067f13ef210f3f39fa9d053e0b02ae848b0a76e"
133
133
  },
134
134
  {
135
135
  "path": "MAINTAINERS.md",
@@ -141,19 +141,19 @@
141
141
  "path": "README.md",
142
142
  "audience": "documentation",
143
143
  "role": "human_orientation",
144
- "sha256": "29f08654370d2c21d7e2066800beb84f0c7a20699cfd9f997eb9ca51ed850568"
144
+ "sha256": "608db636047b0a4f4de5b60090cd858d75ff2974bc72053c22957aaf55b49f3c"
145
145
  },
146
146
  {
147
147
  "path": "SECURITY.md",
148
148
  "audience": "documentation",
149
149
  "role": "security_reporting_policy",
150
- "sha256": "cdca194f01ad5e8d31c54167b6908bffab2aec1e1790fcb7f42cc1489bbc6952"
150
+ "sha256": "3616b4eb7e3cc2da3141f9b76abdf1e81bf5dd0682f51e63d7f959ccadfec452"
151
151
  },
152
152
  {
153
153
  "path": "SKILL.md",
154
154
  "audience": "documentation",
155
155
  "role": "shared_agent_router",
156
- "sha256": "06985c04697f9cf0757454ae6f29711503c64b21259ee0eace7e3148a0081393"
156
+ "sha256": "6dc6b374288d95ca169ac1852102ce2d8662c9c5beda2374cd03c5b73697599d"
157
157
  },
158
158
  {
159
159
  "path": "THIRD-PARTY-NOTICES.md",
@@ -165,7 +165,7 @@
165
165
  "path": "_audit/README.md",
166
166
  "audience": "diagnostics",
167
167
  "role": "diagnostic_operator_guide",
168
- "sha256": "fd79f61c852dccb164f4fb8ceceafc8aba6d1d58aaa0521786cedd07ad5f792e"
168
+ "sha256": "686e912d863e62bbf76931af24425802d47efe392d80433806ca19136b768d4a"
169
169
  },
170
170
  {
171
171
  "path": "_audit/baselines/README.md",
@@ -861,7 +861,7 @@
861
861
  "path": "docs/benchmark-rubric.md",
862
862
  "audience": "documentation",
863
863
  "role": "operator_guide",
864
- "sha256": "75608dc7ff42bbba4f0807190f6c5107cd853c9aa86d06d54eb551617f87daf0"
864
+ "sha256": "9511c77838f17ef88fe008783687913b2de8495275ac7bad449205a2048b7f27"
865
865
  },
866
866
  {
867
867
  "path": "docs/browser-support.md",
@@ -915,25 +915,25 @@
915
915
  "path": "docs/consuming.md",
916
916
  "audience": "documentation",
917
917
  "role": "operator_guide",
918
- "sha256": "1ac5ae8b17773a27fbf6010c21872600122d7be6af8723d4e7eb9c298a896190"
918
+ "sha256": "cc4392faa2468341a3a67b3975ed51189d88a35ec0369f1a4a4123be88b3b9fa"
919
919
  },
920
920
  {
921
921
  "path": "docs/contrast-report.md",
922
922
  "audience": "documentation",
923
923
  "role": "generated_measurement",
924
- "sha256": "2eab5bdd1ce84d7256690ab2668d6b3ce77f4ec1380d17dbf199f21c80c5d957"
924
+ "sha256": "cbdb389bc8d710d94add6ab6ce846f5c99feab8529fcd983e528411c3572ef33"
925
925
  },
926
926
  {
927
927
  "path": "docs/conventions.md",
928
928
  "audience": "documentation",
929
929
  "role": "normative_repository_contract",
930
- "sha256": "44a8e41d916e98f74b77dd33b8ba034ea5eeb5056be7f7baafeafd97aae8dd52"
930
+ "sha256": "2676c530fb64765f34e3fae20d67d82e48d1db495ada12065ef4aabbb886716f"
931
931
  },
932
932
  {
933
933
  "path": "docs/decisions.md",
934
934
  "audience": "documentation",
935
935
  "role": "decision_record",
936
- "sha256": "972f7d7299d0968d12b949a4b806434dd7b6b87f165659ca7e24fdd3b3678361"
936
+ "sha256": "67329ad8604c849187b4b71a21ba2509b072e83458d245c10625abf43497ab91"
937
937
  },
938
938
  {
939
939
  "path": "docs/decisions/container-query-migration.md",
@@ -969,19 +969,19 @@
969
969
  "path": "docs/deploy.md",
970
970
  "audience": "documentation",
971
971
  "role": "operator_guide",
972
- "sha256": "021cb650c6bb10aa7e701361fa21d8b2743ee5c1a36680ace32cc8936f6a11df"
972
+ "sha256": "649bfb5a6ed9b90ef4eff95484b3cc276bc0d93f974b8dd46ec089fb544b5ce5"
973
973
  },
974
974
  {
975
975
  "path": "docs/design-styles.md",
976
976
  "audience": "documentation",
977
977
  "role": "operator_guide",
978
- "sha256": "797ed62e44a7850acfacf612d379fe31576330b1c34cc5ccc78d8a535d7c1da7"
978
+ "sha256": "f56de0bd2a6b0f2896b21a26d168646b5eb851269f48fad63abf193a9d58f6cc"
979
979
  },
980
980
  {
981
981
  "path": "docs/doctrine.md",
982
982
  "audience": "documentation",
983
983
  "role": "normative_repository_contract",
984
- "sha256": "25b5c51ba0bb38b8486b625124dcf6b90af8ac97e7518ab2cd92ff10b84eef54"
984
+ "sha256": "bc1a734b83fdb24da396a57099bdb1a5ff5ecb04d4034e98169dd99090c3aca0"
985
985
  },
986
986
  {
987
987
  "path": "docs/figma.md",
@@ -999,7 +999,7 @@
999
999
  "path": "docs/four-axes.md",
1000
1000
  "audience": "documentation",
1001
1001
  "role": "operator_guide",
1002
- "sha256": "ef9d413bfbcaa5a7db967f794d5cb1d06bf04bdf7a4e0f41232afacbe7a11b18"
1002
+ "sha256": "acaf369276c0b9bce5ba8154e2e6468d0d3c255f9bba08bcf3f257d04de56917"
1003
1003
  },
1004
1004
  {
1005
1005
  "path": "docs/guideline-language.md",
@@ -1059,13 +1059,13 @@
1059
1059
  "path": "docs/quality-gates.md",
1060
1060
  "audience": "documentation",
1061
1061
  "role": "operator_guide",
1062
- "sha256": "20c5828e15f22238cbb458c6d5de6ce4fff978082259159dc5bc43cef8204159"
1062
+ "sha256": "c3f607ea450fc81425806dacd8f7585600e7bd52e5fea8025962540a679278af"
1063
1063
  },
1064
1064
  {
1065
1065
  "path": "docs/release-notes.md",
1066
1066
  "audience": "documentation",
1067
1067
  "role": "release_history",
1068
- "sha256": "0f5e128a53adb4d54cfff6d93df5845a7b2a60d5f50bd41dbafedd0f522233e2"
1068
+ "sha256": "7f820fea579d5f6093ceff6c3ccbb72ba317191bf4093addca4842be67e60f07"
1069
1069
  },
1070
1070
  {
1071
1071
  "path": "docs/releasing.md",
@@ -1083,13 +1083,13 @@
1083
1083
  "path": "docs/static-html-reference.md",
1084
1084
  "audience": "documentation",
1085
1085
  "role": "operator_guide",
1086
- "sha256": "793ced224d0631b11739a0a47f6544defc614ffff64870391345cc2e8b10cdf4"
1086
+ "sha256": "c50f9db08602af61b3a9551b9187a73f291075c211ff4b88d0e3d68b5bb0e7f6"
1087
1087
  },
1088
1088
  {
1089
1089
  "path": "docs/storybook.md",
1090
1090
  "audience": "documentation",
1091
1091
  "role": "operator_guide",
1092
- "sha256": "cd91e6eb7145e13dc4c305b1a38a13cf8829e10dbed88bb7fb551c08eb4fbb34"
1092
+ "sha256": "3e9577bd4f4b1d182b5b3525492dc149908799fcc181d8f9ace6d358e3d2bd3e"
1093
1093
  },
1094
1094
  {
1095
1095
  "path": "docs/sync.md",
@@ -1143,7 +1143,7 @@
1143
1143
  "path": "docs/vi/benchmark-rubric.md",
1144
1144
  "audience": "documentation",
1145
1145
  "role": "operator_guide",
1146
- "sha256": "a041a55370111831e580824c3910bbd7034004eafd30274d57c0248c0b837762"
1146
+ "sha256": "ce05fd9301e60f8ed7ccaa36de8d0bb91172a740d151a586cff7ced1b9160a86"
1147
1147
  },
1148
1148
  {
1149
1149
  "path": "docs/vi/browser-support.md",
@@ -1197,73 +1197,73 @@
1197
1197
  "path": "docs/vi/consuming.md",
1198
1198
  "audience": "documentation",
1199
1199
  "role": "operator_guide",
1200
- "sha256": "f7aa7381edbee6b40763df7b2412e21519a857f78a4245dbabb26c6e76d5cc7f"
1200
+ "sha256": "9ed3696d8b15bd2db3003e0bd26f4f3d631cdcedc4073b9863ecb120b90f6ed4"
1201
1201
  },
1202
1202
  {
1203
1203
  "path": "docs/vi/contrast-report.md",
1204
1204
  "audience": "documentation",
1205
1205
  "role": "generated_measurement",
1206
- "sha256": "de42df2eab9e36c68df06ef3282b11f5a01f7126c74e65777632998b770989b2"
1206
+ "sha256": "060ceb3333f602c0b17bf6f40bc01cb1de5fe7181751f75df5845f3a1e3ac9d7"
1207
1207
  },
1208
1208
  {
1209
1209
  "path": "docs/vi/conventions.md",
1210
1210
  "audience": "documentation",
1211
1211
  "role": "normative_repository_contract",
1212
- "sha256": "ae4e246395efc51647399cd8effaa516c7245687f88a7627c02ae07833100ecf"
1212
+ "sha256": "2e76aad8242a9452b924a13cf515cb6f3796af47ef0e366289daf217eb60951d"
1213
1213
  },
1214
1214
  {
1215
1215
  "path": "docs/vi/decisions.md",
1216
1216
  "audience": "documentation",
1217
1217
  "role": "decision_record",
1218
- "sha256": "769683b68b108afe6df5c94fed10bdce406106352136bb35c40aa386f5afd71b"
1218
+ "sha256": "ab7d99bf0d1e1c28128f6f4ca57a94b9ad184a0384c985fa772862e020f56444"
1219
1219
  },
1220
1220
  {
1221
1221
  "path": "docs/vi/deploy.md",
1222
1222
  "audience": "documentation",
1223
1223
  "role": "operator_guide",
1224
- "sha256": "a881f1604d01eac8f9d72068f1b330f68262ef7ffb924f2650a92da159ce71ed"
1224
+ "sha256": "a112c4d68deb617e931aef4562ec9ba9fe92ef02e647febec89c1c5361622a0d"
1225
1225
  },
1226
1226
  {
1227
1227
  "path": "docs/vi/design-styles.md",
1228
1228
  "audience": "documentation",
1229
1229
  "role": "operator_guide",
1230
- "sha256": "81dca5bd1d253ead246877464db40fc986578fc1c0eb74da23ddee6003a697d5"
1230
+ "sha256": "8dd8ffe836e22fe65e0ada19a3462f2f2996e348f931df7cff971bcfdbd98d3e"
1231
1231
  },
1232
1232
  {
1233
1233
  "path": "docs/vi/doctrine.md",
1234
1234
  "audience": "documentation",
1235
1235
  "role": "normative_repository_contract",
1236
- "sha256": "19a41a856ba501e729ea79437e5db5d6090765489caf39b80c81cfefb8dfd6fc"
1236
+ "sha256": "cf3a4b67295ec06c3dd8a5c1779edf718653351504d535afa9c7e20209919c63"
1237
1237
  },
1238
1238
  {
1239
1239
  "path": "docs/vi/entrypoints/CONTRIBUTING.md",
1240
1240
  "audience": "documentation",
1241
1241
  "role": "operator_guide",
1242
- "sha256": "cf7020e45ea9e947a57c836c7ebb1fbf670110753cfd9e9d360652b0bec80e23"
1242
+ "sha256": "05ad04607cf57b60289af516970224b617113c94dc71c629c731a948e9dbf5e7"
1243
1243
  },
1244
1244
  {
1245
1245
  "path": "docs/vi/entrypoints/DESIGN.md",
1246
1246
  "audience": "documentation",
1247
1247
  "role": "generated_reference",
1248
- "sha256": "fda888918b0884c1821f383e7bcaf6a27e52ac719ec6a163fa82acd7612585c3"
1248
+ "sha256": "b0f7682388caa114efba48a88f5c717f69d753a4a203a41d4ae72e90ceb414f1"
1249
1249
  },
1250
1250
  {
1251
1251
  "path": "docs/vi/entrypoints/README.md",
1252
1252
  "audience": "documentation",
1253
1253
  "role": "human_orientation",
1254
- "sha256": "68e3a7a6084f50a47c7cd2fed7bb9b5b37100c9c562689e1de9993f4278a8d2d"
1254
+ "sha256": "8ec5ef169f83465287d67c0aa847c8006ef8c39c2d1b20a9c31ce55d9d7dacce"
1255
1255
  },
1256
1256
  {
1257
1257
  "path": "docs/vi/entrypoints/SKILL.md",
1258
1258
  "audience": "documentation",
1259
1259
  "role": "shared_agent_router",
1260
- "sha256": "ba9d7405c60de8e65731885b808c2b12528bedb18352738f5ba96e86fe10de9e"
1260
+ "sha256": "6ac689453131c995d9fa1c180103daba8aba1827e4761f29d635286af8874fb1"
1261
1261
  },
1262
1262
  {
1263
1263
  "path": "docs/vi/entrypoints/llms.txt",
1264
1264
  "audience": "documentation",
1265
1265
  "role": "discovery_index",
1266
- "sha256": "117ad95dfb4aaab9a8e3fa320051a856b887b8fb29c54248d8a207852c5a86cb"
1266
+ "sha256": "9e1146dbe4f1b10aaef954ece1120e0e1dc9f47110bb2cd282f3ebdbd1df609e"
1267
1267
  },
1268
1268
  {
1269
1269
  "path": "docs/vi/figma.md",
@@ -1281,7 +1281,7 @@
1281
1281
  "path": "docs/vi/four-axes.md",
1282
1282
  "audience": "documentation",
1283
1283
  "role": "operator_guide",
1284
- "sha256": "a986b925f506c13563ee2c7a41248f76e8e7a3dc768faf7eb403f537be05b09c"
1284
+ "sha256": "b0e78931b123f423a06c650d4a431fb6267e1f7b2b7686580208258cef54ccb6"
1285
1285
  },
1286
1286
  {
1287
1287
  "path": "docs/vi/guideline-language.md",
@@ -1341,13 +1341,13 @@
1341
1341
  "path": "docs/vi/quality-gates.md",
1342
1342
  "audience": "documentation",
1343
1343
  "role": "operator_guide",
1344
- "sha256": "35dfa41f38d4317c130b56ce730d27b7b6fb6b37d07a4dd1cec9e90224b5ab0b"
1344
+ "sha256": "3fd3830bce4364b710fe44e0e8fc50ef7bbd575daa8d724a6d48f4e610f1fa8e"
1345
1345
  },
1346
1346
  {
1347
1347
  "path": "docs/vi/release-notes.md",
1348
1348
  "audience": "documentation",
1349
1349
  "role": "release_history",
1350
- "sha256": "13a966aff7935e4ba844d4eaf48fb23e01f2c3364ae3beef1a310a224f985d37"
1350
+ "sha256": "2abf26983ed2bc013cb544fa0e73f49da0778f893b5cdf327e0f800acde5a5c5"
1351
1351
  },
1352
1352
  {
1353
1353
  "path": "docs/vi/releasing.md",
@@ -1365,13 +1365,13 @@
1365
1365
  "path": "docs/vi/static-html-reference.md",
1366
1366
  "audience": "documentation",
1367
1367
  "role": "operator_guide",
1368
- "sha256": "78bb6c4a40145f7698eb213c36f162bb2c522e4b29b8fd7637bce634c64f71fc"
1368
+ "sha256": "b82c5ed4f61db00de53fcc0439a683329233887efaa872f150bad0211f4d2460"
1369
1369
  },
1370
1370
  {
1371
1371
  "path": "docs/vi/storybook.md",
1372
1372
  "audience": "documentation",
1373
1373
  "role": "operator_guide",
1374
- "sha256": "c5d56516c43d03cd267408dd27ef7dd4b83d299614e0adda4ace593d82db5136"
1374
+ "sha256": "34b389cbf7d4d639f9a2f1244d462f883f131e9e56731061ea6c93199b34ab66"
1375
1375
  },
1376
1376
  {
1377
1377
  "path": "docs/vi/sync.md",
@@ -1449,7 +1449,7 @@
1449
1449
  "path": "llms.txt",
1450
1450
  "audience": "documentation",
1451
1451
  "role": "discovery_index",
1452
- "sha256": "aae92ccaa34b0bb078fc56ec82467506e28aa4aa562f65d7ee9aec8599176247"
1452
+ "sha256": "f9602e14741cd10f4c97d5d8d75b9ba7f82ac0527ca2d2ae6cf218b1fdaaa207"
1453
1453
  },
1454
1454
  {
1455
1455
  "path": "templates/email-safe/README.md",