@primer/primitives 11.4.1-rc.eb8ee149 → 11.5.0-rc.14eaeb12

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 (190) hide show
  1. package/DESIGN_TOKENS_GUIDE.md +185 -0
  2. package/DESIGN_TOKENS_SPEC.md +136 -8
  3. package/dist/build/formats/jsonFigma.js +8 -1
  4. package/dist/build/formats/markdownLlmGuidelines.js +349 -0
  5. package/dist/build/schemas/borderToken.d.ts +61 -5
  6. package/dist/build/schemas/borderToken.js +2 -1
  7. package/dist/build/schemas/colorToken.d.ts +639 -30
  8. package/dist/build/schemas/colorToken.js +3 -2
  9. package/dist/build/schemas/colorW3cValue.d.ts +28 -0
  10. package/dist/build/schemas/colorW3cValue.js +42 -0
  11. package/dist/build/schemas/cubicBezierToken.d.ts +1 -1
  12. package/dist/build/schemas/dimensionToken.d.ts +9 -2
  13. package/dist/build/schemas/dimensionValue.d.ts +12 -1
  14. package/dist/build/schemas/dimensionValue.js +10 -13
  15. package/dist/build/schemas/durationToken.d.ts +8 -2
  16. package/dist/build/schemas/durationValue.d.ts +11 -1
  17. package/dist/build/schemas/durationValue.js +13 -3
  18. package/dist/build/schemas/fontFamilyToken.d.ts +1 -1
  19. package/dist/build/schemas/fontWeightToken.d.ts +1 -1
  20. package/dist/build/schemas/gradientToken.d.ts +23 -2
  21. package/dist/build/schemas/gradientToken.js +2 -1
  22. package/dist/build/schemas/numberToken.d.ts +1 -1
  23. package/dist/build/schemas/shadowToken.d.ts +1751 -127
  24. package/dist/build/schemas/shadowToken.js +8 -2
  25. package/dist/build/schemas/stringToken.d.ts +1 -1
  26. package/dist/build/schemas/stringToken.js +1 -1
  27. package/dist/build/schemas/tokenType.d.ts +1 -1
  28. package/dist/build/schemas/transitionToken.d.ts +15 -3
  29. package/dist/build/schemas/typographyToken.d.ts +19 -5
  30. package/dist/build/schemas/typographyToken.js +1 -1
  31. package/dist/build/schemas/validTokenType.d.ts +1 -1
  32. package/dist/build/schemas/validTokenType.js +1 -1
  33. package/dist/build/schemas/viewportRangeToken.d.ts +1 -1
  34. package/dist/build/transformers/borderToCss.js +19 -1
  35. package/dist/build/transformers/colorAlphaToCss.js +6 -3
  36. package/dist/build/transformers/colorToHex.js +5 -2
  37. package/dist/build/transformers/colorToRgbAlpha.js +5 -2
  38. package/dist/build/transformers/colorToRgbaFloat.js +5 -0
  39. package/dist/build/transformers/dimensionToPixelUnitless.d.ts +3 -2
  40. package/dist/build/transformers/dimensionToPixelUnitless.js +22 -26
  41. package/dist/build/transformers/dimensionToRem.d.ts +2 -1
  42. package/dist/build/transformers/dimensionToRem.js +21 -22
  43. package/dist/build/transformers/dimensionToRemPxArray.d.ts +2 -1
  44. package/dist/build/transformers/dimensionToRemPxArray.js +21 -22
  45. package/dist/build/transformers/durationToCss.d.ts +2 -1
  46. package/dist/build/transformers/durationToCss.js +19 -12
  47. package/dist/build/transformers/gradientToCss.js +2 -1
  48. package/dist/build/transformers/shadowToCss.js +15 -1
  49. package/dist/build/transformers/utilities/normalizeColorValue.d.ts +23 -0
  50. package/dist/build/transformers/utilities/normalizeColorValue.js +74 -0
  51. package/dist/build/transformers/utilities/parseDimension.d.ts +12 -0
  52. package/dist/build/transformers/utilities/parseDimension.js +31 -0
  53. package/dist/build/types/borderTokenValue.d.ts +5 -2
  54. package/dist/build/types/dimensionTokenValue.d.ts +9 -0
  55. package/dist/build/types/shadowTokenValue.d.ts +8 -5
  56. package/dist/css/base/motion/motion.css +1 -1
  57. package/dist/css/functional/size/radius.css +1 -1
  58. package/dist/css/functional/size/size-coarse.css +1 -0
  59. package/dist/css/functional/size/size-fine.css +1 -0
  60. package/dist/css/functional/size/size.css +5 -0
  61. package/dist/css/functional/themes/dark-colorblind-high-contrast.css +42 -30
  62. package/dist/css/functional/themes/dark-colorblind.css +42 -30
  63. package/dist/css/functional/themes/dark-dimmed-high-contrast.css +42 -30
  64. package/dist/css/functional/themes/dark-dimmed.css +42 -30
  65. package/dist/css/functional/themes/dark-high-contrast.css +42 -30
  66. package/dist/css/functional/themes/dark-tritanopia-high-contrast.css +42 -30
  67. package/dist/css/functional/themes/dark-tritanopia.css +42 -30
  68. package/dist/css/functional/themes/dark.css +42 -30
  69. package/dist/css/functional/themes/light-colorblind-high-contrast.css +42 -30
  70. package/dist/css/functional/themes/light-colorblind.css +42 -30
  71. package/dist/css/functional/themes/light-high-contrast.css +42 -30
  72. package/dist/css/functional/themes/light-tritanopia-high-contrast.css +42 -30
  73. package/dist/css/functional/themes/light-tritanopia.css +42 -30
  74. package/dist/css/functional/themes/light.css +42 -30
  75. package/dist/docs/base/motion/motion.json +96 -24
  76. package/dist/docs/base/size/size.json +76 -19
  77. package/dist/docs/base/typography/typography.json +24 -6
  78. package/dist/docs/functional/size/border.json +26 -11
  79. package/dist/docs/functional/size/breakpoints.json +24 -6
  80. package/dist/docs/functional/size/radius.json +18 -6
  81. package/dist/docs/functional/size/size-coarse.json +55 -2
  82. package/dist/docs/functional/size/size-fine.json +55 -2
  83. package/dist/docs/functional/size/size.json +195 -15
  84. package/dist/docs/functional/themes/dark-colorblind-high-contrast.json +3921 -714
  85. package/dist/docs/functional/themes/dark-colorblind.json +3911 -712
  86. package/dist/docs/functional/themes/dark-dimmed-high-contrast.json +3774 -547
  87. package/dist/docs/functional/themes/dark-dimmed.json +3801 -554
  88. package/dist/docs/functional/themes/dark-high-contrast.json +3926 -715
  89. package/dist/docs/functional/themes/dark-tritanopia-high-contrast.json +3936 -717
  90. package/dist/docs/functional/themes/dark-tritanopia.json +3769 -546
  91. package/dist/docs/functional/themes/dark.json +3920 -713
  92. package/dist/docs/functional/themes/light-colorblind-high-contrast.json +3780 -553
  93. package/dist/docs/functional/themes/light-colorblind.json +3767 -548
  94. package/dist/docs/functional/themes/light-high-contrast.json +3785 -554
  95. package/dist/docs/functional/themes/light-tritanopia-high-contrast.json +3785 -554
  96. package/dist/docs/functional/themes/light-tritanopia.json +3777 -550
  97. package/dist/docs/functional/themes/light.json +3782 -551
  98. package/dist/docs/functional/typography/typography.json +8 -2
  99. package/dist/fallbacks/base/motion/motion.json +48 -12
  100. package/dist/fallbacks/functional/size/size-coarse.json +2 -1
  101. package/dist/fallbacks/functional/size/size-fine.json +2 -1
  102. package/dist/fallbacks/functional/size/size.json +5 -0
  103. package/dist/figma/dimension/dimension.json +56 -1
  104. package/dist/figma/themes/dark-colorblind.json +49 -1
  105. package/dist/figma/themes/dark-dimmed.json +51 -3
  106. package/dist/figma/themes/dark-high-contrast.json +49 -1
  107. package/dist/figma/themes/dark-tritanopia.json +49 -1
  108. package/dist/figma/themes/dark.json +49 -1
  109. package/dist/figma/themes/light-colorblind.json +53 -5
  110. package/dist/figma/themes/light-high-contrast.json +53 -5
  111. package/dist/figma/themes/light-tritanopia.json +53 -5
  112. package/dist/figma/themes/light.json +53 -5
  113. package/dist/internalCss/dark-colorblind-high-contrast.css +42 -30
  114. package/dist/internalCss/dark-colorblind.css +42 -30
  115. package/dist/internalCss/dark-dimmed-high-contrast.css +42 -30
  116. package/dist/internalCss/dark-dimmed.css +42 -30
  117. package/dist/internalCss/dark-high-contrast.css +42 -30
  118. package/dist/internalCss/dark-tritanopia-high-contrast.css +42 -30
  119. package/dist/internalCss/dark-tritanopia.css +42 -30
  120. package/dist/internalCss/dark.css +42 -30
  121. package/dist/internalCss/light-colorblind-high-contrast.css +42 -30
  122. package/dist/internalCss/light-colorblind.css +42 -30
  123. package/dist/internalCss/light-high-contrast.css +42 -30
  124. package/dist/internalCss/light-tritanopia-high-contrast.css +42 -30
  125. package/dist/internalCss/light-tritanopia.css +42 -30
  126. package/dist/internalCss/light.css +42 -30
  127. package/dist/styleLint/base/motion/motion.json +96 -24
  128. package/dist/styleLint/base/size/size.json +76 -19
  129. package/dist/styleLint/base/typography/typography.json +30 -12
  130. package/dist/styleLint/functional/size/border.json +27 -12
  131. package/dist/styleLint/functional/size/breakpoints.json +24 -6
  132. package/dist/styleLint/functional/size/radius.json +19 -7
  133. package/dist/styleLint/functional/size/size-coarse.json +60 -7
  134. package/dist/styleLint/functional/size/size-fine.json +60 -7
  135. package/dist/styleLint/functional/size/size.json +246 -66
  136. package/dist/styleLint/functional/themes/dark-colorblind-high-contrast.json +4060 -733
  137. package/dist/styleLint/functional/themes/dark-colorblind.json +4050 -731
  138. package/dist/styleLint/functional/themes/dark-dimmed-high-contrast.json +3914 -567
  139. package/dist/styleLint/functional/themes/dark-dimmed.json +3941 -574
  140. package/dist/styleLint/functional/themes/dark-high-contrast.json +4065 -734
  141. package/dist/styleLint/functional/themes/dark-tritanopia-high-contrast.json +4075 -736
  142. package/dist/styleLint/functional/themes/dark-tritanopia.json +4079 -736
  143. package/dist/styleLint/functional/themes/dark.json +4059 -732
  144. package/dist/styleLint/functional/themes/light-colorblind-high-contrast.json +4091 -744
  145. package/dist/styleLint/functional/themes/light-colorblind.json +4078 -739
  146. package/dist/styleLint/functional/themes/light-high-contrast.json +4096 -745
  147. package/dist/styleLint/functional/themes/light-tritanopia-high-contrast.json +4096 -745
  148. package/dist/styleLint/functional/themes/light-tritanopia.json +4088 -741
  149. package/dist/styleLint/functional/themes/light.json +4093 -742
  150. package/dist/styleLint/functional/typography/typography.json +28 -22
  151. package/package.json +5 -4
  152. package/src/tokens/base/color/dark/dark.dimmed.json5 +405 -81
  153. package/src/tokens/base/color/dark/dark.high-contrast.json5 +405 -81
  154. package/src/tokens/base/color/dark/dark.json5 +475 -95
  155. package/src/tokens/base/color/dark/display-dark.json5 +960 -192
  156. package/src/tokens/base/color/light/display-light.json5 +960 -192
  157. package/src/tokens/base/color/light/light.high-contrast.json5 +405 -81
  158. package/src/tokens/base/color/light/light.json5 +475 -95
  159. package/src/tokens/base/motion/timing.json5 +12 -12
  160. package/src/tokens/base/size/size.json5 +194 -194
  161. package/src/tokens/base/typography/typography.json5 +6 -6
  162. package/src/tokens/component/avatar.json5 +72 -44
  163. package/src/tokens/component/button.json5 +1846 -1191
  164. package/src/tokens/component/reactionButton.json5 +20 -4
  165. package/src/tokens/functional/border/border.json5 +33 -2
  166. package/src/tokens/functional/color/bgColor.json5 +18 -2
  167. package/src/tokens/functional/color/borderColor.json5 +8 -1
  168. package/src/tokens/functional/color/control.json5 +160 -32
  169. package/src/tokens/functional/color/display.json5 +7 -0
  170. package/src/tokens/functional/color/fgColor.json5 +13 -1
  171. package/src/tokens/functional/color/syntax.json5 +24 -2
  172. package/src/tokens/functional/shadow/shadow.json5 +1254 -163
  173. package/src/tokens/functional/size/border.json5 +8 -8
  174. package/src/tokens/functional/size/breakpoints.json5 +6 -6
  175. package/src/tokens/functional/size/radius.json5 +5 -5
  176. package/src/tokens/functional/size/size-coarse.json5 +15 -0
  177. package/src/tokens/functional/size/size-fine.json5 +15 -0
  178. package/src/tokens/functional/size/size.json5 +65 -15
  179. package/src/tokens/functional/typography/typography.json5 +8 -4
  180. package/dist/build/parsers/index.d.ts +0 -1
  181. package/dist/build/parsers/index.js +0 -1
  182. package/dist/build/parsers/w3cJsonParser.d.ts +0 -6
  183. package/dist/build/parsers/w3cJsonParser.js +0 -25
  184. package/dist/removed/testing.json5 +0 -4
  185. package/guidelines/color.llm.md +0 -16
  186. package/guidelines/guidelines.llm.md +0 -34
  187. package/guidelines/motion.llm.md +0 -41
  188. package/guidelines/spacing.llm.md +0 -20
  189. package/guidelines/typography.llm.md +0 -14
  190. package/src/tokens/removed/testing.json5 +0 -4
@@ -303,7 +303,7 @@
303
303
  --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
304
304
  --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
305
305
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
306
- --avatar-shadow: 0px 0px 0px 2px #0d1117;
306
+ --avatar-shadow: 0 0 0 2px #0d1117;
307
307
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
308
308
  --avatarStack-fade-bgColor-muted: var(--base-color-neutral-5);
309
309
  --base-color-inset: var(--base-color-black);
@@ -349,7 +349,7 @@
349
349
  --borderColor-sponsors-muted: var(--base-color-pink-4); /** Subtle border for GitHub Sponsors content */
350
350
  --borderColor-success-emphasis: var(--base-color-blue-5); /** Strong success border for prominent positive elements */
351
351
  --borderColor-success-muted: var(--base-color-blue-4); /** Subtle success border for positive feedback elements */
352
- --borderColor-translucent: var(--base-color-neutral-9); /** Semi-transparent border for overlays and layered elements */
352
+ --borderColor-translucent: var(--base-color-neutral-9); /** Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
353
353
  --borderColor-transparent: var(--base-color-transparent); /** Fully transparent border */
354
354
  --borderWidth-default: var(--borderWidth-thin); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
355
355
  --boxShadow-thick: inset 0 0 0 var(--borderWidth-thick); /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
@@ -358,8 +358,8 @@
358
358
  --button-danger-bgColor-hover: var(--base-color-orange-9);
359
359
  --button-danger-borderColor-hover: var(--base-color-orange-2);
360
360
  --button-danger-fgColor-rest: var(--base-color-orange-2);
361
- --button-danger-shadow-selected: 0px 0px 0px 0px #000000;
362
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
361
+ --button-danger-shadow-selected: 0 0 0 0 #00000000;
362
+ --button-default-shadow-resting: 0 0 0 0 #00000000;
363
363
  --button-inactive-bgColor: var(--base-color-neutral-4);
364
364
  --button-inactive-fgColor: var(--base-color-neutral-10);
365
365
  --button-invisible-bgColor-active: var(--base-color-neutral-3);
@@ -373,10 +373,10 @@
373
373
  --button-outline-fgColor-disabled: #74b9ff80;
374
374
  --button-outline-fgColor-hover: var(--base-color-blue-3);
375
375
  --button-outline-fgColor-rest: var(--base-color-blue-4);
376
- --button-outline-shadow-selected: 0px 0px 0px 0px #000000;
376
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
377
377
  --button-primary-bgColor-disabled: var(--base-color-blue-6);
378
378
  --button-primary-borderColor-rest: var(--base-color-blue-2);
379
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
379
+ --button-primary-shadow-selected: 0 0 0 0 #00000000;
380
380
  --button-star-iconColor: var(--base-color-yellow-2);
381
381
  --buttonCounter-default-bgColor-rest: var(--base-color-neutral-6);
382
382
  --buttonCounter-outline-bgColor-hover: #194fb133;
@@ -963,6 +963,7 @@
963
963
  --border-sponsors-muted: 0.0625rem solid #f87cbd;
964
964
  --border-success-emphasis: 0.0625rem solid #409eff;
965
965
  --border-success-muted: 0.0625rem solid #5cacff;
966
+ --border-translucent: 0.0625rem solid #9198a1; /** Semi-transparent border shorthand for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
966
967
  --border-transparent: 0.0625rem solid #00000000;
967
968
  --borderColor-closed-muted: var(--borderColor-default); /** Subtle border for closed state indicators */
968
969
  --borderColor-draft-muted: var(--borderColor-default); /** Subtle border for draft state indicators */
@@ -1091,17 +1092,18 @@
1091
1092
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
1092
1093
  --selectMenu-borderColor: var(--borderColor-default);
1093
1094
  --selection-bgColor: #194fb1b3; /** Background color for text selection highlights */
1094
- --shadow-floating-legacy: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
1095
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
1096
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
1097
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
1098
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
1095
+ --shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
1096
+ --shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
1097
+ --shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
1098
+ --shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
1099
+ --shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
1099
1100
  --topicTag-borderColor: var(--borderColor-accent-emphasis);
1100
1101
  --treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
1101
1102
  --underlineNav-iconColor-rest: var(--fgColor-muted);
1102
1103
  --avatar-borderColor: var(--borderColor-emphasis);
1103
1104
  --border-closed-emphasis: var(--border-danger-emphasis);
1104
1105
  --border-closed-muted: var(--border-danger-muted);
1106
+ --border-draft-muted: 0.0625rem solid #b7bdc8;
1105
1107
  --border-emphasis: 0.0625rem solid #b7bdc8;
1106
1108
  --border-muted: 0.0625rem solid #b7bdc8;
1107
1109
  --border-open-emphasis: var(--border-success-emphasis);
@@ -1113,14 +1115,17 @@
1113
1115
  --borderColor-neutral-muted: var(--borderColor-muted); /** Subtle neutral semantic border */
1114
1116
  --button-danger-bgColor-disabled: var(--control-bgColor-disabled);
1115
1117
  --button-danger-borderColor-rest: var(--control-borderColor-rest);
1118
+ --button-danger-iconColor-disabled: var(--button-danger-fgColor-disabled);
1116
1119
  --button-default-bgColor-disabled: var(--control-bgColor-disabled);
1117
1120
  --button-default-borderColor-disabled: var(--control-borderColor-disabled);
1118
1121
  --button-default-borderColor-rest: var(--control-borderColor-rest);
1122
+ --button-default-fgColor-disabled: var(--control-fgColor-disabled);
1119
1123
  --button-invisible-borderColor-hover: var(--control-transparent-borderColor-hover);
1120
1124
  --button-invisible-fgColor-disabled: var(--control-fgColor-disabled);
1121
1125
  --button-invisible-iconColor-disabled: var(--control-fgColor-disabled);
1122
1126
  --button-outline-bgColor-disabled: var(--control-bgColor-disabled);
1123
1127
  --button-primary-fgColor-rest: var(--fgColor-white);
1128
+ --button-primary-iconColor-disabled: var(--button-primary-fgColor-disabled);
1124
1129
  --button-primary-iconColor-rest: var(--fgColor-white);
1125
1130
  --buttonKeybindingHint-danger-bgColor-disabled: var(--buttonKeybindingHint-default-bgColor-disabled);
1126
1131
  --buttonKeybindingHint-danger-fgColor-active: var(--fgColor-onEmphasis);
@@ -1170,10 +1175,10 @@
1170
1175
  --focus-outline: 2px solid #409eff; /** Focus ring outline for keyboard navigation and accessibility. */
1171
1176
  --page-header-bgColor: var(--bgColor-default);
1172
1177
  --progressBar-track-bgColor: var(--bgColor-inverse);
1173
- --shadow-floating-large: 0px 0px 0px 1px #b7bdc8, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
1174
- --shadow-floating-medium: 0px 0px 0px 1px #b7bdc8, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
1175
- --shadow-floating-small: 0px 0px 0px 1px #b7bdc8, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1176
- --shadow-floating-xlarge: 0px 0px 0px 1px #b7bdc8, 0px 32px 64px 0px #010409;
1178
+ --shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
1179
+ --shadow-floating-medium: 0 0 0 1px #b7bdc8, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
1180
+ --shadow-floating-small: 0 0 0 1px #b7bdc8, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1181
+ --shadow-floating-xlarge: 0 0 0 1px #b7bdc8, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
1177
1182
  --tooltip-bgColor: var(--bgColor-inverse);
1178
1183
  --tooltip-fgColor: var(--fgColor-onInverse);
1179
1184
  --border-neutral-emphasis: 0.0625rem solid #b7bdc8;
@@ -1191,6 +1196,7 @@
1191
1196
  --controlKnob-borderColor-rest: var(--control-borderColor-emphasis);
1192
1197
  --progressBar-track-borderColor: var(--progressBar-track-bgColor);
1193
1198
  --underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
1199
+ --border-draft-emphasis: 0.0625rem solid #b7bdc8;
1194
1200
  --button-outline-borderColor-hover: var(--button-default-borderColor-hover);
1195
1201
  --button-outline-borderColor-active: var(--button-outline-borderColor-hover);
1196
1202
  }
@@ -1499,7 +1505,7 @@
1499
1505
  --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
1500
1506
  --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
1501
1507
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
1502
- --avatar-shadow: 0px 0px 0px 2px #0d1117;
1508
+ --avatar-shadow: 0 0 0 2px #0d1117;
1503
1509
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
1504
1510
  --avatarStack-fade-bgColor-muted: var(--base-color-neutral-5);
1505
1511
  --base-color-inset: var(--base-color-black);
@@ -1545,7 +1551,7 @@
1545
1551
  --borderColor-sponsors-muted: var(--base-color-pink-4); /** Subtle border for GitHub Sponsors content */
1546
1552
  --borderColor-success-emphasis: var(--base-color-blue-5); /** Strong success border for prominent positive elements */
1547
1553
  --borderColor-success-muted: var(--base-color-blue-4); /** Subtle success border for positive feedback elements */
1548
- --borderColor-translucent: var(--base-color-neutral-9); /** Semi-transparent border for overlays and layered elements */
1554
+ --borderColor-translucent: var(--base-color-neutral-9); /** Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
1549
1555
  --borderColor-transparent: var(--base-color-transparent); /** Fully transparent border */
1550
1556
  --borderWidth-default: var(--borderWidth-thin); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
1551
1557
  --boxShadow-thick: inset 0 0 0 var(--borderWidth-thick); /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
@@ -1554,8 +1560,8 @@
1554
1560
  --button-danger-bgColor-hover: var(--base-color-orange-9);
1555
1561
  --button-danger-borderColor-hover: var(--base-color-orange-2);
1556
1562
  --button-danger-fgColor-rest: var(--base-color-orange-2);
1557
- --button-danger-shadow-selected: 0px 0px 0px 0px #000000;
1558
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
1563
+ --button-danger-shadow-selected: 0 0 0 0 #00000000;
1564
+ --button-default-shadow-resting: 0 0 0 0 #00000000;
1559
1565
  --button-inactive-bgColor: var(--base-color-neutral-4);
1560
1566
  --button-inactive-fgColor: var(--base-color-neutral-10);
1561
1567
  --button-invisible-bgColor-active: var(--base-color-neutral-3);
@@ -1569,10 +1575,10 @@
1569
1575
  --button-outline-fgColor-disabled: #74b9ff80;
1570
1576
  --button-outline-fgColor-hover: var(--base-color-blue-3);
1571
1577
  --button-outline-fgColor-rest: var(--base-color-blue-4);
1572
- --button-outline-shadow-selected: 0px 0px 0px 0px #000000;
1578
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
1573
1579
  --button-primary-bgColor-disabled: var(--base-color-blue-6);
1574
1580
  --button-primary-borderColor-rest: var(--base-color-blue-2);
1575
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
1581
+ --button-primary-shadow-selected: 0 0 0 0 #00000000;
1576
1582
  --button-star-iconColor: var(--base-color-yellow-2);
1577
1583
  --buttonCounter-default-bgColor-rest: var(--base-color-neutral-6);
1578
1584
  --buttonCounter-outline-bgColor-hover: #194fb133;
@@ -2159,6 +2165,7 @@
2159
2165
  --border-sponsors-muted: 0.0625rem solid #f87cbd;
2160
2166
  --border-success-emphasis: 0.0625rem solid #409eff;
2161
2167
  --border-success-muted: 0.0625rem solid #5cacff;
2168
+ --border-translucent: 0.0625rem solid #9198a1; /** Semi-transparent border shorthand for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
2162
2169
  --border-transparent: 0.0625rem solid #00000000;
2163
2170
  --borderColor-closed-muted: var(--borderColor-default); /** Subtle border for closed state indicators */
2164
2171
  --borderColor-draft-muted: var(--borderColor-default); /** Subtle border for draft state indicators */
@@ -2287,17 +2294,18 @@
2287
2294
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
2288
2295
  --selectMenu-borderColor: var(--borderColor-default);
2289
2296
  --selection-bgColor: #194fb1b3; /** Background color for text selection highlights */
2290
- --shadow-floating-legacy: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
2291
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
2292
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
2293
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
2294
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
2297
+ --shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
2298
+ --shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
2299
+ --shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
2300
+ --shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
2301
+ --shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
2295
2302
  --topicTag-borderColor: var(--borderColor-accent-emphasis);
2296
2303
  --treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
2297
2304
  --underlineNav-iconColor-rest: var(--fgColor-muted);
2298
2305
  --avatar-borderColor: var(--borderColor-emphasis);
2299
2306
  --border-closed-emphasis: var(--border-danger-emphasis);
2300
2307
  --border-closed-muted: var(--border-danger-muted);
2308
+ --border-draft-muted: 0.0625rem solid #b7bdc8;
2301
2309
  --border-emphasis: 0.0625rem solid #b7bdc8;
2302
2310
  --border-muted: 0.0625rem solid #b7bdc8;
2303
2311
  --border-open-emphasis: var(--border-success-emphasis);
@@ -2309,14 +2317,17 @@
2309
2317
  --borderColor-neutral-muted: var(--borderColor-muted); /** Subtle neutral semantic border */
2310
2318
  --button-danger-bgColor-disabled: var(--control-bgColor-disabled);
2311
2319
  --button-danger-borderColor-rest: var(--control-borderColor-rest);
2320
+ --button-danger-iconColor-disabled: var(--button-danger-fgColor-disabled);
2312
2321
  --button-default-bgColor-disabled: var(--control-bgColor-disabled);
2313
2322
  --button-default-borderColor-disabled: var(--control-borderColor-disabled);
2314
2323
  --button-default-borderColor-rest: var(--control-borderColor-rest);
2324
+ --button-default-fgColor-disabled: var(--control-fgColor-disabled);
2315
2325
  --button-invisible-borderColor-hover: var(--control-transparent-borderColor-hover);
2316
2326
  --button-invisible-fgColor-disabled: var(--control-fgColor-disabled);
2317
2327
  --button-invisible-iconColor-disabled: var(--control-fgColor-disabled);
2318
2328
  --button-outline-bgColor-disabled: var(--control-bgColor-disabled);
2319
2329
  --button-primary-fgColor-rest: var(--fgColor-white);
2330
+ --button-primary-iconColor-disabled: var(--button-primary-fgColor-disabled);
2320
2331
  --button-primary-iconColor-rest: var(--fgColor-white);
2321
2332
  --buttonKeybindingHint-danger-bgColor-disabled: var(--buttonKeybindingHint-default-bgColor-disabled);
2322
2333
  --buttonKeybindingHint-danger-fgColor-active: var(--fgColor-onEmphasis);
@@ -2366,10 +2377,10 @@
2366
2377
  --focus-outline: 2px solid #409eff; /** Focus ring outline for keyboard navigation and accessibility. */
2367
2378
  --page-header-bgColor: var(--bgColor-default);
2368
2379
  --progressBar-track-bgColor: var(--bgColor-inverse);
2369
- --shadow-floating-large: 0px 0px 0px 1px #b7bdc8, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
2370
- --shadow-floating-medium: 0px 0px 0px 1px #b7bdc8, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
2371
- --shadow-floating-small: 0px 0px 0px 1px #b7bdc8, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
2372
- --shadow-floating-xlarge: 0px 0px 0px 1px #b7bdc8, 0px 32px 64px 0px #010409;
2380
+ --shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
2381
+ --shadow-floating-medium: 0 0 0 1px #b7bdc8, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
2382
+ --shadow-floating-small: 0 0 0 1px #b7bdc8, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
2383
+ --shadow-floating-xlarge: 0 0 0 1px #b7bdc8, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
2373
2384
  --tooltip-bgColor: var(--bgColor-inverse);
2374
2385
  --tooltip-fgColor: var(--fgColor-onInverse);
2375
2386
  --border-neutral-emphasis: 0.0625rem solid #b7bdc8;
@@ -2387,6 +2398,7 @@
2387
2398
  --controlKnob-borderColor-rest: var(--control-borderColor-emphasis);
2388
2399
  --progressBar-track-borderColor: var(--progressBar-track-bgColor);
2389
2400
  --underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
2401
+ --border-draft-emphasis: 0.0625rem solid #b7bdc8;
2390
2402
  --button-outline-borderColor-hover: var(--button-default-borderColor-hover);
2391
2403
  --button-outline-borderColor-active: var(--button-outline-borderColor-hover);
2392
2404
  }
@@ -301,7 +301,7 @@
301
301
  --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
302
302
  --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
303
303
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
304
- --avatar-shadow: 0px 0px 0px 2px #0d1117;
304
+ --avatar-shadow: 0 0 0 2px #0d1117;
305
305
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
306
306
  --avatarStack-fade-bgColor-muted: var(--base-color-neutral-5);
307
307
  --base-color-inset: var(--base-color-black);
@@ -355,8 +355,8 @@
355
355
  --boxShadow-thicker: inset 0 0 0 var(--borderWidth-thicker); /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
356
356
  --boxShadow-thin: inset 0 0 0 var(--borderWidth-thin); /** Thin shadow used instead of a border to prevent layout shift */
357
357
  --button-danger-bgColor-hover: var(--base-color-orange-6);
358
- --button-danger-shadow-selected: 0px 0px 0px 0px #000000;
359
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
358
+ --button-danger-shadow-selected: 0 0 0 0 #00000000;
359
+ --button-default-shadow-resting: 0 0 0 0 #00000000;
360
360
  --button-inactive-bgColor: var(--base-color-neutral-4);
361
361
  --button-inactive-fgColor: var(--base-color-neutral-9);
362
362
  --button-invisible-bgColor-disabled: var(--base-color-transparent);
@@ -366,9 +366,9 @@
366
366
  --button-outline-fgColor-disabled: #4493f880;
367
367
  --button-outline-fgColor-hover: var(--base-color-blue-3);
368
368
  --button-outline-fgColor-rest: var(--base-color-blue-4);
369
- --button-outline-shadow-selected: 0px 0px 0px 0px #000000;
369
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
370
370
  --button-primary-bgColor-disabled: var(--base-color-blue-6);
371
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
371
+ --button-primary-shadow-selected: 0 0 0 0 #00000000;
372
372
  --button-star-iconColor: var(--base-color-yellow-2);
373
373
  --buttonCounter-danger-bgColor-rest: #49020233;
374
374
  --buttonCounter-default-bgColor-rest: var(--base-color-neutral-6);
@@ -989,7 +989,7 @@
989
989
  --borderColor-draft-muted: #3d444d66; /** Subtle border for draft state indicators */
990
990
  --borderColor-muted: #3d444db3; /** Subtle border for secondary elements and light separators */
991
991
  --borderColor-neutral-emphasis: var(--borderColor-emphasis); /** Strong neutral semantic border */
992
- --borderColor-translucent: #ffffff26; /** Semi-transparent border for overlays and layered elements */
992
+ --borderColor-translucent: #ffffff26; /** Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
993
993
  --borderColor-upsell-emphasis: var(--borderColor-done-emphasis); /** Strong border for prominent upsell elements */
994
994
  --borderColor-upsell-muted: var(--borderColor-done-muted); /** Subtle border for upsell and promotional content */
995
995
  --button-danger-bgColor-active: var(--bgColor-danger-emphasis);
@@ -1114,31 +1114,35 @@
1114
1114
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
1115
1115
  --selectMenu-borderColor: var(--borderColor-default);
1116
1116
  --selection-bgColor: #1f6febb3; /** Background color for text selection highlights */
1117
- --shadow-floating-legacy: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
1118
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
1119
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
1120
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
1121
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
1117
+ --shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
1118
+ --shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
1119
+ --shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
1120
+ --shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
1121
+ --shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
1122
1122
  --tooltip-bgColor: var(--bgColor-emphasis);
1123
1123
  --treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
1124
1124
  --underlineNav-iconColor-rest: var(--fgColor-muted);
1125
1125
  --avatar-borderColor: var(--borderColor-translucent);
1126
1126
  --border-closed-emphasis: var(--border-danger-emphasis);
1127
1127
  --border-closed-muted: var(--border-danger-muted);
1128
+ --border-draft-muted: 0.0625rem solid #3d444d66;
1128
1129
  --border-muted: 0.0625rem solid #3d444db3;
1129
1130
  --border-neutral-emphasis: 0.0625rem solid #656c76;
1130
1131
  --border-open-emphasis: var(--border-success-emphasis);
1131
1132
  --border-open-muted: var(--border-success-muted);
1133
+ --border-translucent: 0.0625rem solid #ffffff26; /** Semi-transparent border shorthand for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
1132
1134
  --border-upsell-emphasis: 0.0625rem solid #8957e5;
1133
1135
  --border-upsell-muted: 0.0625rem solid #ab7df866;
1134
1136
  --borderColor-draft-emphasis: var(--borderColor-neutral-emphasis); /** Strong border for draft state badges */
1135
1137
  --borderColor-neutral-muted: var(--borderColor-muted); /** Subtle neutral semantic border */
1136
1138
  --button-danger-bgColor-disabled: var(--control-bgColor-disabled);
1137
1139
  --button-danger-borderColor-rest: var(--control-borderColor-rest);
1140
+ --button-danger-iconColor-disabled: var(--button-danger-fgColor-disabled);
1138
1141
  --button-danger-iconColor-rest: var(--button-danger-fgColor-rest);
1139
1142
  --button-default-bgColor-disabled: var(--control-bgColor-disabled);
1140
1143
  --button-default-borderColor-disabled: var(--control-borderColor-disabled);
1141
1144
  --button-default-borderColor-rest: var(--control-borderColor-rest);
1145
+ --button-default-fgColor-disabled: var(--control-fgColor-disabled);
1142
1146
  --button-default-fgColor-rest: var(--control-fgColor-rest);
1143
1147
  --button-invisible-fgColor-active: var(--control-fgColor-rest);
1144
1148
  --button-invisible-fgColor-disabled: var(--control-fgColor-disabled);
@@ -1148,6 +1152,7 @@
1148
1152
  --button-outline-bgColor-disabled: var(--control-bgColor-disabled);
1149
1153
  --button-primary-borderColor-rest: var(--borderColor-translucent);
1150
1154
  --button-primary-fgColor-rest: var(--fgColor-white);
1155
+ --button-primary-iconColor-disabled: var(--button-primary-fgColor-disabled);
1151
1156
  --button-primary-iconColor-rest: var(--fgColor-white);
1152
1157
  --buttonKeybindingHint-danger-bgColor-disabled: var(--buttonKeybindingHint-default-bgColor-disabled);
1153
1158
  --buttonKeybindingHint-danger-fgColor-active: var(--fgColor-onEmphasis);
@@ -1176,6 +1181,7 @@
1176
1181
  --focus-outline: 2px solid #1f6feb; /** Focus ring outline for keyboard navigation and accessibility. */
1177
1182
  --overlay-borderColor: var(--borderColor-muted);
1178
1183
  --tooltip-fgColor: var(--fgColor-onEmphasis);
1184
+ --border-draft-emphasis: 0.0625rem solid #656c76;
1179
1185
  --border-neutral-muted: 0.0625rem solid #3d444db3;
1180
1186
  --button-danger-borderColor-hover: var(--button-primary-borderColor-rest);
1181
1187
  --button-default-borderColor-active: var(--button-default-borderColor-rest);
@@ -1185,10 +1191,10 @@
1185
1191
  --buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
1186
1192
  --buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
1187
1193
  --buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
1188
- --shadow-floating-large: 0px 0px 0px 1px #3d444d, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
1189
- --shadow-floating-medium: 0px 0px 0px 1px #3d444d, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
1190
- --shadow-floating-small: 0px 0px 0px 1px #3d444d, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1191
- --shadow-floating-xlarge: 0px 0px 0px 1px #3d444d, 0px 32px 64px 0px #010409;
1194
+ --shadow-floating-large: 0 0 0 1px #3d444d, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
1195
+ --shadow-floating-medium: 0 0 0 1px #3d444d, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
1196
+ --shadow-floating-small: 0 0 0 1px #3d444d, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1197
+ --shadow-floating-xlarge: 0 0 0 1px #3d444d, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
1192
1198
  --underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
1193
1199
  --button-danger-borderColor-active: var(--button-danger-borderColor-hover);
1194
1200
  --button-outline-borderColor-hover: var(--button-default-borderColor-hover);
@@ -1497,7 +1503,7 @@
1497
1503
  --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
1498
1504
  --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
1499
1505
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
1500
- --avatar-shadow: 0px 0px 0px 2px #0d1117;
1506
+ --avatar-shadow: 0 0 0 2px #0d1117;
1501
1507
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
1502
1508
  --avatarStack-fade-bgColor-muted: var(--base-color-neutral-5);
1503
1509
  --base-color-inset: var(--base-color-black);
@@ -1551,8 +1557,8 @@
1551
1557
  --boxShadow-thicker: inset 0 0 0 var(--borderWidth-thicker); /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
1552
1558
  --boxShadow-thin: inset 0 0 0 var(--borderWidth-thin); /** Thin shadow used instead of a border to prevent layout shift */
1553
1559
  --button-danger-bgColor-hover: var(--base-color-orange-6);
1554
- --button-danger-shadow-selected: 0px 0px 0px 0px #000000;
1555
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
1560
+ --button-danger-shadow-selected: 0 0 0 0 #00000000;
1561
+ --button-default-shadow-resting: 0 0 0 0 #00000000;
1556
1562
  --button-inactive-bgColor: var(--base-color-neutral-4);
1557
1563
  --button-inactive-fgColor: var(--base-color-neutral-9);
1558
1564
  --button-invisible-bgColor-disabled: var(--base-color-transparent);
@@ -1562,9 +1568,9 @@
1562
1568
  --button-outline-fgColor-disabled: #4493f880;
1563
1569
  --button-outline-fgColor-hover: var(--base-color-blue-3);
1564
1570
  --button-outline-fgColor-rest: var(--base-color-blue-4);
1565
- --button-outline-shadow-selected: 0px 0px 0px 0px #000000;
1571
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
1566
1572
  --button-primary-bgColor-disabled: var(--base-color-blue-6);
1567
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
1573
+ --button-primary-shadow-selected: 0 0 0 0 #00000000;
1568
1574
  --button-star-iconColor: var(--base-color-yellow-2);
1569
1575
  --buttonCounter-danger-bgColor-rest: #49020233;
1570
1576
  --buttonCounter-default-bgColor-rest: var(--base-color-neutral-6);
@@ -2185,7 +2191,7 @@
2185
2191
  --borderColor-draft-muted: #3d444d66; /** Subtle border for draft state indicators */
2186
2192
  --borderColor-muted: #3d444db3; /** Subtle border for secondary elements and light separators */
2187
2193
  --borderColor-neutral-emphasis: var(--borderColor-emphasis); /** Strong neutral semantic border */
2188
- --borderColor-translucent: #ffffff26; /** Semi-transparent border for overlays and layered elements */
2194
+ --borderColor-translucent: #ffffff26; /** Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
2189
2195
  --borderColor-upsell-emphasis: var(--borderColor-done-emphasis); /** Strong border for prominent upsell elements */
2190
2196
  --borderColor-upsell-muted: var(--borderColor-done-muted); /** Subtle border for upsell and promotional content */
2191
2197
  --button-danger-bgColor-active: var(--bgColor-danger-emphasis);
@@ -2310,31 +2316,35 @@
2310
2316
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
2311
2317
  --selectMenu-borderColor: var(--borderColor-default);
2312
2318
  --selection-bgColor: #1f6febb3; /** Background color for text selection highlights */
2313
- --shadow-floating-legacy: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
2314
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
2315
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
2316
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
2317
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
2319
+ --shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
2320
+ --shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
2321
+ --shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
2322
+ --shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
2323
+ --shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
2318
2324
  --tooltip-bgColor: var(--bgColor-emphasis);
2319
2325
  --treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
2320
2326
  --underlineNav-iconColor-rest: var(--fgColor-muted);
2321
2327
  --avatar-borderColor: var(--borderColor-translucent);
2322
2328
  --border-closed-emphasis: var(--border-danger-emphasis);
2323
2329
  --border-closed-muted: var(--border-danger-muted);
2330
+ --border-draft-muted: 0.0625rem solid #3d444d66;
2324
2331
  --border-muted: 0.0625rem solid #3d444db3;
2325
2332
  --border-neutral-emphasis: 0.0625rem solid #656c76;
2326
2333
  --border-open-emphasis: var(--border-success-emphasis);
2327
2334
  --border-open-muted: var(--border-success-muted);
2335
+ --border-translucent: 0.0625rem solid #ffffff26; /** Semi-transparent border shorthand for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
2328
2336
  --border-upsell-emphasis: 0.0625rem solid #8957e5;
2329
2337
  --border-upsell-muted: 0.0625rem solid #ab7df866;
2330
2338
  --borderColor-draft-emphasis: var(--borderColor-neutral-emphasis); /** Strong border for draft state badges */
2331
2339
  --borderColor-neutral-muted: var(--borderColor-muted); /** Subtle neutral semantic border */
2332
2340
  --button-danger-bgColor-disabled: var(--control-bgColor-disabled);
2333
2341
  --button-danger-borderColor-rest: var(--control-borderColor-rest);
2342
+ --button-danger-iconColor-disabled: var(--button-danger-fgColor-disabled);
2334
2343
  --button-danger-iconColor-rest: var(--button-danger-fgColor-rest);
2335
2344
  --button-default-bgColor-disabled: var(--control-bgColor-disabled);
2336
2345
  --button-default-borderColor-disabled: var(--control-borderColor-disabled);
2337
2346
  --button-default-borderColor-rest: var(--control-borderColor-rest);
2347
+ --button-default-fgColor-disabled: var(--control-fgColor-disabled);
2338
2348
  --button-default-fgColor-rest: var(--control-fgColor-rest);
2339
2349
  --button-invisible-fgColor-active: var(--control-fgColor-rest);
2340
2350
  --button-invisible-fgColor-disabled: var(--control-fgColor-disabled);
@@ -2344,6 +2354,7 @@
2344
2354
  --button-outline-bgColor-disabled: var(--control-bgColor-disabled);
2345
2355
  --button-primary-borderColor-rest: var(--borderColor-translucent);
2346
2356
  --button-primary-fgColor-rest: var(--fgColor-white);
2357
+ --button-primary-iconColor-disabled: var(--button-primary-fgColor-disabled);
2347
2358
  --button-primary-iconColor-rest: var(--fgColor-white);
2348
2359
  --buttonKeybindingHint-danger-bgColor-disabled: var(--buttonKeybindingHint-default-bgColor-disabled);
2349
2360
  --buttonKeybindingHint-danger-fgColor-active: var(--fgColor-onEmphasis);
@@ -2372,6 +2383,7 @@
2372
2383
  --focus-outline: 2px solid #1f6feb; /** Focus ring outline for keyboard navigation and accessibility. */
2373
2384
  --overlay-borderColor: var(--borderColor-muted);
2374
2385
  --tooltip-fgColor: var(--fgColor-onEmphasis);
2386
+ --border-draft-emphasis: 0.0625rem solid #656c76;
2375
2387
  --border-neutral-muted: 0.0625rem solid #3d444db3;
2376
2388
  --button-danger-borderColor-hover: var(--button-primary-borderColor-rest);
2377
2389
  --button-default-borderColor-active: var(--button-default-borderColor-rest);
@@ -2381,10 +2393,10 @@
2381
2393
  --buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
2382
2394
  --buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
2383
2395
  --buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
2384
- --shadow-floating-large: 0px 0px 0px 1px #3d444d, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
2385
- --shadow-floating-medium: 0px 0px 0px 1px #3d444d, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
2386
- --shadow-floating-small: 0px 0px 0px 1px #3d444d, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
2387
- --shadow-floating-xlarge: 0px 0px 0px 1px #3d444d, 0px 32px 64px 0px #010409;
2396
+ --shadow-floating-large: 0 0 0 1px #3d444d, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
2397
+ --shadow-floating-medium: 0 0 0 1px #3d444d, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
2398
+ --shadow-floating-small: 0 0 0 1px #3d444d, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
2399
+ --shadow-floating-xlarge: 0 0 0 1px #3d444d, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
2388
2400
  --underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
2389
2401
  --button-danger-borderColor-active: var(--button-danger-borderColor-hover);
2390
2402
  --button-outline-borderColor-hover: var(--button-default-borderColor-hover);