@helixui/library 3.1.0-next.72 → 3.2.0-next.100

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 (254) hide show
  1. package/custom-elements.json +165 -328
  2. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
  3. package/dist/components/hx-accordion/index.js +1 -1
  4. package/dist/components/hx-alert/index.js +1 -1
  5. package/dist/components/hx-banner/index.js +1 -1
  6. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  7. package/dist/components/hx-breadcrumb/index.js +1 -1
  8. package/dist/components/hx-button/hx-button.d.ts +44 -49
  9. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  10. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  11. package/dist/components/hx-button/index.js +1 -1
  12. package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -1
  13. package/dist/components/hx-card/index.js +1 -1
  14. package/dist/components/hx-carousel/index.js +1 -1
  15. package/dist/components/hx-checkbox/index.js +1 -1
  16. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  17. package/dist/components/hx-clinical-status/index.js +1 -1
  18. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  19. package/dist/components/hx-code-snippet/index.js +1 -1
  20. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  21. package/dist/components/hx-color-picker/index.js +1 -1
  22. package/dist/components/hx-combobox/index.js +1 -1
  23. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  24. package/dist/components/hx-data-table/index.js +1 -1
  25. package/dist/components/hx-date-picker/index.js +1 -1
  26. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  27. package/dist/components/hx-dialog/index.js +1 -1
  28. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  29. package/dist/components/hx-drawer/index.js +1 -1
  30. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  31. package/dist/components/hx-file-upload/index.js +1 -1
  32. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  33. package/dist/components/hx-icon-button/index.js +1 -1
  34. package/dist/components/hx-link/index.js +1 -1
  35. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  36. package/dist/components/hx-menu/index.js +1 -1
  37. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  38. package/dist/components/hx-meter/index.js +1 -1
  39. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  40. package/dist/components/hx-nav/index.js +1 -1
  41. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  42. package/dist/components/hx-overflow-menu/index.js +1 -1
  43. package/dist/components/hx-pagination/hx-pagination.styles.d.ts.map +1 -1
  44. package/dist/components/hx-pagination/index.js +1 -1
  45. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  46. package/dist/components/hx-phi-field/index.js +1 -1
  47. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  48. package/dist/components/hx-popover/index.js +1 -1
  49. package/dist/components/hx-radio-group/index.js +1 -1
  50. package/dist/components/hx-rating/index.js +1 -1
  51. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  52. package/dist/components/hx-select/index.js +1 -1
  53. package/dist/components/hx-side-nav/hx-nav-item.d.ts +7 -5
  54. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  55. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  56. package/dist/components/hx-side-nav/hx-side-nav.d.ts +9 -23
  57. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  58. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  59. package/dist/components/hx-side-nav/index.js +1 -1
  60. package/dist/components/hx-slider/index.js +1 -1
  61. package/dist/components/hx-split-button/hx-split-button.d.ts +1 -1
  62. package/dist/components/hx-split-button/index.js +1 -1
  63. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  64. package/dist/components/hx-split-panel/index.js +1 -1
  65. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  66. package/dist/components/hx-steps/index.js +1 -1
  67. package/dist/components/hx-switch/index.js +1 -1
  68. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  69. package/dist/components/hx-table/index.js +1 -1
  70. package/dist/components/hx-tabs/index.js +1 -1
  71. package/dist/components/hx-text-input/hx-text-input.d.ts +18 -35
  72. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  73. package/dist/components/hx-text-input/index.js +1 -1
  74. package/dist/components/hx-textarea/index.js +1 -1
  75. package/dist/components/hx-time-picker/index.js +1 -1
  76. package/dist/components/hx-toast/hx-toast.d.ts +12 -8
  77. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  78. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  79. package/dist/components/hx-toast/index.js +1 -1
  80. package/dist/components/hx-toggle-button/index.js +1 -1
  81. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  82. package/dist/components/hx-top-nav/index.js +1 -1
  83. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  84. package/dist/components/hx-tree-view/index.js +1 -1
  85. package/dist/css/helix-all.css +289 -237
  86. package/dist/css/helix-core.css +147 -53
  87. package/dist/css/helix-data.css +9 -14
  88. package/dist/css/helix-feedback.css +30 -20
  89. package/dist/css/helix-forms.css +53 -73
  90. package/dist/css/helix-layout.css +2 -8
  91. package/dist/css/helix-media.css +3 -3
  92. package/dist/css/helix-navigation.css +34 -41
  93. package/dist/css/helix-overlay.css +3 -12
  94. package/dist/css/helix-tokens.css +60 -5
  95. package/dist/css/helix-utility.css +5 -5
  96. package/dist/css/hx-alert.css +1 -1
  97. package/dist/css/hx-banner.css +2 -2
  98. package/dist/css/hx-button.css +143 -43
  99. package/dist/css/hx-card.css +1 -4
  100. package/dist/css/hx-carousel.css +3 -3
  101. package/dist/css/hx-checkbox.css +2 -2
  102. package/dist/css/hx-clinical-status.css +2 -4
  103. package/dist/css/hx-code-snippet.css +6 -4
  104. package/dist/css/hx-color-picker.css +3 -13
  105. package/dist/css/hx-combobox.css +7 -7
  106. package/dist/css/hx-data-table.css +2 -8
  107. package/dist/css/hx-date-picker.css +7 -7
  108. package/dist/css/hx-dialog.css +1 -4
  109. package/dist/css/hx-drawer.css +1 -4
  110. package/dist/css/hx-file-upload.css +4 -13
  111. package/dist/css/hx-icon-button.css +2 -5
  112. package/dist/css/hx-link.css +1 -1
  113. package/dist/css/hx-meter.css +1 -2
  114. package/dist/css/hx-nav.css +2 -8
  115. package/dist/css/hx-overflow-menu.css +2 -8
  116. package/dist/css/hx-pagination.css +2 -8
  117. package/dist/css/hx-phi-field.css +1 -4
  118. package/dist/css/hx-popover.css +1 -4
  119. package/dist/css/hx-rating.css +3 -3
  120. package/dist/css/hx-select.css +3 -4
  121. package/dist/css/hx-side-nav.css +26 -12
  122. package/dist/css/hx-slider.css +4 -4
  123. package/dist/css/hx-split-button.css +5 -5
  124. package/dist/css/hx-split-panel.css +2 -8
  125. package/dist/css/hx-switch.css +3 -3
  126. package/dist/css/hx-table.css +1 -2
  127. package/dist/css/hx-text-input.css +8 -8
  128. package/dist/css/hx-textarea.css +2 -2
  129. package/dist/css/hx-time-picker.css +3 -3
  130. package/dist/css/hx-toast.css +26 -15
  131. package/dist/css/hx-toggle-button.css +4 -4
  132. package/dist/css/hx-top-nav.css +1 -4
  133. package/dist/css/hx-tree-view.css +1 -1
  134. package/dist/css/index.css +1 -1
  135. package/dist/css/manifest.json +60 -46
  136. package/dist/index.js +44 -44
  137. package/dist/shared/{hx-accordion-cnKg4_la.js → hx-accordion-ZVzgDzTG.js} +4 -5
  138. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -0
  139. package/dist/shared/{hx-alert-BZH8iHQf.js → hx-alert-C597yHpD.js} +2 -2
  140. package/dist/shared/{hx-alert-BZH8iHQf.js.map → hx-alert-C597yHpD.js.map} +1 -1
  141. package/dist/shared/{hx-banner-DT7Zn9Bo.js → hx-banner-Cxd7eFUP.js} +3 -3
  142. package/dist/shared/{hx-banner-DT7Zn9Bo.js.map → hx-banner-Cxd7eFUP.js.map} +1 -1
  143. package/dist/shared/{hx-breadcrumb-item-COeYcB2x.js → hx-breadcrumb-item-3tKppF9h.js} +2 -5
  144. package/dist/shared/{hx-breadcrumb-item-COeYcB2x.js.map → hx-breadcrumb-item-3tKppF9h.js.map} +1 -1
  145. package/dist/shared/{hx-button-modUSOpY.js → hx-button-9OUjJnk7.js} +167 -68
  146. package/dist/shared/hx-button-9OUjJnk7.js.map +1 -0
  147. package/dist/shared/{hx-card-CU1QnjNb.js → hx-card-qNAM2QNV.js} +6 -9
  148. package/dist/shared/hx-card-qNAM2QNV.js.map +1 -0
  149. package/dist/shared/{hx-carousel-item-BaE4hpLl.js → hx-carousel-item-z1Lc24op.js} +4 -4
  150. package/dist/shared/hx-carousel-item-z1Lc24op.js.map +1 -0
  151. package/dist/shared/{hx-checkbox-C46TyXhM.js → hx-checkbox-DBD-gMoz.js} +3 -3
  152. package/dist/shared/{hx-checkbox-C46TyXhM.js.map → hx-checkbox-DBD-gMoz.js.map} +1 -1
  153. package/dist/shared/{hx-clinical-status-BmSjfSEN.js → hx-clinical-status-D3XQIOqX.js} +3 -5
  154. package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +1 -0
  155. package/dist/shared/{hx-code-snippet-CJ0FbQYG.js → hx-code-snippet-B26RM1_C.js} +10 -8
  156. package/dist/shared/{hx-code-snippet-CJ0FbQYG.js.map → hx-code-snippet-B26RM1_C.js.map} +1 -1
  157. package/dist/shared/{hx-color-picker-DiDLZyvK.js → hx-color-picker-uRc865FJ.js} +23 -33
  158. package/dist/shared/hx-color-picker-uRc865FJ.js.map +1 -0
  159. package/dist/shared/{hx-combobox-DaA5dBC4.js → hx-combobox-ClhNRAS5.js} +8 -8
  160. package/dist/shared/hx-combobox-ClhNRAS5.js.map +1 -0
  161. package/dist/shared/{hx-data-table-Cq3t86Ic.js → hx-data-table-CLqVqdxr.js} +3 -9
  162. package/dist/shared/hx-data-table-CLqVqdxr.js.map +1 -0
  163. package/dist/shared/{hx-date-picker-DMqRQNSB.js → hx-date-picker-BJm7Yrda.js} +8 -8
  164. package/dist/shared/{hx-date-picker-DMqRQNSB.js.map → hx-date-picker-BJm7Yrda.js.map} +1 -1
  165. package/dist/shared/{hx-dialog-eIS8tcDm.js → hx-dialog-DRN_1-Y-.js} +2 -5
  166. package/dist/shared/hx-dialog-DRN_1-Y-.js.map +1 -0
  167. package/dist/shared/{hx-drawer-DDhDz7RI.js → hx-drawer-Y1Ui2IWJ.js} +2 -5
  168. package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +1 -0
  169. package/dist/shared/{hx-file-upload-zTDbjsRw.js → hx-file-upload-D3rKROK5.js} +17 -26
  170. package/dist/shared/hx-file-upload-D3rKROK5.js.map +1 -0
  171. package/dist/shared/{hx-icon-button-BmV97nqz.js → hx-icon-button-CGNdQSFM.js} +3 -6
  172. package/dist/shared/hx-icon-button-CGNdQSFM.js.map +1 -0
  173. package/dist/shared/{hx-link-DmiV-mPw.js → hx-link-9Ig2DW6L.js} +5 -5
  174. package/dist/shared/{hx-link-DmiV-mPw.js.map → hx-link-9Ig2DW6L.js.map} +1 -1
  175. package/dist/shared/{hx-menu-divider-j__TZjH2.js → hx-menu-divider-C2omnPtj.js} +2 -5
  176. package/dist/shared/hx-menu-divider-C2omnPtj.js.map +1 -0
  177. package/dist/shared/{hx-meter-Cm7k_Ro8.js → hx-meter-BPscsw5t.js} +2 -3
  178. package/dist/shared/hx-meter-BPscsw5t.js.map +1 -0
  179. package/dist/shared/{hx-nav-item-D8xHLVOs.js → hx-nav-item-CqbO5-T5.js} +140 -90
  180. package/dist/shared/hx-nav-item-CqbO5-T5.js.map +1 -0
  181. package/dist/shared/{hx-nav-LoyEKZQC.js → hx-nav-ldFM3Fle.js} +37 -43
  182. package/dist/shared/hx-nav-ldFM3Fle.js.map +1 -0
  183. package/dist/shared/{hx-overflow-menu-BmKyAp5D.js → hx-overflow-menu-DCLsdIBy.js} +3 -9
  184. package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +1 -0
  185. package/dist/shared/{hx-pagination-Dqw5dorC.js → hx-pagination-C7y8GVyU.js} +54 -60
  186. package/dist/shared/hx-pagination-C7y8GVyU.js.map +1 -0
  187. package/dist/shared/{hx-phi-field-Bf9TdtC1.js → hx-phi-field-C19oxlrr.js} +2 -5
  188. package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -0
  189. package/dist/shared/{hx-popover-B93rTAfr.js → hx-popover-B-FP3-wW.js} +8 -11
  190. package/dist/shared/hx-popover-B-FP3-wW.js.map +1 -0
  191. package/dist/shared/{hx-radio-N8xgDd_5.js → hx-radio-dFjUAost.js} +4 -4
  192. package/dist/shared/{hx-radio-N8xgDd_5.js.map → hx-radio-dFjUAost.js.map} +1 -1
  193. package/dist/shared/{hx-rating-i2FL1WUN.js → hx-rating-CGtsejNf.js} +4 -4
  194. package/dist/shared/{hx-rating-i2FL1WUN.js.map → hx-rating-CGtsejNf.js.map} +1 -1
  195. package/dist/shared/{hx-select-vgaBo1Ai.js → hx-select-Bf4usFts.js} +4 -5
  196. package/dist/shared/hx-select-Bf4usFts.js.map +1 -0
  197. package/dist/shared/{hx-slider-ydBamYhd.js → hx-slider-m0aEClH1.js} +5 -5
  198. package/dist/shared/{hx-slider-ydBamYhd.js.map → hx-slider-m0aEClH1.js.map} +1 -1
  199. package/dist/shared/{hx-split-button-BeMsmS6N.js → hx-split-button-BxDFfx4D.js} +6 -6
  200. package/dist/shared/{hx-split-button-BeMsmS6N.js.map → hx-split-button-BxDFfx4D.js.map} +1 -1
  201. package/dist/shared/{hx-split-panel-BVG1VWNT.js → hx-split-panel-B-u0Z3mm.js} +3 -9
  202. package/dist/shared/hx-split-panel-B-u0Z3mm.js.map +1 -0
  203. package/dist/shared/{hx-step-DL3PbOzm.js → hx-step-R2rjp1fT.js} +2 -5
  204. package/dist/shared/hx-step-R2rjp1fT.js.map +1 -0
  205. package/dist/shared/{hx-switch-Dougzsgp.js → hx-switch-DvAW4YY-.js} +4 -4
  206. package/dist/shared/{hx-switch-Dougzsgp.js.map → hx-switch-DvAW4YY-.js.map} +1 -1
  207. package/dist/shared/{hx-tab-panel-CbkO9VKu.js → hx-tab-panel-SWOEHuJc.js} +3 -3
  208. package/dist/shared/{hx-tab-panel-CbkO9VKu.js.map → hx-tab-panel-SWOEHuJc.js.map} +1 -1
  209. package/dist/shared/{hx-td-1zwTFLRw.js → hx-td-DnnEMIuA.js} +2 -3
  210. package/dist/shared/hx-td-DnnEMIuA.js.map +1 -0
  211. package/dist/shared/{hx-text-input-B-caO5fI.js → hx-text-input-Bn7Gn8CI.js} +24 -25
  212. package/dist/shared/hx-text-input-Bn7Gn8CI.js.map +1 -0
  213. package/dist/shared/{hx-textarea-D9O4U8cb.js → hx-textarea-Jx1xnhgv.js} +7 -7
  214. package/dist/shared/{hx-textarea-D9O4U8cb.js.map → hx-textarea-Jx1xnhgv.js.map} +1 -1
  215. package/dist/shared/{hx-time-picker-m0z4nFB-.js → hx-time-picker-BoEIZwzv.js} +4 -4
  216. package/dist/shared/{hx-time-picker-m0z4nFB-.js.map → hx-time-picker-BoEIZwzv.js.map} +1 -1
  217. package/dist/shared/{hx-toggle-button-Dd8clXB4.js → hx-toggle-button-DPAIh_Xo.js} +24 -24
  218. package/dist/shared/{hx-toggle-button-Dd8clXB4.js.map → hx-toggle-button-DPAIh_Xo.js.map} +1 -1
  219. package/dist/shared/{hx-top-nav-CchPYaiV.js → hx-top-nav-DP6OFS8C.js} +11 -14
  220. package/dist/shared/hx-top-nav-DP6OFS8C.js.map +1 -0
  221. package/dist/shared/{hx-tree-item-DtMC3DTa.js → hx-tree-item-Dt0Ozqyr.js} +4 -10
  222. package/dist/shared/hx-tree-item-Dt0Ozqyr.js.map +1 -0
  223. package/dist/shared/{toast-factory-DvDRAh0l.js → toast-factory-YSznocIV.js} +66 -56
  224. package/dist/shared/toast-factory-YSznocIV.js.map +1 -0
  225. package/figma-inventory.json +292 -444
  226. package/package.json +2 -2
  227. package/dist/shared/hx-accordion-cnKg4_la.js.map +0 -1
  228. package/dist/shared/hx-button-modUSOpY.js.map +0 -1
  229. package/dist/shared/hx-card-CU1QnjNb.js.map +0 -1
  230. package/dist/shared/hx-carousel-item-BaE4hpLl.js.map +0 -1
  231. package/dist/shared/hx-clinical-status-BmSjfSEN.js.map +0 -1
  232. package/dist/shared/hx-color-picker-DiDLZyvK.js.map +0 -1
  233. package/dist/shared/hx-combobox-DaA5dBC4.js.map +0 -1
  234. package/dist/shared/hx-data-table-Cq3t86Ic.js.map +0 -1
  235. package/dist/shared/hx-dialog-eIS8tcDm.js.map +0 -1
  236. package/dist/shared/hx-drawer-DDhDz7RI.js.map +0 -1
  237. package/dist/shared/hx-file-upload-zTDbjsRw.js.map +0 -1
  238. package/dist/shared/hx-icon-button-BmV97nqz.js.map +0 -1
  239. package/dist/shared/hx-menu-divider-j__TZjH2.js.map +0 -1
  240. package/dist/shared/hx-meter-Cm7k_Ro8.js.map +0 -1
  241. package/dist/shared/hx-nav-LoyEKZQC.js.map +0 -1
  242. package/dist/shared/hx-nav-item-D8xHLVOs.js.map +0 -1
  243. package/dist/shared/hx-overflow-menu-BmKyAp5D.js.map +0 -1
  244. package/dist/shared/hx-pagination-Dqw5dorC.js.map +0 -1
  245. package/dist/shared/hx-phi-field-Bf9TdtC1.js.map +0 -1
  246. package/dist/shared/hx-popover-B93rTAfr.js.map +0 -1
  247. package/dist/shared/hx-select-vgaBo1Ai.js.map +0 -1
  248. package/dist/shared/hx-split-panel-BVG1VWNT.js.map +0 -1
  249. package/dist/shared/hx-step-DL3PbOzm.js.map +0 -1
  250. package/dist/shared/hx-td-1zwTFLRw.js.map +0 -1
  251. package/dist/shared/hx-text-input-B-caO5fI.js.map +0 -1
  252. package/dist/shared/hx-top-nav-CchPYaiV.js.map +0 -1
  253. package/dist/shared/hx-tree-item-DtMC3DTa.js.map +0 -1
  254. package/dist/shared/toast-factory-DvDRAh0l.js.map +0 -1
@@ -311,7 +311,7 @@
311
311
  outline: var(--hx-focus-ring-width, 2px) solid
312
312
  var(
313
313
  --hx-alert-close-btn-focus-ring-color,
314
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
314
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
315
315
  );
316
316
  outline-offset: var(--hx-focus-ring-offset, 2px);
317
317
  opacity: 1;
@@ -834,7 +834,7 @@
834
834
  outline: var(--hx-focus-ring-width, 2px) solid
835
835
  var(
836
836
  --hx-banner-action-focus-ring-color,
837
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
837
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
838
838
  );
839
839
  outline-offset: var(--hx-focus-ring-offset, 2px);
840
840
  border-radius: var(--hx-border-radius-sm, 0.25rem);
@@ -878,7 +878,7 @@
878
878
  outline: var(--hx-focus-ring-width, 2px) solid
879
879
  var(
880
880
  --hx-banner-close-btn-focus-ring-color,
881
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
881
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
882
882
  );
883
883
  outline-offset: var(--hx-focus-ring-offset, 2px);
884
884
  opacity: 1;
@@ -1072,10 +1072,7 @@
1072
1072
 
1073
1073
  .button:focus-visible {
1074
1074
  outline: var(--hx-focus-ring-width, 2px) solid
1075
- var(
1076
- --hx-button-focus-ring-color,
1077
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
1078
- );
1075
+ var(--hx-button-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1079
1076
  outline-offset: var(--hx-focus-ring-offset, 2px);
1080
1077
  }
1081
1078
 
@@ -1113,21 +1110,24 @@
1113
1110
  /* ─── Style Variants ─── */
1114
1111
 
1115
1112
  .button--primary {
1116
- --hx-button-bg: var(--hx-color-primary-500, #429797);
1117
- --hx-button-color: var(--hx-color-text-on-primary, #ffffff);
1113
+ --hx-button-bg: var(--hx-color-action-primary-bg, #429797);
1114
+ /* Inline #0d1825 matches text.on-primary's resolved primitive (neutral-900);
1115
+ cold-start without the semantic still paints AA-tuned dark-on-primary
1116
+ rather than white-on-primary (3.43:1 fail). */
1117
+ --hx-button-color: var(--hx-color-text-on-primary, #0d1825);
1118
1118
  --hx-button-border-color: transparent;
1119
1119
  }
1120
1120
 
1121
1121
  .button--secondary {
1122
1122
  --hx-button-bg: transparent;
1123
- /* primary-500 (#429797) text on white surface = 3.43:1 — fails AA.
1124
- primary-600 (#0F7078) on white = 6.06:1 — AA pass. */
1125
- --hx-button-color: var(--hx-color-primary-600, #0f7078);
1126
- --hx-button-border-color: var(--hx-color-primary-600, #0f7078);
1123
+ /* primary-500 (#429797) text on white surface = 3.44:1 — fails AA.
1124
+ primary-600 (#0F7078) on white = 5.82:1 — AA pass. */
1125
+ --hx-button-color: var(--hx-color-action-secondary-fg, #0f7078);
1126
+ --hx-button-border-color: var(--hx-color-action-secondary-border, #0f7078);
1127
1127
  }
1128
1128
 
1129
1129
  .button--secondary:hover {
1130
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-surface-raised, #f5f8f3));
1130
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-secondary-bg-hover, #ebf8f8));
1131
1131
  }
1132
1132
 
1133
1133
  .button--tertiary {
@@ -1141,36 +1141,52 @@
1141
1141
  }
1142
1142
 
1143
1143
  .button--danger {
1144
- --hx-button-bg: var(--hx-color-error-500, #e5493e);
1145
- --hx-button-color: var(--hx-color-text-on-error, #ffffff);
1144
+ --hx-button-bg: var(--hx-color-action-danger-bg, #e5493e);
1145
+ /* Inline #0d1825 matches text.on-error's resolved primitive (neutral-900);
1146
+ cold-start without the semantic still paints AA-tuned dark-on-error
1147
+ rather than white-on-error (3.92:1 fail). */
1148
+ --hx-button-color: var(--hx-color-text-on-error, #0d1825);
1146
1149
  --hx-button-border-color: transparent;
1147
1150
  }
1148
1151
 
1149
1152
  /* on-error tokens are tuned for error-500 (neutral-900 on #E5493E ≈ 4.59:1).
1150
- error-600 (#C92A2A) drops that to 2.25:1 — AA fail. Hold fg at neutral-0
1151
- directly so darker hover fills stay legible. Mirrors hx-toast precedent
1152
- (commit 300e21ab0). */
1153
+ error-600 (#C92A2A) drops that to 3.28:1 — AA fail. text.on-error-strong
1154
+ resolves to neutral-0 across modes (no dark flip) so the darker hover fill
1155
+ stays legible. Mirrors hx-toast precedent (commit 300e21ab0); routed
1156
+ through the semantic tier in 3.2.1 token-cascade remediation. */
1153
1157
  .button--danger:hover {
1154
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-error-600, #c92a2a));
1155
- --hx-button-color: var(--hx-color-neutral-0, #ffffff);
1158
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-danger-bg-hover, #c92a2a));
1159
+ --hx-button-color: var(--hx-color-text-on-error-strong, #ffffff);
1160
+ }
1161
+
1162
+ /* Pressed state binds explicitly to action.danger.bg-active (error-700,
1163
+ #A21312) + text.on-error-strong (neutral-0) = 7.96:1 AA. Base
1164
+ .button:active filter:brightness(0.8) would compound on top of bg-hover
1165
+ (#C92A2A) and produce ~3.3:1 sub-AA on the bound colors. Override the
1166
+ filter to none. HC override on action.danger.bg-active flips to HC
1167
+ error-500 so the on-error-strong (HC = #000) pair is AA in HC too. */
1168
+ .button--danger:active {
1169
+ --hx-button-bg: var(--hx-button-active-bg, var(--hx-color-action-danger-bg-active, #a21312));
1170
+ --hx-button-color: var(--hx-color-text-on-error-strong, #ffffff);
1171
+ filter: none;
1156
1172
  }
1157
1173
 
1158
1174
  .button--ghost {
1159
1175
  --hx-button-bg: transparent;
1160
- /* primary-500 (#429797) text on white surface = 3.43:1 — fails AA.
1161
- primary-600 (#0F7078) on white = 6.06:1 — AA pass. */
1162
- --hx-button-color: var(--hx-color-primary-600, #0f7078);
1176
+ /* primary-500 (#429797) text on white surface = 3.44:1 — fails AA.
1177
+ primary-600 (#0F7078) on white = 5.82:1 — AA pass. */
1178
+ --hx-button-color: var(--hx-color-action-ghost-fg, #0f7078);
1163
1179
  --hx-button-border-color: transparent;
1164
1180
  }
1165
1181
 
1166
1182
  .button--ghost:hover {
1167
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-surface-raised, #f5f8f3));
1183
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-ghost-bg-hover, #ebf8f8));
1168
1184
  }
1169
1185
 
1170
1186
  .button--outline {
1171
1187
  --hx-button-bg: transparent;
1172
1188
  --hx-button-color: var(--hx-color-text-primary, #0d1825);
1173
- --hx-button-border-color: var(--hx-color-border-strong, #8e9c98);
1189
+ --hx-button-border-color: var(--hx-color-border-strong, #66787b);
1174
1190
  }
1175
1191
 
1176
1192
  .button--outline:hover {
@@ -1178,12 +1194,24 @@
1178
1194
  }
1179
1195
 
1180
1196
  /* on-primary token resolves to neutral-900 (#0D1825) — tuned for primary-500.
1181
- primary-600 (#0F7078) drops the pair to 3.07:1 — AA fail. Pin fg at
1182
- neutral-0 for the darker hover fill. Mirrors hx-toast precedent
1183
- (commit 300e21ab0). */
1197
+ primary-600 (#0F7078) drops the pair to 3.07:1 — AA fail. text.on-primary-strong
1198
+ resolves to neutral-0 across modes (no dark flip) for the darker hover fill.
1199
+ Mirrors hx-toast precedent (commit 300e21ab0); routed through the semantic
1200
+ tier in 3.2.1 token-cascade remediation. */
1184
1201
  .button--primary:hover {
1185
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-primary-600, #0f7078));
1186
- --hx-button-color: var(--hx-color-neutral-0, #ffffff);
1202
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-primary-bg-hover, #0f7078));
1203
+ --hx-button-color: var(--hx-color-text-on-primary-strong, #ffffff);
1204
+ }
1205
+
1206
+ /* Pressed state binds explicitly to action.primary.bg-active (primary-700,
1207
+ #0F6363) + text.on-primary-strong (neutral-0) = 7.03:1 AA. The base
1208
+ .button:active filter:brightness(0.8) would compound on top of bg-hover
1209
+ (#0F7078) and produce ~3.7:1 sub-AA on the bound colors. Override the
1210
+ filter to none so the action.*.bg-active token is what actually paints. */
1211
+ .button--primary:active {
1212
+ --hx-button-bg: var(--hx-button-active-bg, var(--hx-color-action-primary-bg-active, #0f6363));
1213
+ --hx-button-color: var(--hx-color-text-on-primary-strong, #ffffff);
1214
+ filter: none;
1187
1215
  }
1188
1216
 
1189
1217
  /* ─── Disabled ─── */
@@ -1227,9 +1255,19 @@
1227
1255
 
1228
1256
  /* ─── Inverted Mode ─── */
1229
1257
 
1258
+ /* Inline-fallback contract for --hx-color-border-on-dark-* in this section:
1259
+ the literal rgba(255, 255, 255, 0.X) arms are a LIGHT-MODE-only last
1260
+ resort (cold-start, CSS-not-loaded). At runtime, hx-theme injects
1261
+ dark.color.border.on-dark-* as overlay-black-* so dark-mode inverted
1262
+ buttons stay visible on the now-light surface.inverse (#EBEEE9). The
1263
+ inline white overlays would render invisible (≈1.1:1) on a light surface,
1264
+ but they never paint when the theme is mounted. If a future change moves
1265
+ these into a context where hx-theme is not guaranteed, replace with
1266
+ mode-aware tokens. */
1267
+
1230
1268
  /* Override text color and filter-based hover/active for all variants */
1231
1269
  :host([inverted]) .button {
1232
- color: var(--hx-button-inverted-color, var(--hx-color-neutral-0, #ffffff));
1270
+ color: var(--hx-button-inverted-color, var(--hx-color-text-inverse, #ffffff));
1233
1271
  filter: none;
1234
1272
  }
1235
1273
 
@@ -1242,37 +1280,89 @@
1242
1280
  }
1243
1281
 
1244
1282
  :host([inverted]) .button:focus-visible {
1283
+ /* WCAG 1.4.11: focus indicator needs ≥3:1 against adjacent colors.
1284
+ border-on-dark-default (overlay-white-30) ≈ 2.7:1 on neutral-900 — fails.
1285
+ border-on-dark-strong (overlay-white-70) ≈ 5:1 — passes. */
1245
1286
  outline-color: var(
1246
1287
  --hx-button-inverted-focus-ring-color,
1247
- var(--hx-overlay-white-50, rgba(255, 255, 255, 0.5))
1288
+ var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7))
1289
+ );
1290
+ }
1291
+
1292
+ /* Primary inverted — resting bg routes through action.primary.bg-inverted-rest
1293
+ so dark mode can flip the fill to primary-600. surface.inverse becomes light
1294
+ (#EBEEE9) in dark mode; primary-500 on #EBEEE9 = 2.94:1 (sub-3:1 UI floor
1295
+ fail for the inverted-button boundary). primary-600 on #EBEEE9 = 4.97:1
1296
+ (AA pass). Light mode tracks action.primary.bg (primary-500, 5.20:1 on
1297
+ dark surface.inverse). */
1298
+ :host([inverted]) .button--primary {
1299
+ --hx-button-bg: var(--hx-color-action-primary-bg-inverted-rest, #429797);
1300
+ }
1301
+
1302
+ /* Primary inverted — hover/pressed lift to action.primary.bg-inverted-hover
1303
+ (primary-400, light teal). The base :host([inverted]) .button rule binds
1304
+ color to text.inverse, which flips by mode (neutral-0 in light, neutral-900
1305
+ in dark). On a permanent light-teal fill, white text drops to 2.4:1 in
1306
+ light mode (AA fail). Pin color to text.on-primary (neutral-900, no
1307
+ dark-mode flip) for both hover and active so the foreground is dark in
1308
+ both modes — neutral-900 on primary-400 = 7.27:1 (AA pass).
1309
+ Pressed === hover visually in inverted mode is acceptable UX (the
1310
+ transient absence of pointer over the button signals release).
1311
+ The fallback chain wraps --hx-button-active-bg (highest precedence) and
1312
+ --hx-button-hover-bg so consumer overrides on either prop apply under
1313
+ :host([inverted]) — the two share a paint here, so either knob is
1314
+ honored, with active-bg winning when both are set. */
1315
+ :host([inverted]) .button--primary:hover,
1316
+ :host([inverted]) .button--primary:active {
1317
+ --hx-button-bg: var(
1318
+ --hx-button-active-bg,
1319
+ var(--hx-button-hover-bg, var(--hx-color-action-primary-bg-inverted-hover, #6ab1b1))
1320
+ );
1321
+ color: var(
1322
+ --hx-button-inverted-primary-interactive-color,
1323
+ var(--hx-color-text-on-primary, #0d1825)
1248
1324
  );
1249
1325
  }
1250
1326
 
1251
- /* Primary inverted — slight transparent white overlay on hover */
1252
- :host([inverted]) .button--primary:hover {
1253
- --hx-button-bg: var(--hx-color-primary-400, #6ab1b1);
1327
+ /* Danger inverted — sister to primary. Hover/pressed lift to
1328
+ action.danger.bg-inverted-hover (error-400, #FC7264). Same foreground
1329
+ contract: text.inverse fails in light mode (white on light red ≈ 2.6:1);
1330
+ pin to text.on-error (neutral-900, no dark-mode flip) for 6.58:1 in both
1331
+ modes. Same active-bg → hover-bg → semantic fallback chain as primary. */
1332
+ :host([inverted]) .button--danger:hover,
1333
+ :host([inverted]) .button--danger:active {
1334
+ --hx-button-bg: var(
1335
+ --hx-button-active-bg,
1336
+ var(--hx-button-hover-bg, var(--hx-color-action-danger-bg-inverted-hover, #fc7264))
1337
+ );
1338
+ color: var(
1339
+ --hx-button-inverted-danger-interactive-color,
1340
+ var(--hx-color-text-on-error, #0d1825)
1341
+ );
1254
1342
  }
1255
1343
 
1256
- /* Secondary inverted — white border and text */
1344
+ /* Secondary inverted — white border and translucent hover fill */
1257
1345
  :host([inverted]) .button--secondary {
1258
- --hx-button-border-color: var(--hx-overlay-white-70, rgba(255, 255, 255, 0.7));
1346
+ --hx-button-border-color: var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
1259
1347
  }
1260
1348
 
1261
1349
  :host([inverted]) .button--secondary:hover {
1262
- --hx-button-bg: var(--hx-overlay-white-15, rgba(255, 255, 255, 0.15));
1350
+ --hx-button-bg: var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3));
1263
1351
  }
1264
1352
 
1265
- /* Tertiary inverted */
1353
+ /* Tertiary inverted — resting at subtle (10%) lifts to default (30%) on hover
1354
+ so the runtime hover delta is visually distinct, not collapsed onto a
1355
+ single token. */
1266
1356
  :host([inverted]) .button--tertiary {
1267
- --hx-button-bg: var(--hx-overlay-white-15, rgba(255, 255, 255, 0.15));
1357
+ --hx-button-bg: var(--hx-color-border-on-dark-subtle, rgba(255, 255, 255, 0.1));
1268
1358
  --hx-button-border-color: transparent;
1269
1359
  }
1270
1360
 
1271
1361
  :host([inverted]) .button--tertiary:hover {
1272
- --hx-button-bg: var(--hx-overlay-white-25, rgba(255, 255, 255, 0.25));
1362
+ --hx-button-bg: var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3));
1273
1363
  }
1274
1364
 
1275
- /* Ghost inverted — transparent base, white hover bg */
1365
+ /* Ghost inverted — transparent base, translucent hover bg */
1276
1366
  :host([inverted]) .button--ghost {
1277
1367
  --hx-button-bg: transparent;
1278
1368
  --hx-button-border-color: transparent;
@@ -1281,17 +1371,17 @@
1281
1371
  :host([inverted]) .button--ghost:hover {
1282
1372
  --hx-button-bg: var(
1283
1373
  --hx-button-inverted-ghost-hover-bg,
1284
- var(--hx-overlay-white-20, rgba(255, 255, 255, 0.2))
1374
+ var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3))
1285
1375
  );
1286
1376
  }
1287
1377
 
1288
1378
  /* Outline inverted — white border */
1289
1379
  :host([inverted]) .button--outline {
1290
- --hx-button-border-color: var(--hx-overlay-white-70, rgba(255, 255, 255, 0.7));
1380
+ --hx-button-border-color: var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
1291
1381
  }
1292
1382
 
1293
1383
  :host([inverted]) .button--outline:hover {
1294
- --hx-button-bg: var(--hx-overlay-white-15, rgba(255, 255, 255, 0.15));
1384
+ --hx-button-bg: var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3));
1295
1385
  }
1296
1386
 
1297
1387
  /* ─── Prefix / Suffix / Label ─── */
@@ -1319,6 +1409,16 @@
1319
1409
  border: 2px solid ButtonText;
1320
1410
  }
1321
1411
 
1412
+ .button:hover {
1413
+ /* Hover affordance must survive in HC. Highlight/HighlightText is the
1414
+ OS-level "selected" pair, mirroring the forcedColorsInteractive mixin's
1415
+ hover contract — kept inline since this component owns its bespoke HC
1416
+ block (XOR rule). */
1417
+ background-color: Highlight;
1418
+ color: HighlightText;
1419
+ border-color: Highlight;
1420
+ }
1421
+
1322
1422
  .button:focus-visible {
1323
1423
  outline: 3px solid Highlight;
1324
1424
  outline-offset: 2px;
@@ -1547,10 +1647,7 @@
1547
1647
 
1548
1648
  .card--interactive:focus-visible {
1549
1649
  outline: var(--hx-focus-ring-width, 2px) solid
1550
- var(
1551
- --hx-card-focus-ring-color,
1552
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
1553
- );
1650
+ var(--hx-card-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1554
1651
  outline-offset: var(--hx-focus-ring-offset, 2px);
1555
1652
  }
1556
1653
 
@@ -1712,7 +1809,7 @@
1712
1809
 
1713
1810
  .nav-btn:focus-visible {
1714
1811
  outline: var(--hx-focus-ring-width, 2px) solid
1715
- var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
1812
+ var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1716
1813
  outline-offset: var(--hx-focus-ring-offset, 2px);
1717
1814
  }
1718
1815
 
@@ -1754,7 +1851,7 @@
1754
1851
 
1755
1852
  .play-pause-btn:focus-visible {
1756
1853
  outline: var(--hx-focus-ring-width, 2px) solid
1757
- var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
1854
+ var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1758
1855
  outline-offset: var(--hx-focus-ring-offset, 2px);
1759
1856
  }
1760
1857
 
@@ -1826,7 +1923,7 @@
1826
1923
 
1827
1924
  .pagination-item:focus-visible {
1828
1925
  outline: var(--hx-focus-ring-width, 2px) solid
1829
- var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
1926
+ var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1830
1927
  outline-offset: var(--hx-focus-ring-offset, 2px);
1831
1928
  border-radius: var(--hx-border-radius-full, 9999px);
1832
1929
  }
@@ -1947,7 +2044,7 @@
1947
2044
  width: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));
1948
2045
  height: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));
1949
2046
  border: var(--hx-border-width-medium, 2px) solid
1950
- var(--hx-checkbox-border-color, var(--hx-color-border-strong, #8e9c98));
2047
+ var(--hx-checkbox-border-color, var(--hx-color-border-strong, #66787b));
1951
2048
  border-radius: var(--hx-checkbox-border-radius, var(--hx-border-radius-sm, 0.25rem));
1952
2049
  background-color: var(--hx-checkbox-bg, var(--hx-color-surface-default, #ffffff));
1953
2050
  transition:
@@ -1963,7 +2060,7 @@
1963
2060
  outline: var(--hx-checkbox-focus-ring-width, var(--hx-focus-ring-width, 2px)) solid
1964
2061
  var(
1965
2062
  --hx-checkbox-focus-ring-color,
1966
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
2063
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
1967
2064
  );
1968
2065
  outline-offset: var(--hx-checkbox-focus-ring-offset, var(--hx-focus-ring-offset, 2px));
1969
2066
  }
@@ -2467,8 +2564,7 @@
2467
2564
  }
2468
2565
 
2469
2566
  .clinical-status__dismiss-button:focus-visible {
2470
- outline: var(--hx-focus-ring-width, 2px) solid
2471
- var(--hx-focus-ring-color, var(--hx-color-focus, #429797));
2567
+ outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);
2472
2568
  outline-offset: var(--hx-focus-ring-offset, 2px);
2473
2569
  opacity: 1;
2474
2570
  }
@@ -2513,8 +2609,7 @@
2513
2609
  }
2514
2610
 
2515
2611
  .clinical-status__acknowledge-button:focus-visible {
2516
- outline: var(--hx-focus-ring-width, 2px) solid
2517
- var(--hx-focus-ring-color, var(--hx-color-focus, #429797));
2612
+ outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);
2518
2613
  outline-offset: var(--hx-focus-ring-offset, 2px);
2519
2614
  }
2520
2615
 
@@ -2632,7 +2727,8 @@
2632
2727
  min-width: var(--hx-touch-target-min, 2.75rem);
2633
2728
  min-height: var(--hx-touch-target-min, 2.75rem);
2634
2729
  padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
2635
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-border-strong, #8e9c98);
2730
+ border: var(--hx-border-width-thin, 1px) solid
2731
+ var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
2636
2732
  border-radius: var(--hx-border-radius-sm, 0.25rem);
2637
2733
  /* Copy button sits on the always-dark block snippet surface; uses inverse family for contrast on the terminal background. */
2638
2734
  background-color: var(--hx-color-surface-inverse, #0d1825);
@@ -2658,7 +2754,7 @@
2658
2754
 
2659
2755
  .code-snippet__copy-button:focus-visible {
2660
2756
  outline: var(--hx-focus-ring-width, 2px) solid
2661
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1));
2757
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078));
2662
2758
  outline-offset: var(--hx-focus-ring-offset, 2px);
2663
2759
  }
2664
2760
 
@@ -2677,7 +2773,8 @@
2677
2773
  min-height: var(--hx-touch-target-min, 2.75rem);
2678
2774
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-4, 1rem);
2679
2775
  border: none;
2680
- border-top: var(--hx-border-width-thin, 1px) solid var(--hx-color-border-strong, #8e9c98);
2776
+ border-top: var(--hx-border-width-thin, 1px) solid
2777
+ var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
2681
2778
  /* Expand button is attached to the always-dark block snippet — inverse family maintains the terminal aesthetic. */
2682
2779
  background-color: var(--hx-color-surface-inverse, #0d1825);
2683
2780
  color: var(--hx-color-text-inverse, #ffffff);
@@ -2699,7 +2796,7 @@
2699
2796
 
2700
2797
  .code-snippet__expand-button:focus-visible {
2701
2798
  outline: var(--hx-focus-ring-width, 2px) solid
2702
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1));
2799
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078));
2703
2800
  outline-offset: var(--hx-focus-ring-offset, 2px);
2704
2801
  }
2705
2802
 
@@ -2789,10 +2886,7 @@
2789
2886
  }
2790
2887
  :is(.trigger, .gradient-grid, .slider-track, .swatch-btn, .format-btn):focus-visible {
2791
2888
  outline: var(--hx-focus-ring-width, 2px) solid
2792
- var(
2793
- --hx-color-picker-focus-ring-color,
2794
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
2795
- );
2889
+ var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
2796
2890
  outline-offset: var(--hx-focus-ring-offset, 2px);
2797
2891
  }
2798
2892
  .trigger-swatch {
@@ -2967,18 +3061,11 @@
2967
3061
  outline: none;
2968
3062
  }
2969
3063
  .color-input:focus-visible {
2970
- border-color: var(
2971
- --hx-color-picker-focus-ring-color,
2972
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
2973
- );
3064
+ border-color: var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
2974
3065
  box-shadow: 0 0 0 2px
2975
3066
  color-mix(
2976
3067
  in srgb,
2977
- var(
2978
- --hx-color-picker-focus-ring-color,
2979
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
2980
- )
2981
- 20%,
3068
+ var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078)) 20%,
2982
3069
  transparent
2983
3070
  );
2984
3071
  }
@@ -3089,7 +3176,7 @@
3089
3176
  display: flex;
3090
3177
  align-items: center;
3091
3178
  border: var(--hx-border-width-thin, 1px) solid
3092
- var(--hx-combobox-border-color, var(--hx-color-border-strong, #8e9c98));
3179
+ var(--hx-combobox-border-color, var(--hx-color-border-strong, #66787b));
3093
3180
  border-radius: var(--hx-combobox-border-radius, var(--hx-border-radius-md, 0.375rem));
3094
3181
  background-color: var(--hx-combobox-bg, var(--hx-color-surface-default, #ffffff));
3095
3182
  transition:
@@ -3099,14 +3186,14 @@
3099
3186
  .field__input-wrapper:focus-within {
3100
3187
  border-color: var(
3101
3188
  --hx-combobox-focus-ring-color,
3102
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
3189
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
3103
3190
  );
3104
3191
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
3105
3192
  color-mix(
3106
3193
  in srgb,
3107
3194
  var(
3108
3195
  --hx-combobox-focus-ring-color,
3109
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
3196
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
3110
3197
  )
3111
3198
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
3112
3199
  transparent
@@ -3183,7 +3270,7 @@
3183
3270
  }
3184
3271
  .field__clear-button:focus-visible {
3185
3272
  outline: var(--hx-focus-ring-width, 2px) solid
3186
- var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
3273
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
3187
3274
  outline-offset: var(--hx-focus-ring-offset, 2px);
3188
3275
  }
3189
3276
  .field__loading-indicator {
@@ -3216,7 +3303,7 @@
3216
3303
  z-index: var(--hx-z-index-dropdown, 1000);
3217
3304
  background-color: var(--hx-combobox-listbox-bg, var(--hx-color-surface-default, #ffffff));
3218
3305
  border: var(--hx-border-width-thin, 1px) solid
3219
- var(--hx-combobox-border-color, var(--hx-color-border-strong, #8e9c98));
3306
+ var(--hx-combobox-border-color, var(--hx-color-border-strong, #66787b));
3220
3307
  border-radius: var(--hx-combobox-border-radius, var(--hx-border-radius-md, 0.375rem));
3221
3308
  box-shadow: var(
3222
3309
  --hx-combobox-listbox-shadow,
@@ -3257,7 +3344,7 @@
3257
3344
  .field__option--focused {
3258
3345
  background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
3259
3346
  outline: var(--hx-focus-ring-width, 2px) solid
3260
- var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
3347
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
3261
3348
  outline-offset: var(--hx-combobox-option-focus-ring-offset, -2px);
3262
3349
  }
3263
3350
  .field__option--focused.field__option--selected {
@@ -3441,7 +3528,7 @@
3441
3528
  }
3442
3529
  .field__chip-remove:focus-visible {
3443
3530
  outline: var(--hx-focus-ring-width, 2px) solid
3444
- var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
3531
+ var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
3445
3532
  outline-offset: var(--hx-focus-ring-offset, 2px);
3446
3533
  opacity: 1;
3447
3534
  }
@@ -3838,10 +3925,7 @@
3838
3925
 
3839
3926
  .sort-btn:focus-visible {
3840
3927
  outline: var(--hx-focus-ring-width, 2px) solid
3841
- var(
3842
- --hx-data-table-focus-ring-color,
3843
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
3844
- );
3928
+ var(--hx-data-table-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
3845
3929
  outline-offset: var(--hx-focus-ring-offset, 2px);
3846
3930
  border-radius: var(--hx-border-radius-sm, 2px);
3847
3931
  }
@@ -3943,10 +4027,7 @@
3943
4027
  [part~='td']:focus-visible,
3944
4028
  [part~='th']:focus-visible {
3945
4029
  outline: var(--hx-focus-ring-width, 2px) solid
3946
- var(
3947
- --hx-data-table-focus-ring-color,
3948
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
3949
- );
4030
+ var(--hx-data-table-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
3950
4031
  outline-offset: var(--hx-focus-ring-offset, -2px);
3951
4032
  border-radius: var(--hx-border-radius-sm, 2px);
3952
4033
  }
@@ -4039,7 +4120,7 @@
4039
4120
  display: flex;
4040
4121
  align-items: stretch;
4041
4122
  border: var(--hx-border-width-thin, 1px) solid
4042
- var(--hx-date-picker-border-color, var(--hx-color-border-strong, #8e9c98));
4123
+ var(--hx-date-picker-border-color, var(--hx-color-border-strong, #66787b));
4043
4124
  border-radius: var(--hx-date-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
4044
4125
  background-color: var(--hx-date-picker-bg, var(--hx-color-surface-default, #ffffff));
4045
4126
  transition:
@@ -4051,14 +4132,14 @@
4051
4132
  .field__input-wrapper:focus-within {
4052
4133
  border-color: var(
4053
4134
  --hx-date-picker-focus-ring-color,
4054
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
4135
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
4055
4136
  );
4056
4137
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
4057
4138
  color-mix(
4058
4139
  in srgb,
4059
4140
  var(
4060
4141
  --hx-date-picker-focus-ring-color,
4061
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
4142
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
4062
4143
  )
4063
4144
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
4064
4145
  transparent
@@ -4118,7 +4199,7 @@
4118
4199
  padding: 0 var(--hx-space-3, 0.75rem);
4119
4200
  border: none;
4120
4201
  border-left: var(--hx-border-width-thin, 1px) solid
4121
- var(--hx-date-picker-border-color, var(--hx-color-border-strong, #8e9c98));
4202
+ var(--hx-date-picker-border-color, var(--hx-color-border-strong, #66787b));
4122
4203
  background: transparent;
4123
4204
  color: var(--hx-date-picker-trigger-color, var(--hx-color-text-muted, #4a5362));
4124
4205
  cursor: pointer;
@@ -4130,13 +4211,13 @@
4130
4211
  .field__trigger:focus-visible {
4131
4212
  color: var(
4132
4213
  --hx-date-picker-focus-ring-color,
4133
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
4214
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
4134
4215
  );
4135
4216
  background-color: color-mix(
4136
4217
  in srgb,
4137
4218
  var(
4138
4219
  --hx-date-picker-focus-ring-color,
4139
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
4220
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
4140
4221
  )
4141
4222
  8%,
4142
4223
  transparent
@@ -4237,7 +4318,7 @@
4237
4318
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
4238
4319
  var(
4239
4320
  --hx-date-picker-focus-ring-color,
4240
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
4321
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
4241
4322
  );
4242
4323
  z-index: 1;
4243
4324
  }
@@ -4573,10 +4654,7 @@
4573
4654
 
4574
4655
  .dialog__close-btn:focus-visible {
4575
4656
  outline: var(--hx-focus-ring-width, 2px) solid
4576
- var(
4577
- --hx-dialog-close-btn-focus-ring-color,
4578
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
4579
- );
4657
+ var(--hx-dialog-close-btn-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
4580
4658
  outline-offset: var(--hx-focus-ring-offset, 2px);
4581
4659
  }
4582
4660
 
@@ -4943,10 +5021,7 @@
4943
5021
 
4944
5022
  .drawer-close-button:focus-visible {
4945
5023
  outline: var(--hx-focus-ring-width, 2px) solid
4946
- var(
4947
- --hx-drawer-close-btn-focus-ring-color,
4948
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
4949
- );
5024
+ var(--hx-drawer-close-btn-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
4950
5025
  outline-offset: var(--hx-focus-ring-offset, 2px);
4951
5026
  }
4952
5027
 
@@ -5326,7 +5401,7 @@
5326
5401
  min-height: var(--hx-space-32, 8rem);
5327
5402
  padding: var(--hx-space-6, 1.5rem) var(--hx-space-4, 1rem);
5328
5403
  border: var(--hx-border-width-thin, 1px) dashed
5329
- var(--hx-file-upload-dropzone-border-color, var(--hx-color-border-strong, #8e9c98));
5404
+ var(--hx-file-upload-dropzone-border-color, var(--hx-color-border-strong, #66787b));
5330
5405
  border-radius: var(--hx-file-upload-dropzone-border-radius, var(--hx-border-radius-lg, 0.5rem));
5331
5406
  background-color: var(--hx-file-upload-dropzone-bg, var(--hx-color-surface-raised, #f5f8f3));
5332
5407
  cursor: pointer;
@@ -5342,15 +5417,9 @@
5342
5417
 
5343
5418
  .dropzone:focus-visible {
5344
5419
  outline: var(--hx-focus-ring-width, 2px) solid
5345
- var(
5346
- --hx-file-upload-focus-ring-color,
5347
- var(--hx-focus-ring-color, var(--hx-color-primary-500))
5348
- );
5420
+ var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
5349
5421
  outline-offset: var(--hx-focus-ring-offset, 2px);
5350
- border-color: var(
5351
- --hx-file-upload-focus-ring-color,
5352
- var(--hx-focus-ring-color, var(--hx-color-primary-500))
5353
- );
5422
+ border-color: var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
5354
5423
  }
5355
5424
 
5356
5425
  .dropzone--drag-over {
@@ -5465,10 +5534,7 @@
5465
5534
 
5466
5535
  .file-item__remove:focus-visible {
5467
5536
  outline: var(--hx-focus-ring-width, 2px) solid
5468
- var(
5469
- --hx-file-upload-focus-ring-color,
5470
- var(--hx-focus-ring-color, var(--hx-color-primary-500))
5471
- );
5537
+ var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
5472
5538
  outline-offset: var(--hx-focus-ring-offset, 2px);
5473
5539
  }
5474
5540
 
@@ -5799,10 +5865,7 @@ export const helixGridItemStyles = css`
5799
5865
 
5800
5866
  .button:focus-visible {
5801
5867
  outline: var(--hx-focus-ring-width, 2px) solid
5802
- var(
5803
- --hx-icon-button-focus-ring-color,
5804
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
5805
- );
5868
+ var(--hx-icon-button-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
5806
5869
  outline-offset: var(--hx-focus-ring-offset, 2px);
5807
5870
  }
5808
5871
 
@@ -5872,7 +5935,7 @@ export const helixGridItemStyles = css`
5872
5935
  .button--tertiary {
5873
5936
  --hx-icon-button-bg: transparent;
5874
5937
  --hx-icon-button-color: var(--hx-color-text-strong, #202b39);
5875
- --hx-icon-button-border-color: var(--hx-color-border-strong, #8e9c98);
5938
+ --hx-icon-button-border-color: var(--hx-color-border-strong, #66787b);
5876
5939
  }
5877
5940
 
5878
5941
  .button--tertiary:hover {
@@ -6047,7 +6110,7 @@ export const helixGridItemStyles = css`
6047
6110
  outline: var(--hx-focus-ring-width, 2px) solid
6048
6111
  var(
6049
6112
  --hx-link-focus-ring-color,
6050
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
6113
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
6051
6114
  );
6052
6115
  outline-offset: var(--hx-focus-ring-offset, 2px);
6053
6116
  border-radius: var(--hx-border-radius-sm, 0.25rem);
@@ -6234,8 +6297,7 @@ export const helixGridItemStyles = css`
6234
6297
  }
6235
6298
 
6236
6299
  .meter:focus-visible {
6237
- outline: var(--hx-focus-ring-width, 2px) solid
6238
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797));
6300
+ outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);
6239
6301
  outline-offset: var(--hx-focus-ring-offset, 2px);
6240
6302
  }
6241
6303
 
@@ -6388,10 +6450,7 @@ export const helixGridItemStyles = css`
6388
6450
 
6389
6451
  [part='toggle']:focus-visible {
6390
6452
  outline: var(--hx-focus-ring-width, 2px) solid
6391
- var(
6392
- --hx-nav-focus-ring-color,
6393
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
6394
- );
6453
+ var(--hx-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
6395
6454
  outline-offset: var(--hx-focus-ring-offset, 2px);
6396
6455
  }
6397
6456
 
@@ -6444,10 +6503,7 @@ export const helixGridItemStyles = css`
6444
6503
 
6445
6504
  .nav__link:focus-visible {
6446
6505
  outline: var(--hx-focus-ring-width, 2px) solid
6447
- var(
6448
- --hx-nav-focus-ring-color,
6449
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
6450
- );
6506
+ var(--hx-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
6451
6507
  outline-offset: var(--hx-focus-ring-offset, 2px);
6452
6508
  }
6453
6509
 
@@ -6965,10 +7021,7 @@ export const helixGridItemStyles = css`
6965
7021
 
6966
7022
  .trigger:focus-visible {
6967
7023
  outline: var(--hx-focus-ring-width, 2px) solid
6968
- var(
6969
- --hx-overflow-menu-focus-ring-color,
6970
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
6971
- );
7024
+ var(--hx-overflow-menu-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
6972
7025
  outline-offset: var(--hx-focus-ring-offset, 2px);
6973
7026
  }
6974
7027
 
@@ -7061,10 +7114,7 @@ export const helixGridItemStyles = css`
7061
7114
  ::slotted([role='menuitemcheckbox']:focus-visible),
7062
7115
  ::slotted([role='menuitemradio']:focus-visible) {
7063
7116
  outline: var(--hx-focus-ring-width, 2px) solid
7064
- var(
7065
- --hx-overflow-menu-focus-ring-color,
7066
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
7067
- );
7117
+ var(--hx-overflow-menu-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
7068
7118
  outline-offset: 0;
7069
7119
  }
7070
7120
 
@@ -7168,10 +7218,7 @@ export const helixGridItemStyles = css`
7168
7218
 
7169
7219
  .button:focus-visible {
7170
7220
  outline: var(--hx-focus-ring-width, 2px) solid
7171
- var(
7172
- --hx-pagination-focus-ring-color,
7173
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
7174
- );
7221
+ var(--hx-pagination-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
7175
7222
  outline-offset: var(--hx-focus-ring-offset, 2px);
7176
7223
  }
7177
7224
 
@@ -7238,10 +7285,7 @@ export const helixGridItemStyles = css`
7238
7285
 
7239
7286
  .page-size-select:focus-visible {
7240
7287
  outline: var(--hx-focus-ring-width, 2px) solid
7241
- var(
7242
- --hx-pagination-focus-ring-color,
7243
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
7244
- );
7288
+ var(--hx-pagination-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
7245
7289
  outline-offset: var(--hx-focus-ring-offset, 2px);
7246
7290
  }
7247
7291
 
@@ -7532,10 +7576,7 @@ export const helixGridItemStyles = css`
7532
7576
 
7533
7577
  .phi-field__toggle:focus-visible {
7534
7578
  outline: var(--hx-focus-ring-width, 2px) solid
7535
- var(
7536
- --hx-phi-field-focus-ring-color,
7537
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
7538
- );
7579
+ var(--hx-phi-field-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
7539
7580
  outline-offset: var(--hx-focus-ring-offset, 2px);
7540
7581
  }
7541
7582
 
@@ -7628,10 +7669,7 @@ export const helixGridItemStyles = css`
7628
7669
 
7629
7670
  [part='body']:focus-visible {
7630
7671
  outline: var(--hx-focus-ring-width, 2px) solid
7631
- var(
7632
- --hx-popover-focus-ring-color,
7633
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
7634
- );
7672
+ var(--hx-popover-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
7635
7673
  outline-offset: var(--hx-focus-ring-offset, 2px);
7636
7674
  }
7637
7675
 
@@ -8147,7 +8185,7 @@ export const helixGridItemStyles = css`
8147
8185
  justify-content: center;
8148
8186
  position: relative;
8149
8187
  cursor: pointer;
8150
- color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #8e9c98));
8188
+ color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #66787b));
8151
8189
  line-height: 1;
8152
8190
  min-width: var(--hx-touch-target-min, 2.75rem);
8153
8191
  min-height: var(--hx-touch-target-min, 2.75rem);
@@ -8156,7 +8194,7 @@ export const helixGridItemStyles = css`
8156
8194
 
8157
8195
  .symbol:focus-visible {
8158
8196
  outline: var(--hx-focus-ring-width, 2px) solid
8159
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1));
8197
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078));
8160
8198
  outline-offset: var(--hx-focus-ring-offset, 2px);
8161
8199
  border-radius: var(--hx-border-radius-sm, 0.25rem);
8162
8200
  }
@@ -8198,7 +8236,7 @@ export const helixGridItemStyles = css`
8198
8236
  position: absolute;
8199
8237
  left: 0;
8200
8238
  top: 0;
8201
- color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #8e9c98));
8239
+ color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #66787b));
8202
8240
  /* Clip to right 50% for the empty half */
8203
8241
  clip-path: inset(0 0 0 50%);
8204
8242
  }
@@ -8266,13 +8304,13 @@ export const helixGridItemStyles = css`
8266
8304
  --_label-color: var(--hx-select-label-color, var(--hx-color-text-strong, #202b39));
8267
8305
 
8268
8306
  /* Border */
8269
- --_border-color: var(--hx-select-border-color, var(--hx-color-border-strong, #8e9c98));
8307
+ --_border-color: var(--hx-select-border-color, var(--hx-color-border-strong, #66787b));
8270
8308
  --_border-radius: var(--hx-select-border-radius, var(--hx-border-radius-md, 0.375rem));
8271
8309
 
8272
8310
  /* Focus ring */
8273
8311
  --_focus-ring-color: var(
8274
8312
  --hx-select-focus-ring-color,
8275
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
8313
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
8276
8314
  );
8277
8315
 
8278
8316
  /* Error */
@@ -8485,8 +8523,7 @@ export const helixGridItemStyles = css`
8485
8523
 
8486
8524
  .field__option--focused {
8487
8525
  background-color: var(--_option-hover-bg);
8488
- outline: var(--hx-focus-ring-width, 2px) solid
8489
- var(--_focus-ring-color, var(--hx-color-primary-500));
8526
+ outline: var(--hx-focus-ring-width, 2px) solid var(--_focus-ring-color);
8490
8527
  outline-offset: var(--hx-select-option-focus-ring-offset, -2px);
8491
8528
  }
8492
8529
 
@@ -8637,7 +8674,7 @@ export const helixGridItemStyles = css`
8637
8674
  and evaluates their text against the page white background, producing
8638
8675
  false-positive color-contrast violations (WCAG 2.1 AA). */
8639
8676
  background-color: var(--hx-side-nav-bg, var(--hx-color-surface-inverse, #0d1825));
8640
- color: var(--hx-side-nav-color, var(--hx-color-text-inverse, #ebeee9));
8677
+ color: var(--hx-side-nav-color, var(--hx-color-text-inverse, #ffffff));
8641
8678
  }
8642
8679
 
8643
8680
  * {
@@ -8652,11 +8689,14 @@ export const helixGridItemStyles = css`
8652
8689
  height: 100%;
8653
8690
  width: var(--hx-side-nav-width, 16rem);
8654
8691
  background-color: var(--hx-side-nav-bg, var(--hx-color-surface-inverse, #0d1825));
8655
- color: var(--hx-side-nav-color, var(--hx-color-text-inverse, #ebeee9));
8692
+ color: var(--hx-side-nav-color, var(--hx-color-text-inverse, #ffffff));
8656
8693
  transition: width var(--hx-transition-normal, 300ms) ease;
8657
8694
  overflow: hidden;
8658
8695
  border-inline-end: var(--hx-border-width-thin, 1px) solid
8659
- var(--hx-side-nav-border-color, var(--hx-color-border-strong, #313e4b));
8696
+ var(
8697
+ --hx-side-nav-border-color,
8698
+ var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7))
8699
+ );
8660
8700
  }
8661
8701
 
8662
8702
  /* ─── Collapsed State ─── */
@@ -8674,7 +8714,10 @@ export const helixGridItemStyles = css`
8674
8714
  flex-shrink: 0;
8675
8715
  min-height: var(--hx-space-14, 3.5rem);
8676
8716
  border-bottom: var(--hx-border-width-thin, 1px) solid
8677
- var(--hx-side-nav-border-color, var(--hx-color-border-strong, #313e4b));
8717
+ var(
8718
+ --hx-side-nav-border-color,
8719
+ var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7))
8720
+ );
8678
8721
  overflow: hidden;
8679
8722
  }
8680
8723
 
@@ -8701,7 +8744,10 @@ export const helixGridItemStyles = css`
8701
8744
  flex-shrink: 0;
8702
8745
  min-height: var(--hx-space-14, 3.5rem);
8703
8746
  border-top: var(--hx-border-width-thin, 1px) solid
8704
- var(--hx-side-nav-border-color, var(--hx-color-border-strong, #313e4b));
8747
+ var(
8748
+ --hx-side-nav-border-color,
8749
+ var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7))
8750
+ );
8705
8751
  overflow: hidden;
8706
8752
  }
8707
8753
 
@@ -8724,7 +8770,7 @@ export const helixGridItemStyles = css`
8724
8770
  border: none;
8725
8771
  border-radius: var(--hx-border-radius-sm, 0.25rem);
8726
8772
  background: transparent;
8727
- color: var(--hx-side-nav-toggle-color, var(--hx-color-text-inverse, #b6bfb9));
8773
+ color: var(--hx-side-nav-toggle-color, var(--hx-color-text-inverse, #ffffff));
8728
8774
  cursor: pointer;
8729
8775
  transition:
8730
8776
  background-color var(--hx-transition-fast, 150ms) ease,
@@ -8733,10 +8779,10 @@ export const helixGridItemStyles = css`
8733
8779
 
8734
8780
  .side-nav__toggle:hover {
8735
8781
  background-color: var(
8736
- --hx-overlay-white-10,
8782
+ --hx-color-border-on-dark-subtle,
8737
8783
  rgba(255, 255, 255, 0.1)
8738
8784
  ); /* fallback for browsers without color-mix() */
8739
- color: var(--hx-color-text-inverse, #ebeee9);
8785
+ color: var(--hx-side-nav-toggle-hover-color, var(--hx-color-text-inverse, #ffffff));
8740
8786
  }
8741
8787
 
8742
8788
  @supports (color: color-mix(in srgb, red 50%, blue)) {
@@ -8747,10 +8793,7 @@ export const helixGridItemStyles = css`
8747
8793
 
8748
8794
  .side-nav__toggle:focus-visible {
8749
8795
  outline: var(--hx-focus-ring-width, 2px) solid
8750
- var(
8751
- --hx-side-nav-focus-ring-color,
8752
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
8753
- );
8796
+ var(--hx-side-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
8754
8797
  outline-offset: var(--hx-focus-ring-offset, 2px);
8755
8798
  }
8756
8799
 
@@ -8796,10 +8839,18 @@ export const helixGridItemStyles = css`
8796
8839
  }
8797
8840
 
8798
8841
  .side-nav__toggle {
8842
+ forced-color-adjust: none;
8843
+ background-color: ButtonFace;
8799
8844
  color: ButtonText;
8800
8845
  border: 1px solid ButtonText;
8801
8846
  }
8802
8847
 
8848
+ .side-nav__toggle:hover {
8849
+ background-color: Highlight;
8850
+ color: HighlightText;
8851
+ border-color: Highlight;
8852
+ }
8853
+
8803
8854
  .side-nav__toggle:focus-visible {
8804
8855
  outline: 3px solid Highlight;
8805
8856
  outline-offset: 2px;
@@ -9102,7 +9153,7 @@ export const helixGridItemStyles = css`
9102
9153
  0 0 0 var(--hx-focus-ring-width, 2px)
9103
9154
  var(
9104
9155
  --hx-slider-focus-ring-color,
9105
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
9156
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
9106
9157
  ),
9107
9158
  var(--hx-slider-thumb-shadow, var(--hx-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05)));
9108
9159
  }
@@ -9159,7 +9210,7 @@ export const helixGridItemStyles = css`
9159
9210
  top: 0;
9160
9211
  width: var(--hx-border-width-thin, 1px);
9161
9212
  height: 100%;
9162
- background-color: var(--hx-slider-tick-color, var(--hx-color-border-strong, #8e9c98));
9213
+ background-color: var(--hx-slider-tick-color, var(--hx-color-border-strong, #66787b));
9163
9214
  transform: translateX(-50%);
9164
9215
  }
9165
9216
 
@@ -9185,13 +9236,13 @@ export const helixGridItemStyles = css`
9185
9236
  /* ─── Disabled state ─── */
9186
9237
 
9187
9238
  .slider--disabled .slider__fill {
9188
- background-color: var(--hx-slider-disabled-fill-bg, var(--hx-color-border-strong, #8e9c98));
9239
+ background-color: var(--hx-slider-disabled-fill-bg, var(--hx-color-border-strong, #66787b));
9189
9240
  }
9190
9241
 
9191
9242
  .slider--disabled .slider__thumb-visual {
9192
9243
  border-color: var(
9193
9244
  --hx-slider-disabled-thumb-border-color,
9194
- var(--hx-color-border-strong, #8e9c98)
9245
+ var(--hx-color-border-strong, #66787b)
9195
9246
  );
9196
9247
  }
9197
9248
  /* ── hx-spinner ── */
@@ -9374,7 +9425,7 @@ export const helixGridItemStyles = css`
9374
9425
  outline: var(--hx-focus-ring-width, 2px) solid
9375
9426
  var(
9376
9427
  --hx-split-button-focus-ring-color,
9377
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
9428
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
9378
9429
  );
9379
9430
  outline-offset: var(--hx-focus-ring-offset, 2px);
9380
9431
  z-index: 1;
@@ -9402,7 +9453,7 @@ export const helixGridItemStyles = css`
9402
9453
  flex-shrink: 0;
9403
9454
  border: var(--hx-border-width-thin, 1px) solid var(--hx-split-button-border-color, transparent);
9404
9455
  border-inline-start: var(--hx-border-width-thin, 1px) solid
9405
- var(--hx-split-button-divider-color, var(--hx-color-primary-400, #6ab1b1));
9456
+ var(--hx-split-button-divider-color, var(--hx-color-primary-900, #0b3232));
9406
9457
  border-radius: 0 var(--hx-split-button-border-radius, var(--hx-border-radius-md, 0.375rem))
9407
9458
  var(--hx-split-button-border-radius, var(--hx-border-radius-md, 0.375rem)) 0;
9408
9459
  background-color: var(--hx-split-button-bg, var(--hx-color-primary-500, #429797));
@@ -9419,7 +9470,7 @@ export const helixGridItemStyles = css`
9419
9470
  outline: var(--hx-focus-ring-width, 2px) solid
9420
9471
  var(
9421
9472
  --hx-split-button-focus-ring-color,
9422
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
9473
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
9423
9474
  );
9424
9475
  outline-offset: var(--hx-focus-ring-offset, 2px);
9425
9476
  z-index: 1;
@@ -9496,7 +9547,7 @@ export const helixGridItemStyles = css`
9496
9547
  --hx-split-button-bg: var(--hx-color-primary-500, #429797);
9497
9548
  --hx-split-button-color: var(--hx-color-text-on-primary, #ffffff);
9498
9549
  --hx-split-button-border-color: transparent;
9499
- --hx-split-button-divider-color: var(--hx-color-primary-400, #6ab1b1);
9550
+ --hx-split-button-divider-color: var(--hx-color-primary-900, #0b3232);
9500
9551
  }
9501
9552
 
9502
9553
  /* primary:hover — replace the universal brightness(0.9) filter (which would
@@ -9583,7 +9634,7 @@ export const helixGridItemStyles = css`
9583
9634
  .split-button--outline .split-button__trigger {
9584
9635
  --hx-split-button-bg: transparent;
9585
9636
  --hx-split-button-color: var(--hx-color-text-primary, #0d1825);
9586
- --hx-split-button-border-color: var(--hx-color-border-strong, #8e9c98);
9637
+ --hx-split-button-border-color: var(--hx-color-border-strong, #66787b);
9587
9638
  --hx-split-button-divider-color: var(--hx-color-border-default, #d6dbd5);
9588
9639
  }
9589
9640
 
@@ -9774,10 +9825,7 @@ export const helixGridItemStyles = css`
9774
9825
 
9775
9826
  .divider:focus-visible {
9776
9827
  outline: var(--hx-focus-ring-width, 2px) solid
9777
- var(
9778
- --hx-split-panel-focus-ring-color,
9779
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
9780
- );
9828
+ var(--hx-split-panel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
9781
9829
  outline-offset: var(--hx-focus-ring-offset, 2px);
9782
9830
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--_divider-hover-color) 30%, transparent);
9783
9831
  }
@@ -9839,10 +9887,7 @@ export const helixGridItemStyles = css`
9839
9887
 
9840
9888
  .collapse-btn:focus-visible {
9841
9889
  outline: var(--hx-focus-ring-width, 2px) solid
9842
- var(
9843
- --hx-split-panel-focus-ring-color,
9844
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
9845
- );
9890
+ var(--hx-split-panel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
9846
9891
  outline-offset: var(--hx-focus-ring-offset, 2px);
9847
9892
  }
9848
9893
 
@@ -10484,7 +10529,7 @@ export const helixStructuredListRowStyles = css`
10484
10529
  border: none;
10485
10530
  padding: 0;
10486
10531
  border-radius: var(--hx-border-radius-full, 9999px);
10487
- background-color: var(--hx-switch-track-bg, var(--hx-color-border-strong, #8e9c98));
10532
+ background-color: var(--hx-switch-track-bg, var(--hx-color-border-strong, #66787b));
10488
10533
  cursor: pointer;
10489
10534
  transition: background-color var(--hx-transition-fast, 150ms ease);
10490
10535
  outline: none;
@@ -10496,7 +10541,7 @@ export const helixStructuredListRowStyles = css`
10496
10541
  outline: var(--hx-focus-ring-width, 2px) solid
10497
10542
  var(
10498
10543
  --hx-switch-focus-ring-color,
10499
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
10544
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
10500
10545
  );
10501
10546
  outline-offset: var(--hx-focus-ring-offset, 2px);
10502
10547
  }
@@ -10506,7 +10551,7 @@ export const helixStructuredListRowStyles = css`
10506
10551
  }
10507
10552
 
10508
10553
  .switch:not(.switch--checked) .switch__track:hover {
10509
- background-color: var(--hx-switch-track-hover-bg, var(--hx-color-border-strong, #8e9c98));
10554
+ background-color: var(--hx-switch-track-hover-bg, var(--hx-color-border-strong, #66787b));
10510
10555
  }
10511
10556
 
10512
10557
  .switch--checked .switch__track:hover {
@@ -10766,8 +10811,7 @@ export const helixStructuredListRowStyles = css`
10766
10811
  /* ─── Focus ─── */
10767
10812
 
10768
10813
  ::slotted(:focus-visible) {
10769
- outline: var(--hx-focus-ring-width, 2px) solid
10770
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797));
10814
+ outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);
10771
10815
  outline-offset: var(--hx-focus-ring-offset, -2px);
10772
10816
  }
10773
10817
 
@@ -11269,17 +11313,17 @@ export const helixTableSectionBaseStyles = css`
11269
11313
  /* Border */
11270
11314
  --_text-input-border-color: var(
11271
11315
  --hx-text-input-border-color,
11272
- var(--hx-input-border-color, var(--hx-color-border-strong, #8e9c98))
11316
+ var(--hx-input-border-color, var(--hx-color-border-strong, #66787b))
11273
11317
  );
11274
11318
  --_text-input-border-color-hover: var(
11275
11319
  --hx-text-input-border-color-hover,
11276
- var(--hx-color-border-strong, #8e9c98)
11320
+ var(--hx-color-border-strong, #66787b)
11277
11321
  );
11278
11322
  --_text-input-border-color-focus: var(
11279
11323
  --hx-text-input-border-color-focus,
11280
11324
  var(
11281
11325
  --hx-input-focus-ring-color,
11282
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
11326
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
11283
11327
  )
11284
11328
  );
11285
11329
  --_text-input-border-color-invalid: var(
@@ -11308,7 +11352,7 @@ export const helixTableSectionBaseStyles = css`
11308
11352
  --hx-text-input-focus-ring-color,
11309
11353
  var(
11310
11354
  --hx-input-focus-ring-color,
11311
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
11355
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
11312
11356
  )
11313
11357
  );
11314
11358
  --_text-input-focus-ring-width: var(
@@ -11539,10 +11583,10 @@ export const helixTableSectionBaseStyles = css`
11539
11583
 
11540
11584
  /* ─── High Contrast Mode (forced-colors) ───
11541
11585
  *
11542
- * Component-specific overrides that complement the shared forcedColorsField
11543
- * mixin (composed in static styles). The mixin handles the input/wrapper
11544
- * core; the rules below extend it to the label / error / help-text /
11545
- * disabled-host surfaces unique to hx-text-input.
11586
+ * Bespoke block sole owner of forced-colors deference for hx-text-input.
11587
+ * Covers wrapper/input/placeholder/focus/disabled/error/label/help-text;
11588
+ * strictly more than forcedColorsField. The mixin is intentionally NOT
11589
+ * composed (XOR rule see styles/forced-colors.ts COMPOSITION RULES).
11546
11590
  */
11547
11591
 
11548
11592
  @media (forced-colors: active) {
@@ -11615,13 +11659,13 @@ export const helixTableSectionBaseStyles = css`
11615
11659
  );
11616
11660
  --_textarea-border-color: var(
11617
11661
  --hx-textarea-border-color,
11618
- var(--hx-input-border-color, var(--hx-color-border-strong, #8e9c98))
11662
+ var(--hx-input-border-color, var(--hx-color-border-strong, #66787b))
11619
11663
  );
11620
11664
  --_textarea-border-color-focus: var(
11621
11665
  --hx-textarea-border-color-focus,
11622
11666
  var(
11623
11667
  --hx-input-focus-ring-color,
11624
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
11668
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
11625
11669
  )
11626
11670
  );
11627
11671
  --_textarea-border-color-invalid: var(
@@ -11945,7 +11989,7 @@ export const helixTableSectionBaseStyles = css`
11945
11989
  display: flex;
11946
11990
  align-items: center;
11947
11991
  border: var(--hx-border-width-thin, 1px) solid
11948
- var(--hx-time-picker-border-color, var(--hx-color-border-strong, #8e9c98));
11992
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
11949
11993
  border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
11950
11994
  background-color: var(--hx-time-picker-bg, var(--hx-color-surface-default, #ffffff));
11951
11995
  transition:
@@ -12009,7 +12053,7 @@ export const helixTableSectionBaseStyles = css`
12009
12053
  min-height: var(--hx-size-10, 2.5rem);
12010
12054
  flex-shrink: 0;
12011
12055
  border-inline-start: var(--hx-border-width-thin, 1px) solid
12012
- var(--hx-time-picker-border-color, var(--hx-color-border-strong, #8e9c98));
12056
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
12013
12057
  }
12014
12058
  .field__toggle:focus-visible {
12015
12059
  outline: var(--hx-focus-ring-width, 2px) solid
@@ -12025,7 +12069,7 @@ export const helixTableSectionBaseStyles = css`
12025
12069
  z-index: var(--hx-z-index-dropdown, 1000);
12026
12070
  background-color: var(--hx-time-picker-listbox-bg, var(--hx-color-surface-default, #ffffff));
12027
12071
  border: var(--hx-border-width-thin, 1px) solid
12028
- var(--hx-time-picker-border-color, var(--hx-color-border-strong, #8e9c98));
12072
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
12029
12073
  border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
12030
12074
  box-shadow: var(
12031
12075
  --hx-time-picker-listbox-shadow,
@@ -12191,33 +12235,38 @@ export const helixTableSectionBaseStyles = css`
12191
12235
  * error-600) because the lighter -500 fills can't pass AA against white
12192
12236
  * text in the precision-cool palette. The neutral-900 on-{role} tokens
12193
12237
  * are tuned for the lighter -500 surfaces and would fail here (e.g.
12194
- * neutral-900 on primary-600 = 3.07:1), so we hold fg at neutral-0
12195
- * directly for primary/success/danger.
12196
- * - neutral-0 on primary-600 (#0F7078) = 5.39:1 — AA pass
12197
- * - neutral-0 on success-700 (#146831) = 6.88:1 — AA pass
12198
- * (success-600 #0E8A4A on white = 4.41:1 — drifts under AA at 14px)
12199
- * - neutral-0 on error-600 (#C92A2A) = 5.92:1 — AA pass
12200
- * - neutral-900 on warning-500 (#C2711C) = 4.83:1 — AA pass
12238
+ * neutral-900 on primary-600 = 3.07:1), so the on-{role}-strong tokens
12239
+ * (neutral-0, no dark-mode flip) keep fg legible on the darker fills.
12240
+ * - text.on-primary-strong on info.bg-strong (primary-600, #0F7078) = 5.82:1
12241
+ * - text.on-success-strong on success.bg-strong (success-700, #146831) = 6.88:1
12242
+ * (success-600 #0E8A4A on white = 4.42:1 — drifts under AA at 14px)
12243
+ * - text.on-error-strong on danger.bg-strong (error-600, #C92A2A) = 5.46:1
12244
+ * - text.on-warning on warning.bg-strong (warning-500, #C2711C) = 4.83:1
12201
12245
  * (warning stays on the lighter -500 surface so on-warning works)
12246
+ *
12247
+ * 3.2.1 token-cascade: bg variants now route through surface.{role}-strong
12248
+ * semantics; fg variants route through text.on-{role}-strong (or on-warning
12249
+ * for the warning variant). Component-tier tokens are NOT bypassed — the
12250
+ * --hx-toast-bg / --hx-toast-color slots remain the single override point.
12202
12251
  */
12203
12252
  .toast--success {
12204
- --hx-toast-bg: var(--hx-color-success-700, #146831);
12205
- --hx-toast-color: var(--hx-color-neutral-0, #ffffff);
12253
+ --hx-toast-bg: var(--hx-color-surface-success-strong, #146831);
12254
+ --hx-toast-color: var(--hx-color-text-on-success-strong, #ffffff);
12206
12255
  }
12207
12256
 
12208
12257
  .toast--warning {
12209
- --hx-toast-bg: var(--hx-color-warning-500, #c2711c);
12258
+ --hx-toast-bg: var(--hx-color-surface-warning-strong, #c2711c);
12210
12259
  --hx-toast-color: var(--hx-color-text-on-warning, #0d1825);
12211
12260
  }
12212
12261
 
12213
12262
  .toast--danger {
12214
- --hx-toast-bg: var(--hx-color-error-600, #c92a2a);
12215
- --hx-toast-color: var(--hx-color-neutral-0, #ffffff);
12263
+ --hx-toast-bg: var(--hx-color-surface-danger-strong, #c92a2a);
12264
+ --hx-toast-color: var(--hx-color-text-on-error-strong, #ffffff);
12216
12265
  }
12217
12266
 
12218
12267
  .toast--info {
12219
- --hx-toast-bg: var(--hx-color-primary-600, #0f7078);
12220
- --hx-toast-color: var(--hx-color-neutral-0, #ffffff);
12268
+ --hx-toast-bg: var(--hx-color-surface-info-strong, #0f7078);
12269
+ --hx-toast-color: var(--hx-color-text-on-primary-strong, #ffffff);
12221
12270
  }
12222
12271
 
12223
12272
  /* ─── Severity Label (WCAG 1.4.1) ─── */
@@ -12310,10 +12359,16 @@ export const helixTableSectionBaseStyles = css`
12310
12359
  }
12311
12360
 
12312
12361
  /* ─── Forced Colors (Windows High Contrast) ─── */
12313
- /* Belt-and-suspenders: rich per-class HC overrides PLUS the forcedColorsSurface mixin. */
12362
+ /* Sole owner: bespoke per-class HC overrides on .toast and .toast__close.
12363
+ The shared forcedColorsSurface mixin was dropped in 3.2.1 (XOR rule);
12364
+ this block now carries the surface contract the mixin used to provide
12365
+ (background:Canvas + color:CanvasText + border:1px solid CanvasText)
12366
+ plus the per-class affordances the mixin never touched. */
12314
12367
 
12315
12368
  @media (forced-colors: active) {
12316
12369
  .toast {
12370
+ background: Canvas;
12371
+ color: CanvasText;
12317
12372
  border: 1px solid CanvasText;
12318
12373
  }
12319
12374
 
@@ -12437,7 +12492,7 @@ export const helixToastStackStyles = css`
12437
12492
  outline: var(--hx-focus-ring-width, 2px) solid
12438
12493
  var(
12439
12494
  --hx-toggle-button-focus-ring-color,
12440
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
12495
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
12441
12496
  );
12442
12497
  outline-offset: var(--hx-focus-ring-offset, 2px);
12443
12498
  }
@@ -12520,7 +12575,7 @@ export const helixToastStackStyles = css`
12520
12575
  .button--outline {
12521
12576
  --hx-toggle-button-bg: transparent;
12522
12577
  --hx-toggle-button-color: var(--hx-color-text-primary, #0d1825);
12523
- --hx-toggle-button-border-color: var(--hx-color-border-strong, #8e9c98);
12578
+ --hx-toggle-button-border-color: var(--hx-color-border-strong, #66787b);
12524
12579
  }
12525
12580
 
12526
12581
  .button--outline:hover {
@@ -12569,8 +12624,8 @@ export const helixToastStackStyles = css`
12569
12624
  --hx-toggle-button-pressed-color,
12570
12625
  var(--hx-color-primary-700, #0f6363)
12571
12626
  );
12572
- --hx-toggle-button-border-color: var(--hx-color-primary-400, #6ab1b1);
12573
- box-shadow: inset 0 0 0 1px var(--hx-color-primary-400, #6ab1b1);
12627
+ --hx-toggle-button-border-color: var(--hx-color-primary-600, #0f7078);
12628
+ box-shadow: inset 0 0 0 1px var(--hx-color-primary-600, #0f7078);
12574
12629
  }
12575
12630
 
12576
12631
  /* Ghost pressed: subtle neutral fill, matching hover behavior as a baseline. */
@@ -12796,10 +12851,7 @@ export const helixToastStackStyles = css`
12796
12851
 
12797
12852
  .mobile-toggle:focus-visible {
12798
12853
  outline: var(--hx-focus-ring-width, 2px) solid
12799
- var(
12800
- --hx-top-nav-focus-ring-color,
12801
- var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
12802
- );
12854
+ var(--hx-top-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
12803
12855
  outline-offset: var(--hx-focus-ring-offset, 2px);
12804
12856
  }
12805
12857
 
@@ -12966,7 +13018,7 @@ export const helixToastStackStyles = css`
12966
13018
 
12967
13019
  .tree:focus-visible {
12968
13020
  outline: var(--hx-focus-ring-width, 2px) solid
12969
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1));
13021
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078));
12970
13022
  outline-offset: var(--hx-focus-ring-offset, 2px);
12971
13023
  border-radius: var(--hx-border-radius-sm, 0.25rem);
12972
13024
  }