@threadlabs/looma 0.10.0 → 0.10.2

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 (247) hide show
  1. package/components/ui-editor-toolbar/ui-editor-toolbar.html +70 -20
  2. package/components/ui-editor-toolbar/ui-editor-toolbar.js +24 -0
  3. package/dist/index.js +20 -19
  4. package/package.json +2 -2
  5. package/styles/ui-affordance-scope.css +1 -1
  6. package/styles/ui-avatar-group.css +1 -1
  7. package/styles/ui-avatar.css +1 -1
  8. package/styles/ui-badge.css +1 -1
  9. package/styles/ui-button.css +1 -1
  10. package/styles/ui-callout.css +1 -1
  11. package/styles/ui-checkbox.css +1 -1
  12. package/styles/ui-cluster.css +1 -1
  13. package/styles/ui-combobox.css +1 -1
  14. package/styles/ui-container.css +1 -1
  15. package/styles/ui-context-menu.css +1 -1
  16. package/styles/ui-dialog.css +1 -1
  17. package/styles/ui-disclosure.css +1 -1
  18. package/styles/ui-editable.css +1 -1
  19. package/styles/ui-editor-insert-table-grid.css +1 -1
  20. package/styles/ui-editor-mention-menu.css +1 -1
  21. package/styles/ui-editor-slash-menu.css +1 -1
  22. package/styles/ui-editor-table-context-menu.css +1 -1
  23. package/styles/ui-editor-table-overlay.css +1 -1
  24. package/styles/ui-editor-table-toolbar.css +1 -1
  25. package/styles/ui-editor-toolbar.css +73 -19
  26. package/styles/ui-floating-action-button.css +1 -1
  27. package/styles/ui-form-field.css +1 -1
  28. package/styles/ui-grid.css +1 -1
  29. package/styles/ui-icon-button.css +1 -1
  30. package/styles/ui-icon.css +1 -1
  31. package/styles/ui-input.css +1 -1
  32. package/styles/ui-menu-item.css +1 -1
  33. package/styles/ui-menu.css +1 -1
  34. package/styles/ui-popover.css +1 -1
  35. package/styles/ui-radio-group.css +1 -1
  36. package/styles/ui-radio.css +1 -1
  37. package/styles/ui-reel.css +1 -1
  38. package/styles/ui-search-result-row.css +1 -1
  39. package/styles/ui-search-shell.css +1 -1
  40. package/styles/ui-select.css +1 -1
  41. package/styles/ui-separator.css +1 -1
  42. package/styles/ui-sidebar.css +1 -1
  43. package/styles/ui-stack.css +1 -1
  44. package/styles/ui-switch.css +1 -1
  45. package/styles/ui-switcher.css +1 -1
  46. package/styles/ui-tabs.css +1 -1
  47. package/styles/ui-textarea.css +1 -1
  48. package/styles/ui-toast-region.css +1 -1
  49. package/styles/ui-tooltip.css +1 -1
  50. package/styles/ui-top-bar.css +1 -1
  51. package/styles/ui-tree-item.css +1 -1
  52. package/styles/ui-tree.css +1 -1
  53. package/vanilla/UiAffordanceScope.d.ts +1 -1
  54. package/vanilla/UiAffordanceScope.js +1 -1
  55. package/vanilla/UiAvatar.d.ts +1 -1
  56. package/vanilla/UiAvatar.js +1 -1
  57. package/vanilla/UiAvatarGroup.d.ts +1 -1
  58. package/vanilla/UiAvatarGroup.js +1 -1
  59. package/vanilla/UiBadge.d.ts +1 -1
  60. package/vanilla/UiBadge.js +1 -1
  61. package/vanilla/UiButton.d.ts +1 -1
  62. package/vanilla/UiButton.js +1 -1
  63. package/vanilla/UiCallout.d.ts +1 -1
  64. package/vanilla/UiCallout.js +1 -1
  65. package/vanilla/UiCheckbox.d.ts +1 -1
  66. package/vanilla/UiCheckbox.js +1 -1
  67. package/vanilla/UiCluster.d.ts +1 -1
  68. package/vanilla/UiCluster.js +1 -1
  69. package/vanilla/UiCombobox.d.ts +1 -1
  70. package/vanilla/UiCombobox.js +1 -1
  71. package/vanilla/UiContainer.d.ts +1 -1
  72. package/vanilla/UiContainer.js +1 -1
  73. package/vanilla/UiContextMenu.d.ts +1 -1
  74. package/vanilla/UiContextMenu.js +1 -1
  75. package/vanilla/UiDialog.d.ts +1 -1
  76. package/vanilla/UiDialog.js +1 -1
  77. package/vanilla/UiDisclosure.d.ts +1 -1
  78. package/vanilla/UiDisclosure.js +1 -1
  79. package/vanilla/UiEditable.d.ts +1 -1
  80. package/vanilla/UiEditable.js +1 -1
  81. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  82. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  83. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  84. package/vanilla/UiEditorMentionMenu.js +1 -1
  85. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  86. package/vanilla/UiEditorSlashMenu.js +1 -1
  87. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  88. package/vanilla/UiEditorTableContextMenu.js +1 -1
  89. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  90. package/vanilla/UiEditorTableOverlay.js +1 -1
  91. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  92. package/vanilla/UiEditorTableToolbar.js +1 -1
  93. package/vanilla/UiEditorToolbar.d.ts +1 -1
  94. package/vanilla/UiEditorToolbar.js +12 -7
  95. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  96. package/vanilla/UiFloatingActionButton.js +1 -1
  97. package/vanilla/UiFormField.d.ts +1 -1
  98. package/vanilla/UiFormField.js +1 -1
  99. package/vanilla/UiGrid.d.ts +1 -1
  100. package/vanilla/UiGrid.js +1 -1
  101. package/vanilla/UiIcon.d.ts +1 -1
  102. package/vanilla/UiIcon.js +1 -1
  103. package/vanilla/UiIconButton.d.ts +1 -1
  104. package/vanilla/UiIconButton.js +1 -1
  105. package/vanilla/UiInput.d.ts +1 -1
  106. package/vanilla/UiInput.js +1 -1
  107. package/vanilla/UiMenu.d.ts +1 -1
  108. package/vanilla/UiMenu.js +1 -1
  109. package/vanilla/UiMenuItem.d.ts +1 -1
  110. package/vanilla/UiMenuItem.js +1 -1
  111. package/vanilla/UiPopover.d.ts +1 -1
  112. package/vanilla/UiPopover.js +1 -1
  113. package/vanilla/UiRadio.d.ts +1 -1
  114. package/vanilla/UiRadio.js +1 -1
  115. package/vanilla/UiRadioGroup.d.ts +1 -1
  116. package/vanilla/UiRadioGroup.js +1 -1
  117. package/vanilla/UiReel.d.ts +1 -1
  118. package/vanilla/UiReel.js +1 -1
  119. package/vanilla/UiSearchResultRow.d.ts +1 -1
  120. package/vanilla/UiSearchResultRow.js +1 -1
  121. package/vanilla/UiSearchShell.d.ts +1 -1
  122. package/vanilla/UiSearchShell.js +1 -1
  123. package/vanilla/UiSelect.d.ts +1 -1
  124. package/vanilla/UiSelect.js +1 -1
  125. package/vanilla/UiSeparator.d.ts +1 -1
  126. package/vanilla/UiSeparator.js +1 -1
  127. package/vanilla/UiSidebar.d.ts +1 -1
  128. package/vanilla/UiSidebar.js +1 -1
  129. package/vanilla/UiStack.d.ts +1 -1
  130. package/vanilla/UiStack.js +1 -1
  131. package/vanilla/UiSwitch.d.ts +1 -1
  132. package/vanilla/UiSwitch.js +1 -1
  133. package/vanilla/UiSwitcher.d.ts +1 -1
  134. package/vanilla/UiSwitcher.js +1 -1
  135. package/vanilla/UiTabs.d.ts +1 -1
  136. package/vanilla/UiTabs.js +1 -1
  137. package/vanilla/UiTextarea.d.ts +1 -1
  138. package/vanilla/UiTextarea.js +1 -1
  139. package/vanilla/UiToastRegion.d.ts +1 -1
  140. package/vanilla/UiToastRegion.js +1 -1
  141. package/vanilla/UiTooltip.d.ts +1 -1
  142. package/vanilla/UiTooltip.js +1 -1
  143. package/vanilla/UiTopBar.d.ts +1 -1
  144. package/vanilla/UiTopBar.js +1 -1
  145. package/vanilla/UiTree.d.ts +1 -1
  146. package/vanilla/UiTree.js +1 -1
  147. package/vanilla/UiTreeItem.d.ts +1 -1
  148. package/vanilla/UiTreeItem.js +1 -1
  149. package/vue/UiAffordanceScope.vue +1 -1
  150. package/vue/UiAvatar.vue +1 -1
  151. package/vue/UiAvatarGroup.vue +1 -1
  152. package/vue/UiBadge.vue +1 -1
  153. package/vue/UiButton.vue +1 -1
  154. package/vue/UiCallout.vue +1 -1
  155. package/vue/UiCheckbox.vue +1 -1
  156. package/vue/UiCluster.vue +1 -1
  157. package/vue/UiCombobox.vue +1 -1
  158. package/vue/UiContainer.vue +1 -1
  159. package/vue/UiContextMenu.vue +1 -1
  160. package/vue/UiDialog.vue +1 -1
  161. package/vue/UiDisclosure.vue +1 -1
  162. package/vue/UiEditable.vue +1 -1
  163. package/vue/UiEditorInsertTableGrid.vue +1 -1
  164. package/vue/UiEditorMentionMenu.vue +1 -1
  165. package/vue/UiEditorSlashMenu.vue +1 -1
  166. package/vue/UiEditorTableContextMenu.vue +1 -1
  167. package/vue/UiEditorTableOverlay.vue +1 -1
  168. package/vue/UiEditorTableToolbar.vue +1 -1
  169. package/vue/UiEditorToolbar.vue +91 -21
  170. package/vue/UiFloatingActionButton.vue +1 -1
  171. package/vue/UiFormField.vue +1 -1
  172. package/vue/UiGrid.vue +1 -1
  173. package/vue/UiIcon.vue +1 -1
  174. package/vue/UiIconButton.vue +1 -1
  175. package/vue/UiInput.vue +1 -1
  176. package/vue/UiMenu.vue +1 -1
  177. package/vue/UiMenuItem.vue +1 -1
  178. package/vue/UiPopover.vue +1 -1
  179. package/vue/UiRadio.vue +1 -1
  180. package/vue/UiRadioGroup.vue +1 -1
  181. package/vue/UiReel.vue +1 -1
  182. package/vue/UiSearchResultRow.vue +1 -1
  183. package/vue/UiSearchShell.vue +1 -1
  184. package/vue/UiSelect.vue +1 -1
  185. package/vue/UiSeparator.vue +1 -1
  186. package/vue/UiSidebar.vue +1 -1
  187. package/vue/UiStack.vue +1 -1
  188. package/vue/UiSwitch.vue +1 -1
  189. package/vue/UiSwitcher.vue +1 -1
  190. package/vue/UiTabs.vue +1 -1
  191. package/vue/UiTextarea.vue +1 -1
  192. package/vue/UiToastRegion.vue +1 -1
  193. package/vue/UiTooltip.vue +1 -1
  194. package/vue/UiTopBar.vue +1 -1
  195. package/vue/UiTree.vue +1 -1
  196. package/vue/UiTreeItem.vue +1 -1
  197. package/vue/chunks/UiAffordanceScope.js +1 -1
  198. package/vue/chunks/UiAvatar.js +1 -1
  199. package/vue/chunks/UiAvatarGroup.js +1 -1
  200. package/vue/chunks/UiBadge.js +1 -1
  201. package/vue/chunks/UiButton.js +1 -1
  202. package/vue/chunks/UiCallout.js +1 -1
  203. package/vue/chunks/UiCheckbox.js +1 -1
  204. package/vue/chunks/UiCluster.js +1 -1
  205. package/vue/chunks/UiCombobox.js +1 -1
  206. package/vue/chunks/UiContainer.js +1 -1
  207. package/vue/chunks/UiContextMenu.js +1 -1
  208. package/vue/chunks/UiDialog.js +1 -1
  209. package/vue/chunks/UiDisclosure.js +1 -1
  210. package/vue/chunks/UiEditable.js +1 -1
  211. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  212. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  213. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  214. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  215. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  216. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  217. package/vue/chunks/UiEditorToolbar.js +33 -4
  218. package/vue/chunks/UiFloatingActionButton.js +1 -1
  219. package/vue/chunks/UiFormField.js +1 -1
  220. package/vue/chunks/UiGrid.js +1 -1
  221. package/vue/chunks/UiIcon.js +1 -1
  222. package/vue/chunks/UiIconButton.js +1 -1
  223. package/vue/chunks/UiInput.js +1 -1
  224. package/vue/chunks/UiMenu.js +1 -1
  225. package/vue/chunks/UiMenuItem.js +1 -1
  226. package/vue/chunks/UiPopover.js +1 -1
  227. package/vue/chunks/UiRadio.js +1 -1
  228. package/vue/chunks/UiRadioGroup.js +1 -1
  229. package/vue/chunks/UiReel.js +1 -1
  230. package/vue/chunks/UiSearchResultRow.js +1 -1
  231. package/vue/chunks/UiSearchShell.js +1 -1
  232. package/vue/chunks/UiSelect.js +1 -1
  233. package/vue/chunks/UiSeparator.js +1 -1
  234. package/vue/chunks/UiSidebar.js +1 -1
  235. package/vue/chunks/UiStack.js +1 -1
  236. package/vue/chunks/UiSwitch.js +1 -1
  237. package/vue/chunks/UiSwitcher.js +1 -1
  238. package/vue/chunks/UiTabs.js +1 -1
  239. package/vue/chunks/UiTextarea.js +1 -1
  240. package/vue/chunks/UiToastRegion.js +1 -1
  241. package/vue/chunks/UiTooltip.js +1 -1
  242. package/vue/chunks/UiTopBar.js +1 -1
  243. package/vue/chunks/UiTree.js +1 -1
  244. package/vue/chunks/UiTreeItem.js +1 -1
  245. package/vue/chunks/host.js +8 -2
  246. package/vue/components.css +769 -725
  247. package/vue/host.ts +11 -2
@@ -1,18 +1,18 @@
1
1
 
2
- [data-component~="ui-affordance-scope"][data-v-c1d56d8d] {
2
+ [data-component~="ui-affordance-scope"][data-v-c9fe5e81] {
3
3
  display: contents;
4
4
  --ui-affordance-scope-engaged: 0;
5
5
  }
6
- [data-component~="ui-affordance-scope"][data-ui-affordance-scope-state~="engaged"][data-v-c1d56d8d] {
6
+ [data-component~="ui-affordance-scope"][data-ui-affordance-scope-state~="engaged"][data-v-c9fe5e81] {
7
7
  --ui-affordance-scope-engaged: 1;
8
8
  }
9
9
 
10
10
  /* A component that sets its display still honours the hidden attribute on its root. */
11
- [data-component~="ui-affordance-scope"][hidden][data-v-c1d56d8d] {
11
+ [data-component~="ui-affordance-scope"][hidden][data-v-c9fe5e81] {
12
12
  display: none;
13
13
  }
14
14
 
15
- [data-component~="ui-avatar"][data-v-eb16b513] {
15
+ [data-component~="ui-avatar"][data-v-f6916639] {
16
16
  display: inline-grid;
17
17
  place-items: center;
18
18
  overflow: hidden;
@@ -27,13 +27,13 @@
27
27
  font-weight: 600;
28
28
  text-transform: uppercase;
29
29
  }
30
- .image[data-v-eb16b513],img[data-v-eb16b513-s] {
30
+ .image[data-v-f6916639],img[data-v-f6916639-s] {
31
31
  grid-area: 1 / 1;
32
32
  inline-size: 100%;
33
33
  block-size: 100%;
34
34
  object-fit: cover;
35
35
  }
36
- .fallback[data-v-eb16b513] {
36
+ .fallback[data-v-f6916639] {
37
37
  grid-area: 1 / 1;
38
38
  display: inline-flex;
39
39
  align-items: center;
@@ -46,7 +46,7 @@
46
46
  /* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
47
47
  * Trimming applies to block containers, so the box is a block with centred content. */
48
48
  @supports (text-box-trim: trim-both) {
49
- .fallback[data-v-eb16b513] {
49
+ .fallback[data-v-f6916639] {
50
50
  display: block;
51
51
  text-align: center;
52
52
  align-content: center;
@@ -54,16 +54,16 @@
54
54
  text-box-edge: cap alphabetic;
55
55
  }
56
56
  }
57
- [hidden][data-v-eb16b513] {
57
+ [hidden][data-v-f6916639] {
58
58
  display: none;
59
59
  }
60
60
 
61
61
  /* A component that sets its display still honours the hidden attribute on its root. */
62
- [data-component~="ui-avatar"][hidden][data-v-eb16b513] {
62
+ [data-component~="ui-avatar"][hidden][data-v-f6916639] {
63
63
  display: none;
64
64
  }
65
65
 
66
- [data-component~="ui-avatar-group"][data-v-9e8e1291] {
66
+ [data-component~="ui-avatar-group"][data-v-9d727004] {
67
67
  /* Avatars separate with a tight, crisp edge, matching Looma's 1px borders rather than the
68
68
  * diffuse elevation overlays use. */
69
69
  --_overlap-shadow: -2px 0 2px -1px rgba(0, 0, 0, 0.22);
@@ -77,15 +77,15 @@
77
77
 
78
78
  /* Overlap and the separating shadow are applied by the controller: slotted avatars are nested
79
79
  * component roots outside this style scope. */
80
- [data-v-9e8e1291-s] {
80
+ [data-v-9d727004-s] {
81
81
  margin-inline-start: -0.625rem;
82
82
  flex-shrink: 0;
83
83
  border-radius: 999px;
84
84
  }
85
- [data-v-9e8e1291-s]:first-child {
85
+ [data-v-9d727004-s]:first-child {
86
86
  margin-inline-start: 0;
87
87
  }
88
- .overflow[data-v-9e8e1291] {
88
+ .overflow[data-v-9d727004] {
89
89
  margin-inline-start: -0.625rem;
90
90
  display: inline-flex;
91
91
  align-items: center;
@@ -104,16 +104,16 @@
104
104
  font-weight: 600;
105
105
  flex-shrink: 0;
106
106
  }
107
- .overflow[hidden][data-v-9e8e1291] {
107
+ .overflow[hidden][data-v-9d727004] {
108
108
  display: none;
109
109
  }
110
110
 
111
111
  /* A component that sets its display still honours the hidden attribute on its root. */
112
- [data-component~="ui-avatar-group"][hidden][data-v-9e8e1291] {
112
+ [data-component~="ui-avatar-group"][hidden][data-v-9d727004] {
113
113
  display: none;
114
114
  }
115
115
 
116
- [data-component~="ui-badge"][data-v-c0ffc4d8] {
116
+ [data-component~="ui-badge"][data-v-0dbc98f0] {
117
117
  --_badge-surface: var(--ui-surface-subtle);
118
118
  --_badge-text: var(--ui-text-secondary);
119
119
  --_badge-border: color-mix(in srgb, var(--ui-text-secondary) 30%, transparent);
@@ -139,7 +139,7 @@
139
139
  /* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
140
140
  * Trimming applies to block containers, so the box is a block with centred content. */
141
141
  @supports (text-box-trim: trim-both) {
142
- [data-component~="ui-badge"][data-v-c0ffc4d8] {
142
+ [data-component~="ui-badge"][data-v-0dbc98f0] {
143
143
  display: block;
144
144
  min-block-size: var(--ui-badge-min-block-size, 1.5rem);
145
145
  text-align: center;
@@ -148,52 +148,52 @@
148
148
  text-box-edge: cap alphabetic;
149
149
  }
150
150
  }
151
- [data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-c0ffc4d8] {
151
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-0dbc98f0] {
152
152
  --_badge-surface: var(--ui-accent-strong-surface, var(--ui-accent-solid));
153
153
  --_badge-border: var(--ui-accent-strong-surface, var(--ui-accent-solid));
154
154
  --_badge-text: var(--ui-accent-on-strong, var(--ui-text-on-accent));
155
155
  }
156
- [data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-c0ffc4d8] {
156
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-0dbc98f0] {
157
157
  --_badge-surface: var(--ui-danger-strong-surface, var(--ui-danger-solid));
158
158
  --_badge-border: var(--ui-danger-strong-surface, var(--ui-danger-solid));
159
159
  --_badge-text: var(--ui-danger-on-strong, var(--ui-text-on-accent));
160
160
  }
161
- [data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-c0ffc4d8] {
161
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-0dbc98f0] {
162
162
  --_badge-surface: var(--ui-success-strong-surface, var(--ui-success-solid));
163
163
  --_badge-border: var(--ui-success-strong-surface, var(--ui-success-solid));
164
164
  --_badge-text: var(--ui-success-on-strong, var(--ui-text-on-accent));
165
165
  }
166
- [data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-c0ffc4d8] {
166
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-0dbc98f0] {
167
167
  --_badge-surface: var(--ui-warning-strong-surface, var(--ui-warning-solid));
168
168
  --_badge-border: var(--ui-warning-strong-surface, var(--ui-warning-solid));
169
169
  --_badge-text: var(--ui-warning-on-strong, var(--ui-text-on-accent));
170
170
  }
171
- [data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-c0ffc4d8] {
171
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-0dbc98f0] {
172
172
  --_badge-surface: var(--ui-info-strong-surface, var(--ui-info-solid));
173
173
  --_badge-border: var(--ui-info-strong-surface, var(--ui-info-solid));
174
174
  --_badge-text: var(--ui-info-on-strong, var(--ui-text-on-accent));
175
175
  }
176
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-c0ffc4d8] {
176
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-0dbc98f0] {
177
177
  --_badge-surface: var(--ui-accent-soft);
178
178
  --_badge-border: var(--ui-accent-soft);
179
179
  --_badge-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
180
180
  }
181
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-c0ffc4d8] {
181
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-0dbc98f0] {
182
182
  --_badge-surface: var(--ui-danger-soft);
183
183
  --_badge-border: var(--ui-danger-soft);
184
184
  --_badge-text: var(--ui-danger-subtle-text, var(--ui-danger-solid));
185
185
  }
186
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-c0ffc4d8] {
186
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-0dbc98f0] {
187
187
  --_badge-surface: var(--ui-success-soft);
188
188
  --_badge-border: var(--ui-success-soft);
189
189
  --_badge-text: var(--ui-success-subtle-text, var(--ui-success-solid));
190
190
  }
191
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-c0ffc4d8] {
191
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-0dbc98f0] {
192
192
  --_badge-surface: var(--ui-warning-soft);
193
193
  --_badge-border: var(--ui-warning-soft);
194
194
  --_badge-text: var(--ui-warning-subtle-text, var(--ui-warning-solid));
195
195
  }
196
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=info"][data-v-c0ffc4d8] {
196
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=info"][data-v-0dbc98f0] {
197
197
  --_badge-surface: var(--ui-info-soft);
198
198
  --_badge-border: var(--ui-info-soft);
199
199
  --_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
@@ -202,7 +202,7 @@
202
202
  /* A tag is flat at the start and points at the end. The point is cut from the box, so it has no
203
203
  outline to follow: the edge is the fill. The end padding grows by the point's depth so the
204
204
  label never runs into it. */
205
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-c0ffc4d8] {
205
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-0dbc98f0] {
206
206
  --_badge-point: var(--ui-badge-point, var(--ui-space-2));
207
207
 
208
208
  border-color: transparent;
@@ -216,7 +216,7 @@
216
216
  0 100%
217
217
  );
218
218
  }
219
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-c0ffc4d8]:dir(rtl) {
219
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-0dbc98f0]:dir(rtl) {
220
220
  padding-inline-end: var(--ui-badge-padding-inline, var(--ui-space-2));
221
221
  padding-inline-start: calc(
222
222
  var(--ui-badge-padding-inline, var(--ui-space-2)) + var(--_badge-point)
@@ -225,11 +225,11 @@
225
225
  }
226
226
 
227
227
  /* A component that sets its display still honours the hidden attribute on its root. */
228
- [data-component~="ui-badge"][hidden][data-v-c0ffc4d8] {
228
+ [data-component~="ui-badge"][hidden][data-v-0dbc98f0] {
229
229
  display: none;
230
230
  }
231
231
 
232
- [data-component~="ui-button"][data-v-1cd0b390] {
232
+ [data-component~="ui-button"][data-v-0c121308] {
233
233
  --_hue: var(--ui-accent);
234
234
  --_hue-hover: var(--ui-accent-hover);
235
235
  --_hue-active: var(--ui-accent-active);
@@ -248,15 +248,15 @@
248
248
  vertical-align: middle;
249
249
  color: var(--_tone-text);
250
250
  }
251
- [data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-1cd0b390] {
251
+ [data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-0c121308] {
252
252
  justify-content: flex-start;
253
253
  text-align: start;
254
254
  }
255
- [data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-1cd0b390] {
255
+ [data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-0c121308] {
256
256
  display: flex;
257
257
  inline-size: 100%;
258
258
  }
259
- [data-component~="ui-button"][data-v-1cd0b390] {
259
+ [data-component~="ui-button"][data-v-0c121308] {
260
260
  appearance: none;
261
261
  min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
262
262
  border-style: solid;
@@ -281,17 +281,17 @@
281
281
  margin: 0;
282
282
  }
283
283
  @supports (text-box-trim: trim-both) {
284
- [data-component~="ui-button"][data-v-1cd0b390] {
284
+ [data-component~="ui-button"][data-v-0c121308] {
285
285
  text-box-trim: trim-both;
286
286
  text-box-edge: cap alphabetic;
287
287
  }
288
288
  }
289
- [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-1cd0b390] {
289
+ [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-0c121308] {
290
290
  min-block-size: var(--ui-control-size-sm);
291
291
  padding: var(--ui-space-1) var(--ui-space-2);
292
292
  font-size: var(--ui-font-size-sm);
293
293
  }
294
- [data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-1cd0b390] {
294
+ [data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-0c121308] {
295
295
  min-block-size: var(--ui-control-size-lg);
296
296
  padding: var(--ui-space-3) var(--ui-space-4);
297
297
  font-size: var(--ui-font-size-md);
@@ -299,29 +299,29 @@
299
299
 
300
300
  /* A link is never :enabled, so interactive states test "not unavailable" instead: for a button that
301
301
  is exactly :enabled, at the same specificity, and it also matches a link that can be followed. */
302
- [data-component~="ui-button"][data-v-1cd0b390]:hover:not(:disabled, [aria-disabled="true"]) {
302
+ [data-component~="ui-button"][data-v-0c121308]:hover:not(:disabled, [aria-disabled="true"]) {
303
303
  border-color: var(--ui-button-hover-border, var(--_tone-hover));
304
304
  background-color: var(--ui-button-hover-surface, oklch(from var(--_tone) l c h / 12%));
305
305
  }
306
306
 
307
307
  /* Pressed reads as pressed in: the highlight goes, and the shadow moves inside. */
308
- [data-component~="ui-button"][data-v-1cd0b390]:active:not(:disabled, [aria-disabled="true"]) {
308
+ [data-component~="ui-button"][data-v-0c121308]:active:not(:disabled, [aria-disabled="true"]) {
309
309
  background-color: var(--ui-button-active-surface, oklch(from var(--_tone) l c h / 18%));
310
310
  background-image: none;
311
311
  box-shadow: var(--ui-pressed);
312
312
  }
313
- [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-1cd0b390],
314
- [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-1cd0b390] {
313
+ [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-0c121308],
314
+ [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-0c121308] {
315
315
  border-color: var(--_tone);
316
316
  background-color: var(--_tone);
317
317
  color: var(--_on-tone);
318
318
  box-shadow: var(--ui-button-solid-shadow, var(--ui-raised));
319
319
  }
320
- :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-1cd0b390], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-1cd0b390]):hover:not(:disabled, [aria-disabled="true"]) {
320
+ :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-0c121308], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-0c121308]):hover:not(:disabled, [aria-disabled="true"]) {
321
321
  background-color: var(--_tone-hover);
322
322
  border-color: var(--_tone-hover);
323
323
  }
324
- :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-1cd0b390], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-1cd0b390]):active:not(:disabled, [aria-disabled="true"]) {
324
+ :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-0c121308], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-0c121308]):active:not(:disabled, [aria-disabled="true"]) {
325
325
  background-color: var(--_tone-active);
326
326
  border-color: var(--_tone-active);
327
327
  background-image: none;
@@ -330,43 +330,43 @@
330
330
 
331
331
  /* Tone is the colour, variant is the volume. Every pairing works: a danger outline is a
332
332
  destructive secondary action, not a special case. */
333
- [data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-1cd0b390] {
333
+ [data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-0c121308] {
334
334
  --_hue: var(--ui-text);
335
335
  --_hue-hover: var(--ui-text);
336
336
  --_hue-active: var(--ui-text);
337
337
  --_hue-text: var(--ui-text);
338
338
  --_on-hue: var(--ui-surface);
339
339
  }
340
- [data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-1cd0b390],
341
- [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-1cd0b390] {
340
+ [data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-0c121308],
341
+ [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-0c121308] {
342
342
  --_hue: var(--ui-danger);
343
343
  --_hue-hover: var(--ui-danger-hover);
344
344
  --_hue-active: var(--ui-danger-hover);
345
345
  --_hue-text: var(--ui-danger-hover);
346
346
  --_on-hue: var(--ui-on-danger);
347
347
  }
348
- [data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-1cd0b390] {
348
+ [data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-0c121308] {
349
349
  --_hue: var(--ui-success);
350
350
  --_hue-hover: color-mix(in srgb, var(--ui-success) 85%, #000);
351
351
  --_hue-active: color-mix(in srgb, var(--ui-success) 75%, #000);
352
352
  --_hue-text: color-mix(in srgb, var(--ui-success) 85%, #000);
353
353
  --_on-hue: var(--ui-surface);
354
354
  }
355
- [data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-1cd0b390] {
355
+ [data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-0c121308] {
356
356
  --_hue: var(--ui-warning);
357
357
  --_hue-hover: color-mix(in srgb, var(--ui-warning) 85%, #000);
358
358
  --_hue-active: color-mix(in srgb, var(--ui-warning) 75%, #000);
359
359
  --_hue-text: color-mix(in srgb, var(--ui-warning) 85%, #000);
360
360
  --_on-hue: var(--ui-surface);
361
361
  }
362
- [data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-1cd0b390] {
362
+ [data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-0c121308] {
363
363
  --_hue: var(--ui-info);
364
364
  --_hue-hover: color-mix(in srgb, var(--ui-info) 85%, #000);
365
365
  --_hue-active: color-mix(in srgb, var(--ui-info) 75%, #000);
366
366
  --_hue-text: color-mix(in srgb, var(--ui-info) 85%, #000);
367
367
  --_on-hue: var(--ui-surface);
368
368
  }
369
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-1cd0b390] {
369
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-0c121308] {
370
370
  border-color: transparent;
371
371
  background: transparent;
372
372
  box-shadow: none;
@@ -374,24 +374,24 @@
374
374
  }
375
375
 
376
376
  /* Tints derive from the text colour, not a surface token, so hover and press show on any background. */
377
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-1cd0b390]:hover:not(:disabled, [aria-disabled="true"]) {
377
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-0c121308]:hover:not(:disabled, [aria-disabled="true"]) {
378
378
  background-color: var(--ui-button-ghost-hover-surface, oklch(from var(--_tone) l c h / 10%));
379
379
  border-color: transparent;
380
380
  }
381
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-1cd0b390]:active:not(:disabled, [aria-disabled="true"]) {
381
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-0c121308]:active:not(:disabled, [aria-disabled="true"]) {
382
382
  background-color: var(--ui-button-ghost-active-surface, oklch(from var(--_tone) l c h / 16%));
383
383
  border-color: transparent;
384
384
  box-shadow: var(--ui-pressed);
385
385
  }
386
386
 
387
387
  /* A soft halo that transitions in with the other box-shadow changes, layered on the raised shadow. */
388
- [data-component~="ui-button"][data-v-1cd0b390]:focus-visible {
388
+ [data-component~="ui-button"][data-v-0c121308]:focus-visible {
389
389
  outline: none;
390
390
  box-shadow:
391
391
  var(--ui-button-shadow, var(--ui-raised)),
392
392
  var(--ui-focus-halo);
393
393
  }
394
- [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-1cd0b390]:focus-visible {
394
+ [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-0c121308]:focus-visible {
395
395
  box-shadow:
396
396
  var(--ui-button-solid-shadow, var(--ui-raised)),
397
397
  var(--ui-focus-halo);
@@ -401,7 +401,7 @@
401
401
  disabled outline is still an outline and a disabled ghost still has no edge. Intent goes — an
402
402
  unavailable action says "unavailable", not "unavailable, and destructive" — and so do the
403
403
  highlight and shadow, because nothing that cannot be pressed should look raised. */
404
- [data-component~="ui-button"][data-v-1cd0b390]:is(:disabled, [aria-disabled="true"]) {
404
+ [data-component~="ui-button"][data-v-0c121308]:is(:disabled, [aria-disabled="true"]) {
405
405
  /* Derived from the tone itself, not from a separate disabled palette: faded toward the
406
406
  page, which desaturates it at the same time. Toward the page rather than toward white,
407
407
  so a dark theme dims where a light one lightens — the same rule, both schemes. */
@@ -418,7 +418,7 @@
418
418
  }
419
419
 
420
420
  /* A filled button keeps its fill, faded further so its text stays legible on it. */
421
- :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-1cd0b390], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-1cd0b390]):is(:disabled, [aria-disabled="true"]) {
421
+ :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-0c121308], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-0c121308]):is(:disabled, [aria-disabled="true"]) {
422
422
  --_tone: color-mix(in oklab, var(--_hue) 34%, var(--ui-surface));
423
423
  }
424
424
 
@@ -426,19 +426,19 @@
426
426
  it takes a surface rather than reading as plain text. The surface is a wash of the faded tone,
427
427
  the way hover washes the live one, so it stays light in every tone. An opaque mix toward the
428
428
  hue came out a mid-grey slab for neutral, whose hue is the ink: louder than the enabled button. */
429
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-1cd0b390]:is(:disabled, [aria-disabled="true"]) {
429
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-0c121308]:is(:disabled, [aria-disabled="true"]) {
430
430
  background-color: oklch(from var(--_tone) l c h / 14%);
431
431
  border-color: transparent;
432
432
  }
433
433
  @media (pointer: coarse) {
434
- [data-component~="ui-button"][data-v-1cd0b390] {
434
+ [data-component~="ui-button"][data-v-0c121308] {
435
435
  min-block-size: var(--ui-control-min-block-size);
436
436
  }
437
437
  }
438
438
 
439
439
  /* Link: an inline text action. No box, padding, or minimum height (inline targets are exempt under
440
440
  WCAG 2.5.8); the inherited font; an underline that strengthens on hover; a visible focus ring. */
441
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-1cd0b390] {
441
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-0c121308] {
442
442
  display: inline;
443
443
  min-block-size: 0;
444
444
  padding: 0;
@@ -456,22 +456,22 @@
456
456
  color var(--ui-motion-fast) var(--ui-motion-ease),
457
457
  text-decoration-color var(--ui-motion-fast) var(--ui-motion-ease);
458
458
  }
459
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-1cd0b390]:hover:not(:disabled, [aria-disabled="true"]) {
459
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-0c121308]:hover:not(:disabled, [aria-disabled="true"]) {
460
460
  color: var(--ui-button-link-hover-text, var(--ui-text-primary));
461
461
  text-decoration-color: currentColor;
462
462
  background: none;
463
463
  transform: none;
464
464
  }
465
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-1cd0b390]:active:not(:disabled, [aria-disabled="true"]) {
465
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-0c121308]:active:not(:disabled, [aria-disabled="true"]) {
466
466
  background: none;
467
467
  transform: none;
468
468
  }
469
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-1cd0b390]:is(:disabled, [aria-disabled="true"]) {
469
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-0c121308]:is(:disabled, [aria-disabled="true"]) {
470
470
  background: none;
471
471
  border-color: transparent;
472
472
  color: var(--ui-button-disabled-text, var(--ui-disabled-text));
473
473
  }
474
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-1cd0b390]:focus-visible {
474
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-0c121308]:focus-visible {
475
475
  box-shadow: none;
476
476
  /* Fallback keeps the ring if the token is missing: an unresolved var() would void the outline. */
477
477
  outline: 2px solid var(--ui-focus-ring);
@@ -479,11 +479,11 @@
479
479
  }
480
480
 
481
481
  /* A component that sets its display still honours the hidden attribute on its root. */
482
- [data-component~="ui-button"][hidden][data-v-1cd0b390] {
482
+ [data-component~="ui-button"][hidden][data-v-0c121308] {
483
483
  display: none;
484
484
  }
485
485
 
486
- [data-component~="ui-callout"][data-v-c6e92976] {
486
+ [data-component~="ui-callout"][data-v-2fd6ab30] {
487
487
  --_callout-surface: var(--ui-info-soft);
488
488
  --_callout-border: var(--ui-info-solid);
489
489
  --_callout-icon: var(--ui-info-solid);
@@ -509,47 +509,47 @@
509
509
  }
510
510
 
511
511
  /* One line box tall, so the icon centres on the first line of text. */
512
- .icon[data-v-c6e92976] {
512
+ .icon[data-v-2fd6ab30] {
513
513
  display: grid;
514
514
  place-items: center;
515
515
  inline-size: var(--ui-callout-icon-column, 1.125rem);
516
516
  block-size: 1lh;
517
517
  color: var(--ui-callout-icon, var(--_callout-icon));
518
518
  }
519
- .icon svg[data-v-c6e92976] {
519
+ .icon svg[data-v-2fd6ab30] {
520
520
  inline-size: var(--ui-callout-icon-size, 1.125rem);
521
521
  block-size: var(--ui-callout-icon-size, 1.125rem);
522
522
  }
523
- .content[data-v-c6e92976] {
523
+ .content[data-v-2fd6ab30] {
524
524
  min-inline-size: 0;
525
525
  }
526
- [data-component~="ui-callout"][data-ui-callout-state~="tone=note"][data-v-c6e92976] {
526
+ [data-component~="ui-callout"][data-ui-callout-state~="tone=note"][data-v-2fd6ab30] {
527
527
  --_callout-surface: var(--ui-surface-muted);
528
528
  --_callout-border: var(--ui-border-strong);
529
529
  --_callout-icon: var(--ui-text-secondary);
530
530
  }
531
- [data-component~="ui-callout"][data-ui-callout-state~="tone=warning"][data-v-c6e92976] {
531
+ [data-component~="ui-callout"][data-ui-callout-state~="tone=warning"][data-v-2fd6ab30] {
532
532
  --_callout-surface: var(--ui-warning-soft);
533
533
  --_callout-border: var(--ui-warning-solid);
534
534
  --_callout-icon: var(--ui-warning-solid);
535
535
  }
536
- [data-component~="ui-callout"][data-ui-callout-state~="tone=success"][data-v-c6e92976] {
536
+ [data-component~="ui-callout"][data-ui-callout-state~="tone=success"][data-v-2fd6ab30] {
537
537
  --_callout-surface: var(--ui-success-soft);
538
538
  --_callout-border: var(--ui-success-solid);
539
539
  --_callout-icon: var(--ui-success-solid);
540
540
  }
541
- [data-component~="ui-callout"][data-ui-callout-state~="tone=danger"][data-v-c6e92976] {
541
+ [data-component~="ui-callout"][data-ui-callout-state~="tone=danger"][data-v-2fd6ab30] {
542
542
  --_callout-surface: var(--ui-danger-soft);
543
543
  --_callout-border: var(--ui-danger-solid);
544
544
  --_callout-icon: var(--ui-danger-solid);
545
545
  }
546
546
 
547
547
  /* A component that sets its display still honours the hidden attribute on its root. */
548
- [data-component~="ui-callout"][hidden][data-v-c6e92976] {
548
+ [data-component~="ui-callout"][hidden][data-v-2fd6ab30] {
549
549
  display: none;
550
550
  }
551
551
 
552
- [data-component~="ui-checkbox"][data-v-44d93832] {
552
+ [data-component~="ui-checkbox"][data-v-9c9d1eaa] {
553
553
  display: inline-flex;
554
554
  align-items: flex-start;
555
555
  gap: var(--ui-checkbox-gap, var(--ui-space-2));
@@ -557,11 +557,11 @@
557
557
  color: var(--ui-text-primary);
558
558
  cursor: pointer;
559
559
  }
560
- .label[data-v-44d93832] {
560
+ .label[data-v-9c9d1eaa] {
561
561
  min-inline-size: 0;
562
562
  line-height: var(--ui-line-height-md);
563
563
  }
564
- input[data-v-44d93832] {
564
+ input[data-v-9c9d1eaa] {
565
565
  appearance: none;
566
566
  -webkit-appearance: none;
567
567
  position: relative;
@@ -579,20 +579,20 @@ input[data-v-44d93832] {
579
579
  border-color var(--ui-motion-fast) var(--ui-motion-ease),
580
580
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
581
581
  }
582
- input[data-v-44d93832]::after {
582
+ input[data-v-9c9d1eaa]::after {
583
583
  content: "";
584
584
  position: absolute;
585
585
  opacity: 0;
586
586
  }
587
- input[data-v-44d93832]:checked,
588
- input[data-v-44d93832]:indeterminate {
587
+ input[data-v-9c9d1eaa]:checked,
588
+ input[data-v-9c9d1eaa]:indeterminate {
589
589
  border-color: var(--ui-accent-solid);
590
590
  background: var(--ui-accent-solid);
591
591
  box-shadow: inset 0 1px 2px color-mix(in srgb, #000 16%, transparent);
592
592
  }
593
593
 
594
594
  /* Centre the tick's box, then lift it: a rotated L's ink sits ~0.11rem below its box centre. */
595
- input[data-v-44d93832]:checked::after {
595
+ input[data-v-9c9d1eaa]:checked::after {
596
596
  inset: 0;
597
597
  margin: auto;
598
598
  inline-size: 0.32rem;
@@ -605,7 +605,7 @@ input[data-v-44d93832]:checked::after {
605
605
  opacity: 1;
606
606
  transform: translateY(-0.11rem) rotate(45deg);
607
607
  }
608
- input[data-v-44d93832]:indeterminate::after {
608
+ input[data-v-9c9d1eaa]:indeterminate::after {
609
609
  inset: 50% 0.23rem auto;
610
610
  block-size: 0.125rem;
611
611
  border-radius: var(--ui-radius-round);
@@ -613,29 +613,29 @@ input[data-v-44d93832]:indeterminate::after {
613
613
  opacity: 1;
614
614
  transform: translateY(-50%);
615
615
  }
616
- input[data-v-44d93832]:hover:enabled {
616
+ input[data-v-9c9d1eaa]:hover:enabled {
617
617
  border-color: var(--ui-accent-solid);
618
618
  }
619
- input[data-v-44d93832]:focus-visible {
619
+ input[data-v-9c9d1eaa]:focus-visible {
620
620
  outline: 2px solid var(--ui-focus-ring, var(--ui-accent-solid));
621
621
  outline-offset: 2px;
622
622
  }
623
- [data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"][data-v-44d93832] {
623
+ [data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"][data-v-9c9d1eaa] {
624
624
  color: var(--ui-text-muted);
625
625
  cursor: not-allowed;
626
626
  }
627
- [data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"] input[data-v-44d93832] {
627
+ [data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"] input[data-v-9c9d1eaa] {
628
628
  border-color: var(--ui-border-default);
629
629
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
630
630
  cursor: not-allowed;
631
631
  }
632
632
 
633
633
  /* A component that sets its display still honours the hidden attribute on its root. */
634
- [data-component~="ui-checkbox"][hidden][data-v-44d93832] {
634
+ [data-component~="ui-checkbox"][hidden][data-v-9c9d1eaa] {
635
635
  display: none;
636
636
  }
637
637
 
638
- [data-component~="ui-cluster"][data-v-9a0304f1] {
638
+ [data-component~="ui-cluster"][data-v-c4f9b76d] {
639
639
  --_layout-gap: var(--ui-space-3);
640
640
  display: flex;
641
641
  flex-wrap: wrap;
@@ -645,37 +645,37 @@ input[data-v-44d93832]:focus-visible {
645
645
  max-inline-size: 100%;
646
646
  margin: 0;
647
647
  }
648
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=xs"][data-v-9a0304f1] {
648
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=xs"][data-v-c4f9b76d] {
649
649
  --_layout-gap: var(--ui-space-2);
650
650
  }
651
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=s"][data-v-9a0304f1] {
651
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=s"][data-v-c4f9b76d] {
652
652
  --_layout-gap: var(--ui-space-3);
653
653
  }
654
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=m"][data-v-9a0304f1] {
654
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=m"][data-v-c4f9b76d] {
655
655
  --_layout-gap: var(--ui-space-4);
656
656
  }
657
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=l"][data-v-9a0304f1] {
657
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=l"][data-v-c4f9b76d] {
658
658
  --_layout-gap: var(--ui-space-5);
659
659
  }
660
- [data-component~="ui-cluster"][data-ui-cluster-state~="gap=xl"][data-v-9a0304f1] {
660
+ [data-component~="ui-cluster"][data-ui-cluster-state~="gap=xl"][data-v-c4f9b76d] {
661
661
  --_layout-gap: var(--ui-space-6);
662
662
  }
663
- [data-component~="ui-cluster"][data-ui-cluster-state~="align=start"][data-v-9a0304f1] {
663
+ [data-component~="ui-cluster"][data-ui-cluster-state~="align=start"][data-v-c4f9b76d] {
664
664
  align-items: flex-start;
665
665
  }
666
- [data-component~="ui-cluster"][data-ui-cluster-state~="align=end"][data-v-9a0304f1] {
666
+ [data-component~="ui-cluster"][data-ui-cluster-state~="align=end"][data-v-c4f9b76d] {
667
667
  align-items: flex-end;
668
668
  }
669
- [data-component~="ui-cluster"][data-ui-cluster-state~="align=stretch"][data-v-9a0304f1] {
669
+ [data-component~="ui-cluster"][data-ui-cluster-state~="align=stretch"][data-v-c4f9b76d] {
670
670
  align-items: stretch;
671
671
  }
672
672
 
673
673
  /* A component that sets its display still honours the hidden attribute on its root. */
674
- [data-component~="ui-cluster"][hidden][data-v-9a0304f1] {
674
+ [data-component~="ui-cluster"][hidden][data-v-c4f9b76d] {
675
675
  display: none;
676
676
  }
677
677
 
678
- [data-component~="ui-tooltip"][data-v-5952fbd4] {
678
+ [data-component~="ui-tooltip"][data-v-c4cff7e8] {
679
679
  position: fixed;
680
680
  inset: auto;
681
681
  margin: 0;
@@ -696,7 +696,7 @@ input[data-v-44d93832]:focus-visible {
696
696
  display var(--ui-motion-fast) allow-discrete,
697
697
  overlay var(--ui-motion-fast) allow-discrete;
698
698
  }
699
- .surface[data-v-5952fbd4] {
699
+ .surface[data-v-c4cff7e8] {
700
700
  --_tooltip-line: var(--ui-tooltip-border, var(--ui-border-default));
701
701
  position: relative;
702
702
  box-sizing: border-box;
@@ -711,7 +711,7 @@ input[data-v-44d93832]:focus-visible {
711
711
  line-height: var(--ui-line-height-tight);
712
712
  box-shadow: var(--ui-tooltip-shadow, var(--ui-elevation-tooltip, var(--ui-shadow-md)));
713
713
  }
714
- [data-component~="ui-tooltip"][data-ui-tooltip-state~="inverse"] .surface[data-v-5952fbd4] {
714
+ [data-component~="ui-tooltip"][data-ui-tooltip-state~="inverse"] .surface[data-v-c4cff7e8] {
715
715
  --_tooltip-line: var(--ui-tooltip-inverse-surface, var(--ui-text-primary));
716
716
  background: var(--ui-tooltip-inverse-surface, var(--ui-text-primary));
717
717
  color: var(--ui-tooltip-inverse-text, var(--ui-surface-default));
@@ -719,7 +719,7 @@ input[data-v-44d93832]:focus-visible {
719
719
 
720
720
  /* A rotated square shares the surface fill and draws the two outward border edges. Its centre sits on
721
721
  * the surface border line, so the fill covers that stretch of border and the outline runs unbroken. */
722
- .surface[data-v-5952fbd4]::after {
722
+ .surface[data-v-c4cff7e8]::after {
723
723
  content: "";
724
724
  position: absolute;
725
725
  z-index: 1;
@@ -736,7 +736,7 @@ input[data-v-44d93832]:focus-visible {
736
736
  transform: rotate(45deg);
737
737
  }
738
738
  :is([data-component~="ui-tooltip"][data-ui-tooltip-state~="placement=bottom"], [data-component~="ui-tooltip"][data-ui-tooltip-state~="placement=bottom-start"], [data-component~="ui-tooltip"][data-ui-tooltip-state~="placement=bottom-end"])
739
- .surface[data-v-5952fbd4]::after {
739
+ .surface[data-v-c4cff7e8]::after {
740
740
  inset-block-start: calc(var(--ui-tooltip-arrow-size, 0.5rem) / -2 - 0.5px);
741
741
  inset-block-end: auto;
742
742
  border-inline-end-width: 0;
@@ -747,50 +747,50 @@ input[data-v-44d93832]:focus-visible {
747
747
  border-start-start-radius: 1px;
748
748
  }
749
749
  :is([data-component~="ui-tooltip"][data-ui-tooltip-state~="placement=top-end"], [data-component~="ui-tooltip"][data-ui-tooltip-state~="placement=bottom-end"])
750
- .surface[data-v-5952fbd4]::after {
750
+ .surface[data-v-c4cff7e8]::after {
751
751
  inset-inline-start: auto;
752
752
  inset-inline-end: var(--ui-space-3);
753
753
  }
754
- [data-component~="ui-tooltip"][data-v-5952fbd4]:popover-open {
754
+ [data-component~="ui-tooltip"][data-v-c4cff7e8]:popover-open {
755
755
  opacity: 1;
756
756
  transform: translateY(0);
757
757
  }
758
758
  @starting-style {
759
- [data-component~="ui-tooltip"][data-v-5952fbd4]:popover-open {
759
+ [data-component~="ui-tooltip"][data-v-c4cff7e8]:popover-open {
760
760
  opacity: 0;
761
761
  transform: translateY(4px);
762
762
  }
763
763
  }
764
- [data-component~="ui-tooltip"][hidden][data-v-5952fbd4] {
764
+ [data-component~="ui-tooltip"][hidden][data-v-c4cff7e8] {
765
765
  display: none;
766
766
  }
767
767
  @media (prefers-reduced-motion: reduce) {
768
- [data-component~="ui-tooltip"][data-v-5952fbd4] {
768
+ [data-component~="ui-tooltip"][data-v-c4cff7e8] {
769
769
  transition: none;
770
770
  }
771
771
  }
772
772
 
773
- [data-component~="ui-combobox"][data-v-cd33b9b7] {
773
+ [data-component~="ui-combobox"][data-v-0bd7ecc4] {
774
774
  display: grid;
775
775
  gap: var(--ui-space-1);
776
776
  min-inline-size: 0;
777
777
  color: var(--ui-text-primary);
778
778
  font: inherit;
779
779
  }
780
- label[data-v-cd33b9b7] {
780
+ label[data-v-0bd7ecc4] {
781
781
  color: var(--ui-combobox-label-text, var(--ui-text-primary));
782
782
  font-size: var(--ui-combobox-label-font-size, var(--ui-font-size-sm));
783
783
  font-weight: 500;
784
784
  }
785
785
  /* The field and anything that annotates it sit on one row; the help button is beside the box,
786
786
  not inside it, because a control's box holds its value. */
787
- .control[data-v-cd33b9b7] {
787
+ .control[data-v-0bd7ecc4] {
788
788
  display: flex;
789
789
  align-items: center;
790
790
  gap: var(--ui-space-2);
791
791
  min-inline-size: 0;
792
792
  }
793
- .field[data-v-cd33b9b7] {
793
+ .field[data-v-0bd7ecc4] {
794
794
  flex: 1 1 auto;
795
795
  display: flex;
796
796
  min-inline-size: 0;
@@ -802,14 +802,14 @@ label[data-v-cd33b9b7] {
802
802
  border-color var(--ui-motion-fast) var(--ui-motion-ease),
803
803
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
804
804
  }
805
- .field[data-v-cd33b9b7]:focus-within {
805
+ .field[data-v-0bd7ecc4]:focus-within {
806
806
  border-color: var(--ui-control-focus, var(--ui-accent-solid));
807
807
  box-shadow:
808
808
  var(--ui-control-inset),
809
809
  var(--ui-control-focus-halo-shadow);
810
810
  }
811
811
  /* A ghost icon button: the affordance is the mark, not a box around it. */
812
- .help[data-v-cd33b9b7] {
812
+ .help[data-v-0bd7ecc4] {
813
813
  flex: none;
814
814
  display: inline-flex;
815
815
  align-items: center;
@@ -826,28 +826,28 @@ label[data-v-cd33b9b7] {
826
826
  background-color var(--ui-motion-fast) var(--ui-motion-ease),
827
827
  color var(--ui-motion-fast) var(--ui-motion-ease);
828
828
  }
829
- .help[data-v-cd33b9b7]:hover:enabled,
830
- .help[aria-expanded="true"][data-v-cd33b9b7] {
829
+ .help[data-v-0bd7ecc4]:hover:enabled,
830
+ .help[aria-expanded="true"][data-v-0bd7ecc4] {
831
831
  background: color-mix(in srgb, currentColor 8%, transparent);
832
832
  color: var(--ui-text-primary);
833
833
  }
834
- .help[data-v-cd33b9b7]:focus-visible {
834
+ .help[data-v-0bd7ecc4]:focus-visible {
835
835
  outline: none;
836
836
  box-shadow: var(--ui-focus-halo);
837
837
  }
838
- .help[data-v-cd33b9b7]:disabled {
838
+ .help[data-v-0bd7ecc4]:disabled {
839
839
  color: var(--ui-disabled-text);
840
840
  cursor: not-allowed;
841
841
  }
842
- .help-icon[data-v-cd33b9b7] {
842
+ .help-icon[data-v-0bd7ecc4] {
843
843
  inline-size: var(--ui-icon-size-sm);
844
844
  block-size: var(--ui-icon-size-sm);
845
845
  }
846
- input[data-v-cd33b9b7]::selection {
846
+ input[data-v-0bd7ecc4]::selection {
847
847
  background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
848
848
  color: inherit;
849
849
  }
850
- input[data-v-cd33b9b7] {
850
+ input[data-v-0bd7ecc4] {
851
851
  appearance: none;
852
852
  width: 100%;
853
853
  min-inline-size: 0;
@@ -863,11 +863,11 @@ input[data-v-cd33b9b7] {
863
863
  margin: 0;
864
864
  outline: none;
865
865
  }
866
- [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-cd33b9b7] {
866
+ [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-0bd7ecc4] {
867
867
  min-block-size: calc(var(--ui-control-size-sm) - 2px);
868
868
  padding: var(--ui-space-1) var(--ui-space-2);
869
869
  }
870
- button[data-v-cd33b9b7] {
870
+ button[data-v-0bd7ecc4] {
871
871
  appearance: none;
872
872
  display: inline-grid;
873
873
  place-items: center;
@@ -882,31 +882,31 @@ button[data-v-cd33b9b7] {
882
882
  padding: 0 var(--ui-space-1);
883
883
  cursor: pointer;
884
884
  }
885
- .affordance-icon[data-v-cd33b9b7] {
885
+ .affordance-icon[data-v-0bd7ecc4] {
886
886
  display: block;
887
887
  inline-size: var(--ui-icon-size-sm);
888
888
  block-size: var(--ui-icon-size-sm);
889
889
  }
890
- button[data-v-cd33b9b7]:hover:enabled {
890
+ button[data-v-0bd7ecc4]:hover:enabled {
891
891
  background: var(--ui-surface-muted);
892
892
  color: var(--ui-text-primary);
893
893
  }
894
- button[data-v-cd33b9b7]:focus-visible {
894
+ button[data-v-0bd7ecc4]:focus-visible {
895
895
  outline: none;
896
896
  background: var(--ui-surface-muted);
897
897
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
898
898
  }
899
- input[data-v-cd33b9b7]:disabled, button[data-v-cd33b9b7]:disabled {
899
+ input[data-v-0bd7ecc4]:disabled, button[data-v-0bd7ecc4]:disabled {
900
900
  color: var(--ui-text-muted);
901
901
  cursor: not-allowed;
902
902
  }
903
- .field[data-v-cd33b9b7]:has(input:disabled) {
903
+ .field[data-v-0bd7ecc4]:has(input:disabled) {
904
904
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
905
905
  }
906
- [data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-cd33b9b7] {
906
+ [data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-0bd7ecc4] {
907
907
  border-color: var(--ui-danger-solid, var(--ui-accent-active));
908
908
  }
909
- .popup[data-v-cd33b9b7] {
909
+ .popup[data-v-0bd7ecc4] {
910
910
  box-sizing: border-box;
911
911
  min-inline-size: 12rem;
912
912
  max-inline-size: calc(100vw - 1rem);
@@ -920,40 +920,40 @@ input[data-v-cd33b9b7]:disabled, button[data-v-cd33b9b7]:disabled {
920
920
  color: var(--ui-text-primary);
921
921
  box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
922
922
  }
923
- [hidden][data-v-cd33b9b7] {
923
+ [hidden][data-v-0bd7ecc4] {
924
924
  display: none;
925
925
  }
926
- .option[data-v-cd33b9b7] {
926
+ .option[data-v-0bd7ecc4] {
927
927
  padding: var(--ui-space-2) var(--ui-space-3);
928
928
  border-radius: var(--ui-radius-sm);
929
929
  cursor: pointer;
930
930
  overflow-wrap: anywhere;
931
931
  }
932
- .option[data-v-cd33b9b7]:hover, .option.active[data-v-cd33b9b7] {
932
+ .option[data-v-0bd7ecc4]:hover, .option.active[data-v-0bd7ecc4] {
933
933
  background: var(--ui-surface-muted);
934
934
  outline: 1px solid var(--ui-focus-ring);
935
935
  outline-offset: -1px;
936
936
  }
937
- .option[aria-disabled="true"][data-v-cd33b9b7] {
937
+ .option[aria-disabled="true"][data-v-0bd7ecc4] {
938
938
  color: var(--ui-text-muted);
939
939
  cursor: not-allowed;
940
940
  }
941
- .primary[data-v-cd33b9b7] {
941
+ .primary[data-v-0bd7ecc4] {
942
942
  display: block;
943
943
  color: var(--ui-combobox-option-text, var(--ui-text-primary));
944
944
  font-weight: 500;
945
945
  }
946
- .message[data-v-cd33b9b7], .group[data-v-cd33b9b7] {
946
+ .message[data-v-0bd7ecc4], .group[data-v-0bd7ecc4] {
947
947
  color: var(--ui-combobox-message-text, var(--ui-text-secondary));
948
948
  font-weight: 400;
949
949
  font-size: var(--ui-font-size-sm);
950
950
  line-height: var(--ui-line-height-md);
951
951
  overflow-wrap: anywhere;
952
952
  }
953
- .group[data-v-cd33b9b7], .popup .message[data-v-cd33b9b7] {
953
+ .group[data-v-0bd7ecc4], .popup .message[data-v-0bd7ecc4] {
954
954
  padding: var(--ui-space-2) var(--ui-space-3);
955
955
  }
956
- .sr-only[data-v-cd33b9b7] {
956
+ .sr-only[data-v-0bd7ecc4] {
957
957
  position: absolute;
958
958
  inline-size: 1px;
959
959
  block-size: 1px;
@@ -962,16 +962,16 @@ input[data-v-cd33b9b7]:disabled, button[data-v-cd33b9b7]:disabled {
962
962
  white-space: nowrap;
963
963
  }
964
964
  @media (pointer: coarse) {
965
- button[data-v-cd33b9b7] {
965
+ button[data-v-0bd7ecc4] {
966
966
  min-inline-size: 2.75rem;
967
967
  min-block-size: 2.75rem;
968
968
  }
969
969
  }
970
970
  @media (forced-colors: active) {
971
- .field[data-v-cd33b9b7], .popup[data-v-cd33b9b7] {
971
+ .field[data-v-0bd7ecc4], .popup[data-v-0bd7ecc4] {
972
972
  border-color: CanvasText;
973
973
  }
974
- .option.active[data-v-cd33b9b7] {
974
+ .option.active[data-v-0bd7ecc4] {
975
975
  outline-color: Highlight;
976
976
  }
977
977
  }
@@ -979,12 +979,12 @@ button[data-v-cd33b9b7] {
979
979
  /* Multiple mode: every option carries a checkbox, so a list that takes several answers says so
980
980
  before anything is picked. aria-selected is the state; this draws it.
981
981
  Longhands, not shorthands: lowering drops a shorthand that omits a component. */
982
- [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-cd33b9b7] {
982
+ [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-0bd7ecc4] {
983
983
  display: flex;
984
984
  gap: var(--ui-space-2);
985
985
  align-items: center;
986
986
  }
987
- [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-cd33b9b7]::before {
987
+ [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-0bd7ecc4]::before {
988
988
  content: "";
989
989
  flex: none;
990
990
  inline-size: 1.125rem;
@@ -999,7 +999,7 @@ button[data-v-cd33b9b7] {
999
999
  background-size: 0.7rem;
1000
1000
  }
1001
1001
  [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"]
1002
- .option[aria-selected="true"][data-v-cd33b9b7]::before {
1002
+ .option[aria-selected="true"][data-v-0bd7ecc4]::before {
1003
1003
  border-color: var(--ui-accent-solid);
1004
1004
  background-color: var(--ui-accent-solid);
1005
1005
  background-image: var(
@@ -1009,20 +1009,20 @@ button[data-v-cd33b9b7] {
1009
1009
  }
1010
1010
 
1011
1011
  /* Multiple mode: chips wrap before the cursor on one flexible field line. */
1012
- [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-cd33b9b7] {
1012
+ [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-0bd7ecc4] {
1013
1013
  flex-wrap: wrap;
1014
1014
  align-items: center;
1015
1015
  gap: var(--ui-space-1);
1016
1016
  min-block-size: var(--ui-combobox-item-min-block-size, 2.5rem);
1017
1017
  padding: var(--ui-space-1);
1018
1018
  }
1019
- [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-cd33b9b7] {
1019
+ [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-0bd7ecc4] {
1020
1020
  flex: 1 0 var(--ui-combobox-item-input-min-inline-size, 5rem);
1021
1021
  width: auto;
1022
1022
  min-block-size: 1.75rem;
1023
1023
  padding: var(--ui-space-0-5) var(--ui-space-1);
1024
1024
  }
1025
- .item[data-v-cd33b9b7] {
1025
+ .item[data-v-0bd7ecc4] {
1026
1026
  appearance: none;
1027
1027
  display: inline-flex;
1028
1028
  min-inline-size: 0;
@@ -1036,20 +1036,20 @@ button[data-v-cd33b9b7] {
1036
1036
  font: inherit;
1037
1037
  cursor: default;
1038
1038
  }
1039
- .item[data-v-cd33b9b7]:focus-visible {
1039
+ .item[data-v-0bd7ecc4]:focus-visible {
1040
1040
  outline: 2px solid var(--ui-focus-ring);
1041
1041
  outline-offset: 1px;
1042
1042
  }
1043
- .item[data-v-cd33b9b7]:disabled {
1043
+ .item[data-v-0bd7ecc4]:disabled {
1044
1044
  opacity: 0.6;
1045
1045
  }
1046
1046
 
1047
1047
  /* A component that sets its display still honours the hidden attribute on its root. */
1048
- [data-component~="ui-combobox"][hidden][data-v-cd33b9b7] {
1048
+ [data-component~="ui-combobox"][hidden][data-v-0bd7ecc4] {
1049
1049
  display: none;
1050
1050
  }
1051
1051
 
1052
- [data-component~="ui-container"][data-v-89d8ad17] {
1052
+ [data-component~="ui-container"][data-v-b1605eab] {
1053
1053
  --_container-measure: 65ch;
1054
1054
  --_container-gutters: var(--ui-space-4);
1055
1055
  display: block;
@@ -1058,31 +1058,31 @@ button[data-v-cd33b9b7] {
1058
1058
  margin-inline: auto;
1059
1059
  padding-inline: var(--ui-container-gutters, var(--_container-gutters));
1060
1060
  }
1061
- [data-component~="ui-container"][data-ui-container-state~="measure=narrow"][data-v-89d8ad17] {
1061
+ [data-component~="ui-container"][data-ui-container-state~="measure=narrow"][data-v-b1605eab] {
1062
1062
  --_container-measure: 45ch;
1063
1063
  }
1064
- [data-component~="ui-container"][data-ui-container-state~="measure=wide"][data-v-89d8ad17] {
1064
+ [data-component~="ui-container"][data-ui-container-state~="measure=wide"][data-v-b1605eab] {
1065
1065
  --_container-measure: 80ch;
1066
1066
  }
1067
- [data-component~="ui-container"][data-ui-container-state~="gutters=s"][data-v-89d8ad17] {
1067
+ [data-component~="ui-container"][data-ui-container-state~="gutters=s"][data-v-b1605eab] {
1068
1068
  --_container-gutters: var(--ui-space-3);
1069
1069
  }
1070
- [data-component~="ui-container"][data-ui-container-state~="gutters=m"][data-v-89d8ad17] {
1070
+ [data-component~="ui-container"][data-ui-container-state~="gutters=m"][data-v-b1605eab] {
1071
1071
  --_container-gutters: var(--ui-space-4);
1072
1072
  }
1073
- [data-component~="ui-container"][data-ui-container-state~="gutters=l"][data-v-89d8ad17] {
1073
+ [data-component~="ui-container"][data-ui-container-state~="gutters=l"][data-v-b1605eab] {
1074
1074
  --_container-gutters: var(--ui-space-5);
1075
1075
  }
1076
1076
 
1077
1077
  /* A component that sets its display still honours the hidden attribute on its root. */
1078
- [data-component~="ui-container"][hidden][data-v-89d8ad17] {
1078
+ [data-component~="ui-container"][hidden][data-v-b1605eab] {
1079
1079
  display: none;
1080
1080
  }
1081
1081
 
1082
- [data-component~="ui-context-menu"][data-v-607c2847] {
1082
+ [data-component~="ui-context-menu"][data-v-06309584] {
1083
1083
  display: contents;
1084
1084
  }
1085
- .menu[data-v-607c2847] {
1085
+ .menu[data-v-06309584] {
1086
1086
  position: fixed;
1087
1087
  inset: auto;
1088
1088
  margin: 0;
@@ -1106,32 +1106,32 @@ button[data-v-cd33b9b7] {
1106
1106
  display var(--ui-motion-fast) allow-discrete,
1107
1107
  overlay var(--ui-motion-fast) allow-discrete;
1108
1108
  }
1109
- .menu[data-v-607c2847]:popover-open {
1109
+ .menu[data-v-06309584]:popover-open {
1110
1110
  opacity: 1;
1111
1111
  transform: translateY(0) scale(1);
1112
1112
  }
1113
1113
  @starting-style {
1114
- .menu[data-v-607c2847]:popover-open {
1114
+ .menu[data-v-06309584]:popover-open {
1115
1115
  opacity: 0;
1116
1116
  transform: translateY(-4px) scale(0.99);
1117
1117
  }
1118
1118
  }
1119
- .menu[hidden][data-v-607c2847],
1120
- .menu[popover][data-v-607c2847]:not(:popover-open) {
1119
+ .menu[hidden][data-v-06309584],
1120
+ .menu[popover][data-v-06309584]:not(:popover-open) {
1121
1121
  display: none;
1122
1122
  }
1123
1123
  @media (prefers-reduced-motion: reduce) {
1124
- .menu[data-v-607c2847] {
1124
+ .menu[data-v-06309584] {
1125
1125
  transition: none;
1126
1126
  }
1127
1127
  }
1128
1128
 
1129
1129
  /* A component that sets its display still honours the hidden attribute on its root. */
1130
- [data-component~="ui-context-menu"][hidden][data-v-607c2847] {
1130
+ [data-component~="ui-context-menu"][hidden][data-v-06309584] {
1131
1131
  display: none;
1132
1132
  }
1133
1133
 
1134
- [data-component~="ui-dialog"][data-v-cac753c9] {
1134
+ [data-component~="ui-dialog"][data-v-d43d3a22] {
1135
1135
  position: fixed;
1136
1136
  inset: 0;
1137
1137
  box-sizing: border-box;
@@ -1160,17 +1160,17 @@ button[data-v-cd33b9b7] {
1160
1160
  display var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
1161
1161
  overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
1162
1162
  }
1163
- [data-component~="ui-dialog"][open][data-v-cac753c9] {
1163
+ [data-component~="ui-dialog"][open][data-v-d43d3a22] {
1164
1164
  display: flex;
1165
1165
  visibility: visible;
1166
1166
  pointer-events: auto;
1167
1167
  opacity: 1;
1168
1168
  transform: scale(1);
1169
- animation: ui-dialog-enter-cac753c9 var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
1169
+ animation: ui-dialog-enter-d43d3a22 var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
1170
1170
  }
1171
1171
 
1172
1172
  /* Header and actions stay pinned; only the body scrolls when content is long. */
1173
- header[data-v-cac753c9] {
1173
+ header[data-v-d43d3a22] {
1174
1174
  display: flex;
1175
1175
  align-items: center;
1176
1176
  gap: var(--ui-space-3);
@@ -1180,7 +1180,7 @@ header[data-v-cac753c9] {
1180
1180
  }
1181
1181
 
1182
1182
  /* :host-qualified so page heading rules that reach in cannot outrank the dialog chrome. */
1183
- [data-component~="ui-dialog"] .title[data-v-cac753c9] {
1183
+ [data-component~="ui-dialog"] .title[data-v-d43d3a22] {
1184
1184
  flex: 1;
1185
1185
  min-inline-size: 0;
1186
1186
  margin: 0;
@@ -1192,7 +1192,7 @@ header[data-v-cac753c9] {
1192
1192
  font-weight: var(--ui-font-semibold);
1193
1193
  line-height: var(--ui-line-height-tight);
1194
1194
  }
1195
- .close[data-v-cac753c9] {
1195
+ .close[data-v-d43d3a22] {
1196
1196
  display: inline-grid;
1197
1197
  place-items: center;
1198
1198
  flex: none;
@@ -1211,8 +1211,8 @@ header[data-v-cac753c9] {
1211
1211
  }
1212
1212
 
1213
1213
  /* A CSS-drawn X. */
1214
- .close[data-v-cac753c9]::before,
1215
- .close[data-v-cac753c9]::after {
1214
+ .close[data-v-d43d3a22]::before,
1215
+ .close[data-v-d43d3a22]::after {
1216
1216
  content: "";
1217
1217
  grid-area: 1 / 1;
1218
1218
  inline-size: 0.875rem;
@@ -1221,37 +1221,37 @@ header[data-v-cac753c9] {
1221
1221
  background: currentColor;
1222
1222
  transform: rotate(45deg);
1223
1223
  }
1224
- .close[data-v-cac753c9]::after {
1224
+ .close[data-v-d43d3a22]::after {
1225
1225
  transform: rotate(-45deg);
1226
1226
  }
1227
- .close[data-v-cac753c9]:hover {
1227
+ .close[data-v-d43d3a22]:hover {
1228
1228
  background: var(--ui-surface-muted);
1229
1229
  color: var(--ui-text-primary);
1230
1230
  }
1231
- .close[data-v-cac753c9]:focus-visible {
1231
+ .close[data-v-d43d3a22]:focus-visible {
1232
1232
  outline: 2px solid var(--ui-focus-ring);
1233
1233
  outline-offset: 2px;
1234
1234
  }
1235
1235
 
1236
1236
  /* A touch target, like Button on coarse pointers. */
1237
1237
  @media (pointer: coarse) {
1238
- .close[data-v-cac753c9] {
1238
+ .close[data-v-d43d3a22] {
1239
1239
  inline-size: var(--ui-control-min-block-size);
1240
1240
  block-size: var(--ui-control-min-block-size);
1241
1241
  }
1242
1242
  }
1243
- html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-cac753c9] {
1243
+ html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-d43d3a22] {
1244
1244
  inline-size: var(--ui-control-min-block-size);
1245
1245
  block-size: var(--ui-control-min-block-size);
1246
1246
  }
1247
- .body[data-v-cac753c9] {
1247
+ .body[data-v-d43d3a22] {
1248
1248
  flex: 1 1 auto;
1249
1249
  min-block-size: 0;
1250
1250
  overflow: auto;
1251
1251
  overscroll-behavior: contain;
1252
1252
  padding: var(--ui-space-5);
1253
1253
  }
1254
- footer[data-v-cac753c9] {
1254
+ footer[data-v-d43d3a22] {
1255
1255
  display: flex;
1256
1256
  flex: none;
1257
1257
  flex-wrap: wrap;
@@ -1260,40 +1260,40 @@ footer[data-v-cac753c9] {
1260
1260
  padding: var(--ui-space-3) var(--ui-space-5);
1261
1261
  border-block-start: 1px solid var(--ui-border-default);
1262
1262
  }
1263
- footer[data-v-cac753c9]:empty {
1263
+ footer[data-v-d43d3a22]:empty {
1264
1264
  display: none;
1265
1265
  }
1266
- @keyframes ui-dialog-enter-cac753c9 {
1266
+ @keyframes ui-dialog-enter-d43d3a22 {
1267
1267
  from {
1268
1268
  opacity: 0;
1269
1269
  transform: scale(0.96);
1270
1270
  }
1271
1271
  }
1272
- [data-component~="ui-dialog"][data-v-cac753c9]::backdrop {
1272
+ [data-component~="ui-dialog"][data-v-d43d3a22]::backdrop {
1273
1273
  background-color: transparent;
1274
1274
  transition:
1275
1275
  background-color var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease),
1276
1276
  display var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
1277
1277
  overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
1278
1278
  }
1279
- [data-component~="ui-dialog"][open][data-v-cac753c9]::backdrop {
1279
+ [data-component~="ui-dialog"][open][data-v-d43d3a22]::backdrop {
1280
1280
  background-color: var(--ui-overlay-backdrop);
1281
- animation: ui-dialog-backdrop-enter-cac753c9 var(--ui-dialog-duration, var(--ui-motion-base))
1281
+ animation: ui-dialog-backdrop-enter-d43d3a22 var(--ui-dialog-duration, var(--ui-motion-base))
1282
1282
  var(--ui-motion-ease);
1283
1283
  }
1284
- @keyframes ui-dialog-backdrop-enter-cac753c9 {
1284
+ @keyframes ui-dialog-backdrop-enter-d43d3a22 {
1285
1285
  from {
1286
1286
  background-color: transparent;
1287
1287
  }
1288
1288
  }
1289
1289
 
1290
1290
  /* Density resolves into the summary row's own values; the public tokens still override them. */
1291
- [data-component~="ui-disclosure"][data-v-20cbcb83] {
1291
+ [data-component~="ui-disclosure"][data-v-54a22a7e] {
1292
1292
  --_trigger-min-block-size: var(--ui-control-size);
1293
1293
  --_trigger-padding-block: var(--ui-space-2);
1294
1294
  --_trigger-padding-inline: var(--ui-space-3);
1295
1295
  }
1296
- [data-component~="ui-disclosure"][data-ui-disclosure-state~="density=compact"][data-v-20cbcb83] {
1296
+ [data-component~="ui-disclosure"][data-ui-disclosure-state~="density=compact"][data-v-54a22a7e] {
1297
1297
  --_trigger-min-block-size: var(--ui-control-size-sm);
1298
1298
  --_trigger-padding-block: var(--ui-space-1);
1299
1299
  --_trigger-padding-inline: var(--ui-space-2);
@@ -1301,14 +1301,14 @@ from {
1301
1301
 
1302
1302
  /* An accordion row, not a field: no enclosing box, just a divider, so it never reads as a
1303
1303
  * select or combobox. Stacked disclosures share their dividers. */
1304
- [data-component~="ui-disclosure"][data-v-20cbcb83] {
1304
+ [data-component~="ui-disclosure"][data-v-54a22a7e] {
1305
1305
  display: block;
1306
1306
  inline-size: 100%;
1307
1307
  overflow: clip;
1308
1308
  border-block-end: 1px solid var(--ui-border-default);
1309
1309
  color: var(--ui-text-primary);
1310
1310
  }
1311
- .trigger[data-v-20cbcb83] {
1311
+ .trigger[data-v-54a22a7e] {
1312
1312
  display: grid;
1313
1313
  grid-template-columns: minmax(0, 1fr) auto;
1314
1314
  gap: var(--ui-space-3);
@@ -1327,18 +1327,18 @@ from {
1327
1327
  border-radius: var(--ui-radius-sm);
1328
1328
  transition: background-color var(--ui-motion-fast) var(--ui-motion-ease);
1329
1329
  }
1330
- .trigger[data-v-20cbcb83]:hover:not(:disabled) {
1330
+ .trigger[data-v-54a22a7e]:hover:not(:disabled) {
1331
1331
  background: var(--ui-surface-muted);
1332
1332
  }
1333
- .trigger[data-v-20cbcb83]:focus-visible {
1333
+ .trigger[data-v-54a22a7e]:focus-visible {
1334
1334
  outline: none;
1335
1335
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
1336
1336
  }
1337
- .trigger[data-v-20cbcb83]:disabled {
1337
+ .trigger[data-v-54a22a7e]:disabled {
1338
1338
  color: var(--ui-text-muted);
1339
1339
  cursor: not-allowed;
1340
1340
  }
1341
- .chevron[data-v-20cbcb83] {
1341
+ .chevron[data-v-54a22a7e] {
1342
1342
  inline-size: 0.5rem;
1343
1343
  block-size: 0.5rem;
1344
1344
  border-inline-end: 2px solid currentColor;
@@ -1346,39 +1346,39 @@ from {
1346
1346
  transform: rotate(45deg) translate(-1px, -1px);
1347
1347
  transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
1348
1348
  }
1349
- .panel[data-v-20cbcb83] {
1349
+ .panel[data-v-54a22a7e] {
1350
1350
  display: grid;
1351
1351
  grid-template-rows: 0fr;
1352
1352
  transition: grid-template-rows var(--ui-motion-fast)
1353
1353
  var(--ui-motion-ease-out, var(--ui-motion-ease));
1354
1354
  }
1355
- .panel-inner[data-v-20cbcb83] {
1355
+ .panel-inner[data-v-54a22a7e] {
1356
1356
  min-block-size: 0;
1357
1357
  overflow: hidden;
1358
1358
  padding-inline: var(--ui-space-3);
1359
1359
  }
1360
- [data-component~="ui-disclosure"][data-ui-disclosure-state~="internalOpen"] .panel[data-v-20cbcb83] {
1360
+ [data-component~="ui-disclosure"][data-ui-disclosure-state~="internalOpen"] .panel[data-v-54a22a7e] {
1361
1361
  grid-template-rows: 1fr;
1362
1362
  }
1363
- [data-component~="ui-disclosure"][data-ui-disclosure-state~="internalOpen"] .panel-inner[data-v-20cbcb83] {
1363
+ [data-component~="ui-disclosure"][data-ui-disclosure-state~="internalOpen"] .panel-inner[data-v-54a22a7e] {
1364
1364
  padding-block: 0 var(--ui-space-3);
1365
1365
  }
1366
- [data-component~="ui-disclosure"][data-ui-disclosure-state~="internalOpen"] .chevron[data-v-20cbcb83] {
1366
+ [data-component~="ui-disclosure"][data-ui-disclosure-state~="internalOpen"] .chevron[data-v-54a22a7e] {
1367
1367
  transform: rotate(225deg) translate(-1px, -1px);
1368
1368
  }
1369
1369
  @media (prefers-reduced-motion: reduce) {
1370
- .panel[data-v-20cbcb83],
1371
- .chevron[data-v-20cbcb83] {
1370
+ .panel[data-v-54a22a7e],
1371
+ .chevron[data-v-54a22a7e] {
1372
1372
  transition: none;
1373
1373
  }
1374
1374
  }
1375
1375
 
1376
1376
  /* A component that sets its display still honours the hidden attribute on its root. */
1377
- [data-component~="ui-disclosure"][hidden][data-v-20cbcb83] {
1377
+ [data-component~="ui-disclosure"][hidden][data-v-54a22a7e] {
1378
1378
  display: none;
1379
1379
  }
1380
1380
 
1381
- [data-component~="ui-editable"][data-v-c1b523c6] {
1381
+ [data-component~="ui-editable"][data-v-8fe1c571] {
1382
1382
  display: flex;
1383
1383
  flex-wrap: wrap;
1384
1384
  align-items: center;
@@ -1389,13 +1389,13 @@ from {
1389
1389
 
1390
1390
  /* The value and the input share one grid cell with identical box metrics, so switching between
1391
1391
  * display and edit never changes the control's size or moves the text. */
1392
- .field[data-v-c1b523c6] {
1392
+ .field[data-v-8fe1c571] {
1393
1393
  display: inline-grid;
1394
1394
  min-inline-size: 8rem;
1395
1395
  max-inline-size: 100%;
1396
1396
  }
1397
- .preview[data-v-c1b523c6],
1398
- .input[data-v-c1b523c6] {
1397
+ .preview[data-v-8fe1c571],
1398
+ .input[data-v-8fe1c571] {
1399
1399
  grid-area: 1 / 1;
1400
1400
  box-sizing: border-box;
1401
1401
  min-block-size: var(--ui-control-size-sm);
@@ -1411,7 +1411,7 @@ from {
1411
1411
  border-color var(--ui-motion-fast) var(--ui-motion-ease),
1412
1412
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
1413
1413
  }
1414
- .preview[data-v-c1b523c6] {
1414
+ .preview[data-v-8fe1c571] {
1415
1415
  display: inline-flex;
1416
1416
  gap: var(--ui-space-2);
1417
1417
  align-items: center;
@@ -1419,50 +1419,50 @@ from {
1419
1419
  text-align: start;
1420
1420
  cursor: pointer;
1421
1421
  }
1422
- .preview[data-v-c1b523c6]:hover:not(:disabled) {
1422
+ .preview[data-v-8fe1c571]:hover:not(:disabled) {
1423
1423
  background: var(--ui-surface-muted);
1424
1424
  }
1425
- .preview[data-v-c1b523c6]:focus-visible {
1425
+ .preview[data-v-8fe1c571]:focus-visible {
1426
1426
  outline: none;
1427
1427
  box-shadow: var(--ui-focus-halo);
1428
1428
  }
1429
- .hint[data-v-c1b523c6] {
1429
+ .hint[data-v-8fe1c571] {
1430
1430
  color: var(--ui-text-secondary);
1431
1431
  font-size: var(--ui-font-size-sm);
1432
1432
  }
1433
1433
 
1434
1434
  /* Contained so it takes the value's width instead of its own default input width. */
1435
- .input[data-v-c1b523c6] {
1435
+ .input[data-v-8fe1c571] {
1436
1436
  contain: inline-size;
1437
1437
  inline-size: 100%;
1438
1438
  min-inline-size: 0;
1439
1439
  visibility: hidden;
1440
1440
  background: var(--ui-control-surface, var(--ui-surface-elevated));
1441
1441
  }
1442
- .input[data-v-c1b523c6]:focus {
1442
+ .input[data-v-8fe1c571]:focus {
1443
1443
  outline: none;
1444
1444
  border-color: var(--ui-control-focus, var(--ui-accent-solid));
1445
1445
  box-shadow:
1446
1446
  var(--ui-control-inset),
1447
1447
  var(--ui-control-focus-halo-shadow);
1448
1448
  }
1449
- .input[data-v-c1b523c6]::selection {
1449
+ .input[data-v-8fe1c571]::selection {
1450
1450
  background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
1451
1451
  }
1452
- [data-component~="ui-editable"][data-ui-editable-state~="internalEdit"] .preview[data-v-c1b523c6] {
1452
+ [data-component~="ui-editable"][data-ui-editable-state~="internalEdit"] .preview[data-v-8fe1c571] {
1453
1453
  visibility: hidden;
1454
1454
  }
1455
- [data-component~="ui-editable"][data-ui-editable-state~="internalEdit"] .input[data-v-c1b523c6] {
1455
+ [data-component~="ui-editable"][data-ui-editable-state~="internalEdit"] .input[data-v-8fe1c571] {
1456
1456
  visibility: visible;
1457
1457
  }
1458
- .actions[data-v-c1b523c6] {
1458
+ .actions[data-v-8fe1c571] {
1459
1459
  display: none;
1460
1460
  gap: var(--ui-space-1);
1461
1461
  }
1462
- [data-component~="ui-editable"][data-ui-editable-state~="internalEdit"] .actions[data-v-c1b523c6] {
1462
+ [data-component~="ui-editable"][data-ui-editable-state~="internalEdit"] .actions[data-v-8fe1c571] {
1463
1463
  display: inline-flex;
1464
1464
  }
1465
- .actions button[data-v-c1b523c6] {
1465
+ .actions button[data-v-8fe1c571] {
1466
1466
  min-block-size: var(--ui-control-size-sm);
1467
1467
  padding: 0 var(--ui-space-3);
1468
1468
  border: 1px solid var(--ui-border-strong);
@@ -1475,45 +1475,45 @@ from {
1475
1475
  font-size: var(--ui-font-size-sm);
1476
1476
  cursor: pointer;
1477
1477
  }
1478
- .actions .save[data-v-c1b523c6] {
1478
+ .actions .save[data-v-8fe1c571] {
1479
1479
  border-color: var(--ui-accent-solid);
1480
1480
  background: var(--ui-accent-solid);
1481
1481
  color: var(--ui-text-on-accent);
1482
1482
  }
1483
- .actions button[data-v-c1b523c6]:focus-visible {
1483
+ .actions button[data-v-8fe1c571]:focus-visible {
1484
1484
  outline: none;
1485
1485
  box-shadow: var(--ui-focus-halo);
1486
1486
  }
1487
- [data-component~="ui-editable"][data-ui-editable-state~="disabled"] .preview[data-v-c1b523c6] {
1487
+ [data-component~="ui-editable"][data-ui-editable-state~="disabled"] .preview[data-v-8fe1c571] {
1488
1488
  color: var(--ui-text-muted);
1489
1489
  cursor: not-allowed;
1490
1490
  }
1491
1491
 
1492
1492
  /* A component that sets its display still honours the hidden attribute on its root. */
1493
- [data-component~="ui-editable"][hidden][data-v-c1b523c6] {
1493
+ [data-component~="ui-editable"][hidden][data-v-8fe1c571] {
1494
1494
  display: none;
1495
1495
  }
1496
1496
 
1497
- [data-component~="ui-editor-insert-table-grid"][data-v-7b1e476f] {
1497
+ [data-component~="ui-editor-insert-table-grid"][data-v-fd963634] {
1498
1498
  padding: var(--ui-space-3);
1499
1499
  background: var(--ui-surface);
1500
1500
  border: 1px solid var(--ui-border);
1501
1501
  border-radius: var(--ui-radius-md);
1502
1502
  box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
1503
1503
  }
1504
- .hint[data-v-7b1e476f] {
1504
+ .hint[data-v-fd963634] {
1505
1505
  margin: 0 0 var(--ui-space-2);
1506
1506
  font-size: var(--ui-font-size-sm);
1507
1507
  color: var(--ui-text-muted);
1508
1508
  }
1509
- .grid[data-v-7b1e476f] {
1509
+ .grid[data-v-fd963634] {
1510
1510
  display: grid;
1511
1511
  grid-template-columns: repeat(var(--_cols, 8), 1.25rem);
1512
1512
  grid-template-rows: repeat(var(--_rows, 8), 1.25rem);
1513
1513
  gap: 2px;
1514
1514
  margin-bottom: var(--ui-space-2);
1515
1515
  }
1516
- .cell[data-v-7b1e476f] {
1516
+ .cell[data-v-fd963634] {
1517
1517
  width: 1.25rem;
1518
1518
  height: 1.25rem;
1519
1519
  padding: 0;
@@ -1522,17 +1522,17 @@ from {
1522
1522
  background: var(--ui-surface);
1523
1523
  cursor: pointer;
1524
1524
  }
1525
- .cell.selected[data-v-7b1e476f] {
1525
+ .cell.selected[data-v-fd963634] {
1526
1526
  background: var(--ui-accent-solid, var(--ui-accent));
1527
1527
  border-color: var(--ui-accent-solid, var(--ui-accent));
1528
1528
  }
1529
- .header[data-v-7b1e476f] {
1529
+ .header[data-v-fd963634] {
1530
1530
  display: block;
1531
1531
  margin-bottom: var(--ui-space-2);
1532
1532
  font-size: var(--ui-font-size-sm);
1533
1533
  cursor: pointer;
1534
1534
  }
1535
- [data-component~="ui-editor-insert-table-grid"] .insert[data-v-7b1e476f] {
1535
+ [data-component~="ui-editor-insert-table-grid"] .insert[data-v-fd963634] {
1536
1536
  width: 100%;
1537
1537
  padding: var(--ui-space-2) var(--ui-space-3);
1538
1538
  border: 1px solid var(--ui-border);
@@ -1542,17 +1542,17 @@ from {
1542
1542
  font-size: var(--ui-font-size-sm);
1543
1543
  cursor: pointer;
1544
1544
  }
1545
- [data-component~="ui-editor-insert-table-grid"] .insert[data-v-7b1e476f]:hover {
1545
+ [data-component~="ui-editor-insert-table-grid"] .insert[data-v-fd963634]:hover {
1546
1546
  filter: brightness(1.05);
1547
1547
  }
1548
- [data-component~="ui-editor-insert-table-grid"][hidden][data-v-7b1e476f] {
1548
+ [data-component~="ui-editor-insert-table-grid"][hidden][data-v-fd963634] {
1549
1549
  display: none;
1550
1550
  }
1551
1551
 
1552
- [data-component~="ui-editor-mention-menu"][data-v-78edc5f6] {
1552
+ [data-component~="ui-editor-mention-menu"][data-v-9c76e661] {
1553
1553
  user-select: none;
1554
1554
  }
1555
- [data-component~="ui-editor-mention-menu"][data-v-78edc5f6] {
1555
+ [data-component~="ui-editor-mention-menu"][data-v-9c76e661] {
1556
1556
  display: flex;
1557
1557
  overflow: hidden;
1558
1558
  flex-direction: column;
@@ -1561,7 +1561,7 @@ from {
1561
1561
  border-radius: var(--ui-radius-dialog);
1562
1562
  box-shadow: var(--ui-shadow-lg, 0 8px 24px rgb(0 0 0 / 0.12));
1563
1563
  }
1564
- .header[data-v-78edc5f6] {
1564
+ .header[data-v-9c76e661] {
1565
1565
  display: flex;
1566
1566
  align-items: center;
1567
1567
  justify-content: space-between;
@@ -1572,14 +1572,14 @@ from {
1572
1572
  font-size: var(--ui-font-size-xs);
1573
1573
  font-weight: var(--ui-font-semibold);
1574
1574
  }
1575
- .hint[data-v-78edc5f6] {
1575
+ .hint[data-v-9c76e661] {
1576
1576
  overflow: hidden;
1577
1577
  color: var(--ui-text-muted);
1578
1578
  font-weight: var(--ui-font-normal);
1579
1579
  text-overflow: ellipsis;
1580
1580
  white-space: nowrap;
1581
1581
  }
1582
- .list[data-v-78edc5f6] {
1582
+ .list[data-v-9c76e661] {
1583
1583
  max-height: 280px;
1584
1584
  padding: var(--ui-space-1) 0;
1585
1585
  margin: 0;
@@ -1587,7 +1587,7 @@ from {
1587
1587
  overscroll-behavior: contain;
1588
1588
  list-style: none;
1589
1589
  }
1590
- .item[data-v-78edc5f6] {
1590
+ .item[data-v-9c76e661] {
1591
1591
  display: flex;
1592
1592
  align-items: center;
1593
1593
  min-height: 44px;
@@ -1595,10 +1595,10 @@ from {
1595
1595
  gap: var(--ui-space-3);
1596
1596
  cursor: pointer;
1597
1597
  }
1598
- .item.active[data-v-78edc5f6] {
1598
+ .item.active[data-v-9c76e661] {
1599
1599
  background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
1600
1600
  }
1601
- .avatar[data-v-78edc5f6] {
1601
+ .avatar[data-v-9c76e661] {
1602
1602
  display: inline-flex;
1603
1603
  align-items: center;
1604
1604
  justify-content: center;
@@ -1611,65 +1611,65 @@ from {
1611
1611
  font-size: var(--ui-font-size-xs);
1612
1612
  font-weight: var(--ui-font-semibold);
1613
1613
  }
1614
- .body[data-v-78edc5f6] {
1614
+ .body[data-v-9c76e661] {
1615
1615
  display: flex;
1616
1616
  min-width: 0;
1617
1617
  flex-direction: column;
1618
1618
  }
1619
- .label[data-v-78edc5f6],
1620
- .detail[data-v-78edc5f6] {
1619
+ .label[data-v-9c76e661],
1620
+ .detail[data-v-9c76e661] {
1621
1621
  overflow: hidden;
1622
1622
  text-overflow: ellipsis;
1623
1623
  white-space: nowrap;
1624
1624
  }
1625
- .label[data-v-78edc5f6] {
1625
+ .label[data-v-9c76e661] {
1626
1626
  color: var(--ui-text-primary);
1627
1627
  font-size: var(--ui-font-size-sm);
1628
1628
  font-weight: var(--ui-font-medium);
1629
1629
  }
1630
- .detail[data-v-78edc5f6],
1631
- .loading[data-v-78edc5f6] {
1630
+ .detail[data-v-9c76e661],
1631
+ .loading[data-v-9c76e661] {
1632
1632
  color: var(--ui-text-muted);
1633
1633
  font-size: var(--ui-font-size-xs);
1634
1634
  }
1635
- .loading[data-v-78edc5f6] {
1635
+ .loading[data-v-9c76e661] {
1636
1636
  min-height: 44px;
1637
1637
  padding: var(--ui-space-3);
1638
1638
  }
1639
1639
  @media (max-width: 767px) {
1640
- [data-component~="ui-editor-mention-menu"][data-v-78edc5f6] {
1640
+ [data-component~="ui-editor-mention-menu"][data-v-9c76e661] {
1641
1641
  border-bottom: 0;
1642
1642
  border-radius: var(--ui-radius-dialog) var(--ui-radius-dialog) 0 0;
1643
1643
  }
1644
- .list[data-v-78edc5f6] {
1644
+ .list[data-v-9c76e661] {
1645
1645
  max-height: calc(60dvh - 48px);
1646
1646
  }
1647
1647
  }
1648
- [data-component~="ui-editor-mention-menu"][hidden][data-v-78edc5f6] {
1648
+ [data-component~="ui-editor-mention-menu"][hidden][data-v-9c76e661] {
1649
1649
  display: none;
1650
1650
  }
1651
1651
 
1652
- [data-component~="ui-icon"][data-v-7b1048a0] {
1652
+ [data-component~="ui-icon"][data-v-3d48bd86] {
1653
1653
  display: inline-flex;
1654
1654
  flex: none;
1655
1655
  inline-size: var(--ui-icon-size, 1em);
1656
1656
  block-size: var(--ui-icon-size, 1em);
1657
1657
  }
1658
- svg[data-v-7b1048a0] {
1658
+ svg[data-v-3d48bd86] {
1659
1659
  inline-size: 100%;
1660
1660
  block-size: 100%;
1661
1661
  stroke-width: var(--ui-icon-stroke-width, 2);
1662
1662
  }
1663
1663
 
1664
1664
  /* A component that sets its display still honours the hidden attribute on its root. */
1665
- [data-component~="ui-icon"][hidden][data-v-7b1048a0] {
1665
+ [data-component~="ui-icon"][hidden][data-v-3d48bd86] {
1666
1666
  display: none;
1667
1667
  }
1668
1668
 
1669
- [data-component~="ui-editor-slash-menu"][data-v-e7d0f904] {
1669
+ [data-component~="ui-editor-slash-menu"][data-v-afcbaee6] {
1670
1670
  user-select: none;
1671
1671
  }
1672
- [data-component~="ui-editor-slash-menu"][data-v-e7d0f904] {
1672
+ [data-component~="ui-editor-slash-menu"][data-v-afcbaee6] {
1673
1673
  background: var(--ui-surface);
1674
1674
  border: 1px solid var(--ui-border);
1675
1675
  border-radius: var(--ui-radius-dialog);
@@ -1679,12 +1679,12 @@ svg[data-v-7b1048a0] {
1679
1679
  flex-direction: column;
1680
1680
  }
1681
1681
  @media (max-width: 767px) {
1682
- [data-component~="ui-editor-slash-menu"][data-v-e7d0f904] {
1682
+ [data-component~="ui-editor-slash-menu"][data-v-afcbaee6] {
1683
1683
  border-radius: var(--ui-radius-dialog) var(--ui-radius-dialog) 0 0;
1684
1684
  border-bottom: none;
1685
1685
  }
1686
1686
  }
1687
- .header[data-v-e7d0f904] {
1687
+ .header[data-v-afcbaee6] {
1688
1688
  display: none;
1689
1689
  align-items: center;
1690
1690
  gap: var(--ui-space-2);
@@ -1697,11 +1697,11 @@ svg[data-v-7b1048a0] {
1697
1697
  letter-spacing: 0.05em;
1698
1698
  }
1699
1699
  @media (max-width: 767px) {
1700
- .header[data-v-e7d0f904] {
1700
+ .header[data-v-afcbaee6] {
1701
1701
  display: flex;
1702
1702
  }
1703
1703
  }
1704
- .header-query[data-v-e7d0f904] {
1704
+ .header-query[data-v-afcbaee6] {
1705
1705
  background: var(--ui-surface-hover);
1706
1706
  border-radius: var(--ui-radius-sm);
1707
1707
  padding: 0.1em 0.4em;
@@ -1711,7 +1711,7 @@ svg[data-v-7b1048a0] {
1711
1711
  text-transform: none;
1712
1712
  letter-spacing: 0;
1713
1713
  }
1714
- .list[data-v-e7d0f904] {
1714
+ .list[data-v-afcbaee6] {
1715
1715
  list-style: none;
1716
1716
  margin: 0;
1717
1717
  padding: var(--ui-space-1) 0;
@@ -1720,12 +1720,12 @@ svg[data-v-7b1048a0] {
1720
1720
  overscroll-behavior: contain;
1721
1721
  }
1722
1722
  @media (max-width: 767px) {
1723
- .list[data-v-e7d0f904] {
1723
+ .list[data-v-afcbaee6] {
1724
1724
  max-height: calc(60dvh - 80px);
1725
1725
  padding: var(--ui-space-1) 0 var(--ui-space-2);
1726
1726
  }
1727
1727
  }
1728
- .item[data-v-e7d0f904] {
1728
+ .item[data-v-afcbaee6] {
1729
1729
  display: flex;
1730
1730
  align-items: center;
1731
1731
  gap: var(--ui-space-3);
@@ -1734,10 +1734,10 @@ svg[data-v-7b1048a0] {
1734
1734
  cursor: pointer;
1735
1735
  transition: background-color 120ms ease;
1736
1736
  }
1737
- .item.active[data-v-e7d0f904] {
1737
+ .item.active[data-v-afcbaee6] {
1738
1738
  background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
1739
1739
  }
1740
- .icon[data-v-e7d0f904] {
1740
+ .icon[data-v-afcbaee6] {
1741
1741
  display: flex;
1742
1742
  align-items: center;
1743
1743
  justify-content: center;
@@ -1753,22 +1753,22 @@ svg[data-v-7b1048a0] {
1753
1753
  flex-shrink: 0;
1754
1754
  line-height: 1;
1755
1755
  }
1756
- .item.active .icon[data-v-e7d0f904] {
1756
+ .item.active .icon[data-v-afcbaee6] {
1757
1757
  background: var(--ui-accent);
1758
1758
  border-color: var(--ui-accent);
1759
1759
  color: var(--ui-accent-contrast);
1760
1760
  }
1761
- .icon[data-v-e7d0f904] {
1761
+ .icon[data-v-afcbaee6] {
1762
1762
  --ui-icon-size: 1rem;
1763
1763
  --ui-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
1764
1764
  }
1765
- .body[data-v-e7d0f904] {
1765
+ .body[data-v-afcbaee6] {
1766
1766
  display: flex;
1767
1767
  min-width: 0;
1768
1768
  flex-direction: column;
1769
1769
  gap: 1px;
1770
1770
  }
1771
- .title[data-v-e7d0f904] {
1771
+ .title[data-v-afcbaee6] {
1772
1772
  font-size: var(--ui-font-size-sm);
1773
1773
  font-weight: var(--ui-font-medium);
1774
1774
  color: var(--ui-text);
@@ -1776,14 +1776,14 @@ svg[data-v-7b1048a0] {
1776
1776
  overflow: hidden;
1777
1777
  text-overflow: ellipsis;
1778
1778
  }
1779
- .description[data-v-e7d0f904] {
1779
+ .description[data-v-afcbaee6] {
1780
1780
  font-size: var(--ui-font-size-xs);
1781
1781
  color: var(--ui-text-muted);
1782
1782
  white-space: nowrap;
1783
1783
  overflow: hidden;
1784
1784
  text-overflow: ellipsis;
1785
1785
  }
1786
- .footer[data-v-e7d0f904] {
1786
+ .footer[data-v-afcbaee6] {
1787
1787
  display: none;
1788
1788
  padding: var(--ui-space-2) var(--ui-space-3);
1789
1789
  border-top: 1px solid var(--ui-border);
@@ -1791,11 +1791,11 @@ svg[data-v-7b1048a0] {
1791
1791
  color: var(--ui-text-muted);
1792
1792
  }
1793
1793
  @media (min-width: 768px) {
1794
- .footer[data-v-e7d0f904] {
1794
+ .footer[data-v-afcbaee6] {
1795
1795
  display: block;
1796
1796
  }
1797
1797
  }
1798
- [data-component~="ui-editor-slash-menu"] kbd[data-v-e7d0f904] {
1798
+ [data-component~="ui-editor-slash-menu"] kbd[data-v-afcbaee6] {
1799
1799
  display: inline-flex;
1800
1800
  align-items: center;
1801
1801
  justify-content: center;
@@ -1807,11 +1807,11 @@ svg[data-v-7b1048a0] {
1807
1807
  padding: 0 3px;
1808
1808
  color: var(--ui-text-secondary);
1809
1809
  }
1810
- [data-component~="ui-editor-slash-menu"][hidden][data-v-e7d0f904] {
1810
+ [data-component~="ui-editor-slash-menu"][hidden][data-v-afcbaee6] {
1811
1811
  display: none;
1812
1812
  }
1813
1813
 
1814
- [data-component~="ui-editor-table-context-menu"][data-v-2d9eb67c] {
1814
+ [data-component~="ui-editor-table-context-menu"][data-v-64488d5e] {
1815
1815
  /* The max-width is a promise about the menu's footprint, so it counts padding and border. */
1816
1816
  box-sizing: border-box;
1817
1817
  min-width: 14rem;
@@ -1829,12 +1829,12 @@ svg[data-v-7b1048a0] {
1829
1829
  overscroll-behavior: contain;
1830
1830
  scrollbar-width: thin;
1831
1831
  }
1832
- .section[data-v-2d9eb67c] {
1832
+ .section[data-v-64488d5e] {
1833
1833
  display: flex;
1834
1834
  flex-direction: column;
1835
1835
  gap: 3px;
1836
1836
  }
1837
- [data-component~="ui-editor-table-context-menu"] button[data-v-2d9eb67c] {
1837
+ [data-component~="ui-editor-table-context-menu"] button[data-v-64488d5e] {
1838
1838
  display: flex;
1839
1839
  align-items: center;
1840
1840
  gap: var(--ui-space-2);
@@ -1849,30 +1849,30 @@ svg[data-v-7b1048a0] {
1849
1849
  cursor: pointer;
1850
1850
  color: var(--ui-text);
1851
1851
  }
1852
- [data-component~="ui-editor-table-context-menu"] button[data-v-2d9eb67c] {
1852
+ [data-component~="ui-editor-table-context-menu"] button[data-v-64488d5e] {
1853
1853
  --ui-icon-size: 1rem;
1854
1854
  --ui-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
1855
1855
  }
1856
- [data-component~="ui-editor-table-context-menu"] button[data-v-2d9eb67c]:hover:not(:disabled) {
1856
+ [data-component~="ui-editor-table-context-menu"] button[data-v-64488d5e]:hover:not(:disabled) {
1857
1857
  background: var(--ui-surface-hover);
1858
1858
  }
1859
- [data-component~="ui-editor-table-context-menu"] button.selected[data-v-2d9eb67c] {
1859
+ [data-component~="ui-editor-table-context-menu"] button.selected[data-v-64488d5e] {
1860
1860
  background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
1861
1861
  }
1862
- [data-component~="ui-editor-table-context-menu"] button.danger[data-v-2d9eb67c] {
1862
+ [data-component~="ui-editor-table-context-menu"] button.danger[data-v-64488d5e] {
1863
1863
  color: var(--ui-danger);
1864
1864
  }
1865
- .swatches[data-v-2d9eb67c] {
1865
+ .swatches[data-v-64488d5e] {
1866
1866
  display: grid;
1867
1867
  grid-template-columns: repeat(3, minmax(0, 1fr));
1868
1868
  gap: 3px;
1869
1869
  }
1870
- .swatch-button[data-v-2d9eb67c] {
1870
+ .swatch-button[data-v-64488d5e] {
1871
1871
  display: inline-flex;
1872
1872
  align-items: center;
1873
1873
  gap: var(--ui-space-2);
1874
1874
  }
1875
- .swatch[data-v-2d9eb67c] {
1875
+ .swatch[data-v-64488d5e] {
1876
1876
  display: inline-flex;
1877
1877
  width: 1rem;
1878
1878
  height: 1rem;
@@ -1882,7 +1882,7 @@ svg[data-v-7b1048a0] {
1882
1882
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.35);
1883
1883
  flex-shrink: 0;
1884
1884
  }
1885
- .swatch.default[data-v-2d9eb67c] {
1885
+ .swatch.default[data-v-64488d5e] {
1886
1886
  position: relative;
1887
1887
  background:
1888
1888
  linear-gradient(
@@ -1894,11 +1894,11 @@ svg[data-v-7b1048a0] {
1894
1894
  ),
1895
1895
  var(--ui-surface);
1896
1896
  }
1897
- .swatch-label[data-v-2d9eb67c] {
1897
+ .swatch-label[data-v-64488d5e] {
1898
1898
  min-width: 0;
1899
1899
  white-space: nowrap;
1900
1900
  }
1901
- .heading[data-v-2d9eb67c] {
1901
+ .heading[data-v-64488d5e] {
1902
1902
  padding: var(--ui-space-1) var(--ui-space-2);
1903
1903
  font-size: var(--ui-font-size-2xs);
1904
1904
  font-weight: 700;
@@ -1906,48 +1906,48 @@ svg[data-v-7b1048a0] {
1906
1906
  text-transform: uppercase;
1907
1907
  color: var(--ui-text-muted);
1908
1908
  }
1909
- .sep[data-v-2d9eb67c] {
1909
+ .sep[data-v-64488d5e] {
1910
1910
  height: 1px;
1911
1911
  background: var(--ui-border);
1912
1912
  margin: var(--ui-space-1) 0;
1913
1913
  }
1914
- [data-component~="ui-editor-table-context-menu"][hidden][data-v-2d9eb67c] {
1914
+ [data-component~="ui-editor-table-context-menu"][hidden][data-v-64488d5e] {
1915
1915
  display: none;
1916
1916
  }
1917
1917
 
1918
- [data-component~="ui-editor-table-overlay"][data-v-61a70a30] {
1918
+ [data-component~="ui-editor-table-overlay"][data-v-fed0c263] {
1919
1919
  display: block;
1920
1920
  width: 100%;
1921
1921
  height: 100%;
1922
1922
  overflow: visible;
1923
1923
  pointer-events: none;
1924
1924
  }
1925
- [data-component~="ui-editor-table-overlay"][data-v-61a70a30] {
1925
+ [data-component~="ui-editor-table-overlay"][data-v-fed0c263] {
1926
1926
  position: relative;
1927
1927
  width: 100%;
1928
1928
  height: 100%;
1929
1929
  overflow: visible;
1930
1930
  pointer-events: none;
1931
1931
  }
1932
- .rows[data-v-61a70a30],
1933
- .cols[data-v-61a70a30] {
1932
+ .rows[data-v-fed0c263],
1933
+ .cols[data-v-fed0c263] {
1934
1934
  pointer-events: none;
1935
1935
  position: absolute;
1936
1936
  }
1937
- .rows[data-v-61a70a30] {
1937
+ .rows[data-v-fed0c263] {
1938
1938
  inset: 0;
1939
1939
  width: 100%;
1940
1940
  }
1941
- .cols[data-v-61a70a30] {
1941
+ .cols[data-v-fed0c263] {
1942
1942
  inset: 0;
1943
1943
  height: 100%;
1944
1944
  }
1945
- .control[data-v-61a70a30] {
1945
+ .control[data-v-fed0c263] {
1946
1946
  position: absolute;
1947
1947
  z-index: 1;
1948
1948
  pointer-events: none;
1949
1949
  }
1950
- .handle[data-v-61a70a30] {
1950
+ .handle[data-v-fed0c263] {
1951
1951
  position: absolute;
1952
1952
  display: inline-flex;
1953
1953
  align-items: center;
@@ -1974,65 +1974,65 @@ svg[data-v-7b1048a0] {
1974
1974
  pointer-events: auto;
1975
1975
  cursor: pointer;
1976
1976
  }
1977
- .handle[data-v-61a70a30] {
1977
+ .handle[data-v-fed0c263] {
1978
1978
  --ui-icon-size: 14px;
1979
1979
  --ui-icon-stroke-width: 2;
1980
1980
  }
1981
- .handle[data-ui-proximity="near"][data-v-61a70a30],
1982
- .control.active .handle[data-v-61a70a30],
1983
- .handle[data-v-61a70a30]:focus-visible {
1981
+ .handle[data-ui-proximity="near"][data-v-fed0c263],
1982
+ .control.active .handle[data-v-fed0c263],
1983
+ .handle[data-v-fed0c263]:focus-visible {
1984
1984
  opacity: 1;
1985
1985
  scale: 1;
1986
1986
  }
1987
- .control.active .handle[data-v-61a70a30],
1988
- .handle[data-v-61a70a30]:focus-visible {
1987
+ .control.active .handle[data-v-fed0c263],
1988
+ .handle[data-v-fed0c263]:focus-visible {
1989
1989
  border-color: var(--ui-affordance-direct-color, var(--ui-accent-solid));
1990
1990
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
1991
1991
  color: var(--ui-text-on-accent);
1992
1992
  box-shadow: var(--ui-shadow-sm, 0 1px 3px rgb(0 0 0 / 0.1));
1993
1993
  }
1994
- .handle[data-v-61a70a30]:focus-visible,
1995
- .selector[data-v-61a70a30]:focus-visible,
1996
- .cell-menu[data-v-61a70a30]:focus-visible {
1994
+ .handle[data-v-fed0c263]:focus-visible,
1995
+ .selector[data-v-fed0c263]:focus-visible,
1996
+ .cell-menu[data-v-fed0c263]:focus-visible {
1997
1997
  outline: 2px solid var(--ui-focus-ring);
1998
1998
  outline-offset: 2px;
1999
1999
  }
2000
- .control.row[data-v-61a70a30] {
2000
+ .control.row[data-v-fed0c263] {
2001
2001
  left: 0;
2002
2002
  width: 100%;
2003
2003
  height: 0;
2004
2004
  }
2005
- .control.row .handle[data-v-61a70a30] {
2005
+ .control.row .handle[data-v-fed0c263] {
2006
2006
  top: -12px;
2007
2007
  left: -30px;
2008
2008
  }
2009
- .control.col[data-v-61a70a30] {
2009
+ .control.col[data-v-fed0c263] {
2010
2010
  top: 0;
2011
2011
  width: 0;
2012
2012
  height: 100%;
2013
2013
  }
2014
- .control.col .handle[data-v-61a70a30] {
2014
+ .control.col .handle[data-v-fed0c263] {
2015
2015
  top: -30px;
2016
2016
  left: -12px;
2017
2017
  }
2018
- .line[data-v-61a70a30] {
2018
+ .line[data-v-fed0c263] {
2019
2019
  position: absolute;
2020
2020
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
2021
2021
  opacity: 0;
2022
2022
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2023
2023
  }
2024
- .control.row .line[data-v-61a70a30] {
2024
+ .control.row .line[data-v-fed0c263] {
2025
2025
  inset: -1px 0 auto;
2026
2026
  height: 2px;
2027
2027
  }
2028
- .control.col .line[data-v-61a70a30] {
2028
+ .control.col .line[data-v-fed0c263] {
2029
2029
  inset: 0 auto 0 -1px;
2030
2030
  width: 2px;
2031
2031
  }
2032
- .control.active .line[data-v-61a70a30] {
2032
+ .control.active .line[data-v-fed0c263] {
2033
2033
  opacity: 0.8;
2034
2034
  }
2035
- .guide[data-v-61a70a30] {
2035
+ .guide[data-v-fed0c263] {
2036
2036
  position: absolute;
2037
2037
  width: var(--ui-affordance-guide-size);
2038
2038
  height: var(--ui-affordance-guide-size);
@@ -2041,19 +2041,19 @@ svg[data-v-7b1048a0] {
2041
2041
  opacity: var(--ui-affordance-guide-opacity);
2042
2042
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2043
2043
  }
2044
- .control.row .guide[data-v-61a70a30] {
2044
+ .control.row .guide[data-v-fed0c263] {
2045
2045
  left: -10px;
2046
2046
  top: -2px;
2047
2047
  }
2048
- .control.col .guide[data-v-61a70a30] {
2048
+ .control.col .guide[data-v-fed0c263] {
2049
2049
  left: -2px;
2050
2050
  top: -10px;
2051
2051
  }
2052
- .control:has(.handle[data-ui-proximity="near"]) .guide[data-v-61a70a30],
2053
- .control.active .guide[data-v-61a70a30] {
2052
+ .control:has(.handle[data-ui-proximity="near"]) .guide[data-v-fed0c263],
2053
+ .control.active .guide[data-v-fed0c263] {
2054
2054
  opacity: 0;
2055
2055
  }
2056
- .tooltip[data-v-61a70a30] {
2056
+ .tooltip[data-v-fed0c263] {
2057
2057
  position: absolute;
2058
2058
  z-index: 2;
2059
2059
  top: calc(100% + 6px);
@@ -2072,18 +2072,18 @@ svg[data-v-7b1048a0] {
2072
2072
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2073
2073
  pointer-events: none;
2074
2074
  }
2075
- .control.row .tooltip[data-v-61a70a30] {
2075
+ .control.row .tooltip[data-v-fed0c263] {
2076
2076
  top: 50%;
2077
2077
  left: auto;
2078
2078
  right: calc(100% + 8px);
2079
2079
  transform: translateY(-50%);
2080
2080
  }
2081
- .control.active .tooltip[data-v-61a70a30],
2082
- .handle:focus-visible .tooltip[data-v-61a70a30] {
2081
+ .control.active .tooltip[data-v-fed0c263],
2082
+ .handle:focus-visible .tooltip[data-v-fed0c263] {
2083
2083
  opacity: 1;
2084
2084
  }
2085
- .selector[data-v-61a70a30],
2086
- .cell-menu[data-v-61a70a30] {
2085
+ .selector[data-v-fed0c263],
2086
+ .cell-menu[data-v-fed0c263] {
2087
2087
  position: absolute;
2088
2088
  z-index: 2;
2089
2089
  display: inline-flex;
@@ -2102,16 +2102,16 @@ svg[data-v-7b1048a0] {
2102
2102
  border-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
2103
2103
  box-shadow var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2104
2104
  }
2105
- .selector[data-v-61a70a30]:hover,
2106
- .cell-menu[data-v-61a70a30]:hover {
2105
+ .selector[data-v-fed0c263]:hover,
2106
+ .cell-menu[data-v-fed0c263]:hover {
2107
2107
  background: var(--ui-icon-button-hover-surface, var(--ui-surface-muted));
2108
2108
  color: var(--ui-icon-button-hover-text, var(--ui-text-primary));
2109
2109
  box-shadow: var(--ui-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));
2110
2110
  }
2111
- .selector[data-v-61a70a30] {
2111
+ .selector[data-v-fed0c263] {
2112
2112
  border-radius: var(--ui-radius-round);
2113
2113
  }
2114
- .selector[data-v-61a70a30]::before {
2114
+ .selector[data-v-fed0c263]::before {
2115
2115
  content: "";
2116
2116
  position: absolute;
2117
2117
  inset: 50% auto auto 50%;
@@ -2122,7 +2122,7 @@ svg[data-v-7b1048a0] {
2122
2122
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2123
2123
  pointer-events: none;
2124
2124
  }
2125
- .selector .glyph[data-v-61a70a30] {
2125
+ .selector .glyph[data-v-fed0c263] {
2126
2126
  display: block;
2127
2127
  width: 14px;
2128
2128
  height: 14px;
@@ -2134,59 +2134,59 @@ svg[data-v-7b1048a0] {
2134
2134
  opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
2135
2135
  transform var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
2136
2136
  }
2137
- .selector[data-v-61a70a30]:hover::before,
2138
- .selector[data-v-61a70a30]:focus-visible::before {
2137
+ .selector[data-v-fed0c263]:hover::before,
2138
+ .selector[data-v-fed0c263]:focus-visible::before {
2139
2139
  opacity: 0;
2140
2140
  }
2141
- .selector:hover .glyph[data-v-61a70a30],
2142
- .selector:focus-visible .glyph[data-v-61a70a30] {
2141
+ .selector:hover .glyph[data-v-fed0c263],
2142
+ .selector:focus-visible .glyph[data-v-fed0c263] {
2143
2143
  opacity: 1;
2144
2144
  transform: scale(1);
2145
2145
  }
2146
- .selector.row[data-v-61a70a30] {
2146
+ .selector.row[data-v-fed0c263] {
2147
2147
  left: -9px;
2148
2148
  width: 18px;
2149
2149
  height: 32px;
2150
2150
  transform: translateY(-50%);
2151
2151
  }
2152
- .selector.row[data-v-61a70a30]::before {
2152
+ .selector.row[data-v-fed0c263]::before {
2153
2153
  width: 2px;
2154
2154
  height: 16px;
2155
2155
  }
2156
- .selector.column[data-v-61a70a30] {
2156
+ .selector.column[data-v-fed0c263] {
2157
2157
  top: -9px;
2158
2158
  width: 32px;
2159
2159
  height: 18px;
2160
2160
  transform: translateX(-50%);
2161
2161
  }
2162
- .selector.column[data-v-61a70a30]::before {
2162
+ .selector.column[data-v-fed0c263]::before {
2163
2163
  width: 16px;
2164
2164
  height: 2px;
2165
2165
  }
2166
2166
  @media (hover: none), (pointer: coarse) {
2167
- .selector[data-v-61a70a30]::before {
2167
+ .selector[data-v-fed0c263]::before {
2168
2168
  opacity: 0;
2169
2169
  }
2170
- .selector .glyph[data-v-61a70a30] {
2170
+ .selector .glyph[data-v-fed0c263] {
2171
2171
  opacity: 1;
2172
2172
  transform: none;
2173
2173
  }
2174
2174
  }
2175
- .cell-menu[data-v-61a70a30] {
2175
+ .cell-menu[data-v-fed0c263] {
2176
2176
  width: 24px;
2177
2177
  height: 24px;
2178
2178
  border-radius: var(--ui-radius-sm);
2179
2179
  background: color-mix(in srgb, var(--ui-surface-muted) 78%, transparent);
2180
2180
  }
2181
- .cell-menu[data-v-61a70a30] {
2181
+ .cell-menu[data-v-fed0c263] {
2182
2182
  --ui-icon-size: 15px;
2183
2183
  --ui-icon-stroke-width: 2;
2184
2184
  }
2185
- [data-component~="ui-editor-table-overlay"][hidden][data-v-61a70a30] {
2185
+ [data-component~="ui-editor-table-overlay"][hidden][data-v-fed0c263] {
2186
2186
  display: none;
2187
2187
  }
2188
2188
 
2189
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"][data-v-1b253cb1] {
2189
+ .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"][data-v-fdb800d4] {
2190
2190
  min-width: max-content;
2191
2191
  min-height: 100%;
2192
2192
  padding: 0;
@@ -2196,15 +2196,15 @@ svg[data-v-7b1048a0] {
2196
2196
  box-shadow: none;
2197
2197
  backdrop-filter: none;
2198
2198
  }
2199
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button[data-v-1b253cb1] {
2199
+ .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button[data-v-fdb800d4] {
2200
2200
  min-height: 44px;
2201
2201
  background: transparent;
2202
2202
  }
2203
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.active[data-v-1b253cb1],
2204
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.selected[data-v-1b253cb1] {
2203
+ .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.active[data-v-fdb800d4],
2204
+ .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.selected[data-v-fdb800d4] {
2205
2205
  background: var(--ui-accent-soft, var(--ui-accent-subtle));
2206
2206
  }
2207
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] .menu[data-v-1b253cb1] {
2207
+ .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] .menu[data-v-fdb800d4] {
2208
2208
  top: auto;
2209
2209
  right: 0;
2210
2210
  bottom: calc(100% + var(--ui-space-2));
@@ -2212,7 +2212,7 @@ svg[data-v-7b1048a0] {
2212
2212
  overflow-y: auto;
2213
2213
  overscroll-behavior: contain;
2214
2214
  }
2215
- [data-component~="ui-editor-table-toolbar"][data-v-1b253cb1] {
2215
+ [data-component~="ui-editor-table-toolbar"][data-v-fdb800d4] {
2216
2216
  display: inline-flex;
2217
2217
  align-items: center;
2218
2218
  gap: var(--ui-space-1);
@@ -2223,21 +2223,21 @@ svg[data-v-7b1048a0] {
2223
2223
  box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
2224
2224
  backdrop-filter: blur(10px);
2225
2225
  }
2226
- .group[data-v-1b253cb1] {
2226
+ .group[data-v-fdb800d4] {
2227
2227
  display: inline-flex;
2228
2228
  align-items: center;
2229
2229
  gap: 2px;
2230
2230
  overflow: hidden;
2231
2231
  }
2232
- .sep[data-v-1b253cb1] {
2232
+ .sep[data-v-fdb800d4] {
2233
2233
  width: 1px;
2234
2234
  align-self: stretch;
2235
2235
  background: var(--ui-border);
2236
2236
  }
2237
- .overflow[data-v-1b253cb1] {
2237
+ .overflow[data-v-fdb800d4] {
2238
2238
  position: relative;
2239
2239
  }
2240
- [data-component~="ui-editor-table-toolbar"] button[data-v-1b253cb1] {
2240
+ [data-component~="ui-editor-table-toolbar"] button[data-v-fdb800d4] {
2241
2241
  display: inline-flex;
2242
2242
  align-items: center;
2243
2243
  justify-content: center;
@@ -2254,39 +2254,39 @@ svg[data-v-7b1048a0] {
2254
2254
  padding: var(--ui-space-2) var(--ui-space-2);
2255
2255
  white-space: nowrap;
2256
2256
  }
2257
- [data-component~="ui-editor-table-toolbar"] button[data-v-1b253cb1]:hover {
2257
+ [data-component~="ui-editor-table-toolbar"] button[data-v-fdb800d4]:hover {
2258
2258
  background: var(--ui-surface-hover);
2259
2259
  }
2260
- [data-component~="ui-editor-table-toolbar"] button.active[data-v-1b253cb1] {
2260
+ [data-component~="ui-editor-table-toolbar"] button.active[data-v-fdb800d4] {
2261
2261
  background: var(--ui-accent-soft, var(--ui-accent-subtle));
2262
2262
  color: var(--ui-accent-active);
2263
2263
  }
2264
- .group button[data-v-1b253cb1] {
2264
+ .group button[data-v-fdb800d4] {
2265
2265
  border-radius: var(--ui-radius-sm);
2266
2266
  }
2267
- .group button + button[data-v-1b253cb1] {
2267
+ .group button + button[data-v-fdb800d4] {
2268
2268
  border-left: 0;
2269
2269
  }
2270
- [data-component~="ui-editor-table-toolbar"] .more[data-v-1b253cb1] {
2270
+ [data-component~="ui-editor-table-toolbar"] .more[data-v-fdb800d4] {
2271
2271
  border: 0;
2272
2272
  border-radius: var(--ui-radius-sm);
2273
2273
  }
2274
- [data-component~="ui-editor-table-toolbar"] button.danger[data-v-1b253cb1] {
2274
+ [data-component~="ui-editor-table-toolbar"] button.danger[data-v-fdb800d4] {
2275
2275
  color: var(--ui-danger);
2276
2276
  }
2277
- [data-component~="ui-editor-table-toolbar"][data-v-1b253cb1] {
2277
+ [data-component~="ui-editor-table-toolbar"][data-v-fdb800d4] {
2278
2278
  --ui-icon-size: var(--ui-editor-toolbar-icon-size, 1rem);
2279
2279
  --ui-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
2280
2280
  }
2281
- .chevron[data-v-1b253cb1] {
2281
+ .chevron[data-v-fdb800d4] {
2282
2282
  display: inline-flex;
2283
2283
  --ui-icon-size: 0.875rem;
2284
2284
  }
2285
- [data-component~="ui-editor-table-toolbar"] .icon-button[data-v-1b253cb1] {
2285
+ [data-component~="ui-editor-table-toolbar"] .icon-button[data-v-fdb800d4] {
2286
2286
  width: 32px;
2287
2287
  padding-inline: 0;
2288
2288
  }
2289
- .menu[data-v-1b253cb1] {
2289
+ .menu[data-v-fdb800d4] {
2290
2290
  position: absolute;
2291
2291
  top: calc(100% + var(--ui-space-2));
2292
2292
  right: 0;
@@ -2301,12 +2301,12 @@ svg[data-v-7b1048a0] {
2301
2301
  gap: 2px;
2302
2302
  z-index: 2;
2303
2303
  }
2304
- .menu-section + .menu-section[data-v-1b253cb1] {
2304
+ .menu-section + .menu-section[data-v-fdb800d4] {
2305
2305
  margin-top: var(--ui-space-1);
2306
2306
  padding-top: var(--ui-space-1);
2307
2307
  border-top: 1px solid color-mix(in srgb, var(--ui-border) 80%, transparent);
2308
2308
  }
2309
- .menu-heading[data-v-1b253cb1] {
2309
+ .menu-heading[data-v-fdb800d4] {
2310
2310
  padding: var(--ui-space-1) var(--ui-space-2);
2311
2311
  font-size: var(--ui-font-size-2xs);
2312
2312
  font-weight: 700;
@@ -2314,22 +2314,22 @@ svg[data-v-7b1048a0] {
2314
2314
  text-transform: uppercase;
2315
2315
  color: var(--ui-text-muted);
2316
2316
  }
2317
- .menu button[data-v-1b253cb1] {
2317
+ .menu button[data-v-fdb800d4] {
2318
2318
  display: flex;
2319
2319
  justify-content: flex-start;
2320
2320
  width: 100%;
2321
2321
  text-align: left;
2322
2322
  }
2323
- .swatches[data-v-1b253cb1] {
2323
+ .swatches[data-v-fdb800d4] {
2324
2324
  display: grid;
2325
2325
  grid-template-columns: repeat(3, minmax(0, 1fr));
2326
2326
  gap: 2px;
2327
2327
  }
2328
- [data-component~="ui-editor-table-toolbar"] .swatch-button[data-v-1b253cb1] {
2328
+ [data-component~="ui-editor-table-toolbar"] .swatch-button[data-v-fdb800d4] {
2329
2329
  gap: var(--ui-space-1);
2330
2330
  justify-content: flex-start;
2331
2331
  }
2332
- .swatch[data-v-1b253cb1] {
2332
+ .swatch[data-v-fdb800d4] {
2333
2333
  width: 14px;
2334
2334
  height: 14px;
2335
2335
  flex: 0 0 14px;
@@ -2337,58 +2337,100 @@ svg[data-v-7b1048a0] {
2337
2337
  border-radius: 3px;
2338
2338
  background: var(--_swatch);
2339
2339
  }
2340
- .swatch.default[data-v-1b253cb1] {
2340
+ .swatch.default[data-v-fdb800d4] {
2341
2341
  background:
2342
2342
  linear-gradient(135deg, transparent 44%, var(--ui-danger) 46% 54%, transparent 56%),
2343
2343
  var(--ui-surface);
2344
2344
  }
2345
- .swatch-button.selected[data-v-1b253cb1] {
2345
+ .swatch-button.selected[data-v-fdb800d4] {
2346
2346
  background: var(--ui-accent-soft, var(--ui-accent-subtle));
2347
2347
  }
2348
- [data-component~="ui-editor-table-toolbar"][hidden][data-v-1b253cb1] {
2348
+ [data-component~="ui-editor-table-toolbar"][hidden][data-v-fdb800d4] {
2349
2349
  display: none;
2350
2350
  }
2351
2351
 
2352
- [data-component~="ui-editor-toolbar"][data-v-b71db5ba] {
2352
+ [data-component~="ui-editor-toolbar"][data-v-8f7cefb2] {
2353
+ /* The colour the edge fades blend into: whatever the toolbar is painted with. */
2354
+ --_matte: var(--ui-editor-toolbar-surface, var(--ui-surface));
2355
+
2353
2356
  position: sticky;
2354
2357
  top: 0;
2355
2358
  z-index: var(--ui-editor-toolbar-z-index, 10);
2356
2359
  display: flex;
2357
2360
  align-items: center;
2358
- justify-content: flex-start;
2359
- gap: var(--ui-editor-toolbar-gap, 2px);
2360
2361
  padding: var(--ui-editor-toolbar-padding-block, 6px)
2361
2362
  var(--ui-editor-toolbar-padding-inline, 12px);
2362
2363
  min-height: var(--ui-editor-toolbar-min-height, 48px);
2363
- /* More controls than the column is wide is normal at a readable measure, so the row wraps.
2364
- Scrolling hid the tail behind an invisible scrollbar. */
2365
- flex-wrap: wrap;
2366
- row-gap: var(--ui-editor-toolbar-row-gap, var(--ui-editor-toolbar-gap, 2px));
2367
2364
  background: var(--ui-editor-toolbar-surface, var(--ui-surface));
2368
2365
  border-bottom: 1px solid var(--ui-editor-toolbar-border, var(--ui-border));
2369
2366
  }
2370
- [data-component~="ui-editor-toolbar"][data-v-b71db5ba]::-webkit-scrollbar {
2367
+
2368
+ /* One row, always. When the controls outgrow the space, the row scrolls sideways rather than
2369
+ wrapping into several lines, and a fade at each edge that has more to show says so. */
2370
+ .strip[data-v-8f7cefb2] {
2371
+ display: flex;
2372
+ flex: 1 1 auto;
2373
+ align-items: center;
2374
+ justify-content: flex-start;
2375
+ gap: var(--ui-editor-toolbar-gap, 2px);
2376
+ min-width: 0;
2377
+ overflow-x: auto;
2378
+ overflow-y: hidden;
2379
+ overscroll-behavior-inline: contain;
2380
+ scrollbar-width: none;
2381
+ }
2382
+ .strip[data-v-8f7cefb2]::-webkit-scrollbar {
2371
2383
  display: none;
2372
2384
  }
2373
- [data-component~="ui-editor-toolbar"] > [data-v-b71db5ba-s] {
2385
+ .strip > [data-v-8f7cefb2-s] {
2374
2386
  flex: 0 0 auto;
2375
2387
  }
2376
- .divider[data-v-b71db5ba-s] {
2388
+
2389
+ /* The fades are mattes laid over the strip in the toolbar's own colour, not a mask, so a floating
2390
+ toolbar's border and shadow stay whole. Each appears only while that edge hides controls. */
2391
+ [data-component~="ui-editor-toolbar"][data-v-8f7cefb2]::before,
2392
+ [data-component~="ui-editor-toolbar"][data-v-8f7cefb2]::after {
2393
+ position: absolute;
2394
+ z-index: 1;
2395
+ inset-block: 0;
2396
+ inline-size: var(--ui-editor-toolbar-fade-size, 32px);
2397
+ content: "";
2398
+ opacity: 0;
2399
+ pointer-events: none;
2400
+ transition: opacity var(--ui-motion-fast, 120ms) var(--ui-motion-ease, ease);
2401
+ }
2402
+ [data-component~="ui-editor-toolbar"][data-v-8f7cefb2]::before {
2403
+ inset-inline-start: 0;
2404
+ background: linear-gradient(to right, var(--_matte), transparent);
2405
+ }
2406
+ [data-component~="ui-editor-toolbar"][data-v-8f7cefb2]::after {
2407
+ inset-inline-end: 0;
2408
+ background: linear-gradient(to left, var(--_matte), transparent);
2409
+ }
2410
+ [data-component~="ui-editor-toolbar"][data-v-8f7cefb2]:dir(rtl)::before {
2411
+ background: linear-gradient(to left, var(--_matte), transparent);
2412
+ }
2413
+ [data-component~="ui-editor-toolbar"][data-v-8f7cefb2]:dir(rtl)::after {
2414
+ background: linear-gradient(to right, var(--_matte), transparent);
2415
+ }
2416
+ [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="overflowStart"][data-v-8f7cefb2]::before,
2417
+ [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="overflowEnd"][data-v-8f7cefb2]::after {
2418
+ opacity: 1;
2419
+ }
2420
+ .divider[data-v-8f7cefb2-s] {
2377
2421
  width: 1px;
2378
2422
  height: 20px;
2379
2423
  background: var(--ui-editor-toolbar-divider, var(--ui-border));
2380
2424
  flex-shrink: 0;
2381
2425
  margin: 0 var(--ui-editor-toolbar-divider-margin, 4px);
2382
2426
  }
2383
- [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"][data-v-b71db5ba] {
2384
- flex-wrap: nowrap;
2385
- position: static;
2427
+ [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"][data-v-8f7cefb2] {
2428
+ position: relative;
2386
2429
  top: auto;
2387
2430
  width: max-content;
2388
2431
  max-width: min(calc(100vw - 24px), 100%);
2389
2432
  min-height: auto;
2390
2433
  padding: var(--ui-editor-toolbar-floating-padding, 4px);
2391
- overflow-x: visible;
2392
2434
  background: color-mix(
2393
2435
  in srgb,
2394
2436
  var(--ui-editor-toolbar-surface, var(--ui-surface)) 96%,
@@ -2403,7 +2445,7 @@ svg[data-v-7b1048a0] {
2403
2445
  backdrop-filter: blur(10px);
2404
2446
  }
2405
2447
  @media (max-width: 767px) {
2406
- [data-component~="ui-editor-toolbar"][data-v-b71db5ba] {
2448
+ [data-component~="ui-editor-toolbar"][data-v-8f7cefb2] {
2407
2449
  position: fixed;
2408
2450
  top: auto;
2409
2451
  bottom: env(safe-area-inset-bottom);
@@ -2414,8 +2456,8 @@ svg[data-v-7b1048a0] {
2414
2456
  border-bottom: none;
2415
2457
  box-shadow: var(--ui-editor-toolbar-mobile-shadow, 0 -2px 8px rgb(0 0 0 / 0.06));
2416
2458
  }
2417
- [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"][data-v-b71db5ba] {
2418
- position: static;
2459
+ [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"][data-v-8f7cefb2] {
2460
+ position: relative;
2419
2461
  inset: auto;
2420
2462
  min-height: auto;
2421
2463
  border: 1px solid var(--ui-editor-toolbar-border, var(--ui-border));
@@ -2428,10 +2470,11 @@ svg[data-v-7b1048a0] {
2428
2470
  }
2429
2471
 
2430
2472
  /* Inside LoomaEditor's sticky shell, the shell is the sticky surface. */
2431
- .looma-editor__sticky-toolbar-shell [data-component~="ui-editor-toolbar"][data-v-b71db5ba] {
2432
- position: static;
2473
+ .looma-editor__sticky-toolbar-shell [data-component~="ui-editor-toolbar"][data-v-8f7cefb2] {
2474
+ --_matte: var(--ui-editor-toolbar-surface, var(--ui-surface));
2475
+
2476
+ position: relative;
2433
2477
  min-height: var(--ui-editor-toolbar-min-height, 48px);
2434
- overscroll-behavior-inline: contain;
2435
2478
  background: transparent;
2436
2479
  border: 0;
2437
2480
  box-shadow: none;
@@ -2439,28 +2482,29 @@ svg[data-v-7b1048a0] {
2439
2482
 
2440
2483
  /* Inside LoomaEditor's mobile shell, the toolbar is a scroll-snapping strip. */
2441
2484
  .looma-editor__mobile-toolbar-shell
2442
- [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"][data-v-b71db5ba] {
2485
+ [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"][data-v-8f7cefb2] {
2443
2486
  width: 100%;
2444
2487
  max-width: none;
2445
2488
  min-height: 100%;
2446
2489
  padding: 0;
2447
- overflow-x: auto;
2448
- overflow-y: hidden;
2449
- overscroll-behavior-inline: contain;
2450
- scroll-snap-type: x mandatory;
2451
2490
  background: transparent;
2452
2491
  border: 0;
2453
2492
  border-radius: 0;
2454
2493
  box-shadow: none;
2455
2494
  backdrop-filter: none;
2456
2495
  }
2496
+ .looma-editor__mobile-toolbar-shell
2497
+ [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"]
2498
+ .strip[data-v-8f7cefb2] {
2499
+ scroll-snap-type: x mandatory;
2500
+ }
2457
2501
 
2458
2502
  /* A component that sets its display still honours the hidden attribute on its root. */
2459
- [data-component~="ui-editor-toolbar"][hidden][data-v-b71db5ba] {
2503
+ [data-component~="ui-editor-toolbar"][hidden][data-v-8f7cefb2] {
2460
2504
  display: none;
2461
2505
  }
2462
2506
 
2463
- [data-component~="ui-floating-action-button"][data-v-62b77471] {
2507
+ [data-component~="ui-floating-action-button"][data-v-dc9b5621] {
2464
2508
  position: fixed;
2465
2509
  inset-block-end: calc(
2466
2510
  var(--ui-floating-action-button-inset-block-end, var(--ui-space-6)) +
@@ -2475,7 +2519,7 @@ svg[data-v-7b1048a0] {
2475
2519
  display: inline-flex;
2476
2520
  z-index: var(--ui-floating-action-button-z-index, 100);
2477
2521
  }
2478
- [data-component~="ui-floating-action-button"][data-v-62b77471] {
2522
+ [data-component~="ui-floating-action-button"][data-v-dc9b5621] {
2479
2523
  appearance: none;
2480
2524
  border: none;
2481
2525
  border-radius: 999px;
@@ -2493,38 +2537,38 @@ svg[data-v-7b1048a0] {
2493
2537
  transform var(--ui-motion-fast) var(--ui-motion-ease),
2494
2538
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
2495
2539
  }
2496
- [data-component~="ui-floating-action-button"][data-v-62b77471]:hover:enabled {
2540
+ [data-component~="ui-floating-action-button"][data-v-dc9b5621]:hover:enabled {
2497
2541
  background: var(--ui-accent-hover);
2498
2542
  box-shadow: 0 6px 16px color-mix(in srgb, var(--ui-accent) 50%, transparent);
2499
2543
  }
2500
- [data-component~="ui-floating-action-button"][data-v-62b77471]:active:enabled {
2544
+ [data-component~="ui-floating-action-button"][data-v-dc9b5621]:active:enabled {
2501
2545
  transform: scale(0.94);
2502
2546
  }
2503
- [data-component~="ui-floating-action-button"][data-v-62b77471]:focus-visible {
2547
+ [data-component~="ui-floating-action-button"][data-v-dc9b5621]:focus-visible {
2504
2548
  outline: 2px solid var(--ui-focus-ring);
2505
2549
  outline-offset: 2px;
2506
2550
  }
2507
- [data-component~="ui-floating-action-button"][data-v-62b77471]:disabled {
2551
+ [data-component~="ui-floating-action-button"][data-v-dc9b5621]:disabled {
2508
2552
  opacity: 0.6;
2509
2553
  cursor: not-allowed;
2510
2554
  }
2511
- svg[data-v-62b77471-s] {
2555
+ svg[data-v-dc9b5621-s] {
2512
2556
  inline-size: var(--ui-icon-size-lg);
2513
2557
  block-size: var(--ui-icon-size-lg);
2514
2558
  flex-shrink: 0;
2515
2559
  }
2516
2560
  @media (min-width: 768px) {
2517
- [data-component~="ui-floating-action-button"][data-ui-floating-action-button-state~="mobileOnly"][data-v-62b77471] {
2561
+ [data-component~="ui-floating-action-button"][data-ui-floating-action-button-state~="mobileOnly"][data-v-dc9b5621] {
2518
2562
  display: none;
2519
2563
  }
2520
2564
  }
2521
2565
 
2522
2566
  /* A component that sets its display still honours the hidden attribute on its root. */
2523
- [data-component~="ui-floating-action-button"][hidden][data-v-62b77471] {
2567
+ [data-component~="ui-floating-action-button"][hidden][data-v-dc9b5621] {
2524
2568
  display: none;
2525
2569
  }
2526
2570
 
2527
- [data-component~="ui-form-field"][data-v-13b85af2] {
2571
+ [data-component~="ui-form-field"][data-v-eba1e76b] {
2528
2572
  display: grid;
2529
2573
  gap: var(--ui-space-2);
2530
2574
  min-inline-size: 0;
@@ -2534,34 +2578,34 @@ svg[data-v-62b77471-s] {
2534
2578
 
2535
2579
  /* Each named region styles whatever fills it, however it was slotted (slot="…" in HTML, #label
2536
2580
  in Vue), and generates no box of its own, so an empty region adds no gap. */
2537
- .label[data-v-13b85af2],
2538
- .help[data-v-13b85af2],
2539
- .error[data-v-13b85af2] {
2581
+ .label[data-v-eba1e76b],
2582
+ .help[data-v-eba1e76b],
2583
+ .error[data-v-eba1e76b] {
2540
2584
  display: contents;
2541
2585
  }
2542
- .label[data-v-13b85af2] {
2586
+ .label[data-v-eba1e76b] {
2543
2587
  color: var(--ui-text-secondary);
2544
2588
  font-size: var(--ui-font-size-sm);
2545
2589
  }
2546
- .help[data-v-13b85af2] {
2590
+ .help[data-v-eba1e76b] {
2547
2591
  color: var(--ui-text-muted);
2548
2592
  font-size: var(--ui-font-size-sm);
2549
2593
  line-height: var(--ui-line-height-md);
2550
2594
  }
2551
- .help > [data-v-13b85af2-s] {
2595
+ .help > [data-v-eba1e76b-s] {
2552
2596
  min-block-size: var(--ui-form-field-help-min-block-size, 0);
2553
2597
  }
2554
- .error[data-v-13b85af2],[role="alert"][data-v-13b85af2-s] {
2598
+ .error[data-v-eba1e76b],[role="alert"][data-v-eba1e76b-s] {
2555
2599
  color: var(--ui-accent-active);
2556
2600
  font-size: var(--ui-font-size-sm);
2557
2601
  }
2558
2602
 
2559
2603
  /* A component that sets its display still honours the hidden attribute on its root. */
2560
- [data-component~="ui-form-field"][hidden][data-v-13b85af2] {
2604
+ [data-component~="ui-form-field"][hidden][data-v-eba1e76b] {
2561
2605
  display: none;
2562
2606
  }
2563
2607
 
2564
- [data-component~="ui-grid"][data-v-9635be0b] {
2608
+ [data-component~="ui-grid"][data-v-84466559] {
2565
2609
  --_grid-gap: var(--ui-space-4);
2566
2610
  --_grid-min: 12rem;
2567
2611
  display: grid;
@@ -2572,41 +2616,41 @@ svg[data-v-62b77471-s] {
2572
2616
  max-inline-size: 100%;
2573
2617
  margin: 0;
2574
2618
  }
2575
- [data-component~="ui-grid"][data-ui-grid-state~="gap=xs"][data-v-9635be0b] {
2619
+ [data-component~="ui-grid"][data-ui-grid-state~="gap=xs"][data-v-84466559] {
2576
2620
  --_grid-gap: var(--ui-space-2);
2577
2621
  }
2578
- [data-component~="ui-grid"][data-ui-grid-state~="gap=s"][data-v-9635be0b] {
2622
+ [data-component~="ui-grid"][data-ui-grid-state~="gap=s"][data-v-84466559] {
2579
2623
  --_grid-gap: var(--ui-space-3);
2580
2624
  }
2581
- [data-component~="ui-grid"][data-ui-grid-state~="gap=m"][data-v-9635be0b] {
2625
+ [data-component~="ui-grid"][data-ui-grid-state~="gap=m"][data-v-84466559] {
2582
2626
  --_grid-gap: var(--ui-space-4);
2583
2627
  }
2584
- [data-component~="ui-grid"][data-ui-grid-state~="gap=l"][data-v-9635be0b] {
2628
+ [data-component~="ui-grid"][data-ui-grid-state~="gap=l"][data-v-84466559] {
2585
2629
  --_grid-gap: var(--ui-space-5);
2586
2630
  }
2587
- [data-component~="ui-grid"][data-ui-grid-state~="gap=xl"][data-v-9635be0b] {
2631
+ [data-component~="ui-grid"][data-ui-grid-state~="gap=xl"][data-v-84466559] {
2588
2632
  --_grid-gap: var(--ui-space-6);
2589
2633
  }
2590
- [data-component~="ui-grid"][data-ui-grid-state~="min=md"][data-v-9635be0b] {
2634
+ [data-component~="ui-grid"][data-ui-grid-state~="min=md"][data-v-84466559] {
2591
2635
  --_grid-min: 16rem;
2592
2636
  }
2593
- [data-component~="ui-grid"][data-ui-grid-state~="min=lg"][data-v-9635be0b] {
2637
+ [data-component~="ui-grid"][data-ui-grid-state~="min=lg"][data-v-84466559] {
2594
2638
  --_grid-min: 20rem;
2595
2639
  }
2596
2640
 
2597
2641
  /* A component that sets its display still honours the hidden attribute on its root. */
2598
- [data-component~="ui-grid"][hidden][data-v-9635be0b] {
2642
+ [data-component~="ui-grid"][hidden][data-v-84466559] {
2599
2643
  display: none;
2600
2644
  }
2601
2645
 
2602
- [data-component~="ui-icon-button"][data-v-23aa723d] {
2646
+ [data-component~="ui-icon-button"][data-v-bcedd63e] {
2603
2647
  display: inline-flex;
2604
2648
  color: var(--ui-text-secondary);
2605
2649
  }
2606
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-23aa723d] {
2650
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-bcedd63e] {
2607
2651
  position: relative;
2608
2652
  }
2609
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-23aa723d]::before {
2653
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-bcedd63e]::before {
2610
2654
  content: "";
2611
2655
  position: absolute;
2612
2656
  inset: 50% auto auto 50%;
@@ -2625,17 +2669,17 @@ svg[data-v-62b77471-s] {
2625
2669
  * surface and icon. The root is the native button, so hiding it outright would hide the dot
2626
2670
  * too, and slotted icons sit outside this scope; `color: transparent` hides currentColor icons. */
2627
2671
  @media (hover: hover) and (pointer: fine) {
2628
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-23aa723d]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible) {
2672
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-bcedd63e]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible) {
2629
2673
  border-color: transparent;
2630
2674
  background: transparent;
2631
2675
  box-shadow: none;
2632
2676
  color: transparent;
2633
2677
  }
2634
2678
  }
2635
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-23aa723d]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
2679
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-bcedd63e]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
2636
2680
  opacity: 0;
2637
2681
  }
2638
- [data-component~="ui-icon-button"][data-v-23aa723d] {
2682
+ [data-component~="ui-icon-button"][data-v-bcedd63e] {
2639
2683
  /* The size prop resolves here; --ui-icon-button-size overrides it on an element. */
2640
2684
  --_size: 2rem;
2641
2685
  appearance: none;
@@ -2661,7 +2705,7 @@ svg[data-v-62b77471-s] {
2661
2705
  transform var(--ui-motion-fast) var(--ui-motion-ease);
2662
2706
  }
2663
2707
  @media (hover: none), (pointer: coarse) {
2664
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-23aa723d]::before {
2708
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-bcedd63e]::before {
2665
2709
  opacity: 0;
2666
2710
  }
2667
2711
  }
@@ -2669,10 +2713,10 @@ svg[data-v-62b77471-s] {
2669
2713
  /* A touch target without a bigger button: an invisible hit area, at least the control
2670
2714
  minimum, centred on the button (::before is the anticipatory guide). */
2671
2715
  @media (pointer: coarse) {
2672
- [data-component~="ui-icon-button"][data-v-23aa723d] {
2716
+ [data-component~="ui-icon-button"][data-v-bcedd63e] {
2673
2717
  position: relative;
2674
2718
  }
2675
- [data-component~="ui-icon-button"][data-v-23aa723d]::after {
2719
+ [data-component~="ui-icon-button"][data-v-bcedd63e]::after {
2676
2720
  content: "";
2677
2721
  position: absolute;
2678
2722
  inset: 50% auto auto 50%;
@@ -2681,10 +2725,10 @@ svg[data-v-62b77471-s] {
2681
2725
  transform: translate(-50%, -50%);
2682
2726
  }
2683
2727
  }
2684
- html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-23aa723d] {
2728
+ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-bcedd63e] {
2685
2729
  position: relative;
2686
2730
  }
2687
- html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-23aa723d]::after {
2731
+ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-bcedd63e]::after {
2688
2732
  content: "";
2689
2733
  position: absolute;
2690
2734
  inset: 50% auto auto 50%;
@@ -2692,29 +2736,29 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
2692
2736
  block-size: max(100%, var(--ui-control-min-block-size));
2693
2737
  transform: translate(-50%, -50%);
2694
2738
  }
2695
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-23aa723d] {
2739
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-bcedd63e] {
2696
2740
  --_size: 1.75rem;
2697
2741
  inline-size: var(--ui-icon-button-size, var(--_size));
2698
2742
  block-size: var(--ui-icon-button-size, var(--_size));
2699
2743
  min-inline-size: var(--ui-icon-button-size, var(--_size));
2700
2744
  min-block-size: var(--ui-icon-button-size, var(--_size));
2701
2745
  }
2702
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-23aa723d] {
2746
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-bcedd63e] {
2703
2747
  --_size: 2.5rem;
2704
2748
  inline-size: var(--ui-icon-button-size, var(--_size));
2705
2749
  block-size: var(--ui-icon-button-size, var(--_size));
2706
2750
  min-inline-size: var(--ui-icon-button-size, var(--_size));
2707
2751
  min-block-size: var(--ui-icon-button-size, var(--_size));
2708
2752
  }
2709
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-23aa723d] {
2753
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-bcedd63e] {
2710
2754
  border-radius: var(--ui-radius-round);
2711
2755
  }
2712
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-23aa723d] {
2756
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-bcedd63e] {
2713
2757
  border-color: var(--ui-icon-button-border, var(--ui-border-default));
2714
2758
  background: var(--ui-icon-button-outline-surface, var(--ui-surface-default));
2715
2759
  color: var(--ui-icon-button-outline-text, var(--ui-text-primary));
2716
2760
  }
2717
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-23aa723d] {
2761
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-bcedd63e] {
2718
2762
  background: var(--ui-icon-button-solid-surface, var(--ui-accent-solid));
2719
2763
  color: var(--ui-icon-button-solid-text, var(--ui-text-on-accent));
2720
2764
  box-shadow: var(
@@ -2722,51 +2766,51 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
2722
2766
  0 1px 2px color-mix(in srgb, var(--ui-accent-solid) 18%, transparent)
2723
2767
  );
2724
2768
  }
2725
- [data-component~="ui-icon-button"][data-v-23aa723d]:hover:enabled {
2769
+ [data-component~="ui-icon-button"][data-v-bcedd63e]:hover:enabled {
2726
2770
  /* Derived from the text colour so the ghost hover shows on any background. */
2727
2771
  background: var(--ui-icon-button-hover-surface, color-mix(in srgb, currentColor 8%, transparent));
2728
2772
  color: var(--ui-icon-button-hover-text, var(--ui-text-primary));
2729
2773
  }
2730
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-23aa723d]:hover:enabled {
2774
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-bcedd63e]:hover:enabled {
2731
2775
  border-color: var(--ui-icon-button-hover-border, var(--ui-border-strong));
2732
2776
  }
2733
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-23aa723d]:hover:enabled {
2777
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-bcedd63e]:hover:enabled {
2734
2778
  background: var(--ui-icon-button-solid-hover-surface, var(--ui-accent-hover));
2735
2779
  }
2736
- [data-component~="ui-icon-button"][data-v-23aa723d]:active:enabled {
2780
+ [data-component~="ui-icon-button"][data-v-bcedd63e]:active:enabled {
2737
2781
  transform: scale(var(--ui-icon-button-active-scale, 0.96));
2738
2782
  }
2739
- [data-component~="ui-icon-button"][data-v-23aa723d]:focus-visible {
2783
+ [data-component~="ui-icon-button"][data-v-bcedd63e]:focus-visible {
2740
2784
  outline: none;
2741
2785
  box-shadow: var(--ui-focus-halo);
2742
2786
  }
2743
2787
 
2744
2788
  /* Disabled colours fall back to each variant's own; ghost takes only the icon colour. */
2745
- [data-component~="ui-icon-button"][data-v-23aa723d]:disabled {
2789
+ [data-component~="ui-icon-button"][data-v-bcedd63e]:disabled {
2746
2790
  opacity: var(--ui-icon-button-disabled-opacity, 1);
2747
2791
  color: var(--ui-icon-button-disabled-text, var(--ui-disabled-text));
2748
2792
  cursor: not-allowed;
2749
2793
  }
2750
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-23aa723d]:disabled {
2794
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-bcedd63e]:disabled {
2751
2795
  border-color: var(--ui-icon-button-disabled-border, var(--ui-border));
2752
2796
  background-color: var(--ui-icon-button-disabled-surface, var(--ui-disabled-surface));
2753
2797
  color: var(--ui-icon-button-disabled-text, var(--ui-disabled-text));
2754
2798
  }
2755
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-23aa723d]:disabled {
2799
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-bcedd63e]:disabled {
2756
2800
  border-color: var(--ui-icon-button-disabled-border, var(--ui-border));
2757
2801
  background-color: var(--ui-icon-button-disabled-surface, var(--ui-disabled-surface));
2758
2802
  color: var(--ui-icon-button-disabled-text, var(--ui-disabled-text));
2759
2803
  }
2760
- [data-component~="ui-icon-button"][data-v-23aa723d] {
2804
+ [data-component~="ui-icon-button"][data-v-bcedd63e] {
2761
2805
  --_icon-button-icon-default: var(--ui-icon-size-md);
2762
2806
  }
2763
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-23aa723d] {
2807
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-bcedd63e] {
2764
2808
  --_icon-button-icon-default: var(--ui-icon-size-sm);
2765
2809
  }
2766
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-23aa723d] {
2810
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-bcedd63e] {
2767
2811
  --_icon-button-icon-default: var(--ui-icon-size-lg);
2768
2812
  }
2769
- svg[data-v-23aa723d-s] {
2813
+ svg[data-v-bcedd63e-s] {
2770
2814
  inline-size: var(--ui-icon-button-icon-size, var(--_icon-button-icon-default));
2771
2815
  block-size: var(--ui-icon-button-icon-size, var(--_icon-button-icon-default));
2772
2816
  flex-shrink: 0;
@@ -2774,11 +2818,11 @@ svg[data-v-23aa723d-s] {
2774
2818
  }
2775
2819
 
2776
2820
  /* A component that sets its display still honours the hidden attribute on its root. */
2777
- [data-component~="ui-icon-button"][hidden][data-v-23aa723d] {
2821
+ [data-component~="ui-icon-button"][hidden][data-v-bcedd63e] {
2778
2822
  display: none;
2779
2823
  }
2780
2824
 
2781
- [data-component~="ui-input"][data-v-0c0dde58] {
2825
+ [data-component~="ui-input"][data-v-f84acfe8] {
2782
2826
  box-sizing: border-box;
2783
2827
  display: inline-block;
2784
2828
  inline-size: 100%;
@@ -2801,18 +2845,18 @@ svg[data-v-23aa723d-s] {
2801
2845
  }
2802
2846
 
2803
2847
  /* Tabbing into a field selects its text; tint that selection softly instead of the page highlight. */
2804
- [data-component~="ui-input"][data-v-0c0dde58]::selection {
2848
+ [data-component~="ui-input"][data-v-f84acfe8]::selection {
2805
2849
  background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
2806
2850
  color: inherit;
2807
2851
  }
2808
- [data-component~="ui-input"][data-v-0c0dde58]::placeholder {
2852
+ [data-component~="ui-input"][data-v-f84acfe8]::placeholder {
2809
2853
  color: var(--ui-control-placeholder, var(--ui-text-secondary));
2810
2854
  opacity: 1;
2811
2855
  }
2812
- [data-component~="ui-input"][data-v-0c0dde58]:hover:not(:focus):not(:disabled) {
2856
+ [data-component~="ui-input"][data-v-f84acfe8]:hover:not(:focus):not(:disabled) {
2813
2857
  border-color: var(--ui-control-border-hover, var(--ui-text-secondary));
2814
2858
  }
2815
- [data-component~="ui-input"][data-v-0c0dde58]:focus-visible {
2859
+ [data-component~="ui-input"][data-v-f84acfe8]:focus-visible {
2816
2860
  border-color: var(--ui-control-focus, var(--ui-accent-solid));
2817
2861
  outline: none;
2818
2862
  box-shadow: var(
@@ -2823,16 +2867,16 @@ svg[data-v-23aa723d-s] {
2823
2867
  }
2824
2868
 
2825
2869
  /* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
2826
- [data-component~="ui-input"][aria-invalid="true"][data-v-0c0dde58],
2827
- [data-component~="ui-input"][data-v-0c0dde58]:is(:user-invalid, [data-user-invalid]) {
2870
+ [data-component~="ui-input"][aria-invalid="true"][data-v-f84acfe8],
2871
+ [data-component~="ui-input"][data-v-f84acfe8]:is(:user-invalid, [data-user-invalid]) {
2828
2872
  border-color: var(--ui-danger-solid);
2829
2873
  }
2830
- [data-component~="ui-input"][data-v-0c0dde58]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
2874
+ [data-component~="ui-input"][data-v-f84acfe8]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
2831
2875
  box-shadow:
2832
2876
  var(--ui-control-inset),
2833
2877
  0 0 0 3px color-mix(in srgb, var(--ui-danger-solid) 22%, transparent);
2834
2878
  }
2835
- [data-component~="ui-input"][data-v-0c0dde58]:disabled {
2879
+ [data-component~="ui-input"][data-v-f84acfe8]:disabled {
2836
2880
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
2837
2881
  color: var(--ui-text-muted);
2838
2882
  box-shadow: none;
@@ -2843,12 +2887,12 @@ svg[data-v-23aa723d-s] {
2843
2887
  * scroll vertically inside the field. Native inputs already center their single line. */
2844
2888
 
2845
2889
  /* A component that sets its display still honours the hidden attribute on its root. */
2846
- [data-component~="ui-input"][hidden][data-v-0c0dde58] {
2890
+ [data-component~="ui-input"][hidden][data-v-f84acfe8] {
2847
2891
  display: none;
2848
2892
  }
2849
2893
 
2850
2894
  /* Compact sets the part tokens its items read, so nothing has to rescale a global. */
2851
- [data-component~="ui-menu"][data-ui-menu-state~="density=compact"][data-v-e8df970a] {
2895
+ [data-component~="ui-menu"][data-ui-menu-state~="density=compact"][data-v-ad1dce95] {
2852
2896
  --ui-menu-item-padding-block: var(--ui-space-1);
2853
2897
  --ui-menu-item-padding-inline: var(--ui-space-2);
2854
2898
  --ui-menu-item-font-size: var(--ui-font-size-sm);
@@ -2856,7 +2900,7 @@ svg[data-v-23aa723d-s] {
2856
2900
  padding: var(--ui-space-1);
2857
2901
  gap: 0;
2858
2902
  }
2859
- [data-component~="ui-menu"][data-v-e8df970a] {
2903
+ [data-component~="ui-menu"][data-v-ad1dce95] {
2860
2904
  display: flex;
2861
2905
  flex-direction: column;
2862
2906
  box-sizing: border-box;
@@ -2871,7 +2915,7 @@ svg[data-v-23aa723d-s] {
2871
2915
  box-shadow: none;
2872
2916
  overflow: visible;
2873
2917
  }
2874
- .surface[data-v-e8df970a] {
2918
+ .surface[data-v-ad1dce95] {
2875
2919
  display: flex;
2876
2920
  flex-direction: column;
2877
2921
  box-sizing: border-box;
@@ -2884,10 +2928,10 @@ svg[data-v-23aa723d-s] {
2884
2928
  max-block-size: inherit;
2885
2929
  overflow: auto;
2886
2930
  }
2887
- [data-component~="ui-menu"][data-v-e8df970a]:not([data-component~="ui-menu"][data-ui-menu-state~="internalOpen"]) {
2931
+ [data-component~="ui-menu"][data-v-ad1dce95]:not([data-component~="ui-menu"][data-ui-menu-state~="internalOpen"]) {
2888
2932
  display: none;
2889
2933
  }
2890
- [data-component~="ui-menu"][popover][data-v-e8df970a] {
2934
+ [data-component~="ui-menu"][popover][data-v-ad1dce95] {
2891
2935
  position: fixed;
2892
2936
  inset: auto;
2893
2937
  margin: 0;
@@ -2901,26 +2945,26 @@ svg[data-v-23aa723d-s] {
2901
2945
  display var(--ui-motion-fast) allow-discrete,
2902
2946
  overlay var(--ui-motion-fast) allow-discrete;
2903
2947
  }
2904
- [data-component~="ui-menu"][popover][data-v-e8df970a]:popover-open {
2948
+ [data-component~="ui-menu"][popover][data-v-ad1dce95]:popover-open {
2905
2949
  opacity: 1;
2906
2950
  transform: translateY(0) scale(1);
2907
2951
  }
2908
2952
  @starting-style {
2909
- [data-component~="ui-menu"][popover][data-v-e8df970a]:popover-open {
2953
+ [data-component~="ui-menu"][popover][data-v-ad1dce95]:popover-open {
2910
2954
  opacity: 0;
2911
2955
  transform: translateY(-4px) scale(0.99);
2912
2956
  }
2913
2957
  }
2914
- [data-component~="ui-menu"][hidden][data-v-e8df970a] {
2958
+ [data-component~="ui-menu"][hidden][data-v-ad1dce95] {
2915
2959
  display: none;
2916
2960
  }
2917
2961
  @media (prefers-reduced-motion: reduce) {
2918
- [data-component~="ui-menu"][popover][data-v-e8df970a] {
2962
+ [data-component~="ui-menu"][popover][data-v-ad1dce95] {
2919
2963
  transition: none;
2920
2964
  }
2921
2965
  }
2922
2966
 
2923
- [data-component~="ui-menu-item"][data-v-40124183] {
2967
+ [data-component~="ui-menu-item"][data-v-4bd9e602] {
2924
2968
  display: block;
2925
2969
  box-sizing: border-box;
2926
2970
  width: 100%;
@@ -2942,7 +2986,7 @@ svg[data-v-23aa723d-s] {
2942
2986
  /* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
2943
2987
  * Trimming applies to block containers, so the box is a block with centred content. */
2944
2988
  @supports (text-box-trim: trim-both) {
2945
- [data-component~="ui-menu-item"][data-v-40124183] {
2989
+ [data-component~="ui-menu-item"][data-v-4bd9e602] {
2946
2990
  display: block;
2947
2991
  min-block-size: var(--ui-menu-item-min-block-size, var(--ui-control-size-md, 2.5rem));
2948
2992
  align-content: center;
@@ -2950,20 +2994,20 @@ svg[data-v-23aa723d-s] {
2950
2994
  text-box-edge: cap alphabetic;
2951
2995
  }
2952
2996
  }
2953
- [data-component~="ui-menu-item"][data-v-40124183]:is(:hover, :focus-visible):not([aria-disabled="true"]) {
2997
+ [data-component~="ui-menu-item"][data-v-4bd9e602]:is(:hover, :focus-visible):not([aria-disabled="true"]) {
2954
2998
  background: var(--ui-menu-item-hover-surface, var(--ui-surface-subtle));
2955
2999
  }
2956
- [data-component~="ui-menu-item"][aria-disabled="true"][data-v-40124183] {
3000
+ [data-component~="ui-menu-item"][aria-disabled="true"][data-v-4bd9e602] {
2957
3001
  opacity: 0.6;
2958
3002
  cursor: not-allowed;
2959
3003
  }
2960
3004
 
2961
3005
  /* A component that sets its display still honours the hidden attribute on its root. */
2962
- [data-component~="ui-menu-item"][hidden][data-v-40124183] {
3006
+ [data-component~="ui-menu-item"][hidden][data-v-4bd9e602] {
2963
3007
  display: none;
2964
3008
  }
2965
3009
 
2966
- [data-component~="ui-popover"][data-v-3675062e] {
3010
+ [data-component~="ui-popover"][data-v-00194c85] {
2967
3011
  box-sizing: border-box;
2968
3012
  max-inline-size: min(
2969
3013
  20rem,
@@ -2978,7 +3022,7 @@ svg[data-v-23aa723d-s] {
2978
3022
  background: transparent;
2979
3023
  box-shadow: none;
2980
3024
  }
2981
- .surface[data-v-3675062e] {
3025
+ .surface[data-v-00194c85] {
2982
3026
  box-sizing: border-box;
2983
3027
  max-inline-size: inherit;
2984
3028
  max-block-size: inherit;
@@ -2989,10 +3033,10 @@ svg[data-v-23aa723d-s] {
2989
3033
  border-radius: var(--ui-radius-lg);
2990
3034
  box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
2991
3035
  }
2992
- [data-component~="ui-popover"][data-v-3675062e]:not([data-component~="ui-popover"][data-ui-popover-state~="internalOpen"]) {
3036
+ [data-component~="ui-popover"][data-v-00194c85]:not([data-component~="ui-popover"][data-ui-popover-state~="internalOpen"]) {
2993
3037
  display: none;
2994
3038
  }
2995
- [data-component~="ui-popover"][popover][data-v-3675062e] {
3039
+ [data-component~="ui-popover"][popover][data-v-00194c85] {
2996
3040
  position: fixed;
2997
3041
  inset: auto;
2998
3042
  margin: 0;
@@ -3004,26 +3048,26 @@ svg[data-v-23aa723d-s] {
3004
3048
  display var(--ui-motion-fast) allow-discrete,
3005
3049
  overlay var(--ui-motion-fast) allow-discrete;
3006
3050
  }
3007
- [data-component~="ui-popover"][popover][data-v-3675062e]:popover-open {
3051
+ [data-component~="ui-popover"][popover][data-v-00194c85]:popover-open {
3008
3052
  opacity: 1;
3009
3053
  transform: translateY(0) scale(1);
3010
3054
  }
3011
3055
  @starting-style {
3012
- [data-component~="ui-popover"][popover][data-v-3675062e]:popover-open {
3056
+ [data-component~="ui-popover"][popover][data-v-00194c85]:popover-open {
3013
3057
  opacity: 0;
3014
3058
  transform: translateY(-4px) scale(0.99);
3015
3059
  }
3016
3060
  }
3017
- [data-component~="ui-popover"][hidden][data-v-3675062e] {
3061
+ [data-component~="ui-popover"][hidden][data-v-00194c85] {
3018
3062
  display: none;
3019
3063
  }
3020
3064
  @media (prefers-reduced-motion: reduce) {
3021
- [data-component~="ui-popover"][popover][data-v-3675062e] {
3065
+ [data-component~="ui-popover"][popover][data-v-00194c85] {
3022
3066
  transition: none;
3023
3067
  }
3024
3068
  }
3025
3069
 
3026
- [data-component~="ui-radio"][data-v-2c20c2e3] {
3070
+ [data-component~="ui-radio"][data-v-e31949a7] {
3027
3071
  display: inline-flex;
3028
3072
  align-items: flex-start;
3029
3073
  gap: var(--ui-radio-gap, var(--ui-space-2));
@@ -3031,11 +3075,11 @@ svg[data-v-23aa723d-s] {
3031
3075
  color: var(--ui-text-primary);
3032
3076
  cursor: pointer;
3033
3077
  }
3034
- .label[data-v-2c20c2e3] {
3078
+ .label[data-v-e31949a7] {
3035
3079
  min-inline-size: 0;
3036
3080
  line-height: var(--ui-line-height-md);
3037
3081
  }
3038
- input[data-v-2c20c2e3] {
3082
+ input[data-v-e31949a7] {
3039
3083
  flex: 0 0 auto;
3040
3084
  inline-size: var(--ui-radio-size, 1.125rem);
3041
3085
  block-size: var(--ui-radio-size, 1.125rem);
@@ -3043,24 +3087,24 @@ input[data-v-2c20c2e3] {
3043
3087
  accent-color: var(--ui-accent-solid);
3044
3088
  cursor: pointer;
3045
3089
  }
3046
- input[data-v-2c20c2e3]:focus-visible {
3090
+ input[data-v-e31949a7]:focus-visible {
3047
3091
  outline: 2px solid var(--ui-focus-ring, var(--ui-accent-solid));
3048
3092
  outline-offset: 2px;
3049
3093
  }
3050
- [data-component~="ui-radio"][data-ui-radio-state~="disabled"][data-v-2c20c2e3] {
3094
+ [data-component~="ui-radio"][data-ui-radio-state~="disabled"][data-v-e31949a7] {
3051
3095
  color: var(--ui-text-muted);
3052
3096
  cursor: not-allowed;
3053
3097
  }
3054
- [data-component~="ui-radio"][data-ui-radio-state~="disabled"] input[data-v-2c20c2e3] {
3098
+ [data-component~="ui-radio"][data-ui-radio-state~="disabled"] input[data-v-e31949a7] {
3055
3099
  cursor: not-allowed;
3056
3100
  }
3057
3101
 
3058
3102
  /* A component that sets its display still honours the hidden attribute on its root. */
3059
- [data-component~="ui-radio"][hidden][data-v-2c20c2e3] {
3103
+ [data-component~="ui-radio"][hidden][data-v-e31949a7] {
3060
3104
  display: none;
3061
3105
  }
3062
3106
 
3063
- [data-component~="ui-radio-group"][data-v-f54344c6] {
3107
+ [data-component~="ui-radio-group"][data-v-b97195d1] {
3064
3108
  display: inline-flex;
3065
3109
  align-items: center;
3066
3110
  gap: var(--ui-space-2);
@@ -3069,7 +3113,7 @@ input[data-v-2c20c2e3]:focus-visible {
3069
3113
  padding: 0;
3070
3114
  border: 0;
3071
3115
  }
3072
- legend[data-v-f54344c6] {
3116
+ legend[data-v-b97195d1] {
3073
3117
  float: inline-start;
3074
3118
  inline-size: 100%;
3075
3119
  margin: 0 0 var(--ui-space-2);
@@ -3077,20 +3121,20 @@ legend[data-v-f54344c6] {
3077
3121
  color: var(--ui-text-primary);
3078
3122
  font-weight: var(--ui-font-medium);
3079
3123
  }
3080
- legend[data-v-f54344c6] + * {
3124
+ legend[data-v-b97195d1] + * {
3081
3125
  clear: both;
3082
3126
  }
3083
- [data-component~="ui-radio-group"][data-ui-radio-group-state~="orientation=vertical"][data-v-f54344c6] {
3127
+ [data-component~="ui-radio-group"][data-ui-radio-group-state~="orientation=vertical"][data-v-b97195d1] {
3084
3128
  display: inline-grid;
3085
3129
  justify-items: start;
3086
3130
  }
3087
3131
 
3088
3132
  /* A component that sets its display still honours the hidden attribute on its root. */
3089
- [data-component~="ui-radio-group"][hidden][data-v-f54344c6] {
3133
+ [data-component~="ui-radio-group"][hidden][data-v-b97195d1] {
3090
3134
  display: none;
3091
3135
  }
3092
3136
 
3093
- [data-component~="ui-reel"][data-v-0d41608a] {
3137
+ [data-component~="ui-reel"][data-v-b373e396] {
3094
3138
  --_reel-gap: var(--ui-space-4);
3095
3139
  --_reel-item-width: auto;
3096
3140
  display: flex;
@@ -3103,50 +3147,50 @@ legend[data-v-f54344c6] + * {
3103
3147
  overflow-y: hidden;
3104
3148
  overscroll-behavior-inline: contain;
3105
3149
  }
3106
- [data-component~="ui-reel"] > [data-v-0d41608a-s] {
3150
+ [data-component~="ui-reel"] > [data-v-b373e396-s] {
3107
3151
  min-inline-size: 0;
3108
3152
  flex: 0 0 var(--ui-reel-item-width, var(--_reel-item-width));
3109
3153
  }
3110
- [data-component~="ui-reel"][data-ui-reel-state~="gap=xs"][data-v-0d41608a] {
3154
+ [data-component~="ui-reel"][data-ui-reel-state~="gap=xs"][data-v-b373e396] {
3111
3155
  --_reel-gap: var(--ui-space-2);
3112
3156
  }
3113
- [data-component~="ui-reel"][data-ui-reel-state~="gap=s"][data-v-0d41608a] {
3157
+ [data-component~="ui-reel"][data-ui-reel-state~="gap=s"][data-v-b373e396] {
3114
3158
  --_reel-gap: var(--ui-space-3);
3115
3159
  }
3116
- [data-component~="ui-reel"][data-ui-reel-state~="gap=m"][data-v-0d41608a] {
3160
+ [data-component~="ui-reel"][data-ui-reel-state~="gap=m"][data-v-b373e396] {
3117
3161
  --_reel-gap: var(--ui-space-4);
3118
3162
  }
3119
- [data-component~="ui-reel"][data-ui-reel-state~="gap=l"][data-v-0d41608a] {
3163
+ [data-component~="ui-reel"][data-ui-reel-state~="gap=l"][data-v-b373e396] {
3120
3164
  --_reel-gap: var(--ui-space-5);
3121
3165
  }
3122
- [data-component~="ui-reel"][data-ui-reel-state~="gap=xl"][data-v-0d41608a] {
3166
+ [data-component~="ui-reel"][data-ui-reel-state~="gap=xl"][data-v-b373e396] {
3123
3167
  --_reel-gap: var(--ui-space-6);
3124
3168
  }
3125
- [data-component~="ui-reel"][data-ui-reel-state~="itemWidth=sm"][data-v-0d41608a] {
3169
+ [data-component~="ui-reel"][data-ui-reel-state~="itemWidth=sm"][data-v-b373e396] {
3126
3170
  --_reel-item-width: 12rem;
3127
3171
  }
3128
- [data-component~="ui-reel"][data-ui-reel-state~="itemWidth=md"][data-v-0d41608a] {
3172
+ [data-component~="ui-reel"][data-ui-reel-state~="itemWidth=md"][data-v-b373e396] {
3129
3173
  --_reel-item-width: 16rem;
3130
3174
  }
3131
- [data-component~="ui-reel"][data-ui-reel-state~="itemWidth=lg"][data-v-0d41608a] {
3175
+ [data-component~="ui-reel"][data-ui-reel-state~="itemWidth=lg"][data-v-b373e396] {
3132
3176
  --_reel-item-width: 20rem;
3133
3177
  }
3134
- [data-component~="ui-reel"][data-ui-reel-state~="snap"][data-v-0d41608a] {
3178
+ [data-component~="ui-reel"][data-ui-reel-state~="snap"][data-v-b373e396] {
3135
3179
  scroll-snap-type: inline mandatory;
3136
3180
  }
3137
- [data-component~="ui-reel"][data-ui-reel-state~="snap=start"] > [data-v-0d41608a-s] {
3181
+ [data-component~="ui-reel"][data-ui-reel-state~="snap=start"] > [data-v-b373e396-s] {
3138
3182
  scroll-snap-align: start;
3139
3183
  }
3140
- [data-component~="ui-reel"][data-ui-reel-state~="snap=center"] > [data-v-0d41608a-s] {
3184
+ [data-component~="ui-reel"][data-ui-reel-state~="snap=center"] > [data-v-b373e396-s] {
3141
3185
  scroll-snap-align: center;
3142
3186
  }
3143
3187
 
3144
3188
  /* A component that sets its display still honours the hidden attribute on its root. */
3145
- [data-component~="ui-reel"][hidden][data-v-0d41608a] {
3189
+ [data-component~="ui-reel"][hidden][data-v-b373e396] {
3146
3190
  display: none;
3147
3191
  }
3148
3192
 
3149
- [data-component~="ui-search-result-row"][data-v-c2562cce] {
3193
+ [data-component~="ui-search-result-row"][data-v-b0d24e6e] {
3150
3194
  appearance: none;
3151
3195
  inline-size: 100%;
3152
3196
  min-block-size: var(--ui-search-result-row-min-height, 56px);
@@ -3164,69 +3208,69 @@ legend[data-v-f54344c6] + * {
3164
3208
  text-align: left;
3165
3209
  transition: background-color var(--ui-motion-fast) var(--ui-motion-ease);
3166
3210
  }
3167
- [data-component~="ui-search-result-row"][data-v-c2562cce]:last-child {
3211
+ [data-component~="ui-search-result-row"][data-v-b0d24e6e]:last-child {
3168
3212
  border-block-end: none;
3169
3213
  }
3170
- [data-component~="ui-search-result-row"][data-v-c2562cce]:hover:enabled {
3214
+ [data-component~="ui-search-result-row"][data-v-b0d24e6e]:hover:enabled {
3171
3215
  background: var(
3172
3216
  --ui-search-result-row-hover-surface,
3173
3217
  color-mix(in srgb, var(--ui-surface) 85%, black 3%)
3174
3218
  );
3175
3219
  }
3176
- [data-component~="ui-search-result-row"][data-ui-search-result-row-state~="selected"][data-v-c2562cce] {
3220
+ [data-component~="ui-search-result-row"][data-ui-search-result-row-state~="selected"][data-v-b0d24e6e] {
3177
3221
  background: var(
3178
3222
  --ui-search-result-row-selected-bg,
3179
3223
  var(--ui-search-result-row-hover-surface, color-mix(in srgb, var(--ui-surface) 85%, black 3%))
3180
3224
  );
3181
3225
  }
3182
- [data-component~="ui-search-result-row"][data-v-c2562cce]:focus-visible {
3226
+ [data-component~="ui-search-result-row"][data-v-b0d24e6e]:focus-visible {
3183
3227
  outline: 2px solid var(--ui-focus-ring);
3184
3228
  outline-offset: -2px;
3185
3229
  }
3186
- [data-component~="ui-search-result-row"][data-v-c2562cce]:disabled {
3230
+ [data-component~="ui-search-result-row"][data-v-b0d24e6e]:disabled {
3187
3231
  opacity: 0.6;
3188
3232
  cursor: not-allowed;
3189
3233
  }
3190
- .leading[data-v-c2562cce],
3191
- .trailing[data-v-c2562cce] {
3234
+ .leading[data-v-b0d24e6e],
3235
+ .trailing[data-v-b0d24e6e] {
3192
3236
  display: inline-flex;
3193
3237
  align-items: flex-start;
3194
3238
  flex-shrink: 0;
3195
3239
  }
3196
- .content[data-v-c2562cce] {
3240
+ .content[data-v-b0d24e6e] {
3197
3241
  min-inline-size: 0;
3198
3242
  flex: 1;
3199
3243
  display: flex;
3200
3244
  flex-direction: column;
3201
3245
  }
3202
- .title[data-v-c2562cce],
3203
- .meta[data-v-c2562cce],
3204
- .excerpt[data-v-c2562cce] {
3246
+ .title[data-v-b0d24e6e],
3247
+ .meta[data-v-b0d24e6e],
3248
+ .excerpt[data-v-b0d24e6e] {
3205
3249
  display: block;
3206
3250
  min-inline-size: 0;
3207
3251
  }
3208
3252
 
3209
3253
  /* An unused region takes no space. */
3210
- .leading[data-v-c2562cce]:empty,
3211
- .meta[data-v-c2562cce]:empty,
3212
- .excerpt[data-v-c2562cce]:empty,
3213
- .trailing[data-v-c2562cce]:empty {
3254
+ .leading[data-v-b0d24e6e]:empty,
3255
+ .meta[data-v-b0d24e6e]:empty,
3256
+ .excerpt[data-v-b0d24e6e]:empty,
3257
+ .trailing[data-v-b0d24e6e]:empty {
3214
3258
  display: none;
3215
3259
  }
3216
- [slot="title"][data-v-c2562cce-s],[slot="meta"][data-v-c2562cce-s],[slot="excerpt"][data-v-c2562cce-s] {
3260
+ [slot="title"][data-v-b0d24e6e-s],[slot="meta"][data-v-b0d24e6e-s],[slot="excerpt"][data-v-b0d24e6e-s] {
3217
3261
  display: block;
3218
3262
  margin: 0;
3219
3263
  }
3220
3264
 
3221
3265
  /* A component that sets its display still honours the hidden attribute on its root. */
3222
- [data-component~="ui-search-result-row"][hidden][data-v-c2562cce] {
3266
+ [data-component~="ui-search-result-row"][hidden][data-v-b0d24e6e] {
3223
3267
  display: none;
3224
3268
  }
3225
3269
 
3226
- [data-component~="ui-search-shell"][data-v-d27d0d8a] {
3270
+ [data-component~="ui-search-shell"][data-v-d749a869] {
3227
3271
  display: contents;
3228
3272
  }
3229
- dialog[data-v-d27d0d8a] {
3273
+ dialog[data-v-d749a869] {
3230
3274
  position: fixed;
3231
3275
  inset: 0;
3232
3276
  z-index: var(--ui-search-shell-z-index, 400);
@@ -3244,10 +3288,10 @@ dialog[data-v-d27d0d8a] {
3244
3288
  background: var(--ui-overlay-backdrop);
3245
3289
  color: var(--ui-text-primary);
3246
3290
  }
3247
- dialog[data-v-d27d0d8a]::backdrop {
3291
+ dialog[data-v-d749a869]::backdrop {
3248
3292
  background: var(--ui-overlay-backdrop);
3249
3293
  }
3250
- .panel[data-v-d27d0d8a] {
3294
+ .panel[data-v-d749a869] {
3251
3295
  position: relative;
3252
3296
  display: flex;
3253
3297
  flex-direction: column;
@@ -3260,7 +3304,7 @@ dialog[data-v-d27d0d8a]::backdrop {
3260
3304
  border-radius: var(--ui-search-shell-radius, var(--ui-radius-dialog));
3261
3305
  box-shadow: var(--ui-search-shell-shadow, var(--ui-elevation-dialog, var(--ui-shadow-xl)));
3262
3306
  }
3263
- .search[data-v-d27d0d8a] {
3307
+ .search[data-v-d749a869] {
3264
3308
  padding: var(--ui-space-3);
3265
3309
  border-block-end: 1px solid var(--ui-border-default);
3266
3310
  transition:
@@ -3269,11 +3313,11 @@ dialog[data-v-d27d0d8a]::backdrop {
3269
3313
  }
3270
3314
 
3271
3315
  /* The search region shows where typing goes, whatever the author put in it. */
3272
- .search[data-v-d27d0d8a]:focus-within {
3316
+ .search[data-v-d749a869]:focus-within {
3273
3317
  border-block-end-color: var(--ui-search-shell-focus-color, var(--ui-control-focus));
3274
3318
  box-shadow: inset 0 -1px 0 var(--ui-search-shell-focus-color, var(--ui-control-focus));
3275
3319
  }
3276
- input[slot="search"][data-v-d27d0d8a-s] {
3320
+ input[slot="search"][data-v-d749a869-s] {
3277
3321
  box-sizing: border-box;
3278
3322
  inline-size: 100%;
3279
3323
  min-block-size: var(--ui-control-min-block-size);
@@ -3285,24 +3329,24 @@ input[slot="search"][data-v-d27d0d8a-s] {
3285
3329
  font: inherit;
3286
3330
  box-shadow: var(--ui-shadow-xs);
3287
3331
  }
3288
- input[slot="search"][data-v-d27d0d8a-s]:focus-visible {
3332
+ input[slot="search"][data-v-d749a869-s]:focus-visible {
3289
3333
  border-color: var(--ui-control-focus);
3290
3334
  outline: 2px solid var(--ui-focus-ring);
3291
3335
  outline-offset: 2px;
3292
3336
  }
3293
- .status[data-v-d27d0d8a],
3294
- .footer[data-v-d27d0d8a] {
3337
+ .status[data-v-d749a869],
3338
+ .footer[data-v-d749a869] {
3295
3339
  flex-shrink: 0;
3296
3340
  padding: var(--ui-space-2) var(--ui-space-4);
3297
3341
  color: var(--ui-text-secondary);
3298
3342
  font-size: var(--ui-font-size-sm);
3299
3343
  }
3300
- .status[data-v-d27d0d8a] {
3344
+ .status[data-v-d749a869] {
3301
3345
  border-block-end: 1px solid var(--ui-border-default);
3302
3346
  }
3303
3347
 
3304
3348
  /* Laid out like the dialog's action row: actions right-aligned, spaced as buttons, no fill. */
3305
- .footer[data-v-d27d0d8a] {
3349
+ .footer[data-v-d749a869] {
3306
3350
  display: flex;
3307
3351
  flex-wrap: wrap;
3308
3352
  align-items: center;
@@ -3311,21 +3355,21 @@ input[slot="search"][data-v-d27d0d8a-s]:focus-visible {
3311
3355
  padding: var(--ui-space-3) var(--ui-space-4);
3312
3356
  border-block-start: 1px solid var(--ui-border-default);
3313
3357
  }
3314
- .status[data-v-d27d0d8a]:empty,
3315
- .footer[data-v-d27d0d8a]:empty {
3358
+ .status[data-v-d749a869]:empty,
3359
+ .footer[data-v-d749a869]:empty {
3316
3360
  display: none;
3317
3361
  }
3318
- .body[data-v-d27d0d8a] {
3362
+ .body[data-v-d749a869] {
3319
3363
  flex: 1;
3320
3364
  min-block-size: 0;
3321
3365
  overflow: auto;
3322
3366
  padding: var(--ui-space-2);
3323
3367
  }
3324
3368
  @media (max-width: 47.9375rem) {
3325
- dialog[data-v-d27d0d8a] {
3369
+ dialog[data-v-d749a869] {
3326
3370
  padding: 0;
3327
3371
  }
3328
- .panel[data-v-d27d0d8a] {
3372
+ .panel[data-v-d749a869] {
3329
3373
  inline-size: 100%;
3330
3374
  min-block-size: 100dvh;
3331
3375
  max-block-size: none;
@@ -3335,11 +3379,11 @@ dialog[data-v-d27d0d8a] {
3335
3379
  }
3336
3380
 
3337
3381
  /* A component that sets its display still honours the hidden attribute on its root. */
3338
- [data-component~="ui-search-shell"][hidden][data-v-d27d0d8a] {
3382
+ [data-component~="ui-search-shell"][hidden][data-v-d749a869] {
3339
3383
  display: none;
3340
3384
  }
3341
3385
 
3342
- [data-component~="ui-select"][data-v-2a885e02] {
3386
+ [data-component~="ui-select"][data-v-f9be4ab9] {
3343
3387
  box-sizing: border-box;
3344
3388
  display: inline-block;
3345
3389
  inline-size: 100%;
@@ -3363,7 +3407,7 @@ dialog[data-v-d27d0d8a] {
3363
3407
 
3364
3408
  /* The select draws its own chevron: the native caret cannot be inset or sized consistently.
3365
3409
  * The root stays a native <s-lect>, so the icon is a background image rather than an element. */
3366
- [data-component~="ui-select"][data-v-2a885e02] {
3410
+ [data-component~="ui-select"][data-v-f9be4ab9] {
3367
3411
  appearance: none;
3368
3412
  padding-inline-end: calc(var(--ui-space-3) + 1.5rem);
3369
3413
  background-image: var(
@@ -3374,10 +3418,10 @@ dialog[data-v-d27d0d8a] {
3374
3418
  background-position: right var(--ui-space-3) center;
3375
3419
  background-size: 1.125rem 1.125rem;
3376
3420
  }
3377
- [data-component~="ui-select"][data-v-2a885e02]:hover:not(:focus):not(:disabled) {
3421
+ [data-component~="ui-select"][data-v-f9be4ab9]:hover:not(:focus):not(:disabled) {
3378
3422
  border-color: var(--ui-control-border-hover, var(--ui-text-secondary));
3379
3423
  }
3380
- [data-component~="ui-select"][data-v-2a885e02]:focus-visible {
3424
+ [data-component~="ui-select"][data-v-f9be4ab9]:focus-visible {
3381
3425
  border-color: var(--ui-control-focus, var(--ui-accent-solid));
3382
3426
  outline: none;
3383
3427
  box-shadow: var(
@@ -3388,45 +3432,45 @@ dialog[data-v-d27d0d8a] {
3388
3432
  }
3389
3433
 
3390
3434
  /* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
3391
- [data-component~="ui-select"][aria-invalid="true"][data-v-2a885e02],
3392
- [data-component~="ui-select"][data-v-2a885e02]:is(:user-invalid, [data-user-invalid]) {
3435
+ [data-component~="ui-select"][aria-invalid="true"][data-v-f9be4ab9],
3436
+ [data-component~="ui-select"][data-v-f9be4ab9]:is(:user-invalid, [data-user-invalid]) {
3393
3437
  border-color: var(--ui-danger-solid);
3394
3438
  }
3395
- [data-component~="ui-select"][data-v-2a885e02]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
3439
+ [data-component~="ui-select"][data-v-f9be4ab9]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
3396
3440
  box-shadow:
3397
3441
  var(--ui-control-inset),
3398
3442
  0 0 0 3px color-mix(in srgb, var(--ui-danger-solid) 22%, transparent);
3399
3443
  }
3400
- [data-component~="ui-select"][data-v-2a885e02]:disabled {
3444
+ [data-component~="ui-select"][data-v-f9be4ab9]:disabled {
3401
3445
  background-color: var(--ui-control-surface-disabled, var(--ui-surface-muted));
3402
3446
  color: var(--ui-text-muted);
3403
3447
  box-shadow: none;
3404
3448
  cursor: not-allowed;
3405
3449
  }
3406
- [data-component~="ui-select"][size][data-v-2a885e02]:not([size="1"]) {
3450
+ [data-component~="ui-select"][size][data-v-f9be4ab9]:not([size="1"]) {
3407
3451
  min-block-size: 7rem;
3408
3452
  padding: var(--ui-space-2);
3409
3453
  }
3410
3454
 
3411
3455
  /* A component that sets its display still honours the hidden attribute on its root. */
3412
- [data-component~="ui-select"][hidden][data-v-2a885e02] {
3456
+ [data-component~="ui-select"][hidden][data-v-f9be4ab9] {
3413
3457
  display: none;
3414
3458
  }
3415
3459
 
3416
- hr[data-v-f07c3800] {
3460
+ hr[data-v-357ad177] {
3417
3461
  box-sizing: border-box;
3418
3462
  align-self: stretch;
3419
3463
  margin: 0;
3420
3464
  border: 0;
3421
3465
  border-block-start: 1px solid var(--ui-separator-color, var(--ui-border-default));
3422
3466
  }
3423
- hr[aria-orientation="vertical"][data-v-f07c3800] {
3467
+ hr[aria-orientation="vertical"][data-v-357ad177] {
3424
3468
  block-size: auto;
3425
3469
  border-block-start: 0;
3426
3470
  border-inline-start: 1px solid var(--ui-separator-color, var(--ui-border-default));
3427
3471
  }
3428
3472
 
3429
- [data-component~="ui-sidebar"][data-v-4bcdb743] {
3473
+ [data-component~="ui-sidebar"][data-v-d5bc9278] {
3430
3474
  position: relative;
3431
3475
  box-sizing: border-box;
3432
3476
  display: flex;
@@ -3438,21 +3482,21 @@ hr[aria-orientation="vertical"][data-v-f07c3800] {
3438
3482
  background: var(--ui-sidebar-surface, var(--ui-surface-default));
3439
3483
  border-inline-end: 1px solid var(--ui-sidebar-border, var(--ui-border-default));
3440
3484
  }
3441
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][data-v-4bcdb743] {
3485
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][data-v-d5bc9278] {
3442
3486
  border-inline-end: 0;
3443
3487
  border-inline-start: 1px solid var(--ui-sidebar-border, var(--ui-border-default));
3444
3488
  }
3445
- .content[data-v-4bcdb743] {
3489
+ .content[data-v-d5bc9278] {
3446
3490
  flex: 1;
3447
3491
  min-block-size: 0;
3448
3492
  overflow: auto;
3449
3493
  }
3450
3494
 
3451
3495
  /* Collapsed while docked. */
3452
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="internalCollapsed"][data-v-4bcdb743]:not([popover]) {
3496
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="internalCollapsed"][data-v-d5bc9278]:not([popover]) {
3453
3497
  display: none;
3454
3498
  }
3455
- .resizer[data-v-4bcdb743] {
3499
+ .resizer[data-v-d5bc9278] {
3456
3500
  position: absolute;
3457
3501
  z-index: 1;
3458
3502
  inset-block: 0;
@@ -3465,15 +3509,15 @@ hr[aria-orientation="vertical"][data-v-f07c3800] {
3465
3509
  touch-action: none;
3466
3510
  outline: none;
3467
3511
  }
3468
- .resizer[hidden][data-v-4bcdb743] {
3512
+ .resizer[hidden][data-v-d5bc9278] {
3469
3513
  display: none;
3470
3514
  }
3471
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"] .resizer[data-v-4bcdb743] {
3515
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"] .resizer[data-v-d5bc9278] {
3472
3516
  inset-inline-end: auto;
3473
3517
  inset-inline-start: 0;
3474
3518
  transform: translateX(-50%);
3475
3519
  }
3476
- .resizer[data-v-4bcdb743]::after {
3520
+ .resizer[data-v-d5bc9278]::after {
3477
3521
  content: "";
3478
3522
  position: absolute;
3479
3523
  inset-block: 0;
@@ -3489,7 +3533,7 @@ hr[aria-orientation="vertical"][data-v-f07c3800] {
3489
3533
  background-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
3490
3534
  opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
3491
3535
  }
3492
- .guide[data-v-4bcdb743] {
3536
+ .guide[data-v-d5bc9278] {
3493
3537
  position: absolute;
3494
3538
  inset-block-start: 50%;
3495
3539
  inset-inline-start: 50%;
@@ -3503,16 +3547,16 @@ hr[aria-orientation="vertical"][data-v-f07c3800] {
3503
3547
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
3504
3548
  pointer-events: none;
3505
3549
  }
3506
- .resizer[data-v-4bcdb743]:is(:hover, :focus-visible)::after {
3550
+ .resizer[data-v-d5bc9278]:is(:hover, :focus-visible)::after {
3507
3551
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid, var(--ui-focus-ring)));
3508
3552
  opacity: 1;
3509
3553
  }
3510
- .resizer:is(:hover, :focus-visible) > .guide[data-v-4bcdb743] {
3554
+ .resizer:is(:hover, :focus-visible) > .guide[data-v-d5bc9278] {
3511
3555
  opacity: 1;
3512
3556
  }
3513
3557
 
3514
3558
  /* Drawer: a popover in the top layer, sliding in from its edge. Closed popovers are hidden by the UA. */
3515
- [data-component~="ui-sidebar"][popover][data-v-4bcdb743] {
3559
+ [data-component~="ui-sidebar"][popover][data-v-d5bc9278] {
3516
3560
  position: fixed;
3517
3561
  inset-block: 0;
3518
3562
  inset-inline-start: 0;
@@ -3532,40 +3576,40 @@ hr[aria-orientation="vertical"][data-v-f07c3800] {
3532
3576
  }
3533
3577
 
3534
3578
  /* The author display above would otherwise override the UA rule that hides a closed popover. */
3535
- [data-component~="ui-sidebar"][popover][data-v-4bcdb743]:not(:popover-open) {
3579
+ [data-component~="ui-sidebar"][popover][data-v-d5bc9278]:not(:popover-open) {
3536
3580
  display: none;
3537
3581
  transform: translateX(-100%);
3538
3582
  }
3539
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-4bcdb743] {
3583
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-d5bc9278] {
3540
3584
  inset-inline-start: auto;
3541
3585
  inset-inline-end: 0;
3542
3586
  }
3543
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-4bcdb743]:not(:popover-open) {
3587
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-d5bc9278]:not(:popover-open) {
3544
3588
  transform: translateX(100%);
3545
3589
  }
3546
3590
  @starting-style {
3547
- [data-component~="ui-sidebar"][popover][data-v-4bcdb743]:popover-open {
3591
+ [data-component~="ui-sidebar"][popover][data-v-d5bc9278]:popover-open {
3548
3592
  transform: translateX(-100%);
3549
3593
  }
3550
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-4bcdb743]:popover-open {
3594
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][popover][data-v-d5bc9278]:popover-open {
3551
3595
  transform: translateX(100%);
3552
3596
  }
3553
3597
  }
3554
- [data-component~="ui-sidebar"][popover][data-v-4bcdb743]::backdrop {
3598
+ [data-component~="ui-sidebar"][popover][data-v-d5bc9278]::backdrop {
3555
3599
  background: var(--ui-sidebar-backdrop, rgb(0 0 0 / 0.32));
3556
3600
  }
3557
3601
  @media (prefers-reduced-motion: reduce) {
3558
- [data-component~="ui-sidebar"][popover][data-v-4bcdb743] {
3602
+ [data-component~="ui-sidebar"][popover][data-v-d5bc9278] {
3559
3603
  transition: none;
3560
3604
  }
3561
3605
  }
3562
3606
 
3563
3607
  /* A component that sets its display still honours the hidden attribute on its root. */
3564
- [data-component~="ui-sidebar"][hidden][data-v-4bcdb743] {
3608
+ [data-component~="ui-sidebar"][hidden][data-v-d5bc9278] {
3565
3609
  display: none;
3566
3610
  }
3567
3611
 
3568
- [data-component~="ui-stack"][data-v-43678d8b] {
3612
+ [data-component~="ui-stack"][data-v-e8d52a11] {
3569
3613
  --_layout-gap: var(--ui-space-4);
3570
3614
  display: flex;
3571
3615
  flex-direction: column;
@@ -3575,46 +3619,46 @@ hr[aria-orientation="vertical"][data-v-f07c3800] {
3575
3619
  max-inline-size: 100%;
3576
3620
  margin: 0;
3577
3621
  }
3578
- [data-component~="ui-stack"][data-ui-stack-state~="gap=xs"][data-v-43678d8b] {
3622
+ [data-component~="ui-stack"][data-ui-stack-state~="gap=xs"][data-v-e8d52a11] {
3579
3623
  --_layout-gap: var(--ui-space-2);
3580
3624
  }
3581
- [data-component~="ui-stack"][data-ui-stack-state~="gap=s"][data-v-43678d8b] {
3625
+ [data-component~="ui-stack"][data-ui-stack-state~="gap=s"][data-v-e8d52a11] {
3582
3626
  --_layout-gap: var(--ui-space-3);
3583
3627
  }
3584
- [data-component~="ui-stack"][data-ui-stack-state~="gap=m"][data-v-43678d8b] {
3628
+ [data-component~="ui-stack"][data-ui-stack-state~="gap=m"][data-v-e8d52a11] {
3585
3629
  --_layout-gap: var(--ui-space-4);
3586
3630
  }
3587
- [data-component~="ui-stack"][data-ui-stack-state~="gap=l"][data-v-43678d8b] {
3631
+ [data-component~="ui-stack"][data-ui-stack-state~="gap=l"][data-v-e8d52a11] {
3588
3632
  --_layout-gap: var(--ui-space-5);
3589
3633
  }
3590
- [data-component~="ui-stack"][data-ui-stack-state~="gap=xl"][data-v-43678d8b] {
3634
+ [data-component~="ui-stack"][data-ui-stack-state~="gap=xl"][data-v-e8d52a11] {
3591
3635
  --_layout-gap: var(--ui-space-6);
3592
3636
  }
3593
- [data-component~="ui-stack"][data-ui-stack-state~="align=start"][data-v-43678d8b] {
3637
+ [data-component~="ui-stack"][data-ui-stack-state~="align=start"][data-v-e8d52a11] {
3594
3638
  align-items: flex-start;
3595
3639
  }
3596
- [data-component~="ui-stack"][data-ui-stack-state~="align=center"][data-v-43678d8b] {
3640
+ [data-component~="ui-stack"][data-ui-stack-state~="align=center"][data-v-e8d52a11] {
3597
3641
  align-items: center;
3598
3642
  }
3599
- [data-component~="ui-stack"][data-ui-stack-state~="align=end"][data-v-43678d8b] {
3643
+ [data-component~="ui-stack"][data-ui-stack-state~="align=end"][data-v-e8d52a11] {
3600
3644
  align-items: flex-end;
3601
3645
  }
3602
- [data-component~="ui-stack"][data-ui-stack-state~="justify=center"][data-v-43678d8b] {
3646
+ [data-component~="ui-stack"][data-ui-stack-state~="justify=center"][data-v-e8d52a11] {
3603
3647
  justify-content: center;
3604
3648
  }
3605
- [data-component~="ui-stack"][data-ui-stack-state~="justify=end"][data-v-43678d8b] {
3649
+ [data-component~="ui-stack"][data-ui-stack-state~="justify=end"][data-v-e8d52a11] {
3606
3650
  justify-content: flex-end;
3607
3651
  }
3608
- [data-component~="ui-stack"][data-ui-stack-state~="justify=between"][data-v-43678d8b] {
3652
+ [data-component~="ui-stack"][data-ui-stack-state~="justify=between"][data-v-e8d52a11] {
3609
3653
  justify-content: space-between;
3610
3654
  }
3611
3655
 
3612
3656
  /* A component that sets its display still honours the hidden attribute on its root. */
3613
- [data-component~="ui-stack"][hidden][data-v-43678d8b] {
3657
+ [data-component~="ui-stack"][hidden][data-v-e8d52a11] {
3614
3658
  display: none;
3615
3659
  }
3616
3660
 
3617
- [data-component~="ui-switch"][data-v-aeb44053] {
3661
+ [data-component~="ui-switch"][data-v-26ab3add] {
3618
3662
  display: inline-flex;
3619
3663
  align-items: flex-start;
3620
3664
  gap: var(--ui-switch-gap, var(--ui-space-2));
@@ -3622,11 +3666,11 @@ hr[aria-orientation="vertical"][data-v-f07c3800] {
3622
3666
  color: var(--ui-text-primary);
3623
3667
  cursor: pointer;
3624
3668
  }
3625
- .label[data-v-aeb44053] {
3669
+ .label[data-v-26ab3add] {
3626
3670
  min-inline-size: 0;
3627
3671
  line-height: var(--ui-line-height-md);
3628
3672
  }
3629
- input[data-v-aeb44053] {
3673
+ input[data-v-26ab3add] {
3630
3674
  appearance: none;
3631
3675
  -webkit-appearance: none;
3632
3676
  position: relative;
@@ -3644,7 +3688,7 @@ input[data-v-aeb44053] {
3644
3688
  border-color var(--ui-motion-fast) var(--ui-motion-ease);
3645
3689
  margin: 0;
3646
3690
  }
3647
- input[data-v-aeb44053]::after {
3691
+ input[data-v-26ab3add]::after {
3648
3692
  content: "";
3649
3693
  position: absolute;
3650
3694
  top: 3px;
@@ -3656,39 +3700,39 @@ input[data-v-aeb44053]::after {
3656
3700
  box-shadow: var(--ui-shadow-xs);
3657
3701
  transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
3658
3702
  }
3659
- input[data-v-aeb44053]:checked {
3703
+ input[data-v-26ab3add]:checked {
3660
3704
  background: var(--ui-accent-solid);
3661
3705
  border-color: var(--ui-accent-solid);
3662
3706
  }
3663
- input[data-v-aeb44053]:checked::after {
3707
+ input[data-v-26ab3add]:checked::after {
3664
3708
  transform: translateX(1rem);
3665
3709
  background: var(--ui-text-on-accent);
3666
3710
  }
3667
- input[data-v-aeb44053]:focus-visible {
3711
+ input[data-v-26ab3add]:focus-visible {
3668
3712
  outline: 2px solid var(--ui-focus-ring, var(--ui-accent-solid));
3669
3713
  outline-offset: 2px;
3670
3714
  }
3671
- [data-component~="ui-switch"][data-ui-switch-state~="disabled"][data-v-aeb44053] {
3715
+ [data-component~="ui-switch"][data-ui-switch-state~="disabled"][data-v-26ab3add] {
3672
3716
  color: var(--ui-text-muted);
3673
3717
  cursor: not-allowed;
3674
3718
  }
3675
- [data-component~="ui-switch"][data-ui-switch-state~="disabled"] input[data-v-aeb44053] {
3719
+ [data-component~="ui-switch"][data-ui-switch-state~="disabled"] input[data-v-26ab3add] {
3676
3720
  border-color: var(--ui-border-default);
3677
3721
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
3678
3722
  cursor: not-allowed;
3679
3723
  }
3680
3724
  @media (prefers-reduced-motion: reduce) {
3681
- input[data-v-aeb44053], input[data-v-aeb44053]::after {
3725
+ input[data-v-26ab3add], input[data-v-26ab3add]::after {
3682
3726
  transition: none;
3683
3727
  }
3684
3728
  }
3685
3729
 
3686
3730
  /* A component that sets its display still honours the hidden attribute on its root. */
3687
- [data-component~="ui-switch"][hidden][data-v-aeb44053] {
3731
+ [data-component~="ui-switch"][hidden][data-v-26ab3add] {
3688
3732
  display: none;
3689
3733
  }
3690
3734
 
3691
- [data-component~="ui-switcher"][data-v-3ed2c685] {
3735
+ [data-component~="ui-switcher"][data-v-e00fcda9] {
3692
3736
  --_switcher-gap: var(--ui-space-4);
3693
3737
  display: flex;
3694
3738
  flex-wrap: wrap;
@@ -3697,68 +3741,68 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3697
3741
  max-inline-size: 100%;
3698
3742
  margin: 0;
3699
3743
  }
3700
- [data-component~="ui-switcher"] > [data-v-3ed2c685-s] {
3744
+ [data-component~="ui-switcher"] > [data-v-e00fcda9-s] {
3701
3745
  min-inline-size: 0;
3702
3746
  flex-grow: 1;
3703
3747
  /* The large multiplier makes the basis flip as a group at the intrinsic threshold. */
3704
3748
  flex-basis: calc((var(--ui-switcher-threshold, 30rem) - 100%) * 999);
3705
3749
  }
3706
- [data-component~="ui-switcher"][data-ui-switcher-state~="gap=xs"][data-v-3ed2c685] {
3750
+ [data-component~="ui-switcher"][data-ui-switcher-state~="gap=xs"][data-v-e00fcda9] {
3707
3751
  --_switcher-gap: var(--ui-space-2);
3708
3752
  }
3709
- [data-component~="ui-switcher"][data-ui-switcher-state~="gap=s"][data-v-3ed2c685] {
3753
+ [data-component~="ui-switcher"][data-ui-switcher-state~="gap=s"][data-v-e00fcda9] {
3710
3754
  --_switcher-gap: var(--ui-space-3);
3711
3755
  }
3712
- [data-component~="ui-switcher"][data-ui-switcher-state~="gap=m"][data-v-3ed2c685] {
3756
+ [data-component~="ui-switcher"][data-ui-switcher-state~="gap=m"][data-v-e00fcda9] {
3713
3757
  --_switcher-gap: var(--ui-space-4);
3714
3758
  }
3715
- [data-component~="ui-switcher"][data-ui-switcher-state~="gap=l"][data-v-3ed2c685] {
3759
+ [data-component~="ui-switcher"][data-ui-switcher-state~="gap=l"][data-v-e00fcda9] {
3716
3760
  --_switcher-gap: var(--ui-space-5);
3717
3761
  }
3718
- [data-component~="ui-switcher"][data-ui-switcher-state~="gap=xl"][data-v-3ed2c685] {
3762
+ [data-component~="ui-switcher"][data-ui-switcher-state~="gap=xl"][data-v-e00fcda9] {
3719
3763
  --_switcher-gap: var(--ui-space-6);
3720
3764
  }
3721
- [data-component~="ui-switcher"][data-ui-switcher-state~="threshold=xs"] > [data-v-3ed2c685-s] {
3765
+ [data-component~="ui-switcher"][data-ui-switcher-state~="threshold=xs"] > [data-v-e00fcda9-s] {
3722
3766
  flex-basis: calc((var(--ui-switcher-threshold, 20rem) - 100%) * 999);
3723
3767
  }
3724
- [data-component~="ui-switcher"][data-ui-switcher-state~="threshold=md"] > [data-v-3ed2c685-s] {
3768
+ [data-component~="ui-switcher"][data-ui-switcher-state~="threshold=md"] > [data-v-e00fcda9-s] {
3725
3769
  flex-basis: calc((var(--ui-switcher-threshold, 45rem) - 100%) * 999);
3726
3770
  }
3727
- [data-component~="ui-switcher"][data-ui-switcher-state~="threshold=lg"] > [data-v-3ed2c685-s] {
3771
+ [data-component~="ui-switcher"][data-ui-switcher-state~="threshold=lg"] > [data-v-e00fcda9-s] {
3728
3772
  flex-basis: calc((var(--ui-switcher-threshold, 60rem) - 100%) * 999);
3729
3773
  }
3730
- [data-component~="ui-switcher"][data-ui-switcher-state~="align=start"][data-v-3ed2c685] {
3774
+ [data-component~="ui-switcher"][data-ui-switcher-state~="align=start"][data-v-e00fcda9] {
3731
3775
  align-items: flex-start;
3732
3776
  }
3733
- [data-component~="ui-switcher"][data-ui-switcher-state~="align=center"][data-v-3ed2c685] {
3777
+ [data-component~="ui-switcher"][data-ui-switcher-state~="align=center"][data-v-e00fcda9] {
3734
3778
  align-items: center;
3735
3779
  }
3736
- [data-component~="ui-switcher"][data-ui-switcher-state~="align=end"][data-v-3ed2c685] {
3780
+ [data-component~="ui-switcher"][data-ui-switcher-state~="align=end"][data-v-e00fcda9] {
3737
3781
  align-items: flex-end;
3738
3782
  }
3739
3783
 
3740
3784
  /* A component that sets its display still honours the hidden attribute on its root. */
3741
- [data-component~="ui-switcher"][hidden][data-v-3ed2c685] {
3785
+ [data-component~="ui-switcher"][hidden][data-v-e00fcda9] {
3742
3786
  display: none;
3743
3787
  }
3744
3788
 
3745
3789
  /* Density resolves into the tab row's own values; the public tokens still override them. */
3746
- [data-component~="ui-tabs"][data-v-f288c3b2] {
3790
+ [data-component~="ui-tabs"][data-v-cf12d253] {
3747
3791
  --_tab-min-block-size: var(--ui-control-size);
3748
3792
  --_tab-padding-block: var(--ui-space-2);
3749
3793
  --_tab-padding-inline: var(--ui-space-3);
3750
3794
  }
3751
- [data-component~="ui-tabs"][data-ui-tabs-state~="density=compact"][data-v-f288c3b2] {
3795
+ [data-component~="ui-tabs"][data-ui-tabs-state~="density=compact"][data-v-cf12d253] {
3752
3796
  --_tab-min-block-size: var(--ui-control-size-sm);
3753
3797
  --_tab-padding-block: var(--ui-space-1);
3754
3798
  --_tab-padding-inline: var(--ui-space-2);
3755
3799
  }
3756
- [data-component~="ui-tabs"][data-v-f288c3b2] {
3800
+ [data-component~="ui-tabs"][data-v-cf12d253] {
3757
3801
  display: grid;
3758
3802
  inline-size: 100%;
3759
3803
  min-inline-size: 0;
3760
3804
  }
3761
- .list[data-v-f288c3b2] {
3805
+ .list[data-v-cf12d253] {
3762
3806
  display: grid;
3763
3807
  grid-auto-flow: column;
3764
3808
  grid-auto-columns: max-content;
@@ -3774,7 +3818,7 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3774
3818
  scrollbar-width: thin;
3775
3819
  border-block-end: 1px solid var(--ui-border-default);
3776
3820
  }
3777
- .list button[data-v-f288c3b2] {
3821
+ .list button[data-v-cf12d253] {
3778
3822
  min-block-size: var(--ui-tabs-tab-min-block-size, var(--_tab-min-block-size));
3779
3823
  margin: 0 0 -1px;
3780
3824
  padding: var(--ui-tabs-tab-padding-block, var(--_tab-padding-block))
@@ -3797,7 +3841,7 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3797
3841
  /* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
3798
3842
  * Trimming applies to block containers, so the box is a block with centred content. */
3799
3843
  @supports (text-box-trim: trim-both) {
3800
- .list button[data-v-f288c3b2] {
3844
+ .list button[data-v-cf12d253] {
3801
3845
  display: block;
3802
3846
  text-align: center;
3803
3847
  align-content: center;
@@ -3805,43 +3849,43 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3805
3849
  text-box-edge: cap alphabetic;
3806
3850
  }
3807
3851
  }
3808
- [data-component~="ui-tabs"][data-ui-tabs-state~="stretch"] .list[data-v-f288c3b2] {
3852
+ [data-component~="ui-tabs"][data-ui-tabs-state~="stretch"] .list[data-v-cf12d253] {
3809
3853
  grid-auto-columns: minmax(max-content, 1fr);
3810
3854
  }
3811
- .list button[data-v-f288c3b2] {
3855
+ .list button[data-v-cf12d253] {
3812
3856
  white-space: nowrap;
3813
3857
  }
3814
- .list button[data-v-f288c3b2]:hover {
3858
+ .list button[data-v-cf12d253]:hover {
3815
3859
  color: var(--ui-text-primary);
3816
3860
  background: var(--ui-surface-muted);
3817
3861
  }
3818
- .list button[aria-selected="true"][data-v-f288c3b2] {
3862
+ .list button[aria-selected="true"][data-v-cf12d253] {
3819
3863
  color: var(--ui-accent-solid);
3820
3864
  border-block-end-color: var(--ui-accent-solid);
3821
3865
  }
3822
- .list button[data-v-f288c3b2]:focus-visible {
3866
+ .list button[data-v-cf12d253]:focus-visible {
3823
3867
  position: relative;
3824
3868
  outline: none;
3825
3869
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
3826
3870
  border-radius: var(--ui-radius-sm);
3827
3871
  }
3828
- .panels[data-v-f288c3b2] {
3872
+ .panels[data-v-cf12d253] {
3829
3873
  min-inline-size: 0;
3830
3874
  }
3831
- [data-v-f288c3b2-s] {
3875
+ [data-v-cf12d253-s] {
3832
3876
  padding: var(--ui-space-4);
3833
3877
  }
3834
- [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"][data-v-f288c3b2] {
3878
+ [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"][data-v-cf12d253] {
3835
3879
  grid-template-columns: max-content minmax(0, 1fr);
3836
3880
  align-items: start;
3837
3881
  }
3838
- [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"] .list[data-v-f288c3b2] {
3882
+ [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"] .list[data-v-cf12d253] {
3839
3883
  grid-auto-flow: row;
3840
3884
  grid-auto-columns: auto;
3841
3885
  border-block-end: 0;
3842
3886
  border-inline-end: 1px solid var(--ui-border-default);
3843
3887
  }
3844
- [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"] .list button[data-v-f288c3b2] {
3888
+ [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"] .list button[data-v-cf12d253] {
3845
3889
  margin: 0 -1px 0 0;
3846
3890
  border-block-end: 0;
3847
3891
  border-inline-end: 2px solid transparent;
@@ -3849,21 +3893,21 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3849
3893
  }
3850
3894
  [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"]
3851
3895
  .list
3852
- button[aria-selected="true"][data-v-f288c3b2] {
3896
+ button[aria-selected="true"][data-v-cf12d253] {
3853
3897
  border-inline-end-color: var(--ui-accent-solid);
3854
3898
  }
3855
3899
  @media (prefers-reduced-motion: reduce) {
3856
- .list button[data-v-f288c3b2] {
3900
+ .list button[data-v-cf12d253] {
3857
3901
  transition: none;
3858
3902
  }
3859
3903
  }
3860
3904
 
3861
3905
  /* A component that sets its display still honours the hidden attribute on its root. */
3862
- [data-component~="ui-tabs"][hidden][data-v-f288c3b2] {
3906
+ [data-component~="ui-tabs"][hidden][data-v-cf12d253] {
3863
3907
  display: none;
3864
3908
  }
3865
3909
 
3866
- [data-component~="ui-textarea"][data-v-fd749c95] {
3910
+ [data-component~="ui-textarea"][data-v-0352d397] {
3867
3911
  box-sizing: border-box;
3868
3912
  display: inline-block;
3869
3913
  inline-size: 100%;
@@ -3887,18 +3931,18 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3887
3931
  }
3888
3932
 
3889
3933
  /* Tabbing into a field selects its text; tint that selection softly instead of the page highlight. */
3890
- [data-component~="ui-textarea"][data-v-fd749c95]::selection {
3934
+ [data-component~="ui-textarea"][data-v-0352d397]::selection {
3891
3935
  background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
3892
3936
  color: inherit;
3893
3937
  }
3894
- [data-component~="ui-textarea"][data-v-fd749c95]::placeholder {
3938
+ [data-component~="ui-textarea"][data-v-0352d397]::placeholder {
3895
3939
  color: var(--ui-control-placeholder, var(--ui-text-secondary));
3896
3940
  opacity: 1;
3897
3941
  }
3898
- [data-component~="ui-textarea"][data-v-fd749c95]:hover:not(:focus):not(:disabled) {
3942
+ [data-component~="ui-textarea"][data-v-0352d397]:hover:not(:focus):not(:disabled) {
3899
3943
  border-color: var(--ui-control-border-hover, var(--ui-text-secondary));
3900
3944
  }
3901
- [data-component~="ui-textarea"][data-v-fd749c95]:focus-visible {
3945
+ [data-component~="ui-textarea"][data-v-0352d397]:focus-visible {
3902
3946
  border-color: var(--ui-control-focus, var(--ui-accent-solid));
3903
3947
  outline: none;
3904
3948
  box-shadow: var(
@@ -3909,16 +3953,16 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3909
3953
  }
3910
3954
 
3911
3955
  /* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
3912
- [data-component~="ui-textarea"][aria-invalid="true"][data-v-fd749c95],
3913
- [data-component~="ui-textarea"][data-v-fd749c95]:is(:user-invalid, [data-user-invalid]) {
3956
+ [data-component~="ui-textarea"][aria-invalid="true"][data-v-0352d397],
3957
+ [data-component~="ui-textarea"][data-v-0352d397]:is(:user-invalid, [data-user-invalid]) {
3914
3958
  border-color: var(--ui-danger-solid);
3915
3959
  }
3916
- [data-component~="ui-textarea"][data-v-fd749c95]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
3960
+ [data-component~="ui-textarea"][data-v-0352d397]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
3917
3961
  box-shadow:
3918
3962
  var(--ui-control-inset),
3919
3963
  0 0 0 3px color-mix(in srgb, var(--ui-danger-solid) 22%, transparent);
3920
3964
  }
3921
- [data-component~="ui-textarea"][data-v-fd749c95]:disabled {
3965
+ [data-component~="ui-textarea"][data-v-0352d397]:disabled {
3922
3966
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
3923
3967
  color: var(--ui-text-muted);
3924
3968
  box-shadow: none;
@@ -3926,11 +3970,11 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3926
3970
  }
3927
3971
 
3928
3972
  /* A component that sets its display still honours the hidden attribute on its root. */
3929
- [data-component~="ui-textarea"][hidden][data-v-fd749c95] {
3973
+ [data-component~="ui-textarea"][hidden][data-v-0352d397] {
3930
3974
  display: none;
3931
3975
  }
3932
3976
 
3933
- [data-component~="ui-toast-region"][data-v-925e00c2] {
3977
+ [data-component~="ui-toast-region"][data-v-94472df4] {
3934
3978
  position: fixed;
3935
3979
  top: calc(var(--ui-space-4) + env(safe-area-inset-top));
3936
3980
  right: auto;
@@ -3952,14 +3996,14 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3952
3996
  box-shadow: none;
3953
3997
  pointer-events: none;
3954
3998
  }
3955
- [data-component~="ui-toast-region"][data-v-925e00c2]:not(:popover-open) {
3999
+ [data-component~="ui-toast-region"][data-v-94472df4]:not(:popover-open) {
3956
4000
  display: none;
3957
4001
  }
3958
- [data-component~="ui-toast-region"] > .toast[data-v-925e00c2],
3959
- [data-component~="ui-toast-region"] > [data-v-925e00c2-s] {
4002
+ [data-component~="ui-toast-region"] > .toast[data-v-94472df4],
4003
+ [data-component~="ui-toast-region"] > [data-v-94472df4-s] {
3960
4004
  pointer-events: auto;
3961
4005
  }
3962
- .toast[data-v-925e00c2] {
4006
+ .toast[data-v-94472df4] {
3963
4007
  display: grid;
3964
4008
  grid-template-columns: 1fr auto;
3965
4009
  gap: var(--ui-space-2);
@@ -3970,16 +4014,16 @@ input[data-v-aeb44053], input[data-v-aeb44053]::after {
3970
4014
  background: var(--ui-surface-elevated);
3971
4015
  color: var(--ui-text-primary);
3972
4016
  box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
3973
- animation: ui-toast-enter-925e00c2 var(--ui-toast-region-enter-duration, 0.32s)
4017
+ animation: ui-toast-enter-94472df4 var(--ui-toast-region-enter-duration, 0.32s)
3974
4018
  var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
3975
4019
  }
3976
4020
 
3977
4021
  /* Leaving slides on down and fades; the controller removes the toast when this ends. */
3978
- .toast.closing[data-v-925e00c2] {
3979
- animation: ui-toast-exit-925e00c2 var(--ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease) both;
4022
+ .toast.closing[data-v-94472df4] {
4023
+ animation: ui-toast-exit-94472df4 var(--ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease) both;
3980
4024
  pointer-events: none;
3981
4025
  }
3982
- @keyframes ui-toast-enter-925e00c2 {
4026
+ @keyframes ui-toast-enter-94472df4 {
3983
4027
  from {
3984
4028
  opacity: 0;
3985
4029
  transform: translateY(-1rem);
@@ -3989,7 +4033,7 @@ to {
3989
4033
  transform: translateY(0);
3990
4034
  }
3991
4035
  }
3992
- @keyframes ui-toast-exit-925e00c2 {
4036
+ @keyframes ui-toast-exit-94472df4 {
3993
4037
  from {
3994
4038
  opacity: 1;
3995
4039
  transform: translateY(0);
@@ -4000,25 +4044,25 @@ to {
4000
4044
  }
4001
4045
  }
4002
4046
  @media (prefers-reduced-motion: reduce) {
4003
- .toast[data-v-925e00c2], .toast.closing[data-v-925e00c2] {
4047
+ .toast[data-v-94472df4], .toast.closing[data-v-94472df4] {
4004
4048
  animation: none;
4005
4049
  }
4006
4050
  }
4007
- .message[data-v-925e00c2] {
4051
+ .message[data-v-94472df4] {
4008
4052
  min-inline-size: 0;
4009
4053
  align-self: center;
4010
4054
  }
4011
- .dismiss[data-v-925e00c2] {
4055
+ .dismiss[data-v-94472df4] {
4012
4056
  align-self: center;
4013
4057
  margin-inline-end: calc(var(--ui-space-2) * -1);
4014
4058
  }
4015
4059
 
4016
4060
  /* A component that sets its display still honours the hidden attribute on its root. */
4017
- [data-component~="ui-toast-region"][hidden][data-v-925e00c2] {
4061
+ [data-component~="ui-toast-region"][hidden][data-v-94472df4] {
4018
4062
  display: none;
4019
4063
  }
4020
4064
 
4021
- [data-component~="ui-top-bar"][data-v-d08120f9] {
4065
+ [data-component~="ui-top-bar"][data-v-72f788b1] {
4022
4066
  position: sticky;
4023
4067
  inset-block-start: 0;
4024
4068
  z-index: var(--ui-top-bar-z-index, 100);
@@ -4038,50 +4082,50 @@ to {
4038
4082
  background: var(--ui-top-bar-surface, var(--ui-surface-elevated));
4039
4083
  border-block-end: 1px solid var(--ui-top-bar-border, var(--ui-border-default));
4040
4084
  }
4041
- .leading[data-v-d08120f9],
4042
- .search[data-v-d08120f9],
4043
- .actions[data-v-d08120f9] {
4085
+ .leading[data-v-72f788b1],
4086
+ .search[data-v-72f788b1],
4087
+ .actions[data-v-72f788b1] {
4044
4088
  display: flex;
4045
4089
  align-items: center;
4046
4090
  flex-shrink: 0;
4047
4091
  }
4048
- .actions[data-v-d08120f9] {
4092
+ .actions[data-v-72f788b1] {
4049
4093
  gap: var(--ui-top-bar-actions-gap, var(--ui-space-1));
4050
4094
  }
4051
- .title[data-v-d08120f9] {
4095
+ .title[data-v-72f788b1] {
4052
4096
  min-inline-size: 0;
4053
4097
  flex: 1;
4054
4098
  }
4055
4099
 
4056
4100
  /* An unused region takes no space, so it adds no gap. */
4057
- .leading[data-v-d08120f9]:empty,
4058
- .search[data-v-d08120f9]:empty,
4059
- .actions[data-v-d08120f9]:empty {
4101
+ .leading[data-v-72f788b1]:empty,
4102
+ .search[data-v-72f788b1]:empty,
4103
+ .actions[data-v-72f788b1]:empty {
4060
4104
  display: none;
4061
4105
  }
4062
4106
 
4063
4107
  /* A component that sets its display still honours the hidden attribute on its root. */
4064
- [data-component~="ui-top-bar"][hidden][data-v-d08120f9] {
4108
+ [data-component~="ui-top-bar"][hidden][data-v-72f788b1] {
4065
4109
  display: none;
4066
4110
  }
4067
4111
 
4068
- [data-component~="ui-tree"][data-ui-tree-state~="density=compact"][data-v-89a4437c] {
4112
+ [data-component~="ui-tree"][data-ui-tree-state~="density=compact"][data-v-a2bb2dca] {
4069
4113
  --ui-tree-item-min-block-size: var(--ui-control-size-sm);
4070
4114
  --ui-tree-item-font-size: var(--ui-font-size-sm);
4071
4115
  --ui-tree-item-label-padding-block: 0;
4072
4116
  }
4073
- [data-component~="ui-tree"][data-v-89a4437c] {
4117
+ [data-component~="ui-tree"][data-v-a2bb2dca] {
4074
4118
  display: block;
4075
4119
  min-inline-size: 0;
4076
4120
  padding-inline-start: var(--ui-tree-gutter, 0px);
4077
4121
  }
4078
4122
 
4079
4123
  /* A component that sets its display still honours the hidden attribute on its root. */
4080
- [data-component~="ui-tree"][hidden][data-v-89a4437c] {
4124
+ [data-component~="ui-tree"][hidden][data-v-a2bb2dca] {
4081
4125
  display: none;
4082
4126
  }
4083
4127
 
4084
- [data-component~="ui-tree-item"][data-v-d093d318] {
4128
+ [data-component~="ui-tree-item"][data-v-48465a46] {
4085
4129
  --_tree-row-min-height: 32px;
4086
4130
  --_tree-disclosure-size: 16px;
4087
4131
 
@@ -4090,7 +4134,7 @@ to {
4090
4134
  min-inline-size: 0;
4091
4135
  margin-inline-start: calc(var(--ui-tree-item-depth, 0) * var(--ui-tree-indent, 16px));
4092
4136
  }
4093
- .row[data-v-d093d318] {
4137
+ .row[data-v-48465a46] {
4094
4138
  position: relative;
4095
4139
  display: grid;
4096
4140
  grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr);
@@ -4107,38 +4151,38 @@ to {
4107
4151
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
4108
4152
  min-block-size var(--ui-motion-base) var(--ui-motion-ease);
4109
4153
  }
4110
- .row[data-v-d093d318]:hover,
4111
- [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"] .row[data-v-d093d318],
4112
- .row[data-v-d093d318]:focus-within {
4154
+ .row[data-v-48465a46]:hover,
4155
+ [data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"] .row[data-v-48465a46],
4156
+ .row[data-v-48465a46]:focus-within {
4113
4157
  color: var(--ui-text-primary);
4114
4158
  background: var(--ui-surface-muted);
4115
4159
  }
4116
- [data-component~="ui-tree-item"][data-ui-tree-item-state~="disabled"] .row[data-v-d093d318] {
4160
+ [data-component~="ui-tree-item"][data-ui-tree-item-state~="disabled"] .row[data-v-48465a46] {
4117
4161
  opacity: 0.55;
4118
4162
  }
4119
- [data-component~="ui-tree-item"][data-dragging] .row[data-v-d093d318] {
4163
+ [data-component~="ui-tree-item"][data-dragging] .row[data-v-48465a46] {
4120
4164
  opacity: 0.42;
4121
4165
  }
4122
- [data-component~="ui-tree-item"][data-v-d093d318]:focus {
4166
+ [data-component~="ui-tree-item"][data-v-48465a46]:focus {
4123
4167
  outline: none;
4124
4168
  }
4125
- [data-component~="ui-tree-item"]:focus-visible .row[data-v-d093d318] {
4169
+ [data-component~="ui-tree-item"]:focus-visible .row[data-v-48465a46] {
4126
4170
  box-shadow: 0 0 0 2px var(--ui-focus-ring);
4127
4171
  }
4128
4172
 
4129
4173
  /* Child combinators: drop feedback belongs to this item's own row, not the rows nested in it. */
4130
- [data-component~="ui-tree-item"][data-drop-position="inside"] > .row[data-v-d093d318] {
4174
+ [data-component~="ui-tree-item"][data-drop-position="inside"] > .row[data-v-48465a46] {
4131
4175
  background: var(--ui-accent-subtle);
4132
4176
  box-shadow: inset 0 0 0 1px var(--ui-tree-drop-color, var(--ui-accent-solid));
4133
4177
  }
4134
- .disclosure[data-v-d093d318],
4135
- .disclosure-spacer[data-v-d093d318] {
4178
+ .disclosure[data-v-48465a46],
4179
+ .disclosure-spacer[data-v-48465a46] {
4136
4180
  grid-column: 1;
4137
4181
  grid-row: 1;
4138
4182
  inline-size: var(--_tree-disclosure-size);
4139
4183
  block-size: 28px;
4140
4184
  }
4141
- .disclosure[data-v-d093d318] {
4185
+ .disclosure[data-v-48465a46] {
4142
4186
  display: grid;
4143
4187
  /* Start-aligned: the chevron's ink, not its hit area, aligns with the content above it. */
4144
4188
  place-items: center start;
@@ -4149,14 +4193,14 @@ to {
4149
4193
  border-radius: var(--ui-radius-sm);
4150
4194
  cursor: pointer;
4151
4195
  }
4152
- .disclosure[hidden][data-v-d093d318] {
4196
+ .disclosure[hidden][data-v-48465a46] {
4153
4197
  display: none;
4154
4198
  }
4155
- .disclosure[data-v-d093d318]:hover {
4199
+ .disclosure[data-v-48465a46]:hover {
4156
4200
  color: var(--ui-text-primary);
4157
4201
  background: var(--ui-surface-elevated);
4158
4202
  }
4159
- .disclosure-icon[data-v-d093d318] {
4203
+ .disclosure-icon[data-v-48465a46] {
4160
4204
  display: grid;
4161
4205
  place-items: center;
4162
4206
  inline-size: 12px;
@@ -4164,7 +4208,7 @@ to {
4164
4208
  transform: rotate(-90deg);
4165
4209
  transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
4166
4210
  }
4167
- .disclosure-icon[data-v-d093d318]::before {
4211
+ .disclosure-icon[data-v-48465a46]::before {
4168
4212
  display: block;
4169
4213
  inline-size: 0.375rem;
4170
4214
  block-size: 0.375rem;
@@ -4174,19 +4218,19 @@ to {
4174
4218
  /* A chevron's ink sits below its box centre; lift it so it centres optically (in either rotation). */
4175
4219
  transform: translateY(-20%) rotate(45deg);
4176
4220
  }
4177
- [data-component~="ui-tree-item"][aria-expanded="true"] .disclosure-icon[data-v-d093d318] {
4221
+ [data-component~="ui-tree-item"][aria-expanded="true"] .disclosure-icon[data-v-48465a46] {
4178
4222
  transform: rotate(0deg);
4179
4223
  }
4180
4224
 
4181
4225
  /* Lucide grip-vertical, filling the handle as in Looma 0.2. */
4182
- .drag-handle svg[data-v-d093d318] {
4226
+ .drag-handle svg[data-v-48465a46] {
4183
4227
  display: block;
4184
4228
  inline-size: 100%;
4185
4229
  block-size: 100%;
4186
4230
  }
4187
4231
 
4188
4232
  /* Slotted content is outside this scope, so :has() cannot see it; hide only a truly empty slot. */
4189
- .leading[data-v-d093d318] {
4233
+ .leading[data-v-48465a46] {
4190
4234
  display: inline-grid;
4191
4235
  place-items: center;
4192
4236
  grid-column: 2;
@@ -4196,12 +4240,12 @@ to {
4196
4240
  margin-inline-start: var(--ui-space-1);
4197
4241
  color: var(--ui-text-muted);
4198
4242
  }
4199
- .leading[data-v-d093d318]:empty {
4243
+ .leading[data-v-48465a46]:empty {
4200
4244
  display: none;
4201
4245
  }
4202
4246
 
4203
4247
  /* Icons match the label's size (as in Knit's tree): an unsized SVG would otherwise render 300×150. */
4204
- svg[data-v-d093d318-s],img[data-v-d093d318-s] {
4248
+ svg[data-v-48465a46-s],img[data-v-48465a46-s] {
4205
4249
  display: block;
4206
4250
  inline-size: 1em;
4207
4251
  block-size: 1em;
@@ -4210,7 +4254,7 @@ svg[data-v-d093d318-s],img[data-v-d093d318-s] {
4210
4254
 
4211
4255
  /* The label spans the row's height and centres its content, so slotted content (a link) can
4212
4256
  stretch to fill the row as its own hit area; the padding tokens remove the inset. */
4213
- .label[data-v-d093d318] {
4257
+ .label[data-v-48465a46] {
4214
4258
  grid-column: 3;
4215
4259
  grid-row: 1;
4216
4260
  align-self: stretch;
@@ -4223,15 +4267,15 @@ svg[data-v-d093d318-s],img[data-v-d093d318-s] {
4223
4267
 
4224
4268
  /* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
4225
4269
  its own text and reading as overflow. */
4226
- .label > [data-v-d093d318-s] {
4270
+ .label > [data-v-48465a46-s] {
4227
4271
  flex: 1 1 auto;
4228
4272
  min-inline-size: 0;
4229
4273
  }
4230
4274
 
4231
4275
  /* The controls sit over the label's end, so the text fades out where they begin. The fade is
4232
4276
  the truncation mark while it shows: an ellipsis under it would read as a second one. */
4233
- .row:hover > .label[data-v-d093d318],
4234
- .row:focus-within > .label[data-v-d093d318] {
4277
+ .row:hover > .label[data-v-48465a46],
4278
+ .row:focus-within > .label[data-v-48465a46] {
4235
4279
  text-overflow: clip;
4236
4280
  mask-image: linear-gradient(
4237
4281
  to right,
@@ -4239,19 +4283,19 @@ svg[data-v-d093d318-s],img[data-v-d093d318-s] {
4239
4283
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
4240
4284
  );
4241
4285
  }
4242
- .row:hover > .label[data-v-d093d318]:dir(rtl),
4243
- .row:focus-within > .label[data-v-d093d318]:dir(rtl) {
4286
+ .row:hover > .label[data-v-48465a46]:dir(rtl),
4287
+ .row:focus-within > .label[data-v-48465a46]:dir(rtl) {
4244
4288
  mask-image: linear-gradient(
4245
4289
  to left,
4246
4290
  #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
4247
4291
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
4248
4292
  );
4249
4293
  }
4250
- .row:hover > .label > [data-v-d093d318-s],
4251
- .row:focus-within > .label > [data-v-d093d318-s] {
4294
+ .row:hover > .label > [data-v-48465a46-s],
4295
+ .row:focus-within > .label > [data-v-48465a46-s] {
4252
4296
  text-overflow: clip;
4253
4297
  }
4254
- .actions[data-v-d093d318] {
4298
+ .actions[data-v-48465a46] {
4255
4299
  position: absolute;
4256
4300
  z-index: 1;
4257
4301
  inset-block: 0;
@@ -4263,18 +4307,18 @@ svg[data-v-d093d318-s],img[data-v-d093d318-s] {
4263
4307
  pointer-events: none;
4264
4308
  transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
4265
4309
  }
4266
- .row:hover > .actions[data-v-d093d318],
4267
- .row:focus-within > .actions[data-v-d093d318] {
4310
+ .row:hover > .actions[data-v-48465a46],
4311
+ .row:focus-within > .actions[data-v-48465a46] {
4268
4312
  opacity: 1;
4269
4313
  pointer-events: auto;
4270
4314
  }
4271
4315
 
4272
4316
  /* Without hover there is no reveal, so the controls keep their own column. */
4273
4317
  @media (hover: none) {
4274
- .row[data-v-d093d318] {
4318
+ .row[data-v-48465a46] {
4275
4319
  grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
4276
4320
  }
4277
- .actions[data-v-d093d318] {
4321
+ .actions[data-v-48465a46] {
4278
4322
  position: static;
4279
4323
  grid-column: 4;
4280
4324
  grid-row: 1;
@@ -4284,7 +4328,7 @@ svg[data-v-d093d318-s],img[data-v-d093d318-s] {
4284
4328
  pointer-events: auto;
4285
4329
  }
4286
4330
  }
4287
- .drag-handle[data-v-d093d318] {
4331
+ .drag-handle[data-v-48465a46] {
4288
4332
  position: absolute;
4289
4333
  z-index: 2;
4290
4334
  inset-block-start: 50%;
@@ -4305,16 +4349,16 @@ svg[data-v-d093d318-s],img[data-v-d093d318-s] {
4305
4349
  transform: translateY(-50%);
4306
4350
  transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
4307
4351
  }
4308
- .row:hover .drag-handle[data-v-d093d318],
4309
- .drag-handle[data-v-d093d318]:hover,
4310
- .drag-handle[data-v-d093d318]:focus-visible,
4311
- [data-component~="ui-tree-item"][data-dragging] > .row > .drag-handle[data-v-d093d318] {
4352
+ .row:hover .drag-handle[data-v-48465a46],
4353
+ .drag-handle[data-v-48465a46]:hover,
4354
+ .drag-handle[data-v-48465a46]:focus-visible,
4355
+ [data-component~="ui-tree-item"][data-dragging] > .row > .drag-handle[data-v-48465a46] {
4312
4356
  opacity: 1;
4313
4357
  }
4314
- .drag-handle[data-v-d093d318]:active {
4358
+ .drag-handle[data-v-48465a46]:active {
4315
4359
  cursor: grabbing;
4316
4360
  }
4317
- .drop-indicator[data-v-d093d318] {
4361
+ .drop-indicator[data-v-48465a46] {
4318
4362
  position: absolute;
4319
4363
  z-index: 3;
4320
4364
  inset-inline: 1px;
@@ -4324,8 +4368,8 @@ svg[data-v-d093d318-s],img[data-v-d093d318-s] {
4324
4368
  background: var(--ui-tree-drop-color, var(--ui-accent-solid));
4325
4369
  pointer-events: none;
4326
4370
  }
4327
- .drop-indicator[data-v-d093d318]::before,
4328
- .drop-indicator[data-v-d093d318]::after {
4371
+ .drop-indicator[data-v-48465a46]::before,
4372
+ .drop-indicator[data-v-48465a46]::after {
4329
4373
  content: "";
4330
4374
  position: absolute;
4331
4375
  inset-block-start: 50%;
@@ -4336,39 +4380,39 @@ svg[data-v-d093d318-s],img[data-v-d093d318-s] {
4336
4380
  background: var(--ui-surface-elevated);
4337
4381
  transform: translateY(-50%);
4338
4382
  }
4339
- .drop-indicator[data-v-d093d318]::before {
4383
+ .drop-indicator[data-v-48465a46]::before {
4340
4384
  inset-inline-start: -1px;
4341
4385
  }
4342
- .drop-indicator[data-v-d093d318]::after {
4386
+ .drop-indicator[data-v-48465a46]::after {
4343
4387
  inset-inline-end: -1px;
4344
4388
  }
4345
- [data-component~="ui-tree-item"][data-drop-position="before"] > .row > .row-drop-indicator[data-v-d093d318] {
4389
+ [data-component~="ui-tree-item"][data-drop-position="before"] > .row > .row-drop-indicator[data-v-48465a46] {
4346
4390
  display: block;
4347
4391
  inset-block-start: -1px;
4348
4392
  }
4349
- [data-component~="ui-tree-item"][data-drop-position="after"] > .subtree-drop-indicator[data-v-d093d318] {
4393
+ [data-component~="ui-tree-item"][data-drop-position="after"] > .subtree-drop-indicator[data-v-48465a46] {
4350
4394
  display: block;
4351
4395
  inset-block-end: -1px;
4352
4396
  }
4353
- .children[hidden][data-v-d093d318] {
4397
+ .children[hidden][data-v-48465a46] {
4354
4398
  display: none;
4355
4399
  }
4356
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"][data-v-d093d318] {
4400
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"][data-v-48465a46] {
4357
4401
  --_tree-row-min-height: 44px;
4358
4402
  }
4359
- html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .drag-handle[data-v-d093d318] {
4403
+ html[data-ui-input-modality="touch"] [data-component~="ui-tree-item"] .drag-handle[data-v-48465a46] {
4360
4404
  display: none;
4361
4405
  }
4362
4406
  @media (prefers-reduced-motion: reduce) {
4363
- .row[data-v-d093d318],
4364
- .disclosure-icon[data-v-d093d318],
4365
- .drag-handle[data-v-d093d318] {
4407
+ .row[data-v-48465a46],
4408
+ .disclosure-icon[data-v-48465a46],
4409
+ .drag-handle[data-v-48465a46] {
4366
4410
  transition: none;
4367
4411
  }
4368
4412
  }
4369
4413
 
4370
4414
  /* A component that sets its display still honours the hidden attribute on its root. */
4371
- [data-component~="ui-tree-item"][hidden][data-v-d093d318] {
4415
+ [data-component~="ui-tree-item"][hidden][data-v-48465a46] {
4372
4416
  display: none;
4373
4417
  }
4374
4418
  /**