@cyberskill/design 2.7.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 (390) hide show
  1. package/DESIGN.md +8 -8
  2. package/README.md +15 -9
  3. package/SECURITY.md +4 -4
  4. package/SKILL.md +1 -1
  5. package/THIRD-PARTY-NOTICES.md +1 -1
  6. package/VERSION +1 -1
  7. package/_ds_bundle.js +2 -2
  8. package/_ds_bundle.js.map +1 -1
  9. package/_ds_manifest.json +210 -200
  10. package/_esm/cs.mjs +2 -2
  11. package/base/a11y.css +18 -2
  12. package/base/ai.css +2 -2
  13. package/base/collections.css +6 -2
  14. package/base/components.css +107 -20
  15. package/base/controls.css +59 -31
  16. package/base/data.css +17 -5
  17. package/base/feedback.css +8 -0
  18. package/base/forms.css +7 -4
  19. package/base/glass.css +95 -0
  20. package/base/navigation.css +9 -1
  21. package/base/responsive.css +9 -4
  22. package/components/contracts.json +202 -62
  23. package/components/css-index.json +145 -41
  24. package/components/data/data.card.html +1 -1
  25. package/components/prompt-api.json +2 -2
  26. package/components/release-compatibility.json +1 -1
  27. package/components/specifications.json +204 -64
  28. package/components/static-html-reference.json +20 -20
  29. package/dist/esm/build.json +1 -1
  30. package/dist/styles.css +389 -89
  31. package/dist/styles.min.css +1 -1
  32. package/docs/UPSTREAM.md +3 -6
  33. package/docs/benchmark-rubric.md +1 -1
  34. package/docs/browser-support.md +1 -1
  35. package/docs/component-api.md +1 -1
  36. package/docs/consuming.md +1 -1
  37. package/docs/contrast-report.md +8 -8
  38. package/docs/conventions.md +5 -5
  39. package/docs/decisions.md +3 -3
  40. package/docs/deploy.md +2 -2
  41. package/docs/design-styles.md +9 -8
  42. package/docs/doctrine.md +1 -1
  43. package/docs/four-axes.md +3 -3
  44. package/docs/quality-gates.md +3 -1
  45. package/docs/reference-catalog.json +59 -59
  46. package/docs/release-notes.md +30 -2
  47. package/docs/static-html-reference.md +18 -18
  48. package/docs/storybook.md +1 -1
  49. package/docs/template-inventory.json +35 -35
  50. package/docs/vi/UPSTREAM.md +3 -6
  51. package/docs/vi/benchmark-rubric.md +1 -1
  52. package/docs/vi/browser-support.md +1 -1
  53. package/docs/vi/component-api.md +1 -1
  54. package/docs/vi/consuming.md +1 -1
  55. package/docs/vi/contrast-report.md +8 -8
  56. package/docs/vi/conventions.md +5 -5
  57. package/docs/vi/decisions.md +3 -3
  58. package/docs/vi/deploy.md +2 -2
  59. package/docs/vi/design-styles.md +9 -8
  60. package/docs/vi/doctrine.md +1 -1
  61. package/docs/vi/entrypoints/CONTRIBUTING.md +9 -2
  62. package/docs/vi/entrypoints/DESIGN.md +8 -8
  63. package/docs/vi/entrypoints/README.md +15 -9
  64. package/docs/vi/entrypoints/SKILL.md +1 -1
  65. package/docs/vi/entrypoints/llms.txt +1 -1
  66. package/docs/vi/four-axes.md +3 -3
  67. package/docs/vi/quality-gates.md +3 -1
  68. package/docs/vi/release-notes.md +30 -2
  69. package/docs/vi/static-html-reference.md +18 -18
  70. package/docs/vi/storybook.md +1 -1
  71. package/guidance/agent-contract.json +3 -3
  72. package/guidelines/atomic-view.html +7 -7
  73. package/guidelines/brand-imagery.html +1 -1
  74. package/guidelines/colors-surfaces.html +4 -4
  75. package/guidelines/colors-text.html +4 -4
  76. package/guidelines/elements-components.html +3 -3
  77. package/guidelines/elements-concept.html +1 -1
  78. package/guidelines/guideline-language.js +1 -1
  79. package/guidelines/motion.html +4 -4
  80. package/guidelines/responsive-bilingual.html +4 -4
  81. package/llms.txt +1 -1
  82. package/package.json +11 -10
  83. package/styles/components/manifest.json +184 -140
  84. package/styles.layered.css +245 -59
  85. package/styles.layered.provenance.json +16 -16
  86. package/templates/_vendor/doc-export.js +8 -1
  87. package/templates/ai-cluster-demo.html +2 -2
  88. package/templates/app-shell/AppShell.dc.html +2 -2
  89. package/templates/bod-deck/BodDeck.dc.html +3 -3
  90. package/templates/bod-investor-update/BodInvestorUpdate.dc.html +1 -1
  91. package/templates/dashboard/Dashboard.dc.html +2 -2
  92. package/templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html +2 -2
  93. package/templates/delivery-status-email/DeliveryStatusEmail.dc.html +1 -1
  94. package/templates/email/Email-VN-standalone.html +2 -2
  95. package/templates/email-safe/email-announcement.html +5 -5
  96. package/templates/email-safe/email-dunning.html +5 -5
  97. package/templates/email-safe/email-investor.html +5 -5
  98. package/templates/email-safe/email-launch.html +5 -5
  99. package/templates/email-safe/email-newsletter.html +6 -6
  100. package/templates/email-safe/email-status.html +5 -5
  101. package/templates/email-safe/email-transactional.html +5 -5
  102. package/templates/kitchen-sink.html +10 -6
  103. package/templates/marketing-newsletter/MarketingNewsletter.dc.html +4 -4
  104. package/templates/marketing-page/MarketingPage.dc.html +4 -2
  105. package/templates/playground.html +5 -4
  106. package/templates/sales-proposal-deck/SalesProposalDeck.dc.html +5 -5
  107. package/tokens/colors.css +1 -1
  108. package/tokens/declarations.json +1851 -1355
  109. package/tokens/element-seeds.json +1 -1
  110. package/tokens/elements.css +40 -10
  111. package/tokens/elevation.css +2 -2
  112. package/tokens/modes/dark__default__comfortable__high.dtcg.json +1 -1
  113. package/tokens/modes/dark__default__comfortable__standard.dtcg.json +1 -1
  114. package/tokens/modes/dark__default__compact__high.dtcg.json +1 -1
  115. package/tokens/modes/dark__default__compact__standard.dtcg.json +1 -1
  116. package/tokens/modes/dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  117. package/tokens/modes/dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  118. package/tokens/modes/dark__hoa-lava__compact__high.dtcg.json +1 -1
  119. package/tokens/modes/dark__hoa-lava__compact__standard.dtcg.json +1 -1
  120. package/tokens/modes/dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  121. package/tokens/modes/dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  122. package/tokens/modes/dark__hoa-plasma__compact__high.dtcg.json +1 -1
  123. package/tokens/modes/dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  124. package/tokens/modes/dark__hoa__comfortable__high.dtcg.json +1 -1
  125. package/tokens/modes/dark__hoa__comfortable__standard.dtcg.json +1 -1
  126. package/tokens/modes/dark__hoa__compact__high.dtcg.json +1 -1
  127. package/tokens/modes/dark__hoa__compact__standard.dtcg.json +1 -1
  128. package/tokens/modes/dark__kim-steel__comfortable__high.dtcg.json +1 -1
  129. package/tokens/modes/dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  130. package/tokens/modes/dark__kim-steel__compact__high.dtcg.json +1 -1
  131. package/tokens/modes/dark__kim-steel__compact__standard.dtcg.json +1 -1
  132. package/tokens/modes/dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  133. package/tokens/modes/dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  134. package/tokens/modes/dark__kim-titanium__compact__high.dtcg.json +1 -1
  135. package/tokens/modes/dark__kim-titanium__compact__standard.dtcg.json +1 -1
  136. package/tokens/modes/dark__kim__comfortable__high.dtcg.json +1 -1
  137. package/tokens/modes/dark__kim__comfortable__standard.dtcg.json +1 -1
  138. package/tokens/modes/dark__kim__compact__high.dtcg.json +1 -1
  139. package/tokens/modes/dark__kim__compact__standard.dtcg.json +1 -1
  140. package/tokens/modes/dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  141. package/tokens/modes/dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  142. package/tokens/modes/dark__moc-bamboo__compact__high.dtcg.json +1 -1
  143. package/tokens/modes/dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  144. package/tokens/modes/dark__moc-forest__comfortable__high.dtcg.json +1 -1
  145. package/tokens/modes/dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  146. package/tokens/modes/dark__moc-forest__compact__high.dtcg.json +1 -1
  147. package/tokens/modes/dark__moc-forest__compact__standard.dtcg.json +1 -1
  148. package/tokens/modes/dark__moc__comfortable__high.dtcg.json +1 -1
  149. package/tokens/modes/dark__moc__comfortable__standard.dtcg.json +1 -1
  150. package/tokens/modes/dark__moc__compact__high.dtcg.json +1 -1
  151. package/tokens/modes/dark__moc__compact__standard.dtcg.json +1 -1
  152. package/tokens/modes/dark__tho-clay__comfortable__high.dtcg.json +1 -1
  153. package/tokens/modes/dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  154. package/tokens/modes/dark__tho-clay__compact__high.dtcg.json +1 -1
  155. package/tokens/modes/dark__tho-clay__compact__standard.dtcg.json +1 -1
  156. package/tokens/modes/dark__tho-sand__comfortable__high.dtcg.json +1 -1
  157. package/tokens/modes/dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  158. package/tokens/modes/dark__tho-sand__compact__high.dtcg.json +1 -1
  159. package/tokens/modes/dark__tho-sand__compact__standard.dtcg.json +1 -1
  160. package/tokens/modes/dark__tho__comfortable__high.dtcg.json +1 -1
  161. package/tokens/modes/dark__tho__comfortable__standard.dtcg.json +1 -1
  162. package/tokens/modes/dark__tho__compact__high.dtcg.json +1 -1
  163. package/tokens/modes/dark__tho__compact__standard.dtcg.json +1 -1
  164. package/tokens/modes/dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  165. package/tokens/modes/dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  166. package/tokens/modes/dark__thuy-mist__compact__high.dtcg.json +1 -1
  167. package/tokens/modes/dark__thuy-mist__compact__standard.dtcg.json +1 -1
  168. package/tokens/modes/dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  169. package/tokens/modes/dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  170. package/tokens/modes/dark__thuy-ocean__compact__high.dtcg.json +1 -1
  171. package/tokens/modes/dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  172. package/tokens/modes/dark__thuy__comfortable__high.dtcg.json +1 -1
  173. package/tokens/modes/dark__thuy__comfortable__standard.dtcg.json +1 -1
  174. package/tokens/modes/dark__thuy__compact__high.dtcg.json +1 -1
  175. package/tokens/modes/dark__thuy__compact__standard.dtcg.json +1 -1
  176. package/tokens/modes/index.json +275 -275
  177. package/tokens/modes/light__default__comfortable__high.dtcg.json +1 -1
  178. package/tokens/modes/light__default__comfortable__standard.dtcg.json +1 -1
  179. package/tokens/modes/light__default__compact__high.dtcg.json +1 -1
  180. package/tokens/modes/light__default__compact__standard.dtcg.json +1 -1
  181. package/tokens/modes/light__hoa-lava__comfortable__high.dtcg.json +1 -1
  182. package/tokens/modes/light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  183. package/tokens/modes/light__hoa-lava__compact__high.dtcg.json +1 -1
  184. package/tokens/modes/light__hoa-lava__compact__standard.dtcg.json +1 -1
  185. package/tokens/modes/light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  186. package/tokens/modes/light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  187. package/tokens/modes/light__hoa-plasma__compact__high.dtcg.json +1 -1
  188. package/tokens/modes/light__hoa-plasma__compact__standard.dtcg.json +1 -1
  189. package/tokens/modes/light__hoa__comfortable__high.dtcg.json +1 -1
  190. package/tokens/modes/light__hoa__comfortable__standard.dtcg.json +1 -1
  191. package/tokens/modes/light__hoa__compact__high.dtcg.json +1 -1
  192. package/tokens/modes/light__hoa__compact__standard.dtcg.json +1 -1
  193. package/tokens/modes/light__kim-steel__comfortable__high.dtcg.json +1 -1
  194. package/tokens/modes/light__kim-steel__comfortable__standard.dtcg.json +1 -1
  195. package/tokens/modes/light__kim-steel__compact__high.dtcg.json +1 -1
  196. package/tokens/modes/light__kim-steel__compact__standard.dtcg.json +1 -1
  197. package/tokens/modes/light__kim-titanium__comfortable__high.dtcg.json +1 -1
  198. package/tokens/modes/light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  199. package/tokens/modes/light__kim-titanium__compact__high.dtcg.json +1 -1
  200. package/tokens/modes/light__kim-titanium__compact__standard.dtcg.json +1 -1
  201. package/tokens/modes/light__kim__comfortable__high.dtcg.json +1 -1
  202. package/tokens/modes/light__kim__comfortable__standard.dtcg.json +1 -1
  203. package/tokens/modes/light__kim__compact__high.dtcg.json +1 -1
  204. package/tokens/modes/light__kim__compact__standard.dtcg.json +1 -1
  205. package/tokens/modes/light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  206. package/tokens/modes/light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  207. package/tokens/modes/light__moc-bamboo__compact__high.dtcg.json +1 -1
  208. package/tokens/modes/light__moc-bamboo__compact__standard.dtcg.json +1 -1
  209. package/tokens/modes/light__moc-forest__comfortable__high.dtcg.json +1 -1
  210. package/tokens/modes/light__moc-forest__comfortable__standard.dtcg.json +1 -1
  211. package/tokens/modes/light__moc-forest__compact__high.dtcg.json +1 -1
  212. package/tokens/modes/light__moc-forest__compact__standard.dtcg.json +1 -1
  213. package/tokens/modes/light__moc__comfortable__high.dtcg.json +1 -1
  214. package/tokens/modes/light__moc__comfortable__standard.dtcg.json +1 -1
  215. package/tokens/modes/light__moc__compact__high.dtcg.json +1 -1
  216. package/tokens/modes/light__moc__compact__standard.dtcg.json +1 -1
  217. package/tokens/modes/light__tho-clay__comfortable__high.dtcg.json +1 -1
  218. package/tokens/modes/light__tho-clay__comfortable__standard.dtcg.json +1 -1
  219. package/tokens/modes/light__tho-clay__compact__high.dtcg.json +1 -1
  220. package/tokens/modes/light__tho-clay__compact__standard.dtcg.json +1 -1
  221. package/tokens/modes/light__tho-sand__comfortable__high.dtcg.json +1 -1
  222. package/tokens/modes/light__tho-sand__comfortable__standard.dtcg.json +1 -1
  223. package/tokens/modes/light__tho-sand__compact__high.dtcg.json +1 -1
  224. package/tokens/modes/light__tho-sand__compact__standard.dtcg.json +1 -1
  225. package/tokens/modes/light__tho__comfortable__high.dtcg.json +1 -1
  226. package/tokens/modes/light__tho__comfortable__standard.dtcg.json +1 -1
  227. package/tokens/modes/light__tho__compact__high.dtcg.json +1 -1
  228. package/tokens/modes/light__tho__compact__standard.dtcg.json +1 -1
  229. package/tokens/modes/light__thuy-mist__comfortable__high.dtcg.json +1 -1
  230. package/tokens/modes/light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  231. package/tokens/modes/light__thuy-mist__compact__high.dtcg.json +1 -1
  232. package/tokens/modes/light__thuy-mist__compact__standard.dtcg.json +1 -1
  233. package/tokens/modes/light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  234. package/tokens/modes/light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  235. package/tokens/modes/light__thuy-ocean__compact__high.dtcg.json +1 -1
  236. package/tokens/modes/light__thuy-ocean__compact__standard.dtcg.json +1 -1
  237. package/tokens/modes/light__thuy__comfortable__high.dtcg.json +1 -1
  238. package/tokens/modes/light__thuy__comfortable__standard.dtcg.json +1 -1
  239. package/tokens/modes/light__thuy__compact__high.dtcg.json +1 -1
  240. package/tokens/modes/light__thuy__compact__standard.dtcg.json +1 -1
  241. package/tokens/modes/system-dark__default__comfortable__high.dtcg.json +1 -1
  242. package/tokens/modes/system-dark__default__comfortable__standard.dtcg.json +1 -1
  243. package/tokens/modes/system-dark__default__compact__high.dtcg.json +1 -1
  244. package/tokens/modes/system-dark__default__compact__standard.dtcg.json +1 -1
  245. package/tokens/modes/system-dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  246. package/tokens/modes/system-dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  247. package/tokens/modes/system-dark__hoa-lava__compact__high.dtcg.json +1 -1
  248. package/tokens/modes/system-dark__hoa-lava__compact__standard.dtcg.json +1 -1
  249. package/tokens/modes/system-dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  250. package/tokens/modes/system-dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  251. package/tokens/modes/system-dark__hoa-plasma__compact__high.dtcg.json +1 -1
  252. package/tokens/modes/system-dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  253. package/tokens/modes/system-dark__hoa__comfortable__high.dtcg.json +1 -1
  254. package/tokens/modes/system-dark__hoa__comfortable__standard.dtcg.json +1 -1
  255. package/tokens/modes/system-dark__hoa__compact__high.dtcg.json +1 -1
  256. package/tokens/modes/system-dark__hoa__compact__standard.dtcg.json +1 -1
  257. package/tokens/modes/system-dark__kim-steel__comfortable__high.dtcg.json +1 -1
  258. package/tokens/modes/system-dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  259. package/tokens/modes/system-dark__kim-steel__compact__high.dtcg.json +1 -1
  260. package/tokens/modes/system-dark__kim-steel__compact__standard.dtcg.json +1 -1
  261. package/tokens/modes/system-dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  262. package/tokens/modes/system-dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  263. package/tokens/modes/system-dark__kim-titanium__compact__high.dtcg.json +1 -1
  264. package/tokens/modes/system-dark__kim-titanium__compact__standard.dtcg.json +1 -1
  265. package/tokens/modes/system-dark__kim__comfortable__high.dtcg.json +1 -1
  266. package/tokens/modes/system-dark__kim__comfortable__standard.dtcg.json +1 -1
  267. package/tokens/modes/system-dark__kim__compact__high.dtcg.json +1 -1
  268. package/tokens/modes/system-dark__kim__compact__standard.dtcg.json +1 -1
  269. package/tokens/modes/system-dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  270. package/tokens/modes/system-dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  271. package/tokens/modes/system-dark__moc-bamboo__compact__high.dtcg.json +1 -1
  272. package/tokens/modes/system-dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  273. package/tokens/modes/system-dark__moc-forest__comfortable__high.dtcg.json +1 -1
  274. package/tokens/modes/system-dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  275. package/tokens/modes/system-dark__moc-forest__compact__high.dtcg.json +1 -1
  276. package/tokens/modes/system-dark__moc-forest__compact__standard.dtcg.json +1 -1
  277. package/tokens/modes/system-dark__moc__comfortable__high.dtcg.json +1 -1
  278. package/tokens/modes/system-dark__moc__comfortable__standard.dtcg.json +1 -1
  279. package/tokens/modes/system-dark__moc__compact__high.dtcg.json +1 -1
  280. package/tokens/modes/system-dark__moc__compact__standard.dtcg.json +1 -1
  281. package/tokens/modes/system-dark__tho-clay__comfortable__high.dtcg.json +1 -1
  282. package/tokens/modes/system-dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  283. package/tokens/modes/system-dark__tho-clay__compact__high.dtcg.json +1 -1
  284. package/tokens/modes/system-dark__tho-clay__compact__standard.dtcg.json +1 -1
  285. package/tokens/modes/system-dark__tho-sand__comfortable__high.dtcg.json +1 -1
  286. package/tokens/modes/system-dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  287. package/tokens/modes/system-dark__tho-sand__compact__high.dtcg.json +1 -1
  288. package/tokens/modes/system-dark__tho-sand__compact__standard.dtcg.json +1 -1
  289. package/tokens/modes/system-dark__tho__comfortable__high.dtcg.json +1 -1
  290. package/tokens/modes/system-dark__tho__comfortable__standard.dtcg.json +1 -1
  291. package/tokens/modes/system-dark__tho__compact__high.dtcg.json +1 -1
  292. package/tokens/modes/system-dark__tho__compact__standard.dtcg.json +1 -1
  293. package/tokens/modes/system-dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  294. package/tokens/modes/system-dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  295. package/tokens/modes/system-dark__thuy-mist__compact__high.dtcg.json +1 -1
  296. package/tokens/modes/system-dark__thuy-mist__compact__standard.dtcg.json +1 -1
  297. package/tokens/modes/system-dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  298. package/tokens/modes/system-dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  299. package/tokens/modes/system-dark__thuy-ocean__compact__high.dtcg.json +1 -1
  300. package/tokens/modes/system-dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  301. package/tokens/modes/system-dark__thuy__comfortable__high.dtcg.json +1 -1
  302. package/tokens/modes/system-dark__thuy__comfortable__standard.dtcg.json +1 -1
  303. package/tokens/modes/system-dark__thuy__compact__high.dtcg.json +1 -1
  304. package/tokens/modes/system-dark__thuy__compact__standard.dtcg.json +1 -1
  305. package/tokens/modes/system-light__default__comfortable__high.dtcg.json +1 -1
  306. package/tokens/modes/system-light__default__comfortable__standard.dtcg.json +1 -1
  307. package/tokens/modes/system-light__default__compact__high.dtcg.json +1 -1
  308. package/tokens/modes/system-light__default__compact__standard.dtcg.json +1 -1
  309. package/tokens/modes/system-light__hoa-lava__comfortable__high.dtcg.json +1 -1
  310. package/tokens/modes/system-light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  311. package/tokens/modes/system-light__hoa-lava__compact__high.dtcg.json +1 -1
  312. package/tokens/modes/system-light__hoa-lava__compact__standard.dtcg.json +1 -1
  313. package/tokens/modes/system-light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  314. package/tokens/modes/system-light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  315. package/tokens/modes/system-light__hoa-plasma__compact__high.dtcg.json +1 -1
  316. package/tokens/modes/system-light__hoa-plasma__compact__standard.dtcg.json +1 -1
  317. package/tokens/modes/system-light__hoa__comfortable__high.dtcg.json +1 -1
  318. package/tokens/modes/system-light__hoa__comfortable__standard.dtcg.json +1 -1
  319. package/tokens/modes/system-light__hoa__compact__high.dtcg.json +1 -1
  320. package/tokens/modes/system-light__hoa__compact__standard.dtcg.json +1 -1
  321. package/tokens/modes/system-light__kim-steel__comfortable__high.dtcg.json +1 -1
  322. package/tokens/modes/system-light__kim-steel__comfortable__standard.dtcg.json +1 -1
  323. package/tokens/modes/system-light__kim-steel__compact__high.dtcg.json +1 -1
  324. package/tokens/modes/system-light__kim-steel__compact__standard.dtcg.json +1 -1
  325. package/tokens/modes/system-light__kim-titanium__comfortable__high.dtcg.json +1 -1
  326. package/tokens/modes/system-light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  327. package/tokens/modes/system-light__kim-titanium__compact__high.dtcg.json +1 -1
  328. package/tokens/modes/system-light__kim-titanium__compact__standard.dtcg.json +1 -1
  329. package/tokens/modes/system-light__kim__comfortable__high.dtcg.json +1 -1
  330. package/tokens/modes/system-light__kim__comfortable__standard.dtcg.json +1 -1
  331. package/tokens/modes/system-light__kim__compact__high.dtcg.json +1 -1
  332. package/tokens/modes/system-light__kim__compact__standard.dtcg.json +1 -1
  333. package/tokens/modes/system-light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  334. package/tokens/modes/system-light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  335. package/tokens/modes/system-light__moc-bamboo__compact__high.dtcg.json +1 -1
  336. package/tokens/modes/system-light__moc-bamboo__compact__standard.dtcg.json +1 -1
  337. package/tokens/modes/system-light__moc-forest__comfortable__high.dtcg.json +1 -1
  338. package/tokens/modes/system-light__moc-forest__comfortable__standard.dtcg.json +1 -1
  339. package/tokens/modes/system-light__moc-forest__compact__high.dtcg.json +1 -1
  340. package/tokens/modes/system-light__moc-forest__compact__standard.dtcg.json +1 -1
  341. package/tokens/modes/system-light__moc__comfortable__high.dtcg.json +1 -1
  342. package/tokens/modes/system-light__moc__comfortable__standard.dtcg.json +1 -1
  343. package/tokens/modes/system-light__moc__compact__high.dtcg.json +1 -1
  344. package/tokens/modes/system-light__moc__compact__standard.dtcg.json +1 -1
  345. package/tokens/modes/system-light__tho-clay__comfortable__high.dtcg.json +1 -1
  346. package/tokens/modes/system-light__tho-clay__comfortable__standard.dtcg.json +1 -1
  347. package/tokens/modes/system-light__tho-clay__compact__high.dtcg.json +1 -1
  348. package/tokens/modes/system-light__tho-clay__compact__standard.dtcg.json +1 -1
  349. package/tokens/modes/system-light__tho-sand__comfortable__high.dtcg.json +1 -1
  350. package/tokens/modes/system-light__tho-sand__comfortable__standard.dtcg.json +1 -1
  351. package/tokens/modes/system-light__tho-sand__compact__high.dtcg.json +1 -1
  352. package/tokens/modes/system-light__tho-sand__compact__standard.dtcg.json +1 -1
  353. package/tokens/modes/system-light__tho__comfortable__high.dtcg.json +1 -1
  354. package/tokens/modes/system-light__tho__comfortable__standard.dtcg.json +1 -1
  355. package/tokens/modes/system-light__tho__compact__high.dtcg.json +1 -1
  356. package/tokens/modes/system-light__tho__compact__standard.dtcg.json +1 -1
  357. package/tokens/modes/system-light__thuy-mist__comfortable__high.dtcg.json +1 -1
  358. package/tokens/modes/system-light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  359. package/tokens/modes/system-light__thuy-mist__compact__high.dtcg.json +1 -1
  360. package/tokens/modes/system-light__thuy-mist__compact__standard.dtcg.json +1 -1
  361. package/tokens/modes/system-light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  362. package/tokens/modes/system-light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  363. package/tokens/modes/system-light__thuy-ocean__compact__high.dtcg.json +1 -1
  364. package/tokens/modes/system-light__thuy-ocean__compact__standard.dtcg.json +1 -1
  365. package/tokens/modes/system-light__thuy__comfortable__high.dtcg.json +1 -1
  366. package/tokens/modes/system-light__thuy__comfortable__standard.dtcg.json +1 -1
  367. package/tokens/modes/system-light__thuy__compact__high.dtcg.json +1 -1
  368. package/tokens/modes/system-light__thuy__compact__standard.dtcg.json +1 -1
  369. package/tokens/native/CSModes.kt +129 -125
  370. package/tokens/native/CSModes.swift +129 -125
  371. package/tokens/native/CSTokens.kt +8 -8
  372. package/tokens/native/CSTokens.swift +8 -8
  373. package/tokens/native/cs_modes.dart +129 -125
  374. package/tokens/native/cs_tokens.dart +8 -8
  375. package/tokens/native/mode-provenance.json +11 -11
  376. package/tokens/provenance.json +6 -6
  377. package/tokens/styles.css +8 -4
  378. package/tokens/tokens.dtcg.json +26 -26
  379. package/tokens/tokens.js +12 -12
  380. package/tokens/tokens.json +11 -11
  381. package/tokens/variables.css +48 -15
  382. package/tokens/viewer.html +1 -0
  383. package/ui_kits/status-hub/login.html +3 -3
  384. package/ui_kits/status-hub/project.html +4 -6
  385. package/ui_kits/status-hub/settings.html +2 -3
  386. package/ui_kits/status-hub/status.css +24 -15
  387. package/ui_kits/website/careers.html +10 -17
  388. package/ui_kits/website/chat.html +14 -3
  389. package/ui_kits/website/site.css +21 -21
  390. package/ui_kits/website/work.html +4 -10
@@ -23,7 +23,7 @@
23
23
  .container,.card{background:#221710!important;color:#f5ead9!important}
24
24
  .raise{background:#2b1e14!important}
25
25
  .ink{color:#f5ead9!important}
26
- .muted{color:#c9b7a3!important}
26
+ .muted{color:#E9D6C2!important}
27
27
  .eyebrow,.footlink{color:#F4BA17!important}
28
28
  }
29
29
  </style>
@@ -49,7 +49,7 @@
49
49
  <p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Your wish is in motion</p>
50
50
  <h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.2;font-weight:bold;color:#45210E;">We've started on your wish, An.</h1>
51
51
  <p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#3d2c1e;">A real person on the team has picked up your request for a faster checkout. We'll share a first shape within one business day — built to ship, built to last.</p>
52
- <p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#6e5a4c;">Until then, you can follow progress on your Status Hub.</p>
52
+ <p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#5E4436;">Until then, you can follow progress on your Status Hub.</p>
53
53
  <!-- Bulletproof button -->
54
54
  <table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
55
55
  <td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
@@ -67,7 +67,7 @@
67
67
  <p class="eyebrow" style="margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:#6E3B0E;">Điều ước của bạn đang được thực hiện</p>
68
68
  <h1 class="h1 ink" style="margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.25;font-weight:bold;color:#45210E;">Chúng tôi đã bắt đầu điều ước của bạn, An.</h1>
69
69
  <p class="ink" style="margin:0 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#3d2c1e;">Một người thật trong đội đã tiếp nhận yêu cầu thanh toán nhanh hơn của bạn. Chúng tôi sẽ gửi bản hình dung đầu tiên trong vòng một ngày làm việc — làm để chạy được, và làm để bền lâu.</p>
70
- <p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#6e5a4c;">Trong lúc chờ, bạn có thể theo dõi tiến độ trên Status Hub của mình.</p>
70
+ <p class="muted" style="margin:0 0 26px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:#5E4436;">Trong lúc chờ, bạn có thể theo dõi tiến độ trên Status Hub của mình.</p>
71
71
  <table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr>
72
72
  <td align="center" bgcolor="#F4BA17" style="border-radius:26px;">
73
73
  <!--[if mso]><v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://cyberskill.world/status" style="height:48px;v-text-anchor:middle;width:250px;" arcsize="54%" strokecolor="#F4BA17" fillcolor="#F4BA17"><w:anchorlock/><center style="color:#45210E;font-family:Arial,sans-serif;font-size:15px;font-weight:bold;">Xem Status Hub của bạn &rarr;</center></v:roundrect><![endif]-->
@@ -79,8 +79,8 @@
79
79
  <!-- Footer -->
80
80
  <tr>
81
81
  <td class="px raise" bgcolor="#fbf4e9" style="background:#fbf4e9;padding:22px 32px;border-top:1px solid #e7d9c6;">
82
- <p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#6e5a4c;">Hiện Thực Hoá Ý Chí · Turn Your Will Into Real</p>
83
- <p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#6e5a4c;">CyberSkill Co., Ltd · 12 Nguyễn Huệ, Quận 1, Sài Gòn, Việt Nam<br><a class="footlink" href="https://cyberskill.world/unsubscribe" style="color:#6E3B0E;"><span lang="en">Unsubscribe</span> · <span lang="vi">Huỷ đăng ký</span></a> · <a class="footlink" href="https://cyberskill.world/preferences" style="color:#6E3B0E;"><span lang="en">Preferences</span> · <span lang="vi">Tuỳ chọn</span></a></p>
82
+ <p class="muted" style="margin:0 0 6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#5E4436;">Hiện Thực Hoá Ý Chí · Turn Your Will Into Real</p>
83
+ <p class="muted" style="margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5;color:#5E4436;">CyberSkill Co., Ltd · 12 Nguyễn Huệ, Quận 1, Sài Gòn, Việt Nam<br><a class="footlink" href="https://cyberskill.world/unsubscribe" style="color:#6E3B0E;"><span lang="en">Unsubscribe</span> · <span lang="vi">Huỷ đăng ký</span></a> · <a class="footlink" href="https://cyberskill.world/preferences" style="color:#6E3B0E;"><span lang="en">Preferences</span> · <span lang="vi">Tuỳ chọn</span></a></p>
84
84
  </td>
85
85
  </tr>
86
86
  </table>
@@ -6,20 +6,24 @@
6
6
  <title>CyberSkill — component kitchen sink</title>
7
7
  <style>
8
8
  body{margin:0;background:var(--cs-color-surface-page);color:var(--cs-color-text-primary);font-family:var(--cs-font-family-ui)}
9
- .top{position:sticky;top:1px;z-index:10;background:color-mix(in oklab,var(--cs-color-surface-panel) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--cs-color-border-default);padding:14px 32px;display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
10
- @media (prefers-reduced-transparency: reduce){.top{backdrop-filter:none;background:var(--cs-color-surface-panel)}}
9
+ .top{position:sticky;top:1px;z-index:10;background:color-mix(in oklab,var(--cs-color-surface-panel) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--cs-color-border-default);padding:14px 32px;display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
10
+ @media (prefers-reduced-transparency: reduce){.top{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--cs-color-surface-panel)}}
11
+ [data-cs-style="matte-paper"] .top{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--cs-color-surface-panel)}
11
12
  .top h1{font-size:17px;margin:0;letter-spacing:-.01em}
12
13
  .top nav{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px}
13
14
  .top nav a{color:var(--cs-color-text-muted);text-decoration:none;font-weight:600}.top nav a:hover{color:var(--cs-color-brand-ochre)}
14
15
  main{max-width:960px;margin:0 auto;padding:28px 32px 80px}
15
- section{margin:0 0 14px;border-bottom:1px dashed var(--cs-color-border-default);padding-bottom:24px}
16
+ section{margin:0 0 28px;border-bottom:1px dashed var(--cs-color-border-default);padding-bottom:28px}
17
+ section:nth-of-type(even){background-color:var(--cs-color-surface-raised);color:var(--cs-color-text-primary);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);padding:22px 24px 26px}
18
+ section:nth-of-type(even)>h2{margin-top:0}
16
19
  h2{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--_cs-light,var(--cs-color-brand-umber)) var(--_cs-dark,var(--cs-color-brand-ochre));margin:26px 0 14px}
17
20
  .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
18
21
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
19
- .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--cs-color-text-muted);width:100%;margin:2px 0 -4px}
22
+ .lbl{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--cs-color-text-muted);width:100%;margin:4px 0 -2px}
23
+ #form .cs-slider{inline-size:160px;flex:none}
20
24
  .cs-kbd{--k:1}
21
- @media (max-width:768px),(min-width:1024px){.top{padding-inline:max(32px,calc((100% - 960px)/2))}.lbl{font-size:12px}#form .cs-slider{inline-size:160px;flex:none}h2,.cs-stat__value{font-weight:700}section:nth-of-type(even){background-color:var(--cs-color-surface-raised);color:var(--cs-color-text-primary)}section{margin-bottom:44px;padding-bottom:36px}section:first-of-type{margin-bottom:52px}}
22
- @media (max-width:640px){.top{padding:12px 16px}main{padding:20px 16px 64px}.grid2{grid-template-columns:minmax(0,1fr)}.grid2>*{min-width:0}}
25
+ @media (min-width:1024px){.top{padding-inline:max(32px,calc((100% - 960px)/2))}}
26
+ @media (max-width:640px){.top{padding:12px 16px}main{padding:20px 16px 64px}section:nth-of-type(even){padding:18px 16px 22px}.grid2{grid-template-columns:minmax(0,1fr)}.grid2>*{min-width:0}}
23
27
  </style></head>
24
28
  <body>
25
29
  <div class="top">
@@ -39,7 +39,7 @@
39
39
  </div>
40
40
  <div style="padding:28px 32px">
41
41
  <sc-if value="{{ isEN }}" hint-placeholder-val="{{ true }}">
42
- <a class="cs-touch-target" href="#" style="display:inline-block;background:var(--cs-color-brand-umber);color:#FFFDF8;font-weight:700;font-size:15px;text-decoration:none;padding:12px 22px;border-radius:var(--cs-radius-full);margin-bottom:26px">Read the story →</a>
42
+ <a class="cs-touch-target" href="#" style="display:inline-block;background:var(--cs-accent-strong);color:var(--cs-accent-on-strong);font-weight:700;font-size:15px;text-decoration:none;padding:12px 22px;border-radius:var(--cs-radius-full);margin-bottom:26px">Read the story →</a>
43
43
  <div style="border-top:1px solid var(--cs-color-border-default);padding-top:20px;margin-bottom:20px">
44
44
  <div style="font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--cs-color-text-accent);margin-bottom:6px">Field notes</div>
45
45
  <h2 style="font-size:19px;font-weight:700;margin:0 0 6px">{{ fieldArticleTitleEn }}</h2>
@@ -55,7 +55,7 @@
55
55
  </sc-if>
56
56
  <sc-if value="{{ isVN }}"><div lang="vi" style="display:contents">
57
57
  <sc-if value="{{ isBoth }}"><div style="border-top:1px solid var(--cs-color-border-default);margin:0 0 20px"></div></sc-if>
58
- <a class="cs-touch-target" href="#" style="display:inline-block;background:var(--cs-color-brand-umber);color:#FFFDF8;font-weight:700;font-size:15px;text-decoration:none;padding:12px 22px;border-radius:var(--cs-radius-full);margin-bottom:26px">Đọc câu chuyện →</a>
58
+ <a class="cs-touch-target" href="#" style="display:inline-block;background:var(--cs-accent-strong);color:var(--cs-accent-on-strong);font-weight:700;font-size:15px;text-decoration:none;padding:12px 22px;border-radius:var(--cs-radius-full);margin-bottom:26px">Đọc câu chuyện →</a>
59
59
  <div style="border-top:1px solid var(--cs-color-border-default);padding-top:20px;margin-bottom:20px">
60
60
  <div style="font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--cs-color-text-accent);margin-bottom:6px">Ghi chú thực địa</div>
61
61
  <h2 style="font-size:19px;font-weight:700;margin:0 0 6px">{{ fieldArticleTitleVi }}</h2>
@@ -74,13 +74,13 @@
74
74
  <sc-if value="{{ isEN }}" hint-placeholder-val="{{ true }}">
75
75
  <div style="font-size:17px;font-weight:700;color:#FFFDF8;margin-bottom:4px">Have a wish of your own?</div>
76
76
  <p style="font-size:14px;opacity:0.85;margin:0 0 14px">Tell us the outcome in a sentence. We reply within one business day.</p>
77
- <a class="cs-touch-target" href="#" style="display:inline-block;background:var(--cs-color-brand-umber);color:#FFFDF8;font-weight:700;font-size:14px;text-decoration:none;padding:11px 22px;border-radius:var(--cs-radius-full)">Make a wish</a>
77
+ <a class="cs-touch-target" href="#" style="display:inline-block;background:#FFFDF8;color:var(--cs-color-brand-umber);font-weight:700;font-size:14px;text-decoration:none;padding:11px 22px;border-radius:var(--cs-radius-full)">Make a wish</a>
78
78
  </sc-if>
79
79
  <sc-if value="{{ isVN }}"><div lang="vi" style="display:contents">
80
80
  <sc-if value="{{ isBoth }}"><div style="height:1px;background:rgba(255,255,255,0.18);margin:0 auto 16px;max-width:200px"></div></sc-if>
81
81
  <div style="font-size:17px;font-weight:700;margin-bottom:4px">Bạn có điều ước của riêng mình?</div>
82
82
  <p style="font-size:14px;opacity:0.85;margin:0 0 14px">Kể cho chúng tôi kết quả bạn muốn trong một câu. Chúng tôi trả lời trong vòng một ngày làm việc.</p>
83
- <a class="cs-touch-target" href="#" style="display:inline-block;background:var(--cs-color-brand-umber);color:#FFFDF8;font-weight:700;font-size:14px;text-decoration:none;padding:11px 22px;border-radius:var(--cs-radius-full)">Gửi điều ước</a>
83
+ <a class="cs-touch-target" href="#" style="display:inline-block;background:#FFFDF8;color:var(--cs-color-brand-umber);font-weight:700;font-size:14px;text-decoration:none;padding:11px 22px;border-radius:var(--cs-radius-full)">Gửi điều ước</a>
84
84
  </div></sc-if>
85
85
  </div>
86
86
  <div style="padding:16px 32px;background:var(--cs-color-surface-raised);font-size:12px;color:var(--cs-color-text-muted);text-align:center">
@@ -23,13 +23,15 @@
23
23
  border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-md);
24
24
  }
25
25
  @media print{#cs-mktg-hero[data-authoring]::part(empty){display:none}}
26
+ @media (prefers-reduced-transparency: reduce){.cs-mktg-nav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--cs-color-surface-panel)!important}}
27
+ [data-cs-style="matte-paper"] .cs-mktg-nav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--cs-color-surface-panel)!important}
26
28
  </style>
27
29
  </helmet>
28
30
  <div data-theme="{{ rootTheme }}" lang="{{ langAttr }}" data-cs-element="{{ elAttr }}" data-cs-variant="{{ vaAttr }}" style="font-family:var(--cs-font-family-ui);color:var(--cs-color-text-primary);background:var(--cs-color-surface-page);min-height:100vh">
29
31
  <a class="cs-skip" href="#main">{{ skipLabel }}</a>
30
32
  <main id="main">
31
33
  <div style="position:sticky;top:0;z-index:50">
32
- <header style="display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;padding:14px 32px;background:color-mix(in oklab,var(--cs-color-surface-panel) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--cs-color-border-default)">
34
+ <header class="cs-mktg-nav" style="display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;padding:14px 32px;background:color-mix(in oklab,var(--cs-color-surface-panel) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--cs-color-border-default)">
33
35
  <div style="display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--cs-color-text-primary);letter-spacing:-0.01em">
34
36
  <x-import component-from-global-scope="CyberSkillDS.Logo" size="32" hint-size="32px,32px"></x-import>
35
37
  CyberSkill
@@ -90,7 +92,7 @@
90
92
  <h2 style="color:var(--cs-accent-on-strong);font-size:28px;font-weight:800;margin:0 0 6px;letter-spacing:-0.01em">{{ ctaH }}</h2>
91
93
  <p style="margin:0;max-width:520px">{{ ctaP }}</p>
92
94
  </div>
93
- <span id="contact">
95
+ <span id="contact" style="--cs-component-button-primary-bg:var(--cs-accent-on-strong);--cs-component-button-primary-fg:var(--cs-accent-strong)">
94
96
  <x-import component-from-global-scope="CyberSkillDS.Button" variant="primary" data-cs-on-click="{{ openChat }}" hint-size="150px,44px">{{ talkBtn }}</x-import>
95
97
  </span>
96
98
  </div>
@@ -6,8 +6,9 @@
6
6
  <title>CyberSkill — playground</title>
7
7
  <style>
8
8
  body{margin:0;font-family:var(--cs-font-family-ui);background:var(--cs-color-surface-page);color:var(--cs-color-text-primary)}
9
- .bar{position:sticky;top:1px;z-index:10;background:color-mix(in oklab,var(--cs-color-surface-panel) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--cs-color-border-default);padding:12px max(24px,calc((100% - 900px)/2));display:flex;gap:20px;flex-wrap:wrap;align-items:center}
10
- @media (prefers-reduced-transparency: reduce){.bar{backdrop-filter:none;background:var(--cs-color-surface-panel)}}
9
+ .bar{position:sticky;top:1px;z-index:10;background:color-mix(in oklab,var(--cs-color-surface-panel) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--cs-color-border-default);padding:12px max(24px,calc((100% - 900px)/2));display:flex;gap:20px;flex-wrap:wrap;align-items:center}
10
+ @media (prefers-reduced-transparency: reduce){.bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--cs-color-surface-panel)}}
11
+ [data-cs-style="matte-paper"] .bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--cs-color-surface-panel)}
11
12
  .bar h1{font-size:15px;margin:0}
12
13
  .grp{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
13
14
  .grp .k{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--cs-color-text-muted);margin-right:2px}
@@ -59,8 +60,8 @@ const stage=document.getElementById('stage');
59
60
  const AX={
60
61
  theme:[["Light",""],["Dark","dark"],["System","system"]],
61
62
  element:[["Thổ","tho|"],["Thổ·clay","tho|clay"],["Thổ·sand","tho|sand"],["Hỏa","hoa|"],["Hỏa·lava","hoa|lava"],["Hỏa·plasma","hoa|plasma"],["Thủy","thuy|"],["Thủy·ocean","thuy|ocean"],["Thủy·mist","thuy|mist"],["Mộc","moc|"],["Mộc·bamboo","moc|bamboo"],["Mộc·forest","moc|forest"],["Kim","kim|"],["Kim·steel","kim|steel"],["Kim·titanium","kim|titanium"]],
62
- language:[["English","en"],["Tiếng Việt","vi"]],
63
- style:[["Liquid glass","liquid-glass"]]};
63
+ language:[["Tiếng Việt","vi"],["English","en"]],
64
+ style:[["Liquid glass","liquid-glass"],["Matte paper","matte-paper"]]};
64
65
  function build(axis, apply){
65
66
  const box=document.getElementById(axis);
66
67
  AX[axis].forEach(([label,val],i)=>{
@@ -30,14 +30,14 @@
30
30
  </section>
31
31
 
32
32
  <section style="position:relative;width:100%;aspect-ratio:16/9;background:var(--cs-color-surface-panel);color:var(--cs-color-text-primary);border-radius:var(--cs-radius-lg);overflow:hidden;box-shadow:var(--cs-shadow-xl);padding:64px 88px;display:flex;flex-direction:column;justify-content:center">
33
- <div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-primary)">{{ s2kicker }}</div>
33
+ <div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-accent)">{{ s2kicker }}</div>
34
34
  <h2 style="font-size:44px;font-weight:800;letter-spacing:-0.02em;margin:10px 0 24px;max-width:900px">{{ s2h }}</h2>
35
35
  <p style="font-size:24px;line-height:1.5;color:var(--cs-color-text-muted);max-width:920px">{{ s2p }}</p>
36
36
  <sc-if value="{{ showNumbers }}"><div style="position:absolute;bottom:40px;right:88px;font-family:var(--cs-font-family-mono);font-size:14px;color:var(--cs-color-text-muted)">02 / 08</div></sc-if>
37
37
  </section>
38
38
 
39
39
  <section style="position:relative;width:100%;aspect-ratio:16/9;background:var(--cs-color-surface-panel);color:var(--cs-color-text-primary);border-radius:var(--cs-radius-lg);overflow:hidden;box-shadow:var(--cs-shadow-xl);padding:64px 88px;display:flex;flex-direction:column;justify-content:center">
40
- <div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-primary)">{{ s3kicker }}</div>
40
+ <div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-accent)">{{ s3kicker }}</div>
41
41
  <h2 style="font-size:44px;font-weight:800;letter-spacing:-0.02em;margin:10px 0 36px">{{ s3h }}</h2>
42
42
  <div style="display:grid;grid-template-columns:repeat(3,1fr);gap:32px">
43
43
  <div style="border-top:3px solid var(--cs-accent);padding-top:16px"><div style="font-weight:800;font-size:22px;margin-bottom:8px">{{ u1t }}</div><p style="font-size:18px;line-height:1.5;color:var(--cs-color-text-muted);margin:0">{{ u1p }}</p></div>
@@ -59,7 +59,7 @@
59
59
  </section>
60
60
 
61
61
  <section style="position:relative;width:100%;aspect-ratio:16/9;background:var(--cs-color-surface-panel);color:var(--cs-color-text-primary);border-radius:var(--cs-radius-lg);overflow:hidden;box-shadow:var(--cs-shadow-xl);padding:64px 88px;display:flex;flex-direction:column;justify-content:center">
62
- <div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-primary)">{{ s5kicker }}</div>
62
+ <div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-accent)">{{ s5kicker }}</div>
63
63
  <h2 style="font-size:44px;font-weight:800;letter-spacing:-0.02em;margin:10px 0 32px">{{ s5h }}</h2>
64
64
  <div style="display:grid;gap:16px;font-size:22px">
65
65
  <div style="display:flex;align-items:center;gap:20px;border-top:3px solid var(--cs-accent);padding-top:16px"><span style="font-family:var(--cs-font-family-mono);color:var(--cs-color-text-muted);width:64px">{{ mo1 }}</span><b style="flex:1">{{ t1 }}</b><span style="color:var(--cs-color-text-muted)">M1</span></div>
@@ -70,7 +70,7 @@
70
70
  </section>
71
71
 
72
72
  <section style="position:relative;width:100%;aspect-ratio:16/9;background:var(--cs-color-surface-panel);color:var(--cs-color-text-primary);border-radius:var(--cs-radius-lg);overflow:hidden;box-shadow:var(--cs-shadow-xl);padding:64px 88px;display:flex;flex-direction:column;justify-content:center">
73
- <div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-primary)">{{ s6kicker }}</div>
73
+ <div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--cs-color-text-accent)">{{ s6kicker }}</div>
74
74
  <h2 style="font-size:44px;font-weight:800;letter-spacing:-0.02em;margin:10px 0 34px">{{ s6h }}</h2>
75
75
  <div style="display:grid;grid-template-columns:repeat(3,1fr);gap:28px">
76
76
  <div style="display:flex;align-items:center;gap:16px"><x-import component-from-global-scope="CyberSkillDS.Avatar" name="Minh Trần" size="lg" hint-size="52px,52px"></x-import><div><div style="font-weight:800;font-size:20px">Minh Trần</div><div style="font-size:16px;color:var(--cs-color-text-muted)">{{ role1 }}</div></div></div>
@@ -83,7 +83,7 @@
83
83
  <section style="position:relative;width:100%;aspect-ratio:16/9;background:var(--cs-color-brand-umber);color:#FFFDF8;border-radius:var(--cs-radius-lg);overflow:hidden;box-shadow:var(--cs-shadow-xl);padding:64px 88px;display:flex;flex-direction:column;justify-content:center">
84
84
  <div style="font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;color:var(--cs-accent-bright)">{{ s7kicker }}</div>
85
85
  <h2 style="font-size:44px;font-weight:800;letter-spacing:-0.02em;color:var(--cs-accent-bright);margin:10px 0 32px">{{ s7h }}</h2>
86
- <div style="display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:end">
86
+ <div style="display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:start;font-variant-numeric:tabular-nums">
87
87
  <div><div style="font-size:52px;font-weight:800;line-height:1;letter-spacing:-0.02em">₫3.1B</div><div style="font-size:18px;opacity:0.85;margin-top:10px">{{ inv1 }}</div></div>
88
88
  <div><div style="font-size:52px;font-weight:800;line-height:1;letter-spacing:-0.02em">3</div><div style="font-size:18px;opacity:0.85;margin-top:10px">{{ inv2 }}</div></div>
89
89
  <div><div style="font-size:52px;font-weight:800;line-height:1;letter-spacing:-0.02em">30d</div><div style="font-size:18px;opacity:0.85;margin-top:10px">{{ inv3 }}</div></div>
package/tokens/colors.css CHANGED
@@ -20,7 +20,7 @@
20
20
  --cs-color-text-primary: #45210E; /* = Umber */
21
21
  --cs-color-text-inverse: #FFFFFF;
22
22
  --cs-color-text-accent: #6E3B0E; /* accessible ochre-adjacent link/accent text */
23
- --cs-color-text-muted: #3F2D21; /* Secondary text: APCA75 on page/panel/raised, including all element variants */
23
+ --cs-color-text-muted: #5E4436; /* Secondary text: warm umber-taupe, APCA75+ on neutral/soft/middle; deep packs solve per-surface */
24
24
 
25
25
  /* ---- Semantic fills + paired foregrounds (literal-on-semantic, UX-008) ---- */
26
26
  --cs-color-semantic-success: #166534;