@threadlabs/looma 0.26.25 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/components/shared/editor.js +4 -5
  2. package/components/shared/overlay.js +231 -55
  3. package/components/ui-affordance-scope/ui-affordance-scope.js +4 -8
  4. package/components/ui-card/ui-card.html +3 -0
  5. package/components/ui-dialog/ui-dialog.html +7 -5
  6. package/components/ui-dialog/ui-dialog.js +67 -7
  7. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +6 -0
  8. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +5 -9
  9. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +6 -0
  10. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +5 -9
  11. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +21 -4
  12. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +50 -22
  13. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +4 -6
  14. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +3 -11
  15. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +33 -44
  16. package/components/ui-icon-button/ui-icon-button.html +12 -2
  17. package/components/ui-listbox/ui-listbox.html +22 -17
  18. package/components/ui-menu/ui-menu.js +5 -3
  19. package/components/ui-popover/ui-popover.js +3 -2
  20. package/components/ui-scroll-area/ui-scroll-area.html +16 -0
  21. package/components/ui-search-shell/ui-search-shell.html +1 -1
  22. package/components/ui-search-shell/ui-search-shell.js +3 -5
  23. package/components/ui-section/ui-section.html +3 -0
  24. package/components/ui-toast/ui-toast.html +2 -1
  25. package/components/ui-toast/ui-toast.js +18 -2
  26. package/components/ui-toast-region/ui-toast-region.js +11 -3
  27. package/components/ui-tooltip/ui-tooltip.html +2 -1
  28. package/components/ui-tooltip/ui-tooltip.js +20 -0
  29. package/dist/index.js +1 -1
  30. package/editor/chunks/extensions.js +2 -0
  31. package/editor/extensions/slash-command.d.ts +2 -0
  32. package/editor/mention-contract.d.ts +2 -0
  33. package/package.json +1 -1
  34. package/styles/ui-card.css +3 -0
  35. package/styles/ui-dialog.css +4 -2
  36. package/styles/ui-editor-mention-menu.css +7 -1
  37. package/styles/ui-editor-slash-menu.css +7 -1
  38. package/styles/ui-editor-table-context-menu.css +29 -5
  39. package/styles/ui-editor-table-toolbar.css +3 -11
  40. package/styles/ui-icon-button.css +9 -2
  41. package/styles/ui-listbox.css +6 -0
  42. package/styles/ui-scroll-area.css +13 -0
  43. package/styles/ui-search-shell.css +1 -1
  44. package/styles/ui-section.css +3 -0
  45. package/vanilla/UiDialog.js +10 -6
  46. package/vanilla/UiIconButton.d.ts +1 -0
  47. package/vanilla/UiIconButton.js +14 -14
  48. package/vanilla/UiListbox.js +10 -9
  49. package/vanilla/UiScrollArea.d.ts +1 -0
  50. package/vanilla/UiScrollArea.js +4 -4
  51. package/vue/UiCard.vue +3 -0
  52. package/vue/UiDialog.vue +12 -6
  53. package/vue/UiEditorMentionMenu.vue +6 -0
  54. package/vue/UiEditorSlashMenu.vue +6 -0
  55. package/vue/UiEditorTableContextMenu.vue +21 -4
  56. package/vue/UiEditorTableToolbar.vue +3 -11
  57. package/vue/UiIconButton.d.ts +9 -0
  58. package/vue/UiIconButton.vue +31 -2
  59. package/vue/UiListbox.vue +20 -15
  60. package/vue/UiScrollArea.d.ts +9 -0
  61. package/vue/UiScrollArea.vue +39 -1
  62. package/vue/UiSearchShell.vue +1 -1
  63. package/vue/UiSection.vue +3 -0
  64. package/vue/UiToast.vue +1 -1
  65. package/vue/UiTooltip.vue +1 -1
  66. package/vue/chunks/UiCard.js +1 -1
  67. package/vue/chunks/UiDialog.js +25 -8
  68. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  69. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  70. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  71. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  72. package/vue/chunks/UiIconButton.js +26 -1
  73. package/vue/chunks/UiListbox.js +12 -12
  74. package/vue/chunks/UiScrollArea.js +33 -2
  75. package/vue/chunks/UiSearchShell.js +1 -1
  76. package/vue/chunks/UiSection.js +1 -1
  77. package/vue/chunks/UiToast.js +2 -2
  78. package/vue/chunks/UiTooltip.js +2 -2
  79. package/vue/components.css +340 -289
  80. package/vue/editor/index.js +225 -40
@@ -1581,7 +1581,7 @@ html[data-ui-input-modality="touch"]
1581
1581
 
1582
1582
  /* A surface that groups content. Its children stack with even space between them, so a card
1583
1583
  needs no layout of its own. */
1584
- [data-component~="ui-card"][data-v-150bfc3d] {
1584
+ [data-component~="ui-card"][data-v-b5f8424c] {
1585
1585
  --_ui-card-surface: var(--ui-surface-raised);
1586
1586
  --_ui-selection-context-surface: initial;
1587
1587
  --_ui-selection-context-border: initial;
@@ -1597,56 +1597,59 @@ html[data-ui-input-modality="touch"]
1597
1597
  background: var(--_ui-card-surface);
1598
1598
  color: var(--ui-text-primary);
1599
1599
  }
1600
- [data-component~="ui-card"][data-ui-card-state~="padding=xs"][data-v-150bfc3d] {
1600
+ [data-component~="ui-card"][data-ui-card-state~="padding=xs"][data-v-b5f8424c] {
1601
1601
  gap: var(--ui-space-1);
1602
1602
  padding: var(--ui-space-2);
1603
1603
  }
1604
- [data-component~="ui-card"][data-ui-card-state~="padding=sm"][data-v-150bfc3d] {
1604
+ [data-component~="ui-card"][data-ui-card-state~="padding=sm"][data-v-b5f8424c] {
1605
1605
  gap: var(--ui-space-2);
1606
1606
  padding: var(--ui-space-3);
1607
1607
  }
1608
- [data-component~="ui-card"][data-ui-card-state~="padding=lg"][data-v-150bfc3d] {
1608
+ [data-component~="ui-card"][data-ui-card-state~="padding=lg"][data-v-b5f8424c] {
1609
1609
  padding: var(--ui-space-6);
1610
1610
  }
1611
- [data-component~="ui-card"][data-ui-card-state~="variant=subtle"][data-v-150bfc3d] {
1611
+ [data-component~="ui-card"][data-ui-card-state~="variant=subtle"][data-v-b5f8424c] {
1612
1612
  border-color: transparent;
1613
1613
  --_ui-card-surface: var(--ui-surface-muted);
1614
1614
  }
1615
- [data-component~="ui-card"][data-ui-card-state~="variant=elevated"][data-v-150bfc3d] {
1615
+ [data-component~="ui-card"][data-ui-card-state~="variant=elevated"][data-v-b5f8424c] {
1616
1616
  border-color: var(--ui-border-subtle);
1617
1617
  box-shadow: var(--ui-shadow-lg);
1618
1618
  }
1619
- [data-component~="ui-card"][data-ui-card-state~="tone=accent"][data-v-150bfc3d] {
1619
+ [data-component~="ui-card"][data-ui-card-state~="tone=accent"][data-v-b5f8424c] {
1620
1620
  border-color: color-mix(in srgb, var(--ui-accent) 25%, var(--ui-border-default));
1621
1621
  --_ui-card-surface: color-mix(in srgb, var(--ui-accent) 6%, var(--ui-surface-default));
1622
1622
  }
1623
- [data-component~="ui-card"][data-ui-card-state~="tone=info"][data-v-150bfc3d] {
1623
+ [data-component~="ui-card"][data-ui-card-state~="tone=info"][data-v-b5f8424c] {
1624
1624
  border-color: color-mix(in srgb, var(--ui-info) 25%, var(--ui-border-default));
1625
1625
  --_ui-card-surface: color-mix(in srgb, var(--ui-info) 6%, var(--ui-surface-default));
1626
1626
  }
1627
- [data-component~="ui-card"][data-ui-card-state~="tone=success"][data-v-150bfc3d] {
1627
+ [data-component~="ui-card"][data-ui-card-state~="tone=success"][data-v-b5f8424c] {
1628
1628
  border-color: color-mix(in srgb, var(--ui-success) 25%, var(--ui-border-default));
1629
1629
  --_ui-card-surface: color-mix(in srgb, var(--ui-success) 6%, var(--ui-surface-default));
1630
1630
  }
1631
- [data-component~="ui-card"][data-ui-card-state~="tone=warning"][data-v-150bfc3d] {
1631
+ [data-component~="ui-card"][data-ui-card-state~="tone=warning"][data-v-b5f8424c] {
1632
1632
  border-color: color-mix(in srgb, var(--ui-warning) 25%, var(--ui-border-default));
1633
1633
  --_ui-card-surface: color-mix(in srgb, var(--ui-warning) 6%, var(--ui-surface-default));
1634
1634
  }
1635
- [data-component~="ui-card"][data-ui-card-state~="variant=subtle"][data-v-150bfc3d]:is([data-ui-card-state~="tone=accent"], [data-ui-card-state~="tone=info"], [data-ui-card-state~="tone=success"], [data-ui-card-state~="tone=warning"]) {
1635
+ [data-component~="ui-card"][data-ui-card-state~="variant=subtle"][data-v-b5f8424c]:is([data-ui-card-state~="tone=accent"], [data-ui-card-state~="tone=info"], [data-ui-card-state~="tone=success"], [data-ui-card-state~="tone=warning"]) {
1636
1636
  border-color: transparent;
1637
1637
  }
1638
- [data-component~="ui-card"][data-ui-card-state~="tone=danger"][data-v-150bfc3d] {
1638
+ [data-component~="ui-card"][data-ui-card-state~="tone=danger"][data-v-b5f8424c] {
1639
1639
  border-color: color-mix(in srgb, var(--ui-danger) 45%, var(--ui-border-default));
1640
1640
  border-inline-start: var(--ui-accent-line-width) solid var(--ui-danger);
1641
+ /* An accent edge keeps the corners on its side straight. */
1642
+ border-start-start-radius: 0;
1643
+ border-end-start-radius: 0;
1641
1644
  --_ui-card-surface: var(--ui-danger-soft);
1642
1645
  }
1643
1646
 
1644
1647
  /* A colored panel shades rows in its own hue, without changing button intent. */
1645
- [data-component~="ui-card"][data-ui-card-state~="tone=accent"][data-v-150bfc3d],
1646
- [data-component~="ui-card"][data-ui-card-state~="tone=info"][data-v-150bfc3d],
1647
- [data-component~="ui-card"][data-ui-card-state~="tone=success"][data-v-150bfc3d],
1648
- [data-component~="ui-card"][data-ui-card-state~="tone=warning"][data-v-150bfc3d],
1649
- [data-component~="ui-card"][data-ui-card-state~="tone=danger"][data-v-150bfc3d] {
1648
+ [data-component~="ui-card"][data-ui-card-state~="tone=accent"][data-v-b5f8424c],
1649
+ [data-component~="ui-card"][data-ui-card-state~="tone=info"][data-v-b5f8424c],
1650
+ [data-component~="ui-card"][data-ui-card-state~="tone=success"][data-v-b5f8424c],
1651
+ [data-component~="ui-card"][data-ui-card-state~="tone=warning"][data-v-b5f8424c],
1652
+ [data-component~="ui-card"][data-ui-card-state~="tone=danger"][data-v-b5f8424c] {
1650
1653
  --_ui-selection-context-surface: light-dark(
1651
1654
  oklch(from var(--_ui-card-surface) calc(l - 0.045) calc(max(c, min(0.045, c * 3))) h),
1652
1655
  oklch(from var(--_ui-card-surface) calc(l + 0.045) calc(max(c, min(0.045, c * 3))) h)
@@ -1657,21 +1660,21 @@ html[data-ui-input-modality="touch"]
1657
1660
  );
1658
1661
  --_ui-selection-context-text: var(--ui-text-primary);
1659
1662
  }
1660
- [data-component~="ui-card"][data-ui-card-state~="size=sm"][data-v-150bfc3d] {
1663
+ [data-component~="ui-card"][data-ui-card-state~="size=sm"][data-v-b5f8424c] {
1661
1664
  inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
1662
1665
  max-inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
1663
1666
  }
1664
- [data-component~="ui-card"][data-ui-card-state~="size=md"][data-v-150bfc3d] {
1667
+ [data-component~="ui-card"][data-ui-card-state~="size=md"][data-v-b5f8424c] {
1665
1668
  inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
1666
1669
  max-inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
1667
1670
  }
1668
- [data-component~="ui-card"][data-ui-card-state~="size=lg"][data-v-150bfc3d] {
1671
+ [data-component~="ui-card"][data-ui-card-state~="size=lg"][data-v-b5f8424c] {
1669
1672
  inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
1670
1673
  max-inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
1671
1674
  }
1672
1675
 
1673
1676
  /* A component that sets its display still honours the hidden attribute on its root. */
1674
- [data-component~="ui-card"][hidden][data-v-150bfc3d] {
1677
+ [data-component~="ui-card"][hidden][data-v-b5f8424c] {
1675
1678
  display: none;
1676
1679
  }
1677
1680
 
@@ -1978,7 +1981,7 @@ input[data-v-a7d28848]:focus-visible {
1978
1981
  syntax: "*";
1979
1982
  inherits: false;
1980
1983
  }
1981
- [data-component~="ui-tooltip"][data-v-a876d863] {
1984
+ [data-component~="ui-tooltip"][data-v-4a6fb61a] {
1982
1985
  /* Hooks do not inherit, so the parts below read them from the root. */
1983
1986
  --_ui-tooltip-border: var(--ui-tooltip-border);
1984
1987
  --_ui-tooltip-max-inline-size: var(--ui-tooltip-max-inline-size);
@@ -2010,7 +2013,7 @@ input[data-v-a7d28848]:focus-visible {
2010
2013
  display var(--ui-motion-fast) allow-discrete,
2011
2014
  overlay var(--ui-motion-fast) allow-discrete;
2012
2015
  }
2013
- .surface[data-v-a876d863] {
2016
+ .surface[data-v-4a6fb61a] {
2014
2017
  --_tooltip-line: var(--_ui-tooltip-border, var(--ui-overlay-border, var(--ui-border-strong)));
2015
2018
  position: relative;
2016
2019
  box-sizing: border-box;
@@ -2031,7 +2034,7 @@ input[data-v-a7d28848]:focus-visible {
2031
2034
 
2032
2035
  /* A keyboard shortcut follows the label after a thin divider, smaller and quieter, as menus show
2033
2036
  it. The label stays first in the description, so a screen reader hears the name, then the keys. */
2034
- .shortcut[data-v-a876d863] {
2037
+ .shortcut[data-v-4a6fb61a] {
2035
2038
  display: inline-flex;
2036
2039
  align-items: center;
2037
2040
  margin-inline-start: var(--ui-space-2);
@@ -2043,15 +2046,15 @@ input[data-v-a7d28848]:focus-visible {
2043
2046
  white-space: nowrap;
2044
2047
  vertical-align: baseline;
2045
2048
  }
2046
- .shortcut[data-v-a876d863]:empty {
2049
+ .shortcut[data-v-4a6fb61a]:empty {
2047
2050
  display: none;
2048
2051
  }
2049
2052
 
2050
2053
  /* A <kbd> takes the browser's monospace; the hint reads in the tooltip's own type. */
2051
- .shortcut kbd[data-v-a876d863-s] {
2054
+ .shortcut kbd[data-v-4a6fb61a-s] {
2052
2055
  font: inherit;
2053
2056
  }
2054
- [data-component~="ui-tooltip"][data-ui-tooltip-state~="inverse"] .surface[data-v-a876d863] {
2057
+ [data-component~="ui-tooltip"][data-ui-tooltip-state~="inverse"] .surface[data-v-4a6fb61a] {
2055
2058
  --_tooltip-line: var(--_ui-tooltip-inverse-surface, var(--ui-text-primary));
2056
2059
  background: var(--_ui-tooltip-inverse-surface, var(--ui-text-primary));
2057
2060
  color: var(--_ui-tooltip-inverse-text, var(--ui-surface-default));
@@ -2059,7 +2062,7 @@ input[data-v-a7d28848]:focus-visible {
2059
2062
 
2060
2063
  /* A rotated square shares the surface fill and draws the two outward border edges. Its centre sits on
2061
2064
  * the surface border line, so the fill covers that stretch of border and the outline runs unbroken. */
2062
- .surface[data-v-a876d863]::after {
2065
+ .surface[data-v-4a6fb61a]::after {
2063
2066
  content: "";
2064
2067
  position: absolute;
2065
2068
  z-index: 1;
@@ -2075,7 +2078,7 @@ input[data-v-a7d28848]:focus-visible {
2075
2078
  border-end-end-radius: var(--ui-border-width);
2076
2079
  transform: rotate(45deg) scaleX(1.25) scaleY(0.85);
2077
2080
  }
2078
- [data-component~="ui-tooltip"][data-ui-actual-placement="bottom"] .surface[data-v-a876d863]::after {
2081
+ [data-component~="ui-tooltip"][data-ui-actual-placement="bottom"] .surface[data-v-4a6fb61a]::after {
2079
2082
  inset-block-start: calc(
2080
2083
  var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2
2081
2084
  );
@@ -2087,26 +2090,26 @@ input[data-v-a7d28848]:focus-visible {
2087
2090
  border-end-end-radius: 0;
2088
2091
  border-start-start-radius: var(--ui-border-width);
2089
2092
  }
2090
- [data-component~="ui-tooltip"][data-ui-actual-align="center"] .surface[data-v-a876d863]::after {
2093
+ [data-component~="ui-tooltip"][data-ui-actual-align="center"] .surface[data-v-4a6fb61a]::after {
2091
2094
  inset-inline-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.625rem) / 2);
2092
2095
  }
2093
- [data-component~="ui-tooltip"][data-ui-actual-align="end"] .surface[data-v-a876d863]::after {
2096
+ [data-component~="ui-tooltip"][data-ui-actual-align="end"] .surface[data-v-4a6fb61a]::after {
2094
2097
  inset-inline-start: auto;
2095
2098
  inset-inline-end: var(--ui-space-3);
2096
2099
  }
2097
- [data-component~="ui-tooltip"][data-ui-actual-placement="left"] .surface[data-v-a876d863]::after,
2098
- [data-component~="ui-tooltip"][data-ui-actual-placement="right"] .surface[data-v-a876d863]::after {
2100
+ [data-component~="ui-tooltip"][data-ui-actual-placement="left"] .surface[data-v-4a6fb61a]::after,
2101
+ [data-component~="ui-tooltip"][data-ui-actual-placement="right"] .surface[data-v-4a6fb61a]::after {
2099
2102
  inset-block-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.625rem) / 2);
2100
2103
  inset-block-end: auto;
2101
2104
  border: 0 solid var(--_tooltip-line);
2102
2105
  }
2103
- [data-component~="ui-tooltip"][data-ui-actual-placement="left"] .surface[data-v-a876d863]::after {
2106
+ [data-component~="ui-tooltip"][data-ui-actual-placement="left"] .surface[data-v-4a6fb61a]::after {
2104
2107
  inset-inline-start: auto;
2105
2108
  inset-inline-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2);
2106
2109
  border-inline-end-width: var(--ui-border-width);
2107
2110
  border-block-start-width: var(--ui-border-width);
2108
2111
  }
2109
- [data-component~="ui-tooltip"][data-ui-actual-placement="right"] .surface[data-v-a876d863]::after {
2112
+ [data-component~="ui-tooltip"][data-ui-actual-placement="right"] .surface[data-v-4a6fb61a]::after {
2110
2113
  inset-inline-start: calc(
2111
2114
  var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2
2112
2115
  );
@@ -2115,33 +2118,33 @@ input[data-v-a7d28848]:focus-visible {
2115
2118
  border-block-end-width: var(--ui-border-width);
2116
2119
  }
2117
2120
  [data-component~="ui-tooltip"][data-ui-actual-placement="left"][data-ui-actual-align="start"]
2118
- .surface[data-v-a876d863]::after,
2121
+ .surface[data-v-4a6fb61a]::after,
2119
2122
  [data-component~="ui-tooltip"][data-ui-actual-placement="right"][data-ui-actual-align="start"]
2120
- .surface[data-v-a876d863]::after {
2123
+ .surface[data-v-4a6fb61a]::after {
2121
2124
  inset-block-start: var(--ui-space-3);
2122
2125
  }
2123
2126
  [data-component~="ui-tooltip"][data-ui-actual-placement="left"][data-ui-actual-align="end"]
2124
- .surface[data-v-a876d863]::after,
2127
+ .surface[data-v-4a6fb61a]::after,
2125
2128
  [data-component~="ui-tooltip"][data-ui-actual-placement="right"][data-ui-actual-align="end"]
2126
- .surface[data-v-a876d863]::after {
2129
+ .surface[data-v-4a6fb61a]::after {
2127
2130
  inset-block-start: auto;
2128
2131
  inset-block-end: var(--ui-space-3);
2129
2132
  }
2130
- [data-component~="ui-tooltip"][data-v-a876d863]:popover-open {
2133
+ [data-component~="ui-tooltip"][data-v-4a6fb61a]:popover-open {
2131
2134
  opacity: 1;
2132
2135
  transform: translateY(0);
2133
2136
  }
2134
2137
  @starting-style {
2135
- [data-component~="ui-tooltip"][data-v-a876d863]:popover-open {
2138
+ [data-component~="ui-tooltip"][data-v-4a6fb61a]:popover-open {
2136
2139
  opacity: 0;
2137
2140
  transform: translateY(4px);
2138
2141
  }
2139
2142
  }
2140
- [data-component~="ui-tooltip"][hidden][data-v-a876d863] {
2143
+ [data-component~="ui-tooltip"][hidden][data-v-4a6fb61a] {
2141
2144
  display: none;
2142
2145
  }
2143
2146
  @media (prefers-reduced-motion: reduce) {
2144
- [data-component~="ui-tooltip"][data-v-a876d863] {
2147
+ [data-component~="ui-tooltip"][data-v-4a6fb61a] {
2145
2148
  transition: none;
2146
2149
  }
2147
2150
  }
@@ -2817,10 +2820,10 @@ dd[data-v-ac017b1f] {
2817
2820
  /* The controller sets each fade length from overflow and scroll position. The mask blends
2818
2821
  into whatever is behind the area without needing to know its colour. Before upgrade, its
2819
2822
  zero-length defaults leave the authored scroll area fully visible. */
2820
- [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="fill"][data-v-a1ccf697] {
2823
+ [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="fill"][data-v-9a5bb175] {
2821
2824
  flex: 1;
2822
2825
  }
2823
- [data-component~="ui-scroll-area"][data-v-a1ccf697] {
2826
+ [data-component~="ui-scroll-area"][data-v-9a5bb175] {
2824
2827
  display: block;
2825
2828
  box-sizing: border-box;
2826
2829
  min-block-size: 0;
@@ -2839,41 +2842,53 @@ dd[data-v-ac017b1f] {
2839
2842
  transparent
2840
2843
  );
2841
2844
  }
2842
- .content[data-v-a1ccf697] {
2845
+ .content[data-v-9a5bb175] {
2843
2846
  display: flow-root;
2844
2847
  }
2845
2848
 
2846
2849
  /* Trim projected edges without changing spacing inside an item. */
2847
2850
  [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="trim"]
2848
2851
  .content
2849
- > [data-v-a1ccf697-s]:first-child {
2852
+ > [data-v-9a5bb175-s]:first-child {
2850
2853
  margin-block-start: 0;
2851
2854
  }
2852
2855
  [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="trim"]
2853
2856
  .content
2854
- > [data-v-a1ccf697-s]:last-child {
2857
+ > [data-v-9a5bb175-s]:last-child {
2855
2858
  margin-block-end: 0;
2856
2859
  }
2857
- [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="orientation=horizontal"][data-v-a1ccf697] {
2860
+ [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="orientation=horizontal"][data-v-9a5bb175] {
2858
2861
  overflow-x: auto;
2859
2862
  overflow-y: hidden;
2860
2863
  --_ui-scroll-fade-direction: var(--_ui-scroll-fade-inline);
2861
2864
  }
2862
- [data-component~="ui-scroll-area"][data-v-a1ccf697]:dir(rtl) {
2865
+ [data-component~="ui-scroll-area"][data-v-9a5bb175]:dir(rtl) {
2863
2866
  --_ui-scroll-fade-inline: to left;
2864
2867
  }
2865
- [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="size=sm"][data-v-a1ccf697] {
2868
+ [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="size=sm"][data-v-9a5bb175] {
2866
2869
  max-block-size: calc(9.375rem + var(--ui-scroll-fade-size, 24px));
2867
2870
  }
2868
- [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="size=md"][data-v-a1ccf697] {
2871
+ [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="size=md"][data-v-9a5bb175] {
2869
2872
  max-block-size: 20rem;
2870
2873
  }
2871
- [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="size=lg"][data-v-a1ccf697] {
2874
+ [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="size=lg"][data-v-9a5bb175] {
2872
2875
  max-block-size: 30rem;
2873
2876
  }
2877
+ [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="padding=xs"][data-v-9a5bb175] {
2878
+ padding: var(--ui-space-2);
2879
+ }
2880
+ [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="padding=sm"][data-v-9a5bb175] {
2881
+ padding: var(--ui-space-3);
2882
+ }
2883
+ [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="padding=md"][data-v-9a5bb175] {
2884
+ padding: var(--ui-space-5);
2885
+ }
2886
+ [data-component~="ui-scroll-area"][data-ui-scroll-area-state~="padding=lg"][data-v-9a5bb175] {
2887
+ padding: var(--ui-space-6);
2888
+ }
2874
2889
 
2875
2890
  /* A component that sets its display still honours the hidden attribute on its root. */
2876
- [data-component~="ui-scroll-area"][hidden][data-v-a1ccf697] {
2891
+ [data-component~="ui-scroll-area"][hidden][data-v-9a5bb175] {
2877
2892
  display: none;
2878
2893
  }
2879
2894
 
@@ -2906,7 +2921,7 @@ dd[data-v-ac017b1f] {
2906
2921
  syntax: "*";
2907
2922
  inherits: false;
2908
2923
  }
2909
- [data-component~="ui-dialog"][data-v-6d90ae32] {
2924
+ [data-component~="ui-dialog"][data-v-1ec9644b] {
2910
2925
  /* Hooks do not inherit, so the parts below read them from the root. */
2911
2926
  --_ui-dialog-duration: var(--ui-dialog-duration);
2912
2927
 
@@ -2942,21 +2957,21 @@ dd[data-v-ac017b1f] {
2942
2957
  display var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
2943
2958
  overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
2944
2959
  }
2945
- [data-component~="ui-dialog"][open][data-v-6d90ae32] {
2960
+ [data-component~="ui-dialog"][open][data-v-1ec9644b] {
2946
2961
  display: flex;
2947
2962
  visibility: visible;
2948
2963
  pointer-events: auto;
2949
2964
  opacity: 1;
2950
2965
  transform: scale(1);
2951
- animation: ui-dialog-enter-6d90ae32 var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
2966
+ animation: ui-dialog-enter-1ec9644b var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
2952
2967
  }
2953
- [data-component~="ui-dialog"][data-ui-dialog-state~="size=sm"][data-v-6d90ae32] {
2968
+ [data-component~="ui-dialog"][data-ui-dialog-state~="size=sm"][data-v-1ec9644b] {
2954
2969
  --_ui-dialog-size: 360px;
2955
2970
  }
2956
- [data-component~="ui-dialog"][data-ui-dialog-state~="size=lg"][data-v-6d90ae32] {
2971
+ [data-component~="ui-dialog"][data-ui-dialog-state~="size=lg"][data-v-1ec9644b] {
2957
2972
  --_ui-dialog-size: 640px;
2958
2973
  }
2959
- [data-component~="ui-dialog"][data-ui-dialog-state~="size=fullscreen"][data-v-6d90ae32] {
2974
+ [data-component~="ui-dialog"][data-ui-dialog-state~="size=fullscreen"][data-v-1ec9644b] {
2960
2975
  inset: 0;
2961
2976
  inline-size: 100%;
2962
2977
  block-size: 100dvh;
@@ -2964,21 +2979,24 @@ dd[data-v-ac017b1f] {
2964
2979
  margin: 0;
2965
2980
  border-radius: var(--ui-dialog-radius, 0);
2966
2981
  }
2967
- [data-component~="ui-dialog"][data-ui-dialog-state~="alert"] .close[data-v-6d90ae32] {
2982
+ [data-component~="ui-dialog"][data-ui-dialog-state~="alert"] .close[data-v-1ec9644b] {
2968
2983
  display: none;
2969
2984
  }
2970
2985
 
2971
2986
  /* Own the layout wrapper; nested component roots are outside these scoped rules. */
2972
- header[data-v-6d90ae32] {
2987
+ header[data-v-1ec9644b] {
2973
2988
  display: flex;
2974
2989
  align-items: center;
2975
2990
  gap: var(--ui-space-3);
2976
2991
  flex: none;
2977
- padding: var(--ui-space-3) var(--ui-space-3) var(--ui-space-3) var(--ui-space-5);
2992
+ /* The title's ink sits inside its line box and the taller close target. Balance that
2993
+ visible top inset against the action row's bottom inset, not just the boxes. */
2994
+ padding: calc(var(--ui-space-3) + var(--ui-space-1) / 2) var(--ui-space-3) var(--ui-space-3)
2995
+ var(--ui-space-5);
2978
2996
  }
2979
2997
 
2980
2998
  /* :host-qualified so page heading rules that reach in cannot outrank the dialog chrome. */
2981
- [data-component~="ui-dialog"] .title[data-v-6d90ae32] {
2999
+ [data-component~="ui-dialog"] .title[data-v-1ec9644b] {
2982
3000
  flex: 1;
2983
3001
  min-inline-size: 0;
2984
3002
  margin: 0;
@@ -2990,7 +3008,7 @@ header[data-v-6d90ae32] {
2990
3008
  font-weight: var(--ui-font-semibold);
2991
3009
  line-height: var(--ui-line-height-tight);
2992
3010
  }
2993
- .close[data-v-6d90ae32] {
3011
+ .close[data-v-1ec9644b] {
2994
3012
  display: inline-grid;
2995
3013
  place-items: center;
2996
3014
  flex: none;
@@ -3009,8 +3027,8 @@ header[data-v-6d90ae32] {
3009
3027
  }
3010
3028
 
3011
3029
  /* A CSS-drawn X. */
3012
- .close[data-v-6d90ae32]::before,
3013
- .close[data-v-6d90ae32]::after {
3030
+ .close[data-v-1ec9644b]::before,
3031
+ .close[data-v-1ec9644b]::after {
3014
3032
  content: "";
3015
3033
  grid-area: 1 / 1;
3016
3034
  inline-size: 0.875rem;
@@ -3019,37 +3037,37 @@ header[data-v-6d90ae32] {
3019
3037
  background: currentColor;
3020
3038
  transform: rotate(45deg);
3021
3039
  }
3022
- .close[data-v-6d90ae32]::after {
3040
+ .close[data-v-1ec9644b]::after {
3023
3041
  transform: rotate(-45deg);
3024
3042
  }
3025
- .close[data-v-6d90ae32]:hover {
3043
+ .close[data-v-1ec9644b]:hover {
3026
3044
  background: var(--ui-surface-muted);
3027
3045
  color: var(--ui-text-primary);
3028
3046
  }
3029
- .close[data-v-6d90ae32]:focus-visible {
3047
+ .close[data-v-1ec9644b]:focus-visible {
3030
3048
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
3031
3049
  outline-offset: var(--ui-focus-width);
3032
3050
  }
3033
3051
 
3034
3052
  /* A touch target, like Button on coarse pointers. */
3035
3053
  @media (pointer: coarse) {
3036
- .close[data-v-6d90ae32] {
3054
+ .close[data-v-1ec9644b] {
3037
3055
  inline-size: var(--ui-control-min-block-size);
3038
3056
  block-size: var(--ui-control-min-block-size);
3039
3057
  }
3040
3058
  }
3041
- html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-6d90ae32] {
3059
+ html[data-ui-input-modality="touch"] [data-component~="ui-dialog"] .close[data-v-1ec9644b] {
3042
3060
  inline-size: var(--ui-control-min-block-size);
3043
3061
  block-size: var(--ui-control-min-block-size);
3044
3062
  }
3045
- .body[data-v-6d90ae32] {
3063
+ .body[data-v-1ec9644b] {
3046
3064
  display: flex;
3047
3065
  flex-direction: column;
3048
3066
  flex: 1 1 auto;
3049
3067
  min-block-size: 0;
3050
3068
  padding: var(--ui-space-3) var(--ui-space-5) var(--ui-space-5);
3051
3069
  }
3052
- footer[data-v-6d90ae32] {
3070
+ footer[data-v-1ec9644b] {
3053
3071
  display: flex;
3054
3072
  flex: none;
3055
3073
  flex-wrap: wrap;
@@ -3057,33 +3075,33 @@ footer[data-v-6d90ae32] {
3057
3075
  gap: var(--ui-space-2);
3058
3076
  padding: 0 var(--ui-space-5) var(--ui-space-5);
3059
3077
  }
3060
- footer[data-v-6d90ae32]:empty {
3078
+ footer[data-v-1ec9644b]:empty {
3061
3079
  display: none;
3062
3080
  }
3063
- @keyframes ui-dialog-enter-6d90ae32 {
3081
+ @keyframes ui-dialog-enter-1ec9644b {
3064
3082
  from {
3065
3083
  opacity: 0;
3066
3084
  transform: scale(0.96);
3067
3085
  }
3068
3086
  }
3069
- [data-component~="ui-dialog"][data-v-6d90ae32]::backdrop {
3087
+ [data-component~="ui-dialog"][data-v-1ec9644b]::backdrop {
3070
3088
  background-color: transparent;
3071
3089
  transition:
3072
3090
  background-color var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease),
3073
3091
  display var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
3074
3092
  overlay var(--_ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
3075
3093
  }
3076
- [data-component~="ui-dialog"][open][data-v-6d90ae32]::backdrop {
3094
+ [data-component~="ui-dialog"][open][data-v-1ec9644b]:modal::backdrop {
3077
3095
  background-color: var(--ui-overlay-backdrop);
3078
- animation: ui-dialog-backdrop-enter-6d90ae32 var(--_ui-dialog-duration, var(--ui-motion-base))
3096
+ animation: ui-dialog-backdrop-enter-1ec9644b var(--_ui-dialog-duration, var(--ui-motion-base))
3079
3097
  var(--ui-motion-ease);
3080
3098
  }
3081
- [data-component~="ui-dialog"][open][data-ui-backdrop-hidden][data-v-6d90ae32]::backdrop {
3099
+ [data-component~="ui-dialog"][open][data-ui-backdrop-hidden][data-v-1ec9644b]::backdrop {
3082
3100
  background-color: transparent;
3083
3101
  animation: none;
3084
3102
  transition: none;
3085
3103
  }
3086
- @keyframes ui-dialog-backdrop-enter-6d90ae32 {
3104
+ @keyframes ui-dialog-backdrop-enter-1ec9644b {
3087
3105
  from {
3088
3106
  background-color: transparent;
3089
3107
  }
@@ -3486,10 +3504,15 @@ from {
3486
3504
  display: none;
3487
3505
  }
3488
3506
 
3489
- [data-component~="ui-editor-mention-menu"][data-v-ba581126] {
3507
+ [data-component~="ui-editor-mention-menu"][popover][data-v-f27cd779] {
3508
+ position: fixed;
3509
+ inset: auto;
3510
+ margin: 0;
3511
+ }
3512
+ [data-component~="ui-editor-mention-menu"][data-v-f27cd779] {
3490
3513
  user-select: none;
3491
3514
  }
3492
- [data-component~="ui-editor-mention-menu"][data-v-ba581126] {
3515
+ [data-component~="ui-editor-mention-menu"][data-v-f27cd779] {
3493
3516
  display: flex;
3494
3517
  overflow: hidden;
3495
3518
  flex-direction: column;
@@ -3498,7 +3521,7 @@ from {
3498
3521
  border-radius: var(--ui-radius-dialog);
3499
3522
  box-shadow: var(--ui-shadow-lg, 0 8px 24px rgb(0 0 0 / 0.12));
3500
3523
  }
3501
- .header[data-v-ba581126] {
3524
+ .header[data-v-f27cd779] {
3502
3525
  display: flex;
3503
3526
  align-items: center;
3504
3527
  justify-content: space-between;
@@ -3509,23 +3532,23 @@ from {
3509
3532
  font-size: var(--ui-font-size-xs);
3510
3533
  font-weight: var(--ui-font-semibold);
3511
3534
  }
3512
- [data-component~="ui-editor-mention-menu"] > .header[data-v-ba581126]:empty,
3513
- [data-component~="ui-editor-mention-menu"] > .empty[data-v-ba581126]:empty {
3535
+ [data-component~="ui-editor-mention-menu"] > .header[data-v-f27cd779]:empty,
3536
+ [data-component~="ui-editor-mention-menu"] > .empty[data-v-f27cd779]:empty {
3514
3537
  display: none;
3515
3538
  }
3516
- .empty[data-v-ba581126] {
3539
+ .empty[data-v-f27cd779] {
3517
3540
  padding: var(--ui-space-3);
3518
3541
  color: var(--ui-text-muted);
3519
3542
  font-size: var(--ui-font-size-sm);
3520
3543
  }
3521
- .hint[data-v-ba581126] {
3544
+ .hint[data-v-f27cd779] {
3522
3545
  overflow: hidden;
3523
3546
  color: var(--ui-text-muted);
3524
3547
  font-weight: var(--ui-font-normal);
3525
3548
  text-overflow: ellipsis;
3526
3549
  white-space: nowrap;
3527
3550
  }
3528
- .list[data-v-ba581126] {
3551
+ .list[data-v-f27cd779] {
3529
3552
  max-height: 280px;
3530
3553
  padding: var(--ui-space-1) 0;
3531
3554
  margin: 0;
@@ -3554,7 +3577,7 @@ from {
3554
3577
  -1px calc(100% - var(--_ui-scroll-fade-size)),
3555
3578
  calc(100% - var(--_ui-scroll-fade-size)) 100%;
3556
3579
  }
3557
- .item[data-v-ba581126] {
3580
+ .item[data-v-f27cd779] {
3558
3581
  display: flex;
3559
3582
  align-items: center;
3560
3583
  min-height: 44px;
@@ -3562,17 +3585,17 @@ from {
3562
3585
  gap: var(--ui-space-3);
3563
3586
  cursor: pointer;
3564
3587
  }
3565
- .item.active[data-v-ba581126] {
3588
+ .item.active[data-v-f27cd779] {
3566
3589
  background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
3567
3590
  }
3568
3591
 
3569
3592
  /* The highlight and the initials circle share a tint; on the highlighted row the circle takes
3570
3593
  the surface and a fine accent ring, so the initials stay visible. */
3571
- .item.active .avatar[data-v-ba581126] {
3594
+ .item.active .avatar[data-v-f27cd779] {
3572
3595
  background: var(--ui-surface);
3573
3596
  box-shadow: inset 0 0 0 1px var(--ui-accent-soft, var(--ui-accent-subtle));
3574
3597
  }
3575
- .avatar[data-v-ba581126] {
3598
+ .avatar[data-v-f27cd779] {
3576
3599
  display: inline-flex;
3577
3600
  align-items: center;
3578
3601
  justify-content: center;
@@ -3585,41 +3608,41 @@ from {
3585
3608
  font-size: var(--ui-font-size-xs);
3586
3609
  font-weight: var(--ui-font-semibold);
3587
3610
  }
3588
- .body[data-v-ba581126] {
3611
+ .body[data-v-f27cd779] {
3589
3612
  display: flex;
3590
3613
  min-width: 0;
3591
3614
  flex-direction: column;
3592
3615
  }
3593
- .label[data-v-ba581126],
3594
- .detail[data-v-ba581126] {
3616
+ .label[data-v-f27cd779],
3617
+ .detail[data-v-f27cd779] {
3595
3618
  overflow: hidden;
3596
3619
  text-overflow: ellipsis;
3597
3620
  white-space: nowrap;
3598
3621
  }
3599
- .label[data-v-ba581126] {
3622
+ .label[data-v-f27cd779] {
3600
3623
  color: var(--ui-text-primary);
3601
3624
  font-size: var(--ui-font-size-sm);
3602
3625
  font-weight: var(--ui-font-medium);
3603
3626
  }
3604
- .detail[data-v-ba581126],
3605
- .loading[data-v-ba581126] {
3627
+ .detail[data-v-f27cd779],
3628
+ .loading[data-v-f27cd779] {
3606
3629
  color: var(--ui-text-muted);
3607
3630
  font-size: var(--ui-font-size-xs);
3608
3631
  }
3609
- .loading[data-v-ba581126] {
3632
+ .loading[data-v-f27cd779] {
3610
3633
  min-height: 44px;
3611
3634
  padding: var(--ui-space-3);
3612
3635
  }
3613
3636
  @media (max-width: 767px) {
3614
- [data-component~="ui-editor-mention-menu"][data-v-ba581126] {
3637
+ [data-component~="ui-editor-mention-menu"][data-v-f27cd779] {
3615
3638
  border-bottom: 0;
3616
3639
  border-radius: var(--ui-radius-dialog) var(--ui-radius-dialog) 0 0;
3617
3640
  }
3618
- .list[data-v-ba581126] {
3641
+ .list[data-v-f27cd779] {
3619
3642
  max-height: calc(60dvh - 48px);
3620
3643
  }
3621
3644
  }
3622
- [data-component~="ui-editor-mention-menu"][hidden][data-v-ba581126] {
3645
+ [data-component~="ui-editor-mention-menu"][hidden][data-v-f27cd779] {
3623
3646
  display: none;
3624
3647
  }
3625
3648
 
@@ -3684,10 +3707,15 @@ from {
3684
3707
  display: none;
3685
3708
  }
3686
3709
 
3687
- [data-component~="ui-editor-slash-menu"][data-v-cedd7cd4] {
3710
+ [data-component~="ui-editor-slash-menu"][popover][data-v-a85c3b18] {
3711
+ position: fixed;
3712
+ inset: auto;
3713
+ margin: 0;
3714
+ }
3715
+ [data-component~="ui-editor-slash-menu"][data-v-a85c3b18] {
3688
3716
  user-select: none;
3689
3717
  }
3690
- [data-component~="ui-editor-slash-menu"][data-v-cedd7cd4] {
3718
+ [data-component~="ui-editor-slash-menu"][data-v-a85c3b18] {
3691
3719
  background: var(--ui-surface);
3692
3720
  border: var(--ui-border-width) solid var(--ui-border-strong);
3693
3721
  border-radius: var(--ui-radius-dialog);
@@ -3697,12 +3725,12 @@ from {
3697
3725
  flex-direction: column;
3698
3726
  }
3699
3727
  @media (max-width: 767px) {
3700
- [data-component~="ui-editor-slash-menu"][data-v-cedd7cd4] {
3728
+ [data-component~="ui-editor-slash-menu"][data-v-a85c3b18] {
3701
3729
  border-radius: var(--ui-radius-dialog) var(--ui-radius-dialog) 0 0;
3702
3730
  border-bottom: none;
3703
3731
  }
3704
3732
  }
3705
- .header[data-v-cedd7cd4] {
3733
+ .header[data-v-a85c3b18] {
3706
3734
  display: none;
3707
3735
  align-items: center;
3708
3736
  gap: var(--ui-space-2);
@@ -3714,22 +3742,22 @@ from {
3714
3742
  text-transform: uppercase;
3715
3743
  letter-spacing: 0.05em;
3716
3744
  }
3717
- [data-component~="ui-editor-slash-menu"] > .header[data-v-cedd7cd4]:empty,
3718
- [data-component~="ui-editor-slash-menu"] > .footer[data-v-cedd7cd4]:empty,
3719
- [data-component~="ui-editor-slash-menu"] > .empty[data-v-cedd7cd4]:empty {
3745
+ [data-component~="ui-editor-slash-menu"] > .header[data-v-a85c3b18]:empty,
3746
+ [data-component~="ui-editor-slash-menu"] > .footer[data-v-a85c3b18]:empty,
3747
+ [data-component~="ui-editor-slash-menu"] > .empty[data-v-a85c3b18]:empty {
3720
3748
  display: none;
3721
3749
  }
3722
- .empty[data-v-cedd7cd4] {
3750
+ .empty[data-v-a85c3b18] {
3723
3751
  padding: var(--ui-space-3);
3724
3752
  color: var(--ui-text-muted);
3725
3753
  font-size: var(--ui-font-size-sm);
3726
3754
  }
3727
3755
  @media (max-width: 767px) {
3728
- .header[data-v-cedd7cd4] {
3756
+ .header[data-v-a85c3b18] {
3729
3757
  display: flex;
3730
3758
  }
3731
3759
  }
3732
- .list[data-v-cedd7cd4] {
3760
+ .list[data-v-a85c3b18] {
3733
3761
  list-style: none;
3734
3762
  margin: 0;
3735
3763
  padding: var(--ui-space-1) 0;
@@ -3759,12 +3787,12 @@ from {
3759
3787
  calc(100% - var(--_ui-scroll-fade-size)) 100%;
3760
3788
  }
3761
3789
  @media (max-width: 767px) {
3762
- .list[data-v-cedd7cd4] {
3790
+ .list[data-v-a85c3b18] {
3763
3791
  max-height: calc(60dvh - 80px);
3764
3792
  padding: var(--ui-space-1) 0 var(--ui-space-2);
3765
3793
  }
3766
3794
  }
3767
- .item[data-v-cedd7cd4] {
3795
+ .item[data-v-a85c3b18] {
3768
3796
  display: flex;
3769
3797
  align-items: center;
3770
3798
  gap: var(--ui-space-3);
@@ -3773,10 +3801,10 @@ from {
3773
3801
  cursor: pointer;
3774
3802
  transition: background-color 120ms ease;
3775
3803
  }
3776
- .item.active[data-v-cedd7cd4] {
3804
+ .item.active[data-v-a85c3b18] {
3777
3805
  background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
3778
3806
  }
3779
- .icon[data-v-cedd7cd4] {
3807
+ .icon[data-v-a85c3b18] {
3780
3808
  display: flex;
3781
3809
  align-items: center;
3782
3810
  justify-content: center;
@@ -3792,22 +3820,22 @@ from {
3792
3820
  flex-shrink: 0;
3793
3821
  line-height: 1;
3794
3822
  }
3795
- .item.active .icon[data-v-cedd7cd4] {
3823
+ .item.active .icon[data-v-a85c3b18] {
3796
3824
  background: var(--ui-accent);
3797
3825
  border-color: var(--ui-accent);
3798
3826
  color: var(--ui-accent-contrast);
3799
3827
  }
3800
- .icon[data-v-cedd7cd4] {
3828
+ .icon[data-v-a85c3b18] {
3801
3829
  --_ui-default-icon-size: 1rem;
3802
3830
  --_ui-default-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
3803
3831
  }
3804
- .body[data-v-cedd7cd4] {
3832
+ .body[data-v-a85c3b18] {
3805
3833
  display: flex;
3806
3834
  min-width: 0;
3807
3835
  flex-direction: column;
3808
3836
  gap: 1px;
3809
3837
  }
3810
- .title[data-v-cedd7cd4] {
3838
+ .title[data-v-a85c3b18] {
3811
3839
  font-size: var(--ui-font-size-sm);
3812
3840
  font-weight: var(--ui-font-medium);
3813
3841
  color: var(--ui-text);
@@ -3815,20 +3843,20 @@ from {
3815
3843
  overflow: hidden;
3816
3844
  text-overflow: ellipsis;
3817
3845
  }
3818
- .description[data-v-cedd7cd4] {
3846
+ .description[data-v-a85c3b18] {
3819
3847
  font-size: var(--ui-font-size-xs);
3820
3848
  color: var(--ui-text-muted);
3821
3849
  white-space: nowrap;
3822
3850
  overflow: hidden;
3823
3851
  text-overflow: ellipsis;
3824
3852
  }
3825
- .footer[data-v-cedd7cd4] {
3853
+ .footer[data-v-a85c3b18] {
3826
3854
  padding: var(--ui-space-2) var(--ui-space-3);
3827
3855
  border-top: var(--ui-border-width) solid var(--ui-border-divider);
3828
3856
  font-size: var(--ui-font-size-xs);
3829
3857
  color: var(--ui-text-muted);
3830
3858
  }
3831
- [data-component~="ui-editor-slash-menu"] kbd[data-v-cedd7cd4] {
3859
+ [data-component~="ui-editor-slash-menu"] kbd[data-v-a85c3b18] {
3832
3860
  display: inline-flex;
3833
3861
  align-items: center;
3834
3862
  justify-content: center;
@@ -3840,7 +3868,7 @@ from {
3840
3868
  padding: 0 3px;
3841
3869
  color: var(--ui-text-secondary);
3842
3870
  }
3843
- [data-component~="ui-editor-slash-menu"][hidden][data-v-cedd7cd4] {
3871
+ [data-component~="ui-editor-slash-menu"][hidden][data-v-a85c3b18] {
3844
3872
  display: none;
3845
3873
  }
3846
3874
 
@@ -3937,10 +3965,15 @@ ul[data-v-516afff1] {
3937
3965
  --_ui-editor-mobile-bottom-space: 0px;
3938
3966
  }
3939
3967
 
3940
- [data-component~="ui-editor-table-context-menu"][data-v-d311fe5d] {
3968
+ [data-component~="ui-editor-table-context-menu"][popover][data-v-f2ebbbc8] {
3969
+ position: fixed;
3970
+ inset: auto;
3971
+ margin: 0;
3972
+ }
3973
+ [data-component~="ui-editor-table-context-menu"][data-v-f2ebbbc8] {
3941
3974
  /* The max-width is a promise about the menu's footprint, so it counts padding and border. */
3942
3975
  box-sizing: border-box;
3943
- min-width: 14rem;
3976
+ min-width: min(14rem, calc(100vw - 24px));
3944
3977
  max-width: min(17rem, calc(100vw - 24px));
3945
3978
  max-height: min(28rem, calc(100vh - 24px));
3946
3979
  padding: var(--ui-space-2);
@@ -3955,12 +3988,12 @@ ul[data-v-516afff1] {
3955
3988
  overscroll-behavior: contain;
3956
3989
  scrollbar-width: thin;
3957
3990
  }
3958
- .section[data-v-d311fe5d] {
3991
+ .section[data-v-f2ebbbc8] {
3959
3992
  display: flex;
3960
3993
  flex-direction: column;
3961
3994
  gap: 3px;
3962
3995
  }
3963
- [data-component~="ui-editor-table-context-menu"] button[data-v-d311fe5d] {
3996
+ [data-component~="ui-editor-table-context-menu"] button[data-v-f2ebbbc8] {
3964
3997
  display: flex;
3965
3998
  align-items: center;
3966
3999
  gap: var(--ui-space-2);
@@ -3975,30 +4008,38 @@ ul[data-v-516afff1] {
3975
4008
  cursor: pointer;
3976
4009
  color: var(--ui-text);
3977
4010
  }
3978
- [data-component~="ui-editor-table-context-menu"] button[data-v-d311fe5d] {
4011
+ [data-component~="ui-editor-table-context-menu"] button[data-v-f2ebbbc8] {
3979
4012
  --_ui-default-icon-size: 1rem;
3980
4013
  --_ui-default-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
3981
4014
  }
3982
- [data-component~="ui-editor-table-context-menu"] button[data-v-d311fe5d]:hover:not(:disabled) {
4015
+ [data-component~="ui-editor-table-context-menu"] button[data-v-f2ebbbc8]:hover:not(:disabled) {
3983
4016
  background: var(--ui-surface-hover);
3984
4017
  }
3985
- [data-component~="ui-editor-table-context-menu"] button.selected[data-v-d311fe5d] {
4018
+ [data-component~="ui-editor-table-context-menu"] button.selected[data-v-f2ebbbc8] {
3986
4019
  background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
3987
4020
  }
3988
- [data-component~="ui-editor-table-context-menu"] button.danger[data-v-d311fe5d] {
4021
+ [data-component~="ui-editor-table-context-menu"] button.danger[data-v-f2ebbbc8] {
3989
4022
  color: var(--ui-danger);
3990
4023
  }
3991
- .swatches[data-v-d311fe5d] {
3992
- display: grid;
3993
- grid-template-columns: repeat(3, minmax(0, 1fr));
4024
+
4025
+ /* Swatches wrap like words: the row asks for the menu's full width, and a narrower menu fits fewer. */
4026
+ .swatches[data-v-f2ebbbc8] {
4027
+ display: flex;
4028
+ flex-wrap: wrap;
3994
4029
  gap: 3px;
3995
4030
  }
3996
- .swatch-button[data-v-d311fe5d] {
4031
+
4032
+ /* Three to a row at the menu's full width; 5rem keeps the longest label, "Default", whole. */
4033
+ [data-component~="ui-editor-table-context-menu"] .swatch-button[data-v-f2ebbbc8] {
3997
4034
  display: inline-flex;
3998
4035
  align-items: center;
3999
4036
  gap: var(--ui-space-2);
4037
+ flex: 1 0 5rem;
4038
+ min-width: 5rem;
4039
+ max-width: calc((100% - 6px) / 3);
4040
+ padding-inline-end: var(--ui-space-1);
4000
4041
  }
4001
- .swatch[data-v-d311fe5d] {
4042
+ .swatch[data-v-f2ebbbc8] {
4002
4043
  display: inline-flex;
4003
4044
  width: 1rem;
4004
4045
  height: 1rem;
@@ -4008,7 +4049,7 @@ ul[data-v-516afff1] {
4008
4049
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.35);
4009
4050
  flex-shrink: 0;
4010
4051
  }
4011
- .swatch.default[data-v-d311fe5d] {
4052
+ .swatch.default[data-v-f2ebbbc8] {
4012
4053
  position: relative;
4013
4054
  background:
4014
4055
  linear-gradient(
@@ -4020,11 +4061,11 @@ ul[data-v-516afff1] {
4020
4061
  ),
4021
4062
  var(--ui-surface);
4022
4063
  }
4023
- .swatch-label[data-v-d311fe5d] {
4064
+ .swatch-label[data-v-f2ebbbc8] {
4024
4065
  min-width: 0;
4025
4066
  white-space: nowrap;
4026
4067
  }
4027
- .heading[data-v-d311fe5d] {
4068
+ .heading[data-v-f2ebbbc8] {
4028
4069
  padding: var(--ui-space-1) var(--ui-space-2);
4029
4070
  font-size: var(--ui-font-size-2xs);
4030
4071
  font-weight: 700;
@@ -4032,12 +4073,17 @@ ul[data-v-516afff1] {
4032
4073
  text-transform: uppercase;
4033
4074
  color: var(--ui-text-muted);
4034
4075
  }
4035
- .sep[data-v-d311fe5d] {
4076
+ .sep[data-v-f2ebbbc8] {
4036
4077
  height: 1px;
4037
4078
  background: var(--ui-border-divider);
4038
4079
  margin: var(--ui-space-1) 0;
4039
4080
  }
4040
- [data-component~="ui-editor-table-context-menu"][hidden][data-v-d311fe5d] {
4081
+
4082
+ /* Separators divide sections, so none sits above the first. */
4083
+ .sep[data-v-f2ebbbc8]:first-child {
4084
+ display: none;
4085
+ }
4086
+ [data-component~="ui-editor-table-context-menu"][hidden][data-v-f2ebbbc8] {
4041
4087
  display: none;
4042
4088
  }
4043
4089
 
@@ -4337,7 +4383,7 @@ ul[data-v-516afff1] {
4337
4383
  display: none;
4338
4384
  }
4339
4385
 
4340
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"][data-v-b9979342] {
4386
+ .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"][data-v-8c2d4497] {
4341
4387
  min-width: max-content;
4342
4388
  min-height: 100%;
4343
4389
  padding: 0;
@@ -4347,23 +4393,15 @@ ul[data-v-516afff1] {
4347
4393
  box-shadow: none;
4348
4394
  backdrop-filter: none;
4349
4395
  }
4350
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button[data-v-b9979342] {
4396
+ .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button[data-v-8c2d4497] {
4351
4397
  min-height: 44px;
4352
4398
  background: transparent;
4353
4399
  }
4354
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.active[data-v-b9979342],
4355
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.selected[data-v-b9979342] {
4400
+ .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.active[data-v-8c2d4497],
4401
+ .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.selected[data-v-8c2d4497] {
4356
4402
  background: var(--ui-accent-soft, var(--ui-accent-subtle));
4357
4403
  }
4358
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] .menu[data-v-b9979342] {
4359
- top: auto;
4360
- right: 0;
4361
- bottom: calc(100% + var(--ui-space-2));
4362
- max-height: min(50dvh, 22rem);
4363
- overflow-y: auto;
4364
- overscroll-behavior: contain;
4365
- }
4366
- [data-component~="ui-editor-table-toolbar"][data-v-b9979342] {
4404
+ [data-component~="ui-editor-table-toolbar"][data-v-8c2d4497] {
4367
4405
  display: inline-flex;
4368
4406
  align-items: center;
4369
4407
  gap: var(--ui-space-1);
@@ -4374,21 +4412,21 @@ ul[data-v-516afff1] {
4374
4412
  box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
4375
4413
  backdrop-filter: blur(10px);
4376
4414
  }
4377
- .group[data-v-b9979342] {
4415
+ .group[data-v-8c2d4497] {
4378
4416
  display: inline-flex;
4379
4417
  align-items: center;
4380
4418
  gap: 2px;
4381
4419
  overflow: hidden;
4382
4420
  }
4383
- .sep[data-v-b9979342] {
4421
+ .sep[data-v-8c2d4497] {
4384
4422
  width: 1px;
4385
4423
  align-self: stretch;
4386
4424
  background: var(--ui-border-divider);
4387
4425
  }
4388
- .overflow[data-v-b9979342] {
4426
+ .overflow[data-v-8c2d4497] {
4389
4427
  position: relative;
4390
4428
  }
4391
- [data-component~="ui-editor-table-toolbar"] button[data-v-b9979342] {
4429
+ [data-component~="ui-editor-table-toolbar"] button[data-v-8c2d4497] {
4392
4430
  display: inline-flex;
4393
4431
  align-items: center;
4394
4432
  justify-content: center;
@@ -4405,43 +4443,43 @@ ul[data-v-516afff1] {
4405
4443
  padding: var(--ui-space-2) var(--ui-space-2);
4406
4444
  white-space: nowrap;
4407
4445
  }
4408
- [data-component~="ui-editor-table-toolbar"] button[data-v-b9979342]:hover {
4446
+ [data-component~="ui-editor-table-toolbar"] button[data-v-8c2d4497]:hover {
4409
4447
  background: var(--ui-surface-hover);
4410
4448
  }
4411
- [data-component~="ui-editor-table-toolbar"] button.active[data-v-b9979342] {
4449
+ [data-component~="ui-editor-table-toolbar"] button.active[data-v-8c2d4497] {
4412
4450
  background: var(--ui-accent-soft, var(--ui-accent-subtle));
4413
4451
  color: var(--ui-accent-active);
4414
4452
  }
4415
- .group button[data-v-b9979342] {
4453
+ .group button[data-v-8c2d4497] {
4416
4454
  border-radius: var(--ui-radius-sm);
4417
4455
  }
4418
- .group button + button[data-v-b9979342] {
4456
+ .group button + button[data-v-8c2d4497] {
4419
4457
  border-left: 0;
4420
4458
  }
4421
- [data-component~="ui-editor-table-toolbar"] .more[data-v-b9979342] {
4459
+ [data-component~="ui-editor-table-toolbar"] .more[data-v-8c2d4497] {
4422
4460
  border: 0;
4423
4461
  border-radius: var(--ui-radius-sm);
4424
4462
  }
4425
- [data-component~="ui-editor-table-toolbar"] button.danger[data-v-b9979342] {
4463
+ [data-component~="ui-editor-table-toolbar"] button.danger[data-v-8c2d4497] {
4426
4464
  color: var(--ui-danger);
4427
4465
  }
4428
- [data-component~="ui-editor-table-toolbar"][data-v-b9979342] {
4466
+ [data-component~="ui-editor-table-toolbar"][data-v-8c2d4497] {
4429
4467
  --_ui-default-icon-size: var(--ui-editor-toolbar-icon-size, 1rem);
4430
4468
  --_ui-default-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
4431
4469
  }
4432
- .chevron[data-v-b9979342] {
4470
+ .chevron[data-v-8c2d4497] {
4433
4471
  display: inline-flex;
4434
4472
  --_ui-default-icon-size: 0.875rem;
4435
4473
  }
4436
- [data-component~="ui-editor-table-toolbar"] .icon-button[data-v-b9979342] {
4474
+ [data-component~="ui-editor-table-toolbar"] .icon-button[data-v-8c2d4497] {
4437
4475
  width: 32px;
4438
4476
  padding-inline: 0;
4439
4477
  }
4440
- .menu[data-v-b9979342] {
4478
+ .menu[data-v-8c2d4497] {
4441
4479
  box-sizing: border-box;
4442
- position: absolute;
4443
- top: calc(100% + var(--ui-space-2));
4444
- right: 0;
4480
+ position: fixed;
4481
+ inset: auto;
4482
+ margin: 0;
4445
4483
  min-width: 12rem;
4446
4484
  max-width: min(17rem, calc(100vw - 24px));
4447
4485
  padding: var(--ui-space-1);
@@ -4457,12 +4495,12 @@ ul[data-v-516afff1] {
4457
4495
  overscroll-behavior: contain;
4458
4496
  scrollbar-width: thin;
4459
4497
  }
4460
- .menu-section + .menu-section[data-v-b9979342] {
4498
+ .menu-section + .menu-section[data-v-8c2d4497] {
4461
4499
  margin-top: var(--ui-space-1);
4462
4500
  padding-top: var(--ui-space-1);
4463
4501
  border-top: var(--ui-border-width) solid var(--ui-border-divider);
4464
4502
  }
4465
- .menu-heading[data-v-b9979342] {
4503
+ .menu-heading[data-v-8c2d4497] {
4466
4504
  padding: var(--ui-space-1) var(--ui-space-2);
4467
4505
  font-size: var(--ui-font-size-2xs);
4468
4506
  font-weight: 700;
@@ -4470,22 +4508,22 @@ ul[data-v-516afff1] {
4470
4508
  text-transform: uppercase;
4471
4509
  color: var(--ui-text-muted);
4472
4510
  }
4473
- .menu button[data-v-b9979342] {
4511
+ .menu button[data-v-8c2d4497] {
4474
4512
  display: flex;
4475
4513
  justify-content: flex-start;
4476
4514
  width: 100%;
4477
4515
  text-align: left;
4478
4516
  }
4479
- .swatches[data-v-b9979342] {
4517
+ .swatches[data-v-8c2d4497] {
4480
4518
  display: grid;
4481
4519
  grid-template-columns: repeat(2, minmax(0, 1fr));
4482
4520
  gap: 2px;
4483
4521
  }
4484
- [data-component~="ui-editor-table-toolbar"] .swatch-button[data-v-b9979342] {
4522
+ [data-component~="ui-editor-table-toolbar"] .swatch-button[data-v-8c2d4497] {
4485
4523
  gap: var(--ui-space-1);
4486
4524
  justify-content: flex-start;
4487
4525
  }
4488
- .swatch[data-v-b9979342] {
4526
+ .swatch[data-v-8c2d4497] {
4489
4527
  width: 14px;
4490
4528
  height: 14px;
4491
4529
  flex: 0 0 14px;
@@ -4493,15 +4531,15 @@ ul[data-v-516afff1] {
4493
4531
  border-radius: var(--ui-radius-round);
4494
4532
  background: var(--_swatch);
4495
4533
  }
4496
- .swatch.default[data-v-b9979342] {
4534
+ .swatch.default[data-v-8c2d4497] {
4497
4535
  background:
4498
4536
  linear-gradient(135deg, transparent 44%, var(--ui-danger) 46% 54%, transparent 56%),
4499
4537
  var(--ui-surface);
4500
4538
  }
4501
- .swatch-button.selected[data-v-b9979342] {
4539
+ .swatch-button.selected[data-v-8c2d4497] {
4502
4540
  background: var(--ui-accent-soft, var(--ui-accent-subtle));
4503
4541
  }
4504
- [data-component~="ui-editor-table-toolbar"][hidden][data-v-b9979342] {
4542
+ [data-component~="ui-editor-table-toolbar"][hidden][data-v-8c2d4497] {
4505
4543
  display: none;
4506
4544
  }
4507
4545
 
@@ -4973,7 +5011,7 @@ svg[data-v-955cfa65-s] {
4973
5011
  syntax: "*";
4974
5012
  inherits: false;
4975
5013
  }
4976
- [data-component~="ui-icon-button"][data-v-219fa683] {
5014
+ [data-component~="ui-icon-button"][data-v-ea2a5496] {
4977
5015
  /* Optional inherited action-group values keep text and icon actions under the same light.
4978
5016
  One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
4979
5017
  A single ambient lift avoids stacking a face gradient or another inset bevel. */
@@ -4996,10 +5034,10 @@ svg[data-v-955cfa65-s] {
4996
5034
  display: inline-flex;
4997
5035
  color: var(--ui-text-secondary);
4998
5036
  }
4999
- [data-component~="ui-icon-button"][data-v-219fa683]:dir(rtl) {
5037
+ [data-component~="ui-icon-button"][data-v-ea2a5496]:dir(rtl) {
5000
5038
  --_ui-action-start: -1px;
5001
5039
  }
5002
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="tone=accent"][data-v-219fa683] {
5040
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="tone=accent"][data-v-ea2a5496] {
5003
5041
  --_icon-button-border: var(--ui-accent-solid);
5004
5042
  --_icon-button-hover-border: var(--ui-accent-hover);
5005
5043
  --_icon-button-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
@@ -5012,15 +5050,15 @@ svg[data-v-955cfa65-s] {
5012
5050
  }
5013
5051
 
5014
5052
  /* Omitted tone retains the existing accent solid; explicit neutral is additive. */
5015
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="tone=neutral"][data-v-219fa683] {
5053
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="tone=neutral"][data-v-ea2a5496] {
5016
5054
  --_icon-button-solid-surface: var(--ui-text-primary);
5017
5055
  --_icon-button-solid-hover-surface: var(--ui-text-primary);
5018
5056
  --_icon-button-solid-text: var(--ui-surface-default);
5019
5057
  }
5020
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-219fa683] {
5058
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496] {
5021
5059
  position: relative;
5022
5060
  }
5023
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-219fa683]::before {
5061
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]::before {
5024
5062
  content: "";
5025
5063
  position: absolute;
5026
5064
  inset: 50% auto auto 50%;
@@ -5034,13 +5072,19 @@ svg[data-v-955cfa65-s] {
5034
5072
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
5035
5073
  pointer-events: none;
5036
5074
  }
5037
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-219fa683]:disabled::before {
5075
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-ui-icon-button-state~="guide=bar"][data-v-ea2a5496]::before {
5076
+ inline-size: 2px;
5077
+ block-size: 20px;
5078
+ background: var(--ui-border-strong);
5079
+ opacity: 1;
5080
+ }
5081
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]:disabled::before {
5038
5082
  opacity: 0;
5039
5083
  }
5040
5084
 
5041
5085
  /* At rest an anticipatory button shows only its guide dot. The icon grows into place when
5042
5086
  proximity, hover, or focus reveals it; the button's hit area and guide remain stable. */
5043
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"] .content[data-v-219fa683] {
5087
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"] .content[data-v-ea2a5496] {
5044
5088
  opacity: 1;
5045
5089
  transform: scale(1);
5046
5090
  transition:
@@ -5048,22 +5092,22 @@ svg[data-v-955cfa65-s] {
5048
5092
  transform calc(var(--ui-motion-fast) * 2) cubic-bezier(0.2, 1.4, 0.35, 1);
5049
5093
  }
5050
5094
  @media (hover: hover) and (pointer: fine) {
5051
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-219fa683]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible) {
5095
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible) {
5052
5096
  border-color: transparent;
5053
5097
  background-color: transparent;
5054
5098
  box-shadow: none;
5055
5099
  }
5056
5100
  [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
5057
- .content[data-v-219fa683] {
5101
+ .content[data-v-ea2a5496] {
5058
5102
  opacity: 0;
5059
5103
  transform: scale(0.65);
5060
5104
  transition-duration: var(--ui-motion-fast);
5061
5105
  }
5062
5106
  }
5063
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-219fa683]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
5107
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
5064
5108
  opacity: 0;
5065
5109
  }
5066
- [data-component~="ui-icon-button"][data-v-219fa683] {
5110
+ [data-component~="ui-icon-button"][data-v-ea2a5496] {
5067
5111
  /* The size prop resolves here; --ui-icon-button-size overrides it on an element. */
5068
5112
  --_size: 2rem;
5069
5113
  appearance: none;
@@ -5086,10 +5130,10 @@ svg[data-v-955cfa65-s] {
5086
5130
  border-color var(--ui-motion-fast) var(--ui-motion-ease),
5087
5131
  color var(--ui-motion-fast) var(--ui-motion-ease),
5088
5132
  box-shadow var(--ui-motion-base) var(--ui-motion-ease),
5089
- transform var(--ui-motion-fast) var(--ui-motion-ease);
5133
+ scale var(--ui-motion-fast) var(--ui-motion-ease);
5090
5134
  }
5091
5135
  @media (hover: none), (pointer: coarse) {
5092
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-219fa683]::before {
5136
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-ea2a5496]::before {
5093
5137
  opacity: 0;
5094
5138
  }
5095
5139
  }
@@ -5097,10 +5141,10 @@ svg[data-v-955cfa65-s] {
5097
5141
  /* A touch target without a bigger button: an invisible hit area, at least the control
5098
5142
  minimum, centred on the button (::before is the anticipatory guide). */
5099
5143
  @media (pointer: coarse) {
5100
- [data-component~="ui-icon-button"][data-v-219fa683] {
5144
+ [data-component~="ui-icon-button"][data-v-ea2a5496] {
5101
5145
  position: relative;
5102
5146
  }
5103
- [data-component~="ui-icon-button"][data-v-219fa683]::after {
5147
+ [data-component~="ui-icon-button"][data-v-ea2a5496]::after {
5104
5148
  content: "";
5105
5149
  position: absolute;
5106
5150
  inset: 50% auto auto 50%;
@@ -5109,10 +5153,10 @@ svg[data-v-955cfa65-s] {
5109
5153
  transform: translate(-50%, -50%);
5110
5154
  }
5111
5155
  }
5112
- html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-219fa683] {
5156
+ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-ea2a5496] {
5113
5157
  position: relative;
5114
5158
  }
5115
- html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-219fa683]::after {
5159
+ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-ea2a5496]::after {
5116
5160
  content: "";
5117
5161
  position: absolute;
5118
5162
  inset: 50% auto auto 50%;
@@ -5120,14 +5164,14 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
5120
5164
  block-size: max(100%, var(--ui-control-min-block-size));
5121
5165
  transform: translate(-50%, -50%);
5122
5166
  }
5123
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-219fa683] {
5167
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-ea2a5496] {
5124
5168
  --_size: 1.75rem;
5125
5169
  inline-size: var(--ui-icon-button-size, var(--_size));
5126
5170
  block-size: var(--ui-icon-button-size, var(--_size));
5127
5171
  min-inline-size: var(--ui-icon-button-size, var(--_size));
5128
5172
  min-block-size: var(--ui-icon-button-size, var(--_size));
5129
5173
  }
5130
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-219fa683] {
5174
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-ea2a5496] {
5131
5175
  --_size: 2.5rem;
5132
5176
  inline-size: var(--ui-icon-button-size, var(--_size));
5133
5177
  block-size: var(--ui-icon-button-size, var(--_size));
@@ -5136,19 +5180,19 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
5136
5180
  }
5137
5181
 
5138
5182
  /* A text button's companion uses control geometry; compact icon buttons keep their own density. */
5139
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-v-219fa683] {
5183
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-v-ea2a5496] {
5140
5184
  --_size: var(--ui-control-size-md);
5141
5185
  block-size: auto;
5142
5186
  align-self: stretch;
5143
5187
  }
5144
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=sm"][data-v-219fa683] {
5188
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=sm"][data-v-ea2a5496] {
5145
5189
  --_size: var(--ui-control-size-sm);
5146
5190
  }
5147
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=lg"][data-v-219fa683] {
5191
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=lg"][data-v-ea2a5496] {
5148
5192
  --_size: var(--ui-control-size-lg);
5149
5193
  }
5150
5194
  @media (pointer: coarse) {
5151
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-v-219fa683] {
5195
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="matchButton"][data-v-ea2a5496] {
5152
5196
  inline-size: max(var(--ui-icon-button-size, var(--_size)), var(--ui-control-min-block-size));
5153
5197
  min-inline-size: max(
5154
5198
  var(--ui-icon-button-size, var(--_size)),
@@ -5157,10 +5201,10 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
5157
5201
  min-block-size: max(var(--ui-icon-button-size, var(--_size)), var(--ui-control-min-block-size));
5158
5202
  }
5159
5203
  }
5160
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-219fa683] {
5204
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-ea2a5496] {
5161
5205
  border-radius: var(--ui-radius-round);
5162
5206
  }
5163
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-219fa683] {
5207
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-ea2a5496] {
5164
5208
  border-color: var(
5165
5209
  --ui-icon-button-border,
5166
5210
  var(--_icon-button-border, var(--ui-control-border, var(--ui-border-strong)))
@@ -5173,7 +5217,7 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
5173
5217
  color: var(--ui-icon-button-outline-text, var(--_icon-button-text, var(--ui-text-primary)));
5174
5218
  box-shadow: var(--ui-action-shadow, var(--_ui-action-shadow));
5175
5219
  }
5176
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-219fa683] {
5220
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-ea2a5496] {
5177
5221
  background-color: var(
5178
5222
  --ui-icon-button-solid-surface,
5179
5223
  var(--_icon-button-solid-surface, var(--ui-accent-solid))
@@ -5182,7 +5226,7 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
5182
5226
  color: var(--ui-icon-button-solid-text, var(--_icon-button-solid-text, var(--ui-text-on-accent)));
5183
5227
  box-shadow: var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow)));
5184
5228
  }
5185
- [data-component~="ui-icon-button"][data-v-219fa683]:hover:enabled:not([aria-disabled="true"]) {
5229
+ [data-component~="ui-icon-button"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]) {
5186
5230
  /* Derived from the text colour so the ghost hover shows on any background. */
5187
5231
  background-color: var(
5188
5232
  --ui-icon-button-hover-surface,
@@ -5190,23 +5234,23 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
5190
5234
  );
5191
5235
  color: var(--ui-icon-button-hover-text, var(--_icon-button-text, var(--ui-text-primary)));
5192
5236
  }
5193
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-219fa683]:hover:enabled:not([aria-disabled="true"]) {
5237
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]) {
5194
5238
  border-color: var(
5195
5239
  --ui-icon-button-hover-border,
5196
5240
  var(--_icon-button-hover-border, var(--ui-control-border-hover, var(--ui-control-border)))
5197
5241
  );
5198
5242
  }
5199
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-219fa683]:hover:enabled:not([aria-disabled="true"]) {
5243
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]) {
5200
5244
  background-color: var(
5201
5245
  --ui-icon-button-solid-hover-surface,
5202
5246
  var(--_icon-button-solid-hover-surface, var(--ui-accent-hover))
5203
5247
  );
5204
5248
  }
5205
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=accent"][data-v-219fa683]:hover:enabled:not([aria-disabled="true"]),
5206
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=neutral"][data-v-219fa683]:hover:enabled:not([aria-disabled="true"]) {
5249
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=accent"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]),
5250
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=neutral"][data-v-ea2a5496]:hover:enabled:not([aria-disabled="true"]) {
5207
5251
  color: var(--ui-icon-button-solid-text, var(--_icon-button-solid-text, var(--ui-text-on-accent)));
5208
5252
  }
5209
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=ghost"][aria-expanded="true"][data-v-219fa683]:enabled:not([aria-disabled="true"]) {
5253
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=ghost"][aria-expanded="true"][data-v-ea2a5496]:enabled:not([aria-disabled="true"]) {
5210
5254
  background-color: var(
5211
5255
  --ui-icon-button-active-surface,
5212
5256
  color-mix(in srgb, currentColor 16%, transparent)
@@ -5216,7 +5260,7 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
5216
5260
  }
5217
5261
 
5218
5262
  /* Native toggle state persists after pointer release, including during loading. */
5219
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-219fa683]:enabled {
5263
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-ea2a5496]:enabled {
5220
5264
  background-color: var(
5221
5265
  --ui-icon-button-active-surface,
5222
5266
  color-mix(in srgb, currentColor 12%, var(--ui-surface-default))
@@ -5224,61 +5268,61 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
5224
5268
  background-image: none;
5225
5269
  box-shadow: var(--ui-pressed);
5226
5270
  }
5227
- [data-component~="ui-icon-button"][data-v-219fa683]:active:enabled:not([aria-disabled="true"]) {
5228
- transform: scale(var(--ui-icon-button-active-scale, 0.96));
5271
+ [data-component~="ui-icon-button"][data-v-ea2a5496]:active:enabled:not([aria-disabled="true"]) {
5272
+ scale: var(--ui-icon-button-active-scale, 0.96);
5229
5273
  }
5230
- :is([data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"][data-v-219fa683], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"][data-v-219fa683]) {
5274
+ :is([data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"][data-v-ea2a5496], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"][data-v-ea2a5496]) {
5231
5275
  cursor: progress;
5232
5276
  }
5233
- .content[data-v-219fa683] {
5277
+ .content[data-v-ea2a5496] {
5234
5278
  display: inline-flex;
5235
5279
  align-items: center;
5236
5280
  justify-content: center;
5237
5281
  }
5238
5282
  :is([data-component~="ui-icon-button"][data-ui-icon-button-state~="loading"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="pending"])
5239
- .content[data-v-219fa683] {
5283
+ .content[data-v-ea2a5496] {
5240
5284
  display: none;
5241
5285
  }
5242
5286
  @media (prefers-reduced-motion: reduce) {
5243
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"] .content[data-v-219fa683] {
5287
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"] .content[data-v-ea2a5496] {
5244
5288
  transition: none;
5245
5289
  }
5246
5290
  }
5247
- [data-component~="ui-icon-button"][data-v-219fa683]:focus-visible {
5291
+ [data-component~="ui-icon-button"][data-v-ea2a5496]:focus-visible {
5248
5292
  outline: none;
5249
5293
  box-shadow: var(--ui-focus-halo);
5250
5294
  }
5251
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-219fa683]:focus-visible {
5295
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-ea2a5496]:focus-visible {
5252
5296
  box-shadow:
5253
5297
  var(--ui-action-shadow, var(--_ui-action-shadow)),
5254
5298
  var(--ui-focus-halo);
5255
5299
  }
5256
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-219fa683]:focus-visible {
5300
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-ea2a5496]:focus-visible {
5257
5301
  box-shadow:
5258
5302
  var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
5259
5303
  var(--ui-focus-halo);
5260
5304
  }
5261
- [data-component~="ui-icon-button"][data-v-219fa683]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"]):active:enabled:not([aria-disabled="true"]) {
5305
+ [data-component~="ui-icon-button"][data-v-ea2a5496]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"], [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"]):active:enabled:not([aria-disabled="true"]) {
5262
5306
  background-image: none;
5263
5307
  box-shadow: var(--ui-pressed);
5264
5308
  }
5265
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-219fa683]:enabled:focus-visible {
5309
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-ea2a5496]:enabled:focus-visible {
5266
5310
  box-shadow:
5267
5311
  var(--ui-pressed),
5268
5312
  var(--ui-focus-halo);
5269
5313
  }
5270
5314
  @media (forced-colors: active) {
5271
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-219fa683]:enabled {
5315
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-ea2a5496]:enabled {
5272
5316
  outline: var(--ui-focus-width) solid Highlight;
5273
5317
  outline-offset: calc(-2 * var(--ui-focus-width));
5274
5318
  }
5275
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-219fa683]:enabled:focus-visible {
5319
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][aria-pressed="true"][data-v-ea2a5496]:enabled:focus-visible {
5276
5320
  outline-offset: var(--ui-focus-width);
5277
5321
  }
5278
5322
  }
5279
5323
 
5280
5324
  /* Disabled is a flat neutral control, independent of the active variant's tone. */
5281
- [data-component~="ui-icon-button"][data-v-219fa683]:disabled {
5325
+ [data-component~="ui-icon-button"][data-v-ea2a5496]:disabled {
5282
5326
  border-color: var(--ui-disabled-border);
5283
5327
  background-color: var(--ui-disabled-surface);
5284
5328
  color: var(--ui-disabled-text);
@@ -5288,23 +5332,23 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-2
5288
5332
  box-shadow: none;
5289
5333
  background-image: none;
5290
5334
  }
5291
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=ghost"][data-v-219fa683]:disabled {
5335
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=ghost"][data-v-ea2a5496]:disabled {
5292
5336
  border-color: transparent;
5293
5337
  }
5294
- [data-component~="ui-icon-button"][data-v-219fa683] {
5338
+ [data-component~="ui-icon-button"][data-v-ea2a5496] {
5295
5339
  --_icon-button-icon-default: var(--ui-icon-size-md);
5296
5340
  /* A slotted ui-icon is its own component, out of reach of the svg rule below; these are its
5297
5341
  defaults, which its own --ui-icon-* hooks still override. */
5298
5342
  --_ui-default-icon-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
5299
5343
  --_ui-default-icon-stroke-width: var(--_ui-icon-button-icon-stroke-width, 1.75);
5300
5344
  }
5301
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-219fa683] {
5345
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-ea2a5496] {
5302
5346
  --_icon-button-icon-default: var(--ui-icon-size-sm);
5303
5347
  }
5304
- [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-219fa683] {
5348
+ [data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-ea2a5496] {
5305
5349
  --_icon-button-icon-default: var(--ui-icon-size-lg);
5306
5350
  }
5307
- svg[data-v-219fa683-s] {
5351
+ svg[data-v-ea2a5496-s] {
5308
5352
  inline-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
5309
5353
  block-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
5310
5354
  flex-shrink: 0;
@@ -5312,7 +5356,7 @@ svg[data-v-219fa683-s] {
5312
5356
  }
5313
5357
 
5314
5358
  /* A component that sets its display still honours the hidden attribute on its root. */
5315
- [data-component~="ui-icon-button"][hidden][data-v-219fa683] {
5359
+ [data-component~="ui-icon-button"][hidden][data-v-ea2a5496] {
5316
5360
  display: none;
5317
5361
  }
5318
5362
 
@@ -6167,7 +6211,7 @@ svg[data-v-219fa683-s] {
6167
6211
  syntax: "*";
6168
6212
  inherits: false;
6169
6213
  }
6170
- [data-component~="ui-listbox"][data-v-1ba46396] {
6214
+ [data-component~="ui-listbox"][data-v-e7a8688c] {
6171
6215
  position: relative;
6172
6216
  box-sizing: border-box;
6173
6217
  display: block;
@@ -6184,25 +6228,29 @@ svg[data-v-219fa683-s] {
6184
6228
  box-shadow: var(--ui-control-inset);
6185
6229
  outline: none;
6186
6230
  }
6187
- .choices[data-v-1ba46396] {
6231
+
6232
+ /* Its own box around the nested Scroll Area, which it shrinks into so the choices scroll. */
6233
+ .choices[data-v-e7a8688c] {
6234
+ display: flex;
6235
+ flex-direction: column;
6188
6236
  max-block-size: calc(max(2, var(--_rows, 5)) * var(--ui-control-size-md));
6189
6237
  }
6190
- [data-component~="ui-listbox"][data-v-1ba46396]:not([data-enhanced]) {
6238
+ [data-component~="ui-listbox"][data-v-e7a8688c]:not([data-enhanced]) {
6191
6239
  padding: 0;
6192
6240
  border: 0;
6193
6241
  background: transparent;
6194
6242
  box-shadow: none;
6195
6243
  }
6196
- [data-component~="ui-listbox"]:not([data-enhanced]) .choices[data-v-1ba46396],
6197
- [data-component~="ui-listbox"][data-enhanced] .fallback[data-v-1ba46396] {
6244
+ [data-component~="ui-listbox"]:not([data-enhanced]) .choices[data-v-e7a8688c],
6245
+ [data-component~="ui-listbox"][data-enhanced] .fallback[data-v-e7a8688c] {
6198
6246
  display: none;
6199
6247
  }
6200
- .fallback[data-v-1ba46396] {
6248
+ .fallback[data-v-e7a8688c] {
6201
6249
  box-sizing: border-box;
6202
6250
  inline-size: 100%;
6203
6251
  font: inherit;
6204
6252
  }
6205
- .validity[data-v-1ba46396] {
6253
+ .validity[data-v-e7a8688c] {
6206
6254
  position: absolute;
6207
6255
  inline-size: 1px;
6208
6256
  block-size: 1px;
@@ -6211,22 +6259,22 @@ svg[data-v-219fa683-s] {
6211
6259
  opacity: 0;
6212
6260
  pointer-events: none;
6213
6261
  }
6214
- [data-component~="ui-listbox"][data-v-1ba46396]:focus-visible {
6262
+ [data-component~="ui-listbox"][data-v-e7a8688c]:focus-visible {
6215
6263
  border-color: var(--ui-control-focus);
6216
6264
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
6217
6265
  outline-offset: var(--ui-focus-width);
6218
6266
  box-shadow: var(--ui-listbox-focus-shadow, var(--ui-focus-halo));
6219
6267
  }
6220
- [data-component~="ui-listbox"][aria-invalid="true"][data-v-1ba46396] {
6268
+ [data-component~="ui-listbox"][aria-invalid="true"][data-v-e7a8688c] {
6221
6269
  border-color: var(--ui-listbox-invalid-border, var(--ui-field-danger, var(--ui-danger)));
6222
6270
  }
6223
- [data-component~="ui-listbox"][aria-disabled="true"][data-v-1ba46396] {
6271
+ [data-component~="ui-listbox"][aria-disabled="true"][data-v-e7a8688c] {
6224
6272
  background: var(--ui-control-surface-disabled);
6225
6273
  color: var(--ui-disabled-text);
6226
6274
  box-shadow: none;
6227
6275
  cursor: not-allowed;
6228
6276
  }
6229
- [data-component~="ui-listbox"][hidden][data-v-1ba46396] {
6277
+ [data-component~="ui-listbox"][hidden][data-v-e7a8688c] {
6230
6278
  display: none;
6231
6279
  }
6232
6280
 
@@ -7460,7 +7508,7 @@ legend[data-v-0bead1b5] + * {
7460
7508
  syntax: "*";
7461
7509
  inherits: false;
7462
7510
  }
7463
- [data-component~="ui-search-shell"][data-v-0778ed20] {
7511
+ [data-component~="ui-search-shell"][data-v-62b2f3da] {
7464
7512
  /* Hooks do not inherit, so the parts below read them from the root. */
7465
7513
  --_ui-search-shell-z-index: var(--ui-search-shell-z-index);
7466
7514
  --_ui-search-shell-padding-top: var(--ui-search-shell-padding-top);
@@ -7475,7 +7523,7 @@ legend[data-v-0bead1b5] + * {
7475
7523
 
7476
7524
  display: contents;
7477
7525
  }
7478
- dialog[data-v-0778ed20] {
7526
+ dialog[data-v-62b2f3da] {
7479
7527
  position: fixed;
7480
7528
  inset: 0;
7481
7529
  z-index: var(--_ui-search-shell-z-index, 400);
@@ -7493,16 +7541,16 @@ dialog[data-v-0778ed20] {
7493
7541
  background: var(--ui-overlay-backdrop);
7494
7542
  color: var(--ui-text-primary);
7495
7543
  }
7496
- dialog[data-v-0778ed20]::backdrop {
7544
+ dialog[data-v-62b2f3da]:modal::backdrop {
7497
7545
  background: var(--ui-overlay-backdrop);
7498
7546
  }
7499
- dialog[data-v-0778ed20]:modal {
7547
+ dialog[data-v-62b2f3da]:modal {
7500
7548
  background: transparent;
7501
7549
  }
7502
- dialog[data-ui-backdrop-hidden][data-v-0778ed20]::backdrop {
7550
+ dialog[data-ui-backdrop-hidden][data-v-62b2f3da]::backdrop {
7503
7551
  background: transparent;
7504
7552
  }
7505
- .panel[data-v-0778ed20] {
7553
+ .panel[data-v-62b2f3da] {
7506
7554
  position: relative;
7507
7555
  display: flex;
7508
7556
  flex-direction: column;
@@ -7522,10 +7570,10 @@ dialog[data-ui-backdrop-hidden][data-v-0778ed20]::backdrop {
7522
7570
  var(--ui-overlay-shadow, var(--ui-elevation-dialog, var(--ui-shadow-xl)))
7523
7571
  );
7524
7572
  }
7525
- .search[data-v-0778ed20] {
7573
+ .search[data-v-62b2f3da] {
7526
7574
  padding: var(--ui-space-3);
7527
7575
  }
7528
- input[slot="search"][data-v-0778ed20-s] {
7576
+ input[slot="search"][data-v-62b2f3da-s] {
7529
7577
  box-sizing: border-box;
7530
7578
  inline-size: 100%;
7531
7579
  min-block-size: var(--ui-control-min-block-size);
@@ -7537,24 +7585,24 @@ input[slot="search"][data-v-0778ed20-s] {
7537
7585
  font: inherit;
7538
7586
  box-shadow: var(--ui-shadow-xs);
7539
7587
  }
7540
- input[slot="search"][data-v-0778ed20-s]:focus-visible {
7588
+ input[slot="search"][data-v-62b2f3da-s]:focus-visible {
7541
7589
  border-color: var(--_ui-search-shell-focus-color, var(--ui-control-focus));
7542
7590
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
7543
7591
  outline-offset: var(--ui-focus-width);
7544
7592
  }
7545
- .status[data-v-0778ed20],
7546
- .actions[data-v-0778ed20] {
7593
+ .status[data-v-62b2f3da],
7594
+ .actions[data-v-62b2f3da] {
7547
7595
  flex-shrink: 0;
7548
7596
  padding: var(--ui-space-2) var(--ui-space-4);
7549
7597
  color: var(--ui-text-secondary);
7550
7598
  font-size: var(--ui-font-size-sm);
7551
7599
  }
7552
- .status[data-v-0778ed20] {
7600
+ .status[data-v-62b2f3da] {
7553
7601
  padding-block-start: 0;
7554
7602
  }
7555
7603
 
7556
7604
  /* Laid out like the dialog's action row: actions right-aligned, spaced as buttons, no fill. */
7557
- .actions[data-v-0778ed20] {
7605
+ .actions[data-v-62b2f3da] {
7558
7606
  display: flex;
7559
7607
  flex-wrap: wrap;
7560
7608
  align-items: center;
@@ -7562,11 +7610,11 @@ input[slot="search"][data-v-0778ed20-s]:focus-visible {
7562
7610
  gap: var(--ui-space-2);
7563
7611
  padding: var(--ui-space-3) var(--ui-space-4);
7564
7612
  }
7565
- .status[data-v-0778ed20]:empty,
7566
- .actions[data-v-0778ed20]:empty {
7613
+ .status[data-v-62b2f3da]:empty,
7614
+ .actions[data-v-62b2f3da]:empty {
7567
7615
  display: none;
7568
7616
  }
7569
- .body[data-v-0778ed20] {
7617
+ .body[data-v-62b2f3da] {
7570
7618
  flex: 1;
7571
7619
  min-block-size: 0;
7572
7620
  overflow: auto;
@@ -7594,10 +7642,10 @@ input[slot="search"][data-v-0778ed20-s]:focus-visible {
7594
7642
  calc(100% - var(--_ui-scroll-fade-size)) 100%;
7595
7643
  }
7596
7644
  @media (max-width: 47.9375rem) {
7597
- dialog[data-v-0778ed20] {
7645
+ dialog[data-v-62b2f3da] {
7598
7646
  padding: 0;
7599
7647
  }
7600
- .panel[data-v-0778ed20] {
7648
+ .panel[data-v-62b2f3da] {
7601
7649
  inline-size: 100%;
7602
7650
  min-block-size: 100dvh;
7603
7651
  max-block-size: none;
@@ -7607,19 +7655,19 @@ dialog[data-v-0778ed20] {
7607
7655
  }
7608
7656
 
7609
7657
  /* A component that sets its display still honours the hidden attribute on its root. */
7610
- [data-component~="ui-search-shell"][hidden][data-v-0778ed20] {
7658
+ [data-component~="ui-search-shell"][hidden][data-v-62b2f3da] {
7611
7659
  display: none;
7612
7660
  }
7613
7661
 
7614
7662
  /* A part of a view: a heading, an optional line under it, actions for the whole section at its
7615
7663
  end, and the content. Sections space themselves out through the Stack around them. */
7616
- [data-component~="ui-section"][data-v-93e8cb94] {
7664
+ [data-component~="ui-section"][data-v-97cdaba4] {
7617
7665
  display: flex;
7618
7666
  flex-direction: column;
7619
7667
  gap: var(--ui-space-4);
7620
7668
  min-inline-size: 0;
7621
7669
  }
7622
- [data-component~="ui-section"][data-ui-section-state~="variant=card"][data-v-93e8cb94] {
7670
+ [data-component~="ui-section"][data-ui-section-state~="variant=card"][data-v-97cdaba4] {
7623
7671
  --_ui-selection-context-surface: initial;
7624
7672
  --_ui-selection-context-border: initial;
7625
7673
  --_ui-selection-context-text: initial;
@@ -7628,11 +7676,11 @@ dialog[data-v-0778ed20] {
7628
7676
  border-radius: var(--ui-radius-lg);
7629
7677
  background: var(--ui-surface-raised);
7630
7678
  }
7631
- [data-component~="ui-section"][data-ui-section-state~="variant=divided"][data-v-93e8cb94] {
7679
+ [data-component~="ui-section"][data-ui-section-state~="variant=divided"][data-v-97cdaba4] {
7632
7680
  padding-block-start: var(--ui-space-6);
7633
7681
  border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
7634
7682
  }
7635
- [data-component~="ui-section"][data-ui-section-state~="variant=card"][data-ui-section-state~="tone=danger"][data-v-93e8cb94] {
7683
+ [data-component~="ui-section"][data-ui-section-state~="variant=card"][data-ui-section-state~="tone=danger"][data-v-97cdaba4] {
7636
7684
  --_ui-selection-context-surface: light-dark(
7637
7685
  oklch(from var(--ui-danger-soft) calc(l - 0.045) calc(max(c, min(0.045, c * 3))) h),
7638
7686
  oklch(from var(--ui-danger-soft) calc(l + 0.045) calc(max(c, min(0.045, c * 3))) h)
@@ -7644,58 +7692,61 @@ dialog[data-v-0778ed20] {
7644
7692
  --_ui-selection-context-text: var(--ui-text-primary);
7645
7693
  border-color: color-mix(in srgb, var(--ui-danger) 45%, var(--ui-border-default));
7646
7694
  border-inline-start: var(--ui-accent-line-width) solid var(--ui-danger);
7695
+ /* An accent edge keeps the corners on its side straight. */
7696
+ border-start-start-radius: 0;
7697
+ border-end-start-radius: 0;
7647
7698
  background: var(--ui-danger-soft);
7648
7699
  }
7649
- .head[data-v-93e8cb94] {
7700
+ .head[data-v-97cdaba4] {
7650
7701
  display: flex;
7651
7702
  flex-wrap: wrap;
7652
7703
  align-items: flex-start;
7653
7704
  justify-content: space-between;
7654
7705
  gap: var(--ui-space-2) var(--ui-space-4);
7655
7706
  }
7656
- .copy[data-v-93e8cb94] {
7707
+ .copy[data-v-97cdaba4] {
7657
7708
  display: flex;
7658
7709
  flex: 1 1 16rem;
7659
7710
  flex-direction: column;
7660
7711
  gap: var(--ui-space-1);
7661
7712
  min-inline-size: 0;
7662
7713
  }
7663
- .heading[data-v-93e8cb94] {
7714
+ .heading[data-v-97cdaba4] {
7664
7715
  margin: 0;
7665
7716
  color: var(--ui-text-primary);
7666
7717
  font-size: var(--ui-font-size-lg);
7667
7718
  font-weight: var(--ui-font-semibold);
7668
7719
  line-height: var(--ui-line-height-tight);
7669
7720
  }
7670
- [data-component~="ui-section"][data-ui-section-state~="tone=danger"] .heading[data-v-93e8cb94] {
7721
+ [data-component~="ui-section"][data-ui-section-state~="tone=danger"] .heading[data-v-97cdaba4] {
7671
7722
  color: var(--ui-danger);
7672
7723
  }
7673
- .description[data-v-93e8cb94] {
7724
+ .description[data-v-97cdaba4] {
7674
7725
  color: var(--ui-text-secondary);
7675
7726
  font-size: var(--ui-font-size-sm);
7676
7727
  line-height: var(--ui-line-height);
7677
7728
  }
7678
- .actions[data-v-93e8cb94] {
7729
+ .actions[data-v-97cdaba4] {
7679
7730
  display: inline-flex;
7680
7731
  flex-wrap: wrap;
7681
7732
  gap: var(--ui-space-2);
7682
7733
  }
7683
- .body[data-v-93e8cb94] {
7734
+ .body[data-v-97cdaba4] {
7684
7735
  display: flex;
7685
7736
  flex-direction: column;
7686
7737
  gap: var(--ui-space-4);
7687
7738
  min-inline-size: 0;
7688
7739
  }
7689
- .description[data-v-93e8cb94]:empty,
7690
- .actions[data-v-93e8cb94]:empty {
7740
+ .description[data-v-97cdaba4]:empty,
7741
+ .actions[data-v-97cdaba4]:empty {
7691
7742
  display: none;
7692
7743
  }
7693
- .head[data-v-93e8cb94]:has(.heading[hidden]):has(.description:empty):has(.actions:empty) {
7744
+ .head[data-v-97cdaba4]:has(.heading[hidden]):has(.description:empty):has(.actions:empty) {
7694
7745
  display: none;
7695
7746
  }
7696
7747
 
7697
7748
  /* A component that sets its display still honours the hidden attribute on its root. */
7698
- [data-component~="ui-section"][hidden][data-v-93e8cb94] {
7749
+ [data-component~="ui-section"][hidden][data-v-97cdaba4] {
7699
7750
  display: none;
7700
7751
  }
7701
7752
 
@@ -9044,7 +9095,7 @@ tbody tr[data-v-722ca2ea-s]:last-child > * {
9044
9095
  syntax: "*";
9045
9096
  inherits: false;
9046
9097
  }
9047
- [data-component~="ui-toast"][data-v-af4b9641] {
9098
+ [data-component~="ui-toast"][data-v-0812e30e] {
9048
9099
  --_ui-toast-accent: var(--ui-border-strong);
9049
9100
  --_ui-toast-surface: var(--ui-surface-muted);
9050
9101
 
@@ -9075,30 +9126,30 @@ tbody tr[data-v-722ca2ea-s]:last-child > * {
9075
9126
  );
9076
9127
  pointer-events: auto;
9077
9128
  }
9078
- [data-component~="ui-toast"][data-ui-toast-state~="tone=info"][data-v-af4b9641] {
9129
+ [data-component~="ui-toast"][data-ui-toast-state~="tone=info"][data-v-0812e30e] {
9079
9130
  --_ui-toast-accent: var(--ui-info-solid);
9080
9131
  --_ui-toast-surface: var(--ui-info-soft);
9081
9132
  }
9082
- [data-component~="ui-toast"][data-ui-toast-state~="tone=success"][data-v-af4b9641] {
9133
+ [data-component~="ui-toast"][data-ui-toast-state~="tone=success"][data-v-0812e30e] {
9083
9134
  --_ui-toast-accent: var(--ui-success-solid);
9084
9135
  --_ui-toast-surface: var(--ui-success-soft);
9085
9136
  }
9086
- [data-component~="ui-toast"][data-ui-toast-state~="tone=warning"][data-v-af4b9641] {
9137
+ [data-component~="ui-toast"][data-ui-toast-state~="tone=warning"][data-v-0812e30e] {
9087
9138
  --_ui-toast-accent: var(--ui-warning-solid);
9088
9139
  --_ui-toast-surface: var(--ui-warning-soft);
9089
9140
  }
9090
- [data-component~="ui-toast"][data-ui-toast-state~="tone=danger"][data-v-af4b9641] {
9141
+ [data-component~="ui-toast"][data-ui-toast-state~="tone=danger"][data-v-0812e30e] {
9091
9142
  --_ui-toast-accent: var(--ui-danger-solid);
9092
9143
  --_ui-toast-surface: var(--ui-danger-soft);
9093
9144
  }
9094
- .message[data-v-af4b9641] {
9145
+ .message[data-v-0812e30e] {
9095
9146
  min-inline-size: 0;
9096
9147
  flex: 1;
9097
9148
  }
9098
- .action[data-v-af4b9641]:not(:has(> *)) {
9149
+ .action[data-v-0812e30e]:not(:has(> *)) {
9099
9150
  display: none;
9100
9151
  }
9101
- [data-component~="ui-toast"][hidden][data-v-af4b9641] {
9152
+ [data-component~="ui-toast"][hidden][data-v-0812e30e] {
9102
9153
  display: none;
9103
9154
  }
9104
9155