@cyberskill/design 2.3.0 → 2.4.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 (324) hide show
  1. package/DESIGN.md +5 -5
  2. package/README.md +74 -143
  3. package/SECURITY.md +4 -4
  4. package/VERSION +1 -1
  5. package/_ds_bundle.js +2 -2
  6. package/_ds_bundle.js.map +1 -1
  7. package/_ds_manifest.json +15 -7
  8. package/_esm/cs.mjs +2 -2
  9. package/base/collections.css +1 -1
  10. package/base/components.css +2 -2
  11. package/base/controls.css +3 -2
  12. package/base/data.css +2 -2
  13. package/base/feedback.css +1 -1
  14. package/base/glass.css +4 -4
  15. package/base/interaction.css +1 -1
  16. package/base/shell.css +3 -3
  17. package/base/typography.css +1 -0
  18. package/components/forms/editor-parser.js +1 -1
  19. package/components/prompt-api.json +1 -1
  20. package/components/release-compatibility.json +1 -1
  21. package/components/specifications.json +1 -1
  22. package/components/static-html-reference.json +19 -19
  23. package/dist/esm/_esm/react.mjs +2 -2
  24. package/dist/esm/build.json +22 -22
  25. package/dist/esm/chunks/{chunk-CKBL3UEA.mjs → chunk-GQDUCHRU.mjs} +2 -2
  26. package/dist/esm/chunks/{chunk-JJG5ENFU.mjs → chunk-XDJRVUEM.mjs} +1 -1
  27. package/dist/esm/chunks/{chunk-JJG5ENFU.mjs.map → chunk-XDJRVUEM.mjs.map} +1 -1
  28. package/dist/esm/components/forms/Editor.mjs +2 -2
  29. package/dist/esm/components/forms/editor-schema.mjs +1 -1
  30. package/dist/styles.min.css +1 -1
  31. package/docs/consuming.md +1 -1
  32. package/docs/contrast-report.md +1 -1
  33. package/docs/conventions.md +1 -1
  34. package/docs/reference-catalog.json +21 -21
  35. package/docs/release-notes.md +13 -1
  36. package/docs/static-html-reference.md +18 -18
  37. package/docs/template-inventory.json +4 -4
  38. package/docs/vi/consuming.md +1 -1
  39. package/docs/vi/contrast-report.md +1 -1
  40. package/docs/vi/conventions.md +1 -1
  41. package/docs/vi/entrypoints/DESIGN.md +5 -5
  42. package/docs/vi/entrypoints/README.md +85 -151
  43. package/docs/vi/release-notes.md +13 -1
  44. package/docs/vi/static-html-reference.md +18 -18
  45. package/guidelines/documents.html +1 -1
  46. package/package.json +15 -14
  47. package/styles/components/manifest.json +132 -132
  48. package/styles.layered.css +13 -14
  49. package/styles.layered.provenance.json +10 -10
  50. package/templates/vn-appointment-transfer/VnAppointmentTransfer.dc.html +3 -3
  51. package/templates/vn-termination-decision/VnTerminationDecision.dc.html +3 -3
  52. package/tokens/declarations.json +30 -30
  53. package/tokens/element-seeds.json +1 -1
  54. package/tokens/modes/dark__default__comfortable__high.dtcg.json +1 -1
  55. package/tokens/modes/dark__default__comfortable__standard.dtcg.json +1 -1
  56. package/tokens/modes/dark__default__compact__high.dtcg.json +1 -1
  57. package/tokens/modes/dark__default__compact__standard.dtcg.json +1 -1
  58. package/tokens/modes/dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  59. package/tokens/modes/dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  60. package/tokens/modes/dark__hoa-lava__compact__high.dtcg.json +1 -1
  61. package/tokens/modes/dark__hoa-lava__compact__standard.dtcg.json +1 -1
  62. package/tokens/modes/dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  63. package/tokens/modes/dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  64. package/tokens/modes/dark__hoa-plasma__compact__high.dtcg.json +1 -1
  65. package/tokens/modes/dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  66. package/tokens/modes/dark__hoa__comfortable__high.dtcg.json +1 -1
  67. package/tokens/modes/dark__hoa__comfortable__standard.dtcg.json +1 -1
  68. package/tokens/modes/dark__hoa__compact__high.dtcg.json +1 -1
  69. package/tokens/modes/dark__hoa__compact__standard.dtcg.json +1 -1
  70. package/tokens/modes/dark__kim-steel__comfortable__high.dtcg.json +1 -1
  71. package/tokens/modes/dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  72. package/tokens/modes/dark__kim-steel__compact__high.dtcg.json +1 -1
  73. package/tokens/modes/dark__kim-steel__compact__standard.dtcg.json +1 -1
  74. package/tokens/modes/dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  75. package/tokens/modes/dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  76. package/tokens/modes/dark__kim-titanium__compact__high.dtcg.json +1 -1
  77. package/tokens/modes/dark__kim-titanium__compact__standard.dtcg.json +1 -1
  78. package/tokens/modes/dark__kim__comfortable__high.dtcg.json +1 -1
  79. package/tokens/modes/dark__kim__comfortable__standard.dtcg.json +1 -1
  80. package/tokens/modes/dark__kim__compact__high.dtcg.json +1 -1
  81. package/tokens/modes/dark__kim__compact__standard.dtcg.json +1 -1
  82. package/tokens/modes/dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  83. package/tokens/modes/dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  84. package/tokens/modes/dark__moc-bamboo__compact__high.dtcg.json +1 -1
  85. package/tokens/modes/dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  86. package/tokens/modes/dark__moc-forest__comfortable__high.dtcg.json +1 -1
  87. package/tokens/modes/dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  88. package/tokens/modes/dark__moc-forest__compact__high.dtcg.json +1 -1
  89. package/tokens/modes/dark__moc-forest__compact__standard.dtcg.json +1 -1
  90. package/tokens/modes/dark__moc__comfortable__high.dtcg.json +1 -1
  91. package/tokens/modes/dark__moc__comfortable__standard.dtcg.json +1 -1
  92. package/tokens/modes/dark__moc__compact__high.dtcg.json +1 -1
  93. package/tokens/modes/dark__moc__compact__standard.dtcg.json +1 -1
  94. package/tokens/modes/dark__tho-clay__comfortable__high.dtcg.json +1 -1
  95. package/tokens/modes/dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  96. package/tokens/modes/dark__tho-clay__compact__high.dtcg.json +1 -1
  97. package/tokens/modes/dark__tho-clay__compact__standard.dtcg.json +1 -1
  98. package/tokens/modes/dark__tho-sand__comfortable__high.dtcg.json +1 -1
  99. package/tokens/modes/dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  100. package/tokens/modes/dark__tho-sand__compact__high.dtcg.json +1 -1
  101. package/tokens/modes/dark__tho-sand__compact__standard.dtcg.json +1 -1
  102. package/tokens/modes/dark__tho__comfortable__high.dtcg.json +1 -1
  103. package/tokens/modes/dark__tho__comfortable__standard.dtcg.json +1 -1
  104. package/tokens/modes/dark__tho__compact__high.dtcg.json +1 -1
  105. package/tokens/modes/dark__tho__compact__standard.dtcg.json +1 -1
  106. package/tokens/modes/dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  107. package/tokens/modes/dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  108. package/tokens/modes/dark__thuy-mist__compact__high.dtcg.json +1 -1
  109. package/tokens/modes/dark__thuy-mist__compact__standard.dtcg.json +1 -1
  110. package/tokens/modes/dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  111. package/tokens/modes/dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  112. package/tokens/modes/dark__thuy-ocean__compact__high.dtcg.json +1 -1
  113. package/tokens/modes/dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  114. package/tokens/modes/dark__thuy__comfortable__high.dtcg.json +1 -1
  115. package/tokens/modes/dark__thuy__comfortable__standard.dtcg.json +1 -1
  116. package/tokens/modes/dark__thuy__compact__high.dtcg.json +1 -1
  117. package/tokens/modes/dark__thuy__compact__standard.dtcg.json +1 -1
  118. package/tokens/modes/index.json +267 -267
  119. package/tokens/modes/light__default__comfortable__high.dtcg.json +1 -1
  120. package/tokens/modes/light__default__comfortable__standard.dtcg.json +1 -1
  121. package/tokens/modes/light__default__compact__high.dtcg.json +1 -1
  122. package/tokens/modes/light__default__compact__standard.dtcg.json +1 -1
  123. package/tokens/modes/light__hoa-lava__comfortable__high.dtcg.json +1 -1
  124. package/tokens/modes/light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  125. package/tokens/modes/light__hoa-lava__compact__high.dtcg.json +1 -1
  126. package/tokens/modes/light__hoa-lava__compact__standard.dtcg.json +1 -1
  127. package/tokens/modes/light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  128. package/tokens/modes/light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  129. package/tokens/modes/light__hoa-plasma__compact__high.dtcg.json +1 -1
  130. package/tokens/modes/light__hoa-plasma__compact__standard.dtcg.json +1 -1
  131. package/tokens/modes/light__hoa__comfortable__high.dtcg.json +1 -1
  132. package/tokens/modes/light__hoa__comfortable__standard.dtcg.json +1 -1
  133. package/tokens/modes/light__hoa__compact__high.dtcg.json +1 -1
  134. package/tokens/modes/light__hoa__compact__standard.dtcg.json +1 -1
  135. package/tokens/modes/light__kim-steel__comfortable__high.dtcg.json +1 -1
  136. package/tokens/modes/light__kim-steel__comfortable__standard.dtcg.json +1 -1
  137. package/tokens/modes/light__kim-steel__compact__high.dtcg.json +1 -1
  138. package/tokens/modes/light__kim-steel__compact__standard.dtcg.json +1 -1
  139. package/tokens/modes/light__kim-titanium__comfortable__high.dtcg.json +1 -1
  140. package/tokens/modes/light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  141. package/tokens/modes/light__kim-titanium__compact__high.dtcg.json +1 -1
  142. package/tokens/modes/light__kim-titanium__compact__standard.dtcg.json +1 -1
  143. package/tokens/modes/light__kim__comfortable__high.dtcg.json +1 -1
  144. package/tokens/modes/light__kim__comfortable__standard.dtcg.json +1 -1
  145. package/tokens/modes/light__kim__compact__high.dtcg.json +1 -1
  146. package/tokens/modes/light__kim__compact__standard.dtcg.json +1 -1
  147. package/tokens/modes/light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  148. package/tokens/modes/light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  149. package/tokens/modes/light__moc-bamboo__compact__high.dtcg.json +1 -1
  150. package/tokens/modes/light__moc-bamboo__compact__standard.dtcg.json +1 -1
  151. package/tokens/modes/light__moc-forest__comfortable__high.dtcg.json +1 -1
  152. package/tokens/modes/light__moc-forest__comfortable__standard.dtcg.json +1 -1
  153. package/tokens/modes/light__moc-forest__compact__high.dtcg.json +1 -1
  154. package/tokens/modes/light__moc-forest__compact__standard.dtcg.json +1 -1
  155. package/tokens/modes/light__moc__comfortable__high.dtcg.json +1 -1
  156. package/tokens/modes/light__moc__comfortable__standard.dtcg.json +1 -1
  157. package/tokens/modes/light__moc__compact__high.dtcg.json +1 -1
  158. package/tokens/modes/light__moc__compact__standard.dtcg.json +1 -1
  159. package/tokens/modes/light__tho-clay__comfortable__high.dtcg.json +1 -1
  160. package/tokens/modes/light__tho-clay__comfortable__standard.dtcg.json +1 -1
  161. package/tokens/modes/light__tho-clay__compact__high.dtcg.json +1 -1
  162. package/tokens/modes/light__tho-clay__compact__standard.dtcg.json +1 -1
  163. package/tokens/modes/light__tho-sand__comfortable__high.dtcg.json +1 -1
  164. package/tokens/modes/light__tho-sand__comfortable__standard.dtcg.json +1 -1
  165. package/tokens/modes/light__tho-sand__compact__high.dtcg.json +1 -1
  166. package/tokens/modes/light__tho-sand__compact__standard.dtcg.json +1 -1
  167. package/tokens/modes/light__tho__comfortable__high.dtcg.json +1 -1
  168. package/tokens/modes/light__tho__comfortable__standard.dtcg.json +1 -1
  169. package/tokens/modes/light__tho__compact__high.dtcg.json +1 -1
  170. package/tokens/modes/light__tho__compact__standard.dtcg.json +1 -1
  171. package/tokens/modes/light__thuy-mist__comfortable__high.dtcg.json +1 -1
  172. package/tokens/modes/light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  173. package/tokens/modes/light__thuy-mist__compact__high.dtcg.json +1 -1
  174. package/tokens/modes/light__thuy-mist__compact__standard.dtcg.json +1 -1
  175. package/tokens/modes/light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  176. package/tokens/modes/light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  177. package/tokens/modes/light__thuy-ocean__compact__high.dtcg.json +1 -1
  178. package/tokens/modes/light__thuy-ocean__compact__standard.dtcg.json +1 -1
  179. package/tokens/modes/light__thuy__comfortable__high.dtcg.json +1 -1
  180. package/tokens/modes/light__thuy__comfortable__standard.dtcg.json +1 -1
  181. package/tokens/modes/light__thuy__compact__high.dtcg.json +1 -1
  182. package/tokens/modes/light__thuy__compact__standard.dtcg.json +1 -1
  183. package/tokens/modes/system-dark__default__comfortable__high.dtcg.json +1 -1
  184. package/tokens/modes/system-dark__default__comfortable__standard.dtcg.json +1 -1
  185. package/tokens/modes/system-dark__default__compact__high.dtcg.json +1 -1
  186. package/tokens/modes/system-dark__default__compact__standard.dtcg.json +1 -1
  187. package/tokens/modes/system-dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  188. package/tokens/modes/system-dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  189. package/tokens/modes/system-dark__hoa-lava__compact__high.dtcg.json +1 -1
  190. package/tokens/modes/system-dark__hoa-lava__compact__standard.dtcg.json +1 -1
  191. package/tokens/modes/system-dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  192. package/tokens/modes/system-dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  193. package/tokens/modes/system-dark__hoa-plasma__compact__high.dtcg.json +1 -1
  194. package/tokens/modes/system-dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  195. package/tokens/modes/system-dark__hoa__comfortable__high.dtcg.json +1 -1
  196. package/tokens/modes/system-dark__hoa__comfortable__standard.dtcg.json +1 -1
  197. package/tokens/modes/system-dark__hoa__compact__high.dtcg.json +1 -1
  198. package/tokens/modes/system-dark__hoa__compact__standard.dtcg.json +1 -1
  199. package/tokens/modes/system-dark__kim-steel__comfortable__high.dtcg.json +1 -1
  200. package/tokens/modes/system-dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  201. package/tokens/modes/system-dark__kim-steel__compact__high.dtcg.json +1 -1
  202. package/tokens/modes/system-dark__kim-steel__compact__standard.dtcg.json +1 -1
  203. package/tokens/modes/system-dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  204. package/tokens/modes/system-dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  205. package/tokens/modes/system-dark__kim-titanium__compact__high.dtcg.json +1 -1
  206. package/tokens/modes/system-dark__kim-titanium__compact__standard.dtcg.json +1 -1
  207. package/tokens/modes/system-dark__kim__comfortable__high.dtcg.json +1 -1
  208. package/tokens/modes/system-dark__kim__comfortable__standard.dtcg.json +1 -1
  209. package/tokens/modes/system-dark__kim__compact__high.dtcg.json +1 -1
  210. package/tokens/modes/system-dark__kim__compact__standard.dtcg.json +1 -1
  211. package/tokens/modes/system-dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  212. package/tokens/modes/system-dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  213. package/tokens/modes/system-dark__moc-bamboo__compact__high.dtcg.json +1 -1
  214. package/tokens/modes/system-dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  215. package/tokens/modes/system-dark__moc-forest__comfortable__high.dtcg.json +1 -1
  216. package/tokens/modes/system-dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  217. package/tokens/modes/system-dark__moc-forest__compact__high.dtcg.json +1 -1
  218. package/tokens/modes/system-dark__moc-forest__compact__standard.dtcg.json +1 -1
  219. package/tokens/modes/system-dark__moc__comfortable__high.dtcg.json +1 -1
  220. package/tokens/modes/system-dark__moc__comfortable__standard.dtcg.json +1 -1
  221. package/tokens/modes/system-dark__moc__compact__high.dtcg.json +1 -1
  222. package/tokens/modes/system-dark__moc__compact__standard.dtcg.json +1 -1
  223. package/tokens/modes/system-dark__tho-clay__comfortable__high.dtcg.json +1 -1
  224. package/tokens/modes/system-dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  225. package/tokens/modes/system-dark__tho-clay__compact__high.dtcg.json +1 -1
  226. package/tokens/modes/system-dark__tho-clay__compact__standard.dtcg.json +1 -1
  227. package/tokens/modes/system-dark__tho-sand__comfortable__high.dtcg.json +1 -1
  228. package/tokens/modes/system-dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  229. package/tokens/modes/system-dark__tho-sand__compact__high.dtcg.json +1 -1
  230. package/tokens/modes/system-dark__tho-sand__compact__standard.dtcg.json +1 -1
  231. package/tokens/modes/system-dark__tho__comfortable__high.dtcg.json +1 -1
  232. package/tokens/modes/system-dark__tho__comfortable__standard.dtcg.json +1 -1
  233. package/tokens/modes/system-dark__tho__compact__high.dtcg.json +1 -1
  234. package/tokens/modes/system-dark__tho__compact__standard.dtcg.json +1 -1
  235. package/tokens/modes/system-dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  236. package/tokens/modes/system-dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  237. package/tokens/modes/system-dark__thuy-mist__compact__high.dtcg.json +1 -1
  238. package/tokens/modes/system-dark__thuy-mist__compact__standard.dtcg.json +1 -1
  239. package/tokens/modes/system-dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  240. package/tokens/modes/system-dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  241. package/tokens/modes/system-dark__thuy-ocean__compact__high.dtcg.json +1 -1
  242. package/tokens/modes/system-dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  243. package/tokens/modes/system-dark__thuy__comfortable__high.dtcg.json +1 -1
  244. package/tokens/modes/system-dark__thuy__comfortable__standard.dtcg.json +1 -1
  245. package/tokens/modes/system-dark__thuy__compact__high.dtcg.json +1 -1
  246. package/tokens/modes/system-dark__thuy__compact__standard.dtcg.json +1 -1
  247. package/tokens/modes/system-light__default__comfortable__high.dtcg.json +1 -1
  248. package/tokens/modes/system-light__default__comfortable__standard.dtcg.json +1 -1
  249. package/tokens/modes/system-light__default__compact__high.dtcg.json +1 -1
  250. package/tokens/modes/system-light__default__compact__standard.dtcg.json +1 -1
  251. package/tokens/modes/system-light__hoa-lava__comfortable__high.dtcg.json +1 -1
  252. package/tokens/modes/system-light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  253. package/tokens/modes/system-light__hoa-lava__compact__high.dtcg.json +1 -1
  254. package/tokens/modes/system-light__hoa-lava__compact__standard.dtcg.json +1 -1
  255. package/tokens/modes/system-light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  256. package/tokens/modes/system-light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  257. package/tokens/modes/system-light__hoa-plasma__compact__high.dtcg.json +1 -1
  258. package/tokens/modes/system-light__hoa-plasma__compact__standard.dtcg.json +1 -1
  259. package/tokens/modes/system-light__hoa__comfortable__high.dtcg.json +1 -1
  260. package/tokens/modes/system-light__hoa__comfortable__standard.dtcg.json +1 -1
  261. package/tokens/modes/system-light__hoa__compact__high.dtcg.json +1 -1
  262. package/tokens/modes/system-light__hoa__compact__standard.dtcg.json +1 -1
  263. package/tokens/modes/system-light__kim-steel__comfortable__high.dtcg.json +1 -1
  264. package/tokens/modes/system-light__kim-steel__comfortable__standard.dtcg.json +1 -1
  265. package/tokens/modes/system-light__kim-steel__compact__high.dtcg.json +1 -1
  266. package/tokens/modes/system-light__kim-steel__compact__standard.dtcg.json +1 -1
  267. package/tokens/modes/system-light__kim-titanium__comfortable__high.dtcg.json +1 -1
  268. package/tokens/modes/system-light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  269. package/tokens/modes/system-light__kim-titanium__compact__high.dtcg.json +1 -1
  270. package/tokens/modes/system-light__kim-titanium__compact__standard.dtcg.json +1 -1
  271. package/tokens/modes/system-light__kim__comfortable__high.dtcg.json +1 -1
  272. package/tokens/modes/system-light__kim__comfortable__standard.dtcg.json +1 -1
  273. package/tokens/modes/system-light__kim__compact__high.dtcg.json +1 -1
  274. package/tokens/modes/system-light__kim__compact__standard.dtcg.json +1 -1
  275. package/tokens/modes/system-light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  276. package/tokens/modes/system-light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  277. package/tokens/modes/system-light__moc-bamboo__compact__high.dtcg.json +1 -1
  278. package/tokens/modes/system-light__moc-bamboo__compact__standard.dtcg.json +1 -1
  279. package/tokens/modes/system-light__moc-forest__comfortable__high.dtcg.json +1 -1
  280. package/tokens/modes/system-light__moc-forest__comfortable__standard.dtcg.json +1 -1
  281. package/tokens/modes/system-light__moc-forest__compact__high.dtcg.json +1 -1
  282. package/tokens/modes/system-light__moc-forest__compact__standard.dtcg.json +1 -1
  283. package/tokens/modes/system-light__moc__comfortable__high.dtcg.json +1 -1
  284. package/tokens/modes/system-light__moc__comfortable__standard.dtcg.json +1 -1
  285. package/tokens/modes/system-light__moc__compact__high.dtcg.json +1 -1
  286. package/tokens/modes/system-light__moc__compact__standard.dtcg.json +1 -1
  287. package/tokens/modes/system-light__tho-clay__comfortable__high.dtcg.json +1 -1
  288. package/tokens/modes/system-light__tho-clay__comfortable__standard.dtcg.json +1 -1
  289. package/tokens/modes/system-light__tho-clay__compact__high.dtcg.json +1 -1
  290. package/tokens/modes/system-light__tho-clay__compact__standard.dtcg.json +1 -1
  291. package/tokens/modes/system-light__tho-sand__comfortable__high.dtcg.json +1 -1
  292. package/tokens/modes/system-light__tho-sand__comfortable__standard.dtcg.json +1 -1
  293. package/tokens/modes/system-light__tho-sand__compact__high.dtcg.json +1 -1
  294. package/tokens/modes/system-light__tho-sand__compact__standard.dtcg.json +1 -1
  295. package/tokens/modes/system-light__tho__comfortable__high.dtcg.json +1 -1
  296. package/tokens/modes/system-light__tho__comfortable__standard.dtcg.json +1 -1
  297. package/tokens/modes/system-light__tho__compact__high.dtcg.json +1 -1
  298. package/tokens/modes/system-light__tho__compact__standard.dtcg.json +1 -1
  299. package/tokens/modes/system-light__thuy-mist__comfortable__high.dtcg.json +1 -1
  300. package/tokens/modes/system-light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  301. package/tokens/modes/system-light__thuy-mist__compact__high.dtcg.json +1 -1
  302. package/tokens/modes/system-light__thuy-mist__compact__standard.dtcg.json +1 -1
  303. package/tokens/modes/system-light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  304. package/tokens/modes/system-light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  305. package/tokens/modes/system-light__thuy-ocean__compact__high.dtcg.json +1 -1
  306. package/tokens/modes/system-light__thuy-ocean__compact__standard.dtcg.json +1 -1
  307. package/tokens/modes/system-light__thuy__comfortable__high.dtcg.json +1 -1
  308. package/tokens/modes/system-light__thuy__comfortable__standard.dtcg.json +1 -1
  309. package/tokens/modes/system-light__thuy__compact__high.dtcg.json +1 -1
  310. package/tokens/modes/system-light__thuy__compact__standard.dtcg.json +1 -1
  311. package/tokens/native/CSModes.kt +3 -3
  312. package/tokens/native/CSModes.swift +3 -3
  313. package/tokens/native/CSTokens.kt +1 -1
  314. package/tokens/native/CSTokens.swift +1 -1
  315. package/tokens/native/cs_modes.dart +3 -3
  316. package/tokens/native/cs_tokens.dart +1 -1
  317. package/tokens/native/mode-provenance.json +6 -6
  318. package/tokens/provenance.json +6 -6
  319. package/tokens/tokens.dtcg.json +2 -2
  320. package/tokens/tokens.js +3 -3
  321. package/tokens/tokens.json +2 -2
  322. package/tokens/variables.css +4 -4
  323. package/ui_kits/deck/index.html +1 -1
  324. /package/dist/esm/chunks/{chunk-CKBL3UEA.mjs.map → chunk-GQDUCHRU.mjs.map} +0 -0
package/_ds_manifest.json CHANGED
@@ -5750,7 +5750,7 @@
5750
5750
  "scope": ".cs-display-face",
5751
5751
  "important": false,
5752
5752
  "declarationOrder": 1050,
5753
- "sourceLine": 24
5753
+ "sourceLine": 25
5754
5754
  },
5755
5755
  {
5756
5756
  "name": "--cs-term-border",
@@ -5760,7 +5760,7 @@
5760
5760
  "scope": ".cs-terminal",
5761
5761
  "important": false,
5762
5762
  "declarationOrder": 1053,
5763
- "sourceLine": 346
5763
+ "sourceLine": 347
5764
5764
  },
5765
5765
  {
5766
5766
  "name": "--cs-term-bar",
@@ -5770,7 +5770,7 @@
5770
5770
  "scope": ".cs-terminal",
5771
5771
  "important": false,
5772
5772
  "declarationOrder": 1054,
5773
- "sourceLine": 347
5773
+ "sourceLine": 348
5774
5774
  },
5775
5775
  {
5776
5776
  "name": "--cs-term-dot",
@@ -5780,7 +5780,7 @@
5780
5780
  "scope": ".cs-terminal",
5781
5781
  "important": false,
5782
5782
  "declarationOrder": 1055,
5783
- "sourceLine": 348
5783
+ "sourceLine": 349
5784
5784
  },
5785
5785
  {
5786
5786
  "name": "--cs-term-bg",
@@ -5790,7 +5790,7 @@
5790
5790
  "scope": ".cs-terminal",
5791
5791
  "important": false,
5792
5792
  "declarationOrder": 1056,
5793
- "sourceLine": 349
5793
+ "sourceLine": 350
5794
5794
  },
5795
5795
  {
5796
5796
  "name": "--cs-term-fg",
@@ -5800,7 +5800,7 @@
5800
5800
  "scope": ".cs-terminal",
5801
5801
  "important": false,
5802
5802
  "declarationOrder": 1057,
5803
- "sourceLine": 350
5803
+ "sourceLine": 351
5804
5804
  },
5805
5805
  {
5806
5806
  "name": "--cs-term-muted",
@@ -5810,7 +5810,7 @@
5810
5810
  "scope": ".cs-terminal",
5811
5811
  "important": false,
5812
5812
  "declarationOrder": 1058,
5813
- "sourceLine": 351
5813
+ "sourceLine": 352
5814
5814
  },
5815
5815
  {
5816
5816
  "name": "--cs-code-bg",
@@ -5857,6 +5857,7 @@
5857
5857
  "value": "color-mix(in oklab, var(--cs-color-surface-page, #fffdf8) var(--cs-glass-whisper-opacity, 60%), transparent)",
5858
5858
  "kind": "css-expression",
5859
5859
  "definedIn": "base/glass.css",
5860
+ "scope": ":root, [data-theme], [data-cs-element], [data-element], [data-cs-contrast]",
5860
5861
  "important": false,
5861
5862
  "declarationOrder": 1066,
5862
5863
  "sourceLine": 15
@@ -5866,6 +5867,7 @@
5866
5867
  "value": "transparent",
5867
5868
  "kind": "css-expression",
5868
5869
  "definedIn": "base/glass.css",
5870
+ "scope": ":root, [data-theme], [data-cs-element], [data-element], [data-cs-contrast]",
5869
5871
  "important": false,
5870
5872
  "declarationOrder": 1067,
5871
5873
  "sourceLine": 16
@@ -5875,6 +5877,7 @@
5875
5877
  "value": "color-mix(in oklab, var(--cs-color-surface-panel, #fff) var(--cs-glass-light-opacity, 70%), transparent)",
5876
5878
  "kind": "css-expression",
5877
5879
  "definedIn": "base/glass.css",
5880
+ "scope": ":root, [data-theme], [data-cs-element], [data-element], [data-cs-contrast]",
5878
5881
  "important": false,
5879
5882
  "declarationOrder": 1068,
5880
5883
  "sourceLine": 17
@@ -5884,6 +5887,7 @@
5884
5887
  "value": "color-mix(in oklab, var(--cs-color-border-default, #e7d9c6) 50%, transparent)",
5885
5888
  "kind": "css-expression",
5886
5889
  "definedIn": "base/glass.css",
5890
+ "scope": ":root, [data-theme], [data-cs-element], [data-element], [data-cs-contrast]",
5887
5891
  "important": false,
5888
5892
  "declarationOrder": 1069,
5889
5893
  "sourceLine": 18
@@ -5893,6 +5897,7 @@
5893
5897
  "value": "color-mix(in oklab, var(--cs-color-surface-panel, #fff) var(--cs-glass-standard-opacity, 80%), transparent)",
5894
5898
  "kind": "css-expression",
5895
5899
  "definedIn": "base/glass.css",
5900
+ "scope": ":root, [data-theme], [data-cs-element], [data-element], [data-cs-contrast]",
5896
5901
  "important": false,
5897
5902
  "declarationOrder": 1070,
5898
5903
  "sourceLine": 19
@@ -5902,6 +5907,7 @@
5902
5907
  "value": "color-mix(in oklab, var(--cs-color-border-default, #e7d9c6) 60%, transparent)",
5903
5908
  "kind": "css-expression",
5904
5909
  "definedIn": "base/glass.css",
5910
+ "scope": ":root, [data-theme], [data-cs-element], [data-element], [data-cs-contrast]",
5905
5911
  "important": false,
5906
5912
  "declarationOrder": 1071,
5907
5913
  "sourceLine": 20
@@ -5911,6 +5917,7 @@
5911
5917
  "value": "color-mix(in oklab, var(--cs-color-surface-raised, #fbf4e9) var(--cs-glass-heavy-opacity, 90%), transparent)",
5912
5918
  "kind": "css-expression",
5913
5919
  "definedIn": "base/glass.css",
5920
+ "scope": ":root, [data-theme], [data-cs-element], [data-element], [data-cs-contrast]",
5914
5921
  "important": false,
5915
5922
  "declarationOrder": 1072,
5916
5923
  "sourceLine": 21
@@ -5920,6 +5927,7 @@
5920
5927
  "value": "color-mix(in oklab, var(--cs-color-border-default, #e7d9c6) 80%, transparent)",
5921
5928
  "kind": "css-expression",
5922
5929
  "definedIn": "base/glass.css",
5930
+ "scope": ":root, [data-theme], [data-cs-element], [data-element], [data-cs-contrast]",
5923
5931
  "important": false,
5924
5932
  "declarationOrder": 1073,
5925
5933
  "sourceLine": 22
package/_esm/cs.mjs CHANGED
@@ -1,4 +1,4 @@
1
- // CyberSkill Design System — ESM entry point (GENERATED by scripts/generate-export-catalog.mjs at v2.3.0).
1
+ // CyberSkill Design System — ESM entry point (GENERATED by scripts/generate-export-catalog.mjs at v2.4.0).
2
2
  // No build step: import this module directly in a browser. It loads the pinned umd-react@19.2.8
3
3
  // distribution; its retained React and ReactDOM files report runtime version 19.2.4.
4
4
  // (official React 19 dropped UMD; pinned + SRI; skipped when window.React already exists), side-loads
@@ -33,7 +33,7 @@ if (!found()) await ensureScript("../_ds_bundle.js");
33
33
  export const CS = g[found()];
34
34
  if (!CS) throw new Error("cs.js: bundle loaded but no CyberSkillDesignSystem_* namespace found");
35
35
  export default CS;
36
- export const VERSION = "2.3.0";
36
+ export const VERSION = "2.4.0";
37
37
  export const AIDisclosureBadge = CS.AIDisclosureBadge;
38
38
  export const Accordion = CS.Accordion;
39
39
  export const Alert = CS.Alert;
@@ -47,7 +47,7 @@ div.cs-item.is-disabled { opacity: 1; }
47
47
  .cs-timeline__item { display: grid; grid-template-columns: 26px 1fr; gap: 14px; padding-block-end: var(--cs-space-5); position: relative; }
48
48
  .cs-timeline__item:not(:last-child)::before { content: ""; position: absolute; inset-block: 26px 0; inset-inline-start: 12px; inline-size: 2px; background: var(--cs-color-border-default); }
49
49
  .cs-timeline__marker { inline-size: 26px; block-size: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--cs-color-semantic-success); color: var(--cs-color-semantic-success-fg, #fff); font-size: var(--cs-font-size-xs); font-weight: 700; z-index: 1; }
50
- .cs-timeline__item--now .cs-timeline__marker { background: var(--cs-accent-bright); color: var(--cs-accent-on); }
50
+ .cs-timeline__item--now .cs-timeline__marker { background: var(--cs-accent-bright); color: var(--cs-color-brand-umber); box-shadow: inset 0 0 0 2px var(--cs-accent-strong); }
51
51
  .cs-timeline__item--todo .cs-timeline__marker { background: var(--cs-color-surface-raised); color: var(--cs-color-text-muted); border: 1px solid var(--cs-color-border-default); }
52
52
  .cs-timeline__title { font-weight: 700; margin: 2px 0 2px; }
53
53
  .cs-timeline__meta { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); font-family: var(--cs-font-family-mono); }
@@ -91,8 +91,8 @@
91
91
  .cs-button--full { inline-size: 100%; }
92
92
 
93
93
  .cs-button.is-disabled,
94
- .cs-button.is-loading,
95
94
  .cs-field.is-disabled { opacity: 0.58; cursor: not-allowed; }
95
+ .cs-button.is-loading { opacity: 0.88; cursor: progress; }
96
96
 
97
97
  .cs-button__spinner {
98
98
  inline-size: 1em; block-size: 1em; border-radius: 999px;
@@ -132,7 +132,7 @@
132
132
  .cs-dialog__overlay { background: var(--cs-color-surface-scrim, var(--_cs-surface-scrim)); inset: 0; position: absolute; }
133
133
  .cs-dialog {
134
134
  background: var(--cs-color-surface-panel, #ffffff);
135
- border-radius: var(--cs-radius-md, 8px);
135
+ border-radius: var(--cs-radius-lg, 14px);
136
136
  box-shadow: var(--cs-shadow-xl, 0 24px 80px rgba(31, 19, 11, 0.26));
137
137
  color: var(--cs-color-text-primary, #45210e);
138
138
  left: 0;
package/base/controls.css CHANGED
@@ -81,6 +81,7 @@
81
81
  /* ---- v3 Batch 2 part 2 (Jul 2026): Combobox · InputGroup · TagInput ---- */
82
82
  .cs-combobox { position: relative; display: inline-block; min-inline-size: 260px; }
83
83
  .cs-combobox input { inline-size: 100%; box-sizing: border-box; font: 500 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 10px 34px 10px var(--cs-space-3); min-block-size: 44px; }
84
+ .is-invalid .cs-combobox input, .cs-combobox input[aria-invalid="true"] { border-color: var(--cs-color-semantic-danger, #b42318); }
84
85
  .cs-combobox input:focus { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }
85
86
  .cs-combobox__caret { position: absolute; inset-inline-end: 10px; inset-block-start: 50%; translate: 0 -50%; pointer-events: none; color: var(--cs-color-text-muted); }
86
87
  .cs-combobox__popup { color: var(--cs-color-text-primary); position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-inline: 0; inset-block-start: calc(100% + 6px); max-block-size: 240px; overflow: auto; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 6px; margin: 0; }
@@ -114,7 +115,7 @@
114
115
  .cs-cal__grid button { border: 0; background: none; color: var(--cs-color-text-primary); font: 500 13px var(--cs-font-family-ui); block-size: 34px; border-radius: var(--cs-radius-sm); cursor: pointer; }
115
116
  .cs-cal__grid button:hover { background: var(--cs-color-surface-raised); }
116
117
  .cs-cal__grid button.today { box-shadow: inset 0 0 0 1px var(--cs-accent); }
117
- .cs-cal__grid button.sel { background: var(--cs-accent); color: var(--cs-accent-on); font-weight: 700; }
118
+ .cs-cal__grid button.sel { background: var(--cs-accent-bright); color: var(--cs-color-brand-umber); font-weight: 700; box-shadow: inset 0 0 0 2px var(--cs-accent-strong); }
118
119
  .cs-cal__grid button:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }
119
120
  .cs-datepicker { position: relative; display: inline-block; max-inline-size: 100%; }
120
121
  .cs-datepicker__field { display: inline-flex; align-items: center; gap: var(--cs-space-2); min-inline-size: 220px; min-block-size: 44px; font: 500 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: var(--cs-space-2) var(--cs-space-3); cursor: pointer; }
@@ -137,7 +138,7 @@
137
138
  .cs-ctxmenu-zone { position: relative; }
138
139
  .cs-fab { position: fixed; inset-inline-end: 24px; inset-block-end: 24px; z-index: var(--cs-depth-overlay, 80); display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
139
140
  .cs-fab--static { position: static; align-items: flex-start; }
140
- .cs-fab__main { inline-size: 56px; block-size: 56px; border-radius: 999px; border: 0; background: var(--cs-accent); color: var(--cs-accent-on); display: grid; place-items: center; cursor: pointer; box-shadow: var(--cs-shadow-lg); }
141
+ .cs-fab__main { inline-size: 56px; block-size: 56px; border-radius: 999px; border: 0; background: var(--cs-accent-bright); color: var(--cs-color-brand-umber); display: grid; place-items: center; cursor: pointer; box-shadow: inset 0 0 0 2px var(--cs-accent-strong), var(--cs-shadow-lg); }
141
142
  .cs-fab__main:hover { filter: brightness(1.05); }
142
143
  .cs-fab__main:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre), var(--cs-shadow-md); }
143
144
  .cs-fab__dial { display: flex; flex-direction: column; gap: 8px; align-items: center; }
package/base/data.css CHANGED
@@ -4,7 +4,7 @@
4
4
  .cs-card { background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-sm); color: var(--cs-color-text-primary); overflow: hidden; }
5
5
  .cs-card--flat { box-shadow: none; }
6
6
  .cs-card--raised { background: var(--cs-color-surface-raised); }
7
- .cs-card--featured { background: var(--_cs-light, var(--cs-color-surface-raised))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 12%, var(--cs-color-surface-panel))); border-color: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent)); box-shadow: var(--cs-shadow-md); }
7
+ .cs-card--featured { background: color-mix(in oklab, var(--cs-accent) 12%, var(--cs-color-surface-raised)); border-color: var(--cs-accent); box-shadow: var(--cs-shadow-md); }
8
8
  .cs-card--interactive { cursor: pointer; transition: border-color var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); }
9
9
  .cs-card--interactive:hover { border-color: var(--cs-accent); box-shadow: var(--cs-shadow-md); }
10
10
  .cs-card--interactive:focus-visible { box-shadow: 0 0 0 5px var(--cs-color-accent-ochre), var(--cs-shadow-sm); transition: border-color var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); }
@@ -41,7 +41,7 @@
41
41
 
42
42
  /* Tooltip */
43
43
  .cs-tooltip { position: relative; display: inline-flex; }
44
- .cs-tooltip__bubble { position: absolute; inset-block-end: calc(100% + 8px); inset-inline-start: 50%; transform: translateX(-50%) translateY(4px); background: var(--cs-color-brand-umber); color: #fff; /* on-brand-umber ink */ font-size: var(--cs-font-size-xs); font-weight: 600; line-height: 1.35; padding: 6px 10px; border-radius: var(--cs-radius-sm); white-space: nowrap; max-inline-size: 240px; opacity: 0; pointer-events: none; transition: opacity var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); box-shadow: var(--cs-shadow-md); z-index: var(--cs-depth-dropdown, 60); }
44
+ .cs-tooltip__bubble { position: absolute; inset-block-end: calc(100% + 8px); inset-inline-start: 50%; transform: translateX(-50%) translateY(4px); background: var(--cs-color-brand-umber); color: #fff; /* on-brand-umber ink */ font-size: var(--cs-font-size-xs); font-weight: 600; line-height: 1.35; padding: 6px 10px; border-radius: var(--cs-radius-sm); white-space: normal; inline-size: max-content; max-inline-size: 240px; overflow-wrap: break-word; opacity: 0; pointer-events: none; transition: opacity var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--cs-color-border-default) 32%, transparent), var(--cs-shadow-md); z-index: var(--cs-depth-dropdown, 60); }
45
45
  .cs-tooltip__bubble::after { content: ""; position: absolute; inset-block-start: 100%; inset-inline-start: 50%; transform: translateX(-50%); border: 5px solid transparent; border-block-start-color: var(--cs-color-brand-umber); }
46
46
  .cs-tooltip:not([data-managed]):hover .cs-tooltip__bubble, .cs-tooltip:not([data-managed]):focus-within .cs-tooltip__bubble, .cs-tooltip[data-open="true"] .cs-tooltip__bubble { opacity: 1; transform: translateX(-50%) translateY(0); }
47
47
 
package/base/feedback.css CHANGED
@@ -1,7 +1,7 @@
1
1
  /* CyberSkill — feedback + status (.cs-*). Semantic colour never the only signal. */
2
2
 
3
3
  /* Badge — compact status label */
4
- .cs-badge { display: inline-flex; align-items: center; gap: 5px; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-xs); font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1; padding: 4px 9px; border-radius: var(--cs-radius-full); text-transform: uppercase; letter-spacing: 0.04em; background: var(--cs-color-surface-raised); color: var(--cs-color-text-accent); border: 1px solid var(--cs-color-border-default); }
4
+ .cs-badge { display: inline-flex; align-items: center; gap: 5px; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-xs); font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; padding: 3px 9px; border-radius: var(--cs-radius-full); text-transform: uppercase; letter-spacing: 0.04em; background: var(--cs-color-surface-raised); color: var(--cs-color-text-accent); border: 1px solid var(--cs-color-border-default); }
5
5
  .cs-badge--solid { border-color: transparent; color: #fff; /* on-brand-umber ink (allowlisted; text-inverse flips in dark) */ background: var(--cs-color-brand-umber); }
6
6
  .cs-badge--ochre { background: var(--cs-color-brand-ochre); color: var(--cs-color-brand-umber); border-color: transparent; }
7
7
  [data-cs-element]:not([data-cs-element="tho"]:not([data-cs-variant]), [data-cs-element="tho"][data-cs-variant=""]) .cs-badge--solid { background: var(--cs-accent-strong); color: var(--cs-accent-on-strong); }
package/base/glass.css CHANGED
@@ -8,10 +8,10 @@
8
8
  */
9
9
 
10
10
  /* ---- 1. Composition from token scalars ---- */
11
- :root {
12
- --_cs-border-subtle: var(--_cs-light, color-mix(in srgb, var(--cs-color-brand-umber, #45210e) 18%, transparent))var(--_cs-dark, color-mix(in oklab, var(--cs-color-border-default, #4a3a2c) 82%, transparent));
13
- --_cs-border-strong: var(--_cs-light, color-mix(in oklab, var(--cs-color-border-default, #e7d9c6) 65%, var(--cs-color-text-primary, #45210e)))var(--_cs-dark, color-mix(in oklab, var(--cs-color-border-default, #4a3a2c) 65%, var(--cs-color-text-primary, #f5ead9)));
14
- --_cs-surface-scrim: var(--_cs-light, color-mix(in oklab, var(--cs-color-brand-umber, #45210e) 48%, transparent))var(--_cs-dark, color-mix(in oklab, var(--cs-color-surface-page, #1a1108) 72%, transparent));
11
+ :root, [data-theme], [data-cs-element], [data-element], [data-cs-contrast] {
12
+ --_cs-border-subtle: color-mix(in oklab, var(--cs-color-border-default, #e7d9c6) 76%, transparent);
13
+ --_cs-border-strong: color-mix(in oklab, var(--cs-color-border-default, #e7d9c6) 65%, var(--cs-color-text-primary, #45210e));
14
+ --_cs-surface-scrim: color-mix(in oklab, color-mix(in oklab, var(--cs-color-brand-umber, #45210e) 45%, #050403) 58%, transparent);
15
15
  --cs-glass-whisper-bg: color-mix(in oklab, var(--cs-color-surface-page, #fffdf8) var(--cs-glass-whisper-opacity, 60%), transparent);
16
16
  --cs-glass-whisper-border: transparent;
17
17
  --cs-glass-light-bg: color-mix(in oklab, var(--cs-color-surface-panel, #fff) var(--cs-glass-light-opacity, 70%), transparent);
@@ -12,7 +12,7 @@
12
12
  }
13
13
  .cs-button--primary:hover:not(.is-disabled),
14
14
  .cs-button--danger:hover:not(.is-disabled) {
15
- box-shadow: var(--_cs-light, 0 8px 20px color-mix(in srgb, var(--cs-color-brand-umber, #45210e) 24%, transparent))var(--_cs-dark, var(--cs-shadow-md));
15
+ box-shadow: var(--cs-shadow-md);
16
16
  transform: translateY(-1px);
17
17
  }
18
18
  .cs-button--primary:active:not(.is-disabled),
package/base/shell.css CHANGED
@@ -17,7 +17,7 @@
17
17
  .cs-step__marker { inline-size: 28px; block-size: 28px; border-radius: 50%; display: grid; place-items: center; font-family: var(--cs-font-family-mono); font-weight: 700; font-size: var(--cs-font-size-sm); background: var(--cs-color-surface-raised); color: var(--cs-color-text-muted); border: 1px solid var(--cs-color-border-default); z-index: 1; }
18
18
  .cs-step--done .cs-step__marker { background: var(--cs-accent-strong); color: var(--cs-accent-on-strong); border-color: transparent; }
19
19
  .cs-step--done:not(:last-child)::after { background: var(--cs-accent-strong); }
20
- .cs-step--active .cs-step__marker { background: var(--cs-accent-bright); color: var(--cs-accent-on); border-color: transparent; box-shadow: 0 0 0 4px color-mix(in oklab, var(--cs-accent) 28%, transparent); }
20
+ .cs-step--active .cs-step__marker { background: var(--cs-accent-bright); color: var(--cs-color-brand-umber); border-color: transparent; box-shadow: inset 0 0 0 2px var(--cs-accent-strong), 0 0 0 4px color-mix(in oklab, var(--cs-accent) 28%, transparent); }
21
21
  .cs-step__title { font-weight: 700; font-size: var(--cs-font-size-sm); }
22
22
  .cs-step__body { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); }
23
23
 
@@ -28,8 +28,8 @@
28
28
 
29
29
  /* Drawer */
30
30
  .cs-drawer-scrim { position: fixed; inset: 0; background: var(--cs-color-surface-scrim, var(--_cs-surface-scrim)); z-index: var(--cs-depth-modal); }
31
- .cs-drawer { position: fixed; inset-block: 0; inset-inline-end: 0; inline-size: min(480px, 100%); background: var(--cs-color-surface-page); border-inline-start: 1px solid var(--cs-color-border-default); box-shadow: var(--_cs-light, -18px 0 48px color-mix(in srgb, var(--cs-color-brand-umber, #45210e) 22%, transparent))var(--_cs-dark, var(--cs-shadow-xl)); z-index: calc(var(--cs-depth-modal) + 1); display: flex; flex-direction: column; animation: cs-drawer-in var(--cs-duration-base) var(--cs-ease-standard); }
32
- .cs-drawer--left { inset-inline: 0 auto; border-inline: none; border-inline-end: 1px solid var(--cs-color-border-default); box-shadow: var(--_cs-light, 18px 0 48px color-mix(in srgb, var(--cs-color-brand-umber, #45210e) 22%, transparent))var(--_cs-dark, var(--cs-shadow-xl)); animation-name: cs-drawer-in-left; }
31
+ .cs-drawer { position: fixed; inset-block: 0; inset-inline-end: 0; inline-size: min(480px, 100%); background: var(--cs-color-surface-page); border-inline-start: 1px solid var(--cs-color-border-default); box-shadow: var(--cs-shadow-xl); z-index: calc(var(--cs-depth-modal) + 1); display: flex; flex-direction: column; animation: cs-drawer-in var(--cs-duration-base) var(--cs-ease-standard); }
32
+ .cs-drawer--left { inset-inline: 0 auto; border-inline: none; border-inline-end: 1px solid var(--cs-color-border-default); box-shadow: var(--cs-shadow-xl); animation-name: cs-drawer-in-left; }
33
33
  .cs-drawer__header { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-block-end: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); }
34
34
  .cs-drawer__title { margin: 0; font-size: var(--cs-text-h4); font-weight: 700; }
35
35
  .cs-drawer__close { margin-inline-start: auto; border: 0; background: transparent; cursor: pointer; color: var(--cs-color-text-muted); display: grid; place-items: center; padding: 4px; }
@@ -3,6 +3,7 @@
3
3
  * Built on the semantic aliases in tokens/typography.css. */
4
4
  .cs-display { font-family: var(--cs-heading-family); font-size: var(--cs-text-display); line-height: var(--cs-font-lineHeight-tight); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }
5
5
  .cs-display--fluid { font-family: var(--cs-heading-family); font-size: clamp(2.25rem, 1.5rem + 3.5vw, var(--cs-text-display)); line-height: var(--cs-font-lineHeight-tight); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }
6
+ :lang(vi) :is(.cs-display, .cs-display--fluid) { line-height: 1.22; }
6
7
  .cs-h1 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h1); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }
7
8
  .cs-h1--fluid { font-family: var(--cs-heading-family); font-size: clamp(1.75rem, 1.25rem + 2vw, var(--cs-text-h1)); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }
8
9
  .cs-h2 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h2); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }