@zeyos/zx 4.4.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/CHANGELOG.md +283 -0
  2. package/README.md +42 -10
  3. package/dist/types/components/activity-list/activity-list.d.ts +22 -0
  4. package/dist/types/components/app-sidebar/app-sidebar.d.ts +5 -3
  5. package/dist/types/components/avatar/avatar.d.ts +46 -7
  6. package/dist/types/components/badge/badge.d.ts +21 -1
  7. package/dist/types/components/button/button.d.ts +15 -0
  8. package/dist/types/components/chart/chart.d.ts +10 -0
  9. package/dist/types/components/checklist/checklist.d.ts +9 -0
  10. package/dist/types/components/code-editor/code-editor.d.ts +6 -17
  11. package/dist/types/components/datebox/date-range-box.d.ts +5 -1
  12. package/dist/types/components/datebox/datebox.d.ts +7 -2
  13. package/dist/types/components/dialog/dialog.d.ts +46 -6
  14. package/dist/types/components/dropdown/dropdown.d.ts +2 -2
  15. package/dist/types/components/entity-ref/entity-ref.d.ts +2 -2
  16. package/dist/types/components/field/field.d.ts +24 -2
  17. package/dist/types/components/fieldset/fieldset.d.ts +19 -1
  18. package/dist/types/components/file-item/file-item.d.ts +34 -6
  19. package/dist/types/components/form/form.d.ts +12 -1
  20. package/dist/types/components/kanban-view/kanban-card.d.ts +8 -0
  21. package/dist/types/components/launcher/launcher.d.ts +260 -15
  22. package/dist/types/components/list-toolbar/list-toolbar.d.ts +1 -1
  23. package/dist/types/components/menu-button/menu-button.d.ts +33 -5
  24. package/dist/types/components/message/message.d.ts +119 -17
  25. package/dist/types/components/modal/modal.d.ts +13 -2
  26. package/dist/types/components/select/color.d.ts +12 -0
  27. package/dist/types/components/select/glyphs.d.ts +124 -0
  28. package/dist/types/components/select/select.d.ts +11 -3
  29. package/dist/types/components/stat-tile/stat-tile.d.ts +16 -5
  30. package/dist/types/components/tabbox/tabbox.d.ts +9 -0
  31. package/dist/types/components/table/table.d.ts +46 -1
  32. package/dist/types/components/tag-picker/tag-picker.d.ts +21 -4
  33. package/dist/types/components/tree/tree.d.ts +13 -0
  34. package/dist/types/core/breakpoint.d.ts +1 -1
  35. package/dist/types/core/icons.d.ts +23 -25
  36. package/dist/types/core/motion.d.ts +59 -0
  37. package/dist/types/core/overlay-host.d.ts +15 -1
  38. package/dist/types/index.d.ts +5 -3
  39. package/dist/types/zeyos/connect.d.ts +6 -0
  40. package/dist/types/zeyos/form.d.ts +50 -9
  41. package/dist/types/zeyos/index.d.ts +1 -1
  42. package/dist/types/zeyos/query.d.ts +79 -0
  43. package/dist/types/zeyos/schema.d.ts +24 -1
  44. package/dist/types/zeyos/table.d.ts +100 -14
  45. package/dist/types/zeyos/view.d.ts +10 -0
  46. package/dist/zx-zeyos.esm.js +1621 -443
  47. package/dist/zx-zeyos.esm.min.js +53 -5
  48. package/dist/zx.css +1411 -660
  49. package/dist/zx.esm.js +1976 -703
  50. package/dist/zx.esm.min.js +56 -8
  51. package/dist/zx.global.js +1978 -705
  52. package/dist/zx.global.min.js +56 -8
  53. package/dist/zx.min.css +1 -1
  54. package/docs/api.json +219 -34
  55. package/docs/llms.md +472 -110
  56. package/docs/llms.txt +3 -3
  57. package/package.json +1 -1
  58. package/src/components/account-menu/account-menu.css +35 -10
  59. package/src/components/activity-item/activity-item.css +1 -1
  60. package/src/components/activity-item/activity-item.js +3 -0
  61. package/src/components/activity-list/activity-list.css +38 -3
  62. package/src/components/activity-list/activity-list.js +34 -0
  63. package/src/components/app-icon/app-icon.css +1 -1
  64. package/src/components/app-rail/app-rail.css +40 -79
  65. package/src/components/app-sidebar/app-sidebar.css +109 -174
  66. package/src/components/app-sidebar/app-sidebar.js +21 -6
  67. package/src/components/aurora/aurora.css +5 -3
  68. package/src/components/avatar/avatar.css +32 -7
  69. package/src/components/avatar/avatar.js +72 -8
  70. package/src/components/badge/badge.css +54 -2
  71. package/src/components/badge/badge.js +29 -2
  72. package/src/components/button/button.css +67 -9
  73. package/src/components/button/button.js +38 -0
  74. package/src/components/calendar/calendar.css +46 -46
  75. package/src/components/card/card.css +2 -2
  76. package/src/components/card-view/card-view.css +9 -7
  77. package/src/components/chart/chart.css +4 -1
  78. package/src/components/chart/chart.js +12 -0
  79. package/src/components/check-button/check-button.css +10 -2
  80. package/src/components/checklist/checklist.css +9 -2
  81. package/src/components/checklist/checklist.js +11 -5
  82. package/src/components/checklist/field-adapter.js +3 -1
  83. package/src/components/code-editor/code-editor.css +6 -5
  84. package/src/components/code-editor/code-editor.js +19 -1
  85. package/src/components/context-menu/context-menu.css +9 -4
  86. package/src/components/copy/copy-button.css +6 -0
  87. package/src/components/copy/copy-input.css +8 -3
  88. package/src/components/data-filter/data-filter.css +5 -4
  89. package/src/components/date-picker/date-picker.css +6 -6
  90. package/src/components/date-picker/date-range-picker.css +3 -3
  91. package/src/components/date-picker/time-picker.css +1 -1
  92. package/src/components/datebox/date-range-box.css +79 -2
  93. package/src/components/datebox/date-range-box.js +13 -2
  94. package/src/components/datebox/datebox.css +79 -2
  95. package/src/components/datebox/datebox.js +13 -2
  96. package/src/components/dialog/dialog.css +26 -0
  97. package/src/components/dialog/dialog.js +99 -17
  98. package/src/components/dropdown/dropdown.css +1 -1
  99. package/src/components/dropdown/dropdown.js +5 -3
  100. package/src/components/empty-state/empty-state.css +2 -2
  101. package/src/components/entity-ref/entity-ref.css +1 -1
  102. package/src/components/entity-ref/entity-ref.js +1 -1
  103. package/src/components/field/field.css +28 -9
  104. package/src/components/field/field.js +68 -26
  105. package/src/components/field-upload/field-upload.css +1 -1
  106. package/src/components/fieldset/fieldset.css +5 -3
  107. package/src/components/fieldset/fieldset.js +28 -5
  108. package/src/components/file-item/file-item.js +144 -10
  109. package/src/components/filter/filter.js +7 -3
  110. package/src/components/filter-panel/filter-panel.css +1 -1
  111. package/src/components/finder/finder.css +15 -13
  112. package/src/components/form/form.css +5 -4
  113. package/src/components/form/form.js +11 -2
  114. package/src/components/grid/grid.css +1 -1
  115. package/src/components/groupbox/groupbox.css +1 -1
  116. package/src/components/kanban-view/kanban-card.js +11 -3
  117. package/src/components/kanban-view/kanban-view.css +39 -15
  118. package/src/components/kanban-view/kanban-view.js +4 -4
  119. package/src/components/launcher/launcher.css +107 -25
  120. package/src/components/launcher/launcher.js +503 -41
  121. package/src/components/list-toolbar/list-toolbar.css +13 -8
  122. package/src/components/list-toolbar/list-toolbar.js +1 -1
  123. package/src/components/master-panel/master-panel.css +2 -0
  124. package/src/components/menu-button/menu-button.css +9 -4
  125. package/src/components/menu-button/menu-button.js +65 -9
  126. package/src/components/message/message.css +33 -3
  127. package/src/components/message/message.js +217 -15
  128. package/src/components/modal/modal.js +18 -3
  129. package/src/components/navigation-bar/navigation-bar.css +18 -9
  130. package/src/components/number-field/field-adapter.js +1 -0
  131. package/src/components/number-field/number-field.css +70 -0
  132. package/src/components/number-field/number-field.js +2 -0
  133. package/src/components/pagination/pagination.css +8 -6
  134. package/src/components/panel/panel.css +1 -1
  135. package/src/components/rating/rating.css +7 -0
  136. package/src/components/select/color.js +22 -0
  137. package/src/components/select/field-adapter.js +2 -0
  138. package/src/components/select/glyphs.js +165 -0
  139. package/src/components/select/select.css +138 -45
  140. package/src/components/select/select.js +83 -47
  141. package/src/components/sheet/sheet.css +11 -8
  142. package/src/components/slider/slider.css +16 -2
  143. package/src/components/slider/slider.js +1 -1
  144. package/src/components/sort-control/sort-control.css +4 -1
  145. package/src/components/stat-tile/stat-tile.css +41 -46
  146. package/src/components/stat-tile/stat-tile.js +17 -6
  147. package/src/components/tabbox/tabbox.css +32 -27
  148. package/src/components/tabbox/tabbox.js +5 -1
  149. package/src/components/table/table.css +104 -29
  150. package/src/components/table/table.js +90 -16
  151. package/src/components/tag-picker/tag-picker.css +83 -5
  152. package/src/components/tag-picker/tag-picker.js +25 -8
  153. package/src/components/timebox/timebox.css +22 -2
  154. package/src/components/toggle/toggle.css +12 -1
  155. package/src/components/toolbar/toolbar.js +2 -2
  156. package/src/components/tooltip/tooltip.css +4 -0
  157. package/src/components/tooltip/tooltip.js +10 -3
  158. package/src/components/tree/tree.css +25 -16
  159. package/src/components/tree/tree.js +31 -0
  160. package/src/components/value-list/value-list.css +3 -3
  161. package/src/components/view/record-view.js +1 -1
  162. package/src/core/breakpoint.js +1 -1
  163. package/src/core/icons.js +193 -60
  164. package/src/core/motion.js +147 -0
  165. package/src/core/overlay-host.js +21 -2
  166. package/src/index.js +5 -3
  167. package/src/internal/app-rail.js +1 -2
  168. package/src/zeyos/connect.js +6 -2
  169. package/src/zeyos/form.js +67 -27
  170. package/src/zeyos/index.js +1 -1
  171. package/src/zeyos/query.js +153 -0
  172. package/src/zeyos/schema.js +144 -27
  173. package/src/zeyos/table.js +68 -5
  174. package/src/zeyos/view.js +6 -0
  175. package/styles/base.css +56 -0
  176. package/styles/icons.css +11 -1
  177. package/styles/tokens/dark.css +113 -37
  178. package/styles/tokens/global.css +121 -27
  179. package/styles/tokens/semantic.css +100 -31
  180. package/styles/tokens/themes.css +7 -6
  181. package/styles/zx.css +0 -1
  182. package/styles/tokens/density.css +0 -9
package/dist/zx.css CHANGED
@@ -13,16 +13,21 @@
13
13
  --zx-gray-800: #27272a;
14
14
  --zx-gray-900: #18181b;
15
15
  --zx-gray-950: #09090b;
16
- --zx-green-300: #5ee9b5;
17
- --zx-green-400: #21cc75;
18
- --zx-green-500: #009966;
19
- --zx-green-600: #007a55;
20
- --zx-green-700: #006045;
21
- --zx-accent-300: var(--zx-green-300);
22
- --zx-accent-400: var(--zx-green-400);
23
- --zx-accent-500: var(--zx-green-500);
24
- --zx-accent-600: var(--zx-green-600);
25
- --zx-accent-700: var(--zx-green-700);
16
+ --zx-emerald-300: #5ee9b5;
17
+ --zx-emerald-400: #21cc75;
18
+ --zx-emerald-500: #009966;
19
+ --zx-emerald-600: #007a55;
20
+ --zx-emerald-700: #006045;
21
+ --zx-accent-300: var(--zx-emerald-300);
22
+ --zx-accent-400: var(--zx-emerald-400);
23
+ --zx-accent-500: var(--zx-emerald-500);
24
+ --zx-accent-600: var(--zx-emerald-600);
25
+ --zx-accent-700: var(--zx-emerald-700);
26
+ --zx-green-300: #b3e87a;
27
+ --zx-green-400: #90cd40;
28
+ --zx-green-500: #6ba211;
29
+ --zx-green-600: #4d7800;
30
+ --zx-green-700: #3d5e06;
26
31
  --zx-red-400: #ff6467;
27
32
  --zx-red-500: #e7000b;
28
33
  --zx-red-600: #c10007;
@@ -32,19 +37,47 @@
32
37
  --zx-blue-400: #51a2ff;
33
38
  --zx-blue-500: #2b7fff;
34
39
  --zx-blue-600: #155dfc;
35
- --zx-space-1: 4px;
36
- --zx-space-2: 8px;
37
- --zx-space-3: 12px;
38
- --zx-space-4: 16px;
39
- --zx-space-5: 20px;
40
- --zx-space-6: 24px;
41
- --zx-space-7: 32px;
42
- --zx-space-8: 40px;
43
- --zx-radius: 0.45rem;
44
- --zx-radius-sm: calc(var(--zx-radius) - 4px);
45
- --zx-radius-md: calc(var(--zx-radius) - 2px);
40
+ --zx-tone-blue-300: #b3d4ff;
41
+ --zx-tone-blue-500: #3a81d7;
42
+ --zx-tone-blue-700: #1d589d;
43
+ --zx-tone-teal-300: #a8ddda;
44
+ --zx-tone-teal-500: #009390;
45
+ --zx-tone-teal-700: #006663;
46
+ --zx-tone-green-300: #b5deb5;
47
+ --zx-tone-green-500: #419547;
48
+ --zx-tone-green-700: #226929;
49
+ --zx-tone-amber-300: #eacc9b;
50
+ --zx-tone-amber-500: #a77600;
51
+ --zx-tone-amber-700: #745100;
52
+ --zx-tone-orange-300: #fbc3a7;
53
+ --zx-tone-orange-500: #c55f1d;
54
+ --zx-tone-orange-700: #8e3c00;
55
+ --zx-tone-red-300: #ffbfb8;
56
+ --zx-tone-red-500: #ca5551;
57
+ --zx-tone-red-700: #923432;
58
+ --zx-tone-pink-300: #f6bfd7;
59
+ --zx-tone-pink-500: #bc598c;
60
+ --zx-tone-pink-700: #873761;
61
+ --zx-tone-violet-300: #d4c8fe;
62
+ --zx-tone-violet-500: #886acf;
63
+ --zx-tone-violet-700: #5e4697;
64
+ --zx-tone-slate-300: #cad2dd;
65
+ --zx-tone-slate-500: #728295;
66
+ --zx-tone-slate-700: #4d5969;
67
+ --zx-space-unit: 4px;
68
+ --zx-space-1: calc(var(--zx-space-unit) * 1);
69
+ --zx-space-2: calc(var(--zx-space-unit) * 2);
70
+ --zx-space-3: calc(var(--zx-space-unit) * 3);
71
+ --zx-space-4: calc(var(--zx-space-unit) * 4);
72
+ --zx-space-5: calc(var(--zx-space-unit) * 5);
73
+ --zx-space-6: calc(var(--zx-space-unit) * 6);
74
+ --zx-space-7: calc(var(--zx-space-unit) * 8);
75
+ --zx-space-8: calc(var(--zx-space-unit) * 10);
76
+ --zx-radius: 4px;
77
+ --zx-radius-sm: calc(var(--zx-radius) * .5);
78
+ --zx-radius-md: calc(var(--zx-radius) * .75);
46
79
  --zx-radius-lg: var(--zx-radius);
47
- --zx-radius-xl: calc(var(--zx-radius) + 4px);
80
+ --zx-radius-xl: calc(var(--zx-radius) * 1.5);
48
81
  --zx-radius-full: 999px;
49
82
  --zx-font-sans:
50
83
  Inter,
@@ -72,12 +105,29 @@
72
105
  --zx-text-lg: 16px;
73
106
  --zx-text-xl: 18px;
74
107
  --zx-text-2xl: 24px;
108
+ --zx-text-3xl: 30px;
109
+ --zx-weight-medium: 500;
110
+ --zx-weight-semibold: 600;
111
+ --zx-tracking-tight: -0.01em;
112
+ --zx-tracking-title: -0.015em;
75
113
  --zx-shadow-1: 0 1px 2px 0 rgb(9 9 11 / 5%);
76
114
  --zx-shadow-2: 0 1px 3px 0 rgb(9 9 11 / 10%), 0 1px 2px -1px rgb(9 9 11 / 10%);
77
115
  --zx-shadow-3: 0 10px 15px -3px rgb(9 9 11 / 10%), 0 4px 6px -4px rgb(9 9 11 / 10%);
78
116
  --zx-dur-fast: 120ms;
79
117
  --zx-dur-base: 180ms;
80
118
  --zx-ease: cubic-bezier(.2, .6, .3, 1);
119
+ --zx-ease-spring: cubic-bezier(.34, 1.32, .64, 1);
120
+ --zx-ease-drawer: cubic-bezier(.32, .72, 0, 1);
121
+ }
122
+ [data-zx-motion=reduced] {
123
+ --zx-dur-fast: 0ms;
124
+ --zx-dur-base: 0ms;
125
+ }
126
+ @media (prefers-reduced-motion: reduce) {
127
+ :root {
128
+ --zx-dur-fast: 0ms;
129
+ --zx-dur-base: 0ms;
130
+ }
81
131
  }
82
132
 
83
133
  /* styles/tokens/themes.css */
@@ -92,7 +142,7 @@
92
142
  --zx-accent-300: #ffd9a8;
93
143
  --zx-accent-400: #f7bc60;
94
144
  --zx-accent-500: #d0952f;
95
- --zx-accent-600: #96690f;
145
+ --zx-accent-600: #916510;
96
146
  --zx-accent-700: #6f4e0b;
97
147
  }
98
148
  [data-zx-preset=ocean] {
@@ -132,15 +182,16 @@
132
182
  --zx-color-bg-surface: var(--zx-gray-0);
133
183
  --zx-color-bg-raised: var(--zx-gray-0);
134
184
  --zx-color-bg-control: var(--zx-gray-0);
185
+ --zx-color-bg-chrome: color-mix(in srgb, var(--zx-gray-100) 80%, var(--zx-gray-50));
135
186
  --zx-color-bg-muted: var(--zx-gray-100);
136
- --zx-color-bg-hover: var(--zx-gray-100);
137
187
  --zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-600) 10%, var(--zx-gray-0));
138
188
  --zx-color-bg-backdrop: color-mix(in srgb, var(--zx-gray-950) 50%, transparent);
139
189
  --zx-color-border: var(--zx-gray-200);
140
190
  --zx-color-border-strong: var(--zx-gray-300);
141
191
  --zx-color-border-control: var(--zx-gray-200);
142
192
  --zx-color-text: var(--zx-gray-950);
143
- --zx-color-text-muted: var(--zx-gray-500);
193
+ --zx-color-text-muted: color-mix(in srgb, var(--zx-gray-500) 50%, var(--zx-gray-600));
194
+ --zx-color-text-subtle: color-mix(in srgb, var(--zx-gray-500) 70%, var(--zx-gray-400));
144
195
  --zx-color-text-placeholder: var(--zx-gray-400);
145
196
  --zx-color-text-invert: var(--zx-gray-50);
146
197
  --zx-color-app-icon-glyph: var(--zx-gray-0);
@@ -150,7 +201,11 @@
150
201
  --zx-color-accent-active: var(--zx-accent-700);
151
202
  --zx-color-accent-subtle: color-mix(in srgb, var(--zx-accent-600) 10%, var(--zx-gray-0));
152
203
  --zx-color-on-accent: var(--zx-gray-0);
153
- --zx-color-danger: var(--zx-red-500);
204
+ --zx-color-accent-solid: var(--zx-accent-600);
205
+ --zx-color-accent-solid-hover: var(--zx-accent-700);
206
+ --zx-color-accent-solid-active: color-mix(in srgb, var(--zx-accent-700) 82%, var(--zx-gray-950));
207
+ --zx-color-on-accent-solid: var(--zx-gray-0);
208
+ --zx-color-danger: var(--zx-red-600);
154
209
  --zx-color-danger-bg: color-mix(in srgb, var(--zx-red-500) 10%, var(--zx-gray-0));
155
210
  --zx-color-warning: var(--zx-amber-600);
156
211
  --zx-color-warning-bg: color-mix(in srgb, var(--zx-amber-400) 18%, var(--zx-gray-0));
@@ -158,26 +213,74 @@
158
213
  --zx-color-success-bg: color-mix(in srgb, var(--zx-green-600) 10%, var(--zx-gray-0));
159
214
  --zx-color-info: var(--zx-blue-600);
160
215
  --zx-color-info-bg: color-mix(in srgb, var(--zx-blue-500) 10%, var(--zx-gray-0));
161
- --zx-color-ring: var(--zx-color-accent);
162
- --zx-focus-ring: 0 0 0 3px color-mix(in srgb, var(--zx-color-ring) 45%, transparent);
163
- --zx-control-height: 32px;
216
+ --zx-color-tone-blue-fg: var(--zx-tone-blue-700);
217
+ --zx-color-tone-teal-fg: var(--zx-tone-teal-700);
218
+ --zx-color-tone-green-fg: var(--zx-tone-green-700);
219
+ --zx-color-tone-amber-fg: var(--zx-tone-amber-700);
220
+ --zx-color-tone-orange-fg: var(--zx-tone-orange-700);
221
+ --zx-color-tone-red-fg: var(--zx-tone-red-700);
222
+ --zx-color-tone-pink-fg: var(--zx-tone-pink-700);
223
+ --zx-color-tone-violet-fg: var(--zx-tone-violet-700);
224
+ --zx-color-tone-slate-fg: var(--zx-tone-slate-700);
225
+ --zx-color-chart-1: var(--zx-tone-blue-500);
226
+ --zx-color-chart-2: var(--zx-tone-orange-500);
227
+ --zx-color-chart-3: var(--zx-tone-teal-500);
228
+ --zx-color-chart-4: var(--zx-tone-amber-500);
229
+ --zx-color-chart-5: var(--zx-tone-pink-500);
230
+ --zx-color-chart-6: var(--zx-tone-green-500);
231
+ --zx-color-chart-7: var(--zx-tone-violet-500);
232
+ --zx-color-chart-8: var(--zx-tone-red-500);
233
+ --zx-control-height: 30px;
164
234
  --zx-control-pad-x: 10px;
165
235
  --zx-control-radius: var(--zx-radius-lg);
166
236
  --zx-control-font-size: var(--zx-text-md);
167
237
  --zx-control-font-weight: 500;
168
238
  --zx-overlay-shadow: var(--zx-shadow-3);
239
+ --zx-drag-shadow: 0 2px 4px -1px color-mix(in srgb, var(--zx-gray-950) 10%, transparent), 0 12px 28px -6px color-mix(in srgb, var(--zx-gray-950) 22%, transparent);
169
240
  --zx-overlay-blur: 8px;
170
241
  --zx-color-glass-border: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
171
242
  --zx-color-glass-highlight: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
172
243
  --zx-color-glass-highlight-strong: color-mix(in srgb, var(--zx-gray-0) 38%, transparent);
173
- --zx-color-app-icon-depth: color-mix(in srgb, var(--zx-color-app-icon-shade) 26%, transparent);
174
244
  --zx-app-icon-core-strength: 52%;
175
245
  --zx-app-icon-rim-strength: 58%;
176
246
  --zx-app-icon-bloom-strength: 64%;
177
247
  --zx-app-icon-specular-strength: 72%;
178
- --zx-app-icon-rim-base: var(--zx-color-glass-highlight);
179
248
  --zx-app-icon-halo-size: 14px;
180
249
  --zx-app-icon-halo-strength: 22%;
250
+ --zx-color-overlay-backdrop: color-mix(in srgb, var(--zx-gray-950) 28%, transparent);
251
+ --zx-overlay-specular-strength: 48%;
252
+ --zx-glass-blur: 8px;
253
+ --zx-glass-saturation: 130%;
254
+ --zx-glass-color-strength: 82%;
255
+ --zx-glass-filter-icon: blur(4px) saturate(118%);
256
+ --zx-glass-filter-control: blur(6px) saturate(116%);
257
+ --zx-glass-filter-raised: blur(8px) saturate(120%);
258
+ --zx-glass-filter-chrome: blur(10px) saturate(122%);
259
+ --zx-glass-filter-overlay: blur(16px) saturate(140%);
260
+ --zx-glass-filter-panel: blur(14px) saturate(132%);
261
+ --zx-glass-control-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-shadow-1);
262
+ --zx-glass-chrome-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 16%, transparent), var(--zx-shadow-1);
263
+ --zx-header-bg: var(--zx-gray-900);
264
+ --zx-header-text: var(--zx-gray-50);
265
+ }
266
+ :root,
267
+ [data-zx-theme] {
268
+ --zx-color-bg-hover: color-mix(in srgb, var(--zx-color-text) 4.5%, transparent);
269
+ --zx-color-bg-current: color-mix(in srgb, var(--zx-color-text) 8%, transparent);
270
+ --zx-color-border-subtle: color-mix(in srgb, var(--zx-color-text) 7%, transparent);
271
+ --zx-color-tone-blue-bg: color-mix(in srgb, var(--zx-tone-blue-500) 13%, var(--zx-color-bg-surface));
272
+ --zx-color-tone-teal-bg: color-mix(in srgb, var(--zx-tone-teal-500) 13%, var(--zx-color-bg-surface));
273
+ --zx-color-tone-green-bg: color-mix(in srgb, var(--zx-tone-green-500) 13%, var(--zx-color-bg-surface));
274
+ --zx-color-tone-amber-bg: color-mix(in srgb, var(--zx-tone-amber-500) 13%, var(--zx-color-bg-surface));
275
+ --zx-color-tone-orange-bg: color-mix(in srgb, var(--zx-tone-orange-500) 13%, var(--zx-color-bg-surface));
276
+ --zx-color-tone-red-bg: color-mix(in srgb, var(--zx-tone-red-500) 13%, var(--zx-color-bg-surface));
277
+ --zx-color-tone-pink-bg: color-mix(in srgb, var(--zx-tone-pink-500) 13%, var(--zx-color-bg-surface));
278
+ --zx-color-tone-violet-bg: color-mix(in srgb, var(--zx-tone-violet-500) 13%, var(--zx-color-bg-surface));
279
+ --zx-color-tone-slate-bg: color-mix(in srgb, var(--zx-tone-slate-500) 13%, var(--zx-color-bg-surface));
280
+ --zx-color-ring: var(--zx-color-accent);
281
+ --zx-focus-ring: 0 0 0 3px color-mix(in srgb, var(--zx-color-ring) 45%, transparent);
282
+ --zx-color-app-icon-depth: color-mix(in srgb, var(--zx-color-app-icon-shade) 26%, transparent);
283
+ --zx-app-icon-rim-base: var(--zx-color-glass-highlight);
181
284
  --zx-color-glass-surface: color-mix(in srgb, var(--zx-color-bg-raised) 78%, transparent);
182
285
  --zx-color-glass-chrome: color-mix(in srgb, var(--zx-color-bg-surface) 90%, transparent);
183
286
  --zx-color-glass-control: color-mix(in srgb, var(--zx-color-bg-control) 88%, transparent);
@@ -185,13 +288,11 @@
185
288
  --zx-color-overlay-base: var(--zx-color-bg-raised);
186
289
  --zx-color-overlay-surface: color-mix(in srgb, var(--zx-color-overlay-base) 72%, transparent);
187
290
  --zx-color-overlay-panel: color-mix(in srgb, var(--zx-color-overlay-base) 80%, transparent);
188
- --zx-color-overlay-backdrop: color-mix(in srgb, var(--zx-gray-950) 28%, transparent);
189
291
  --zx-color-overlay-border: color-mix(in srgb, var(--zx-color-text) 14%, transparent);
190
292
  --zx-color-overlay-hover: color-mix(in srgb, var(--zx-color-text) 8%, transparent);
191
293
  --zx-color-overlay-selected: color-mix(in srgb, var(--zx-color-accent) 18%, transparent);
192
294
  --zx-color-overlay-divider: color-mix(in srgb, var(--zx-color-text) 11%, transparent);
193
295
  --zx-color-overlay-scrim: color-mix(in srgb, var(--zx-color-overlay-base) 28%, transparent);
194
- --zx-overlay-specular-strength: 48%;
195
296
  --zx-overlay-surface-image:
196
297
  linear-gradient(
197
298
  145deg,
@@ -221,15 +322,6 @@
221
322
  180deg,
222
323
  color-mix(in srgb, var(--zx-color-glass-highlight) 16%, transparent) 0%,
223
324
  transparent 28%);
224
- --zx-glass-blur: 8px;
225
- --zx-glass-saturation: 130%;
226
- --zx-glass-color-strength: 82%;
227
- --zx-glass-filter-icon: blur(4px) saturate(118%);
228
- --zx-glass-filter-control: blur(6px) saturate(116%);
229
- --zx-glass-filter-raised: blur(8px) saturate(120%);
230
- --zx-glass-filter-chrome: blur(10px) saturate(122%);
231
- --zx-glass-filter-overlay: blur(16px) saturate(140%);
232
- --zx-glass-filter-panel: blur(14px) saturate(132%);
233
325
  --zx-app-icon-shadow:
234
326
  inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 14%, transparent),
235
327
  inset 0 -1px 0 color-mix(in srgb, var(--zx-gray-950) 28%, transparent),
@@ -238,8 +330,6 @@
238
330
  inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 20%, transparent),
239
331
  inset 0 -1px 0 color-mix(in srgb, var(--zx-gray-950) 32%, transparent),
240
332
  0 4px 10px color-mix(in srgb, var(--zx-color-app-icon-shade) 30%, transparent);
241
- --zx-glass-control-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-shadow-1);
242
- --zx-glass-chrome-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 16%, transparent), var(--zx-shadow-1);
243
333
  --zx-glass-raised-shadow: inset 0 1px 0 color-mix(in srgb, var(--zx-gray-0) 18%, transparent), var(--zx-overlay-shadow);
244
334
  --zx-glass-overlay-shadow:
245
335
  inset 0 1px 0 color-mix(in srgb, var(--zx-color-glass-highlight-strong) 42%, transparent),
@@ -249,14 +339,11 @@
249
339
  inset 0 1px 0 color-mix(in srgb, var(--zx-color-glass-highlight-strong) 34%, transparent),
250
340
  inset 0 0 0 1px color-mix(in srgb, var(--zx-color-glass-highlight) 14%, transparent),
251
341
  var(--zx-overlay-shadow);
252
- --zx-header-bg: var(--zx-gray-900);
253
- --zx-header-text: var(--zx-gray-50);
254
342
  }
255
343
  @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
256
344
  :root,
257
345
  .zx-scope,
258
346
  [data-zx-theme],
259
- [data-zx-density],
260
347
  [data-zx-preset] {
261
348
  --zx-color-glass-chrome: var(--zx-color-bg-surface) !important;
262
349
  --zx-color-glass-surface: var(--zx-color-bg-raised) !important;
@@ -293,7 +380,6 @@
293
380
  :root,
294
381
  .zx-scope,
295
382
  [data-zx-theme],
296
- [data-zx-density],
297
383
  [data-zx-preset] {
298
384
  --zx-color-glass-chrome: Canvas !important;
299
385
  --zx-color-glass-surface: Canvas !important;
@@ -324,7 +410,6 @@
324
410
  :root,
325
411
  .zx-scope,
326
412
  [data-zx-theme],
327
- [data-zx-density],
328
413
  [data-zx-preset] {
329
414
  --zx-color-overlay-surface: var(--zx-color-bg-raised) !important;
330
415
  --zx-color-overlay-panel: var(--zx-color-bg-raised) !important;
@@ -341,94 +426,143 @@
341
426
  /* styles/tokens/dark.css */
342
427
  [data-zx-theme=dark] {
343
428
  color-scheme: dark;
344
- --zx-color-bg-page: var(--zx-gray-950);
345
- --zx-color-bg-surface: var(--zx-gray-900);
346
- --zx-color-bg-raised: var(--zx-gray-800);
429
+ --zx-color-bg-page: color-mix(in srgb, var(--zx-gray-900) 80%, var(--zx-gray-800));
430
+ --zx-color-bg-chrome: color-mix(in srgb, var(--zx-color-bg-page) 75%, var(--zx-color-bg-surface));
431
+ --zx-color-bg-surface: color-mix(in srgb, var(--zx-gray-900) 40%, var(--zx-gray-800));
432
+ --zx-color-bg-raised: color-mix(in srgb, var(--zx-gray-800) 90%, var(--zx-gray-700));
347
433
  --zx-color-bg-control: color-mix(in srgb, var(--zx-gray-0) 5%, transparent);
348
- --zx-color-bg-muted: var(--zx-gray-800);
349
- --zx-color-bg-hover: color-mix(in srgb, var(--zx-gray-0) 8%, transparent);
350
- --zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-400) 18%, var(--zx-gray-900));
434
+ --zx-color-bg-muted: var(--zx-color-bg-raised);
435
+ --zx-color-bg-hover: color-mix(in srgb, var(--zx-color-text) 5%, transparent);
436
+ --zx-color-bg-current: color-mix(in srgb, var(--zx-color-text) 9%, transparent);
437
+ --zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-400) 13%, var(--zx-color-bg-surface));
351
438
  --zx-color-bg-backdrop: color-mix(in srgb, var(--zx-gray-950) 75%, transparent);
352
- --zx-color-overlay-base: color-mix(in srgb, var(--zx-color-bg-raised) 42%, var(--zx-color-bg-page));
439
+ --zx-color-overlay-base: color-mix(in srgb, var(--zx-gray-800) 60%, var(--zx-gray-700));
353
440
  --zx-color-overlay-backdrop: color-mix(in srgb, var(--zx-gray-950) 38%, transparent);
354
- --zx-color-border: color-mix(in srgb, var(--zx-gray-0) 10%, transparent);
355
- --zx-color-border-strong: color-mix(in srgb, var(--zx-gray-0) 28%, transparent);
356
- --zx-color-border-control: color-mix(in srgb, var(--zx-gray-0) 15%, transparent);
357
- --zx-color-text: var(--zx-gray-50);
441
+ --zx-color-border: color-mix(in srgb, var(--zx-gray-0) 9%, transparent);
442
+ --zx-color-border-subtle: color-mix(in srgb, var(--zx-gray-0) 6%, transparent);
443
+ --zx-color-border-strong: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
444
+ --zx-color-border-control: color-mix(in srgb, var(--zx-gray-0) 14%, transparent);
445
+ --zx-color-text: var(--zx-gray-200);
358
446
  --zx-color-text-muted: var(--zx-gray-400);
447
+ --zx-color-text-subtle: color-mix(in srgb, var(--zx-gray-500) 50%, var(--zx-gray-400));
359
448
  --zx-color-text-placeholder: var(--zx-gray-500);
360
449
  --zx-color-text-invert: var(--zx-gray-950);
361
450
  --zx-color-accent: var(--zx-accent-400);
362
451
  --zx-color-accent-hover: var(--zx-accent-300);
363
452
  --zx-color-accent-active: var(--zx-accent-500);
364
- --zx-color-accent-subtle: color-mix(in srgb, var(--zx-accent-400) 16%, var(--zx-gray-900));
453
+ --zx-color-accent-subtle: color-mix(in srgb, var(--zx-accent-400) 16%, var(--zx-color-bg-surface));
365
454
  --zx-color-on-accent: var(--zx-gray-950);
455
+ --zx-color-accent-solid: var(--zx-accent-600);
456
+ --zx-color-accent-solid-hover: var(--zx-accent-700);
457
+ --zx-color-accent-solid-active: color-mix(in srgb, var(--zx-accent-700) 82%, var(--zx-gray-950));
458
+ --zx-color-on-accent-solid: var(--zx-gray-0);
366
459
  --zx-color-danger: var(--zx-red-400);
367
- --zx-color-danger-bg: color-mix(in srgb, var(--zx-red-400) 16%, var(--zx-gray-900));
460
+ --zx-color-danger-bg: color-mix(in srgb, var(--zx-red-400) 13%, var(--zx-color-bg-surface));
368
461
  --zx-color-warning: var(--zx-amber-400);
369
- --zx-color-warning-bg: color-mix(in srgb, var(--zx-amber-400) 16%, var(--zx-gray-900));
462
+ --zx-color-warning-bg: color-mix(in srgb, var(--zx-amber-400) 16%, var(--zx-color-bg-surface));
370
463
  --zx-color-success: var(--zx-green-400);
371
- --zx-color-success-bg: color-mix(in srgb, var(--zx-green-400) 16%, var(--zx-gray-900));
464
+ --zx-color-success-bg: color-mix(in srgb, var(--zx-green-400) 16%, var(--zx-color-bg-surface));
372
465
  --zx-color-info: var(--zx-blue-400);
373
- --zx-color-info-bg: color-mix(in srgb, var(--zx-blue-400) 16%, var(--zx-gray-900));
466
+ --zx-color-info-bg: color-mix(in srgb, var(--zx-blue-400) 16%, var(--zx-color-bg-surface));
467
+ --zx-color-tone-blue-bg: color-mix(in srgb, var(--zx-tone-blue-500) 20%, var(--zx-color-bg-surface));
468
+ --zx-color-tone-blue-fg: var(--zx-tone-blue-300);
469
+ --zx-color-tone-teal-bg: color-mix(in srgb, var(--zx-tone-teal-500) 20%, var(--zx-color-bg-surface));
470
+ --zx-color-tone-teal-fg: var(--zx-tone-teal-300);
471
+ --zx-color-tone-green-bg: color-mix(in srgb, var(--zx-tone-green-500) 20%, var(--zx-color-bg-surface));
472
+ --zx-color-tone-green-fg: var(--zx-tone-green-300);
473
+ --zx-color-tone-amber-bg: color-mix(in srgb, var(--zx-tone-amber-500) 20%, var(--zx-color-bg-surface));
474
+ --zx-color-tone-amber-fg: var(--zx-tone-amber-300);
475
+ --zx-color-tone-orange-bg: color-mix(in srgb, var(--zx-tone-orange-500) 20%, var(--zx-color-bg-surface));
476
+ --zx-color-tone-orange-fg: var(--zx-tone-orange-300);
477
+ --zx-color-tone-red-bg: color-mix(in srgb, var(--zx-tone-red-500) 20%, var(--zx-color-bg-surface));
478
+ --zx-color-tone-red-fg: var(--zx-tone-red-300);
479
+ --zx-color-tone-pink-bg: color-mix(in srgb, var(--zx-tone-pink-500) 20%, var(--zx-color-bg-surface));
480
+ --zx-color-tone-pink-fg: var(--zx-tone-pink-300);
481
+ --zx-color-tone-violet-bg: color-mix(in srgb, var(--zx-tone-violet-500) 20%, var(--zx-color-bg-surface));
482
+ --zx-color-tone-violet-fg: var(--zx-tone-violet-300);
483
+ --zx-color-tone-slate-bg: color-mix(in srgb, var(--zx-tone-slate-500) 20%, var(--zx-color-bg-surface));
484
+ --zx-color-tone-slate-fg: var(--zx-tone-slate-300);
374
485
  --zx-color-ring: var(--zx-color-accent);
375
486
  --zx-focus-ring: 0 0 0 3px color-mix(in srgb, var(--zx-color-ring) 45%, transparent);
376
487
  --zx-overlay-shadow: 0 12px 36px rgb(0 0 0 / 45%);
488
+ --zx-drag-shadow:
489
+ 0 0 0 1px color-mix(in srgb, var(--zx-gray-0) 7%, transparent),
490
+ 0 2px 6px -1px rgb(0 0 0 / 40%),
491
+ 0 14px 32px -6px rgb(0 0 0 / 60%);
377
492
  --zx-header-bg: var(--zx-gray-900);
378
493
  --zx-header-text: var(--zx-gray-50);
379
494
  }
380
495
  @media (prefers-color-scheme: dark) {
381
496
  [data-zx-theme=auto] {
382
497
  color-scheme: dark;
383
- --zx-color-bg-page: var(--zx-gray-950);
384
- --zx-color-bg-surface: var(--zx-gray-900);
385
- --zx-color-bg-raised: var(--zx-gray-800);
498
+ --zx-color-bg-page: color-mix(in srgb, var(--zx-gray-900) 80%, var(--zx-gray-800));
499
+ --zx-color-bg-chrome: color-mix(in srgb, var(--zx-color-bg-page) 75%, var(--zx-color-bg-surface));
500
+ --zx-color-bg-surface: color-mix(in srgb, var(--zx-gray-900) 40%, var(--zx-gray-800));
501
+ --zx-color-bg-raised: color-mix(in srgb, var(--zx-gray-800) 90%, var(--zx-gray-700));
386
502
  --zx-color-bg-control: color-mix(in srgb, var(--zx-gray-0) 5%, transparent);
387
- --zx-color-bg-muted: var(--zx-gray-800);
388
- --zx-color-bg-hover: color-mix(in srgb, var(--zx-gray-0) 8%, transparent);
389
- --zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-400) 18%, var(--zx-gray-900));
503
+ --zx-color-bg-muted: var(--zx-color-bg-raised);
504
+ --zx-color-bg-hover: color-mix(in srgb, var(--zx-color-text) 5%, transparent);
505
+ --zx-color-bg-current: color-mix(in srgb, var(--zx-color-text) 9%, transparent);
506
+ --zx-color-bg-selected: color-mix(in srgb, var(--zx-accent-400) 13%, var(--zx-color-bg-surface));
390
507
  --zx-color-bg-backdrop: color-mix(in srgb, var(--zx-gray-950) 75%, transparent);
391
- --zx-color-overlay-base: color-mix(in srgb, var(--zx-color-bg-raised) 42%, var(--zx-color-bg-page));
508
+ --zx-color-overlay-base: color-mix(in srgb, var(--zx-gray-800) 60%, var(--zx-gray-700));
392
509
  --zx-color-overlay-backdrop: color-mix(in srgb, var(--zx-gray-950) 38%, transparent);
393
- --zx-color-border: color-mix(in srgb, var(--zx-gray-0) 10%, transparent);
394
- --zx-color-border-strong: color-mix(in srgb, var(--zx-gray-0) 28%, transparent);
395
- --zx-color-border-control: color-mix(in srgb, var(--zx-gray-0) 15%, transparent);
396
- --zx-color-text: var(--zx-gray-50);
510
+ --zx-color-border: color-mix(in srgb, var(--zx-gray-0) 9%, transparent);
511
+ --zx-color-border-subtle: color-mix(in srgb, var(--zx-gray-0) 6%, transparent);
512
+ --zx-color-border-strong: color-mix(in srgb, var(--zx-gray-0) 24%, transparent);
513
+ --zx-color-border-control: color-mix(in srgb, var(--zx-gray-0) 14%, transparent);
514
+ --zx-color-text: var(--zx-gray-200);
397
515
  --zx-color-text-muted: var(--zx-gray-400);
516
+ --zx-color-text-subtle: color-mix(in srgb, var(--zx-gray-500) 50%, var(--zx-gray-400));
398
517
  --zx-color-text-placeholder: var(--zx-gray-500);
399
518
  --zx-color-text-invert: var(--zx-gray-950);
400
519
  --zx-color-accent: var(--zx-accent-400);
401
520
  --zx-color-accent-hover: var(--zx-accent-300);
402
521
  --zx-color-accent-active: var(--zx-accent-500);
403
- --zx-color-accent-subtle: color-mix(in srgb, var(--zx-accent-400) 16%, var(--zx-gray-900));
522
+ --zx-color-accent-subtle: color-mix(in srgb, var(--zx-accent-400) 16%, var(--zx-color-bg-surface));
404
523
  --zx-color-on-accent: var(--zx-gray-950);
524
+ --zx-color-accent-solid: var(--zx-accent-600);
525
+ --zx-color-accent-solid-hover: var(--zx-accent-700);
526
+ --zx-color-accent-solid-active: color-mix(in srgb, var(--zx-accent-700) 82%, var(--zx-gray-950));
527
+ --zx-color-on-accent-solid: var(--zx-gray-0);
405
528
  --zx-color-danger: var(--zx-red-400);
406
- --zx-color-danger-bg: color-mix(in srgb, var(--zx-red-400) 16%, var(--zx-gray-900));
529
+ --zx-color-danger-bg: color-mix(in srgb, var(--zx-red-400) 13%, var(--zx-color-bg-surface));
407
530
  --zx-color-warning: var(--zx-amber-400);
408
- --zx-color-warning-bg: color-mix(in srgb, var(--zx-amber-400) 16%, var(--zx-gray-900));
531
+ --zx-color-warning-bg: color-mix(in srgb, var(--zx-amber-400) 16%, var(--zx-color-bg-surface));
409
532
  --zx-color-success: var(--zx-green-400);
410
- --zx-color-success-bg: color-mix(in srgb, var(--zx-green-400) 16%, var(--zx-gray-900));
533
+ --zx-color-success-bg: color-mix(in srgb, var(--zx-green-400) 16%, var(--zx-color-bg-surface));
411
534
  --zx-color-info: var(--zx-blue-400);
412
- --zx-color-info-bg: color-mix(in srgb, var(--zx-blue-400) 16%, var(--zx-gray-900));
535
+ --zx-color-info-bg: color-mix(in srgb, var(--zx-blue-400) 16%, var(--zx-color-bg-surface));
536
+ --zx-color-tone-blue-bg: color-mix(in srgb, var(--zx-tone-blue-500) 20%, var(--zx-color-bg-surface));
537
+ --zx-color-tone-blue-fg: var(--zx-tone-blue-300);
538
+ --zx-color-tone-teal-bg: color-mix(in srgb, var(--zx-tone-teal-500) 20%, var(--zx-color-bg-surface));
539
+ --zx-color-tone-teal-fg: var(--zx-tone-teal-300);
540
+ --zx-color-tone-green-bg: color-mix(in srgb, var(--zx-tone-green-500) 20%, var(--zx-color-bg-surface));
541
+ --zx-color-tone-green-fg: var(--zx-tone-green-300);
542
+ --zx-color-tone-amber-bg: color-mix(in srgb, var(--zx-tone-amber-500) 20%, var(--zx-color-bg-surface));
543
+ --zx-color-tone-amber-fg: var(--zx-tone-amber-300);
544
+ --zx-color-tone-orange-bg: color-mix(in srgb, var(--zx-tone-orange-500) 20%, var(--zx-color-bg-surface));
545
+ --zx-color-tone-orange-fg: var(--zx-tone-orange-300);
546
+ --zx-color-tone-red-bg: color-mix(in srgb, var(--zx-tone-red-500) 20%, var(--zx-color-bg-surface));
547
+ --zx-color-tone-red-fg: var(--zx-tone-red-300);
548
+ --zx-color-tone-pink-bg: color-mix(in srgb, var(--zx-tone-pink-500) 20%, var(--zx-color-bg-surface));
549
+ --zx-color-tone-pink-fg: var(--zx-tone-pink-300);
550
+ --zx-color-tone-violet-bg: color-mix(in srgb, var(--zx-tone-violet-500) 20%, var(--zx-color-bg-surface));
551
+ --zx-color-tone-violet-fg: var(--zx-tone-violet-300);
552
+ --zx-color-tone-slate-bg: color-mix(in srgb, var(--zx-tone-slate-500) 20%, var(--zx-color-bg-surface));
553
+ --zx-color-tone-slate-fg: var(--zx-tone-slate-300);
413
554
  --zx-color-ring: var(--zx-color-accent);
414
555
  --zx-focus-ring: 0 0 0 3px color-mix(in srgb, var(--zx-color-ring) 45%, transparent);
415
556
  --zx-overlay-shadow: 0 12px 36px rgb(0 0 0 / 45%);
557
+ --zx-drag-shadow:
558
+ 0 0 0 1px color-mix(in srgb, var(--zx-gray-0) 7%, transparent),
559
+ 0 2px 6px -1px rgb(0 0 0 / 40%),
560
+ 0 14px 32px -6px rgb(0 0 0 / 60%);
416
561
  --zx-header-bg: var(--zx-gray-900);
417
562
  --zx-header-text: var(--zx-gray-50);
418
563
  }
419
564
  }
420
565
 
421
- /* styles/tokens/density.css */
422
- [data-zx-density=compact] {
423
- --zx-control-height: 28px;
424
- --zx-control-pad-x: var(--zx-space-2);
425
- --zx-text-md: 13px;
426
- --zx-space-1: 3px;
427
- --zx-space-2: 6px;
428
- --zx-space-3: 10px;
429
- --zx-space-4: 14px;
430
- }
431
-
432
566
  /* styles/tokens/modules.css */
433
567
  :root {
434
568
  --zx-module-fg-light: #ffffff;
@@ -547,6 +681,8 @@
547
681
  color: var(--zx-color-text);
548
682
  font-family: var(--zx-font-sans);
549
683
  font-size: var(--zx-text-md);
684
+ font-feature-settings: "cv11";
685
+ letter-spacing: var(--zx-tracking-tight);
550
686
  line-height: 1.5;
551
687
  -webkit-font-smoothing: antialiased;
552
688
  scrollbar-gutter: stable;
@@ -588,6 +724,17 @@
588
724
  :where(.zx-scope button:not(.zx-icon-btn)):hover {
589
725
  background: var(--zx-color-bg-hover);
590
726
  }
727
+ :where(.zx-scope[data-zx-fields=quiet], .zx-scope [data-zx-fields=quiet]) :where(input:not([type=checkbox], [type=radio], [type=range], [type=color], [type=file], [type=button], [type=submit], [type=reset], [type=image]), select, textarea) {
728
+ border-color: transparent;
729
+ background: transparent;
730
+ }
731
+ :where(.zx-scope[data-zx-fields=quiet], .zx-scope [data-zx-fields=quiet]) :where(input:not([type=checkbox], [type=radio], [type=range], [type=color], [type=file], [type=button], [type=submit], [type=reset], [type=image]), select, textarea):where(:hover:not(:focus, :disabled, [readonly])) {
732
+ background: var(--zx-color-bg-hover);
733
+ }
734
+ :where(.zx-scope[data-zx-fields=quiet], .zx-scope [data-zx-fields=quiet]) :where(input:not([type=checkbox], [type=radio], [type=range], [type=color], [type=file], [type=button], [type=submit], [type=reset], [type=image]), select, textarea):where(:focus:not([readonly])) {
735
+ border-color: var(--zx-color-border-control);
736
+ background: var(--zx-color-bg-control);
737
+ }
591
738
  .zx-scope .zx-icon-btn {
592
739
  display: inline-grid;
593
740
  place-items: center;
@@ -633,6 +780,16 @@
633
780
  transition-duration: 0.01ms !important;
634
781
  }
635
782
  }
783
+ [data-zx-motion=reduced],
784
+ [data-zx-motion=reduced] *,
785
+ [data-zx-motion=reduced] *::before,
786
+ [data-zx-motion=reduced] *::after,
787
+ [data-zx-motion=reduced] *::backdrop {
788
+ scroll-behavior: auto !important;
789
+ animation-duration: 0.01ms !important;
790
+ animation-iteration-count: 1 !important;
791
+ transition-duration: 0.01ms !important;
792
+ }
636
793
 
637
794
  /* styles/icons.css */
638
795
  .zx-icon {
@@ -647,6 +804,7 @@ i.zx-icon {
647
804
  }
648
805
  svg.zx-icon {
649
806
  vertical-align: middle;
807
+ overflow: visible;
650
808
  }
651
809
  .zx-module-icon {
652
810
  flex: none;
@@ -693,17 +851,17 @@ svg.zx-icon {
693
851
  cursor: not-allowed;
694
852
  }
695
853
  .zx-btn[data-kind=primary] {
696
- border-color: var(--zx-color-accent);
697
- background: var(--zx-color-accent);
698
- color: var(--zx-color-on-accent);
854
+ border-color: var(--zx-color-accent-solid);
855
+ background: var(--zx-color-accent-solid);
856
+ color: var(--zx-color-on-accent-solid);
699
857
  }
700
858
  .zx-btn[data-kind=primary]:hover:not(:disabled) {
701
- border-color: var(--zx-color-accent-hover);
702
- background: var(--zx-color-accent-hover);
859
+ border-color: var(--zx-color-accent-solid-hover);
860
+ background: var(--zx-color-accent-solid-hover);
703
861
  }
704
862
  .zx-btn[data-kind=primary]:active:not(:disabled) {
705
- border-color: var(--zx-color-accent-active);
706
- background: var(--zx-color-accent-active);
863
+ border-color: var(--zx-color-accent-solid-active);
864
+ background: var(--zx-color-accent-solid-active);
707
865
  }
708
866
  .zx-btn[data-kind=danger] {
709
867
  border-color: var(--zx-color-danger);
@@ -720,10 +878,33 @@ svg.zx-icon {
720
878
  backdrop-filter: none;
721
879
  box-shadow: none;
722
880
  }
881
+ .zx-btn[data-kind=ghost]:focus-visible {
882
+ box-shadow: var(--zx-focus-ring);
883
+ }
884
+ .zx-btn[data-kind=ghost] > .zx-icon {
885
+ color: var(--zx-color-text-subtle);
886
+ }
723
887
  .zx-btn[data-kind=ghost]:hover:not(:disabled) {
724
888
  border-color: transparent;
725
889
  background: var(--zx-color-bg-hover);
726
890
  }
891
+ .zx-btn[data-kind=ghost]:hover:not(:disabled) > .zx-icon {
892
+ color: var(--zx-color-text);
893
+ }
894
+ .zx-btn[aria-pressed=true] {
895
+ border-color: var(--zx-color-border-control);
896
+ background: var(--zx-color-bg-current);
897
+ color: var(--zx-color-text);
898
+ }
899
+ .zx-btn[data-kind=ghost][aria-pressed=true] {
900
+ border-color: transparent;
901
+ }
902
+ .zx-btn[aria-pressed=true] > .zx-icon {
903
+ color: var(--zx-color-text);
904
+ }
905
+ .zx-btn[aria-pressed=true]:hover:not(:disabled) {
906
+ background: var(--zx-color-bg-current);
907
+ }
727
908
  .zx-btn[data-size=sm] {
728
909
  min-block-size: calc(var(--zx-control-height) - var(--zx-space-1));
729
910
  padding-inline: var(--zx-space-2);
@@ -735,13 +916,26 @@ svg.zx-icon {
735
916
  .zx-btn-group {
736
917
  display: inline-flex;
737
918
  }
919
+ .zx-btn[aria-busy=true] {
920
+ cursor: progress;
921
+ }
922
+ .zx-btn[aria-busy=true] > .zx-icon {
923
+ display: none;
924
+ }
925
+ .zx-btn__spinner {
926
+ flex: none;
927
+ }
738
928
  .zx-btn__shortcut {
739
929
  font: inherit;
740
930
  font-size: var(--zx-text-xs);
741
- opacity: .7;
931
+ font-weight: 400;
932
+ color: var(--zx-color-text-muted);
742
933
  margin-inline-start: var(--zx-space-1);
743
934
  white-space: nowrap;
744
935
  }
936
+ .zx-btn:is([data-kind=primary], [data-kind=danger]) .zx-btn__shortcut {
937
+ color: inherit;
938
+ }
745
939
  .zx-btn-group > .zx-btn:not(:first-child) {
746
940
  margin-inline-start: -1px;
747
941
  border-start-start-radius: 0;
@@ -771,7 +965,8 @@ svg.zx-icon {
771
965
  -webkit-backdrop-filter: none;
772
966
  backdrop-filter: none;
773
967
  }
774
- .zx-btn[data-kind=primary] {
968
+ .zx-btn[data-kind=primary],
969
+ .zx-btn[aria-pressed=true] {
775
970
  border-color: Highlight;
776
971
  background: Highlight;
777
972
  color: HighlightText;
@@ -786,12 +981,12 @@ svg.zx-icon {
786
981
  max-inline-size: 100%;
787
982
  border: 1px solid transparent;
788
983
  border-radius: var(--zx-radius-full);
789
- background: var(--zx-color-bg-muted);
984
+ background: color-mix(in srgb, var(--zx-color-text) 7%, transparent);
790
985
  color: var(--zx-color-text-muted);
791
986
  padding-block: 2px;
792
987
  padding-inline: var(--zx-space-2);
793
988
  font-size: var(--zx-text-xs);
794
- font-weight: 600;
989
+ font-weight: var(--zx-weight-medium);
795
990
  font-variant-numeric: tabular-nums;
796
991
  line-height: 1.35;
797
992
  white-space: nowrap;
@@ -883,6 +1078,56 @@ svg.zx-icon {
883
1078
  .zx-badge[data-variant=outline][data-kind=info] {
884
1079
  color: var(--zx-color-info);
885
1080
  }
1081
+ .zx-badge[data-tone] {
1082
+ border-color: transparent;
1083
+ background: var(--zx-badge-tone-bg);
1084
+ color: var(--zx-badge-tone-fg);
1085
+ }
1086
+ .zx-badge[data-tone=blue] {
1087
+ --zx-badge-tone-bg: var(--zx-color-tone-blue-bg);
1088
+ --zx-badge-tone-fg: var(--zx-color-tone-blue-fg);
1089
+ }
1090
+ .zx-badge[data-tone=teal] {
1091
+ --zx-badge-tone-bg: var(--zx-color-tone-teal-bg);
1092
+ --zx-badge-tone-fg: var(--zx-color-tone-teal-fg);
1093
+ }
1094
+ .zx-badge[data-tone=green] {
1095
+ --zx-badge-tone-bg: var(--zx-color-tone-green-bg);
1096
+ --zx-badge-tone-fg: var(--zx-color-tone-green-fg);
1097
+ }
1098
+ .zx-badge[data-tone=amber] {
1099
+ --zx-badge-tone-bg: var(--zx-color-tone-amber-bg);
1100
+ --zx-badge-tone-fg: var(--zx-color-tone-amber-fg);
1101
+ }
1102
+ .zx-badge[data-tone=orange] {
1103
+ --zx-badge-tone-bg: var(--zx-color-tone-orange-bg);
1104
+ --zx-badge-tone-fg: var(--zx-color-tone-orange-fg);
1105
+ }
1106
+ .zx-badge[data-tone=red] {
1107
+ --zx-badge-tone-bg: var(--zx-color-tone-red-bg);
1108
+ --zx-badge-tone-fg: var(--zx-color-tone-red-fg);
1109
+ }
1110
+ .zx-badge[data-tone=pink] {
1111
+ --zx-badge-tone-bg: var(--zx-color-tone-pink-bg);
1112
+ --zx-badge-tone-fg: var(--zx-color-tone-pink-fg);
1113
+ }
1114
+ .zx-badge[data-tone=violet] {
1115
+ --zx-badge-tone-bg: var(--zx-color-tone-violet-bg);
1116
+ --zx-badge-tone-fg: var(--zx-color-tone-violet-fg);
1117
+ }
1118
+ .zx-badge[data-tone=slate] {
1119
+ --zx-badge-tone-bg: var(--zx-color-tone-slate-bg);
1120
+ --zx-badge-tone-fg: var(--zx-color-tone-slate-fg);
1121
+ }
1122
+ .zx-badge[data-variant=solid][data-tone] {
1123
+ background: var(--zx-badge-tone-fg);
1124
+ color: var(--zx-color-bg-surface);
1125
+ }
1126
+ .zx-badge[data-variant=outline][data-tone] {
1127
+ border-color: currentColor;
1128
+ background: transparent;
1129
+ color: var(--zx-badge-tone-fg);
1130
+ }
886
1131
  .zx-badge[data-size=sm] {
887
1132
  gap: calc(var(--zx-space-1) / 2);
888
1133
  padding-block: 1px;
@@ -893,6 +1138,15 @@ svg.zx-icon {
893
1138
  inline-size: 5px;
894
1139
  block-size: 5px;
895
1140
  }
1141
+ .zx-badge[data-size=sm]:has(> .zx-badge__dot) {
1142
+ gap: var(--zx-space-1);
1143
+ padding-inline: var(--zx-space-1) calc(var(--zx-space-1) * 1.5);
1144
+ font-size: var(--zx-text-xs);
1145
+ }
1146
+ .zx-badge[data-size=sm]:has(> .zx-badge__dot) .zx-badge__dot {
1147
+ inline-size: 6px;
1148
+ block-size: 6px;
1149
+ }
896
1150
  .zx-badge-group {
897
1151
  display: inline-flex;
898
1152
  flex-wrap: wrap;
@@ -914,14 +1168,18 @@ svg.zx-icon {
914
1168
  padding-inline: var(--zx-control-pad-x);
915
1169
  font: inherit;
916
1170
  font-size: var(--zx-control-font-size);
1171
+ font-weight: var(--zx-control-font-weight);
917
1172
  cursor: pointer;
918
1173
  }
919
1174
  .zx-check-button:hover:not(:disabled) {
920
1175
  background: var(--zx-color-bg-hover);
921
1176
  }
922
1177
  .zx-check-button[aria-pressed=true] {
923
- border-color: var(--zx-color-accent);
924
- background: var(--zx-color-bg-selected);
1178
+ border-color: var(--zx-color-border-strong);
1179
+ background: var(--zx-color-bg-current);
1180
+ color: var(--zx-color-text);
1181
+ }
1182
+ .zx-check-button__on {
925
1183
  color: var(--zx-color-accent);
926
1184
  }
927
1185
  .zx-check-button:focus-visible {
@@ -970,13 +1228,13 @@ svg.zx-icon {
970
1228
  }
971
1229
  .zx-empty-state__icon {
972
1230
  display: flex;
973
- color: var(--zx-color-text-placeholder);
1231
+ color: var(--zx-color-text-subtle);
974
1232
  }
975
1233
  .zx-empty-state__title {
976
1234
  margin: 0;
977
1235
  color: var(--zx-color-text);
978
1236
  font-size: var(--zx-text-lg);
979
- font-weight: 600;
1237
+ font-weight: var(--zx-weight-semibold);
980
1238
  line-height: 1.4;
981
1239
  }
982
1240
  .zx-empty-state__description {
@@ -1360,6 +1618,7 @@ svg.zx-icon {
1360
1618
 
1361
1619
  /* src/components/copy/copy-button.css */
1362
1620
  .zx-copy-button {
1621
+ position: relative;
1363
1622
  display: inline-flex;
1364
1623
  align-items: center;
1365
1624
  gap: var(--zx-space-2);
@@ -1373,6 +1632,8 @@ svg.zx-icon {
1373
1632
  }
1374
1633
  .zx-copy-button__status {
1375
1634
  position: absolute;
1635
+ inset-block-start: 0;
1636
+ inset-inline-start: 0;
1376
1637
  clip-path: inset(50%);
1377
1638
  inline-size: 1px;
1378
1639
  block-size: 1px;
@@ -1382,18 +1643,21 @@ svg.zx-icon {
1382
1643
 
1383
1644
  /* src/components/copy/copy-input.css */
1384
1645
  .zx-copy-input {
1646
+ position: relative;
1385
1647
  display: flex;
1386
1648
  flex-direction: column;
1387
1649
  gap: var(--zx-space-1);
1388
1650
  inline-size: 100%;
1389
1651
  }
1390
1652
  .zx-copy-input__label {
1391
- color: var(--zx-color-text);
1392
- font-size: var(--zx-control-font-size);
1393
- font-weight: 500;
1653
+ color: var(--zx-color-text-muted);
1654
+ font-size: var(--zx-text-sm);
1655
+ font-weight: var(--zx-weight-medium);
1394
1656
  }
1395
1657
  .zx-copy-input[data-hide-label] .zx-copy-input__label {
1396
1658
  position: absolute;
1659
+ inset-block-start: 0;
1660
+ inset-inline-start: 0;
1397
1661
  clip-path: inset(50%);
1398
1662
  inline-size: 1px;
1399
1663
  block-size: 1px;
@@ -1451,16 +1715,15 @@ svg.zx-icon {
1451
1715
  min-block-size: var(--zx-control-height);
1452
1716
  padding-inline: var(--zx-space-3);
1453
1717
  border-block-end: 1px solid var(--zx-color-border);
1454
- background: var(--zx-color-bg-subtle);
1718
+ background: var(--zx-color-bg-muted);
1455
1719
  color: var(--zx-color-text-muted);
1456
1720
  font-size: var(--zx-text-xs);
1457
1721
  }
1458
1722
  .zx-code-editor__language {
1459
1723
  overflow: hidden;
1460
- font-weight: 600;
1461
- letter-spacing: 0.04em;
1724
+ font-family: var(--zx-font-mono);
1725
+ font-weight: var(--zx-weight-medium);
1462
1726
  text-overflow: ellipsis;
1463
- text-transform: uppercase;
1464
1727
  text-wrap: nowrap;
1465
1728
  }
1466
1729
  .zx-code-editor__position {
@@ -1488,7 +1751,7 @@ svg.zx-icon {
1488
1751
  box-shadow: none;
1489
1752
  }
1490
1753
  .zx-code-editor[data-readonly=true] {
1491
- background: var(--zx-color-bg-subtle);
1754
+ background: var(--zx-color-bg-muted);
1492
1755
  }
1493
1756
  .zx-code-editor[data-disabled=true] {
1494
1757
  opacity: 0.6;
@@ -1553,8 +1816,9 @@ svg.zx-icon {
1553
1816
  /* src/components/toggle/toggle.css */
1554
1817
  .zx-toggle {
1555
1818
  display: inline-flex;
1556
- align-items: center;
1819
+ align-items: flex-start;
1557
1820
  gap: var(--zx-space-2);
1821
+ max-inline-size: 100%;
1558
1822
  min-block-size: var(--zx-control-height);
1559
1823
  border: 0;
1560
1824
  background: none;
@@ -1562,6 +1826,7 @@ svg.zx-icon {
1562
1826
  padding: 0;
1563
1827
  font: inherit;
1564
1828
  font-size: var(--zx-control-font-size);
1829
+ text-align: start;
1565
1830
  cursor: pointer;
1566
1831
  }
1567
1832
  .zx-toggle:hover:not(:disabled) {
@@ -1580,11 +1845,16 @@ svg.zx-icon {
1580
1845
  flex: none;
1581
1846
  inline-size: 34px;
1582
1847
  block-size: 20px;
1848
+ margin-block-start: max(0px, (var(--zx-control-height) - 20px) / 2);
1583
1849
  border: 1px solid var(--zx-color-border-strong);
1584
1850
  border-radius: var(--zx-radius-full);
1585
1851
  background: var(--zx-color-bg-control);
1586
1852
  padding: 2px;
1587
1853
  }
1854
+ .zx-toggle__label {
1855
+ min-inline-size: 0;
1856
+ padding-block: max(0px, (var(--zx-control-height) - 1lh) / 2);
1857
+ }
1588
1858
  .zx-toggle__thumb {
1589
1859
  display: block;
1590
1860
  inline-size: 14px;
@@ -1623,7 +1893,7 @@ svg.zx-icon {
1623
1893
  gap: var(--zx-space-2);
1624
1894
  min-block-size: var(--zx-control-height);
1625
1895
  padding: var(--zx-space-2) var(--zx-space-4);
1626
- font-weight: 650;
1896
+ font-weight: var(--zx-weight-semibold);
1627
1897
  cursor: pointer;
1628
1898
  user-select: none;
1629
1899
  }
@@ -1749,9 +2019,9 @@ svg.zx-icon {
1749
2019
  min-inline-size: 0;
1750
2020
  margin: 0;
1751
2021
  font-size: var(--zx-text-lg);
1752
- font-weight: 700;
2022
+ font-weight: 650;
1753
2023
  line-height: 1.3;
1754
- letter-spacing: -0.012em;
2024
+ letter-spacing: var(--zx-tracking-title);
1755
2025
  }
1756
2026
  .zx-card__primary,
1757
2027
  .zx-card__title {
@@ -1805,9 +2075,9 @@ svg.zx-icon {
1805
2075
  /* src/components/aurora/aurora.css */
1806
2076
  .zx-aurora {
1807
2077
  --zx-aurora-color-1: var(--zx-color-accent);
1808
- --zx-aurora-color-2: var(--zx-color-info);
1809
- --zx-aurora-color-3: var(--zx-color-success);
1810
- --zx-aurora-color-4: var(--zx-color-warning);
2078
+ --zx-aurora-color-2: var(--zx-color-chart-1);
2079
+ --zx-aurora-color-3: var(--zx-color-chart-3);
2080
+ --zx-aurora-color-4: var(--zx-color-chart-4);
1811
2081
  --zx-aurora-core: 7%;
1812
2082
  --zx-aurora-wash: 4%;
1813
2083
  --zx-aurora-faint: 2%;
@@ -2051,7 +2321,7 @@ svg.zx-icon {
2051
2321
  padding: var(--zx-space-3) var(--zx-space-4);
2052
2322
  color: var(--zx-color-text);
2053
2323
  font: inherit;
2054
- font-weight: 650;
2324
+ font-weight: var(--zx-weight-semibold);
2055
2325
  text-align: start;
2056
2326
  }
2057
2327
  button.zx-panel__toggle {
@@ -2152,6 +2422,8 @@ button.zx-panel__toggle:focus-visible {
2152
2422
  margin: 0;
2153
2423
  flex: 1;
2154
2424
  font-size: var(--zx-text-xl);
2425
+ font-weight: 650;
2426
+ letter-spacing: var(--zx-tracking-title);
2155
2427
  }
2156
2428
  .zx-master-panel__buttons {
2157
2429
  display: flex;
@@ -2212,7 +2484,7 @@ button.zx-panel__toggle:focus-visible {
2212
2484
  color: var(--zx-color-text-muted);
2213
2485
  font: inherit;
2214
2486
  font-size: var(--zx-control-font-size);
2215
- font-weight: 500;
2487
+ font-weight: var(--zx-weight-medium);
2216
2488
  white-space: nowrap;
2217
2489
  cursor: pointer;
2218
2490
  }
@@ -2221,6 +2493,7 @@ button.zx-panel__toggle:focus-visible {
2221
2493
  }
2222
2494
  .zx-tabbox__tab[aria-selected=true] {
2223
2495
  color: var(--zx-color-text);
2496
+ font-weight: var(--zx-weight-semibold);
2224
2497
  }
2225
2498
  .zx-tabbox__tab[aria-disabled=true] {
2226
2499
  color: var(--zx-color-text-placeholder);
@@ -2237,7 +2510,6 @@ button.zx-panel__toggle:focus-visible {
2237
2510
  }
2238
2511
  .zx-tabbox[data-variant=divided] .zx-tabbox__tab {
2239
2512
  block-size: calc(var(--zx-control-height) + 8px);
2240
- border-block-start: 2px solid transparent;
2241
2513
  border-inline-end: 1px solid var(--zx-color-border);
2242
2514
  padding-inline: var(--zx-space-4);
2243
2515
  }
@@ -2248,9 +2520,7 @@ button.zx-panel__toggle:focus-visible {
2248
2520
  background: var(--zx-color-bg-hover);
2249
2521
  }
2250
2522
  .zx-tabbox[data-variant=divided] .zx-tabbox__tab[aria-selected=true] {
2251
- border-block-start-color: var(--zx-color-accent);
2252
2523
  background: var(--zx-color-bg-surface);
2253
- font-weight: 650;
2254
2524
  }
2255
2525
  .zx-tabbox[data-variant=divided] .zx-tabbox__tab:focus-visible {
2256
2526
  z-index: 1;
@@ -2276,7 +2546,6 @@ button.zx-panel__toggle:focus-visible {
2276
2546
  .zx-tabbox[data-variant=bracket] .zx-tabbox__tab[aria-selected=true] {
2277
2547
  border-color: var(--zx-color-border);
2278
2548
  background: var(--zx-color-bg-surface);
2279
- font-weight: 650;
2280
2549
  }
2281
2550
  .zx-tabbox[data-variant=bracket] .zx-tabbox__tab[aria-selected=true]::after {
2282
2551
  content: "";
@@ -2303,8 +2572,7 @@ button.zx-panel__toggle:focus-visible {
2303
2572
  border-block-end-color: var(--zx-color-border-strong);
2304
2573
  }
2305
2574
  .zx-tabbox[data-variant=line] .zx-tabbox__tab[aria-selected=true] {
2306
- border-block-end-color: var(--zx-color-accent);
2307
- font-weight: 600;
2575
+ border-block-end-color: var(--zx-color-text);
2308
2576
  }
2309
2577
  .zx-tabbox[data-variant=line] .zx-tabbox__tab:focus-visible {
2310
2578
  z-index: 1;
@@ -2317,13 +2585,12 @@ button.zx-panel__toggle:focus-visible {
2317
2585
  align-items: center;
2318
2586
  gap: 2px;
2319
2587
  block-size: var(--zx-control-height);
2588
+ border: 1px solid var(--zx-color-border-control);
2320
2589
  border-radius: var(--zx-tabbox-radius);
2321
- background: var(--zx-color-bg-muted);
2322
- padding: 3px;
2590
+ padding: 2px;
2323
2591
  }
2324
2592
  .zx-tabbox[data-variant=segmented] .zx-tabbox__tab {
2325
2593
  block-size: 100%;
2326
- border: 1px solid transparent;
2327
2594
  border-radius: max(0px, calc(var(--zx-tabbox-radius) - 2px));
2328
2595
  padding-inline: var(--zx-space-3);
2329
2596
  font-size: var(--zx-text-sm);
@@ -2332,14 +2599,11 @@ button.zx-panel__toggle:focus-visible {
2332
2599
  background: var(--zx-color-bg-hover);
2333
2600
  }
2334
2601
  .zx-tabbox[data-variant=segmented] .zx-tabbox__tab[aria-selected=true] {
2335
- border-color: var(--zx-color-border-control);
2336
- background: var(--zx-color-bg-control);
2337
- box-shadow: var(--zx-shadow-2);
2602
+ background: var(--zx-color-bg-current);
2338
2603
  }
2339
2604
  .zx-tabbox[data-variant=segmented] .zx-tabbox__tab:focus-visible {
2340
2605
  z-index: 1;
2341
2606
  outline: 0;
2342
- border-color: var(--zx-color-ring);
2343
2607
  box-shadow: var(--zx-focus-ring);
2344
2608
  }
2345
2609
  @media (prefers-reduced-motion: no-preference) {
@@ -2354,14 +2618,18 @@ button.zx-panel__toggle:focus-visible {
2354
2618
  .zx-tabbox__badge {
2355
2619
  min-inline-size: 1.25rem;
2356
2620
  border-radius: var(--zx-radius-full);
2357
- background: var(--zx-color-accent);
2621
+ background: var(--zx-color-bg-current);
2358
2622
  padding-inline: var(--zx-space-1);
2359
- color: var(--zx-color-on-accent);
2623
+ color: var(--zx-color-text-muted);
2360
2624
  font-size: var(--zx-text-xs);
2361
- font-weight: 700;
2625
+ font-variant-numeric: tabular-nums;
2626
+ font-weight: var(--zx-weight-medium);
2362
2627
  line-height: 1.25rem;
2363
2628
  text-align: center;
2364
2629
  }
2630
+ .zx-tabbox__tab[aria-selected=true] .zx-tabbox__badge {
2631
+ color: var(--zx-color-text);
2632
+ }
2365
2633
  .zx-tabbox .zx-tabbox__close {
2366
2634
  inline-size: 1.5rem;
2367
2635
  block-size: 1.5rem;
@@ -2414,7 +2682,8 @@ button.zx-panel__toggle:focus-visible {
2414
2682
  padding-inline: var(--zx-space-2);
2415
2683
  color: var(--zx-color-accent);
2416
2684
  font-size: var(--zx-text-xl);
2417
- font-weight: 750;
2685
+ font-weight: 650;
2686
+ letter-spacing: var(--zx-tracking-title);
2418
2687
  }
2419
2688
  .zx-navigation-bar__navigation {
2420
2689
  min-inline-size: 0;
@@ -2433,10 +2702,11 @@ button.zx-panel__toggle:focus-visible {
2433
2702
  gap: var(--zx-space-2);
2434
2703
  border: 0;
2435
2704
  border-radius: var(--zx-control-radius);
2436
- background: var(--zx-color-bg-raised);
2705
+ background: transparent;
2437
2706
  padding-inline: var(--zx-control-pad-x);
2438
2707
  color: var(--zx-color-text-muted);
2439
2708
  font: inherit;
2709
+ font-weight: var(--zx-weight-medium);
2440
2710
  text-decoration: none;
2441
2711
  cursor: pointer;
2442
2712
  }
@@ -2446,9 +2716,9 @@ button.zx-panel__toggle:focus-visible {
2446
2716
  }
2447
2717
  .zx-navigation-bar__item[aria-current=page],
2448
2718
  .zx-navigation-bar__item[aria-selected=true] {
2449
- background: var(--zx-color-bg-selected);
2450
- color: var(--zx-color-accent);
2451
- font-weight: 650;
2719
+ background: var(--zx-color-bg-current);
2720
+ color: var(--zx-color-text);
2721
+ font-weight: var(--zx-weight-semibold);
2452
2722
  }
2453
2723
  .zx-navigation-bar__item[aria-disabled=true] {
2454
2724
  color: var(--zx-color-text-muted);
@@ -2461,14 +2731,18 @@ button.zx-panel__toggle:focus-visible {
2461
2731
  .zx-navigation-bar__badge {
2462
2732
  min-inline-size: var(--zx-space-4);
2463
2733
  border-radius: var(--zx-radius-full);
2464
- background: var(--zx-color-accent);
2734
+ background: var(--zx-color-bg-current);
2465
2735
  padding-inline: var(--zx-space-1);
2466
- color: var(--zx-color-on-accent);
2467
- font-size: var(--zx-text-sm);
2468
- font-weight: 700;
2736
+ color: var(--zx-color-text-muted);
2737
+ font-size: var(--zx-text-xs);
2738
+ font-variant-numeric: tabular-nums;
2739
+ font-weight: var(--zx-weight-medium);
2469
2740
  line-height: var(--zx-space-4);
2470
2741
  text-align: center;
2471
2742
  }
2743
+ .zx-navigation-bar__item:is([aria-current=page], [aria-selected=true]) .zx-navigation-bar__badge {
2744
+ color: var(--zx-color-text);
2745
+ }
2472
2746
  .zx-navigation-bar__more {
2473
2747
  display: none;
2474
2748
  }
@@ -2766,7 +3040,7 @@ button.zx-panel__toggle:focus-visible {
2766
3040
  background: var(--zx-color-danger);
2767
3041
  color: var(--zx-color-text-invert);
2768
3042
  font-size: 9px;
2769
- font-weight: 700;
3043
+ font-weight: var(--zx-weight-semibold);
2770
3044
  line-height: 1;
2771
3045
  }
2772
3046
  .zx-app-icon:is(a, button, [role=button]):not(:disabled):not([aria-disabled=true]):hover .zx-app-icon__surface,
@@ -2830,7 +3104,7 @@ button.zx-panel__toggle:focus-visible {
2830
3104
  inline-size: min(760px, calc(100vw - (2 * var(--zx-space-4))));
2831
3105
  max-block-size: min(720px, calc(100vh - (2 * var(--zx-space-6))));
2832
3106
  border: 1px solid var(--zx-color-overlay-border);
2833
- border-radius: var(--zx-radius-xl);
3107
+ border-radius: var(--zx-radius-lg);
2834
3108
  background-color: var(--zx-color-overlay-panel);
2835
3109
  background-image: var(--zx-overlay-panel-image);
2836
3110
  background-clip: padding-box;
@@ -2854,21 +3128,49 @@ button.zx-panel__toggle:focus-visible {
2854
3128
  }
2855
3129
  .zx-launcher__surface {
2856
3130
  display: grid;
3131
+ grid-template-columns: minmax(0, 1fr);
2857
3132
  grid-template-rows: auto auto minmax(0, 1fr) auto;
2858
3133
  max-block-size: inherit;
2859
3134
  }
2860
3135
  .zx-launcher__search {
2861
- display: grid;
2862
- grid-template-columns: auto minmax(0, 1fr) auto auto;
3136
+ display: flex;
2863
3137
  align-items: center;
2864
3138
  gap: var(--zx-space-3);
2865
3139
  border-block-end: 1px solid var(--zx-color-overlay-divider);
2866
3140
  padding: var(--zx-space-3) var(--zx-space-4);
2867
3141
  }
2868
- .zx-launcher__search[data-shortcut=false] {
2869
- grid-template-columns: auto minmax(0, 1fr) auto;
3142
+ .zx-launcher__search > .zx-icon {
3143
+ flex: none;
3144
+ }
3145
+ .zx-launcher__scope {
3146
+ display: inline-flex;
3147
+ flex: 0 1 auto;
3148
+ align-items: center;
3149
+ gap: var(--zx-space-1);
3150
+ min-inline-size: 0;
3151
+ max-inline-size: 50%;
3152
+ border-radius: var(--zx-radius-sm);
3153
+ background: var(--zx-color-bg-current);
3154
+ padding-inline: var(--zx-space-2) 2px;
3155
+ color: var(--zx-color-text);
3156
+ font-size: var(--zx-text-sm);
3157
+ font-weight: var(--zx-weight-medium);
3158
+ line-height: 1.5;
3159
+ white-space: nowrap;
3160
+ }
3161
+ .zx-launcher__scope[hidden] {
3162
+ display: none;
3163
+ }
3164
+ .zx-launcher__scope-label {
3165
+ overflow: hidden;
3166
+ text-overflow: ellipsis;
3167
+ }
3168
+ .zx-launcher__scope .zx-launcher__scope-back {
3169
+ inline-size: 24px;
3170
+ block-size: 24px;
2870
3171
  }
2871
3172
  .zx-launcher__input {
3173
+ flex: 1 1 0;
2872
3174
  min-inline-size: 0;
2873
3175
  border: 0;
2874
3176
  outline: 0;
@@ -2883,7 +3185,8 @@ button.zx-panel__toggle:focus-visible {
2883
3185
  display: none;
2884
3186
  }
2885
3187
  .zx-launcher__shortcut,
2886
- .zx-launcher__hints kbd {
3188
+ .zx-launcher__hints kbd,
3189
+ .zx-launcher__key {
2887
3190
  border: 1px solid var(--zx-color-border-control);
2888
3191
  border-radius: var(--zx-radius-sm);
2889
3192
  background: var(--zx-color-bg-muted);
@@ -2894,6 +3197,7 @@ button.zx-panel__toggle:focus-visible {
2894
3197
  line-height: 1.5;
2895
3198
  }
2896
3199
  .zx-launcher__shortcut {
3200
+ flex: none;
2897
3201
  padding-inline: var(--zx-space-2);
2898
3202
  white-space: nowrap;
2899
3203
  }
@@ -2909,15 +3213,13 @@ button.zx-panel__toggle:focus-visible {
2909
3213
  .zx-launcher__results {
2910
3214
  min-block-size: 0;
2911
3215
  overflow: auto;
2912
- padding: var(--zx-space-2);
3216
+ padding: var(--zx-space-1);
2913
3217
  }
2914
3218
  .zx-launcher__group-label {
2915
- padding: var(--zx-space-3) var(--zx-space-3) var(--zx-space-1);
3219
+ padding: var(--zx-space-2) var(--zx-space-3) var(--zx-space-1);
2916
3220
  color: var(--zx-color-text-muted);
2917
3221
  font-size: var(--zx-text-xs);
2918
- font-weight: 700;
2919
- letter-spacing: .04em;
2920
- text-transform: uppercase;
3222
+ font-weight: var(--zx-weight-semibold);
2921
3223
  }
2922
3224
  .zx-launcher__group[data-layout=grid] {
2923
3225
  display: grid;
@@ -2934,11 +3236,11 @@ button.zx-panel__toggle:focus-visible {
2934
3236
  align-items: center;
2935
3237
  gap: var(--zx-space-3);
2936
3238
  inline-size: 100%;
2937
- min-block-size: calc(var(--zx-control-height) + var(--zx-space-2));
3239
+ min-block-size: var(--zx-control-height);
2938
3240
  border: 0;
2939
- border-radius: var(--zx-radius-md);
3241
+ border-radius: var(--zx-radius-sm);
2940
3242
  background: transparent;
2941
- padding: var(--zx-space-2) var(--zx-space-3);
3243
+ padding: var(--zx-space-1) var(--zx-space-3);
2942
3244
  color: inherit;
2943
3245
  text-align: start;
2944
3246
  text-decoration: none;
@@ -2948,8 +3250,11 @@ button.zx-panel__toggle:focus-visible {
2948
3250
  background: var(--zx-color-overlay-hover);
2949
3251
  }
2950
3252
  .zx-launcher__option[aria-current=page] {
2951
- background: var(--zx-color-overlay-selected);
2952
- color: var(--zx-color-accent);
3253
+ background: var(--zx-color-bg-current);
3254
+ color: var(--zx-color-text);
3255
+ }
3256
+ .zx-launcher__option[aria-current=page] .zx-launcher__label {
3257
+ font-weight: var(--zx-weight-semibold);
2953
3258
  }
2954
3259
  .zx-launcher__option[data-kind=application] {
2955
3260
  display: grid;
@@ -2957,11 +3262,12 @@ button.zx-panel__toggle:focus-visible {
2957
3262
  justify-items: center;
2958
3263
  align-content: center;
2959
3264
  min-block-size: 92px;
3265
+ border-radius: var(--zx-radius-md);
2960
3266
  padding: var(--zx-space-3) var(--zx-space-2);
2961
3267
  text-align: center;
2962
3268
  }
2963
3269
  .zx-launcher__option[data-kind=application][aria-current=page] {
2964
- background: var(--zx-color-overlay-selected);
3270
+ background: var(--zx-color-bg-current);
2965
3271
  }
2966
3272
  .zx-launcher__option[data-kind=application] .zx-launcher__icon {
2967
3273
  min-block-size: 36px;
@@ -2970,8 +3276,7 @@ button.zx-panel__toggle:focus-visible {
2970
3276
  .zx-launcher__option[data-kind=application] .zx-launcher__copy {
2971
3277
  inline-size: 100%;
2972
3278
  }
2973
- .zx-launcher__option[data-kind=application] .zx-launcher__description,
2974
- .zx-launcher__option[data-kind=application] .zx-launcher__badge {
3279
+ .zx-launcher__option[data-kind=application] :is(.zx-launcher__description, .zx-launcher__badge, .zx-launcher__hint, .zx-launcher__keys, .zx-launcher__chevron) {
2975
3280
  display: none;
2976
3281
  }
2977
3282
  .zx-launcher__option[data-kind=application] .zx-launcher__label {
@@ -2993,7 +3298,7 @@ button.zx-panel__toggle:focus-visible {
2993
3298
  }
2994
3299
  .zx-launcher__label {
2995
3300
  overflow: hidden;
2996
- font-weight: 600;
3301
+ font-weight: var(--zx-weight-medium);
2997
3302
  text-overflow: ellipsis;
2998
3303
  white-space: nowrap;
2999
3304
  }
@@ -3009,6 +3314,37 @@ button.zx-panel__toggle:focus-visible {
3009
3314
  color: var(--zx-color-text-muted);
3010
3315
  font-size: var(--zx-text-xs);
3011
3316
  }
3317
+ .zx-launcher__option:not([data-kind=application]) .zx-launcher__copy {
3318
+ flex: 1 1 auto;
3319
+ }
3320
+ .zx-launcher__hint {
3321
+ flex: 0 1 auto;
3322
+ min-inline-size: 0;
3323
+ max-inline-size: 40%;
3324
+ overflow: hidden;
3325
+ color: var(--zx-color-text-muted);
3326
+ font-size: var(--zx-text-sm);
3327
+ text-overflow: ellipsis;
3328
+ white-space: nowrap;
3329
+ }
3330
+ .zx-launcher__keys {
3331
+ display: inline-flex;
3332
+ flex: none;
3333
+ gap: var(--zx-space-1);
3334
+ }
3335
+ .zx-launcher__chevron {
3336
+ display: inline-flex;
3337
+ flex: none;
3338
+ color: var(--zx-color-text-subtle);
3339
+ }
3340
+ .zx-launcher__announce {
3341
+ position: absolute;
3342
+ inline-size: 1px;
3343
+ block-size: 1px;
3344
+ overflow: hidden;
3345
+ clip-path: inset(50%);
3346
+ white-space: nowrap;
3347
+ }
3012
3348
  .zx-launcher__hints {
3013
3349
  display: flex;
3014
3350
  flex-wrap: wrap;
@@ -3024,7 +3360,11 @@ button.zx-panel__toggle:focus-visible {
3024
3360
  align-items: center;
3025
3361
  gap: var(--zx-space-1);
3026
3362
  }
3027
- .zx-launcher__hints kbd {
3363
+ .zx-launcher__hints span[hidden] {
3364
+ display: none;
3365
+ }
3366
+ .zx-launcher__hints kbd,
3367
+ .zx-launcher__key {
3028
3368
  min-inline-size: 1.5rem;
3029
3369
  padding-inline: 4px;
3030
3370
  text-align: center;
@@ -3036,9 +3376,6 @@ button.zx-panel__toggle:focus-visible {
3036
3376
  .zx-launcher__shortcut {
3037
3377
  display: none;
3038
3378
  }
3039
- .zx-launcher__search {
3040
- grid-template-columns: auto minmax(0, 1fr) auto;
3041
- }
3042
3379
  .zx-launcher__hints {
3043
3380
  justify-content: center;
3044
3381
  }
@@ -3046,7 +3383,7 @@ button.zx-panel__toggle:focus-visible {
3046
3383
 
3047
3384
  /* src/components/avatar/avatar.css */
3048
3385
  .zx-avatar {
3049
- --zx-avatar-size: var(--zx-control-height);
3386
+ --zx-avatar-size: var(--zx-space-7);
3050
3387
  position: relative;
3051
3388
  display: inline-grid;
3052
3389
  flex: none;
@@ -3058,10 +3395,10 @@ button.zx-panel__toggle:focus-visible {
3058
3395
  vertical-align: middle;
3059
3396
  }
3060
3397
  .zx-avatar[data-size=sm] {
3061
- --zx-avatar-size: calc(var(--zx-control-height) * .75);
3398
+ --zx-avatar-size: var(--zx-space-6);
3062
3399
  }
3063
3400
  .zx-avatar[data-size=lg] {
3064
- --zx-avatar-size: calc(var(--zx-control-height) * 1.25);
3401
+ --zx-avatar-size: var(--zx-space-8);
3065
3402
  }
3066
3403
  .zx-avatar[data-shape=circle] {
3067
3404
  border-radius: 50%;
@@ -3072,6 +3409,42 @@ button.zx-panel__toggle:focus-visible {
3072
3409
  .zx-avatar[data-shape=square] {
3073
3410
  border-radius: 0;
3074
3411
  }
3412
+ .zx-avatar[data-tone=blue] {
3413
+ --zx-avatar-bg: var(--zx-color-tone-blue-bg);
3414
+ --zx-avatar-fg: var(--zx-color-tone-blue-fg);
3415
+ }
3416
+ .zx-avatar[data-tone=teal] {
3417
+ --zx-avatar-bg: var(--zx-color-tone-teal-bg);
3418
+ --zx-avatar-fg: var(--zx-color-tone-teal-fg);
3419
+ }
3420
+ .zx-avatar[data-tone=green] {
3421
+ --zx-avatar-bg: var(--zx-color-tone-green-bg);
3422
+ --zx-avatar-fg: var(--zx-color-tone-green-fg);
3423
+ }
3424
+ .zx-avatar[data-tone=amber] {
3425
+ --zx-avatar-bg: var(--zx-color-tone-amber-bg);
3426
+ --zx-avatar-fg: var(--zx-color-tone-amber-fg);
3427
+ }
3428
+ .zx-avatar[data-tone=orange] {
3429
+ --zx-avatar-bg: var(--zx-color-tone-orange-bg);
3430
+ --zx-avatar-fg: var(--zx-color-tone-orange-fg);
3431
+ }
3432
+ .zx-avatar[data-tone=red] {
3433
+ --zx-avatar-bg: var(--zx-color-tone-red-bg);
3434
+ --zx-avatar-fg: var(--zx-color-tone-red-fg);
3435
+ }
3436
+ .zx-avatar[data-tone=pink] {
3437
+ --zx-avatar-bg: var(--zx-color-tone-pink-bg);
3438
+ --zx-avatar-fg: var(--zx-color-tone-pink-fg);
3439
+ }
3440
+ .zx-avatar[data-tone=violet] {
3441
+ --zx-avatar-bg: var(--zx-color-tone-violet-bg);
3442
+ --zx-avatar-fg: var(--zx-color-tone-violet-fg);
3443
+ }
3444
+ .zx-avatar[data-tone=slate] {
3445
+ --zx-avatar-bg: var(--zx-color-tone-slate-bg);
3446
+ --zx-avatar-fg: var(--zx-color-tone-slate-fg);
3447
+ }
3075
3448
  .zx-avatar__image,
3076
3449
  .zx-avatar__fallback {
3077
3450
  inline-size: 100%;
@@ -3090,11 +3463,14 @@ button.zx-panel__toggle:focus-visible {
3090
3463
  .zx-avatar__fallback {
3091
3464
  display: grid;
3092
3465
  place-items: center;
3093
- border: 1px solid var(--zx-color-border);
3094
- background: var(--zx-color-bg-muted);
3095
- font-size: calc(var(--zx-avatar-size) * .34);
3096
- font-weight: 700;
3466
+ overflow: hidden;
3467
+ background: var(--zx-avatar-bg, var(--zx-color-bg-muted));
3468
+ color: var(--zx-avatar-fg, var(--zx-color-text-muted));
3469
+ font-size: max(10px, calc(var(--zx-avatar-size) * .4));
3470
+ font-weight: var(--zx-weight-semibold);
3471
+ letter-spacing: 0;
3097
3472
  line-height: 1;
3473
+ white-space: nowrap;
3098
3474
  }
3099
3475
  .zx-avatar__status {
3100
3476
  position: absolute;
@@ -3115,6 +3491,11 @@ button.zx-panel__toggle:focus-visible {
3115
3491
  .zx-avatar__status[data-status=busy] {
3116
3492
  background: var(--zx-color-danger);
3117
3493
  }
3494
+ @media (forced-colors: active) {
3495
+ .zx-avatar__fallback {
3496
+ border: 1px solid CanvasText;
3497
+ }
3498
+ }
3118
3499
 
3119
3500
  /* src/components/entity-ref/entity-ref.css */
3120
3501
  .zx-entity-ref {
@@ -3164,7 +3545,7 @@ button.zx-panel__toggle:focus-visible {
3164
3545
  }
3165
3546
  .zx-entity-ref__title {
3166
3547
  color: var(--zx-color-text);
3167
- font-weight: 600;
3548
+ font-weight: var(--zx-weight-medium);
3168
3549
  line-height: 1.25;
3169
3550
  }
3170
3551
  .zx-entity-ref__primary,
@@ -3442,7 +3823,7 @@ button.zx-panel__toggle:focus-visible {
3442
3823
  overflow-wrap: anywhere;
3443
3824
  }
3444
3825
  .zx-activity-item__actor {
3445
- font-weight: 700;
3826
+ font-weight: var(--zx-weight-semibold);
3446
3827
  }
3447
3828
  .zx-activity-item__title {
3448
3829
  font-weight: 400;
@@ -3527,8 +3908,7 @@ button.zx-panel__toggle:focus-visible {
3527
3908
  margin: 0;
3528
3909
  color: var(--zx-color-text-muted);
3529
3910
  font-size: var(--zx-text-sm);
3530
- font-weight: 700;
3531
- letter-spacing: 0.02em;
3911
+ font-weight: var(--zx-weight-semibold);
3532
3912
  }
3533
3913
  .zx-activity-list__items {
3534
3914
  display: grid;
@@ -3538,7 +3918,7 @@ button.zx-panel__toggle:focus-visible {
3538
3918
  list-style: none;
3539
3919
  }
3540
3920
  .zx-activity-list__items > .zx-activity-item:not(:last-child) {
3541
- border-block-end: 1px solid var(--zx-color-border);
3921
+ border-block-end: 1px solid var(--zx-color-border-subtle);
3542
3922
  }
3543
3923
  .zx-activity-list__empty,
3544
3924
  .zx-activity-list__loading {
@@ -3567,30 +3947,66 @@ button.zx-panel__toggle:focus-visible {
3567
3947
  .zx-activity-list__skeleton > .zx-skeleton-text {
3568
3948
  padding-block-start: var(--zx-space-1);
3569
3949
  }
3950
+ .zx-activity-list[data-variant=compact] .zx-activity-item__article {
3951
+ gap: var(--zx-space-2);
3952
+ padding-block: var(--zx-space-2);
3953
+ }
3954
+ .zx-activity-list[data-variant=compact] .zx-activity-item__main {
3955
+ gap: calc(var(--zx-space-1) / 2);
3956
+ }
3957
+ .zx-activity-list[data-variant=compact] .zx-activity-item__header {
3958
+ display: flex;
3959
+ flex-wrap: nowrap;
3960
+ align-items: baseline;
3961
+ justify-content: flex-start;
3962
+ gap: var(--zx-space-2);
3963
+ }
3964
+ .zx-activity-list[data-variant=compact] .zx-activity-item__heading {
3965
+ display: block;
3966
+ flex: 1 1 auto;
3967
+ }
3968
+ .zx-activity-list[data-variant=compact] .zx-activity-item__state {
3969
+ align-self: baseline;
3970
+ margin-inline-start: 0;
3971
+ }
3570
3972
 
3571
3973
  /* src/components/account-menu/account-menu.css */
3572
3974
  .zx-account-menu {
3573
3975
  display: block;
3574
3976
  min-inline-size: 0;
3575
3977
  }
3576
- .zx-account-menu__trigger {
3978
+ .zx-account-menu .zx-account-menu__trigger {
3577
3979
  display: grid;
3578
3980
  grid-template-columns: auto minmax(0, 1fr) auto;
3579
3981
  align-items: center;
3580
- gap: var(--zx-space-3);
3982
+ justify-content: stretch;
3983
+ gap: var(--zx-space-2);
3581
3984
  inline-size: 100%;
3582
3985
  min-block-size: calc(var(--zx-control-height) + var(--zx-space-2));
3583
- border-color: transparent;
3986
+ border: 0;
3987
+ border-radius: var(--zx-radius-md);
3584
3988
  background: transparent;
3585
- padding: var(--zx-space-2);
3989
+ -webkit-backdrop-filter: none;
3990
+ backdrop-filter: none;
3991
+ box-shadow: none;
3992
+ padding: var(--zx-space-1) var(--zx-space-2);
3586
3993
  color: inherit;
3994
+ font-weight: var(--zx-weight-medium);
3995
+ line-height: 1.3;
3587
3996
  text-align: start;
3588
3997
  }
3589
- .zx-account-menu__trigger:hover,
3590
- .zx-account-menu__trigger:focus-visible,
3591
- .zx-account-menu__trigger[aria-expanded=true] {
3998
+ .zx-account-menu .zx-account-menu__trigger:is(:hover, [aria-expanded=true]):not(:disabled) {
3592
3999
  background: var(--zx-color-bg-hover);
3593
4000
  }
4001
+ .zx-account-menu .zx-account-menu__trigger:active:not(:disabled) {
4002
+ background: var(--zx-color-bg-current);
4003
+ }
4004
+ .zx-account-menu .zx-account-menu__trigger:focus-visible {
4005
+ box-shadow: var(--zx-focus-ring);
4006
+ }
4007
+ .zx-account-menu__chevron {
4008
+ color: var(--zx-color-text-subtle);
4009
+ }
3594
4010
  .zx-account-menu__identity {
3595
4011
  display: grid;
3596
4012
  min-inline-size: 0;
@@ -3603,11 +4019,12 @@ button.zx-panel__toggle:focus-visible {
3603
4019
  white-space: nowrap;
3604
4020
  }
3605
4021
  .zx-account-menu__name {
3606
- font-weight: 650;
4022
+ font-weight: var(--zx-weight-semibold);
3607
4023
  }
3608
4024
  .zx-account-menu__secondary {
3609
4025
  color: var(--zx-color-text-muted);
3610
4026
  font-size: var(--zx-text-xs);
4027
+ font-weight: 400;
3611
4028
  }
3612
4029
  .zx-account-menu__chevron {
3613
4030
  display: inline-flex;
@@ -3619,6 +4036,7 @@ button.zx-panel__toggle:focus-visible {
3619
4036
  display: inline-grid;
3620
4037
  grid-template-columns: auto;
3621
4038
  inline-size: auto;
4039
+ padding: var(--zx-space-1);
3622
4040
  }
3623
4041
  .zx-account-menu[data-compact=true] .zx-account-menu__identity,
3624
4042
  .zx-account-menu[data-compact=true] .zx-account-menu__chevron {
@@ -3630,7 +4048,7 @@ button.zx-panel__toggle:focus-visible {
3630
4048
  gap: 2px;
3631
4049
  margin: calc(-1 * var(--zx-space-1)) calc(-1 * var(--zx-space-1)) var(--zx-space-1);
3632
4050
  border-block-end: 1px solid var(--zx-color-overlay-divider);
3633
- padding: var(--zx-space-3);
4051
+ padding: var(--zx-space-2) var(--zx-space-3);
3634
4052
  }
3635
4053
  .zx-account-menu__panel-identity span {
3636
4054
  color: var(--zx-color-text-muted);
@@ -3704,10 +4122,13 @@ button.zx-panel__toggle:focus-visible {
3704
4122
  .zx-app-rail__item:hover,
3705
4123
  .zx-app-rail__item:focus-visible,
3706
4124
  .zx-app-rail__item[aria-expanded=true],
3707
- .zx-app-rail__item[data-active-descendant=true],
3708
- .zx-app-rail__item[aria-current=page] {
4125
+ .zx-app-rail__item[data-active-descendant=true] {
3709
4126
  background: var(--zx-color-bg-hover);
3710
- color: var(--zx-color-accent);
4127
+ color: var(--zx-color-text);
4128
+ }
4129
+ .zx-app-rail__item[aria-current=page] {
4130
+ background: var(--zx-color-bg-current);
4131
+ color: var(--zx-color-text);
3711
4132
  }
3712
4133
  .zx-app-rail__item[aria-disabled=true] {
3713
4134
  color: var(--zx-color-text-muted);
@@ -3746,25 +4167,25 @@ button.zx-panel__toggle:focus-visible {
3746
4167
  .zx-app-rail__popover {
3747
4168
  --zx-app-rail-gutter: var(--zx-space-2);
3748
4169
  --zx-app-rail-icon: var(--zx-space-6);
3749
- --zx-app-rail-item-gap: var(--zx-space-3);
3750
- --zx-app-rail-item-height: calc(var(--zx-control-height) + var(--zx-space-2));
3751
- --zx-app-rail-pad-x: var(--zx-space-3);
3752
- --zx-app-rail-row-gap: var(--zx-space-1);
3753
- --zx-app-rail-radius: var(--zx-radius-xl);
3754
- --zx-app-rail-marker: 3px;
3755
- --zx-app-rail-hover: color-mix(in srgb, var(--zx-color-text) 7%, transparent);
3756
- --zx-app-rail-press: color-mix(in srgb, var(--zx-color-text) 14%, transparent);
4170
+ --zx-app-rail-item-gap: var(--zx-space-2);
4171
+ --zx-app-rail-item-height: var(--zx-control-height);
4172
+ --zx-app-rail-pad-x: var(--zx-space-2);
4173
+ --zx-app-rail-row-gap: 2px;
4174
+ --zx-app-rail-radius: var(--zx-radius-md);
4175
+ --zx-app-rail-hover: var(--zx-color-bg-hover);
4176
+ --zx-app-rail-current: var(--zx-color-bg-current);
4177
+ --zx-app-rail-press: color-mix(in srgb, var(--zx-color-text) 12%, transparent);
3757
4178
  min-inline-size: 240px;
3758
4179
  }
3759
4180
  .zx-dropdown.zx-app-rail__popover {
3760
4181
  max-inline-size: min(280px, calc(100vw - (2 * var(--zx-space-3))));
3761
- padding: var(--zx-space-2) var(--zx-app-rail-gutter);
4182
+ padding: var(--zx-space-1) var(--zx-app-rail-gutter);
3762
4183
  }
3763
4184
  .zx-app-rail__flyout-title {
3764
- padding: var(--zx-space-1) var(--zx-app-rail-pad-x) var(--zx-space-2);
4185
+ padding: var(--zx-space-1) var(--zx-app-rail-pad-x);
3765
4186
  color: var(--zx-color-text-muted);
3766
4187
  font-size: var(--zx-text-xs);
3767
- font-weight: 700;
4188
+ font-weight: var(--zx-weight-semibold);
3768
4189
  line-height: 1.3;
3769
4190
  }
3770
4191
  .zx-app-rail__flyout-list {
@@ -3789,7 +4210,7 @@ button.zx-panel__toggle:focus-visible {
3789
4210
  border: 0;
3790
4211
  border-radius: var(--zx-app-rail-radius);
3791
4212
  background: transparent;
3792
- padding-block: var(--zx-space-1);
4213
+ padding-block: min(var(--zx-space-1), (var(--zx-app-rail-item-height) - var(--zx-app-rail-icon)) / 2);
3793
4214
  padding-inline: var(--zx-app-rail-pad-x);
3794
4215
  color: var(--zx-color-text);
3795
4216
  font-size: var(--zx-text-md);
@@ -3803,31 +4224,6 @@ button.zx-panel__toggle:focus-visible {
3803
4224
  min-block-size: 40px;
3804
4225
  }
3805
4226
  }
3806
- .zx-app-rail__flyout-item::before {
3807
- content: "";
3808
- position: absolute;
3809
- inset-block: 50%;
3810
- inset-inline-start: calc(-1 * var(--zx-app-rail-gutter));
3811
- inline-size: var(--zx-app-rail-marker);
3812
- border-start-end-radius: var(--zx-radius-full);
3813
- border-end-end-radius: var(--zx-radius-full);
3814
- background: var(--zx-color-accent);
3815
- opacity: 0;
3816
- }
3817
- .zx-app-rail__popover[data-side=right] .zx-app-rail__flyout-item::before {
3818
- inset-inline: auto calc(-1 * var(--zx-app-rail-gutter));
3819
- border-radius: 0;
3820
- border-start-start-radius: var(--zx-radius-full);
3821
- border-end-start-radius: var(--zx-radius-full);
3822
- }
3823
- .zx-app-rail__flyout-item[aria-current=page]::before {
3824
- inset-block: 25%;
3825
- opacity: 1;
3826
- }
3827
- .zx-app-rail__flyout-item[data-active-descendant=true][aria-expanded=false]::before {
3828
- inset-block: 38%;
3829
- opacity: .55;
3830
- }
3831
4227
  .zx-app-rail__flyout-item-icon {
3832
4228
  grid-column: 1;
3833
4229
  display: flex;
@@ -3874,27 +4270,22 @@ button.zx-panel__toggle:focus-visible {
3874
4270
  color: var(--zx-color-text);
3875
4271
  }
3876
4272
  .zx-app-rail__flyout-item[data-active-descendant=true][aria-expanded=false] {
3877
- color: var(--zx-color-accent);
3878
- font-weight: 600;
4273
+ font-weight: var(--zx-weight-semibold);
3879
4274
  }
3880
- .zx-app-rail__flyout-item[aria-current=page] {
3881
- background: var(--zx-color-accent);
3882
- color: var(--zx-color-on-accent);
3883
- font-weight: 600;
4275
+ .zx-app-rail__flyout-item[data-active-descendant=true][aria-expanded=false] .zx-app-rail__flyout-item-icon {
4276
+ color: var(--zx-color-text);
3884
4277
  }
3885
- .zx-app-rail__flyout-item[aria-current=page]:hover {
3886
- background: color-mix(in srgb, var(--zx-color-text) 8%, var(--zx-color-accent));
4278
+ .zx-app-rail__flyout-item[aria-current=page] {
4279
+ background: var(--zx-app-rail-current);
4280
+ color: var(--zx-color-text);
4281
+ font-weight: var(--zx-weight-semibold);
3887
4282
  }
3888
4283
  .zx-app-rail__flyout-item[aria-current=page]:active {
3889
- background: color-mix(in srgb, var(--zx-color-text) 16%, var(--zx-color-accent));
3890
- }
3891
- .zx-app-rail__flyout-item[aria-current=page]:focus-visible {
3892
- box-shadow: inset 0 0 0 2px var(--zx-color-on-accent), var(--zx-focus-ring);
4284
+ background: var(--zx-app-rail-press);
3893
4285
  }
3894
4286
  .zx-app-rail__flyout-item[aria-current=page] .zx-app-rail__flyout-item-icon,
3895
- .zx-app-rail__flyout-item[aria-current=page] .zx-app-rail__flyout-item-badge,
3896
4287
  .zx-app-rail__flyout-item[aria-current=page] .zx-app-rail__flyout-item-disclosure {
3897
- color: inherit;
4288
+ color: var(--zx-color-text);
3898
4289
  }
3899
4290
  .zx-app-rail__flyout-item[aria-disabled=true] {
3900
4291
  color: var(--zx-color-text-muted);
@@ -3914,9 +4305,6 @@ button.zx-panel__toggle:focus-visible {
3914
4305
  color var(--zx-dur-fast) var(--zx-ease),
3915
4306
  box-shadow var(--zx-dur-fast) var(--zx-ease);
3916
4307
  }
3917
- .zx-app-rail__flyout-item::before {
3918
- transition: opacity var(--zx-dur-base) var(--zx-ease), inset-block var(--zx-dur-base) var(--zx-ease);
3919
- }
3920
4308
  .zx-app-rail__flyout-item:active {
3921
4309
  transform: scale(.985);
3922
4310
  }
@@ -3926,9 +4314,6 @@ button.zx-panel__toggle:focus-visible {
3926
4314
  background: Highlight;
3927
4315
  color: HighlightText;
3928
4316
  }
3929
- .zx-app-rail__flyout-item::before {
3930
- background: Highlight;
3931
- }
3932
4317
  }
3933
4318
  @media (prefers-reduced-transparency: reduce) {
3934
4319
  .zx-app-rail {
@@ -3942,16 +4327,17 @@ button.zx-panel__toggle:focus-visible {
3942
4327
  .zx-app-sidebar {
3943
4328
  --zx-app-sidebar-gutter: var(--zx-space-2);
3944
4329
  --zx-app-sidebar-icon: var(--zx-space-6);
3945
- --zx-app-sidebar-item-gap: var(--zx-space-3);
3946
- --zx-app-sidebar-item-height: calc(var(--zx-control-height) + var(--zx-space-2));
3947
- --zx-app-sidebar-pad-x: var(--zx-space-3);
3948
- --zx-app-sidebar-row-gap: var(--zx-space-1);
3949
- --zx-app-sidebar-group-gap: var(--zx-space-4);
3950
- --zx-app-sidebar-indent: var(--zx-space-5);
3951
- --zx-app-sidebar-marker: 3px;
3952
- --zx-app-sidebar-radius: var(--zx-radius-xl);
3953
- --zx-app-sidebar-hover: color-mix(in srgb, var(--zx-color-text) 7%, transparent);
3954
- --zx-app-sidebar-press: color-mix(in srgb, var(--zx-color-text) 14%, transparent);
4330
+ --zx-app-sidebar-item-gap: var(--zx-space-2);
4331
+ --zx-app-sidebar-item-height: var(--zx-control-height);
4332
+ --zx-app-sidebar-pad-x: var(--zx-space-2);
4333
+ --zx-app-sidebar-row-gap: 2px;
4334
+ --zx-app-sidebar-group-gap: var(--zx-space-3);
4335
+ --zx-app-sidebar-indent: var(--zx-space-3);
4336
+ --zx-app-sidebar-icon-indent: var(--zx-space-4);
4337
+ --zx-app-sidebar-radius: var(--zx-radius-md);
4338
+ --zx-app-sidebar-hover: var(--zx-color-bg-hover);
4339
+ --zx-app-sidebar-current: var(--zx-color-bg-current);
4340
+ --zx-app-sidebar-press: color-mix(in srgb, var(--zx-color-text) 12%, transparent);
3955
4341
  display: flex;
3956
4342
  min-block-size: 0;
3957
4343
  border: 1px solid var(--zx-color-glass-border);
@@ -3959,10 +4345,6 @@ button.zx-panel__toggle:focus-visible {
3959
4345
  box-shadow: var(--zx-glass-chrome-shadow);
3960
4346
  color: var(--zx-color-text);
3961
4347
  }
3962
- [data-zx-density=compact] .zx-app-sidebar,
3963
- .zx-app-sidebar[data-zx-density=compact] {
3964
- --zx-app-sidebar-group-gap: var(--zx-space-3);
3965
- }
3966
4348
  .zx-app-sidebar[data-orientation=horizontal] {
3967
4349
  inline-size: 100%;
3968
4350
  }
@@ -3993,6 +4375,9 @@ button.zx-panel__toggle:focus-visible {
3993
4375
  .zx-app-sidebar__header-content {
3994
4376
  min-inline-size: 0;
3995
4377
  }
4378
+ .zx-app-sidebar .zx-app-sidebar__collapse[hidden] {
4379
+ display: none;
4380
+ }
3996
4381
  .zx-app-sidebar__nav {
3997
4382
  min-block-size: 0;
3998
4383
  overflow: auto;
@@ -4006,10 +4391,25 @@ button.zx-panel__toggle:focus-visible {
4006
4391
  padding: 0;
4007
4392
  list-style: none;
4008
4393
  }
4009
- .zx-app-sidebar__list:not(:has(.zx-app-sidebar__item-icon)) {
4394
+ .zx-app-sidebar__list:not(:has(> .zx-app-sidebar__row > .zx-app-sidebar__item .zx-app-sidebar__item-icon)),
4395
+ .zx-app-sidebar__sublist:not(:has(> .zx-app-sidebar__row > .zx-app-sidebar__item .zx-app-sidebar__item-icon)) {
4010
4396
  --zx-app-sidebar-icon: 0px;
4011
4397
  --zx-app-sidebar-item-gap: 0px;
4012
4398
  }
4399
+ .zx-app-sidebar__row[data-level="1"] {
4400
+ --zx-app-sidebar-step-1: max(var(--zx-app-sidebar-indent), var(--zx-app-sidebar-icon) + var(--zx-app-sidebar-item-gap));
4401
+ --zx-app-sidebar-guide: calc(var(--zx-app-sidebar-pad-x) + max(var(--zx-app-sidebar-indent), var(--zx-app-sidebar-icon)) / 2);
4402
+ }
4403
+ .zx-app-sidebar__row[data-level="2"] {
4404
+ --zx-app-sidebar-step-2: calc(var(--zx-app-sidebar-step-1) + max(var(--zx-app-sidebar-indent), var(--zx-app-sidebar-icon) + var(--zx-app-sidebar-item-gap)));
4405
+ --zx-app-sidebar-guide: calc(var(--zx-app-sidebar-pad-x) + var(--zx-app-sidebar-step-1) + max(var(--zx-app-sidebar-indent), var(--zx-app-sidebar-icon)) / 2);
4406
+ }
4407
+ .zx-app-sidebar__row[data-level="1"]:has(> .zx-app-sidebar__sublist > .zx-app-sidebar__row > .zx-app-sidebar__item .zx-app-sidebar__item-icon) {
4408
+ --zx-app-sidebar-step-1: max(var(--zx-app-sidebar-indent), var(--zx-app-sidebar-icon-indent));
4409
+ }
4410
+ .zx-app-sidebar__row[data-level="2"]:has(> .zx-app-sidebar__sublist > .zx-app-sidebar__row > .zx-app-sidebar__item .zx-app-sidebar__item-icon) {
4411
+ --zx-app-sidebar-step-2: calc(var(--zx-app-sidebar-step-1) + max(var(--zx-app-sidebar-indent), var(--zx-app-sidebar-icon-indent)));
4412
+ }
4013
4413
  .zx-app-sidebar__sublist {
4014
4414
  position: relative;
4015
4415
  margin-block-start: var(--zx-app-sidebar-row-gap);
@@ -4020,8 +4420,8 @@ button.zx-panel__toggle:focus-visible {
4020
4420
  .zx-app-sidebar__sublist::before {
4021
4421
  content: "";
4022
4422
  position: absolute;
4023
- inset-block: var(--zx-space-1);
4024
- inset-inline-start: calc(var(--zx-app-sidebar-pad-x) + var(--zx-app-sidebar-icon) / 2);
4423
+ inset-block: 2px;
4424
+ inset-inline-start: var(--zx-app-sidebar-guide);
4025
4425
  inline-size: 1px;
4026
4426
  border-radius: var(--zx-radius-full);
4027
4427
  background: var(--zx-color-border);
@@ -4044,7 +4444,7 @@ button.zx-panel__toggle:focus-visible {
4044
4444
  border: 0;
4045
4445
  border-radius: var(--zx-app-sidebar-radius);
4046
4446
  background: transparent;
4047
- padding-block: var(--zx-space-1);
4447
+ padding-block: min(var(--zx-space-1), (var(--zx-app-sidebar-item-height) - var(--zx-app-sidebar-icon)) / 2);
4048
4448
  padding-inline: var(--zx-app-sidebar-pad-x);
4049
4449
  color: var(--zx-color-text);
4050
4450
  font-size: var(--zx-text-md);
@@ -4059,35 +4459,10 @@ button.zx-panel__toggle:focus-visible {
4059
4459
  }
4060
4460
  }
4061
4461
  .zx-app-sidebar__row[data-level="2"] > .zx-app-sidebar__item {
4062
- padding-inline-start: calc(var(--zx-app-sidebar-pad-x) + var(--zx-app-sidebar-indent));
4462
+ padding-inline-start: calc(var(--zx-app-sidebar-pad-x) + var(--zx-app-sidebar-step-1));
4063
4463
  }
4064
4464
  .zx-app-sidebar__row[data-level="3"] > .zx-app-sidebar__item {
4065
- padding-inline-start: calc(var(--zx-app-sidebar-pad-x) + 2 * var(--zx-app-sidebar-indent));
4066
- }
4067
- .zx-app-sidebar__item::before {
4068
- content: "";
4069
- position: absolute;
4070
- inset-block: 50%;
4071
- inset-inline-start: calc(-1 * var(--zx-app-sidebar-gutter));
4072
- inline-size: var(--zx-app-sidebar-marker);
4073
- border-start-end-radius: var(--zx-radius-full);
4074
- border-end-end-radius: var(--zx-radius-full);
4075
- background: var(--zx-color-accent);
4076
- opacity: 0;
4077
- }
4078
- .zx-app-sidebar[data-side=right] .zx-app-sidebar__item::before {
4079
- inset-inline: auto calc(-1 * var(--zx-app-sidebar-gutter));
4080
- border-radius: 0;
4081
- border-start-start-radius: var(--zx-radius-full);
4082
- border-end-start-radius: var(--zx-radius-full);
4083
- }
4084
- .zx-app-sidebar__item[aria-current=page]::before {
4085
- inset-block: 25%;
4086
- opacity: 1;
4087
- }
4088
- .zx-app-sidebar__item[data-active-descendant=true][aria-expanded=false]::before {
4089
- inset-block: 38%;
4090
- opacity: .55;
4465
+ padding-inline-start: calc(var(--zx-app-sidebar-pad-x) + var(--zx-app-sidebar-step-2));
4091
4466
  }
4092
4467
  .zx-app-sidebar__item-icon {
4093
4468
  grid-column: 1;
@@ -4128,27 +4503,22 @@ button.zx-panel__toggle:focus-visible {
4128
4503
  background: var(--zx-app-sidebar-press);
4129
4504
  }
4130
4505
  .zx-app-sidebar__item[data-active-descendant=true][aria-expanded=false] {
4131
- color: var(--zx-color-accent);
4132
- font-weight: 600;
4506
+ font-weight: var(--zx-weight-semibold);
4133
4507
  }
4134
- .zx-app-sidebar__item[aria-current=page] {
4135
- background: var(--zx-color-accent);
4136
- color: var(--zx-color-on-accent);
4137
- font-weight: 600;
4508
+ .zx-app-sidebar__item[data-active-descendant=true][aria-expanded=false] .zx-app-sidebar__item-icon {
4509
+ color: var(--zx-color-text);
4138
4510
  }
4139
- .zx-app-sidebar__item[aria-current=page]:hover {
4140
- background: color-mix(in srgb, var(--zx-color-text) 8%, var(--zx-color-accent));
4511
+ .zx-app-sidebar__item[aria-current=page] {
4512
+ background: var(--zx-app-sidebar-current);
4513
+ color: var(--zx-color-text);
4514
+ font-weight: var(--zx-weight-semibold);
4141
4515
  }
4142
4516
  .zx-app-sidebar__item[aria-current=page]:active {
4143
- background: color-mix(in srgb, var(--zx-color-text) 16%, var(--zx-color-accent));
4144
- }
4145
- .zx-app-sidebar__item[aria-current=page]:focus-visible {
4146
- box-shadow: inset 0 0 0 2px var(--zx-color-on-accent), var(--zx-focus-ring);
4517
+ background: var(--zx-app-sidebar-press);
4147
4518
  }
4148
4519
  .zx-app-sidebar__item[aria-current=page] .zx-app-sidebar__item-icon,
4149
- .zx-app-sidebar__item[aria-current=page] .zx-app-sidebar__item-badge,
4150
4520
  .zx-app-sidebar__item[aria-current=page] .zx-app-sidebar__item-disclosure {
4151
- color: inherit;
4521
+ color: var(--zx-color-text);
4152
4522
  }
4153
4523
  .zx-app-sidebar__item[aria-disabled=true] {
4154
4524
  color: var(--zx-color-text-muted);
@@ -4172,66 +4542,23 @@ button.zx-panel__toggle:focus-visible {
4172
4542
  display: grid;
4173
4543
  gap: var(--zx-space-1);
4174
4544
  }
4175
- .zx-app-sidebar__rail .zx-app-rail__item[aria-current=page] {
4176
- background: var(--zx-color-accent);
4177
- color: var(--zx-color-on-accent);
4178
- }
4179
- .zx-app-sidebar__rail .zx-app-rail__item[aria-current=page]:hover {
4180
- background: color-mix(in srgb, var(--zx-color-text) 8%, var(--zx-color-accent));
4545
+ .zx-app-sidebar__rail .zx-app-rail__item {
4546
+ color: var(--zx-color-text-muted);
4181
4547
  }
4182
4548
  .zx-app-sidebar__rail .zx-app-rail__item:not([aria-current=page]):hover,
4183
4549
  .zx-app-sidebar__rail .zx-app-rail__item:not([aria-current=page])[aria-expanded=true] {
4184
4550
  background: var(--zx-app-sidebar-hover);
4185
4551
  color: var(--zx-color-text);
4186
4552
  }
4187
- .zx-app-sidebar__rail .zx-app-rail__item:not([aria-current=page]):active {
4553
+ .zx-app-sidebar__rail .zx-app-rail__item:active {
4188
4554
  background: var(--zx-app-sidebar-press);
4189
4555
  }
4190
- .zx-app-sidebar__rail .zx-app-rail__item[aria-current=page]:focus-visible {
4191
- box-shadow: inset 0 0 0 2px var(--zx-color-on-accent), var(--zx-focus-ring);
4192
- }
4193
- .zx-app-sidebar__rail .zx-app-rail__item::after {
4194
- content: "";
4195
- position: absolute;
4196
- inset-block: 22%;
4197
- inset-inline-start: calc(-1 * var(--zx-space-1));
4198
- inline-size: var(--zx-app-sidebar-marker);
4199
- border-start-end-radius: var(--zx-radius-full);
4200
- border-end-end-radius: var(--zx-radius-full);
4201
- background: var(--zx-color-accent);
4202
- opacity: 0;
4203
- }
4204
- .zx-app-sidebar[data-side=right] .zx-app-rail__item::after {
4205
- inset-inline: auto calc(-1 * var(--zx-space-1));
4206
- border-radius: 0;
4207
- border-start-start-radius: var(--zx-radius-full);
4208
- border-end-start-radius: var(--zx-radius-full);
4209
- }
4210
- .zx-app-sidebar[data-orientation=horizontal] .zx-app-rail__item::after {
4211
- inset-block: auto calc(-1 * var(--zx-space-1));
4212
- inset-inline: 22%;
4213
- inline-size: auto;
4214
- block-size: var(--zx-app-sidebar-marker);
4215
- border-radius: 0;
4216
- border-start-start-radius: var(--zx-radius-full);
4217
- border-start-end-radius: var(--zx-radius-full);
4218
- }
4219
- .zx-app-sidebar[data-side=bottom] .zx-app-rail__item::after {
4220
- inset-block: calc(-1 * var(--zx-space-1)) auto;
4221
- border-radius: 0;
4222
- border-end-start-radius: var(--zx-radius-full);
4223
- border-end-end-radius: var(--zx-radius-full);
4224
- }
4225
- .zx-app-sidebar__rail .zx-app-rail__item[aria-current=page]::after {
4226
- opacity: 1;
4227
- }
4228
- .zx-app-sidebar__rail .zx-app-rail__item[data-active-descendant=true]:not([aria-current=page])::after {
4229
- inset-block: 34%;
4230
- opacity: .55;
4556
+ .zx-app-sidebar__rail .zx-app-rail__item[aria-current=page] {
4557
+ background: var(--zx-app-sidebar-current);
4558
+ color: var(--zx-color-text);
4231
4559
  }
4232
- .zx-app-sidebar[data-orientation=horizontal] .zx-app-rail__item[data-active-descendant=true]:not([aria-current=page])::after {
4233
- inset-block: auto calc(-1 * var(--zx-space-1));
4234
- inset-inline: 34%;
4560
+ .zx-app-sidebar__rail .zx-app-rail__item[data-active-descendant=true]:not([aria-current=page]) {
4561
+ color: var(--zx-color-text);
4235
4562
  }
4236
4563
  .zx-app-sidebar__rail .zx-app-rail__item-badge {
4237
4564
  inset-block-start: 0;
@@ -4245,7 +4572,7 @@ button.zx-panel__toggle:focus-visible {
4245
4572
  color: var(--zx-color-on-accent);
4246
4573
  font-size: var(--zx-text-xs);
4247
4574
  font-variant-numeric: tabular-nums;
4248
- font-weight: 600;
4575
+ font-weight: var(--zx-weight-semibold);
4249
4576
  line-height: var(--zx-space-4);
4250
4577
  text-align: center;
4251
4578
  }
@@ -4257,11 +4584,6 @@ button.zx-panel__toggle:focus-visible {
4257
4584
  font-size: 0;
4258
4585
  line-height: 0;
4259
4586
  }
4260
- .zx-app-sidebar__rail .zx-app-rail__item[aria-current=page] .zx-app-rail__item-badge {
4261
- background: var(--zx-color-on-accent);
4262
- box-shadow: none;
4263
- color: var(--zx-color-accent);
4264
- }
4265
4587
  @media (prefers-reduced-motion: no-preference) {
4266
4588
  .zx-app-sidebar__item,
4267
4589
  .zx-app-sidebar__rail .zx-app-rail__item {
@@ -4270,10 +4592,6 @@ button.zx-panel__toggle:focus-visible {
4270
4592
  color var(--zx-dur-fast) var(--zx-ease),
4271
4593
  box-shadow var(--zx-dur-fast) var(--zx-ease);
4272
4594
  }
4273
- .zx-app-sidebar__item::before,
4274
- .zx-app-sidebar__rail .zx-app-rail__item::after {
4275
- transition: opacity var(--zx-dur-base) var(--zx-ease), inset-block var(--zx-dur-base) var(--zx-ease);
4276
- }
4277
4595
  .zx-app-sidebar__item:active,
4278
4596
  .zx-app-sidebar__rail .zx-app-rail__item:active {
4279
4597
  transform: scale(.985);
@@ -4311,10 +4629,6 @@ button.zx-panel__toggle:focus-visible {
4311
4629
  background: Highlight;
4312
4630
  color: HighlightText;
4313
4631
  }
4314
- .zx-app-sidebar__item::before,
4315
- .zx-app-sidebar__rail .zx-app-rail__item::after {
4316
- background: Highlight;
4317
- }
4318
4632
  }
4319
4633
  @media (prefers-reduced-transparency: reduce) {
4320
4634
  .zx-app-sidebar {
@@ -4349,12 +4663,25 @@ button.zx-panel__toggle:focus-visible {
4349
4663
  grid-auto-rows: max-content;
4350
4664
  align-content: start;
4351
4665
  }
4666
+ @media (max-width: 640px) {
4667
+ .zx-message-region {
4668
+ inset-block-start: auto;
4669
+ inset-block-end: var(--zx-space-4);
4670
+ inset-inline: var(--zx-space-4);
4671
+ inline-size: auto;
4672
+ }
4673
+ .zx-message-region:popover-open {
4674
+ align-content: end;
4675
+ }
4676
+ }
4352
4677
  .zx-message__toast {
4353
4678
  --zx-message-kind: var(--zx-color-info);
4354
4679
  --zx-message-fallback-bg: var(--zx-color-info-bg);
4355
4680
  position: relative;
4356
4681
  display: grid;
4357
- grid-template-columns: auto minmax(0, 1fr) auto;
4682
+ grid-template-columns: auto minmax(0, 1fr);
4683
+ grid-auto-columns: auto;
4684
+ grid-auto-flow: column;
4358
4685
  align-items: start;
4359
4686
  gap: var(--zx-space-3);
4360
4687
  border: 1px solid var(--zx-color-overlay-border);
@@ -4384,7 +4711,7 @@ button.zx-panel__toggle:focus-visible {
4384
4711
  background-clip: padding-box;
4385
4712
  -webkit-backdrop-filter: var(--zx-glass-filter-overlay);
4386
4713
  backdrop-filter: var(--zx-glass-filter-overlay);
4387
- box-shadow: inset 3px 0 0 color-mix(in srgb, var(--zx-message-kind) 72%, var(--zx-color-glass-highlight-strong)), var(--zx-glass-overlay-shadow);
4714
+ box-shadow: var(--zx-glass-overlay-shadow);
4388
4715
  }
4389
4716
  }
4390
4717
  @media (prefers-reduced-transparency: reduce) {
@@ -4405,6 +4732,13 @@ button.zx-panel__toggle:focus-visible {
4405
4732
  min-inline-size: 0;
4406
4733
  overflow-wrap: anywhere;
4407
4734
  }
4735
+ .zx-message__toast[data-leading] > .zx-message__icon {
4736
+ margin-block: calc(-0.5 * var(--zx-space-1)) 0;
4737
+ }
4738
+ .zx-message__action {
4739
+ margin-block: calc(-1 * var(--zx-space-1)) 0;
4740
+ white-space: nowrap;
4741
+ }
4408
4742
  .zx-message__close {
4409
4743
  margin-block: calc(-1 * var(--zx-space-1)) 0;
4410
4744
  margin-inline: 0 calc(-1 * var(--zx-space-1));
@@ -4539,6 +4873,8 @@ body:has(.zx-modal:modal) {
4539
4873
  .zx-dialog__title {
4540
4874
  margin: 0;
4541
4875
  font-size: var(--zx-text-xl);
4876
+ font-weight: 650;
4877
+ letter-spacing: var(--zx-tracking-title);
4542
4878
  line-height: 1.3;
4543
4879
  }
4544
4880
  .zx-dialog__close {
@@ -4568,6 +4904,24 @@ body:has(.zx-modal:modal) {
4568
4904
  .zx-dialog__prompt-input {
4569
4905
  inline-size: 100%;
4570
4906
  }
4907
+ .zx-dialog__confirm {
4908
+ display: grid;
4909
+ gap: var(--zx-space-2);
4910
+ }
4911
+ .zx-dialog__confirm > .zx-dialog__prompt-message {
4912
+ margin-block-end: var(--zx-space-2);
4913
+ }
4914
+ .zx-dialog__confirm-label {
4915
+ color: var(--zx-color-text-muted);
4916
+ font-size: var(--zx-text-sm);
4917
+ }
4918
+ .zx-dialog__confirm-label > b {
4919
+ color: var(--zx-color-text);
4920
+ font-weight: var(--zx-weight-semibold);
4921
+ }
4922
+ .zx-dialog__confirm-input {
4923
+ inline-size: 100%;
4924
+ }
4571
4925
  @media (prefers-reduced-motion: no-preference) {
4572
4926
  .zx-dialog__view[aria-hidden=false] {
4573
4927
  animation: zx-dialog-view-enter var(--zx-dur-fast) var(--zx-ease);
@@ -4626,16 +4980,16 @@ body:has(.zx-modal:modal) {
4626
4980
  inset-block-start: 0;
4627
4981
  inset-block-end: auto;
4628
4982
  border-block-end: 1px solid var(--zx-color-overlay-border);
4629
- border-end-start-radius: var(--zx-sheet-radius, var(--zx-radius-xl));
4630
- border-end-end-radius: var(--zx-sheet-radius, var(--zx-radius-xl));
4983
+ border-end-start-radius: var(--zx-sheet-radius, var(--zx-radius-lg));
4984
+ border-end-end-radius: var(--zx-sheet-radius, var(--zx-radius-lg));
4631
4985
  --zx-sheet-enter: 0 -100%;
4632
4986
  }
4633
4987
  .zx-sheet[data-side=bottom] {
4634
4988
  inset-block-start: auto;
4635
4989
  inset-block-end: 0;
4636
4990
  border-block-start: 1px solid var(--zx-color-overlay-border);
4637
- border-start-start-radius: var(--zx-sheet-radius, var(--zx-radius-xl));
4638
- border-start-end-radius: var(--zx-sheet-radius, var(--zx-radius-xl));
4991
+ border-start-start-radius: var(--zx-sheet-radius, var(--zx-radius-lg));
4992
+ border-start-end-radius: var(--zx-sheet-radius, var(--zx-radius-lg));
4639
4993
  --zx-sheet-enter: 0 100%;
4640
4994
  }
4641
4995
  .zx-sheet[data-backdrop=none]::backdrop {
@@ -4660,7 +5014,7 @@ body:has(.zx-modal:modal) {
4660
5014
  @media (prefers-reduced-motion: no-preference) {
4661
5015
  .zx-sheet {
4662
5016
  transition:
4663
- translate var(--zx-dur-base) var(--zx-ease),
5017
+ translate var(--zx-dur-base) var(--zx-ease-drawer),
4664
5018
  opacity var(--zx-dur-base) var(--zx-ease),
4665
5019
  display var(--zx-dur-base) allow-discrete,
4666
5020
  overlay var(--zx-dur-base) allow-discrete;
@@ -4724,7 +5078,7 @@ body:has(.zx-modal:modal) {
4724
5078
  @media (prefers-reduced-motion: no-preference) {
4725
5079
  .zx-sheet[data-docked] {
4726
5080
  transition:
4727
- flex-basis var(--zx-dur-base) var(--zx-ease),
5081
+ flex-basis var(--zx-dur-base) var(--zx-ease-drawer),
4728
5082
  opacity var(--zx-dur-base) var(--zx-ease),
4729
5083
  display var(--zx-dur-base) allow-discrete,
4730
5084
  overlay var(--zx-dur-base) allow-discrete;
@@ -4861,8 +5215,8 @@ body:has(.zx-modal:modal) {
4861
5215
  @media (prefers-reduced-motion: no-preference) {
4862
5216
  .zx-sheet[data-stack] {
4863
5217
  transition:
4864
- transform var(--zx-dur-base) var(--zx-ease),
4865
- translate var(--zx-dur-base) var(--zx-ease),
5218
+ transform var(--zx-dur-base) var(--zx-ease-drawer),
5219
+ translate var(--zx-dur-base) var(--zx-ease-drawer),
4866
5220
  opacity var(--zx-dur-base) var(--zx-ease),
4867
5221
  display var(--zx-dur-base) allow-discrete,
4868
5222
  overlay var(--zx-dur-base) allow-discrete;
@@ -4875,7 +5229,7 @@ body:has(.zx-modal:modal) {
4875
5229
  max-block-size: calc(100vh - (2 * var(--zx-space-3)));
4876
5230
  overflow: auto;
4877
5231
  border: 1px solid var(--zx-color-overlay-border);
4878
- border-radius: var(--zx-radius-md);
5232
+ border-radius: var(--zx-radius-lg);
4879
5233
  background-color: var(--zx-color-overlay-surface);
4880
5234
  background-image: var(--zx-overlay-surface-image);
4881
5235
  background-clip: padding-box;
@@ -4908,6 +5262,7 @@ body:has(.zx-modal:modal) {
4908
5262
 
4909
5263
  /* src/components/tooltip/tooltip.css */
4910
5264
  .zx-tooltip {
5265
+ inline-size: max-content;
4911
5266
  max-inline-size: var(--zx-tooltip-max-inline-size, 260px);
4912
5267
  border: 1px solid var(--zx-color-overlay-border);
4913
5268
  border-radius: var(--zx-radius-md);
@@ -5266,12 +5621,14 @@ body:has(.zx-modal:modal) {
5266
5621
  align-items: center;
5267
5622
  gap: var(--zx-space-2);
5268
5623
  inline-size: 100%;
5269
- min-block-size: var(--zx-control-height);
5270
- border: 1px solid transparent;
5624
+ min-block-size: calc(var(--zx-control-height) - 2px);
5625
+ border: 0;
5626
+ border-radius: var(--zx-radius-sm);
5271
5627
  background: transparent;
5272
- padding-inline: var(--zx-control-pad-x);
5628
+ padding: var(--zx-space-1) var(--zx-space-2);
5273
5629
  color: inherit;
5274
5630
  font: inherit;
5631
+ line-height: 1.35;
5275
5632
  text-align: start;
5276
5633
  text-decoration: none;
5277
5634
  }
@@ -5348,7 +5705,7 @@ body:has(.zx-modal:modal) {
5348
5705
  box-shadow: inset 0 0 0 2px var(--zx-color-bg-raised);
5349
5706
  }
5350
5707
  .zx-menu-button__heading {
5351
- padding: var(--zx-space-2) var(--zx-control-pad-x) var(--zx-space-1);
5708
+ padding: var(--zx-space-1) var(--zx-space-2);
5352
5709
  color: var(--zx-color-text-muted);
5353
5710
  font-size: var(--zx-text-xs);
5354
5711
  font-weight: 600;
@@ -5376,12 +5733,14 @@ body:has(.zx-modal:modal) {
5376
5733
  align-items: center;
5377
5734
  gap: var(--zx-space-2);
5378
5735
  inline-size: 100%;
5379
- min-block-size: var(--zx-control-height);
5380
- border: 1px solid transparent;
5736
+ min-block-size: calc(var(--zx-control-height) - 2px);
5737
+ border: 0;
5738
+ border-radius: var(--zx-radius-sm);
5381
5739
  background: transparent;
5382
- padding-inline: var(--zx-control-pad-x);
5740
+ padding: var(--zx-space-1) var(--zx-space-2);
5383
5741
  color: inherit;
5384
5742
  font: inherit;
5743
+ line-height: 1.35;
5385
5744
  text-align: start;
5386
5745
  text-decoration: none;
5387
5746
  }
@@ -5458,7 +5817,7 @@ body:has(.zx-modal:modal) {
5458
5817
  box-shadow: inset 0 0 0 2px var(--zx-color-bg-raised);
5459
5818
  }
5460
5819
  .zx-context-menu__heading {
5461
- padding: var(--zx-space-2) var(--zx-control-pad-x) var(--zx-space-1);
5820
+ padding: var(--zx-space-1) var(--zx-space-2);
5462
5821
  color: var(--zx-color-text-muted);
5463
5822
  font-size: var(--zx-text-xs);
5464
5823
  font-weight: 600;
@@ -5499,7 +5858,7 @@ body:has(.zx-modal:modal) {
5499
5858
  .zx-select__value-adornment:not([hidden]) + .zx-select__input {
5500
5859
  padding-inline-start: var(--zx-space-2) !important;
5501
5860
  }
5502
- .zx-select__control:has(.zx-select__input:focus-visible) {
5861
+ .zx-select:not([data-focus-origin=pointer]) .zx-select__control:has(.zx-select__input:focus-visible) {
5503
5862
  box-shadow: var(--zx-focus-ring);
5504
5863
  }
5505
5864
  .zx-select__input {
@@ -5556,9 +5915,13 @@ body:has(.zx-modal:modal) {
5556
5915
  border-block-start-color: var(--zx-color-accent);
5557
5916
  border-radius: var(--zx-radius-full);
5558
5917
  }
5918
+ .zx-select[aria-disabled=true] {
5919
+ opacity: 0.65;
5920
+ }
5921
+ .zx-field[data-disabled=true] .zx-select[aria-disabled=true] {
5922
+ opacity: 1;
5923
+ }
5559
5924
  .zx-select[aria-disabled=true] .zx-select__control {
5560
- background: var(--zx-color-bg-page);
5561
- color: var(--zx-color-text-muted);
5562
5925
  cursor: default;
5563
5926
  }
5564
5927
  .zx-select__panel {
@@ -5567,7 +5930,7 @@ body:has(.zx-modal:modal) {
5567
5930
  max-inline-size: calc(100vw - var(--zx-space-4));
5568
5931
  overflow: hidden;
5569
5932
  border: 1px solid var(--zx-color-overlay-border);
5570
- border-radius: var(--zx-radius-md);
5933
+ border-radius: var(--zx-radius-lg);
5571
5934
  background-color: var(--zx-color-overlay-surface);
5572
5935
  background-image: var(--zx-overlay-surface-image);
5573
5936
  background-clip: padding-box;
@@ -5586,10 +5949,11 @@ body:has(.zx-modal:modal) {
5586
5949
  display: flex;
5587
5950
  align-items: center;
5588
5951
  gap: var(--zx-space-2);
5589
- min-block-size: var(--zx-control-height);
5952
+ min-block-size: calc(var(--zx-control-height) - 2px);
5590
5953
  border-radius: var(--zx-radius-sm);
5591
5954
  cursor: default;
5592
- padding: var(--zx-space-1) var(--zx-control-pad-x);
5955
+ padding: var(--zx-space-1) var(--zx-space-2);
5956
+ line-height: 1.35;
5593
5957
  }
5594
5958
  .zx-select__option-content {
5595
5959
  min-inline-size: 0;
@@ -5615,10 +5979,8 @@ body:has(.zx-modal:modal) {
5615
5979
  background: var(--zx-color-overlay-scrim);
5616
5980
  color: var(--zx-color-text-muted);
5617
5981
  font-size: var(--zx-text-xs);
5618
- font-weight: 700;
5619
- letter-spacing: 0.04em;
5620
- padding: var(--zx-space-2) var(--zx-control-pad-x) var(--zx-space-1);
5621
- text-transform: uppercase;
5982
+ font-weight: var(--zx-weight-semibold);
5983
+ padding: var(--zx-space-1) var(--zx-space-2);
5622
5984
  }
5623
5985
  @media (prefers-reduced-transparency: reduce) {
5624
5986
  .zx-select__panel,
@@ -5634,12 +5996,12 @@ body:has(.zx-modal:modal) {
5634
5996
  }
5635
5997
  .zx-select__separator {
5636
5998
  block-size: 1px;
5637
- margin: var(--zx-space-1) var(--zx-control-pad-x);
5999
+ margin: var(--zx-space-1) var(--zx-space-2);
5638
6000
  background: var(--zx-color-overlay-divider);
5639
6001
  }
5640
6002
  .zx-select__empty {
5641
6003
  color: var(--zx-color-text-muted);
5642
- padding: var(--zx-space-3) var(--zx-control-pad-x);
6004
+ padding: var(--zx-space-3) var(--zx-space-2);
5643
6005
  text-align: center;
5644
6006
  }
5645
6007
  .zx-select__priority {
@@ -5647,35 +6009,60 @@ body:has(.zx-modal:modal) {
5647
6009
  align-items: center;
5648
6010
  gap: var(--zx-space-2);
5649
6011
  }
5650
- .zx-select__priority-icon {
6012
+ .zx-priority-icon {
5651
6013
  display: inline-flex;
5652
- gap: 2px;
5653
6014
  flex: none;
5654
- color: var(--zx-color-warning);
6015
+ vertical-align: middle;
6016
+ align-items: flex-end;
6017
+ gap: 1px;
6018
+ box-sizing: border-box;
6019
+ inline-size: 15px;
6020
+ block-size: 14px;
6021
+ padding-block: 1px;
6022
+ color: var(--zx-color-text-muted);
5655
6023
  }
5656
- .zx-select__priority-icon > span {
5657
- inline-size: 7px;
5658
- block-size: 7px;
5659
- border: 1px solid currentColor;
5660
- border-radius: 2px;
6024
+ .zx-priority-icon > span {
6025
+ inline-size: 3px;
6026
+ border-radius: 1px;
6027
+ background: var(--zx-color-border-strong);
5661
6028
  }
5662
- .zx-select__priority-icon > span[data-filled=true] {
5663
- background: currentColor;
6029
+ .zx-priority-icon > span:nth-child(1) {
6030
+ block-size: 25%;
5664
6031
  }
5665
- .zx-select__priority-icon[data-level="0"] {
5666
- color: var(--zx-color-success);
6032
+ .zx-priority-icon > span:nth-child(2) {
6033
+ block-size: 50%;
5667
6034
  }
5668
- .zx-select__priority-icon[data-level="1"] {
5669
- color: color-mix(in srgb, var(--zx-color-success) 35%, var(--zx-color-warning));
6035
+ .zx-priority-icon > span:nth-child(3) {
6036
+ block-size: 75%;
5670
6037
  }
5671
- .zx-select__priority-icon[data-level="2"] {
5672
- color: var(--zx-color-warning);
6038
+ .zx-priority-icon > span:nth-child(4) {
6039
+ block-size: 100%;
5673
6040
  }
5674
- .zx-select__priority-icon[data-level="3"] {
5675
- color: color-mix(in srgb, var(--zx-color-warning) 35%, var(--zx-color-danger));
6041
+ .zx-priority-icon > span[data-filled=true] {
6042
+ background: currentColor;
5676
6043
  }
5677
- .zx-select__priority-icon[data-level="4"] {
5678
- color: var(--zx-color-danger);
6044
+ .zx-priority-icon[data-level=none] {
6045
+ align-items: center;
6046
+ }
6047
+ .zx-priority-icon[data-level=none] > span {
6048
+ block-size: 2px;
6049
+ background: currentColor;
6050
+ }
6051
+ .zx-priority-icon[data-level="4"] {
6052
+ align-items: center;
6053
+ justify-content: center;
6054
+ inline-size: 14px;
6055
+ margin-inline-end: 1px;
6056
+ padding: 0;
6057
+ border-radius: var(--zx-radius-sm);
6058
+ background: var(--zx-color-danger);
6059
+ color: var(--zx-color-on-accent);
6060
+ font-size: 11px;
6061
+ font-weight: var(--zx-weight-semibold);
6062
+ line-height: 1;
6063
+ }
6064
+ .zx-priority-icon[data-level="4"]::before {
6065
+ content: "!";
5679
6066
  }
5680
6067
  .zx-select__status {
5681
6068
  display: grid;
@@ -5689,7 +6076,11 @@ body:has(.zx-modal:modal) {
5689
6076
  inline-size: 20px;
5690
6077
  block-size: 20px;
5691
6078
  border-radius: var(--zx-radius-sm);
5692
- background: var(--zx-select-entity-color, var(--zx-color-accent-subtle));
6079
+ background: var(--zx-color-bg-muted);
6080
+ color: var(--zx-color-text-muted);
6081
+ }
6082
+ .zx-select__entity-glyph[style*=--zx-select-entity-color] {
6083
+ background: var(--zx-select-entity-color);
5693
6084
  color: var(--zx-color-text-invert);
5694
6085
  }
5695
6086
  .zx-select__status-copy,
@@ -5712,10 +6103,12 @@ body:has(.zx-modal:modal) {
5712
6103
  font-family: var(--zx-font-mono);
5713
6104
  font-size: var(--zx-text-xs);
5714
6105
  }
5715
- .zx-select__status-indicator {
6106
+ .zx-status-icon {
5716
6107
  position: relative;
5717
6108
  display: inline-grid;
5718
6109
  place-items: center;
6110
+ box-sizing: border-box;
6111
+ vertical-align: middle;
5719
6112
  inline-size: 14px;
5720
6113
  block-size: 14px;
5721
6114
  flex: none;
@@ -5723,54 +6116,54 @@ body:has(.zx-modal:modal) {
5723
6116
  border-radius: var(--zx-radius-full);
5724
6117
  color: var(--zx-color-text-muted);
5725
6118
  }
5726
- .zx-select__status-indicator[data-tone=neutral] {
6119
+ .zx-status-icon[data-tone=neutral] {
5727
6120
  color: var(--zx-color-border-strong);
5728
6121
  }
5729
- .zx-select__status-indicator[data-tone=warning] {
6122
+ .zx-status-icon[data-tone=warning] {
5730
6123
  color: var(--zx-color-warning);
5731
6124
  }
5732
- .zx-select__status-indicator[data-tone=info] {
6125
+ .zx-status-icon[data-tone=info] {
5733
6126
  color: var(--zx-color-info);
5734
6127
  }
5735
- .zx-select__status-indicator[data-tone=accent] {
6128
+ .zx-status-icon[data-tone=accent] {
5736
6129
  color: var(--zx-color-accent);
5737
6130
  }
5738
- .zx-select__status-indicator[data-tone=success] {
6131
+ .zx-status-icon[data-tone=success] {
5739
6132
  color: var(--zx-color-success);
5740
6133
  }
5741
- .zx-select__status-indicator[data-tone=danger] {
6134
+ .zx-status-icon[data-tone=danger] {
5742
6135
  color: var(--zx-color-danger);
5743
6136
  }
5744
- .zx-select__status-indicator[data-indicator=dotted] {
6137
+ .zx-status-icon[data-indicator=dotted] {
5745
6138
  border-style: dotted;
5746
6139
  }
5747
- .zx-select__status-indicator[data-indicator=progress]::after {
6140
+ .zx-status-icon[data-indicator=progress]::after {
5748
6141
  content: "";
5749
6142
  inline-size: 4px;
5750
6143
  block-size: 4px;
5751
6144
  border-radius: inherit;
5752
6145
  background: currentColor;
5753
6146
  }
5754
- .zx-select__status-indicator[data-indicator=review] {
6147
+ .zx-status-icon[data-indicator=review] {
5755
6148
  background:
5756
6149
  linear-gradient(
5757
6150
  90deg,
5758
6151
  currentColor 50%,
5759
6152
  transparent 50%);
5760
6153
  }
5761
- .zx-select__status-indicator[data-indicator=ready] {
6154
+ .zx-status-icon[data-indicator=ready] {
5762
6155
  background: conic-gradient(currentColor 0 35%, transparent 35% 100%);
5763
6156
  }
5764
- .zx-select__status-indicator[data-indicator=waiting] {
6157
+ .zx-status-icon[data-indicator=waiting] {
5765
6158
  background: conic-gradient(currentColor 0 70%, transparent 70% 100%);
5766
6159
  }
5767
- .zx-select__status-indicator:is([data-indicator=done], [data-indicator=canceled]) {
6160
+ .zx-status-icon:is([data-indicator=done], [data-indicator=canceled]) {
5768
6161
  background: currentColor;
5769
6162
  }
5770
- .zx-select__status-indicator:is([data-indicator=done], [data-indicator=canceled]) > .zx-icon {
6163
+ .zx-status-icon:is([data-indicator=done], [data-indicator=canceled]) > .zx-icon {
5771
6164
  color: var(--zx-color-bg-raised);
5772
6165
  }
5773
- .zx-select__status-indicator[data-indicator=duplicate]::after {
6166
+ .zx-status-icon[data-indicator=duplicate]::after {
5774
6167
  content: "";
5775
6168
  inline-size: 8px;
5776
6169
  block-size: 2px;
@@ -5822,7 +6215,7 @@ body:has(.zx-modal:modal) {
5822
6215
  }
5823
6216
  @media (prefers-reduced-motion: no-preference) {
5824
6217
  .zx-select__loading {
5825
- animation: zx-select-spin var(--zx-dur-slow) linear infinite;
6218
+ animation: zx-select-spin 720ms linear infinite;
5826
6219
  }
5827
6220
  }
5828
6221
  @keyframes zx-select-spin {
@@ -5830,6 +6223,32 @@ body:has(.zx-modal:modal) {
5830
6223
  transform: rotate(1turn);
5831
6224
  }
5832
6225
  }
6226
+ [data-zx-fields=quiet] .zx-select__control,
6227
+ [data-zx-fields=quiet] .zx-select[aria-disabled=true] .zx-select__control {
6228
+ border-color: transparent;
6229
+ background: transparent;
6230
+ }
6231
+ [data-zx-fields=quiet] .zx-select :is(.zx-select__toggle, .zx-select__clear) {
6232
+ opacity: 0;
6233
+ }
6234
+ [data-zx-fields=quiet] .zx-select:not([aria-disabled=true]):hover .zx-select__control {
6235
+ background: var(--zx-color-bg-hover);
6236
+ }
6237
+ [data-zx-fields=quiet] .zx-select:not([aria-disabled=true]):is(:hover, :focus-within, [data-state=open]) :is(.zx-select__toggle, .zx-select__clear) {
6238
+ opacity: 1;
6239
+ }
6240
+ [data-zx-fields=quiet] .zx-select:not([aria-disabled=true]):is(:focus-within, [data-state=open]) .zx-select__control {
6241
+ border-color: var(--zx-color-border-control);
6242
+ background: var(--zx-color-bg-control);
6243
+ }
6244
+ @media (prefers-reduced-motion: no-preference) {
6245
+ [data-zx-fields=quiet] .zx-select__control {
6246
+ transition: background-color var(--zx-dur-fast) var(--zx-ease), border-color var(--zx-dur-fast) var(--zx-ease);
6247
+ }
6248
+ [data-zx-fields=quiet] .zx-select :is(.zx-select__toggle, .zx-select__clear) {
6249
+ transition: opacity var(--zx-dur-fast) var(--zx-ease);
6250
+ }
6251
+ }
5833
6252
 
5834
6253
  /* src/components/checklist/checklist.css */
5835
6254
  .zx-checklist {
@@ -5840,7 +6259,9 @@ body:has(.zx-modal:modal) {
5840
6259
  font-size: var(--zx-control-font-size);
5841
6260
  }
5842
6261
  .zx-checklist__label {
5843
- font-weight: 650;
6262
+ color: var(--zx-color-text-muted);
6263
+ font-size: var(--zx-text-sm);
6264
+ font-weight: var(--zx-weight-medium);
5844
6265
  }
5845
6266
  .zx-checklist__search {
5846
6267
  inline-size: 100%;
@@ -5860,10 +6281,11 @@ body:has(.zx-modal:modal) {
5860
6281
  display: flex;
5861
6282
  align-items: center;
5862
6283
  gap: var(--zx-space-2);
5863
- min-block-size: var(--zx-control-height);
6284
+ min-block-size: calc(var(--zx-control-height) - 2px);
5864
6285
  border-radius: var(--zx-radius-sm);
5865
6286
  cursor: pointer;
5866
6287
  padding: var(--zx-space-1) var(--zx-space-2);
6288
+ line-height: 1.35;
5867
6289
  }
5868
6290
  .zx-checklist__item:hover {
5869
6291
  background: var(--zx-color-bg-hover);
@@ -5873,6 +6295,7 @@ body:has(.zx-modal:modal) {
5873
6295
  }
5874
6296
  .zx-checklist__item input {
5875
6297
  flex: none;
6298
+ min-block-size: 0;
5876
6299
  accent-color: var(--zx-color-accent);
5877
6300
  }
5878
6301
  .zx-checklist__item:has(input:focus-visible) {
@@ -5916,6 +6339,9 @@ body:has(.zx-modal:modal) {
5916
6339
  .zx-tag-picker[data-readonly] .zx-tag-picker__control {
5917
6340
  cursor: default;
5918
6341
  }
6342
+ .zx-tag-picker[data-readonly] :is(.zx-tag-picker__input, .zx-tag-picker__toggle) {
6343
+ display: none;
6344
+ }
5919
6345
  .zx-tag-picker__tags {
5920
6346
  display: contents;
5921
6347
  }
@@ -5945,6 +6371,58 @@ body:has(.zx-modal:modal) {
5945
6371
  background: color-mix(in srgb, var(--zx-tag-color, var(--zx-color-accent)) 16%, transparent);
5946
6372
  color: var(--zx-tag-color, var(--zx-color-accent));
5947
6373
  }
6374
+ .zx-tag-picker__tag[data-tone] {
6375
+ border-color: transparent;
6376
+ background: var(--zx-tag-tone-bg);
6377
+ color: var(--zx-tag-tone-fg);
6378
+ }
6379
+ .zx-tag-picker__visual[data-tone] {
6380
+ background: var(--zx-tag-tone-bg);
6381
+ color: var(--zx-tag-tone-fg);
6382
+ }
6383
+ .zx-tag-picker .zx-tag-picker__tag[data-tone] .zx-tag-picker__remove {
6384
+ color: inherit;
6385
+ }
6386
+ .zx-tag-picker .zx-tag-picker__tag[data-tone] .zx-tag-picker__remove:hover {
6387
+ background: color-mix(in srgb, currentColor 14%, transparent);
6388
+ color: inherit;
6389
+ }
6390
+ :is(.zx-tag-picker__tag, .zx-tag-picker__visual)[data-tone=blue] {
6391
+ --zx-tag-tone-bg: var(--zx-color-tone-blue-bg);
6392
+ --zx-tag-tone-fg: var(--zx-color-tone-blue-fg);
6393
+ }
6394
+ :is(.zx-tag-picker__tag, .zx-tag-picker__visual)[data-tone=teal] {
6395
+ --zx-tag-tone-bg: var(--zx-color-tone-teal-bg);
6396
+ --zx-tag-tone-fg: var(--zx-color-tone-teal-fg);
6397
+ }
6398
+ :is(.zx-tag-picker__tag, .zx-tag-picker__visual)[data-tone=green] {
6399
+ --zx-tag-tone-bg: var(--zx-color-tone-green-bg);
6400
+ --zx-tag-tone-fg: var(--zx-color-tone-green-fg);
6401
+ }
6402
+ :is(.zx-tag-picker__tag, .zx-tag-picker__visual)[data-tone=amber] {
6403
+ --zx-tag-tone-bg: var(--zx-color-tone-amber-bg);
6404
+ --zx-tag-tone-fg: var(--zx-color-tone-amber-fg);
6405
+ }
6406
+ :is(.zx-tag-picker__tag, .zx-tag-picker__visual)[data-tone=orange] {
6407
+ --zx-tag-tone-bg: var(--zx-color-tone-orange-bg);
6408
+ --zx-tag-tone-fg: var(--zx-color-tone-orange-fg);
6409
+ }
6410
+ :is(.zx-tag-picker__tag, .zx-tag-picker__visual)[data-tone=red] {
6411
+ --zx-tag-tone-bg: var(--zx-color-tone-red-bg);
6412
+ --zx-tag-tone-fg: var(--zx-color-tone-red-fg);
6413
+ }
6414
+ :is(.zx-tag-picker__tag, .zx-tag-picker__visual)[data-tone=pink] {
6415
+ --zx-tag-tone-bg: var(--zx-color-tone-pink-bg);
6416
+ --zx-tag-tone-fg: var(--zx-color-tone-pink-fg);
6417
+ }
6418
+ :is(.zx-tag-picker__tag, .zx-tag-picker__visual)[data-tone=violet] {
6419
+ --zx-tag-tone-bg: var(--zx-color-tone-violet-bg);
6420
+ --zx-tag-tone-fg: var(--zx-color-tone-violet-fg);
6421
+ }
6422
+ :is(.zx-tag-picker__tag, .zx-tag-picker__visual)[data-tone=slate] {
6423
+ --zx-tag-tone-bg: var(--zx-color-tone-slate-bg);
6424
+ --zx-tag-tone-fg: var(--zx-color-tone-slate-fg);
6425
+ }
5948
6426
  .zx-tag-picker__tag:not(:has(.zx-tag-picker__remove)) {
5949
6427
  padding-inline-end: var(--zx-space-2);
5950
6428
  }
@@ -5997,7 +6475,7 @@ body:has(.zx-modal:modal) {
5997
6475
  max-inline-size: calc(100vw - var(--zx-space-4));
5998
6476
  overflow: hidden;
5999
6477
  border: 1px solid var(--zx-color-overlay-border);
6000
- border-radius: var(--zx-radius-md);
6478
+ border-radius: var(--zx-radius-lg);
6001
6479
  background-color: var(--zx-color-overlay-surface);
6002
6480
  background-image: var(--zx-overlay-surface-image);
6003
6481
  background-clip: padding-box;
@@ -6025,16 +6503,17 @@ body:has(.zx-modal:modal) {
6025
6503
  display: flex;
6026
6504
  align-items: center;
6027
6505
  gap: var(--zx-space-2);
6028
- padding: var(--zx-space-2) var(--zx-space-2);
6029
- border-radius: var(--zx-radius-md);
6506
+ min-block-size: calc(var(--zx-control-height) - 2px);
6507
+ padding: var(--zx-space-1) var(--zx-space-2);
6508
+ border-radius: var(--zx-radius-sm);
6509
+ line-height: 1.35;
6030
6510
  cursor: pointer;
6031
6511
  }
6032
6512
  .zx-tag-picker__option[data-active] {
6033
6513
  background: var(--zx-color-overlay-hover);
6034
6514
  }
6035
6515
  .zx-tag-picker__option[aria-selected=true] {
6036
- color: var(--zx-color-accent);
6037
- font-weight: 550;
6516
+ color: var(--zx-color-text);
6038
6517
  }
6039
6518
  .zx-tag-picker__option[aria-disabled=true] {
6040
6519
  opacity: 0.45;
@@ -6064,6 +6543,31 @@ body:has(.zx-modal:modal) {
6064
6543
  font-size: var(--zx-text-sm);
6065
6544
  text-align: center;
6066
6545
  }
6546
+ [data-zx-fields=quiet] .zx-tag-picker__control {
6547
+ border-color: transparent;
6548
+ background: transparent;
6549
+ }
6550
+ [data-zx-fields=quiet] .zx-tag-picker__toggle {
6551
+ opacity: 0;
6552
+ }
6553
+ [data-zx-fields=quiet] .zx-tag-picker:not([data-disabled], [data-readonly]):hover .zx-tag-picker__control {
6554
+ background: var(--zx-color-bg-hover);
6555
+ }
6556
+ [data-zx-fields=quiet] .zx-tag-picker:not([data-disabled], [data-readonly]):is(:hover, [data-focus], [data-state=open]) .zx-tag-picker__toggle {
6557
+ opacity: 1;
6558
+ }
6559
+ [data-zx-fields=quiet] .zx-tag-picker:not([data-disabled], [data-readonly]):is([data-focus], [data-state=open]) .zx-tag-picker__control {
6560
+ border-color: var(--zx-color-border-control);
6561
+ background: var(--zx-color-bg-control);
6562
+ }
6563
+ @media (prefers-reduced-motion: no-preference) {
6564
+ [data-zx-fields=quiet] .zx-tag-picker__control {
6565
+ transition: background-color var(--zx-dur-fast) var(--zx-ease), border-color var(--zx-dur-fast) var(--zx-ease);
6566
+ }
6567
+ [data-zx-fields=quiet] .zx-tag-picker__toggle {
6568
+ transition: opacity var(--zx-dur-fast) var(--zx-ease);
6569
+ }
6570
+ }
6067
6571
 
6068
6572
  /* src/components/number-field/number-field.css */
6069
6573
  .zx-number-field {
@@ -6133,6 +6637,55 @@ body:has(.zx-modal:modal) {
6133
6637
  border-end-end-radius: var(--zx-control-radius);
6134
6638
  border-inline-start: 1px solid var(--zx-color-border-control);
6135
6639
  }
6640
+ .zx-field__control > .zx-number-field {
6641
+ display: flex;
6642
+ inline-size: 100%;
6643
+ }
6644
+ .zx-field__control > .zx-number-field .zx-number-field__input {
6645
+ min-inline-size: 0;
6646
+ }
6647
+ [data-zx-fields=quiet] .zx-number-field {
6648
+ border-color: transparent;
6649
+ background: transparent;
6650
+ }
6651
+ [data-zx-fields=quiet] .zx-number-field__input {
6652
+ padding-inline-start: var(--zx-control-pad-x);
6653
+ text-align: start;
6654
+ }
6655
+ [data-zx-fields=quiet] .zx-number-field__step {
6656
+ border-color: transparent;
6657
+ opacity: 0;
6658
+ }
6659
+ [data-zx-fields=quiet] .zx-number-field__step[data-step=down] {
6660
+ order: 1;
6661
+ border-inline-end: 0;
6662
+ border-inline-start: 1px solid transparent;
6663
+ border-radius: 0;
6664
+ }
6665
+ [data-zx-fields=quiet] .zx-number-field__step[data-step=up] {
6666
+ order: 2;
6667
+ }
6668
+ [data-zx-fields=quiet] .zx-number-field:not([data-disabled], [data-readonly]):hover {
6669
+ background: var(--zx-color-bg-hover);
6670
+ }
6671
+ [data-zx-fields=quiet] .zx-number-field:not([data-disabled], [data-readonly]):is(:hover, :focus-within) .zx-number-field__step {
6672
+ opacity: 1;
6673
+ }
6674
+ [data-zx-fields=quiet] .zx-number-field:not([data-disabled], [data-readonly]):focus-within {
6675
+ border-color: var(--zx-color-border-control);
6676
+ background: var(--zx-color-bg-control);
6677
+ }
6678
+ [data-zx-fields=quiet] .zx-number-field:not([data-disabled], [data-readonly]):focus-within .zx-number-field__step {
6679
+ border-color: var(--zx-color-border-control);
6680
+ }
6681
+ @media (prefers-reduced-motion: no-preference) {
6682
+ [data-zx-fields=quiet] .zx-number-field {
6683
+ transition: background-color var(--zx-dur-fast) var(--zx-ease), border-color var(--zx-dur-fast) var(--zx-ease);
6684
+ }
6685
+ [data-zx-fields=quiet] .zx-number-field__step {
6686
+ transition: opacity var(--zx-dur-fast) var(--zx-ease), border-color var(--zx-dur-fast) var(--zx-ease);
6687
+ }
6688
+ }
6136
6689
 
6137
6690
  /* src/components/slider/slider.css */
6138
6691
  .zx-slider {
@@ -6256,14 +6809,17 @@ body:has(.zx-modal:modal) {
6256
6809
  }
6257
6810
  .zx-slider__marks {
6258
6811
  position: relative;
6812
+ inline-size: 100%;
6259
6813
  block-size: var(--zx-space-5);
6260
6814
  margin-block-start: var(--zx-space-1);
6815
+ container-type: inline-size;
6261
6816
  }
6262
6817
  .zx-slider__mark {
6818
+ --zx-slider-mark-at: calc(var(--zx-slider-thumb) / 2 + (100cqi - var(--zx-slider-thumb)) * var(--zx-slider-mark, 0));
6263
6819
  position: absolute;
6264
6820
  inset-block-start: 0;
6265
- inset-inline-start: var(--zx-slider-mark, 0%);
6266
- transform: translateX(-50%);
6821
+ inset-inline-start: var(--zx-slider-mark-at);
6822
+ transform: translateX(clamp(-1 * var(--zx-slider-mark-at), -50%, 100cqi - var(--zx-slider-mark-at) - 100%));
6267
6823
  color: var(--zx-color-text-muted);
6268
6824
  font-size: var(--zx-text-xs);
6269
6825
  white-space: nowrap;
@@ -6308,6 +6864,10 @@ body:has(.zx-modal:modal) {
6308
6864
  color: var(--zx-color-warning);
6309
6865
  clip-path: inset(0 calc(100% - var(--zx-rating-fill)) 0 0);
6310
6866
  }
6867
+ .zx-rating__glyph[data-part=on],
6868
+ .zx-rating__glyph[data-part=on] .zx-icon {
6869
+ fill: currentColor;
6870
+ }
6311
6871
  .zx-rating__symbol[data-preview] .zx-rating__glyph[data-part=on] {
6312
6872
  color: var(--zx-color-warning);
6313
6873
  opacity: 0.75;
@@ -6400,14 +6960,14 @@ body:has(.zx-modal:modal) {
6400
6960
  overflow: hidden;
6401
6961
  border-color: transparent;
6402
6962
  background: transparent;
6403
- font-weight: 650;
6963
+ font-weight: var(--zx-weight-semibold);
6404
6964
  text-overflow: ellipsis;
6405
6965
  text-wrap: nowrap;
6406
6966
  }
6407
6967
  .zx-month-picker__year,
6408
6968
  .zx-date-picker__quick-year {
6409
6969
  text-align: center;
6410
- font-weight: 650;
6970
+ font-weight: var(--zx-weight-semibold);
6411
6971
  }
6412
6972
  .zx-date-picker__grid {
6413
6973
  inline-size: 100%;
@@ -6420,7 +6980,7 @@ body:has(.zx-modal:modal) {
6420
6980
  padding: 0;
6421
6981
  color: var(--zx-color-text-muted);
6422
6982
  font-size: var(--zx-text-xs);
6423
- font-weight: 600;
6983
+ font-weight: var(--zx-weight-medium);
6424
6984
  text-align: center;
6425
6985
  }
6426
6986
  .zx-date-picker__grid td {
@@ -6447,7 +7007,7 @@ body:has(.zx-modal:modal) {
6447
7007
  border-color: var(--zx-color-accent);
6448
7008
  background: var(--zx-color-accent);
6449
7009
  color: var(--zx-color-on-accent);
6450
- font-weight: 700;
7010
+ font-weight: var(--zx-weight-semibold);
6451
7011
  }
6452
7012
  .zx-date-picker__day[aria-disabled=true] {
6453
7013
  color: var(--zx-color-text-placeholder);
@@ -6510,12 +7070,12 @@ body:has(.zx-modal:modal) {
6510
7070
  .zx-date-picker__quick-month[aria-selected=true] {
6511
7071
  background: var(--zx-color-overlay-selected);
6512
7072
  color: var(--zx-color-accent);
6513
- font-weight: 700;
7073
+ font-weight: var(--zx-weight-semibold);
6514
7074
  }
6515
7075
  .zx-month-picker__month[aria-selected=true] {
6516
7076
  background: var(--zx-color-bg-selected);
6517
7077
  color: var(--zx-color-accent);
6518
- font-weight: 700;
7078
+ font-weight: var(--zx-weight-semibold);
6519
7079
  }
6520
7080
  .zx-month-picker__month[aria-disabled=true] {
6521
7081
  color: var(--zx-color-text-placeholder);
@@ -6560,7 +7120,7 @@ body:has(.zx-modal:modal) {
6560
7120
  }
6561
7121
  .zx-time-picker__separator {
6562
7122
  color: var(--zx-color-text-muted);
6563
- font-weight: 700;
7123
+ font-weight: var(--zx-weight-semibold);
6564
7124
  }
6565
7125
  .zx-time-picker__clock-toggle {
6566
7126
  margin-inline-start: var(--zx-space-1);
@@ -6704,6 +7264,9 @@ body:has(.zx-modal:modal) {
6704
7264
  display: inline-flex;
6705
7265
  align-items: stretch;
6706
7266
  }
7267
+ .zx-datebox__control > :is(input, button) {
7268
+ min-block-size: calc(var(--zx-control-height) - 2px);
7269
+ }
6707
7270
  .zx-datebox__control {
6708
7271
  position: relative;
6709
7272
  border: 1px solid var(--zx-color-border-control);
@@ -6722,8 +7285,24 @@ body:has(.zx-modal:modal) {
6722
7285
  border: 0;
6723
7286
  border-radius: var(--zx-control-radius) 0 0 var(--zx-control-radius);
6724
7287
  background: inherit;
7288
+ }
7289
+ .zx-datebox[data-clearable] .zx-datebox__input {
6725
7290
  padding-inline-end: var(--zx-control-height);
6726
7291
  }
7292
+ .zx-field__control > .zx-datebox {
7293
+ display: block;
7294
+ }
7295
+ .zx-field__control > .zx-datebox :is(.zx-datebox__content, .zx-datebox__control) {
7296
+ display: flex;
7297
+ }
7298
+ .zx-field__control > .zx-datebox .zx-datebox__control {
7299
+ flex: 1 1 auto;
7300
+ min-inline-size: 0;
7301
+ }
7302
+ .zx-field__control > .zx-datebox .zx-datebox__input {
7303
+ flex: 1 1 auto;
7304
+ min-inline-size: 0;
7305
+ }
6727
7306
  .zx-datebox__input:focus-visible,
6728
7307
  .zx-datebox__toggle:focus-visible {
6729
7308
  position: relative;
@@ -6793,6 +7372,38 @@ body:has(.zx-modal:modal) {
6793
7372
  box-shadow: var(--zx-overlay-shadow);
6794
7373
  }
6795
7374
  }
7375
+ [data-zx-fields=quiet] .zx-datebox:not([data-state=invalid]) .zx-datebox__control {
7376
+ border-color: transparent;
7377
+ background: transparent;
7378
+ }
7379
+ [data-zx-fields=quiet] .zx-datebox__toggle {
7380
+ border-inline-start-color: transparent;
7381
+ opacity: 0;
7382
+ }
7383
+ [data-zx-fields=quiet] .zx-datebox__clear {
7384
+ opacity: 0;
7385
+ }
7386
+ [data-zx-fields=quiet] .zx-datebox:not([aria-disabled=true], [data-state=invalid]):hover .zx-datebox__control {
7387
+ background: var(--zx-color-bg-hover);
7388
+ }
7389
+ [data-zx-fields=quiet] .zx-datebox:not([aria-disabled=true]):is(:hover, :focus-within) :is(.zx-datebox__toggle, .zx-datebox__clear) {
7390
+ opacity: 1;
7391
+ }
7392
+ [data-zx-fields=quiet] .zx-datebox:not([aria-disabled=true]):focus-within .zx-datebox__toggle {
7393
+ border-inline-start-color: var(--zx-color-border-control);
7394
+ }
7395
+ [data-zx-fields=quiet] .zx-datebox:not([aria-disabled=true], [data-state=invalid]):focus-within .zx-datebox__control {
7396
+ border-color: var(--zx-color-border-control);
7397
+ background: var(--zx-color-bg-control);
7398
+ }
7399
+ @media (prefers-reduced-motion: no-preference) {
7400
+ [data-zx-fields=quiet] .zx-datebox__control {
7401
+ transition: background-color var(--zx-dur-fast) var(--zx-ease), border-color var(--zx-dur-fast) var(--zx-ease);
7402
+ }
7403
+ [data-zx-fields=quiet] :is(.zx-datebox__toggle, .zx-datebox__clear) {
7404
+ transition: opacity var(--zx-dur-fast) var(--zx-ease), border-color var(--zx-dur-fast) var(--zx-ease);
7405
+ }
7406
+ }
6796
7407
 
6797
7408
  /* src/components/date-picker/date-range-picker.css */
6798
7409
  .zx-date-range-picker {
@@ -6858,7 +7469,7 @@ body:has(.zx-modal:modal) {
6858
7469
  }
6859
7470
  .zx-date-range-picker__caption {
6860
7471
  overflow: hidden;
6861
- font-weight: 650;
7472
+ font-weight: var(--zx-weight-semibold);
6862
7473
  text-align: center;
6863
7474
  text-overflow: ellipsis;
6864
7475
  text-wrap: nowrap;
@@ -6905,7 +7516,7 @@ body:has(.zx-modal:modal) {
6905
7516
  padding: 0;
6906
7517
  color: var(--zx-color-text-muted);
6907
7518
  font-size: var(--zx-text-xs);
6908
- font-weight: 600;
7519
+ font-weight: var(--zx-weight-medium);
6909
7520
  text-align: center;
6910
7521
  }
6911
7522
  .zx-date-range-picker__grid td {
@@ -6965,7 +7576,7 @@ body:has(.zx-modal:modal) {
6965
7576
  border-radius: var(--zx-radius-full);
6966
7577
  background: var(--zx-color-accent);
6967
7578
  color: var(--zx-color-on-accent);
6968
- font-weight: 700;
7579
+ font-weight: var(--zx-weight-semibold);
6969
7580
  }
6970
7581
  .zx-date-range-picker__grid td[data-range=middle] > .zx-date-range-picker__day,
6971
7582
  .zx-date-range-picker__grid td[data-range=preview] > .zx-date-range-picker__day {
@@ -7014,6 +7625,9 @@ body:has(.zx-modal:modal) {
7014
7625
  display: inline-flex;
7015
7626
  align-items: stretch;
7016
7627
  }
7628
+ .zx-date-range-box__control > :is(input, button) {
7629
+ min-block-size: calc(var(--zx-control-height) - 2px);
7630
+ }
7017
7631
  .zx-date-range-box__control {
7018
7632
  position: relative;
7019
7633
  border: 1px solid var(--zx-color-border-control);
@@ -7032,8 +7646,24 @@ body:has(.zx-modal:modal) {
7032
7646
  border: 0;
7033
7647
  border-radius: var(--zx-control-radius) 0 0 var(--zx-control-radius);
7034
7648
  background: inherit;
7649
+ }
7650
+ .zx-date-range-box[data-clearable] .zx-date-range-box__input {
7035
7651
  padding-inline-end: var(--zx-control-height);
7036
7652
  }
7653
+ .zx-field__control > .zx-date-range-box {
7654
+ display: block;
7655
+ }
7656
+ .zx-field__control > .zx-date-range-box :is(.zx-date-range-box__content, .zx-date-range-box__control) {
7657
+ display: flex;
7658
+ }
7659
+ .zx-field__control > .zx-date-range-box .zx-date-range-box__control {
7660
+ flex: 1 1 auto;
7661
+ min-inline-size: 0;
7662
+ }
7663
+ .zx-field__control > .zx-date-range-box .zx-date-range-box__input {
7664
+ flex: 1 1 auto;
7665
+ min-inline-size: 0;
7666
+ }
7037
7667
  .zx-date-range-box__input:focus-visible,
7038
7668
  .zx-date-range-box__toggle:focus-visible {
7039
7669
  position: relative;
@@ -7116,6 +7746,38 @@ body:has(.zx-modal:modal) {
7116
7746
  box-shadow: var(--zx-overlay-shadow);
7117
7747
  }
7118
7748
  }
7749
+ [data-zx-fields=quiet] .zx-date-range-box:not([data-state=invalid]) .zx-date-range-box__control {
7750
+ border-color: transparent;
7751
+ background: transparent;
7752
+ }
7753
+ [data-zx-fields=quiet] .zx-date-range-box__toggle {
7754
+ border-inline-start-color: transparent;
7755
+ opacity: 0;
7756
+ }
7757
+ [data-zx-fields=quiet] .zx-date-range-box__clear {
7758
+ opacity: 0;
7759
+ }
7760
+ [data-zx-fields=quiet] .zx-date-range-box:not([aria-disabled=true], [data-state=invalid]):hover .zx-date-range-box__control {
7761
+ background: var(--zx-color-bg-hover);
7762
+ }
7763
+ [data-zx-fields=quiet] .zx-date-range-box:not([aria-disabled=true]):is(:hover, :focus-within) :is(.zx-date-range-box__toggle, .zx-date-range-box__clear) {
7764
+ opacity: 1;
7765
+ }
7766
+ [data-zx-fields=quiet] .zx-date-range-box:not([aria-disabled=true]):focus-within .zx-date-range-box__toggle {
7767
+ border-inline-start-color: var(--zx-color-border-control);
7768
+ }
7769
+ [data-zx-fields=quiet] .zx-date-range-box:not([aria-disabled=true], [data-state=invalid]):focus-within .zx-date-range-box__control {
7770
+ border-color: var(--zx-color-border-control);
7771
+ background: var(--zx-color-bg-control);
7772
+ }
7773
+ @media (prefers-reduced-motion: no-preference) {
7774
+ [data-zx-fields=quiet] .zx-date-range-box__control {
7775
+ transition: background-color var(--zx-dur-fast) var(--zx-ease), border-color var(--zx-dur-fast) var(--zx-ease);
7776
+ }
7777
+ [data-zx-fields=quiet] :is(.zx-date-range-box__toggle, .zx-date-range-box__clear) {
7778
+ transition: opacity var(--zx-dur-fast) var(--zx-ease), border-color var(--zx-dur-fast) var(--zx-ease);
7779
+ }
7780
+ }
7119
7781
 
7120
7782
  /* src/components/timebox/timebox.css */
7121
7783
  .zx-timebox {
@@ -7143,13 +7805,13 @@ body:has(.zx-modal:modal) {
7143
7805
  }
7144
7806
  .zx-timebox__separator {
7145
7807
  color: var(--zx-color-text-muted);
7146
- font-weight: 700;
7808
+ font-weight: var(--zx-weight-medium);
7147
7809
  }
7148
7810
  .zx-timebox__sign {
7149
7811
  min-inline-size: var(--zx-control-height);
7150
7812
  padding: 0;
7151
7813
  border-color: var(--zx-color-border-control);
7152
- font-weight: 750;
7814
+ font-weight: var(--zx-weight-semibold);
7153
7815
  }
7154
7816
  .zx-timebox__sign[data-state=positive] {
7155
7817
  border-color: var(--zx-color-success);
@@ -7161,11 +7823,23 @@ body:has(.zx-modal:modal) {
7161
7823
  background: var(--zx-color-danger-bg);
7162
7824
  color: var(--zx-color-danger);
7163
7825
  }
7826
+ [data-zx-fields=quiet] .zx-timebox__sign,
7827
+ [data-zx-fields=quiet] .zx-timebox__sign[data-state] {
7828
+ border-color: transparent;
7829
+ background: transparent;
7830
+ }
7831
+ [data-zx-fields=quiet] .zx-timebox:not([aria-disabled=true]) .zx-timebox__sign:hover {
7832
+ background: var(--zx-color-bg-hover);
7833
+ }
7834
+ [data-zx-fields=quiet] .zx-timebox__sign:focus-visible {
7835
+ border-color: var(--zx-color-border-control);
7836
+ background: var(--zx-color-bg-control);
7837
+ }
7164
7838
 
7165
7839
  /* src/components/calendar/calendar.css */
7166
7840
  .zx-calendar {
7167
7841
  --zx-calendar-time-axis: 4.75rem;
7168
- --zx-calendar-slot-height: 24px;
7842
+ --zx-calendar-slot-height: var(--zx-space-6);
7169
7843
  --zx-calendar-event-color: var(--zx-color-accent);
7170
7844
  position: relative;
7171
7845
  container-type: inline-size;
@@ -7206,10 +7880,10 @@ body:has(.zx-modal:modal) {
7206
7880
  .zx-calendar__views {
7207
7881
  block-size: var(--zx-control-height);
7208
7882
  gap: 2px;
7209
- overflow-x: auto;
7210
- border-radius: 0;
7211
- background: var(--zx-color-bg-muted);
7212
- padding: 3px;
7883
+ overflow-x: auto;
7884
+ border: 1px solid var(--zx-color-border-control);
7885
+ border-radius: var(--zx-control-radius);
7886
+ padding: 2px;
7213
7887
  }
7214
7888
  .zx-calendar__toolbar-button,
7215
7889
  .zx-calendar__view-button,
@@ -7237,33 +7911,36 @@ body:has(.zx-modal:modal) {
7237
7911
  block-size: 100%;
7238
7912
  min-block-size: 0;
7239
7913
  border-color: transparent;
7240
- border-radius: 0;
7914
+ border-radius: max(0px, calc(var(--zx-control-radius) - 2px));
7241
7915
  background: transparent;
7916
+ color: var(--zx-color-text-muted);
7242
7917
  padding-inline: var(--zx-space-3);
7918
+ font-weight: var(--zx-weight-medium);
7919
+ }
7920
+ .zx-calendar__view-button:hover:not(:disabled) {
7921
+ color: var(--zx-color-text);
7243
7922
  }
7244
7923
  .zx-calendar__view-button[aria-pressed=true] {
7245
- position: relative;
7246
- z-index: 1;
7247
- border-color: var(--zx-color-border-control);
7248
- background: var(--zx-color-bg-control);
7249
- box-shadow: var(--zx-shadow-2);
7924
+ background: var(--zx-color-bg-current);
7250
7925
  color: var(--zx-color-text);
7926
+ font-weight: var(--zx-weight-semibold);
7251
7927
  }
7252
7928
  .zx-calendar__new {
7253
7929
  gap: var(--zx-space-2);
7254
- border-color: var(--zx-color-accent);
7930
+ border-color: var(--zx-color-accent-solid);
7255
7931
  border-radius: var(--zx-control-radius);
7256
- background: var(--zx-color-accent);
7257
- color: var(--zx-color-on-accent);
7932
+ background: var(--zx-color-accent-solid);
7933
+ color: var(--zx-color-on-accent-solid);
7258
7934
  padding-inline: var(--zx-space-3);
7259
- font-weight: 650;
7935
+ font-weight: var(--zx-weight-medium);
7260
7936
  }
7261
7937
  .zx-calendar__toolbar-button:hover:not(:disabled),
7262
7938
  .zx-calendar__view-button:hover:not(:disabled):not([aria-pressed=true]) {
7263
7939
  background: var(--zx-color-bg-hover);
7264
7940
  }
7265
7941
  .zx-calendar__new:hover:not(:disabled) {
7266
- background: var(--zx-color-accent-hover);
7942
+ border-color: var(--zx-color-accent-solid-hover);
7943
+ background: var(--zx-color-accent-solid-hover);
7267
7944
  }
7268
7945
  .zx-calendar button:disabled {
7269
7946
  cursor: default;
@@ -7291,7 +7968,8 @@ body:has(.zx-modal:modal) {
7291
7968
  overflow: hidden;
7292
7969
  color: var(--zx-color-text);
7293
7970
  font-size: var(--zx-text-lg);
7294
- font-weight: 700;
7971
+ font-weight: var(--zx-weight-semibold);
7972
+ letter-spacing: var(--zx-tracking-title);
7295
7973
  line-height: 1.25;
7296
7974
  text-align: center;
7297
7975
  text-overflow: ellipsis;
@@ -7313,11 +7991,11 @@ body:has(.zx-modal:modal) {
7313
7991
  }
7314
7992
  .zx-calendar__time-header,
7315
7993
  .zx-calendar__all-day {
7316
- border-block-end: 1px solid var(--zx-color-border);
7994
+ border-block-end: 1px solid var(--zx-color-border-subtle);
7317
7995
  }
7318
7996
  .zx-calendar__time-corner,
7319
7997
  .zx-calendar__all-day-label {
7320
- border-inline-end: 1px solid var(--zx-color-border);
7998
+ border-inline-end: 1px solid var(--zx-color-border-subtle);
7321
7999
  color: var(--zx-color-text-muted);
7322
8000
  }
7323
8001
  .zx-calendar__day-headings {
@@ -7331,7 +8009,7 @@ body:has(.zx-modal:modal) {
7331
8009
  place-content: center;
7332
8010
  border: 0;
7333
8011
  border-radius: 0;
7334
- border-inline-end: 1px solid var(--zx-color-border);
8012
+ border-inline-end: 1px solid var(--zx-color-border-subtle);
7335
8013
  background: var(--zx-color-bg-surface);
7336
8014
  color: var(--zx-color-text);
7337
8015
  font: inherit;
@@ -7345,13 +8023,12 @@ body:has(.zx-modal:modal) {
7345
8023
  }
7346
8024
  .zx-calendar__day-heading[aria-current=date] .zx-calendar__day-number {
7347
8025
  color: var(--zx-color-accent);
7348
- font-weight: 750;
8026
+ font-weight: 650;
7349
8027
  }
7350
8028
  .zx-calendar__day-weekday {
7351
8029
  color: var(--zx-color-text-muted);
7352
8030
  font-size: var(--zx-text-xs);
7353
- text-transform: uppercase;
7354
- letter-spacing: .04em;
8031
+ font-weight: var(--zx-weight-medium);
7355
8032
  }
7356
8033
  .zx-calendar__day-number {
7357
8034
  font-size: var(--zx-text-sm);
@@ -7375,7 +8052,7 @@ body:has(.zx-modal:modal) {
7375
8052
  overflow: hidden;
7376
8053
  }
7377
8054
  .zx-calendar__all-day-cell {
7378
- border-inline-end: 1px solid var(--zx-color-border);
8055
+ border-inline-end: 1px solid var(--zx-color-border-subtle);
7379
8056
  }
7380
8057
  .zx-calendar__all-day-cell:last-of-type {
7381
8058
  border-inline-end: 0;
@@ -7390,7 +8067,7 @@ body:has(.zx-modal:modal) {
7390
8067
  .zx-calendar__time-axis {
7391
8068
  position: relative;
7392
8069
  z-index: 2;
7393
- border-inline-end: 1px solid var(--zx-color-border);
8070
+ border-inline-end: 1px solid var(--zx-color-border-subtle);
7394
8071
  background: var(--zx-color-bg-surface);
7395
8072
  }
7396
8073
  .zx-calendar__time-label {
@@ -7422,8 +8099,8 @@ body:has(.zx-modal:modal) {
7422
8099
  min-inline-size: 0;
7423
8100
  border: 0;
7424
8101
  border-radius: 0;
7425
- border-block-start: 1px solid var(--zx-color-border);
7426
- border-inline-end: 1px solid var(--zx-color-border);
8102
+ border-block-start: 1px solid var(--zx-color-border-subtle);
8103
+ border-inline-end: 1px solid var(--zx-color-border-subtle);
7427
8104
  background: var(--zx-color-bg-surface);
7428
8105
  padding: 0;
7429
8106
  cursor: crosshair;
@@ -7509,7 +8186,7 @@ body:has(.zx-modal:modal) {
7509
8186
  }
7510
8187
  .zx-calendar__event-title {
7511
8188
  overflow: hidden;
7512
- font-weight: 680;
8189
+ font-weight: var(--zx-weight-semibold);
7513
8190
  text-overflow: ellipsis;
7514
8191
  white-space: nowrap;
7515
8192
  }
@@ -7582,7 +8259,8 @@ body:has(.zx-modal:modal) {
7582
8259
  inset-inline-start: var(--zx-space-1);
7583
8260
  color: var(--zx-color-danger);
7584
8261
  font-size: var(--zx-text-xs);
7585
- font-weight: 700;
8262
+ font-weight: var(--zx-weight-semibold);
8263
+ font-variant-numeric: tabular-nums;
7586
8264
  transform: translateY(-100%);
7587
8265
  }
7588
8266
  .zx-calendar__agenda {
@@ -7591,19 +8269,19 @@ body:has(.zx-modal:modal) {
7591
8269
  .zx-calendar__agenda-day {
7592
8270
  display: grid;
7593
8271
  grid-template-columns: minmax(10rem, 22%) minmax(0, 1fr);
7594
- border-block-end: 1px solid var(--zx-color-border);
8272
+ border-block-end: 1px solid var(--zx-color-border-subtle);
7595
8273
  }
7596
8274
  .zx-calendar__agenda-heading {
7597
8275
  align-self: stretch;
7598
8276
  appearance: none;
7599
8277
  border: 0;
7600
- border-inline-end: 1px solid var(--zx-color-border);
8278
+ border-inline-end: 1px solid var(--zx-color-border-subtle);
7601
8279
  border-radius: 0;
7602
8280
  background: var(--zx-color-bg-muted);
7603
8281
  color: var(--zx-color-text);
7604
8282
  padding: var(--zx-space-3);
7605
8283
  font: inherit;
7606
- font-weight: 700;
8284
+ font-weight: var(--zx-weight-semibold);
7607
8285
  text-align: start;
7608
8286
  cursor: pointer;
7609
8287
  }
@@ -7620,7 +8298,7 @@ body:has(.zx-modal:modal) {
7620
8298
  padding: var(--zx-space-3);
7621
8299
  }
7622
8300
  .zx-calendar__agenda-events > .zx-calendar__event {
7623
- border-block-end: 1px solid var(--zx-color-border);
8301
+ border-block-end: 1px solid var(--zx-color-border-subtle);
7624
8302
  }
7625
8303
  .zx-calendar__agenda-events > .zx-calendar__event:last-child {
7626
8304
  border-block-end: 0;
@@ -7664,7 +8342,7 @@ body:has(.zx-modal:modal) {
7664
8342
  grid-template-columns: auto minmax(0, 1fr);
7665
8343
  }
7666
8344
  .zx-calendar__month-weekdays {
7667
- border-block-end: 1px solid var(--zx-color-border);
8345
+ border-block-end: 1px solid var(--zx-color-border-subtle);
7668
8346
  }
7669
8347
  .zx-calendar__month-week-gutter,
7670
8348
  .zx-calendar__month-week-number {
@@ -7680,20 +8358,18 @@ body:has(.zx-modal:modal) {
7680
8358
  padding: var(--zx-space-2);
7681
8359
  color: var(--zx-color-text-muted);
7682
8360
  font-size: var(--zx-text-xs);
7683
- font-weight: 650;
8361
+ font-weight: var(--zx-weight-medium);
7684
8362
  text-align: center;
7685
- text-transform: uppercase;
7686
- letter-spacing: .04em;
7687
8363
  }
7688
8364
  .zx-calendar__month-week {
7689
8365
  min-block-size: 7.5rem;
7690
- border-block-end: 1px solid var(--zx-color-border);
8366
+ border-block-end: 1px solid var(--zx-color-border-subtle);
7691
8367
  }
7692
8368
  .zx-calendar__month-week-number {
7693
8369
  grid-row: 1;
7694
8370
  appearance: none;
7695
8371
  border: 0;
7696
- border-inline-end: 1px solid var(--zx-color-border);
8372
+ border-inline-end: 1px solid var(--zx-color-border-subtle);
7697
8373
  border-radius: 0;
7698
8374
  background: var(--zx-color-bg-muted);
7699
8375
  color: var(--zx-color-text-muted);
@@ -7724,7 +8400,7 @@ body:has(.zx-modal:modal) {
7724
8400
  justify-content: flex-end;
7725
8401
  min-block-size: var(--zx-control-height);
7726
8402
  border: 0;
7727
- border-inline-end: 1px solid var(--zx-color-border);
8403
+ border-inline-end: 1px solid var(--zx-color-border-subtle);
7728
8404
  border-radius: 0;
7729
8405
  background: var(--zx-color-bg-surface);
7730
8406
  color: var(--zx-color-text);
@@ -7742,7 +8418,7 @@ body:has(.zx-modal:modal) {
7742
8418
  }
7743
8419
  .zx-calendar__month-day[aria-current=date] {
7744
8420
  color: var(--zx-color-accent);
7745
- font-weight: 750;
8421
+ font-weight: 650;
7746
8422
  }
7747
8423
  .zx-calendar__month-day:hover:not(:disabled) {
7748
8424
  background: var(--zx-color-bg-hover);
@@ -7800,11 +8476,12 @@ body:has(.zx-modal:modal) {
7800
8476
  grid-column: 1 / -1;
7801
8477
  margin: 0 0 var(--zx-space-2);
7802
8478
  font-size: var(--zx-text-md);
8479
+ font-weight: var(--zx-weight-semibold);
7803
8480
  }
7804
8481
  .zx-calendar__year-weekday {
7805
8482
  color: var(--zx-color-text-muted);
7806
8483
  font-size: var(--zx-text-xs);
7807
- font-weight: 650;
8484
+ font-weight: var(--zx-weight-medium);
7808
8485
  text-align: center;
7809
8486
  }
7810
8487
  .zx-calendar__year-day,
@@ -7830,7 +8507,7 @@ body:has(.zx-modal:modal) {
7830
8507
  }
7831
8508
  .zx-calendar__year-day[data-activity="3"] {
7832
8509
  background: color-mix(in srgb, var(--zx-color-accent) 32%, var(--zx-color-bg-surface));
7833
- font-weight: 700;
8510
+ font-weight: var(--zx-weight-semibold);
7834
8511
  }
7835
8512
  .zx-calendar__year-day[aria-current=date] {
7836
8513
  outline: 2px solid var(--zx-color-accent);
@@ -7847,7 +8524,7 @@ body:has(.zx-modal:modal) {
7847
8524
  place-items: center;
7848
8525
  background: color-mix(in srgb, var(--zx-color-bg-surface) 82%, transparent);
7849
8526
  color: var(--zx-color-text);
7850
- font-weight: 650;
8527
+ font-weight: var(--zx-weight-medium);
7851
8528
  }
7852
8529
  .zx-calendar__loading[hidden] {
7853
8530
  display: none;
@@ -7910,7 +8587,7 @@ body:has(.zx-modal:modal) {
7910
8587
  inset-block-start: 0;
7911
8588
  z-index: 3;
7912
8589
  border-inline-end: 0;
7913
- border-block-end: 1px solid var(--zx-color-border);
8590
+ border-block-end: 1px solid var(--zx-color-border-subtle);
7914
8591
  }
7915
8592
  .zx-calendar__agenda-events {
7916
8593
  grid-column: 1;
@@ -7923,9 +8600,6 @@ body:has(.zx-modal:modal) {
7923
8600
  padding: var(--zx-space-3);
7924
8601
  }
7925
8602
  }
7926
- [data-zx-density=compact] .zx-calendar {
7927
- --zx-calendar-slot-height: 20px;
7928
- }
7929
8603
  @media (prefers-reduced-motion: no-preference) {
7930
8604
  .zx-calendar__event {
7931
8605
  transition: transform var(--zx-dur-fast) var(--zx-ease), opacity var(--zx-dur-fast) var(--zx-ease);
@@ -8114,9 +8788,9 @@ body:has(.zx-modal:modal) {
8114
8788
  grid-template-columns: minmax(0, 1fr) auto;
8115
8789
  align-items: center;
8116
8790
  gap: var(--zx-space-2);
8117
- min-block-size: var(--zx-control-height);
8791
+ min-block-size: calc(var(--zx-control-height) - 2px);
8118
8792
  border-radius: var(--zx-radius-sm);
8119
- padding-inline: var(--zx-space-2);
8793
+ padding: var(--zx-space-1) var(--zx-space-2);
8120
8794
  }
8121
8795
  .zx-table__column-option:hover {
8122
8796
  background: var(--zx-color-overlay-hover);
@@ -8176,14 +8850,17 @@ body:has(.zx-modal:modal) {
8176
8850
  }
8177
8851
  }
8178
8852
  .zx-table__reorder-column,
8179
- .zx-table__reorder-header,
8180
- .zx-table__reorder-cell {
8853
+ .zx-table__selection-column {
8181
8854
  inline-size: var(--zx-control-height);
8182
- text-align: center;
8855
+ }
8856
+ .zx-table :is(.zx-table__reorder-header, .zx-table__reorder-cell, .zx-table__selection-header, .zx-table__selection-cell) {
8857
+ inline-size: var(--zx-control-height);
8858
+ padding-inline: 0;
8183
8859
  }
8184
8860
  .zx-table__row-handle {
8185
- display: inline-grid;
8861
+ display: grid;
8186
8862
  place-items: center;
8863
+ margin-inline: auto;
8187
8864
  inline-size: 26px;
8188
8865
  block-size: 26px;
8189
8866
  min-block-size: 0;
@@ -8218,7 +8895,7 @@ body:has(.zx-modal:modal) {
8218
8895
  border: 1px solid var(--zx-color-border);
8219
8896
  border-radius: var(--zx-radius-md);
8220
8897
  background: var(--zx-color-bg-surface);
8221
- scrollbar-gutter: stable;
8898
+ scrollbar-gutter: auto;
8222
8899
  }
8223
8900
  .zx-table[data-loading=true] .zx-table__body {
8224
8901
  opacity: 0.5;
@@ -8261,6 +8938,7 @@ body:has(.zx-modal:modal) {
8261
8938
  border-spacing: 0;
8262
8939
  background: var(--zx-color-bg-surface);
8263
8940
  color: var(--zx-color-text);
8941
+ font-variant-numeric: tabular-nums;
8264
8942
  }
8265
8943
  .zx-table__table[data-layout=auto] {
8266
8944
  min-inline-size: max-content;
@@ -8268,21 +8946,23 @@ body:has(.zx-modal:modal) {
8268
8946
  .zx-table__table[data-layout=fixed] {
8269
8947
  table-layout: fixed;
8270
8948
  }
8271
- .zx-table__selection-column {
8272
- inline-size: var(--zx-control-height);
8273
- }
8274
8949
  .zx-table th,
8275
8950
  .zx-table td {
8276
- border-block-end: 1px solid var(--zx-table-border-color, var(--zx-color-border));
8951
+ border-block-end: 1px solid var(--zx-table-border-color, var(--zx-color-border-subtle));
8277
8952
  padding: var(--zx-space-2) var(--zx-space-3);
8278
8953
  text-align: start;
8279
8954
  vertical-align: middle;
8280
8955
  }
8281
8956
  .zx-table th {
8282
- background: var(--zx-table-header-bg, var(--zx-color-bg-raised));
8957
+ border-block-end-color: var(--zx-table-border-color, var(--zx-color-border));
8958
+ background: var(--zx-table-header-bg, var(--zx-color-bg-surface));
8283
8959
  color: var(--zx-color-text-muted);
8284
8960
  font-size: var(--zx-text-sm);
8285
- font-weight: 650;
8961
+ font-weight: var(--zx-weight-medium);
8962
+ }
8963
+ .zx-table th[aria-sort=ascending],
8964
+ .zx-table th[aria-sort=descending] {
8965
+ color: var(--zx-color-text);
8286
8966
  }
8287
8967
  .zx-table__scroll[data-sticky-header=true] th {
8288
8968
  position: sticky;
@@ -8315,8 +8995,17 @@ body:has(.zx-modal:modal) {
8315
8995
  background: inherit;
8316
8996
  color: inherit;
8317
8997
  padding: 0;
8998
+ font: inherit;
8999
+ letter-spacing: inherit;
8318
9000
  text-align: inherit;
8319
9001
  }
9002
+ .zx-table th:is([data-align=end], [data-align=right]) .zx-table__sort-button {
9003
+ flex-direction: row-reverse;
9004
+ justify-content: flex-start;
9005
+ }
9006
+ .zx-table th[data-align=center] .zx-table__sort-button {
9007
+ justify-content: center;
9008
+ }
8320
9009
  .zx-table__sort-button:hover {
8321
9010
  background: var(--zx-table-row-hover-bg, var(--zx-color-bg-hover));
8322
9011
  color: var(--zx-color-text);
@@ -8326,11 +9015,11 @@ body:has(.zx-modal:modal) {
8326
9015
  }
8327
9016
  .zx-table th[aria-sort=ascending] .zx-table__sort-button::after {
8328
9017
  content: "\2191";
8329
- color: var(--zx-color-accent);
9018
+ color: var(--zx-color-text-muted);
8330
9019
  }
8331
9020
  .zx-table th[aria-sort=descending] .zx-table__sort-button::after {
8332
9021
  content: "\2193";
8333
- color: var(--zx-color-accent);
9022
+ color: var(--zx-color-text-muted);
8334
9023
  }
8335
9024
  .zx-table__body tr:last-child td {
8336
9025
  border-block-end: 0;
@@ -8341,21 +9030,41 @@ body:has(.zx-modal:modal) {
8341
9030
  .zx-table__body tr[aria-selected=true] {
8342
9031
  background: var(--zx-table-row-selected-bg, var(--zx-color-bg-selected));
8343
9032
  }
9033
+ .zx-table__body tr[aria-selected=true]:not(:has(> .zx-table__selection-cell)) {
9034
+ background: var(--zx-table-row-selected-bg, var(--zx-color-bg-current));
9035
+ }
8344
9036
  .zx-table__body tr[data-row]:hover {
8345
9037
  background: var(--zx-color-bg-hover);
8346
9038
  }
9039
+ .zx-table[data-variant=plain] .zx-table__scroll {
9040
+ border: 0;
9041
+ border-radius: 0;
9042
+ background: transparent;
9043
+ }
9044
+ .zx-table[data-variant=plain] .zx-table__table {
9045
+ background: transparent;
9046
+ }
9047
+ .zx-table[data-variant=plain] th {
9048
+ background: var(--zx-table-header-bg, var(--zx-color-bg-surface));
9049
+ border-block-end-color: var(--zx-table-border-color, var(--zx-color-border-subtle));
9050
+ }
9051
+ .zx-table[data-variant=plain] .zx-table__scroll[data-sticky-header=false] th {
9052
+ background: transparent;
9053
+ }
9054
+ .zx-table[data-variant=plain] .zx-table__scroll[data-zebra=true] .zx-table__body tr:nth-child(even):not([aria-selected=true]) {
9055
+ background: transparent;
9056
+ }
9057
+ .zx-table[data-variant=plain] .zx-table__body tr:last-child td {
9058
+ border-block-end: 0;
9059
+ }
8347
9060
  .zx-table__checkbox {
9061
+ display: block;
8348
9062
  inline-size: var(--zx-space-4);
8349
9063
  min-block-size: auto;
8350
9064
  block-size: var(--zx-space-4);
8351
- margin: 0;
9065
+ margin: 0 auto;
8352
9066
  accent-color: var(--zx-color-accent);
8353
9067
  }
8354
- .zx-table__selection-header,
8355
- .zx-table__selection-cell {
8356
- inline-size: var(--zx-control-height);
8357
- text-align: center;
8358
- }
8359
9068
  .zx-table__empty {
8360
9069
  padding-block: var(--zx-space-6);
8361
9070
  color: var(--zx-color-text-muted);
@@ -8518,11 +9227,8 @@ body:has(.zx-modal:modal) {
8518
9227
  .zx-table[data-stacked] .zx-table__body td[data-popin=false]::before {
8519
9228
  content: none;
8520
9229
  }
8521
- .zx-table[data-stacked] .zx-table__selection-cell {
8522
- justify-content: flex-start;
8523
- }
8524
- .zx-table[data-stacked] .zx-table__reorder-cell {
8525
- justify-content: flex-start;
9230
+ .zx-table[data-stacked] :is(.zx-table__checkbox, .zx-table__row-handle) {
9231
+ margin-inline: 0;
8526
9232
  }
8527
9233
  .zx-table[data-stacked] .zx-table__empty-row {
8528
9234
  display: block;
@@ -8567,9 +9273,9 @@ body:has(.zx-modal:modal) {
8567
9273
  /* src/components/stat-tile/stat-tile.css */
8568
9274
  .zx-stat-tile {
8569
9275
  --zx-stat-tile-value-size: var(--zx-text-2xl);
8570
- display: grid;
8571
- gap: var(--zx-space-2);
8572
- align-content: start;
9276
+ display: flex;
9277
+ flex-direction: column;
9278
+ gap: var(--zx-space-1);
8573
9279
  min-inline-size: 0;
8574
9280
  padding: var(--zx-space-4);
8575
9281
  border: 1px solid var(--zx-color-border);
@@ -8614,41 +9320,47 @@ button.zx-stat-tile:focus-visible {
8614
9320
  .zx-stat-tile__label {
8615
9321
  min-inline-size: 0;
8616
9322
  overflow: hidden;
8617
- font-size: var(--zx-text-xs);
8618
- font-weight: 600;
8619
- letter-spacing: 0.04em;
9323
+ font-size: var(--zx-text-sm);
9324
+ font-weight: var(--zx-weight-medium);
8620
9325
  line-height: 1.4;
8621
- text-transform: uppercase;
8622
9326
  text-overflow: ellipsis;
8623
9327
  white-space: nowrap;
8624
9328
  color: var(--zx-color-text-muted);
8625
9329
  }
8626
9330
  .zx-stat-tile__icon {
8627
- display: grid;
9331
+ display: inline-grid;
8628
9332
  flex: none;
8629
9333
  place-items: center;
8630
- inline-size: 1.75rem;
8631
- block-size: 1.75rem;
8632
- border-radius: var(--zx-radius-full);
8633
- background: var(--zx-color-bg-muted);
8634
- color: var(--zx-color-text-muted);
9334
+ color: var(--zx-color-text-subtle);
8635
9335
  }
8636
9336
  .zx-stat-tile__value {
8637
9337
  min-inline-size: 0;
9338
+ margin-block-start: var(--zx-space-1);
8638
9339
  font-size: var(--zx-stat-tile-value-size);
8639
- font-weight: 600;
9340
+ font-weight: 650;
8640
9341
  font-variant-numeric: tabular-nums;
9342
+ letter-spacing: var(--zx-tracking-title);
8641
9343
  line-height: 1.15;
8642
9344
  overflow-wrap: break-word;
8643
9345
  color: var(--zx-color-text);
8644
9346
  }
9347
+ .zx-stat-tile__caption {
9348
+ min-inline-size: 0;
9349
+ overflow: hidden;
9350
+ color: var(--zx-color-text-muted);
9351
+ font-size: var(--zx-text-sm);
9352
+ font-variant-numeric: tabular-nums;
9353
+ line-height: 1.4;
9354
+ text-overflow: ellipsis;
9355
+ white-space: nowrap;
9356
+ }
8645
9357
  .zx-stat-tile__delta {
8646
9358
  display: flex;
8647
9359
  gap: var(--zx-space-1);
8648
9360
  align-items: baseline;
8649
9361
  min-inline-size: 0;
8650
9362
  font-size: var(--zx-text-xs);
8651
- font-weight: 600;
9363
+ font-weight: var(--zx-weight-medium);
8652
9364
  font-variant-numeric: tabular-nums;
8653
9365
  line-height: 1.4;
8654
9366
  color: var(--zx-color-text-muted);
@@ -8663,6 +9375,10 @@ button.zx-stat-tile:focus-visible {
8663
9375
  flex: none;
8664
9376
  align-self: center;
8665
9377
  }
9378
+ .zx-stat-tile__delta-value {
9379
+ flex: none;
9380
+ white-space: nowrap;
9381
+ }
8666
9382
  .zx-stat-tile__delta-label {
8667
9383
  min-inline-size: 0;
8668
9384
  overflow: hidden;
@@ -8673,35 +9389,18 @@ button.zx-stat-tile:focus-visible {
8673
9389
  }
8674
9390
  .zx-stat-tile__trend {
8675
9391
  display: block;
9392
+ flex: none;
9393
+ box-sizing: content-box;
8676
9394
  inline-size: 100%;
8677
9395
  block-size: 2rem;
8678
- margin-block-start: var(--zx-space-1);
9396
+ margin-block-start: auto;
9397
+ padding-block-start: var(--zx-space-2);
8679
9398
  color: var(--zx-color-text-placeholder);
8680
9399
  }
8681
9400
  .zx-stat-tile__loading {
8682
9401
  display: grid;
8683
9402
  gap: var(--zx-space-2);
8684
9403
  }
8685
- .zx-stat-tile[data-kind=accent] .zx-stat-tile__icon {
8686
- background: var(--zx-color-accent-subtle);
8687
- color: var(--zx-color-accent);
8688
- }
8689
- .zx-stat-tile[data-kind=success] .zx-stat-tile__icon {
8690
- background: var(--zx-color-success-bg);
8691
- color: var(--zx-color-success);
8692
- }
8693
- .zx-stat-tile[data-kind=warning] .zx-stat-tile__icon {
8694
- background: var(--zx-color-warning-bg);
8695
- color: var(--zx-color-warning);
8696
- }
8697
- .zx-stat-tile[data-kind=danger] .zx-stat-tile__icon {
8698
- background: var(--zx-color-danger-bg);
8699
- color: var(--zx-color-danger);
8700
- }
8701
- .zx-stat-tile[data-kind=info] .zx-stat-tile__icon {
8702
- background: var(--zx-color-info-bg);
8703
- color: var(--zx-color-info);
8704
- }
8705
9404
  .zx-stat-tile[data-kind=accent] .zx-stat-tile__trend {
8706
9405
  color: var(--zx-color-accent);
8707
9406
  }
@@ -8827,7 +9526,7 @@ button.zx-stat-tile:focus-visible {
8827
9526
  }
8828
9527
  .zx-record-card[data-selected=true] {
8829
9528
  border-color: var(--zx-color-accent);
8830
- box-shadow: inset 0 0 0 1px var(--zx-color-accent);
9529
+ background: var(--zx-color-bg-selected);
8831
9530
  }
8832
9531
  .zx-record-card__preview {
8833
9532
  position: relative;
@@ -8925,7 +9624,7 @@ button.zx-stat-tile:focus-visible {
8925
9624
  margin: 0;
8926
9625
  overflow-wrap: anywhere;
8927
9626
  font-size: var(--zx-text-lg);
8928
- font-weight: 700;
9627
+ font-weight: 650;
8929
9628
  line-height: 1.35;
8930
9629
  }
8931
9630
  .zx-record-card__primary,
@@ -9005,7 +9704,7 @@ button.zx-stat-tile:focus-visible {
9005
9704
  overflow: hidden;
9006
9705
  color: var(--zx-color-text-muted);
9007
9706
  font-size: var(--zx-text-xs);
9008
- font-weight: 600;
9707
+ font-weight: var(--zx-weight-medium);
9009
9708
  line-height: 1.35;
9010
9709
  text-overflow: ellipsis;
9011
9710
  white-space: nowrap;
@@ -9135,7 +9834,7 @@ button.zx-stat-tile:focus-visible {
9135
9834
  }
9136
9835
  .zx-card-view .zx-record-card__heading {
9137
9836
  font-size: var(--zx-text-md);
9138
- font-weight: 600;
9837
+ font-weight: var(--zx-weight-semibold);
9139
9838
  line-height: 1.3;
9140
9839
  }
9141
9840
  .zx-card-view .zx-record-card__primary,
@@ -9175,15 +9874,14 @@ button.zx-stat-tile:focus-visible {
9175
9874
  align-items: center;
9176
9875
  gap: var(--zx-space-1);
9177
9876
  max-inline-size: 100%;
9178
- border: 1px solid var(--zx-color-border);
9179
- border-radius: var(--zx-radius-full);
9877
+ border-radius: var(--zx-radius-sm);
9180
9878
  background: var(--zx-color-bg-muted);
9181
9879
  padding: calc(var(--zx-space-1) / 2) var(--zx-space-2);
9182
9880
  }
9183
9881
  .zx-card-view .zx-record-card__label {
9184
9882
  flex: none;
9185
9883
  font-size: var(--zx-text-xs);
9186
- font-weight: 500;
9884
+ font-weight: var(--zx-weight-medium);
9187
9885
  line-height: 1.2;
9188
9886
  }
9189
9887
  .zx-card-view .zx-record-card__value {
@@ -9340,8 +10038,8 @@ button.zx-stat-tile:focus-visible {
9340
10038
  touch-action: none;
9341
10039
  }
9342
10040
  .zx-kanban-view__move-handle[aria-pressed=true] {
9343
- background: var(--zx-color-accent-subtle);
9344
- color: var(--zx-color-accent);
10041
+ background: var(--zx-color-bg-current);
10042
+ color: var(--zx-color-text);
9345
10043
  cursor: grabbing;
9346
10044
  }
9347
10045
  .zx-kanban-view__collapse:hover,
@@ -9532,7 +10230,7 @@ button.zx-stat-tile:focus-visible {
9532
10230
  white-space: nowrap;
9533
10231
  }
9534
10232
  .zx-kanban-view .zx-record-card__eyebrow-group[data-card-slot=eyebrow-start] .zx-record-card__field {
9535
- border-radius: var(--zx-radius-full);
10233
+ border-radius: var(--zx-radius-sm);
9536
10234
  background: var(--zx-color-bg-muted);
9537
10235
  padding: calc(var(--zx-space-1) / 2) var(--zx-space-2);
9538
10236
  }
@@ -9590,6 +10288,10 @@ button.zx-stat-tile:focus-visible {
9590
10288
  .zx-kanban-view .zx-record-card[data-grabbed=true] {
9591
10289
  outline: 2px solid var(--zx-color-accent);
9592
10290
  outline-offset: 2px;
10291
+ box-shadow: var(--zx-drag-shadow);
10292
+ }
10293
+ .zx-kanban-view .zx-record-card[data-grabbed=true]:focus-visible {
10294
+ box-shadow: var(--zx-focus-ring), var(--zx-drag-shadow);
9593
10295
  }
9594
10296
  .zx-kanban-view__empty {
9595
10297
  display: grid;
@@ -9634,9 +10336,6 @@ button.zx-stat-tile:focus-visible {
9634
10336
  min-block-size: 2.75rem;
9635
10337
  }
9636
10338
  }
9637
- [data-zx-density=compact] .zx-kanban-view {
9638
- --zx-kanban-card-padding-inline: var(--zx-space-2);
9639
- }
9640
10339
  @media (prefers-reduced-motion: no-preference) {
9641
10340
  .zx-kanban-view__collapse,
9642
10341
  .zx-kanban-view__move-handle,
@@ -9773,7 +10472,7 @@ button.zx-stat-tile:focus-visible {
9773
10472
  border: 1px solid var(--zx-color-border);
9774
10473
  border-radius: var(--zx-radius-md);
9775
10474
  background: var(--zx-color-bg-raised);
9776
- box-shadow: var(--zx-shadow-2);
10475
+ box-shadow: var(--zx-drag-shadow);
9777
10476
  padding: var(--zx-space-1) var(--zx-space-2);
9778
10477
  color: var(--zx-color-text);
9779
10478
  font-size: var(--zx-text-xs);
@@ -9818,7 +10517,6 @@ button.zx-stat-tile:focus-visible {
9818
10517
  color: var(--zx-color-text-muted);
9819
10518
  font-size: var(--zx-text-xs);
9820
10519
  font-variant-numeric: tabular-nums;
9821
- letter-spacing: .02em;
9822
10520
  text-overflow: ellipsis;
9823
10521
  white-space: nowrap;
9824
10522
  }
@@ -9876,15 +10574,51 @@ button.zx-stat-tile:focus-visible {
9876
10574
  overflow: hidden;
9877
10575
  border: 1px solid var(--zx-color-bg-surface);
9878
10576
  border-radius: var(--zx-radius-full);
9879
- background: var(--zx-color-bg-muted);
9880
- color: var(--zx-color-text-muted);
10577
+ background: var(--zx-kanban-avatar-bg, var(--zx-color-bg-muted));
10578
+ color: var(--zx-kanban-avatar-fg, var(--zx-color-text-muted));
10579
+ }
10580
+ .zx-kanban-view__avatar[data-tone=blue] {
10581
+ --zx-kanban-avatar-bg: var(--zx-color-tone-blue-bg);
10582
+ --zx-kanban-avatar-fg: var(--zx-color-tone-blue-fg);
10583
+ }
10584
+ .zx-kanban-view__avatar[data-tone=teal] {
10585
+ --zx-kanban-avatar-bg: var(--zx-color-tone-teal-bg);
10586
+ --zx-kanban-avatar-fg: var(--zx-color-tone-teal-fg);
10587
+ }
10588
+ .zx-kanban-view__avatar[data-tone=green] {
10589
+ --zx-kanban-avatar-bg: var(--zx-color-tone-green-bg);
10590
+ --zx-kanban-avatar-fg: var(--zx-color-tone-green-fg);
10591
+ }
10592
+ .zx-kanban-view__avatar[data-tone=amber] {
10593
+ --zx-kanban-avatar-bg: var(--zx-color-tone-amber-bg);
10594
+ --zx-kanban-avatar-fg: var(--zx-color-tone-amber-fg);
10595
+ }
10596
+ .zx-kanban-view__avatar[data-tone=orange] {
10597
+ --zx-kanban-avatar-bg: var(--zx-color-tone-orange-bg);
10598
+ --zx-kanban-avatar-fg: var(--zx-color-tone-orange-fg);
10599
+ }
10600
+ .zx-kanban-view__avatar[data-tone=red] {
10601
+ --zx-kanban-avatar-bg: var(--zx-color-tone-red-bg);
10602
+ --zx-kanban-avatar-fg: var(--zx-color-tone-red-fg);
10603
+ }
10604
+ .zx-kanban-view__avatar[data-tone=pink] {
10605
+ --zx-kanban-avatar-bg: var(--zx-color-tone-pink-bg);
10606
+ --zx-kanban-avatar-fg: var(--zx-color-tone-pink-fg);
10607
+ }
10608
+ .zx-kanban-view__avatar[data-tone=violet] {
10609
+ --zx-kanban-avatar-bg: var(--zx-color-tone-violet-bg);
10610
+ --zx-kanban-avatar-fg: var(--zx-color-tone-violet-fg);
10611
+ }
10612
+ .zx-kanban-view__avatar[data-tone=slate] {
10613
+ --zx-kanban-avatar-bg: var(--zx-color-tone-slate-bg);
10614
+ --zx-kanban-avatar-fg: var(--zx-color-tone-slate-fg);
9881
10615
  }
9882
10616
  .zx-kanban-view__avatar + .zx-kanban-view__avatar {
9883
10617
  margin-inline-start: calc(var(--zx-space-2) * -1);
9884
10618
  }
9885
10619
  .zx-kanban-view__avatar[data-overflow=true] {
9886
- background: var(--zx-color-accent-subtle);
9887
- color: var(--zx-color-accent);
10620
+ background: var(--zx-color-bg-current);
10621
+ color: var(--zx-color-text-muted);
9888
10622
  }
9889
10623
  .zx-kanban-view__avatar-image {
9890
10624
  inline-size: 100%;
@@ -9892,11 +10626,15 @@ button.zx-stat-tile:focus-visible {
9892
10626
  object-fit: cover;
9893
10627
  }
9894
10628
  .zx-kanban-view__avatar-initials {
9895
- font-size: var(--zx-text-xs);
9896
- font-weight: 600;
10629
+ font-size: max(10px, calc(1.5rem * .4));
10630
+ font-weight: var(--zx-weight-semibold);
10631
+ letter-spacing: 0;
9897
10632
  line-height: 1;
9898
10633
  text-transform: uppercase;
9899
10634
  }
10635
+ .zx-kanban-view__avatar[data-overflow=true] .zx-kanban-view__avatar-initials {
10636
+ font-size: var(--zx-text-xs);
10637
+ }
9900
10638
  .zx-kanban-view__move-handle[data-reveal=keyboard] {
9901
10639
  position: absolute;
9902
10640
  inline-size: 1px;
@@ -9941,7 +10679,7 @@ button.zx-stat-tile:focus-visible {
9941
10679
  /* src/components/grid/grid.css */
9942
10680
  .zx-table[data-preset=billing-items] tr.zx-grid-billing__summary > td {
9943
10681
  background: var(--zx-color-bg-muted);
9944
- font-weight: 700;
10682
+ font-weight: 650;
9945
10683
  }
9946
10684
 
9947
10685
  /* src/components/chart/chart.css */
@@ -9954,6 +10692,7 @@ button.zx-stat-tile:focus-visible {
9954
10692
  .zx-chart__viewport {
9955
10693
  position: relative;
9956
10694
  inline-size: 100%;
10695
+ min-inline-size: 0;
9957
10696
  min-block-size: 220px;
9958
10697
  aspect-ratio: var(--zx-chart-aspect-ratio, 16 / 9);
9959
10698
  }
@@ -9998,7 +10737,7 @@ button.zx-stat-tile:focus-visible {
9998
10737
  }
9999
10738
  .zx-chart__table caption {
10000
10739
  margin-block-end: var(--zx-space-2);
10001
- font-weight: 700;
10740
+ font-weight: var(--zx-weight-semibold);
10002
10741
  text-align: start;
10003
10742
  }
10004
10743
  .zx-chart__table th,
@@ -10014,7 +10753,7 @@ button.zx-stat-tile:focus-visible {
10014
10753
 
10015
10754
  /* src/components/tree/tree.css */
10016
10755
  .zx-tree {
10017
- --zx-tree-indent: 18px;
10756
+ --zx-tree-indent: var(--zx-space-3);
10018
10757
  display: block;
10019
10758
  min-inline-size: 0;
10020
10759
  color: var(--zx-color-text);
@@ -10024,19 +10763,24 @@ button.zx-stat-tile:focus-visible {
10024
10763
  display: flex;
10025
10764
  align-items: center;
10026
10765
  gap: var(--zx-space-2);
10027
- min-block-size: calc(var(--zx-control-height) - 6px);
10028
- padding-inline: var(--zx-space-2);
10766
+ min-block-size: calc(var(--zx-control-height) - var(--zx-space-1));
10767
+ padding: var(--zx-space-1) var(--zx-space-2);
10029
10768
  padding-inline-start: calc(var(--zx-space-2) + var(--zx-tree-level, 0) * var(--zx-tree-indent));
10030
- border-radius: var(--zx-radius-md);
10769
+ border-radius: var(--zx-radius-sm);
10770
+ line-height: 1.25;
10031
10771
  cursor: pointer;
10032
10772
  }
10033
10773
  .zx-tree__row:hover {
10034
10774
  background: var(--zx-color-bg-hover);
10035
10775
  }
10036
10776
  .zx-tree__row[aria-selected=true] {
10777
+ background: var(--zx-color-bg-current);
10778
+ color: var(--zx-color-text);
10779
+ font-weight: var(--zx-weight-semibold);
10780
+ }
10781
+ .zx-tree[aria-multiselectable=true] .zx-tree__row[aria-selected=true] {
10037
10782
  background: var(--zx-color-bg-selected);
10038
- color: var(--zx-color-accent);
10039
- font-weight: 550;
10783
+ font-weight: inherit;
10040
10784
  }
10041
10785
  .zx-tree__row:focus-visible {
10042
10786
  outline: 0;
@@ -10048,7 +10792,7 @@ button.zx-stat-tile:focus-visible {
10048
10792
  inline-size: 14px;
10049
10793
  block-size: 14px;
10050
10794
  flex: none;
10051
- color: var(--zx-color-text-muted);
10795
+ color: var(--zx-color-text-subtle);
10052
10796
  }
10053
10797
  .zx-tree__row[aria-expanded=true] .zx-tree__twisty {
10054
10798
  transform: rotate(90deg);
@@ -10069,13 +10813,10 @@ button.zx-stat-tile:focus-visible {
10069
10813
  display: inline-grid;
10070
10814
  place-items: center;
10071
10815
  flex: none;
10072
- color: var(--zx-color-text-muted);
10073
- }
10074
- .zx-tree__row[data-branch] .zx-tree__icon {
10075
- color: var(--zx-color-warning);
10816
+ color: var(--zx-color-text-subtle);
10076
10817
  }
10077
10818
  .zx-tree__row[aria-selected=true] .zx-tree__icon {
10078
- color: inherit;
10819
+ color: var(--zx-color-text);
10079
10820
  }
10080
10821
  .zx-tree__label {
10081
10822
  overflow: hidden;
@@ -10084,11 +10825,10 @@ button.zx-stat-tile:focus-visible {
10084
10825
  }
10085
10826
  .zx-tree__badge {
10086
10827
  margin-inline-start: auto;
10087
- padding-inline: var(--zx-space-2);
10088
- border-radius: var(--zx-radius-full);
10089
- background: var(--zx-color-bg-muted);
10828
+ padding-inline: var(--zx-space-1);
10090
10829
  color: var(--zx-color-text-muted);
10091
10830
  font-size: var(--zx-text-xs);
10831
+ font-weight: var(--zx-weight-medium);
10092
10832
  font-variant-numeric: tabular-nums;
10093
10833
  }
10094
10834
  .zx-tree__empty {
@@ -10117,7 +10857,7 @@ button.zx-stat-tile:focus-visible {
10117
10857
  flex: none;
10118
10858
  min-inline-size: 0;
10119
10859
  flex-direction: column;
10120
- border-inline-end: 1px solid var(--zx-color-border);
10860
+ border-inline-end: 1px solid var(--zx-color-border-subtle);
10121
10861
  }
10122
10862
  .zx-finder__list {
10123
10863
  flex: 1 1 auto;
@@ -10130,18 +10870,19 @@ button.zx-stat-tile:focus-visible {
10130
10870
  display: flex;
10131
10871
  align-items: center;
10132
10872
  gap: var(--zx-space-2);
10133
- min-block-size: calc(var(--zx-control-height) - 6px);
10134
- padding-inline: var(--zx-space-2);
10135
- border-radius: var(--zx-radius-md);
10873
+ min-block-size: calc(var(--zx-control-height) - var(--zx-space-1));
10874
+ padding: var(--zx-space-1) var(--zx-space-2);
10875
+ border-radius: var(--zx-radius-sm);
10876
+ line-height: 1.25;
10136
10877
  cursor: pointer;
10137
10878
  }
10138
10879
  .zx-finder__row:hover {
10139
10880
  background: var(--zx-color-bg-hover);
10140
10881
  }
10141
10882
  .zx-finder__row[aria-selected=true] {
10142
- background: var(--zx-color-bg-selected);
10143
- color: var(--zx-color-accent);
10144
- font-weight: 550;
10883
+ background: var(--zx-color-bg-current);
10884
+ color: var(--zx-color-text);
10885
+ font-weight: var(--zx-weight-semibold);
10145
10886
  }
10146
10887
  .zx-finder__row:focus-visible {
10147
10888
  outline: 0;
@@ -10151,13 +10892,10 @@ button.zx-stat-tile:focus-visible {
10151
10892
  display: inline-grid;
10152
10893
  place-items: center;
10153
10894
  flex: none;
10154
- color: var(--zx-color-text-muted);
10155
- }
10156
- .zx-finder__row[data-branch] .zx-finder__icon {
10157
- color: var(--zx-color-warning);
10895
+ color: var(--zx-color-text-subtle);
10158
10896
  }
10159
10897
  .zx-finder__row[aria-selected=true] .zx-finder__icon {
10160
- color: inherit;
10898
+ color: var(--zx-color-text);
10161
10899
  }
10162
10900
  .zx-finder__label {
10163
10901
  overflow: hidden;
@@ -10212,17 +10950,18 @@ button.zx-stat-tile:focus-visible {
10212
10950
  .zx-data-filter__label {
10213
10951
  color: var(--zx-color-text-muted);
10214
10952
  font-size: var(--zx-text-sm);
10215
- font-weight: 650;
10953
+ font-weight: var(--zx-weight-medium);
10216
10954
  }
10217
10955
  .zx-data-filter__badge {
10218
10956
  align-self: center;
10219
10957
  min-inline-size: var(--zx-control-height);
10220
10958
  border-radius: var(--zx-radius-full);
10221
- background: var(--zx-color-bg-selected);
10222
- color: var(--zx-color-accent);
10959
+ background: var(--zx-color-bg-current);
10960
+ color: var(--zx-color-text);
10223
10961
  padding: var(--zx-space-1) var(--zx-space-2);
10224
10962
  font-size: var(--zx-text-sm);
10225
- font-weight: 650;
10963
+ font-variant-numeric: tabular-nums;
10964
+ font-weight: var(--zx-weight-medium);
10226
10965
  text-align: center;
10227
10966
  }
10228
10967
  .zx-data-filter__clear {
@@ -10258,7 +10997,7 @@ button.zx-stat-tile:focus-visible {
10258
10997
  .zx-filter-panel__label {
10259
10998
  color: var(--zx-color-text-muted);
10260
10999
  font-size: var(--zx-text-sm);
10261
- font-weight: 650;
11000
+ font-weight: var(--zx-weight-medium);
10262
11001
  }
10263
11002
  .zx-filter-panel__input {
10264
11003
  inline-size: 100%;
@@ -10390,7 +11129,7 @@ button.zx-stat-tile:focus-visible {
10390
11129
  }
10391
11130
  .zx-list-toolbar__tool[aria-pressed=true] {
10392
11131
  border-color: var(--zx-color-border-strong);
10393
- background: var(--zx-color-bg-selected);
11132
+ background: var(--zx-color-bg-current);
10394
11133
  }
10395
11134
  .zx-list-toolbar__tool:disabled {
10396
11135
  color: var(--zx-color-text-placeholder);
@@ -10428,8 +11167,9 @@ button.zx-stat-tile:focus-visible {
10428
11167
  box-shadow: var(--zx-focus-ring);
10429
11168
  }
10430
11169
  .zx-list-toolbar__view[aria-pressed=true] {
10431
- background: var(--zx-color-bg-selected);
11170
+ background: var(--zx-color-bg-current);
10432
11171
  color: var(--zx-color-text);
11172
+ font-weight: var(--zx-weight-semibold);
10433
11173
  }
10434
11174
  @media (prefers-reduced-motion: no-preference) {
10435
11175
  .zx-list-toolbar__tool,
@@ -10635,11 +11375,14 @@ button.zx-stat-tile:focus-visible {
10635
11375
  .zx-sort-control__direction {
10636
11376
  inline-size: var(--zx-control-height);
10637
11377
  padding: 0;
10638
- border-radius: var(--zx-radius-full);
11378
+ border-radius: var(--zx-control-radius);
10639
11379
  }
10640
11380
  .zx-sort-control__direction:focus-visible {
10641
11381
  box-shadow: var(--zx-focus-ring);
10642
11382
  }
11383
+ .zx-sort-control .zx-sort-control__direction > .zx-icon {
11384
+ color: var(--zx-color-text);
11385
+ }
10643
11386
  .zx-sort-control .zx-select__control {
10644
11387
  background: var(--zx-color-bg-control);
10645
11388
  }
@@ -10698,13 +11441,13 @@ button.zx-stat-tile:focus-visible {
10698
11441
  font-variant-numeric: tabular-nums;
10699
11442
  }
10700
11443
  .zx-pagination__page[aria-current=page] {
10701
- border-color: var(--zx-color-accent);
10702
- background: var(--zx-color-accent);
10703
- color: var(--zx-color-on-accent);
11444
+ border-color: transparent;
11445
+ background: var(--zx-color-bg-current);
11446
+ color: var(--zx-color-text);
11447
+ font-weight: var(--zx-weight-semibold);
10704
11448
  }
10705
11449
  .zx-pagination__page[aria-current=page]:hover:not(:disabled) {
10706
- border-color: var(--zx-color-accent-hover);
10707
- background: var(--zx-color-accent-hover);
11450
+ background: var(--zx-color-bg-current);
10708
11451
  }
10709
11452
  .zx-pagination__ellipsis {
10710
11453
  display: inline-flex;
@@ -10989,6 +11732,7 @@ button.zx-stepper__control:disabled {
10989
11732
  /* src/components/field/field.css */
10990
11733
  .zx-field {
10991
11734
  display: grid;
11735
+ align-content: start;
10992
11736
  gap: var(--zx-space-1);
10993
11737
  min-inline-size: 0;
10994
11738
  }
@@ -10997,14 +11741,17 @@ button.zx-stepper__control:disabled {
10997
11741
  column-gap: var(--zx-space-4);
10998
11742
  align-items: start;
10999
11743
  }
11744
+ .zx-field[data-layout=inline] .zx-field__label {
11745
+ padding-block-start: max(0px, (var(--zx-control-height) - 1lh) / 2);
11746
+ }
11000
11747
  .zx-field[data-field-type=hidden] {
11001
11748
  display: none;
11002
11749
  }
11003
11750
  .zx-field__label {
11004
11751
  min-inline-size: 0;
11005
- color: var(--zx-color-text);
11752
+ color: var(--zx-color-text-muted);
11006
11753
  font-size: var(--zx-text-sm);
11007
- font-weight: 600;
11754
+ font-weight: var(--zx-weight-medium);
11008
11755
  }
11009
11756
  .zx-field__required,
11010
11757
  .zx-field[data-state=danger] .zx-field__label {
@@ -11071,16 +11818,19 @@ button.zx-stepper__control:disabled {
11071
11818
  .zx-field[data-state=danger] .zx-field__option-list {
11072
11819
  border-color: var(--zx-color-danger);
11073
11820
  }
11074
- .zx-field__static,
11821
+ .zx-field__static {
11822
+ min-block-size: var(--zx-control-height);
11823
+ padding-block: max(0px, (var(--zx-control-height) - 1lh) / 2);
11824
+ font-size: var(--zx-control-font-size);
11825
+ }
11826
+ [data-zx-fields=quiet] .zx-field__static {
11827
+ padding-inline: calc(var(--zx-control-pad-x) + 1px);
11828
+ }
11075
11829
  .zx-field__error-control {
11076
11830
  min-block-size: var(--zx-control-height);
11077
11831
  padding: var(--zx-space-2) var(--zx-control-pad-x);
11078
- border: 1px solid var(--zx-color-border);
11832
+ border: 1px solid var(--zx-color-danger);
11079
11833
  border-radius: var(--zx-control-radius);
11080
- background: var(--zx-color-bg-surface);
11081
- }
11082
- .zx-field__error-control {
11083
- border-color: var(--zx-color-danger);
11084
11834
  background: var(--zx-color-danger-bg);
11085
11835
  color: var(--zx-color-danger);
11086
11836
  }
@@ -11106,9 +11856,9 @@ button.zx-stepper__control:disabled {
11106
11856
  }
11107
11857
  .zx-fieldset__legend {
11108
11858
  padding-inline: var(--zx-space-2);
11109
- color: var(--zx-color-text);
11110
- font-size: var(--zx-text-lg);
11111
- font-weight: 600;
11859
+ color: var(--zx-color-text-muted);
11860
+ font-size: var(--zx-text-sm);
11861
+ font-weight: var(--zx-weight-medium);
11112
11862
  }
11113
11863
  .zx-fieldset__grid {
11114
11864
  display: grid;
@@ -11152,12 +11902,13 @@ button.zx-stepper__control:disabled {
11152
11902
  min-inline-size: 6rem;
11153
11903
  }
11154
11904
  .zx-form__actions .zx-btn[type=submit] {
11155
- border-color: var(--zx-color-accent);
11156
- background: var(--zx-color-accent);
11157
- color: var(--zx-color-on-accent);
11905
+ border-color: var(--zx-color-accent-solid);
11906
+ background: var(--zx-color-accent-solid);
11907
+ color: var(--zx-color-on-accent-solid);
11158
11908
  }
11159
11909
  .zx-form__actions .zx-btn[type=submit]:hover {
11160
- background: var(--zx-color-accent-hover);
11910
+ border-color: var(--zx-color-accent-solid-hover);
11911
+ background: var(--zx-color-accent-solid-hover);
11161
11912
  }
11162
11913
 
11163
11914
  /* src/components/value-list/value-list.css */
@@ -11189,8 +11940,8 @@ button.zx-stepper__control:disabled {
11189
11940
  max-inline-size: 100%;
11190
11941
  padding-inline: var(--zx-space-2);
11191
11942
  border: 1px solid var(--zx-color-border);
11192
- border-radius: var(--zx-radius-full);
11193
- background: var(--zx-color-bg-selected);
11943
+ border-radius: var(--zx-radius-md);
11944
+ background: var(--zx-color-bg-muted);
11194
11945
  color: var(--zx-color-text);
11195
11946
  cursor: grab;
11196
11947
  }
@@ -11207,7 +11958,7 @@ button.zx-stepper__control:disabled {
11207
11958
  place-items: center;
11208
11959
  min-inline-size: 1.25rem;
11209
11960
  min-block-size: 1.25rem;
11210
- border-radius: var(--zx-radius-full);
11961
+ border-radius: var(--zx-radius-sm);
11211
11962
  color: var(--zx-color-text-muted);
11212
11963
  cursor: pointer;
11213
11964
  }
@@ -11388,7 +12139,7 @@ button.zx-stepper__control:disabled {
11388
12139
  }
11389
12140
  .zx-field-upload__prompt {
11390
12141
  color: var(--zx-color-text);
11391
- font-weight: 600;
12142
+ font-weight: var(--zx-weight-medium);
11392
12143
  }
11393
12144
  .zx-field-upload__hint,
11394
12145
  .zx-field-upload__status,