@weasel-js/ui 1.0.2 → 1.0.4

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 (226) hide show
  1. package/dist/chunks/{ActionBar-GThu74LC.js → ActionBar-BvPEd_GW.js} +2 -2
  2. package/dist/chunks/ActionBar-BvPEd_GW.js.map +1 -0
  3. package/dist/chunks/ActionsBar-9aR5N3lU.js.map +1 -1
  4. package/dist/chunks/Badge-DZQqAV4d.js.map +1 -1
  5. package/dist/chunks/BandEditor-D3i6l299.js +248 -0
  6. package/dist/chunks/BandEditor-D3i6l299.js.map +1 -0
  7. package/dist/chunks/Button-9QNIYugK.js.map +1 -1
  8. package/dist/chunks/{Callout-CFqG5xho.js → Callout-NSOjza6G.js} +2 -1
  9. package/dist/chunks/Callout-NSOjza6G.js.map +1 -0
  10. package/dist/chunks/Checkbox-KQ5L8APP.js.map +1 -1
  11. package/dist/chunks/ColorField-ykpiD3XU.js.map +1 -1
  12. package/dist/chunks/{ComboBox-DpxsFVBy.js → ComboBox-ONQISwtI.js} +3 -2
  13. package/dist/chunks/ComboBox-ONQISwtI.js.map +1 -0
  14. package/dist/chunks/{CurveEditor-fRctbmoV.js → CurveEditor-SmwwvrsA.js} +4 -4
  15. package/dist/chunks/CurveEditor-SmwwvrsA.js.map +1 -0
  16. package/dist/chunks/DataGrid-DZQ4Chbd.js +210 -0
  17. package/dist/chunks/DataGrid-DZQ4Chbd.js.map +1 -0
  18. package/dist/chunks/{Dialog-3FCd_gYi.js → Dialog-CqwdJv_t.js} +2 -1
  19. package/dist/chunks/Dialog-CqwdJv_t.js.map +1 -0
  20. package/dist/chunks/Field-VQwmrIna.js.map +1 -1
  21. package/dist/chunks/{GradientEditor-BL5kg7a_.js → GradientEditor-B2x7STav.js} +29 -9
  22. package/dist/chunks/GradientEditor-B2x7STav.js.map +1 -0
  23. package/dist/chunks/Input-DpkwYtUY.js.map +1 -1
  24. package/dist/chunks/Keycaps-CFX7UAj8.js.map +1 -1
  25. package/dist/chunks/NumberField-BbzI0GtU.js.map +1 -1
  26. package/dist/chunks/OptionsBar-CHvH4n4u.js.map +1 -1
  27. package/dist/chunks/Plot2D-CEnhzodm.js.map +1 -1
  28. package/dist/chunks/{PointPlotter-R8hguJPq.js → PointPlotter-BUIse9c4.js} +2 -2
  29. package/dist/chunks/PointPlotter-BUIse9c4.js.map +1 -0
  30. package/dist/chunks/Powerline-Dd9Ukhcl.js.map +1 -1
  31. package/dist/chunks/{Prefs-lgI4x4jF.js → Prefs-BMR9wMiZ.js} +4 -4
  32. package/dist/chunks/Prefs-BMR9wMiZ.js.map +1 -0
  33. package/dist/chunks/RadioGroup-CIpHr3g6.js.map +1 -1
  34. package/dist/chunks/RangeSlider-CaDogGTj.js.map +1 -1
  35. package/dist/chunks/{ResizeHandle-CCQ2y87y.js → ResizeHandle-BOpmtOOj.js} +2 -2
  36. package/dist/chunks/ResizeHandle-BOpmtOOj.js.map +1 -0
  37. package/dist/chunks/{Select-BE3Y1NrH.js → Select-CHsuQCp0.js} +2 -2
  38. package/dist/chunks/Select-CHsuQCp0.js.map +1 -0
  39. package/dist/chunks/{SelectionPanel-Zaw8tYQH.js → SelectionPanel-D_wk_8ZN.js} +2 -2
  40. package/dist/chunks/SelectionPanel-D_wk_8ZN.js.map +1 -0
  41. package/dist/chunks/Sidebar-DP_nyJze.js.map +1 -1
  42. package/dist/chunks/{SidebarPanel-BpD0ptyg.js → SidebarPanel-BVTQ1ZyM.js} +2 -2
  43. package/dist/chunks/SidebarPanel-BVTQ1ZyM.js.map +1 -0
  44. package/dist/chunks/Slider-DcHnSK5g.js +234 -0
  45. package/dist/chunks/Slider-DcHnSK5g.js.map +1 -0
  46. package/dist/chunks/StatusBar-DBO0E0Yd.js.map +1 -1
  47. package/dist/chunks/Switch-JyVSSAzC.js.map +1 -1
  48. package/dist/chunks/Tabs-Df0sDomx.js.map +1 -1
  49. package/dist/chunks/Toast-DFw4IrD_.js.map +1 -1
  50. package/dist/chunks/ToggleBar-BP1zFcvg.js.map +1 -1
  51. package/dist/chunks/{ToolButton-DpT-mukU.js → ToolButton-ClPz5L6j.js} +2 -2
  52. package/dist/chunks/ToolButton-ClPz5L6j.js.map +1 -0
  53. package/dist/chunks/ToolGroup-BTIwd4U4.js.map +1 -1
  54. package/dist/chunks/ToolOptionsBar-JvmY7iNe.js.map +1 -1
  55. package/dist/chunks/{ToolPalette-DPn0owno.js → ToolPalette-DAiVhdtV.js} +2 -2
  56. package/dist/chunks/ToolPalette-DAiVhdtV.js.map +1 -0
  57. package/dist/chunks/{Tooltip-Clgn4trm.js → Tooltip-DXJbdR5B.js} +2 -1
  58. package/dist/chunks/Tooltip-DXJbdR5B.js.map +1 -0
  59. package/dist/chunks/useRovingTabIndex-DBZtq4IH.js.map +1 -1
  60. package/dist/color/oklch.d.ts +12 -0
  61. package/dist/color/oklch.d.ts.map +1 -1
  62. package/dist/components/ActionBar/ActionBar.d.ts +1 -0
  63. package/dist/components/ActionBar/ActionBar.d.ts.map +1 -1
  64. package/dist/components/ActionBar/index.js +1 -1
  65. package/dist/components/ActionsBar/ActionsBar.d.ts +15 -0
  66. package/dist/components/ActionsBar/ActionsBar.d.ts.map +1 -1
  67. package/dist/components/Badge/Badge.d.ts +14 -0
  68. package/dist/components/Badge/Badge.d.ts.map +1 -1
  69. package/dist/components/Badge/bases/edgeProfiles.d.ts +8 -0
  70. package/dist/components/Badge/bases/edgeProfiles.d.ts.map +1 -1
  71. package/dist/components/Badge/types.d.ts +11 -0
  72. package/dist/components/Badge/types.d.ts.map +1 -1
  73. package/dist/components/BandEditor/BandEditor.d.ts +56 -0
  74. package/dist/components/BandEditor/BandEditor.d.ts.map +1 -0
  75. package/dist/components/BandEditor/bands.d.ts +45 -0
  76. package/dist/components/BandEditor/bands.d.ts.map +1 -0
  77. package/dist/components/BandEditor/index.d.ts +4 -0
  78. package/dist/components/BandEditor/index.d.ts.map +1 -0
  79. package/dist/components/BandEditor/index.js +2 -0
  80. package/dist/components/BandEditor/scale.d.ts +25 -0
  81. package/dist/components/BandEditor/scale.d.ts.map +1 -0
  82. package/dist/components/Button/Button.d.ts +13 -0
  83. package/dist/components/Button/Button.d.ts.map +1 -1
  84. package/dist/components/Callout/Callout.d.ts +2 -0
  85. package/dist/components/Callout/Callout.d.ts.map +1 -1
  86. package/dist/components/Callout/index.js +1 -1
  87. package/dist/components/Checkbox/Checkbox.d.ts +4 -0
  88. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  89. package/dist/components/ColorField/ColorField.d.ts +4 -0
  90. package/dist/components/ColorField/ColorField.d.ts.map +1 -1
  91. package/dist/components/ComboBox/ComboBox.d.ts +11 -0
  92. package/dist/components/ComboBox/ComboBox.d.ts.map +1 -1
  93. package/dist/components/ComboBox/index.js +1 -1
  94. package/dist/components/CurveEditor/CurveEditor.d.ts +14 -2
  95. package/dist/components/CurveEditor/CurveEditor.d.ts.map +1 -1
  96. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts +15 -0
  97. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts.map +1 -1
  98. package/dist/components/CurveEditor/createFunctionLayer.d.ts +39 -0
  99. package/dist/components/CurveEditor/createFunctionLayer.d.ts.map +1 -1
  100. package/dist/components/CurveEditor/index.js +1 -1
  101. package/dist/components/CurveEditor/layerTypes.d.ts +5 -0
  102. package/dist/components/CurveEditor/layerTypes.d.ts.map +1 -1
  103. package/dist/components/CurveEditor/setCurveOp.d.ts +4 -0
  104. package/dist/components/CurveEditor/setCurveOp.d.ts.map +1 -1
  105. package/dist/components/DataGrid/DataGrid.d.ts +12 -0
  106. package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
  107. package/dist/components/DataGrid/index.js +1 -1
  108. package/dist/components/Dialog/Dialog.d.ts +1 -0
  109. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  110. package/dist/components/Dialog/index.js +1 -1
  111. package/dist/components/Field/Field.d.ts +9 -0
  112. package/dist/components/Field/Field.d.ts.map +1 -1
  113. package/dist/components/GradientEditor/GradientEditor.d.ts +4 -0
  114. package/dist/components/GradientEditor/GradientEditor.d.ts.map +1 -1
  115. package/dist/components/GradientEditor/GradientHandles.d.ts +4 -0
  116. package/dist/components/GradientEditor/GradientHandles.d.ts.map +1 -1
  117. package/dist/components/GradientEditor/index.js +1 -1
  118. package/dist/components/Input/Input.d.ts +1 -0
  119. package/dist/components/Input/Input.d.ts.map +1 -1
  120. package/dist/components/Keycaps/Keycap.d.ts +10 -0
  121. package/dist/components/Keycaps/Keycap.d.ts.map +1 -1
  122. package/dist/components/Keycaps/Keycaps.d.ts +2 -0
  123. package/dist/components/Keycaps/Keycaps.d.ts.map +1 -1
  124. package/dist/components/Keycaps/keySpecsFromMods.d.ts +2 -0
  125. package/dist/components/Keycaps/keySpecsFromMods.d.ts.map +1 -1
  126. package/dist/components/NumberField/NumberField.d.ts +9 -0
  127. package/dist/components/NumberField/NumberField.d.ts.map +1 -1
  128. package/dist/components/OptionsBar/OptionsBar.d.ts +12 -0
  129. package/dist/components/OptionsBar/OptionsBar.d.ts.map +1 -1
  130. package/dist/components/Plot2D/Plot2D.d.ts +14 -0
  131. package/dist/components/Plot2D/Plot2D.d.ts.map +1 -1
  132. package/dist/components/Plot2D/geometry.d.ts +10 -0
  133. package/dist/components/Plot2D/geometry.d.ts.map +1 -1
  134. package/dist/components/PointPlotter/PointPlotter.d.ts +3 -2
  135. package/dist/components/PointPlotter/PointPlotter.d.ts.map +1 -1
  136. package/dist/components/PointPlotter/index.js +1 -1
  137. package/dist/components/Powerline/Powerline.d.ts +13 -0
  138. package/dist/components/Powerline/Powerline.d.ts.map +1 -1
  139. package/dist/components/Prefs/PrefsDialog.d.ts +4 -0
  140. package/dist/components/Prefs/PrefsDialog.d.ts.map +1 -1
  141. package/dist/components/Prefs/PrefsForm.d.ts +6 -0
  142. package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
  143. package/dist/components/Prefs/index.js +1 -1
  144. package/dist/components/Prefs/schema.d.ts +17 -0
  145. package/dist/components/Prefs/schema.d.ts.map +1 -1
  146. package/dist/components/RadioGroup/RadioGroup.d.ts +8 -0
  147. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  148. package/dist/components/RangeSlider/RangeSlider.d.ts +1 -0
  149. package/dist/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  150. package/dist/components/ResizeHandle/ResizeHandle.d.ts +7 -3
  151. package/dist/components/ResizeHandle/ResizeHandle.d.ts.map +1 -1
  152. package/dist/components/ResizeHandle/index.js +1 -1
  153. package/dist/components/Select/Select.d.ts +11 -0
  154. package/dist/components/Select/Select.d.ts.map +1 -1
  155. package/dist/components/Select/index.js +1 -1
  156. package/dist/components/SelectionPanel/SelectionPanel.d.ts +6 -0
  157. package/dist/components/SelectionPanel/SelectionPanel.d.ts.map +1 -1
  158. package/dist/components/SelectionPanel/index.js +1 -1
  159. package/dist/components/SelectionPanel/model.d.ts +12 -0
  160. package/dist/components/SelectionPanel/model.d.ts.map +1 -1
  161. package/dist/components/Sidebar/Sidebar.d.ts +1 -0
  162. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -1
  163. package/dist/components/SidebarPanel/SidebarPanel.d.ts +1 -0
  164. package/dist/components/SidebarPanel/SidebarPanel.d.ts.map +1 -1
  165. package/dist/components/SidebarPanel/index.js +1 -1
  166. package/dist/components/Slider/Slider.d.ts +43 -2
  167. package/dist/components/Slider/Slider.d.ts.map +1 -1
  168. package/dist/components/Slider/index.js +1 -1
  169. package/dist/components/StatusBar/StatusBar.d.ts +2 -0
  170. package/dist/components/StatusBar/StatusBar.d.ts.map +1 -1
  171. package/dist/components/Switch/Switch.d.ts +11 -0
  172. package/dist/components/Switch/Switch.d.ts.map +1 -1
  173. package/dist/components/Tabs/Tabs.d.ts +11 -0
  174. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  175. package/dist/components/Toast/Toast.d.ts +2 -0
  176. package/dist/components/Toast/Toast.d.ts.map +1 -1
  177. package/dist/components/Toast/queue.d.ts +7 -0
  178. package/dist/components/Toast/queue.d.ts.map +1 -1
  179. package/dist/components/ToggleBar/ToggleBar.d.ts +16 -0
  180. package/dist/components/ToggleBar/ToggleBar.d.ts.map +1 -1
  181. package/dist/components/ToolButton/ToolButton.d.ts +1 -0
  182. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  183. package/dist/components/ToolButton/index.js +1 -1
  184. package/dist/components/ToolGroup/ToolGroup.d.ts +1 -0
  185. package/dist/components/ToolGroup/ToolGroup.d.ts.map +1 -1
  186. package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts +1 -0
  187. package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts.map +1 -1
  188. package/dist/components/ToolPalette/ToolPalette.d.ts +9 -0
  189. package/dist/components/ToolPalette/ToolPalette.d.ts.map +1 -1
  190. package/dist/components/ToolPalette/index.js +1 -1
  191. package/dist/components/Tooltip/Tooltip.d.ts +5 -0
  192. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  193. package/dist/components/Tooltip/index.js +1 -1
  194. package/dist/format/number.d.ts +4 -0
  195. package/dist/format/number.d.ts.map +1 -1
  196. package/dist/index.d.ts +1 -0
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js +24 -23
  199. package/dist/index.js.map +1 -1
  200. package/dist/paintGradientTrack.d.ts +13 -0
  201. package/dist/paintGradientTrack.d.ts.map +1 -1
  202. package/dist/style.css +1 -1
  203. package/dist/useReorderDragList.d.ts +23 -0
  204. package/dist/useReorderDragList.d.ts.map +1 -1
  205. package/dist/useRovingTabIndex.d.ts +5 -0
  206. package/dist/useRovingTabIndex.d.ts.map +1 -1
  207. package/package.json +2 -2
  208. package/dist/chunks/ActionBar-GThu74LC.js.map +0 -1
  209. package/dist/chunks/Callout-CFqG5xho.js.map +0 -1
  210. package/dist/chunks/ComboBox-DpxsFVBy.js.map +0 -1
  211. package/dist/chunks/CurveEditor-fRctbmoV.js.map +0 -1
  212. package/dist/chunks/DataGrid-BQklXGRl.js +0 -186
  213. package/dist/chunks/DataGrid-BQklXGRl.js.map +0 -1
  214. package/dist/chunks/Dialog-3FCd_gYi.js.map +0 -1
  215. package/dist/chunks/GradientEditor-BL5kg7a_.js.map +0 -1
  216. package/dist/chunks/PointPlotter-R8hguJPq.js.map +0 -1
  217. package/dist/chunks/Prefs-lgI4x4jF.js.map +0 -1
  218. package/dist/chunks/ResizeHandle-CCQ2y87y.js.map +0 -1
  219. package/dist/chunks/Select-BE3Y1NrH.js.map +0 -1
  220. package/dist/chunks/SelectionPanel-Zaw8tYQH.js.map +0 -1
  221. package/dist/chunks/SidebarPanel-BpD0ptyg.js.map +0 -1
  222. package/dist/chunks/Slider-Di2kNqVy.js +0 -221
  223. package/dist/chunks/Slider-Di2kNqVy.js.map +0 -1
  224. package/dist/chunks/ToolButton-DpT-mukU.js.map +0 -1
  225. package/dist/chunks/ToolPalette-DPn0owno.js.map +0 -1
  226. package/dist/chunks/Tooltip-Clgn4trm.js.map +0 -1
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- ._tooltip_1km1f_1{z-index:1200;background:var(--wzl-surface);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);color:var(--wzl-fg);font-family:var(--wzl-font-ui);max-width:260px;transition:opacity var(--wzl-motion-fast);padding:4px 8px;font-size:12px;line-height:1.3;box-shadow:0 4px 16px #00000059}._tooltip_1km1f_1[data-entering],._tooltip_1km1f_1[data-exiting]{opacity:0}._arrow_1km1f_22 svg{fill:var(--wzl-surface);stroke:var(--wzl-border);stroke-width:1px;display:block}._arrow_1km1f_22[data-placement=bottom] svg{transform:rotate(180deg)}._arrow_1km1f_22[data-placement=left] svg{transform:rotate(-90deg)}._arrow_1km1f_22[data-placement=right] svg{transform:rotate(90deg)}._bar_147qb_7{background:var(--wzl-surface);border:1px solid var(--wzl-border);-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:row;gap:1px;padding:2px;display:flex}._bar_147qb_7._vertical_147qb_18{flex-direction:column}._button_147qb_22{width:28px;height:28px;color:var(--wzl-fg);cursor:default;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;padding:0;display:inline-flex}._button_147qb_22:hover:not([disabled]){background:var(--wzl-border)}._button_147qb_22:active:not([disabled]){background:color-mix(in srgb, var(--wzl-border) 70%, transparent)}._button_147qb_22[disabled]{opacity:.4;cursor:default}._button_147qb_22>svg{display:block}._root_1hmjs_10{height:var(--wzl-tb-height,28px);-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#0000002e 0%,#0000000d 100%);border-radius:999px;padding:2px;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px 2px #0006,0 1px #ffffff0f}._segment_1hmjs_32{min-width:0;font-family:var(--wzl-font-ui);font-weight:300;font-size:var(--btn-fontsize,14px);color:var(--wzl-fg-muted);cursor:pointer;isolation:isolate;transition:color var(--wzl-motion-fast);background:0 0;border:none;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;margin:0;padding:0 12px;line-height:1;display:inline-flex;position:relative;overflow:hidden}._segment_1hmjs_32:first-child{border-radius:999px 0 0 999px}._segment_1hmjs_32:last-child{border-radius:0 999px 999px 0}._segment_1hmjs_32:only-child{border-radius:999px}._segment_1hmjs_32:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:-2px}._segment_1hmjs_32:disabled{opacity:.5;cursor:not-allowed}._segment_1hmjs_32:hover:not(:disabled):not(._segmentSelected_1hmjs_79){color:var(--wzl-fg)}._segmentSelected_1hmjs_79{background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-accent) var(--btn-top-alpha,45%), transparent) 0%, color-mix(in srgb, var(--wzl-accent) var(--btn-upper-alpha,70%), transparent) calc(var(--btn-equator,52%) - var(--btn-equator-spread,12%)), color-mix(in srgb, var(--wzl-accent) var(--btn-equator-tint,95%), white) var(--btn-equator,52%), var(--wzl-accent) calc(var(--btn-equator,52%) + var(--btn-equator-spread,12%) * 1.6), color-mix(in srgb, var(--wzl-accent) var(--btn-base-tint,70%), black) 100%);-webkit-backdrop-filter:blur(var(--btn-blur,6px)) saturate(var(--btn-saturate,1.3));color:var(--wzl-fg-on-accent);text-shadow:0 1px 0 rgba(0, 0, 0, var(--btn-text-shadow,.35)), var(--btn-text-inset-x,0px) var(--btn-text-inset-y,1px) 0 rgba(0, 0, 0, var(--btn-text-inset,.55)), 0 0 6px rgba(0, 0, 0, calc(var(--btn-text-shadow,.35) * .5));box-shadow:inset 0 1px 0 rgba(255, 255, 255, var(--btn-inset-hi,.42)), inset 0 -1px 2px rgba(0, 0, 0, var(--btn-inset-lo,.3)), 0 0 0 1px rgba(0, 0, 0, var(--btn-rim,.22)), 0 1px 2px rgba(0, 0, 0, var(--btn-drop-near,.3)), 0 2px 4px rgba(0, 0, 0, calc(var(--btn-drop-far,.18) * .8))}._segmentSelected_1hmjs_79:before{content:"";inset:1px 1px var(--btn-gloss-bottom,50%) 1px;border-radius:inherit;background:linear-gradient(180deg, rgba(255, 255, 255, var(--btn-gloss-top,.42)) 0%, rgba(255, 255, 255, var(--btn-gloss-mid,.12)) 60%, #fff0 100%);pointer-events:none;z-index:1;border-bottom-right-radius:0;border-bottom-left-radius:0;position:absolute}._segmentSelected_1hmjs_79>*{z-index:2;position:relative}._size_sm_1hmjs_137{height:17px;padding:1px}._size_sm_1hmjs_137 ._segment_1hmjs_32{padding:0 8px;font-size:11px}._variant_minimal_1hmjs_150{height:auto;box-shadow:none;background:0 0;border-radius:0;gap:2px;padding:0}._variant_minimal_1hmjs_150 ._segment_1hmjs_32{color:var(--wzl-fg-muted);border-radius:2px;padding:0 4px;font-size:11px;font-weight:400;line-height:1.4;transition:none}._variant_minimal_1hmjs_150 ._segment_1hmjs_32:first-child,._variant_minimal_1hmjs_150 ._segment_1hmjs_32:last-child,._variant_minimal_1hmjs_150 ._segment_1hmjs_32:only-child{border-radius:2px}._variant_minimal_1hmjs_150 ._segment_1hmjs_32:hover:not(:disabled):not(._segmentSelected_1hmjs_79){color:var(--wzl-fg);background:#ffffff0f}._variant_minimal_1hmjs_150 ._segmentSelected_1hmjs_79{-webkit-backdrop-filter:none;color:var(--wzl-accent-fg,var(--wzl-accent));text-shadow:none;box-shadow:none;background:0 0;font-weight:500}._variant_minimal_1hmjs_150 ._segmentSelected_1hmjs_79:before{content:none}._badge_16w4d_1{vertical-align:baseline;align-items:baseline;gap:var(--badge-gap,4px);font-size:var(--badge-font-size,10px);text-transform:uppercase;letter-spacing:.04em;color:var(--badge-fg,var(--wzl-fg-muted));--badge-edge:var(--wzl-border);--badge-fill:var(--wzl-surface);--badge-fg:var(--badge-edge);font:inherit;background:0 0;border:0;font-family:inherit;text-decoration:none;display:inline-flex;position:relative}._badge_16w4d_1 *{text-decoration:none}._badge_16w4d_1[data-size=md]{--badge-gap:6px;--badge-pad-x:10px;--badge-pad-y:3px;--badge-font-size:12px}._deco_16w4d_33{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}._deco_16w4d_33 .badge-fill{fill:var(--badge-fill);stroke:none}._deco_16w4d_33 .badge-stroke{fill:none;stroke:var(--badge-edge);stroke-width:var(--badge-stroke-width,1px);vector-effect:non-scaling-stroke}._deco_16w4d_33 .badge-focus{fill:none;stroke:var(--badge-edge);stroke-width:calc(var(--badge-stroke-width,1px) + 1px);vector-effect:non-scaling-stroke;opacity:.6}._deco_16w4d_33 .badge-bevel-light{fill:#ffffff38;stroke:none}._deco_16w4d_33 .badge-bevel-medium-light{fill:#ffffff1a;stroke:none}._deco_16w4d_33 .badge-bevel-medium-dark{fill:#00000029;stroke:none}._deco_16w4d_33 .badge-bevel-dark{fill:#00000052;stroke:none}._content_16w4d_49{align-items:baseline;gap:inherit;z-index:1;display:inline-flex;position:relative}._badge_16w4d_1[data-tone=accent]{--badge-edge:var(--wzl-accent-fg,var(--wzl-accent,#7fb069))}._badge_16w4d_1[data-tone=info]{--badge-edge:#7ab8d4}._badge_16w4d_1[data-tone=warn]{--badge-edge:#d4a574}._badge_16w4d_1[data-tone=danger]{--badge-edge:#c43c3c}._badge_16w4d_1[data-tone=muted]{--badge-edge:var(--wzl-fg-muted)}._badge_16w4d_1[data-tone=neutral]{--badge-edge:var(--wzl-border);--badge-fg:var(--wzl-fg-muted)}._badge_16w4d_1[data-variant=outline]{--badge-fill:var(--wzl-surface);--badge-fg:var(--badge-edge)}._badge_16w4d_1[data-variant=solid]{--badge-fill:var(--badge-edge);--badge-fg:#fff;font-weight:600}._badge_16w4d_1[data-variant=subtle]{--badge-fill:color-mix(in oklab, var(--badge-edge) 14%, transparent);--badge-fg:var(--badge-edge)}._badge_16w4d_1[data-tone=neutral]:not([data-variant=solid]){--badge-fg:var(--wzl-fg-muted)}._badge_16w4d_1{padding:calc(var(--badge-pad-y,1px) + var(--badge-inset-top,0px)) calc(var(--badge-pad-x,6px) + var(--badge-inset-right,0px)) calc(var(--badge-pad-y,1px) + var(--badge-inset-bottom,0px)) calc(var(--badge-pad-x,6px) + var(--badge-inset-left,0px))}._badge_16w4d_1[data-shape=pill]{box-sizing:border-box;-webkit-box-decoration-break:slice;box-decoration-break:slice;border-radius:9999px;display:inline}._badge_16w4d_1[data-shape=pill] ._content_16w4d_49,._badge_16w4d_1[data-shape=plain] ._content_16w4d_49{display:inline}._badge_16w4d_1[data-shape=pill][data-variant=solid],._badge_16w4d_1[data-shape=pill][data-variant=subtle]{background:var(--badge-fill)}._badge_16w4d_1[data-shape=pill]{border:var(--badge-stroke-width,1px) solid transparent}._badge_16w4d_1[data-shape=pill][data-variant=outline],._badge_16w4d_1[data-shape=pill][data-variant=solid]{border-color:var(--badge-edge)}._badge_16w4d_1[data-shape=pill][data-focused=true]{outline:2px solid color-mix(in oklab, var(--badge-edge) 60%, transparent);outline-offset:2px}._badge_16w4d_1[data-shape=plain]{letter-spacing:.04em;text-transform:none;color:var(--badge-fg);-webkit-box-decoration-break:slice;box-decoration-break:slice;background:0 0;padding:0;display:inline}._badge_16w4d_1[data-shape=plain][data-focused=true]{outline:2px solid color-mix(in oklab, var(--badge-edge) 60%, transparent);outline-offset:3px;border-radius:2px}._badge_16w4d_1[data-shape=plaque] ._content_16w4d_49{text-shadow:0 1px #ffffff24,0 -.5px #00000080}button._badge_16w4d_1,a._badge_16w4d_1{cursor:pointer;border:0 solid #0000;outline:0}button._badge_16w4d_1:hover,a._badge_16w4d_1:hover{--badge-edge:color-mix(in oklab, var(--badge-edge) 88%, white)}@media (prefers-reduced-motion:reduce){button._badge_16w4d_1:hover,a._badge_16w4d_1:hover{--badge-edge:var(--badge-edge)}}._remove_16w4d_161{width:14px;height:14px;color:var(--badge-fg);cursor:pointer;font:inherit;vertical-align:middle;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;padding:0;font-size:14px;line-height:1;display:inline-flex}._remove_16w4d_161:hover{background:color-mix(in oklab, var(--badge-fg) 20%, transparent)}._remove_16w4d_161>svg{display:block}._badge_16w4d_1[data-size=md] ._remove_16w4d_161{width:16px;height:16px;font-size:16px}._badge_16w4d_1[data-size=md] ._remove_16w4d_161>svg{width:12px;height:12px}._button_yji6d_3{--btn-radius:calc(var(--btn-height) * .1);--btn-fontweight:400;--btn-fontsize:14px;--btn-height:24px;--btn-padx:12px;--btn-top-alpha:45%;--btn-upper-alpha:70%;--btn-equator:52%;--btn-equator-spread:12%;--btn-equator-tint:95%;--btn-base-tint:70%;--btn-blur:6px;--btn-saturate:1.3;--btn-gloss-top:.42;--btn-gloss-mid:.12;--btn-gloss-bottom:50%;--btn-rim:.22;--btn-drop-near:.3;--btn-drop-far:.18;--btn-inset-hi:.42;--btn-inset-lo:.3;--btn-text-shadow:.35;--btn-text-inset:.55;--btn-text-inset-x:0px;--btn-text-inset-y:1px;border-radius:var(--btn-radius);font-family:var(--wzl-font-ui);font-weight:var(--btn-fontweight);font-style:normal;font-size:var(--btn-fontsize);height:var(--btn-height);padding:0 var(--btn-padx);cursor:pointer;-webkit-user-select:none;user-select:none;isolation:isolate;transition:filter var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast), transform 80ms;border:none;justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex;position:relative;overflow:hidden}._button_yji6d_3:before{content:"";inset:1px 1px var(--btn-gloss-bottom) 1px;border-top-left-radius:var(--btn-radius);border-top-right-radius:var(--btn-radius);background:linear-gradient(180deg, rgba(255, 255, 255, var(--btn-gloss-top)) 0%, rgba(255, 255, 255, var(--btn-gloss-mid)) 60%, #fff0 100%);pointer-events:none;z-index:1;transition:opacity var(--wzl-motion-fast);border-bottom-right-radius:0;border-bottom-left-radius:0;position:absolute}._button_yji6d_3>*{z-index:2;position:relative}._button_yji6d_3:focus-visible{outline:2px solid var(--wzl-focus-ring);outline-offset:1px}._button_yji6d_3:disabled{opacity:.5;cursor:not-allowed}._size_sm_yji6d_110{--btn-height:20px;--btn-padx:8px;--btn-fontsize:13px}._size_md_yji6d_111{--btn-height:24px;--btn-padx:12px;--btn-fontsize:14px}._iconOnly_yji6d_113._size_sm_yji6d_110{--btn-padx:0;width:20px}._iconOnly_yji6d_113._size_md_yji6d_111{--btn-padx:0;width:24px}._variant_primary_yji6d_121{background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-accent) var(--btn-top-alpha), transparent) 0%, color-mix(in srgb, var(--wzl-accent) var(--btn-upper-alpha), transparent) calc(var(--btn-equator) - var(--btn-equator-spread)), color-mix(in srgb, var(--wzl-accent) var(--btn-equator-tint), white) var(--btn-equator), var(--wzl-accent) calc(var(--btn-equator) + var(--btn-equator-spread) * 1.6), color-mix(in srgb, var(--wzl-accent) var(--btn-base-tint), black) 100%);-webkit-backdrop-filter:blur(var(--btn-blur)) saturate(var(--btn-saturate));color:var(--wzl-fg-on-accent);text-shadow:0 1px 0 rgba(0, 0, 0, var(--btn-text-shadow)), var(--btn-text-inset-x) var(--btn-text-inset-y) 0 rgba(0, 0, 0, var(--btn-text-inset)), 0 0 6px rgba(0, 0, 0, calc(var(--btn-text-shadow) * .5));box-shadow:inset 0 1px 0 rgba(255, 255, 255, var(--btn-inset-hi)), inset 0 -1px 2px rgba(0, 0, 0, var(--btn-inset-lo)), 0 0 0 1px rgba(0, 0, 0, var(--btn-rim)), 0 1px 2px rgba(0, 0, 0, var(--btn-drop-near)), 0 3px 6px rgba(0, 0, 0, var(--btn-drop-far))}._variant_primary_yji6d_121:hover:not(:disabled){filter:brightness(1.08)saturate(1.06)}._variant_primary_yji6d_121:active:not(:disabled){background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-accent) 80%, black) 0%, color-mix(in srgb, var(--wzl-accent) 95%, black) 50%, color-mix(in srgb, var(--wzl-accent) 60%, white) 100%);box-shadow:inset 0 2px 4px #00000059, inset 0 -1px 0 #ffffff40, 0 0 0 1px rgba(0, 0, 0, calc(var(--btn-rim) + .06));transform:translateY(.5px)}._variant_primary_yji6d_121:active:before{opacity:.3}._variant_secondary_yji6d_168{background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-fg) 25%, transparent) 0%, color-mix(in srgb, var(--wzl-fg) 10%, transparent) calc(var(--btn-equator) - var(--btn-equator-spread)), color-mix(in srgb, var(--wzl-surface-raised) 90%, white) var(--btn-equator), var(--wzl-surface-raised) calc(var(--btn-equator) + var(--btn-equator-spread) * 1.6), color-mix(in srgb, var(--wzl-surface-sunken) 80%, black) 100%);-webkit-backdrop-filter:blur(var(--btn-blur)) saturate(var(--btn-saturate));color:var(--wzl-fg);text-shadow:0 1px 0 rgba(0, 0, 0, calc(var(--btn-text-shadow) * .7)), var(--btn-text-inset-x) var(--btn-text-inset-y) 0 rgba(0, 0, 0, calc(var(--btn-text-inset) * .7));box-shadow:inset 0 1px 0 rgba(255, 255, 255, calc(var(--btn-inset-hi) * .5)), inset 0 -1px 2px rgba(0, 0, 0, calc(var(--btn-inset-lo) * .83)), 0 0 0 1px rgba(0, 0, 0, calc(var(--btn-rim) + .03)), 0 1px 2px rgba(0, 0, 0, calc(var(--btn-drop-near) * .93)), 0 3px 6px rgba(0, 0, 0, calc(var(--btn-drop-far) * .89))}._variant_secondary_yji6d_168:hover:not(:disabled){filter:brightness(1.1)}._variant_secondary_yji6d_168:active:not(:disabled){background:linear-gradient(180deg, var(--wzl-surface-sunken) 0%, var(--wzl-surface-raised) 100%);transform:translateY(.5px);box-shadow:inset 0 2px 4px #0006,0 0 0 1px #0000004d}._variant_secondary_yji6d_168:active:before{opacity:.2}._variant_ghost_yji6d_203{color:var(--wzl-fg);box-shadow:none;background:0 0}._variant_ghost_yji6d_203:before{display:none}._variant_ghost_yji6d_203:hover:not(:disabled){background:color-mix(in srgb, var(--wzl-fg) 10%, transparent)}._variant_ghost_yji6d_203:active:not(:disabled){background:color-mix(in srgb, var(--wzl-fg) 18%, transparent)}._fullWidth_yji6d_220{width:100%}._loading_yji6d_221 ._label_yji6d_221{opacity:.7}._iconSlot_yji6d_225{flex:none;justify-content:center;align-items:center;display:inline-flex}._size_sm_yji6d_110 ._iconSlot_yji6d_225>svg{width:12px;height:12px}._size_md_yji6d_111 ._iconSlot_yji6d_225>svg{width:14px;height:14px}._label_yji6d_221{display:inline-block}._spinner_yji6d_239{justify-content:center;align-items:center;animation:.7s linear infinite _wzl-btn-spin_yji6d_1;display:inline-flex}@keyframes _wzl-btn-spin_yji6d_1{to{transform:rotate(360deg)}}._anchor_18o4b_1{pointer-events:none;position:fixed}._popover_18o4b_6{z-index:1200;--callout-accent:var(--wzl-accent-strong);background:var(--wzl-surface);border:1px solid var(--callout-accent);border-radius:var(--wzl-radius-md);color:var(--wzl-fg);font-family:var(--wzl-font-ui);max-width:320px;transition:opacity var(--wzl-motion-fast);box-shadow:0 12px 40px #0006}._popover_18o4b_6[data-entering],._popover_18o4b_6[data-exiting]{opacity:0}._toneWarning_18o4b_25{--callout-accent:var(--wzl-warning,#d99a3f)}._toneDanger_18o4b_29{--callout-accent:var(--wzl-danger,#d94a3f)}._arrow_18o4b_33 svg{fill:var(--wzl-surface);stroke:var(--callout-accent);stroke-width:1px;display:block}._arrow_18o4b_33[data-placement=bottom] svg{transform:rotate(180deg)}._arrow_18o4b_33[data-placement=left] svg{transform:rotate(-90deg)}._arrow_18o4b_33[data-placement=right] svg{transform:rotate(90deg)}._dialog_18o4b_52{max-height:inherit;outline:none;flex-direction:column;display:flex}._header_18o4b_59{align-items:center;gap:8px;padding:10px 12px 0;display:flex}._title_18o4b_66{flex:1;margin:0;font-size:13px;font-weight:600}._close_18o4b_73{color:var(--wzl-fg-muted);cursor:pointer;border-radius:var(--wzl-radius-sm);background:0 0;border:none;flex:none;padding:2px 4px;font-size:16px;line-height:1}._close_18o4b_73:hover{color:var(--wzl-fg)}._body_18o4b_89{padding:8px 12px 10px;font-size:13px;line-height:1.4;overflow-y:auto}._footer_18o4b_96{justify-content:flex-end;gap:8px;padding:0 12px 10px;display:flex}._checkbox_18mi9_1{cursor:pointer;font-family:var(--wzl-font-ui);color:var(--wzl-fg);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}._checkbox_18mi9_1[data-disabled]{opacity:.5;cursor:not-allowed}._box_18mi9_18{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border-strong);border-radius:var(--wzl-radius-sm);width:14px;height:14px;transition:background-color var(--wzl-motion-fast), border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);flex:none;position:relative}._checkbox_18mi9_1[data-focus-visible] ._box_18mi9_18{box-shadow:0 0 0 2px var(--wzl-focus-ring)}._checkbox_18mi9_1[data-hovered]:not([data-disabled]) ._box_18mi9_18{border-color:var(--wzl-fg-muted)}._checkbox_18mi9_1[data-selected] ._box_18mi9_18,._checkbox_18mi9_1[data-indeterminate] ._box_18mi9_18{background:var(--wzl-accent-strong);border-color:var(--wzl-accent-strong)}._checkbox_18mi9_1[data-invalid] ._box_18mi9_18{border-color:var(--wzl-danger,#ff5b5b)}._checkmark_18mi9_47{color:var(--wzl-fg-on-accent);opacity:0;pointer-events:none;position:absolute;inset:0}._checkbox_18mi9_1[data-selected] ._checkmark_18mi9_47,._checkbox_18mi9_1[data-indeterminate] ._checkmark_18mi9_47{opacity:1}._label_18mi9_60{line-height:1.2}._root_r50jb_1{align-items:center;gap:6px;display:inline-flex}._chip_r50jb_7{border-radius:4px;display:inline-flex;position:relative;overflow:hidden}._color_r50jb_14{border:1px solid var(--wzl-border,#444);cursor:pointer;background:0 0;border-radius:4px;block-size:20px;inline-size:28px;padding:0}._root_r50jb_1[data-mixed] ._chip_r50jb_7:after{content:"";pointer-events:none;background:repeating-conic-gradient(var(--wzl-border,#666) 0% 25%, var(--wzl-surface,#2e2f36) 0% 50%) 50% / 8px 8px;border-radius:3px;position:absolute;inset:1px}._alphaRange_r50jb_39{min-inline-size:48px;accent-color:var(--wzl-accent,#7ab8d4);flex:1}._alphaRange_r50jb_39:disabled{opacity:.45}._alphaReadout_r50jb_49{text-align:end;opacity:.7;min-inline-size:3ch;font-size:11px}._field_aqiak_1{font-family:var(--wzl-font-ui);color:var(--wzl-fg);flex-direction:column;gap:4px;display:flex}._label_aqiak_9{color:var(--wzl-fg);cursor:default;font-size:12px;font-weight:500}._hint_aqiak_16{color:var(--wzl-fg-subtle);font-size:11px;line-height:1.4}._error_aqiak_22{color:var(--wzl-danger,#ff5b5b);font-size:11px;line-height:1.4}._row_aqiak_28{flex-direction:row;align-items:center;gap:8px}._row_aqiak_28 ._label_aqiak_9{flex:1;min-width:0}._field_7wlzm_1{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}._frame_7wlzm_9{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);height:24px;color:var(--wzl-fg);font-family:var(--wzl-font-ui);transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);align-items:stretch;font-size:13px;line-height:1;display:flex;overflow:hidden}._frame_7wlzm_9:focus-within{border-color:var(--wzl-focus-ring);box-shadow:0 0 0 1px var(--wzl-focus-ring)}._field_7wlzm_1[data-invalid] ._frame_7wlzm_9{border-color:var(--wzl-danger,#ff5b5b)}._field_7wlzm_1[data-disabled] ._frame_7wlzm_9{opacity:.5;cursor:not-allowed}._frame_7wlzm_9 input{min-width:0;color:inherit;font:inherit;background:0 0;border:none;outline:none;flex:1;padding:0 8px}._frame_7wlzm_9 input::placeholder{color:var(--wzl-fg-subtle)}._openButton_7wlzm_53{border:none;border-left:1px solid var(--wzl-border);width:22px;color:var(--wzl-fg-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}._openButton_7wlzm_53[data-hovered]:not([data-disabled]){color:var(--wzl-fg)}._openButton_7wlzm_53 svg{width:10px;height:10px}._popover_7wlzm_75{min-width:var(--trigger-width);outline:none}._listbox_7wlzm_80{background:var(--wzl-surface-raised);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-md);max-height:280px;font-family:var(--wzl-font-ui);outline:none;padding:4px;font-size:13px;overflow:auto;box-shadow:0 8px 24px #0000004d}._option_7wlzm_93{cursor:pointer;color:var(--wzl-fg);border-radius:3px;outline:none;align-items:center;padding:4px 8px;display:flex}._option_7wlzm_93[data-focused]{background:color-mix(in srgb, var(--wzl-fg) 10%, transparent)}._option_7wlzm_93[data-selected]{font-weight:500}._option_7wlzm_93[data-disabled]{opacity:.4;cursor:not-allowed}._empty_7wlzm_116{color:var(--wzl-fg-subtle);padding:6px 8px;font-size:12px}._root_1djm7_1{--plot-bg:var(--wzl-surface-sunken);--plot-grid:var(--wzl-line);--plot-axis:var(--wzl-fg);background:var(--plot-bg);-webkit-user-select:none;user-select:none;touch-action:none;outline:none;display:block;overflow:visible}._root_1djm7_1:focus-visible{outline:2px solid var(--wzl-focus-ring);outline-offset:2px}._grid_1djm7_28{stroke:var(--plot-grid);stroke-width:1px;fill:none}._axis_1djm7_34{stroke:var(--plot-axis);stroke-width:var(--wzl-line-width);fill:none}._root_ybpym_1{--curve-line:var(--wzl-curve-color);--curve-line-width:var(--wzl-curve-width);--curve-fill:color-mix(in srgb, var(--curve-line) 30%, transparent);--curve-anchor-fill:var(--wzl-surface);--curve-anchor-stroke:var(--curve-line);--curve-anchor-radius:4;--curve-anchor-active-fill:var(--curve-line);--curve-pinned-fill:var(--wzl-fg-subtle)}._fill_ybpym_19{fill:var(--curve-fill);stroke:none;pointer-events:none}._curve_ybpym_25{stroke:var(--curve-line);stroke-width:var(--curve-line-width);fill:none;pointer-events:stroke}._anchor_ybpym_32{fill:var(--curve-anchor-fill);stroke:var(--curve-anchor-stroke);stroke-width:1.5px;cursor:grab}._anchor_ybpym_32:hover{fill:var(--curve-anchor-active-fill)}._anchor_ybpym_32._active_ybpym_43{fill:var(--curve-anchor-active-fill);cursor:grabbing}._anchor_ybpym_32._pinned_ybpym_48{fill:var(--curve-pinned-fill);cursor:default}._anchor_ybpym_32._locked_ybpym_55{cursor:not-allowed}._hidden_ybpym_71{display:none}._grid_wvlvv_1{width:100%;position:relative}._table_wvlvv_6{border-collapse:collapse;width:100%;font-size:11px}._table_wvlvv_6 th,._table_wvlvv_6 td{text-align:left;vertical-align:middle;padding:3px 6px}._table_wvlvv_6 tbody tr{border-bottom:1px solid #ffffff0a}._table_wvlvv_6 th{color:var(--wzl-fg-muted);background:var(--wzl-surface,#2a2018);z-index:1;border-bottom:1px solid var(--wzl-border);font-weight:600;position:sticky;top:0}._sortable_wvlvv_34{cursor:pointer;-webkit-user-select:none;user-select:none}._sortable_wvlvv_34:hover,._sortActive_wvlvv_39{color:var(--wzl-fg,#e6e7e9)}._empty_wvlvv_41{color:var(--wzl-fg-muted);text-align:center;padding:8px 0;font-style:italic}._handleCol_wvlvv_49{width:14px}._handleCell_wvlvv_50{cursor:grab;width:14px;color:var(--wzl-fg-muted);-webkit-user-select:none;user-select:none;text-align:center}._handleCell_wvlvv_50:active{cursor:grabbing}._dragging_wvlvv_59{opacity:.4}._dropIndicator_wvlvv_61{background:var(--wzl-accent,#7fb069);pointer-events:none;height:2px;position:absolute;left:0;right:0}._overlay_13xy9_1{z-index:1000;opacity:0;transition:opacity var(--wzl-motion-fast);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._overlay_13xy9_1[data-entering]{opacity:0}._overlay_13xy9_1[data-entering][data-rac]{opacity:1}._overlay_13xy9_1[data-exiting]{opacity:0}._overlay_13xy9_1[data-rac]:not([data-entering]):not([data-exiting]){opacity:1}._modal_13xy9_29{background:var(--wzl-surface);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-md);color:var(--wzl-fg);font-family:var(--wzl-font-ui);outline:none;flex-direction:column;max-width:min(900px,100vw - 32px);max-height:calc(100vh - 32px);display:flex;box-shadow:0 24px 64px #00000073}._dialog_13xy9_43{outline:none;flex-direction:column;flex:1;min-height:0;display:flex}._header_13xy9_51{border-bottom:1px solid var(--wzl-border);flex:none;align-items:center;gap:12px;padding:14px 16px;display:flex}._title_13xy9_60{color:var(--wzl-fg);flex:1;margin:0;font-size:14px;font-weight:600}._close_13xy9_68{border-radius:var(--wzl-radius-sm);width:22px;height:22px;color:var(--wzl-fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}._close_13xy9_68:hover{background:color-mix(in srgb, var(--wzl-fg) 10%, transparent);color:var(--wzl-fg)}._body_13xy9_90{flex:1;min-height:0;padding:16px;overflow:auto}._footer_13xy9_97{border-top:1px solid var(--wzl-border);flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}._root_q2asl_1{-webkit-user-select:none;user-select:none;touch-action:none;position:relative}._row_q2asl_8{align-items:center;gap:8px;display:flex}._track_q2asl_14{min-width:0;height:var(--rp-track-height,24px);background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);cursor:crosshair;border-radius:3px;flex:1;position:relative}._trackInner_q2asl_25{border-radius:3px;position:absolute;inset:0;overflow:hidden}._thumb_q2asl_35{background:color-mix(in srgb, var(--wzl-fg-muted) 70%, transparent);border:1px solid var(--wzl-border-strong);cursor:ew-resize;-webkit-backdrop-filter:blur(3px);font-variant-numeric:tabular-nums;width:14px;color:var(--wzl-fg-inverse);text-shadow:0 0 2px #ffffffb3;border-radius:3px;justify-content:center;align-items:center;margin-left:-7px;font:500 .65rem/1 ui-sans-serif,system-ui,sans-serif;display:flex;position:absolute;top:-2px;bottom:-2px;box-shadow:0 1px 2px #0003}._thumb_q2asl_35:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:1px}._thumbActive_q2asl_74{z-index:1}._readoutsBelow_q2asl_79{height:14px;margin-top:4px;position:relative}._readoutBelow_q2asl_85{color:var(--wzl-fg-muted);white-space:nowrap;font:500 .65rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:absolute;transform:translate(-50%)}._readoutInline_q2asl_93{color:var(--wzl-fg-muted);vertical-align:middle;margin-left:8px;font:500 .7rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-block}._notched_q2asl_101{background:var(--thumb-svg,none);-webkit-backdrop-filter:none;box-shadow:none;filter:drop-shadow(0 1px 1px #00000040);--thumb-svg:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 30' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 2.52,0 7,10.3 11.48,0 14,0 14,30 0,30' fill='rgba(255,255,255,0.62)' stroke='rgba(0,0,0,0.55)' stroke-width='0.75' stroke-linejoin='miter'/%3E%3C/svg%3E");background-color:#0000;background-repeat:no-repeat;background-size:100% 100%;border:none}._root_1pyfg_6{height:var(--wzl-tb-height,28px);-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#0000002e 0%,#0000000d 100%);border-radius:999px;padding:2px;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px 2px #0006,0 1px #ffffff0f}._segment_1pyfg_28{min-width:0;font-family:var(--wzl-font-ui);font-weight:300;font-size:var(--btn-fontsize,14px);color:var(--wzl-fg-muted);cursor:pointer;isolation:isolate;transition:color var(--wzl-motion-fast);background:0 0;border:none;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;margin:0;padding:0 12px;line-height:1;display:inline-flex;position:relative;overflow:hidden}._segment_1pyfg_28:first-child{border-radius:999px 0 0 999px}._segment_1pyfg_28:last-child{border-radius:0 999px 999px 0}._segment_1pyfg_28:only-child{border-radius:999px}._segment_1pyfg_28:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:-2px}._segment_1pyfg_28:disabled{opacity:.5;cursor:not-allowed}._segment_1pyfg_28:hover:not(:disabled):not(._segmentSelected_1pyfg_75){color:var(--wzl-fg)}._segmentSelected_1pyfg_75{background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-accent) var(--btn-top-alpha,45%), transparent) 0%, color-mix(in srgb, var(--wzl-accent) var(--btn-upper-alpha,70%), transparent) calc(var(--btn-equator,52%) - var(--btn-equator-spread,12%)), color-mix(in srgb, var(--wzl-accent) var(--btn-equator-tint,95%), white) var(--btn-equator,52%), var(--wzl-accent) calc(var(--btn-equator,52%) + var(--btn-equator-spread,12%) * 1.6), color-mix(in srgb, var(--wzl-accent) var(--btn-base-tint,70%), black) 100%);-webkit-backdrop-filter:blur(var(--btn-blur,6px)) saturate(var(--btn-saturate,1.3));color:var(--wzl-fg-on-accent);text-shadow:0 1px 0 rgba(0, 0, 0, var(--btn-text-shadow,.35)), var(--btn-text-inset-x,0px) var(--btn-text-inset-y,1px) 0 rgba(0, 0, 0, var(--btn-text-inset,.55)), 0 0 6px rgba(0, 0, 0, calc(var(--btn-text-shadow,.35) * .5));box-shadow:inset 0 1px 0 rgba(255, 255, 255, var(--btn-inset-hi,.42)), inset 0 -1px 2px rgba(0, 0, 0, var(--btn-inset-lo,.3)), 0 0 0 1px rgba(0, 0, 0, var(--btn-rim,.22)), 0 1px 2px rgba(0, 0, 0, var(--btn-drop-near,.3)), 0 2px 4px rgba(0, 0, 0, calc(var(--btn-drop-far,.18) * .8))}._segmentSelected_1pyfg_75:before{content:"";inset:1px 1px var(--btn-gloss-bottom,50%) 1px;border-radius:inherit;background:linear-gradient(180deg, rgba(255, 255, 255, var(--btn-gloss-top,.42)) 0%, rgba(255, 255, 255, var(--btn-gloss-mid,.12)) 60%, #fff0 100%);pointer-events:none;z-index:1;border-bottom-right-radius:0;border-bottom-left-radius:0;position:absolute}._segmentSelected_1pyfg_75>*{z-index:2;position:relative}._segmentMixed_1pyfg_134{background:color-mix(in srgb, var(--wzl-accent) 22%, transparent);color:var(--wzl-fg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wzl-accent) 45%, transparent)}._segmentMixed_1pyfg_134:hover:not(:disabled){background:color-mix(in srgb, var(--wzl-accent) 32%, transparent)}._variant_minimal_1pyfg_144 ._segmentMixed_1pyfg_134{background:color-mix(in srgb, var(--wzl-accent) 18%, transparent);box-shadow:none;color:var(--wzl-fg)}._size_sm_1pyfg_153{height:17px;padding:1px}._size_sm_1pyfg_153 ._segment_1pyfg_28{padding:0 8px;font-size:11px}._variant_minimal_1pyfg_144{border:1px solid var(--wzl-border,#ffffff2e);height:auto;box-shadow:none;background:0 0;border-radius:3px;gap:0;padding:0}._variant_minimal_1pyfg_144 ._segment_1pyfg_28{color:var(--wzl-fg-muted);border-radius:0;padding:0 6px;font-size:11px;font-weight:400;line-height:1.4;transition:none}._variant_minimal_1pyfg_144 ._segment_1pyfg_28+._segment_1pyfg_28{border-left:1px solid var(--wzl-border,#ffffff2e)}._variant_minimal_1pyfg_144 ._segment_1pyfg_28:first-child,._variant_minimal_1pyfg_144 ._segment_1pyfg_28:last-child,._variant_minimal_1pyfg_144 ._segment_1pyfg_28:only-child{border-radius:0}._variant_minimal_1pyfg_144 ._segment_1pyfg_28:hover:not(:disabled):not(._segmentSelected_1pyfg_75){color:var(--wzl-fg);background:#ffffff0f}._variant_minimal_1pyfg_144 ._segmentSelected_1pyfg_75{-webkit-backdrop-filter:none;color:var(--wzl-accent-fg,var(--wzl-accent));text-shadow:none;box-shadow:none;background:0 0;font-weight:500}._variant_minimal_1pyfg_144 ._segmentSelected_1pyfg_75:before{content:none}._root_15yko_1{flex-direction:column;gap:8px;min-inline-size:0;display:flex}._swatches_15yko_8{flex-wrap:wrap;gap:6px;display:flex}._swatch_15yko_8{flex:0 auto;min-inline-size:0}._overlay_6yu3h_3{pointer-events:none;position:absolute;inset:0}._guide_6yu3h_13{fill:none;stroke:#fff;stroke-opacity:.7;stroke-dasharray:4 4;paint-order:stroke}._handle_6yu3h_21{fill:#fff;stroke:#222;stroke-width:2px;cursor:grab;pointer-events:auto}._handle_6yu3h_21:active{cursor:grabbing}._handle_6yu3h_21:focus-visible{outline:2px solid var(--wzl-accent,#4a9eff);outline-offset:2px}._field_cahom_1{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}._frame_cahom_9{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);height:24px;color:var(--wzl-fg);font-family:var(--wzl-font-ui);transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);align-items:center;gap:6px;padding:0 8px;font-size:13px;line-height:1;display:flex}._frame_cahom_9:focus-within{border-color:var(--wzl-focus-ring);box-shadow:0 0 0 1px var(--wzl-focus-ring)}._field_cahom_1[data-invalid] ._frame_cahom_9{border-color:var(--wzl-danger,#ff5b5b)}._field_cahom_1[data-disabled] ._frame_cahom_9{opacity:.5;cursor:not-allowed}._frame_cahom_9 input{min-width:0;color:inherit;font:inherit;background:0 0;border:none;outline:none;flex:1;padding:0}._frame_cahom_9 input::placeholder{color:var(--wzl-fg-subtle)}._adornment_cahom_54{color:var(--wzl-fg-subtle);pointer-events:none;align-items:center;font-size:12px;display:inline-flex}._keys_n4bkk_2{vertical-align:bottom;flex-wrap:wrap;align-items:flex-end;gap:3px;display:inline-flex}._keysEmpty_n4bkk_16{color:var(--wzl-fg-muted)}._sep_n4bkk_20{color:var(--wzl-fg-muted);font-size:11px;line-height:1}._key_n4bkk_2{box-sizing:border-box;background:var(--wzl-fg,#e6e7e9);height:18px;color:var(--wzl-surface);border:1px solid #25272c;border-bottom-width:2px;border-radius:3px;justify-content:center;align-items:center;padding:0 4px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;line-height:1;display:inline-flex}._key_n4bkk_2[data-kind=square]{width:18px;padding:0}._key_n4bkk_2[data-kind=modifier]{min-width:26px;padding:0 6px}._key_n4bkk_2[data-kind=wide]{min-width:32px;padding:0 8px}._key_n4bkk_2[data-inverted]{background:var(--wzl-surface);color:color-mix(in srgb, var(--wzl-fg,#e6e7e9) 60%, transparent);border-style:dotted;border-color:color-mix(in srgb, var(--wzl-fg,#e6e7e9) 40%, transparent);border-width:1.5px}._key_n4bkk_2[data-variant=minimal]{color:currentColor;background:0 0;border-color:currentColor}._key_n4bkk_2[data-variant=minimal][data-inverted]{color:currentColor;border:1.5px dotted}._field_e75yx_1{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}._frame_e75yx_9{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);height:24px;color:var(--wzl-fg);font-family:var(--wzl-font-ui);transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);align-items:stretch;font-size:13px;line-height:1;display:flex;overflow:hidden}._frame_e75yx_9:focus-within{border-color:var(--wzl-focus-ring);box-shadow:0 0 0 1px var(--wzl-focus-ring)}._field_e75yx_1[data-invalid] ._frame_e75yx_9{border-color:var(--wzl-danger,#ff5b5b)}._field_e75yx_1[data-disabled] ._frame_e75yx_9{opacity:.5;cursor:not-allowed}._frame_e75yx_9 input{min-width:0;color:inherit;font:inherit;text-align:right;-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1;padding:0 8px}._frame_e75yx_9 input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}._frame_e75yx_9 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}._steppers_e75yx_57{border-left:1px solid var(--wzl-border);flex-direction:column;display:flex}._stepper_e75yx_57{width:18px;color:var(--wzl-fg-muted);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0;font-size:9px;line-height:1;display:inline-flex}._stepper_e75yx_57:not(:last-child){border-bottom:1px solid var(--wzl-border)}._stepper_e75yx_57[data-hovered]:not([data-disabled]){background:color-mix(in srgb, var(--wzl-fg) 10%, transparent);color:var(--wzl-fg)}._stepper_e75yx_57[data-pressed]:not([data-disabled]){background:color-mix(in srgb, var(--wzl-fg) 18%, transparent)}._stepper_e75yx_57[data-disabled]{opacity:.4;cursor:not-allowed}._row_q3wun_1{align-items:stretch;gap:var(--powerline-gap,.2em);display:inline-flex}._matrix_q3wun_7{gap:12px;display:grid}._segment_q3wun_15{font-size:inherit;text-transform:none;letter-spacing:normal}._group_kaubu_1{font-family:var(--wzl-font-ui);color:var(--wzl-fg);flex-direction:column;gap:6px;display:flex}._group_kaubu_1[data-orientation=horizontal]{flex-direction:row;gap:16px}._legend_kaubu_14{color:var(--wzl-fg);font-size:12px;font-weight:500}._radio_kaubu_20{cursor:pointer;color:var(--wzl-fg);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}._radio_kaubu_20[data-disabled]{opacity:.5;cursor:not-allowed}._dot_kaubu_36{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border-strong);width:14px;height:14px;transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);border-radius:50%;flex:none;position:relative}._radio_kaubu_20[data-focus-visible] ._dot_kaubu_36{box-shadow:0 0 0 2px var(--wzl-focus-ring)}._radio_kaubu_20[data-hovered]:not([data-disabled]) ._dot_kaubu_36{border-color:var(--wzl-fg-muted)}._radio_kaubu_20[data-selected] ._dot_kaubu_36{border-color:var(--wzl-accent-strong)}._dot_kaubu_36:after{content:"";background:var(--wzl-accent-strong);transition:transform var(--wzl-motion-fast);border-radius:50%;position:absolute;inset:3px;transform:scale(0)}._radio_kaubu_20[data-selected] ._dot_kaubu_36:after{transform:scale(1)}._slider_1644w_1{width:100%;font-family:var(--wzl-font-ui);color:var(--wzl-fg);flex-direction:column;gap:4px;display:flex}._slider_1644w_1[data-orientation=vertical]{flex-direction:row;align-items:stretch;width:28px;height:160px}._head_1644w_17{justify-content:space-between;align-items:baseline;gap:8px;display:flex}._label_1644w_24{color:var(--wzl-fg);font-size:12px;font-weight:500}._output_1644w_30{color:var(--wzl-fg-subtle);font-variant-numeric:tabular-nums;font-size:12px}._track_1644w_36{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:3px;min-width:80px;height:6px;position:relative}._slider_1644w_1[data-orientation=vertical] ._track_1644w_36{width:6px;height:100%}._fill_1644w_50{background:var(--wzl-accent-strong);border-radius:3px;position:absolute;top:0;bottom:0;left:0}._thumb_1644w_59{background:var(--wzl-fg-muted);border:1px solid var(--wzl-border-strong);cursor:ew-resize;width:14px;height:14px;transition:box-shadow var(--wzl-motion-fast);border-radius:50%;outline:none}._slider_1644w_1[data-orientation=vertical] ._thumb_1644w_59{cursor:ns-resize}._thumb_1644w_59[data-focus-visible]{box-shadow:0 0 0 2px var(--wzl-focus-ring)}._thumb_1644w_59[data-dragging]{background:var(--wzl-accent-strong)}._slider_1644w_1[data-disabled]{opacity:.5;cursor:not-allowed}._field_nq1le_1{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}._trigger_nq1le_9{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);width:100%;height:24px;color:var(--wzl-fg);font-family:var(--wzl-font-ui);cursor:pointer;transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);align-items:center;gap:6px;padding:0 6px 0 10px;font-size:13px;line-height:1;display:flex}._trigger_nq1le_9[data-focus-visible]{border-color:var(--wzl-focus-ring);box-shadow:0 0 0 1px var(--wzl-focus-ring)}._field_nq1le_1[data-invalid] ._trigger_nq1le_9{border-color:var(--wzl-danger,#ff5b5b)}._trigger_nq1le_9[data-disabled]{opacity:.5;cursor:not-allowed}._value_nq1le_41{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}._value_nq1le_41[data-placeholder]{color:var(--wzl-fg-subtle)}._chevron_nq1le_54{width:10px;height:10px;color:var(--wzl-fg-muted);flex:none}._popover_nq1le_61{min-width:var(--trigger-width);max-height:inherit;outline:none}._listbox_nq1le_67{background:var(--wzl-surface-raised);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-md);max-height:280px;font-family:var(--wzl-font-ui);outline:none;padding:4px;font-size:13px;overflow:auto;box-shadow:0 8px 24px #0000004d}._option_nq1le_80{cursor:pointer;color:var(--wzl-fg);border-radius:3px;outline:none;align-items:center;gap:8px;padding:4px 8px;display:flex}._option_nq1le_80[data-focused]{background:color-mix(in srgb, var(--wzl-fg) 10%, transparent)}._option_nq1le_80[data-selected]{color:var(--wzl-fg);font-weight:500}._option_nq1le_80[data-disabled]{opacity:.4;cursor:not-allowed}._check_nq1le_105{opacity:0;flex:none;width:10px;height:10px}._option_nq1le_80[data-selected] ._check_nq1le_105{opacity:1}._switch_qsj3o_1{cursor:pointer;font-family:var(--wzl-font-ui);color:var(--wzl-fg);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}._switch_qsj3o_1[data-disabled]{opacity:.5;cursor:not-allowed}._track_qsj3o_18{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border-strong);width:28px;height:16px;transition:background-color var(--wzl-motion-fast), border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);border-radius:8px;flex:none;position:relative}._switch_qsj3o_1[data-focus-visible] ._track_qsj3o_18{box-shadow:0 0 0 2px var(--wzl-focus-ring)}._switch_qsj3o_1[data-selected] ._track_qsj3o_18{background:var(--wzl-accent-strong);border-color:var(--wzl-accent-strong)}._thumb_qsj3o_38{background:var(--wzl-fg);width:12px;height:12px;transition:transform var(--wzl-motion-fast);border-radius:50%;position:absolute;top:1px;left:1px}._switch_qsj3o_1[data-selected] ._thumb_qsj3o_38{background:var(--wzl-fg-on-accent);transform:translate(12px)}._label_qsj3o_54{line-height:1.2}._columns_y5ks5_5{flex-flow:wrap;align-items:flex-start;gap:12px;padding-right:4px;display:flex;overflow-y:auto}._column_y5ks5_5{flex:0 0 var(--wzl-prefs-column-width,300px);width:var(--wzl-prefs-column-width,300px);flex-direction:column;gap:8px;display:flex}._panel_y5ks5_23{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);flex-direction:column;gap:8px;padding:10px;display:flex}._subpanel_y5ks5_33{background:var(--wzl-surface-sunken);border-left:2px solid var(--wzl-border);border-radius:2px;flex-direction:column;gap:6px;margin-top:6px;padding:8px 8px 8px 10px;display:flex}._groupHeader_y5ks5_44{border-bottom:1px solid var(--wzl-border);flex-direction:column;gap:2px;padding-bottom:4px;display:flex}._subpanel_y5ks5_33 ._groupHeader_y5ks5_44{border-bottom:none;padding-bottom:2px}._groupTitle_y5ks5_57{color:var(--wzl-fg);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}._subpanel_y5ks5_33 ._groupTitle_y5ks5_57{text-transform:none;letter-spacing:0;font-size:11px}._groupDesc_y5ks5_72{color:var(--wzl-fg-subtle);margin:0;font-size:11px;line-height:1.35}._rows_y5ks5_79{flex-direction:column;gap:6px;display:flex}._row_y5ks5_79{color:var(--wzl-fg);cursor:default;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}._rowLabel_y5ks5_95{flex:auto;align-items:center;gap:4px;min-width:0;display:inline-flex}._help_y5ks5_104{color:var(--wzl-fg-subtle);cursor:help;border-radius:var(--wzl-radius-sm);background:0 0;border:none;flex:none;padding:0;font-size:11px;line-height:1}._help_y5ks5_104:hover{color:var(--wzl-fg)}._help_y5ks5_104:focus-visible{outline:2px solid var(--wzl-focus-ring);outline-offset:1px;color:var(--wzl-fg)}._rowControl_y5ks5_128{flex:0 0 110px;align-items:center;min-width:0;display:flex}._textarea_y5ks5_135{background:var(--wzl-surface-sunken);width:100%;color:var(--wzl-fg);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);font:inherit;resize:vertical;padding:4px 8px;font-size:12px}._unrenderable_y5ks5_147{font-family:var(--wzl-font-mono);color:var(--wzl-fg-subtle);font-size:11px}._titleRow_y5ks5_154{flex:1;align-items:center;gap:12px;min-width:0;display:flex}._titleRow_y5ks5_154>span:first-child{flex:1;min-width:0}._handle_c4v7n_1{cursor:ew-resize;border-left:1px solid var(--wzl-border);touch-action:none;background:0 0;flex-shrink:0;align-self:stretch;width:4px}._handle_c4v7n_1._horizontal_c4v7n_14{cursor:ns-resize;border-left:none;border-top:1px solid var(--wzl-border);align-self:auto;width:auto;height:4px}._handle_c4v7n_1:hover{background:var(--wzl-border)}._handle_c4v7n_1:focus-visible{outline:2px solid var(--wzl-focus-ring,var(--wzl-accent));outline-offset:-1px}._root_zqa5p_1{color:var(--wzl-fg);flex-direction:column;font-size:12px;display:flex}._header_zqa5p_8{border-block-end:1px solid var(--wzl-border);align-items:baseline;gap:8px;padding:8px 10px;display:flex}._kind_zqa5p_16{font-size:13px;font-weight:600}._breakdown_zqa5p_21{opacity:.6;font-size:11px}._section_zqa5p_26{border-block-end:1px solid var(--wzl-border);padding:6px 10px 8px}._section_zqa5p_26:last-child{border-block-end:none}._sectionTitle_zqa5p_35{text-transform:uppercase;letter-spacing:.06em;opacity:.55;margin:0 0 6px;font-size:10px;font-weight:600}._row_zqa5p_44{grid-template-columns:64px 1fr;align-items:center;gap:6px;margin-block-end:5px;display:grid}._rowLabel_zqa5p_52{opacity:.75}._rowControls_zqa5p_56{align-items:center;gap:6px;min-inline-size:0;display:flex}._rowControls_zqa5p_56>*{flex:1;min-inline-size:0}._number_zqa5p_68 input,._select_zqa5p_69{font-size:11px}._unitSuffix_zqa5p_73{opacity:.6;flex:none;font-size:11px}._mixedSwitch_zqa5p_79{opacity:.55}._unrenderable_zqa5p_83{opacity:.5;font-size:11px;font-style:italic}._sidebar_toyo8_1{background:var(--wzl-surface);color:var(--wzl-fg);flex-direction:column;gap:4px;display:flex}._sidebar_toyo8_1._left_toyo8_9{border-right:1px solid var(--wzl-border)}._sidebar_toyo8_1._right_toyo8_12{border-left:1px solid var(--wzl-border)}._panel_1u064_1{background:var(--wzl-surface);color:var(--wzl-fg);padding:8px}._title_1u064_7{text-transform:uppercase;letter-spacing:.05em;color:var(--wzl-fg-muted);font-size:11px;font-weight:600}._titleRow_1u064_15{justify-content:space-between;align-items:center;margin-bottom:4px;padding:0;display:flex}._titleButton_1u064_23{cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}._titleButton_1u064_23:hover{color:var(--wzl-fg)}._chevron_1u064_40{color:var(--wzl-fg-muted);transition:transform var(--wzl-motion-fast) ease;font-size:10px;line-height:1;display:inline-block}._chevronCollapsed_1u064_47{transform:rotate(-90deg)}._hideButton_1u064_51{color:var(--wzl-fg-muted);cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:14px;line-height:1}._hideButton_1u064_51:hover{color:var(--wzl-fg)}._panel_1u064_1._collapsed_1u064_64{padding-bottom:4px}._body_1u064_68{padding:0 4px}._bar_38xae_1{font-family:var(--wzl-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--wzl-fg-muted);background:var(--wzl-surface);border-top:1px solid var(--wzl-border);flex-shrink:0;align-items:center;gap:16px;padding:4px 12px;font-size:11px;display:flex}._item_38xae_14{white-space:nowrap}._muted_38xae_18{opacity:.6;font-variant-numeric:tabular-nums}._hasTitle_38xae_23{cursor:help}._spacer_38xae_27{margin-left:auto}._tabs_ce73l_1{font-family:var(--wzl-font-ui);color:var(--wzl-fg);flex-direction:column;gap:0;display:flex}._tabs_ce73l_1[data-orientation=horizontal]{flex-direction:column}._tabs_ce73l_1[data-orientation=vertical]{flex-direction:row;gap:12px}._list_ce73l_18{border-bottom:1px solid var(--wzl-border);gap:2px;display:flex}._tabs_ce73l_1[data-orientation=vertical] ._list_ce73l_18{border-bottom:none;border-right:1px solid var(--wzl-border);flex-direction:column;padding-right:8px}._tab_ce73l_1{color:var(--wzl-fg-muted);font:inherit;cursor:pointer;transition:color var(--wzl-motion-fast);background:0 0;border:none;outline:none;padding:6px 10px;font-size:12px;position:relative}._tab_ce73l_1[data-hovered]:not([data-disabled]),._tab_ce73l_1[data-selected]{color:var(--wzl-fg)}._tab_ce73l_1[data-selected]:after{content:"";background:var(--wzl-accent-strong);height:2px;position:absolute;bottom:-1px;left:0;right:0}._tabs_ce73l_1[data-orientation=vertical] ._tab_ce73l_1[data-selected]:after{width:2px;height:auto;inset:0 -9px 0 auto}._tab_ce73l_1[data-focus-visible]{box-shadow:inset 0 0 0 2px var(--wzl-focus-ring);border-radius:var(--wzl-radius-sm)}._tab_ce73l_1[data-disabled]{opacity:.5;cursor:not-allowed}._panel_ce73l_81{outline:none;padding:12px 0}._panel_ce73l_81[data-focus-visible]{box-shadow:inset 0 0 0 2px var(--wzl-focus-ring);border-radius:var(--wzl-radius-sm)}._region_18i9b_1{z-index:1100;outline:none;flex-direction:column-reverse;gap:8px;max-width:360px;display:flex;position:fixed}._bottomRight_18i9b_17{bottom:16px;right:16px}._bottomLeft_18i9b_18{bottom:16px;left:16px}._topRight_18i9b_19{flex-direction:column;top:16px;right:16px}._topLeft_18i9b_20{flex-direction:column;top:16px;left:16px}._toast_18i9b_22{--toast-accent:var(--wzl-accent-strong);view-transition-class:wzl-toast;background:var(--wzl-surface);border:1px solid var(--wzl-border);border-left:3px solid var(--toast-accent);border-radius:var(--wzl-radius-md);color:var(--wzl-fg);font-family:var(--wzl-font-ui);outline:none;align-items:flex-start;gap:8px;padding:10px 12px;display:flex;box-shadow:0 8px 24px #00000059}._region_18i9b_1[data-focus-visible],._toast_18i9b_22[data-focus-visible]{outline:2px solid var(--wzl-focus-ring);outline-offset:1px}._toneSuccess_18i9b_49{--toast-accent:var(--wzl-success,#2ec27e)}._toneWarning_18i9b_50{--toast-accent:var(--wzl-warning,#d99a3f)}._toneError_18i9b_51{--toast-accent:var(--wzl-danger,#d94a3f)}._content_18i9b_53{flex:1;min-width:0}._title_18i9b_58{font-size:13px;font-weight:600;display:block}._description_18i9b_64{color:var(--wzl-fg-muted);margin-top:2px;font-size:12px;display:block}._close_18i9b_71{color:var(--wzl-fg-muted);cursor:pointer;border-radius:var(--wzl-radius-sm);background:0 0;border:none;flex:none;padding:2px 4px;font-size:16px;line-height:1}._close_18i9b_71:hover{color:var(--wzl-fg)}:root.wzl-toast-vt{view-transition-name:none}:root.wzl-toast-vt::view-transition{pointer-events:none}:root.wzl-toast-vt::view-transition-new(.wzl-toast):only-child{animation:wzl-toast-enter var(--wzl-motion-medium,.24s) var(--wzl-ease-out-cubic,ease-out) both}:root.wzl-toast-vt::view-transition-old(.wzl-toast):only-child{animation:wzl-toast-exit var(--wzl-motion-fast,.12s) var(--wzl-ease-in-cubic,ease-in) both}@keyframes wzl-toast-enter{0%{opacity:0;translate:0 16px}}@keyframes wzl-toast-exit{to{opacity:0;scale:.92}}._button_1jvxe_1{min-width:44px;color:var(--wzl-fg);cursor:default;background:0 0;border:1px solid #0000;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-family:inherit;font-size:10px;line-height:1.1;display:inline-flex}._button_1jvxe_1:hover:not([disabled]){background:var(--wzl-surface-hover);color:var(--wzl-fg)}._button_1jvxe_1:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:-2px}._button_1jvxe_1._active_1jvxe_26{background:var(--wzl-surface-pressed);border-color:var(--wzl-accent);color:var(--wzl-fg)}._button_1jvxe_1[disabled]{opacity:.4}._icon_1jvxe_35,._icon_1jvxe_35>svg{display:block}._label_1jvxe_37{font-size:10px}._shortcut_1jvxe_38{color:var(--wzl-fg-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}._group_o2pho_1{flex-direction:column;gap:2px;display:flex}._group_o2pho_1._horizontal_o2pho_6{flex-direction:row}._root_ps46a_13{height:var(--wzl-tb-height,28px);background:var(--wzl-surface);border-bottom:1px solid var(--wzl-border);color:var(--wzl-fg);align-items:center;gap:8px;padding:0 8px;display:flex;overflow:hidden}._label_ps46a_25{text-transform:uppercase;letter-spacing:.05em;color:var(--wzl-fg-muted);white-space:nowrap;flex:none;font-size:11px;font-weight:600}._controls_ps46a_6{scrollbar-width:thin;flex:auto;align-items:center;gap:6px;min-width:0;height:100%;display:flex;overflow:auto hidden}._controls_ps46a_6::-webkit-scrollbar{height:4px}._controls_ps46a_6::-webkit-scrollbar-track{background:0 0}._controls_ps46a_6::-webkit-scrollbar-thumb{background:var(--wzl-border);border-radius:2px}._palette_1mz1c_1{background:var(--wzl-surface);border:1px solid var(--wzl-border);-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;gap:4px;padding:4px;display:flex}._palette_1mz1c_1._horizontal_1mz1c_11{flex-direction:row}._ineligibleBtn_1mz1c_20{opacity:.35;cursor:not-allowed}._separator_1mz1c_25{background:var(--wzl-border)}._palette_1mz1c_1:not(._horizontal_1mz1c_11) ._separator_1mz1c_25{height:1px;margin:2px 0}._palette_1mz1c_1._horizontal_1mz1c_11 ._separator_1mz1c_25{width:1px;margin:0 2px}
1
+ ._tooltip_1km1f_1{z-index:1200;background:var(--wzl-surface);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);color:var(--wzl-fg);font-family:var(--wzl-font-ui);max-width:260px;transition:opacity var(--wzl-motion-fast);padding:4px 8px;font-size:12px;line-height:1.3;box-shadow:0 4px 16px #00000059}._tooltip_1km1f_1[data-entering],._tooltip_1km1f_1[data-exiting]{opacity:0}._arrow_1km1f_22 svg{fill:var(--wzl-surface);stroke:var(--wzl-border);stroke-width:1px;display:block}._arrow_1km1f_22[data-placement=bottom] svg{transform:rotate(180deg)}._arrow_1km1f_22[data-placement=left] svg{transform:rotate(-90deg)}._arrow_1km1f_22[data-placement=right] svg{transform:rotate(90deg)}._bar_147qb_7{background:var(--wzl-surface);border:1px solid var(--wzl-border);-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:row;gap:1px;padding:2px;display:flex}._bar_147qb_7._vertical_147qb_18{flex-direction:column}._button_147qb_22{width:28px;height:28px;color:var(--wzl-fg);cursor:default;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;padding:0;display:inline-flex}._button_147qb_22:hover:not([disabled]){background:var(--wzl-border)}._button_147qb_22:active:not([disabled]){background:color-mix(in srgb, var(--wzl-border) 70%, transparent)}._button_147qb_22[disabled]{opacity:.4;cursor:default}._button_147qb_22>svg{display:block}._root_1hmjs_10{height:var(--wzl-tb-height,28px);-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#0000002e 0%,#0000000d 100%);border-radius:999px;padding:2px;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px 2px #0006,0 1px #ffffff0f}._segment_1hmjs_32{min-width:0;font-family:var(--wzl-font-ui);font-weight:300;font-size:var(--btn-fontsize,14px);color:var(--wzl-fg-muted);cursor:pointer;isolation:isolate;transition:color var(--wzl-motion-fast);background:0 0;border:none;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;margin:0;padding:0 12px;line-height:1;display:inline-flex;position:relative;overflow:hidden}._segment_1hmjs_32:first-child{border-radius:999px 0 0 999px}._segment_1hmjs_32:last-child{border-radius:0 999px 999px 0}._segment_1hmjs_32:only-child{border-radius:999px}._segment_1hmjs_32:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:-2px}._segment_1hmjs_32:disabled{opacity:.5;cursor:not-allowed}._segment_1hmjs_32:hover:not(:disabled):not(._segmentSelected_1hmjs_79){color:var(--wzl-fg)}._segmentSelected_1hmjs_79{background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-accent) var(--btn-top-alpha,45%), transparent) 0%, color-mix(in srgb, var(--wzl-accent) var(--btn-upper-alpha,70%), transparent) calc(var(--btn-equator,52%) - var(--btn-equator-spread,12%)), color-mix(in srgb, var(--wzl-accent) var(--btn-equator-tint,95%), white) var(--btn-equator,52%), var(--wzl-accent) calc(var(--btn-equator,52%) + var(--btn-equator-spread,12%) * 1.6), color-mix(in srgb, var(--wzl-accent) var(--btn-base-tint,70%), black) 100%);-webkit-backdrop-filter:blur(var(--btn-blur,6px)) saturate(var(--btn-saturate,1.3));color:var(--wzl-fg-on-accent);text-shadow:0 1px 0 rgba(0, 0, 0, var(--btn-text-shadow,.35)), var(--btn-text-inset-x,0px) var(--btn-text-inset-y,1px) 0 rgba(0, 0, 0, var(--btn-text-inset,.55)), 0 0 6px rgba(0, 0, 0, calc(var(--btn-text-shadow,.35) * .5));box-shadow:inset 0 1px 0 rgba(255, 255, 255, var(--btn-inset-hi,.42)), inset 0 -1px 2px rgba(0, 0, 0, var(--btn-inset-lo,.3)), 0 0 0 1px rgba(0, 0, 0, var(--btn-rim,.22)), 0 1px 2px rgba(0, 0, 0, var(--btn-drop-near,.3)), 0 2px 4px rgba(0, 0, 0, calc(var(--btn-drop-far,.18) * .8))}._segmentSelected_1hmjs_79:before{content:"";inset:1px 1px var(--btn-gloss-bottom,50%) 1px;border-radius:inherit;background:linear-gradient(180deg, rgba(255, 255, 255, var(--btn-gloss-top,.42)) 0%, rgba(255, 255, 255, var(--btn-gloss-mid,.12)) 60%, #fff0 100%);pointer-events:none;z-index:1;border-bottom-right-radius:0;border-bottom-left-radius:0;position:absolute}._segmentSelected_1hmjs_79>*{z-index:2;position:relative}._size_sm_1hmjs_137{height:17px;padding:1px}._size_sm_1hmjs_137 ._segment_1hmjs_32{padding:0 8px;font-size:11px}._variant_minimal_1hmjs_150{height:auto;box-shadow:none;background:0 0;border-radius:0;gap:2px;padding:0}._variant_minimal_1hmjs_150 ._segment_1hmjs_32{color:var(--wzl-fg-muted);border-radius:2px;padding:0 4px;font-size:11px;font-weight:400;line-height:1.4;transition:none}._variant_minimal_1hmjs_150 ._segment_1hmjs_32:first-child,._variant_minimal_1hmjs_150 ._segment_1hmjs_32:last-child,._variant_minimal_1hmjs_150 ._segment_1hmjs_32:only-child{border-radius:2px}._variant_minimal_1hmjs_150 ._segment_1hmjs_32:hover:not(:disabled):not(._segmentSelected_1hmjs_79){color:var(--wzl-fg);background:#ffffff0f}._variant_minimal_1hmjs_150 ._segmentSelected_1hmjs_79{-webkit-backdrop-filter:none;color:var(--wzl-accent-fg,var(--wzl-accent));text-shadow:none;box-shadow:none;background:0 0;font-weight:500}._variant_minimal_1hmjs_150 ._segmentSelected_1hmjs_79:before{content:none}._badge_16w4d_1{vertical-align:baseline;align-items:baseline;gap:var(--badge-gap,4px);font-size:var(--badge-font-size,10px);text-transform:uppercase;letter-spacing:.04em;color:var(--badge-fg,var(--wzl-fg-muted));--badge-edge:var(--wzl-border);--badge-fill:var(--wzl-surface);--badge-fg:var(--badge-edge);font:inherit;background:0 0;border:0;font-family:inherit;text-decoration:none;display:inline-flex;position:relative}._badge_16w4d_1 *{text-decoration:none}._badge_16w4d_1[data-size=md]{--badge-gap:6px;--badge-pad-x:10px;--badge-pad-y:3px;--badge-font-size:12px}._deco_16w4d_33{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}._deco_16w4d_33 .badge-fill{fill:var(--badge-fill);stroke:none}._deco_16w4d_33 .badge-stroke{fill:none;stroke:var(--badge-edge);stroke-width:var(--badge-stroke-width,1px);vector-effect:non-scaling-stroke}._deco_16w4d_33 .badge-focus{fill:none;stroke:var(--badge-edge);stroke-width:calc(var(--badge-stroke-width,1px) + 1px);vector-effect:non-scaling-stroke;opacity:.6}._deco_16w4d_33 .badge-bevel-light{fill:#ffffff38;stroke:none}._deco_16w4d_33 .badge-bevel-medium-light{fill:#ffffff1a;stroke:none}._deco_16w4d_33 .badge-bevel-medium-dark{fill:#00000029;stroke:none}._deco_16w4d_33 .badge-bevel-dark{fill:#00000052;stroke:none}._content_16w4d_49{align-items:baseline;gap:inherit;z-index:1;display:inline-flex;position:relative}._badge_16w4d_1[data-tone=accent]{--badge-edge:var(--wzl-accent-fg,var(--wzl-accent,#7fb069))}._badge_16w4d_1[data-tone=info]{--badge-edge:#7ab8d4}._badge_16w4d_1[data-tone=warn]{--badge-edge:#d4a574}._badge_16w4d_1[data-tone=danger]{--badge-edge:#c43c3c}._badge_16w4d_1[data-tone=muted]{--badge-edge:var(--wzl-fg-muted)}._badge_16w4d_1[data-tone=neutral]{--badge-edge:var(--wzl-border);--badge-fg:var(--wzl-fg-muted)}._badge_16w4d_1[data-variant=outline]{--badge-fill:var(--wzl-surface);--badge-fg:var(--badge-edge)}._badge_16w4d_1[data-variant=solid]{--badge-fill:var(--badge-edge);--badge-fg:#fff;font-weight:600}._badge_16w4d_1[data-variant=subtle]{--badge-fill:color-mix(in oklab, var(--badge-edge) 14%, transparent);--badge-fg:var(--badge-edge)}._badge_16w4d_1[data-tone=neutral]:not([data-variant=solid]){--badge-fg:var(--wzl-fg-muted)}._badge_16w4d_1{padding:calc(var(--badge-pad-y,1px) + var(--badge-inset-top,0px)) calc(var(--badge-pad-x,6px) + var(--badge-inset-right,0px)) calc(var(--badge-pad-y,1px) + var(--badge-inset-bottom,0px)) calc(var(--badge-pad-x,6px) + var(--badge-inset-left,0px))}._badge_16w4d_1[data-shape=pill]{box-sizing:border-box;-webkit-box-decoration-break:slice;box-decoration-break:slice;border-radius:9999px;display:inline}._badge_16w4d_1[data-shape=pill] ._content_16w4d_49,._badge_16w4d_1[data-shape=plain] ._content_16w4d_49{display:inline}._badge_16w4d_1[data-shape=pill][data-variant=solid],._badge_16w4d_1[data-shape=pill][data-variant=subtle]{background:var(--badge-fill)}._badge_16w4d_1[data-shape=pill]{border:var(--badge-stroke-width,1px) solid transparent}._badge_16w4d_1[data-shape=pill][data-variant=outline],._badge_16w4d_1[data-shape=pill][data-variant=solid]{border-color:var(--badge-edge)}._badge_16w4d_1[data-shape=pill][data-focused=true]{outline:2px solid color-mix(in oklab, var(--badge-edge) 60%, transparent);outline-offset:2px}._badge_16w4d_1[data-shape=plain]{letter-spacing:.04em;text-transform:none;color:var(--badge-fg);-webkit-box-decoration-break:slice;box-decoration-break:slice;background:0 0;padding:0;display:inline}._badge_16w4d_1[data-shape=plain][data-focused=true]{outline:2px solid color-mix(in oklab, var(--badge-edge) 60%, transparent);outline-offset:3px;border-radius:2px}._badge_16w4d_1[data-shape=plaque] ._content_16w4d_49{text-shadow:0 1px #ffffff24,0 -.5px #00000080}button._badge_16w4d_1,a._badge_16w4d_1{cursor:pointer;border:0 solid #0000;outline:0}button._badge_16w4d_1:hover,a._badge_16w4d_1:hover{--badge-edge:color-mix(in oklab, var(--badge-edge) 88%, white)}@media (prefers-reduced-motion:reduce){button._badge_16w4d_1:hover,a._badge_16w4d_1:hover{--badge-edge:var(--badge-edge)}}._remove_16w4d_161{width:14px;height:14px;color:var(--badge-fg);cursor:pointer;font:inherit;vertical-align:middle;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;padding:0;font-size:14px;line-height:1;display:inline-flex}._remove_16w4d_161:hover{background:color-mix(in oklab, var(--badge-fg) 20%, transparent)}._remove_16w4d_161>svg{display:block}._badge_16w4d_1[data-size=md] ._remove_16w4d_161{width:16px;height:16px;font-size:16px}._badge_16w4d_1[data-size=md] ._remove_16w4d_161>svg{width:12px;height:12px}._root_amv2k_1{-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;gap:2px;display:flex;position:relative}._label_amv2k_11{font:var(--wzl-font-weight-medium,500) var(--wzl-font-size-sm,.75rem) / 1.4 var(--wzl-font-ui,ui-sans-serif, system-ui, sans-serif);color:var(--wzl-fg-muted)}._ruler_amv2k_19{height:var(--be-ruler-height,20px);cursor:crosshair;position:relative}._tick_amv2k_25{left:var(--be-at);background:var(--wzl-fg-subtle);pointer-events:none;width:1px;height:6px;position:absolute;bottom:0}._tickLabel_amv2k_35{font:var(--wzl-font-weight-medium,500) .65rem / 1 var(--wzl-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--wzl-fg-muted);white-space:nowrap;position:absolute;bottom:7px;left:0;transform:translate(-50%)}._bands_amv2k_45{height:var(--be-band-height,34px);position:relative}._band_amv2k_45{top:0;bottom:0;left:var(--be-from);width:calc(var(--be-to) - var(--be-from));background:var(--wzl-surface-raised);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm,3px);color:var(--wzl-fg);font:var(--wzl-font-weight-medium,500) .7rem / 1 var(--wzl-font-ui,ui-sans-serif, system-ui, sans-serif);cursor:grab;justify-content:center;align-items:center;margin:0;padding:0 4px;display:flex;position:absolute;overflow:hidden}._band_amv2k_45:hover{background:var(--wzl-surface-hover)}._band_amv2k_45:active{cursor:grabbing}._band_amv2k_45:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:-2px}._band_amv2k_45:first-of-type,._band_amv2k_45:last-of-type{cursor:default}._selected_amv2k_92{background:color-mix(in srgb, var(--wzl-accent) 22%, transparent);border-color:var(--wzl-accent);box-shadow:inset 0 0 0 1px var(--wzl-accent);color:var(--wzl-fg)}._bandContent_amv2k_99{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;overflow:hidden}._seam_amv2k_107{left:var(--be-at);z-index:1;cursor:ew-resize;background:0 0;border:none;width:11px;margin-left:-5px;position:absolute;top:-3px;bottom:-3px}._seam_amv2k_107:before{content:"";background:var(--wzl-border-strong);width:1px;position:absolute;top:0;bottom:0;left:5px}._seam_amv2k_107:hover:before,._seam_amv2k_107:focus-visible:before{background:var(--wzl-accent);width:2px}._seam_amv2k_107:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:0;border-radius:2px}._button_yji6d_3{--btn-radius:calc(var(--btn-height) * .1);--btn-fontweight:400;--btn-fontsize:14px;--btn-height:24px;--btn-padx:12px;--btn-top-alpha:45%;--btn-upper-alpha:70%;--btn-equator:52%;--btn-equator-spread:12%;--btn-equator-tint:95%;--btn-base-tint:70%;--btn-blur:6px;--btn-saturate:1.3;--btn-gloss-top:.42;--btn-gloss-mid:.12;--btn-gloss-bottom:50%;--btn-rim:.22;--btn-drop-near:.3;--btn-drop-far:.18;--btn-inset-hi:.42;--btn-inset-lo:.3;--btn-text-shadow:.35;--btn-text-inset:.55;--btn-text-inset-x:0px;--btn-text-inset-y:1px;border-radius:var(--btn-radius);font-family:var(--wzl-font-ui);font-weight:var(--btn-fontweight);font-style:normal;font-size:var(--btn-fontsize);height:var(--btn-height);padding:0 var(--btn-padx);cursor:pointer;-webkit-user-select:none;user-select:none;isolation:isolate;transition:filter var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast), transform 80ms;border:none;justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex;position:relative;overflow:hidden}._button_yji6d_3:before{content:"";inset:1px 1px var(--btn-gloss-bottom) 1px;border-top-left-radius:var(--btn-radius);border-top-right-radius:var(--btn-radius);background:linear-gradient(180deg, rgba(255, 255, 255, var(--btn-gloss-top)) 0%, rgba(255, 255, 255, var(--btn-gloss-mid)) 60%, #fff0 100%);pointer-events:none;z-index:1;transition:opacity var(--wzl-motion-fast);border-bottom-right-radius:0;border-bottom-left-radius:0;position:absolute}._button_yji6d_3>*{z-index:2;position:relative}._button_yji6d_3:focus-visible{outline:2px solid var(--wzl-focus-ring);outline-offset:1px}._button_yji6d_3:disabled{opacity:.5;cursor:not-allowed}._size_sm_yji6d_110{--btn-height:20px;--btn-padx:8px;--btn-fontsize:13px}._size_md_yji6d_111{--btn-height:24px;--btn-padx:12px;--btn-fontsize:14px}._iconOnly_yji6d_113._size_sm_yji6d_110{--btn-padx:0;width:20px}._iconOnly_yji6d_113._size_md_yji6d_111{--btn-padx:0;width:24px}._variant_primary_yji6d_121{background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-accent) var(--btn-top-alpha), transparent) 0%, color-mix(in srgb, var(--wzl-accent) var(--btn-upper-alpha), transparent) calc(var(--btn-equator) - var(--btn-equator-spread)), color-mix(in srgb, var(--wzl-accent) var(--btn-equator-tint), white) var(--btn-equator), var(--wzl-accent) calc(var(--btn-equator) + var(--btn-equator-spread) * 1.6), color-mix(in srgb, var(--wzl-accent) var(--btn-base-tint), black) 100%);-webkit-backdrop-filter:blur(var(--btn-blur)) saturate(var(--btn-saturate));color:var(--wzl-fg-on-accent);text-shadow:0 1px 0 rgba(0, 0, 0, var(--btn-text-shadow)), var(--btn-text-inset-x) var(--btn-text-inset-y) 0 rgba(0, 0, 0, var(--btn-text-inset)), 0 0 6px rgba(0, 0, 0, calc(var(--btn-text-shadow) * .5));box-shadow:inset 0 1px 0 rgba(255, 255, 255, var(--btn-inset-hi)), inset 0 -1px 2px rgba(0, 0, 0, var(--btn-inset-lo)), 0 0 0 1px rgba(0, 0, 0, var(--btn-rim)), 0 1px 2px rgba(0, 0, 0, var(--btn-drop-near)), 0 3px 6px rgba(0, 0, 0, var(--btn-drop-far))}._variant_primary_yji6d_121:hover:not(:disabled){filter:brightness(1.08)saturate(1.06)}._variant_primary_yji6d_121:active:not(:disabled){background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-accent) 80%, black) 0%, color-mix(in srgb, var(--wzl-accent) 95%, black) 50%, color-mix(in srgb, var(--wzl-accent) 60%, white) 100%);box-shadow:inset 0 2px 4px #00000059, inset 0 -1px 0 #ffffff40, 0 0 0 1px rgba(0, 0, 0, calc(var(--btn-rim) + .06));transform:translateY(.5px)}._variant_primary_yji6d_121:active:before{opacity:.3}._variant_secondary_yji6d_168{background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-fg) 25%, transparent) 0%, color-mix(in srgb, var(--wzl-fg) 10%, transparent) calc(var(--btn-equator) - var(--btn-equator-spread)), color-mix(in srgb, var(--wzl-surface-raised) 90%, white) var(--btn-equator), var(--wzl-surface-raised) calc(var(--btn-equator) + var(--btn-equator-spread) * 1.6), color-mix(in srgb, var(--wzl-surface-sunken) 80%, black) 100%);-webkit-backdrop-filter:blur(var(--btn-blur)) saturate(var(--btn-saturate));color:var(--wzl-fg);text-shadow:0 1px 0 rgba(0, 0, 0, calc(var(--btn-text-shadow) * .7)), var(--btn-text-inset-x) var(--btn-text-inset-y) 0 rgba(0, 0, 0, calc(var(--btn-text-inset) * .7));box-shadow:inset 0 1px 0 rgba(255, 255, 255, calc(var(--btn-inset-hi) * .5)), inset 0 -1px 2px rgba(0, 0, 0, calc(var(--btn-inset-lo) * .83)), 0 0 0 1px rgba(0, 0, 0, calc(var(--btn-rim) + .03)), 0 1px 2px rgba(0, 0, 0, calc(var(--btn-drop-near) * .93)), 0 3px 6px rgba(0, 0, 0, calc(var(--btn-drop-far) * .89))}._variant_secondary_yji6d_168:hover:not(:disabled){filter:brightness(1.1)}._variant_secondary_yji6d_168:active:not(:disabled){background:linear-gradient(180deg, var(--wzl-surface-sunken) 0%, var(--wzl-surface-raised) 100%);transform:translateY(.5px);box-shadow:inset 0 2px 4px #0006,0 0 0 1px #0000004d}._variant_secondary_yji6d_168:active:before{opacity:.2}._variant_ghost_yji6d_203{color:var(--wzl-fg);box-shadow:none;background:0 0}._variant_ghost_yji6d_203:before{display:none}._variant_ghost_yji6d_203:hover:not(:disabled){background:color-mix(in srgb, var(--wzl-fg) 10%, transparent)}._variant_ghost_yji6d_203:active:not(:disabled){background:color-mix(in srgb, var(--wzl-fg) 18%, transparent)}._fullWidth_yji6d_220{width:100%}._loading_yji6d_221 ._label_yji6d_221{opacity:.7}._iconSlot_yji6d_225{flex:none;justify-content:center;align-items:center;display:inline-flex}._size_sm_yji6d_110 ._iconSlot_yji6d_225>svg{width:12px;height:12px}._size_md_yji6d_111 ._iconSlot_yji6d_225>svg{width:14px;height:14px}._label_yji6d_221{display:inline-block}._spinner_yji6d_239{justify-content:center;align-items:center;animation:.7s linear infinite _wzl-btn-spin_yji6d_1;display:inline-flex}@keyframes _wzl-btn-spin_yji6d_1{to{transform:rotate(360deg)}}._anchor_18o4b_1{pointer-events:none;position:fixed}._popover_18o4b_6{z-index:1200;--callout-accent:var(--wzl-accent-strong);background:var(--wzl-surface);border:1px solid var(--callout-accent);border-radius:var(--wzl-radius-md);color:var(--wzl-fg);font-family:var(--wzl-font-ui);max-width:320px;transition:opacity var(--wzl-motion-fast);box-shadow:0 12px 40px #0006}._popover_18o4b_6[data-entering],._popover_18o4b_6[data-exiting]{opacity:0}._toneWarning_18o4b_25{--callout-accent:var(--wzl-warning,#d99a3f)}._toneDanger_18o4b_29{--callout-accent:var(--wzl-danger,#d94a3f)}._arrow_18o4b_33 svg{fill:var(--wzl-surface);stroke:var(--callout-accent);stroke-width:1px;display:block}._arrow_18o4b_33[data-placement=bottom] svg{transform:rotate(180deg)}._arrow_18o4b_33[data-placement=left] svg{transform:rotate(-90deg)}._arrow_18o4b_33[data-placement=right] svg{transform:rotate(90deg)}._dialog_18o4b_52{max-height:inherit;outline:none;flex-direction:column;display:flex}._header_18o4b_59{align-items:center;gap:8px;padding:10px 12px 0;display:flex}._title_18o4b_66{flex:1;margin:0;font-size:13px;font-weight:600}._close_18o4b_73{color:var(--wzl-fg-muted);cursor:pointer;border-radius:var(--wzl-radius-sm);background:0 0;border:none;flex:none;padding:2px 4px;font-size:16px;line-height:1}._close_18o4b_73:hover{color:var(--wzl-fg)}._body_18o4b_89{padding:8px 12px 10px;font-size:13px;line-height:1.4;overflow-y:auto}._footer_18o4b_96{justify-content:flex-end;gap:8px;padding:0 12px 10px;display:flex}._checkbox_18mi9_1{cursor:pointer;font-family:var(--wzl-font-ui);color:var(--wzl-fg);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}._checkbox_18mi9_1[data-disabled]{opacity:.5;cursor:not-allowed}._box_18mi9_18{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border-strong);border-radius:var(--wzl-radius-sm);width:14px;height:14px;transition:background-color var(--wzl-motion-fast), border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);flex:none;position:relative}._checkbox_18mi9_1[data-focus-visible] ._box_18mi9_18{box-shadow:0 0 0 2px var(--wzl-focus-ring)}._checkbox_18mi9_1[data-hovered]:not([data-disabled]) ._box_18mi9_18{border-color:var(--wzl-fg-muted)}._checkbox_18mi9_1[data-selected] ._box_18mi9_18,._checkbox_18mi9_1[data-indeterminate] ._box_18mi9_18{background:var(--wzl-accent-strong);border-color:var(--wzl-accent-strong)}._checkbox_18mi9_1[data-invalid] ._box_18mi9_18{border-color:var(--wzl-danger,#ff5b5b)}._checkmark_18mi9_47{color:var(--wzl-fg-on-accent);opacity:0;pointer-events:none;position:absolute;inset:0}._checkbox_18mi9_1[data-selected] ._checkmark_18mi9_47,._checkbox_18mi9_1[data-indeterminate] ._checkmark_18mi9_47{opacity:1}._label_18mi9_60{line-height:1.2}._root_r50jb_1{align-items:center;gap:6px;display:inline-flex}._chip_r50jb_7{border-radius:4px;display:inline-flex;position:relative;overflow:hidden}._color_r50jb_14{border:1px solid var(--wzl-border,#444);cursor:pointer;background:0 0;border-radius:4px;block-size:20px;inline-size:28px;padding:0}._root_r50jb_1[data-mixed] ._chip_r50jb_7:after{content:"";pointer-events:none;background:repeating-conic-gradient(var(--wzl-border,#666) 0% 25%, var(--wzl-surface,#2e2f36) 0% 50%) 50% / 8px 8px;border-radius:3px;position:absolute;inset:1px}._alphaRange_r50jb_39{min-inline-size:48px;accent-color:var(--wzl-accent,#7ab8d4);flex:1}._alphaRange_r50jb_39:disabled{opacity:.45}._alphaReadout_r50jb_49{text-align:end;opacity:.7;min-inline-size:3ch;font-size:11px}._field_aqiak_1{font-family:var(--wzl-font-ui);color:var(--wzl-fg);flex-direction:column;gap:4px;display:flex}._label_aqiak_9{color:var(--wzl-fg);cursor:default;font-size:12px;font-weight:500}._hint_aqiak_16{color:var(--wzl-fg-subtle);font-size:11px;line-height:1.4}._error_aqiak_22{color:var(--wzl-danger,#ff5b5b);font-size:11px;line-height:1.4}._row_aqiak_28{flex-direction:row;align-items:center;gap:8px}._row_aqiak_28 ._label_aqiak_9{flex:1;min-width:0}._field_7wlzm_1{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}._frame_7wlzm_9{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);height:24px;color:var(--wzl-fg);font-family:var(--wzl-font-ui);transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);align-items:stretch;font-size:13px;line-height:1;display:flex;overflow:hidden}._frame_7wlzm_9:focus-within{border-color:var(--wzl-focus-ring);box-shadow:0 0 0 1px var(--wzl-focus-ring)}._field_7wlzm_1[data-invalid] ._frame_7wlzm_9{border-color:var(--wzl-danger,#ff5b5b)}._field_7wlzm_1[data-disabled] ._frame_7wlzm_9{opacity:.5;cursor:not-allowed}._frame_7wlzm_9 input{min-width:0;color:inherit;font:inherit;background:0 0;border:none;outline:none;flex:1;padding:0 8px}._frame_7wlzm_9 input::placeholder{color:var(--wzl-fg-subtle)}._openButton_7wlzm_53{border:none;border-left:1px solid var(--wzl-border);width:22px;color:var(--wzl-fg-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}._openButton_7wlzm_53[data-hovered]:not([data-disabled]){color:var(--wzl-fg)}._openButton_7wlzm_53 svg{width:10px;height:10px}._popover_7wlzm_75{min-width:var(--trigger-width);outline:none}._listbox_7wlzm_80{background:var(--wzl-surface-raised);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-md);max-height:280px;font-family:var(--wzl-font-ui);outline:none;padding:4px;font-size:13px;overflow:auto;box-shadow:0 8px 24px #0000004d}._option_7wlzm_93{cursor:pointer;color:var(--wzl-fg);border-radius:3px;outline:none;align-items:center;padding:4px 8px;display:flex}._option_7wlzm_93[data-focused]{background:color-mix(in srgb, var(--wzl-fg) 10%, transparent)}._option_7wlzm_93[data-selected]{font-weight:500}._option_7wlzm_93[data-disabled]{opacity:.4;cursor:not-allowed}._empty_7wlzm_116{color:var(--wzl-fg-subtle);padding:6px 8px;font-size:12px}._root_1djm7_1{--plot-bg:var(--wzl-surface-sunken);--plot-grid:var(--wzl-line);--plot-axis:var(--wzl-fg);background:var(--plot-bg);-webkit-user-select:none;user-select:none;touch-action:none;outline:none;display:block;overflow:visible}._root_1djm7_1:focus-visible{outline:2px solid var(--wzl-focus-ring);outline-offset:2px}._grid_1djm7_28{stroke:var(--plot-grid);stroke-width:1px;fill:none}._axis_1djm7_34{stroke:var(--plot-axis);stroke-width:var(--wzl-line-width);fill:none}._root_ybpym_1{--curve-line:var(--wzl-curve-color);--curve-line-width:var(--wzl-curve-width);--curve-fill:color-mix(in srgb, var(--curve-line) 30%, transparent);--curve-anchor-fill:var(--wzl-surface);--curve-anchor-stroke:var(--curve-line);--curve-anchor-radius:4;--curve-anchor-active-fill:var(--curve-line);--curve-pinned-fill:var(--wzl-fg-subtle)}._fill_ybpym_19{fill:var(--curve-fill);stroke:none;pointer-events:none}._curve_ybpym_25{stroke:var(--curve-line);stroke-width:var(--curve-line-width);fill:none;pointer-events:stroke}._anchor_ybpym_32{fill:var(--curve-anchor-fill);stroke:var(--curve-anchor-stroke);stroke-width:1.5px;cursor:grab}._anchor_ybpym_32:hover{fill:var(--curve-anchor-active-fill)}._anchor_ybpym_32._active_ybpym_43{fill:var(--curve-anchor-active-fill);cursor:grabbing}._anchor_ybpym_32._pinned_ybpym_48{fill:var(--curve-pinned-fill);cursor:default}._anchor_ybpym_32._locked_ybpym_55{cursor:not-allowed}._hidden_ybpym_71{display:none}._grid_1uuch_1{width:100%;position:relative}._table_1uuch_6{border-collapse:collapse;width:100%;font-size:11px}._table_1uuch_6 th,._table_1uuch_6 td{text-align:left;vertical-align:middle;padding:3px 6px}._table_1uuch_6 tbody tr{border-bottom:1px solid #ffffff0a}._table_1uuch_6 th{color:var(--wzl-fg-muted);background:var(--wzl-surface,#2a2018);z-index:1;border-bottom:1px solid var(--wzl-border);font-weight:600;position:sticky;top:0}._sortButton_1uuch_34{all:unset;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;display:block}._sortButton_1uuch_34:hover{color:var(--wzl-fg,#e6e7e9)}._sortButton_1uuch_34:focus-visible{outline:2px solid var(--wzl-focus-ring,var(--wzl-accent,#7fb069));outline-offset:-2px}._sortActive_1uuch_46{color:var(--wzl-fg,#e6e7e9)}._empty_1uuch_48{color:var(--wzl-fg-muted);text-align:center;padding:8px 0;font-style:italic}._handleCol_1uuch_56{width:14px}._handleCell_1uuch_57{cursor:grab;width:14px;color:var(--wzl-fg-muted);-webkit-user-select:none;user-select:none;text-align:center}._handleCell_1uuch_57:active{cursor:grabbing}._dragging_1uuch_66{opacity:.4}._dropBefore_1uuch_68>td{box-shadow:inset 0 2px 0 0 var(--wzl-accent,#7fb069)}._dropAfter_1uuch_69>td{box-shadow:inset 0 -2px 0 0 var(--wzl-accent,#7fb069)}._overlay_13xy9_1{z-index:1000;opacity:0;transition:opacity var(--wzl-motion-fast);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._overlay_13xy9_1[data-entering]{opacity:0}._overlay_13xy9_1[data-entering][data-rac]{opacity:1}._overlay_13xy9_1[data-exiting]{opacity:0}._overlay_13xy9_1[data-rac]:not([data-entering]):not([data-exiting]){opacity:1}._modal_13xy9_29{background:var(--wzl-surface);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-md);color:var(--wzl-fg);font-family:var(--wzl-font-ui);outline:none;flex-direction:column;max-width:min(900px,100vw - 32px);max-height:calc(100vh - 32px);display:flex;box-shadow:0 24px 64px #00000073}._dialog_13xy9_43{outline:none;flex-direction:column;flex:1;min-height:0;display:flex}._header_13xy9_51{border-bottom:1px solid var(--wzl-border);flex:none;align-items:center;gap:12px;padding:14px 16px;display:flex}._title_13xy9_60{color:var(--wzl-fg);flex:1;margin:0;font-size:14px;font-weight:600}._close_13xy9_68{border-radius:var(--wzl-radius-sm);width:22px;height:22px;color:var(--wzl-fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}._close_13xy9_68:hover{background:color-mix(in srgb, var(--wzl-fg) 10%, transparent);color:var(--wzl-fg)}._body_13xy9_90{flex:1;min-height:0;padding:16px;overflow:auto}._footer_13xy9_97{border-top:1px solid var(--wzl-border);flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}._root_q2asl_1{-webkit-user-select:none;user-select:none;touch-action:none;position:relative}._row_q2asl_8{align-items:center;gap:8px;display:flex}._track_q2asl_14{min-width:0;height:var(--rp-track-height,24px);background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);cursor:crosshair;border-radius:3px;flex:1;position:relative}._trackInner_q2asl_25{border-radius:3px;position:absolute;inset:0;overflow:hidden}._thumb_q2asl_35{background:color-mix(in srgb, var(--wzl-fg-muted) 70%, transparent);border:1px solid var(--wzl-border-strong);cursor:ew-resize;-webkit-backdrop-filter:blur(3px);font-variant-numeric:tabular-nums;width:14px;color:var(--wzl-fg-inverse);text-shadow:0 0 2px #ffffffb3;border-radius:3px;justify-content:center;align-items:center;margin-left:-7px;font:500 .65rem/1 ui-sans-serif,system-ui,sans-serif;display:flex;position:absolute;top:-2px;bottom:-2px;box-shadow:0 1px 2px #0003}._thumb_q2asl_35:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:1px}._thumbActive_q2asl_74{z-index:1}._readoutsBelow_q2asl_79{height:14px;margin-top:4px;position:relative}._readoutBelow_q2asl_85{color:var(--wzl-fg-muted);white-space:nowrap;font:500 .65rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:absolute;transform:translate(-50%)}._readoutInline_q2asl_93{color:var(--wzl-fg-muted);vertical-align:middle;margin-left:8px;font:500 .7rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-block}._notched_q2asl_101{background:var(--thumb-svg,none);-webkit-backdrop-filter:none;box-shadow:none;filter:drop-shadow(0 1px 1px #00000040);--thumb-svg:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 30' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 2.52,0 7,10.3 11.48,0 14,0 14,30 0,30' fill='rgba(255,255,255,0.62)' stroke='rgba(0,0,0,0.55)' stroke-width='0.75' stroke-linejoin='miter'/%3E%3C/svg%3E");background-color:#0000;background-repeat:no-repeat;background-size:100% 100%;border:none}._root_1pyfg_6{height:var(--wzl-tb-height,28px);-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#0000002e 0%,#0000000d 100%);border-radius:999px;padding:2px;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px 2px #0006,0 1px #ffffff0f}._segment_1pyfg_28{min-width:0;font-family:var(--wzl-font-ui);font-weight:300;font-size:var(--btn-fontsize,14px);color:var(--wzl-fg-muted);cursor:pointer;isolation:isolate;transition:color var(--wzl-motion-fast);background:0 0;border:none;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;margin:0;padding:0 12px;line-height:1;display:inline-flex;position:relative;overflow:hidden}._segment_1pyfg_28:first-child{border-radius:999px 0 0 999px}._segment_1pyfg_28:last-child{border-radius:0 999px 999px 0}._segment_1pyfg_28:only-child{border-radius:999px}._segment_1pyfg_28:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:-2px}._segment_1pyfg_28:disabled{opacity:.5;cursor:not-allowed}._segment_1pyfg_28:hover:not(:disabled):not(._segmentSelected_1pyfg_75){color:var(--wzl-fg)}._segmentSelected_1pyfg_75{background:linear-gradient(180deg, color-mix(in srgb, var(--wzl-accent) var(--btn-top-alpha,45%), transparent) 0%, color-mix(in srgb, var(--wzl-accent) var(--btn-upper-alpha,70%), transparent) calc(var(--btn-equator,52%) - var(--btn-equator-spread,12%)), color-mix(in srgb, var(--wzl-accent) var(--btn-equator-tint,95%), white) var(--btn-equator,52%), var(--wzl-accent) calc(var(--btn-equator,52%) + var(--btn-equator-spread,12%) * 1.6), color-mix(in srgb, var(--wzl-accent) var(--btn-base-tint,70%), black) 100%);-webkit-backdrop-filter:blur(var(--btn-blur,6px)) saturate(var(--btn-saturate,1.3));color:var(--wzl-fg-on-accent);text-shadow:0 1px 0 rgba(0, 0, 0, var(--btn-text-shadow,.35)), var(--btn-text-inset-x,0px) var(--btn-text-inset-y,1px) 0 rgba(0, 0, 0, var(--btn-text-inset,.55)), 0 0 6px rgba(0, 0, 0, calc(var(--btn-text-shadow,.35) * .5));box-shadow:inset 0 1px 0 rgba(255, 255, 255, var(--btn-inset-hi,.42)), inset 0 -1px 2px rgba(0, 0, 0, var(--btn-inset-lo,.3)), 0 0 0 1px rgba(0, 0, 0, var(--btn-rim,.22)), 0 1px 2px rgba(0, 0, 0, var(--btn-drop-near,.3)), 0 2px 4px rgba(0, 0, 0, calc(var(--btn-drop-far,.18) * .8))}._segmentSelected_1pyfg_75:before{content:"";inset:1px 1px var(--btn-gloss-bottom,50%) 1px;border-radius:inherit;background:linear-gradient(180deg, rgba(255, 255, 255, var(--btn-gloss-top,.42)) 0%, rgba(255, 255, 255, var(--btn-gloss-mid,.12)) 60%, #fff0 100%);pointer-events:none;z-index:1;border-bottom-right-radius:0;border-bottom-left-radius:0;position:absolute}._segmentSelected_1pyfg_75>*{z-index:2;position:relative}._segmentMixed_1pyfg_134{background:color-mix(in srgb, var(--wzl-accent) 22%, transparent);color:var(--wzl-fg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wzl-accent) 45%, transparent)}._segmentMixed_1pyfg_134:hover:not(:disabled){background:color-mix(in srgb, var(--wzl-accent) 32%, transparent)}._variant_minimal_1pyfg_144 ._segmentMixed_1pyfg_134{background:color-mix(in srgb, var(--wzl-accent) 18%, transparent);box-shadow:none;color:var(--wzl-fg)}._size_sm_1pyfg_153{height:17px;padding:1px}._size_sm_1pyfg_153 ._segment_1pyfg_28{padding:0 8px;font-size:11px}._variant_minimal_1pyfg_144{border:1px solid var(--wzl-border,#ffffff2e);height:auto;box-shadow:none;background:0 0;border-radius:3px;gap:0;padding:0}._variant_minimal_1pyfg_144 ._segment_1pyfg_28{color:var(--wzl-fg-muted);border-radius:0;padding:0 6px;font-size:11px;font-weight:400;line-height:1.4;transition:none}._variant_minimal_1pyfg_144 ._segment_1pyfg_28+._segment_1pyfg_28{border-left:1px solid var(--wzl-border,#ffffff2e)}._variant_minimal_1pyfg_144 ._segment_1pyfg_28:first-child,._variant_minimal_1pyfg_144 ._segment_1pyfg_28:last-child,._variant_minimal_1pyfg_144 ._segment_1pyfg_28:only-child{border-radius:0}._variant_minimal_1pyfg_144 ._segment_1pyfg_28:hover:not(:disabled):not(._segmentSelected_1pyfg_75){color:var(--wzl-fg);background:#ffffff0f}._variant_minimal_1pyfg_144 ._segmentSelected_1pyfg_75{-webkit-backdrop-filter:none;color:var(--wzl-accent-fg,var(--wzl-accent));text-shadow:none;box-shadow:none;background:0 0;font-weight:500}._variant_minimal_1pyfg_144 ._segmentSelected_1pyfg_75:before{content:none}._root_15yko_1{flex-direction:column;gap:8px;min-inline-size:0;display:flex}._swatches_15yko_8{flex-wrap:wrap;gap:6px;display:flex}._swatch_15yko_8{flex:0 auto;min-inline-size:0}._overlay_6yu3h_3{pointer-events:none;position:absolute;inset:0}._guide_6yu3h_13{fill:none;stroke:#fff;stroke-opacity:.7;stroke-dasharray:4 4;paint-order:stroke}._handle_6yu3h_21{fill:#fff;stroke:#222;stroke-width:2px;cursor:grab;pointer-events:auto}._handle_6yu3h_21:active{cursor:grabbing}._handle_6yu3h_21:focus-visible{outline:2px solid var(--wzl-accent,#4a9eff);outline-offset:2px}._field_cahom_1{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}._frame_cahom_9{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);height:24px;color:var(--wzl-fg);font-family:var(--wzl-font-ui);transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);align-items:center;gap:6px;padding:0 8px;font-size:13px;line-height:1;display:flex}._frame_cahom_9:focus-within{border-color:var(--wzl-focus-ring);box-shadow:0 0 0 1px var(--wzl-focus-ring)}._field_cahom_1[data-invalid] ._frame_cahom_9{border-color:var(--wzl-danger,#ff5b5b)}._field_cahom_1[data-disabled] ._frame_cahom_9{opacity:.5;cursor:not-allowed}._frame_cahom_9 input{min-width:0;color:inherit;font:inherit;background:0 0;border:none;outline:none;flex:1;padding:0}._frame_cahom_9 input::placeholder{color:var(--wzl-fg-subtle)}._adornment_cahom_54{color:var(--wzl-fg-subtle);pointer-events:none;align-items:center;font-size:12px;display:inline-flex}._keys_n4bkk_2{vertical-align:bottom;flex-wrap:wrap;align-items:flex-end;gap:3px;display:inline-flex}._keysEmpty_n4bkk_16{color:var(--wzl-fg-muted)}._sep_n4bkk_20{color:var(--wzl-fg-muted);font-size:11px;line-height:1}._key_n4bkk_2{box-sizing:border-box;background:var(--wzl-fg,#e6e7e9);height:18px;color:var(--wzl-surface);border:1px solid #25272c;border-bottom-width:2px;border-radius:3px;justify-content:center;align-items:center;padding:0 4px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;line-height:1;display:inline-flex}._key_n4bkk_2[data-kind=square]{width:18px;padding:0}._key_n4bkk_2[data-kind=modifier]{min-width:26px;padding:0 6px}._key_n4bkk_2[data-kind=wide]{min-width:32px;padding:0 8px}._key_n4bkk_2[data-inverted]{background:var(--wzl-surface);color:color-mix(in srgb, var(--wzl-fg,#e6e7e9) 60%, transparent);border-style:dotted;border-color:color-mix(in srgb, var(--wzl-fg,#e6e7e9) 40%, transparent);border-width:1.5px}._key_n4bkk_2[data-variant=minimal]{color:currentColor;background:0 0;border-color:currentColor}._key_n4bkk_2[data-variant=minimal][data-inverted]{color:currentColor;border:1.5px dotted}._field_e75yx_1{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}._frame_e75yx_9{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);height:24px;color:var(--wzl-fg);font-family:var(--wzl-font-ui);transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);align-items:stretch;font-size:13px;line-height:1;display:flex;overflow:hidden}._frame_e75yx_9:focus-within{border-color:var(--wzl-focus-ring);box-shadow:0 0 0 1px var(--wzl-focus-ring)}._field_e75yx_1[data-invalid] ._frame_e75yx_9{border-color:var(--wzl-danger,#ff5b5b)}._field_e75yx_1[data-disabled] ._frame_e75yx_9{opacity:.5;cursor:not-allowed}._frame_e75yx_9 input{min-width:0;color:inherit;font:inherit;text-align:right;-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1;padding:0 8px}._frame_e75yx_9 input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}._frame_e75yx_9 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}._steppers_e75yx_57{border-left:1px solid var(--wzl-border);flex-direction:column;display:flex}._stepper_e75yx_57{width:18px;color:var(--wzl-fg-muted);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0;font-size:9px;line-height:1;display:inline-flex}._stepper_e75yx_57:not(:last-child){border-bottom:1px solid var(--wzl-border)}._stepper_e75yx_57[data-hovered]:not([data-disabled]){background:color-mix(in srgb, var(--wzl-fg) 10%, transparent);color:var(--wzl-fg)}._stepper_e75yx_57[data-pressed]:not([data-disabled]){background:color-mix(in srgb, var(--wzl-fg) 18%, transparent)}._stepper_e75yx_57[data-disabled]{opacity:.4;cursor:not-allowed}._row_q3wun_1{align-items:stretch;gap:var(--powerline-gap,.2em);display:inline-flex}._matrix_q3wun_7{gap:12px;display:grid}._segment_q3wun_15{font-size:inherit;text-transform:none;letter-spacing:normal}._group_kaubu_1{font-family:var(--wzl-font-ui);color:var(--wzl-fg);flex-direction:column;gap:6px;display:flex}._group_kaubu_1[data-orientation=horizontal]{flex-direction:row;gap:16px}._legend_kaubu_14{color:var(--wzl-fg);font-size:12px;font-weight:500}._radio_kaubu_20{cursor:pointer;color:var(--wzl-fg);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}._radio_kaubu_20[data-disabled]{opacity:.5;cursor:not-allowed}._dot_kaubu_36{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border-strong);width:14px;height:14px;transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);border-radius:50%;flex:none;position:relative}._radio_kaubu_20[data-focus-visible] ._dot_kaubu_36{box-shadow:0 0 0 2px var(--wzl-focus-ring)}._radio_kaubu_20[data-hovered]:not([data-disabled]) ._dot_kaubu_36{border-color:var(--wzl-fg-muted)}._radio_kaubu_20[data-selected] ._dot_kaubu_36{border-color:var(--wzl-accent-strong)}._dot_kaubu_36:after{content:"";background:var(--wzl-accent-strong);transition:transform var(--wzl-motion-fast);border-radius:50%;position:absolute;inset:3px;transform:scale(0)}._radio_kaubu_20[data-selected] ._dot_kaubu_36:after{transform:scale(1)}._slider_1644w_1{width:100%;font-family:var(--wzl-font-ui);color:var(--wzl-fg);flex-direction:column;gap:4px;display:flex}._slider_1644w_1[data-orientation=vertical]{flex-direction:row;align-items:stretch;width:28px;height:160px}._head_1644w_17{justify-content:space-between;align-items:baseline;gap:8px;display:flex}._label_1644w_24{color:var(--wzl-fg);font-size:12px;font-weight:500}._output_1644w_30{color:var(--wzl-fg-subtle);font-variant-numeric:tabular-nums;font-size:12px}._track_1644w_36{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:3px;min-width:80px;height:6px;position:relative}._slider_1644w_1[data-orientation=vertical] ._track_1644w_36{width:6px;height:100%}._fill_1644w_50{background:var(--wzl-accent-strong);border-radius:3px;position:absolute;top:0;bottom:0;left:0}._thumb_1644w_59{background:var(--wzl-fg-muted);border:1px solid var(--wzl-border-strong);cursor:ew-resize;width:14px;height:14px;transition:box-shadow var(--wzl-motion-fast);border-radius:50%;outline:none}._slider_1644w_1[data-orientation=vertical] ._thumb_1644w_59{cursor:ns-resize}._thumb_1644w_59[data-focus-visible]{box-shadow:0 0 0 2px var(--wzl-focus-ring)}._thumb_1644w_59[data-dragging]{background:var(--wzl-accent-strong)}._slider_1644w_1[data-disabled]{opacity:.5;cursor:not-allowed}._field_nq1le_1{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}._trigger_nq1le_9{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);width:100%;height:24px;color:var(--wzl-fg);font-family:var(--wzl-font-ui);cursor:pointer;transition:border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);align-items:center;gap:6px;padding:0 6px 0 10px;font-size:13px;line-height:1;display:flex}._trigger_nq1le_9[data-focus-visible]{border-color:var(--wzl-focus-ring);box-shadow:0 0 0 1px var(--wzl-focus-ring)}._field_nq1le_1[data-invalid] ._trigger_nq1le_9{border-color:var(--wzl-danger,#ff5b5b)}._trigger_nq1le_9[data-disabled]{opacity:.5;cursor:not-allowed}._value_nq1le_41{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}._value_nq1le_41[data-placeholder]{color:var(--wzl-fg-subtle)}._chevron_nq1le_54{width:10px;height:10px;color:var(--wzl-fg-muted);flex:none}._popover_nq1le_61{min-width:var(--trigger-width);max-height:inherit;outline:none}._listbox_nq1le_67{background:var(--wzl-surface-raised);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-md);max-height:280px;font-family:var(--wzl-font-ui);outline:none;padding:4px;font-size:13px;overflow:auto;box-shadow:0 8px 24px #0000004d}._option_nq1le_80{cursor:pointer;color:var(--wzl-fg);border-radius:3px;outline:none;align-items:center;gap:8px;padding:4px 8px;display:flex}._option_nq1le_80[data-focused]{background:color-mix(in srgb, var(--wzl-fg) 10%, transparent)}._option_nq1le_80[data-selected]{color:var(--wzl-fg);font-weight:500}._option_nq1le_80[data-disabled]{opacity:.4;cursor:not-allowed}._check_nq1le_105{opacity:0;flex:none;width:10px;height:10px}._option_nq1le_80[data-selected] ._check_nq1le_105{opacity:1}._switch_qsj3o_1{cursor:pointer;font-family:var(--wzl-font-ui);color:var(--wzl-fg);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}._switch_qsj3o_1[data-disabled]{opacity:.5;cursor:not-allowed}._track_qsj3o_18{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border-strong);width:28px;height:16px;transition:background-color var(--wzl-motion-fast), border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);border-radius:8px;flex:none;position:relative}._switch_qsj3o_1[data-focus-visible] ._track_qsj3o_18{box-shadow:0 0 0 2px var(--wzl-focus-ring)}._switch_qsj3o_1[data-selected] ._track_qsj3o_18{background:var(--wzl-accent-strong);border-color:var(--wzl-accent-strong)}._thumb_qsj3o_38{background:var(--wzl-fg);width:12px;height:12px;transition:transform var(--wzl-motion-fast);border-radius:50%;position:absolute;top:1px;left:1px}._switch_qsj3o_1[data-selected] ._thumb_qsj3o_38{background:var(--wzl-fg-on-accent);transform:translate(12px)}._label_qsj3o_54{line-height:1.2}._columns_y5ks5_5{flex-flow:wrap;align-items:flex-start;gap:12px;padding-right:4px;display:flex;overflow-y:auto}._column_y5ks5_5{flex:0 0 var(--wzl-prefs-column-width,300px);width:var(--wzl-prefs-column-width,300px);flex-direction:column;gap:8px;display:flex}._panel_y5ks5_23{background:var(--wzl-surface-sunken);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);flex-direction:column;gap:8px;padding:10px;display:flex}._subpanel_y5ks5_33{background:var(--wzl-surface-sunken);border-left:2px solid var(--wzl-border);border-radius:2px;flex-direction:column;gap:6px;margin-top:6px;padding:8px 8px 8px 10px;display:flex}._groupHeader_y5ks5_44{border-bottom:1px solid var(--wzl-border);flex-direction:column;gap:2px;padding-bottom:4px;display:flex}._subpanel_y5ks5_33 ._groupHeader_y5ks5_44{border-bottom:none;padding-bottom:2px}._groupTitle_y5ks5_57{color:var(--wzl-fg);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}._subpanel_y5ks5_33 ._groupTitle_y5ks5_57{text-transform:none;letter-spacing:0;font-size:11px}._groupDesc_y5ks5_72{color:var(--wzl-fg-subtle);margin:0;font-size:11px;line-height:1.35}._rows_y5ks5_79{flex-direction:column;gap:6px;display:flex}._row_y5ks5_79{color:var(--wzl-fg);cursor:default;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}._rowLabel_y5ks5_95{flex:auto;align-items:center;gap:4px;min-width:0;display:inline-flex}._help_y5ks5_104{color:var(--wzl-fg-subtle);cursor:help;border-radius:var(--wzl-radius-sm);background:0 0;border:none;flex:none;padding:0;font-size:11px;line-height:1}._help_y5ks5_104:hover{color:var(--wzl-fg)}._help_y5ks5_104:focus-visible{outline:2px solid var(--wzl-focus-ring);outline-offset:1px;color:var(--wzl-fg)}._rowControl_y5ks5_128{flex:0 0 110px;align-items:center;min-width:0;display:flex}._textarea_y5ks5_135{background:var(--wzl-surface-sunken);width:100%;color:var(--wzl-fg);border:1px solid var(--wzl-border);border-radius:var(--wzl-radius-sm);font:inherit;resize:vertical;padding:4px 8px;font-size:12px}._unrenderable_y5ks5_147{font-family:var(--wzl-font-mono);color:var(--wzl-fg-subtle);font-size:11px}._titleRow_y5ks5_154{flex:1;align-items:center;gap:12px;min-width:0;display:flex}._titleRow_y5ks5_154>span:first-child{flex:1;min-width:0}._handle_c4v7n_1{cursor:ew-resize;border-left:1px solid var(--wzl-border);touch-action:none;background:0 0;flex-shrink:0;align-self:stretch;width:4px}._handle_c4v7n_1._horizontal_c4v7n_14{cursor:ns-resize;border-left:none;border-top:1px solid var(--wzl-border);align-self:auto;width:auto;height:4px}._handle_c4v7n_1:hover{background:var(--wzl-border)}._handle_c4v7n_1:focus-visible{outline:2px solid var(--wzl-focus-ring,var(--wzl-accent));outline-offset:-1px}._root_zqa5p_1{color:var(--wzl-fg);flex-direction:column;font-size:12px;display:flex}._header_zqa5p_8{border-block-end:1px solid var(--wzl-border);align-items:baseline;gap:8px;padding:8px 10px;display:flex}._kind_zqa5p_16{font-size:13px;font-weight:600}._breakdown_zqa5p_21{opacity:.6;font-size:11px}._section_zqa5p_26{border-block-end:1px solid var(--wzl-border);padding:6px 10px 8px}._section_zqa5p_26:last-child{border-block-end:none}._sectionTitle_zqa5p_35{text-transform:uppercase;letter-spacing:.06em;opacity:.55;margin:0 0 6px;font-size:10px;font-weight:600}._row_zqa5p_44{grid-template-columns:64px 1fr;align-items:center;gap:6px;margin-block-end:5px;display:grid}._rowLabel_zqa5p_52{opacity:.75}._rowControls_zqa5p_56{align-items:center;gap:6px;min-inline-size:0;display:flex}._rowControls_zqa5p_56>*{flex:1;min-inline-size:0}._number_zqa5p_68 input,._select_zqa5p_69{font-size:11px}._unitSuffix_zqa5p_73{opacity:.6;flex:none;font-size:11px}._mixedSwitch_zqa5p_79{opacity:.55}._unrenderable_zqa5p_83{opacity:.5;font-size:11px;font-style:italic}._sidebar_toyo8_1{background:var(--wzl-surface);color:var(--wzl-fg);flex-direction:column;gap:4px;display:flex}._sidebar_toyo8_1._left_toyo8_9{border-right:1px solid var(--wzl-border)}._sidebar_toyo8_1._right_toyo8_12{border-left:1px solid var(--wzl-border)}._panel_1u064_1{background:var(--wzl-surface);color:var(--wzl-fg);padding:8px}._title_1u064_7{text-transform:uppercase;letter-spacing:.05em;color:var(--wzl-fg-muted);font-size:11px;font-weight:600}._titleRow_1u064_15{justify-content:space-between;align-items:center;margin-bottom:4px;padding:0;display:flex}._titleButton_1u064_23{cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}._titleButton_1u064_23:hover{color:var(--wzl-fg)}._chevron_1u064_40{color:var(--wzl-fg-muted);transition:transform var(--wzl-motion-fast) ease;font-size:10px;line-height:1;display:inline-block}._chevronCollapsed_1u064_47{transform:rotate(-90deg)}._hideButton_1u064_51{color:var(--wzl-fg-muted);cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:14px;line-height:1}._hideButton_1u064_51:hover{color:var(--wzl-fg)}._panel_1u064_1._collapsed_1u064_64{padding-bottom:4px}._body_1u064_68{padding:0 4px}._bar_38xae_1{font-family:var(--wzl-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--wzl-fg-muted);background:var(--wzl-surface);border-top:1px solid var(--wzl-border);flex-shrink:0;align-items:center;gap:16px;padding:4px 12px;font-size:11px;display:flex}._item_38xae_14{white-space:nowrap}._muted_38xae_18{opacity:.6;font-variant-numeric:tabular-nums}._hasTitle_38xae_23{cursor:help}._spacer_38xae_27{margin-left:auto}._tabs_ce73l_1{font-family:var(--wzl-font-ui);color:var(--wzl-fg);flex-direction:column;gap:0;display:flex}._tabs_ce73l_1[data-orientation=horizontal]{flex-direction:column}._tabs_ce73l_1[data-orientation=vertical]{flex-direction:row;gap:12px}._list_ce73l_18{border-bottom:1px solid var(--wzl-border);gap:2px;display:flex}._tabs_ce73l_1[data-orientation=vertical] ._list_ce73l_18{border-bottom:none;border-right:1px solid var(--wzl-border);flex-direction:column;padding-right:8px}._tab_ce73l_1{color:var(--wzl-fg-muted);font:inherit;cursor:pointer;transition:color var(--wzl-motion-fast);background:0 0;border:none;outline:none;padding:6px 10px;font-size:12px;position:relative}._tab_ce73l_1[data-hovered]:not([data-disabled]),._tab_ce73l_1[data-selected]{color:var(--wzl-fg)}._tab_ce73l_1[data-selected]:after{content:"";background:var(--wzl-accent-strong);height:2px;position:absolute;bottom:-1px;left:0;right:0}._tabs_ce73l_1[data-orientation=vertical] ._tab_ce73l_1[data-selected]:after{width:2px;height:auto;inset:0 -9px 0 auto}._tab_ce73l_1[data-focus-visible]{box-shadow:inset 0 0 0 2px var(--wzl-focus-ring);border-radius:var(--wzl-radius-sm)}._tab_ce73l_1[data-disabled]{opacity:.5;cursor:not-allowed}._panel_ce73l_81{outline:none;padding:12px 0}._panel_ce73l_81[data-focus-visible]{box-shadow:inset 0 0 0 2px var(--wzl-focus-ring);border-radius:var(--wzl-radius-sm)}._region_18i9b_1{z-index:1100;outline:none;flex-direction:column-reverse;gap:8px;max-width:360px;display:flex;position:fixed}._bottomRight_18i9b_17{bottom:16px;right:16px}._bottomLeft_18i9b_18{bottom:16px;left:16px}._topRight_18i9b_19{flex-direction:column;top:16px;right:16px}._topLeft_18i9b_20{flex-direction:column;top:16px;left:16px}._toast_18i9b_22{--toast-accent:var(--wzl-accent-strong);view-transition-class:wzl-toast;background:var(--wzl-surface);border:1px solid var(--wzl-border);border-left:3px solid var(--toast-accent);border-radius:var(--wzl-radius-md);color:var(--wzl-fg);font-family:var(--wzl-font-ui);outline:none;align-items:flex-start;gap:8px;padding:10px 12px;display:flex;box-shadow:0 8px 24px #00000059}._region_18i9b_1[data-focus-visible],._toast_18i9b_22[data-focus-visible]{outline:2px solid var(--wzl-focus-ring);outline-offset:1px}._toneSuccess_18i9b_49{--toast-accent:var(--wzl-success,#2ec27e)}._toneWarning_18i9b_50{--toast-accent:var(--wzl-warning,#d99a3f)}._toneError_18i9b_51{--toast-accent:var(--wzl-danger,#d94a3f)}._content_18i9b_53{flex:1;min-width:0}._title_18i9b_58{font-size:13px;font-weight:600;display:block}._description_18i9b_64{color:var(--wzl-fg-muted);margin-top:2px;font-size:12px;display:block}._close_18i9b_71{color:var(--wzl-fg-muted);cursor:pointer;border-radius:var(--wzl-radius-sm);background:0 0;border:none;flex:none;padding:2px 4px;font-size:16px;line-height:1}._close_18i9b_71:hover{color:var(--wzl-fg)}:root.wzl-toast-vt{view-transition-name:none}:root.wzl-toast-vt::view-transition{pointer-events:none}:root.wzl-toast-vt::view-transition-new(.wzl-toast):only-child{animation:wzl-toast-enter var(--wzl-motion-medium,.24s) var(--wzl-ease-out-cubic,ease-out) both}:root.wzl-toast-vt::view-transition-old(.wzl-toast):only-child{animation:wzl-toast-exit var(--wzl-motion-fast,.12s) var(--wzl-ease-in-cubic,ease-in) both}@keyframes wzl-toast-enter{0%{opacity:0;translate:0 16px}}@keyframes wzl-toast-exit{to{opacity:0;scale:.92}}._button_1jvxe_1{min-width:44px;color:var(--wzl-fg);cursor:default;background:0 0;border:1px solid #0000;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-family:inherit;font-size:10px;line-height:1.1;display:inline-flex}._button_1jvxe_1:hover:not([disabled]){background:var(--wzl-surface-hover);color:var(--wzl-fg)}._button_1jvxe_1:focus-visible{outline:2px solid var(--wzl-accent);outline-offset:-2px}._button_1jvxe_1._active_1jvxe_26{background:var(--wzl-surface-pressed);border-color:var(--wzl-accent);color:var(--wzl-fg)}._button_1jvxe_1[disabled]{opacity:.4}._icon_1jvxe_35,._icon_1jvxe_35>svg{display:block}._label_1jvxe_37{font-size:10px}._shortcut_1jvxe_38{color:var(--wzl-fg-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}._group_o2pho_1{flex-direction:column;gap:2px;display:flex}._group_o2pho_1._horizontal_o2pho_6{flex-direction:row}._root_ps46a_13{height:var(--wzl-tb-height,28px);background:var(--wzl-surface);border-bottom:1px solid var(--wzl-border);color:var(--wzl-fg);align-items:center;gap:8px;padding:0 8px;display:flex;overflow:hidden}._label_ps46a_25{text-transform:uppercase;letter-spacing:.05em;color:var(--wzl-fg-muted);white-space:nowrap;flex:none;font-size:11px;font-weight:600}._controls_ps46a_6{scrollbar-width:thin;flex:auto;align-items:center;gap:6px;min-width:0;height:100%;display:flex;overflow:auto hidden}._controls_ps46a_6::-webkit-scrollbar{height:4px}._controls_ps46a_6::-webkit-scrollbar-track{background:0 0}._controls_ps46a_6::-webkit-scrollbar-thumb{background:var(--wzl-border);border-radius:2px}._palette_1mz1c_1{background:var(--wzl-surface);border:1px solid var(--wzl-border);-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;gap:4px;padding:4px;display:flex}._palette_1mz1c_1._horizontal_1mz1c_11{flex-direction:row}._ineligibleBtn_1mz1c_20{opacity:.35;cursor:not-allowed}._separator_1mz1c_25{background:var(--wzl-border)}._palette_1mz1c_1:not(._horizontal_1mz1c_11) ._separator_1mz1c_25{height:1px;margin:2px 0}._palette_1mz1c_1._horizontal_1mz1c_11 ._separator_1mz1c_25{width:1px;margin:0 2px}
2
2
  /*$vite$:1*/
@@ -1,4 +1,5 @@
1
1
  import type { ReactNode, PointerEvent as ReactPointerEvent, RefCallback } from 'react';
2
+ /** One row in a reorderable list. */
2
3
  export interface LayerListItem {
3
4
  id: string;
4
5
  label: ReactNode;
@@ -8,6 +9,10 @@ export interface LayerListItem {
8
9
  /** Optional color swatch rendered before the label. Any CSS color string. */
9
10
  swatch?: string;
10
11
  }
12
+ /**
13
+ * Options for {@link useReorderDragList}. `onReorder` receives the dragged ids
14
+ * and the index they were dropped at, measured against the pre-drag `items`.
15
+ */
11
16
  export interface UseReorderDragListOptions {
12
17
  items: LayerListItem[];
13
18
  selectedIds: string[];
@@ -15,10 +20,18 @@ export interface UseReorderDragListOptions {
15
20
  /** Pointer-move distance (px) before pending drag engages. Default 4. */
16
21
  threshold?: number;
17
22
  }
23
+ /**
24
+ * Live drag state for rendering feedback: which ids are being dragged and the
25
+ * insertion index the drop would use. Both `null` when no drag is engaged.
26
+ */
18
27
  export interface ReorderDragState {
19
28
  draggedIds: string[] | null;
20
29
  targetIndex: number | null;
21
30
  }
31
+ /**
32
+ * Props to spread onto the list container and each row, plus the live
33
+ * {@link ReorderDragState}.
34
+ */
22
35
  export interface ReorderDragHandlers {
23
36
  rowProps(id: string, index: number): {
24
37
  onPointerDown(e: ReactPointerEvent): void;
@@ -31,5 +44,15 @@ export interface ReorderDragHandlers {
31
44
  };
32
45
  state: ReorderDragState;
33
46
  }
47
+ /**
48
+ * Drag-to-reorder for a vertical list of rows. Dragging a row that is part of
49
+ * the current selection drags the whole selection; dragging any other row
50
+ * drags just that row. Locked rows can neither be dragged nor crossed by a
51
+ * drop. A drop that would leave a contiguous block where it already is does
52
+ * not call `onReorder`.
53
+ *
54
+ * The pointer is captured on the row, so a drag that leaves the list still
55
+ * tracks and still releases cleanly.
56
+ */
34
57
  export declare function useReorderDragList(opts: UseReorderDragListOptions): ReorderDragHandlers;
35
58
  //# sourceMappingURL=useReorderDragList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReorderDragList.d.ts","sourceRoot":"","sources":["../src/useReorderDragList.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,IAAI,iBAAiB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB;8DAC0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,aAAa,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;KAAE,CAAC;IACnF,cAAc,EAAE;QACd,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAC9B,aAAa,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;QAC1C,WAAW,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;QACxC,eAAe,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;KAC7C,CAAC;IACF,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAeD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,mBAAmB,CAqIvF"}
1
+ {"version":3,"file":"useReorderDragList.d.ts","sourceRoot":"","sources":["../src/useReorderDragList.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,IAAI,iBAAiB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEvF,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB;8DAC0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,aAAa,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;KAAE,CAAC;IACnF,cAAc,EAAE;QACd,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAC9B,aAAa,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;QAC1C,WAAW,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;QACxC,eAAe,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;KAC7C,CAAC;IACF,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAgCD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,mBAAmB,CAqIvF"}
@@ -4,6 +4,7 @@ import { type KeyboardEvent as ReactKeyboardEvent, type RefObject } from 'react'
4
4
  export type RovingItem = {
5
5
  disabled?: boolean;
6
6
  };
7
+ /** Options for {@link useRovingTabIndex}. */
7
8
  export type UseRovingTabIndexOptions = {
8
9
  /** In the same order as the elements carrying `itemClassName`. */
9
10
  items: readonly RovingItem[];
@@ -21,6 +22,10 @@ export type UseRovingTabIndexOptions = {
21
22
  * alone, which on a native `<button>` produces an ordinary click. */
22
23
  onActivate?: (index: number) => void;
23
24
  };
25
+ /**
26
+ * What {@link useRovingTabIndex} returns: a container ref plus the per-item
27
+ * `tabIndex` and `onKeyDown` values to spread onto each item.
28
+ */
24
29
  export type RovingTabIndex<T extends HTMLElement = HTMLDivElement> = {
25
30
  /** Attach to the container element that holds the items. */
26
31
  rootRef: RefObject<T | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"useRovingTabIndex.d.ts","sourceRoot":"","sources":["../src/useRovingTabIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,IAAI,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzF;mCACmC;AACnC,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,kEAAkE;IAClE,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B;iFAC6E;IAC7E,aAAa,EAAE,MAAM,CAAC;IACtB;;yBAEqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;gFAC4E;IAC5E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;0EACsE;IACtE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,IAAI;IACnE,4DAA4D;IAC5D,OAAO,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,gDAAgD;IAChD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,2CAA2C;IAC3C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC5E,CAAC;AA8BF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,EACtE,OAAO,EAAE,wBAAwB,GAChC,cAAc,CAAC,CAAC,CAAC,CAmDnB"}
1
+ {"version":3,"file":"useRovingTabIndex.d.ts","sourceRoot":"","sources":["../src/useRovingTabIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,IAAI,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzF;mCACmC;AACnC,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhD,6CAA6C;AAC7C,MAAM,MAAM,wBAAwB,GAAG;IACrC,kEAAkE;IAClE,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B;iFAC6E;IAC7E,aAAa,EAAE,MAAM,CAAC;IACtB;;yBAEqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;gFAC4E;IAC5E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;0EACsE;IACtE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,IAAI;IACnE,4DAA4D;IAC5D,OAAO,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,gDAAgD;IAChD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,2CAA2C;IAC3C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC5E,CAAC;AA8BF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,EACtE,OAAO,EAAE,wBAAwB,GAChC,cAAc,CAAC,CAAC,CAAC,CAmDnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weasel-js/ui",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "UI chrome primitives for weasel apps (properties panel, etc.)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -23,7 +23,7 @@
23
23
  "./package.json": "./package.json"
24
24
  },
25
25
  "dependencies": {
26
- "@weasel-js/modes": "1.0.2",
26
+ "@weasel-js/modes": "1.0.4",
27
27
  "react-aria-components": "^1.5.0"
28
28
  },
29
29
  "peerDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActionBar-GThu74LC.js","names":[],"sources":["../../src/components/ActionBar/ActionBar.module.css","../../src/components/ActionBar/ActionBar.tsx"],"sourcesContent":["/* `<ActionBar>` shares the segmented widget look of the WeaselDraw\n * pathfinder panel — small chrome on the panel surface so a bar of\n * Action buttons reads as a single control. Tokens are theme-driven\n * via `--wzl-*`. Visual parity with `PathfinderPanel.module.css` is\n * intentional; this is the generic version. */\n\n.bar {\n display: flex;\n flex-direction: row;\n gap: 1px;\n background: var(--wzl-surface);\n border: 1px solid var(--wzl-border);\n border-radius: 4px;\n padding: 2px;\n user-select: none;\n}\n\n.bar.vertical {\n flex-direction: column;\n}\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n background: transparent;\n border: 0;\n border-radius: 2px;\n color: var(--wzl-fg);\n cursor: default;\n}\n\n.button:hover:not([disabled]) {\n background: var(--wzl-border);\n}\n\n.button:active:not([disabled]) {\n background: color-mix(in srgb, var(--wzl-border) 70%, transparent);\n}\n\n.button[disabled] {\n opacity: 0.4;\n cursor: default;\n}\n\n.button > svg {\n display: block;\n}\n","import { useSyncExternalStore, type ReactNode } from 'react';\nimport { Focusable } from 'react-aria-components';\nimport {\n useActionsRegistry,\n useOptionalDepRegistry,\n evaluateEnabled,\n type Action,\n} from '@weasel-js/core';\nimport { Tooltip, TooltipTrigger } from '../Tooltip';\nimport s from './ActionBar.module.css';\n\nconst EMPTY_LIST: readonly Action[] = Object.freeze([]);\nconst noopSubscribe = (): (() => void) => () => {};\n\nexport interface ActionBarProps {\n /** Group key — only actions with `action.group === group` are rendered. */\n group: string;\n /** Layout direction. Defaults to `'horizontal'`. */\n orientation?: 'horizontal' | 'vertical';\n /**\n * Per-id icon overrides — keyed by `action.id`. When an entry is provided\n * it replaces the action's own `icon` for this bar only. Mirrors\n * `PathfinderPanelProps.icons` so call sites that ship custom glyph sets\n * can swap them in without re-registering actions.\n */\n icons?: Record<string, ReactNode>;\n /**\n * Per-id label overrides — keyed by `action.id`. Drives both `aria-label`\n * and `title`. When omitted, the action's own `label` is used.\n */\n labels?: Record<string, string>;\n /** Additional class for the toolbar root. */\n className?: string;\n}\n\nfunction resolveIcon(action: Action, override: ReactNode | undefined): ReactNode {\n if (override !== undefined) return override;\n const i = action.icon;\n if (typeof i === 'function') return i();\n return i;\n}\n\nfunction resolveTitle(label: string, shortcut: string | undefined): string {\n return shortcut ? `${label} (${shortcut})` : label;\n}\n\n/**\n * Generic group-keyed action toolbar. Reads the parent `ActionsRegistry`,\n * filters to actions whose `group` matches `props.group`, and renders one\n * icon button per match. Disabled state is derived from each action's\n * `enabled` predicate via `evaluateEnabled` (so the button greys out and\n * swallows clicks while the keybinding — if any — still fires through the\n * registry's keydown listener; that's the registry's contract, not ours).\n *\n * Visual parity with the WeaselDraw `<PathfinderPanel>` is intentional;\n * this is the generic, registry-driven version. No keyboard navigation\n * (roving tabindex) yet — bar consumers today are short flat strips. Add\n * if/when a long bar lands.\n */\nexport function ActionBar(props: ActionBarProps) {\n const { group, orientation = 'horizontal', icons, labels, className } = props;\n const registry = useActionsRegistry();\n const depReg = useOptionalDepRegistry();\n const all = useSyncExternalStore(\n registry ? registry.subscribe : noopSubscribe,\n registry ? registry.list : () => EMPTY_LIST,\n registry ? registry.list : () => EMPTY_LIST,\n );\n const actions = all.filter((a) => a.group === group);\n\n // Build the deps bag fresh each render — predicates read selection / etc.\n // from these. ActionBar relies on its parent re-rendering when the\n // underlying state changes (e.g. the consumer reads `selection.current`\n // somewhere above us) for `enabled` to reflect the latest values.\n const deps = depReg\n ? {\n selection: depReg.get('selection'),\n scene: depReg.get('scene'),\n history: depReg.get('history'),\n view: depReg.get('view'),\n pointer: depReg.get('pointer'),\n activeTool: depReg.get('activeTool'),\n booleansAdapter: depReg.get('booleansAdapter'),\n }\n : undefined;\n\n const cls = [s.bar, orientation === 'vertical' && s.vertical, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={cls} role=\"toolbar\" aria-label={`${group} actions`}>\n {actions.map((action) => {\n const label = labels?.[action.id] ?? action.label;\n const icon = resolveIcon(action, icons?.[action.id]);\n const { enabled } = evaluateEnabled(action, deps);\n const disabled = !enabled;\n const title = resolveTitle(label, action.shortcut);\n return (\n <TooltipTrigger key={action.id} isDisabled={disabled}>\n <Focusable isDisabled={disabled}>\n <button\n type=\"button\"\n data-testid={`action-bar-item-${action.id}`}\n aria-label={label}\n aria-disabled={disabled || undefined}\n disabled={disabled}\n className={s.button}\n onClick={() => {\n if (disabled) return;\n // Dispatch through the registry so the enabled() guard runs.\n // If no registry is in scope the click is a no-op — ActionBar\n // is expected to render under an `ActionsProvider`.\n registry?.trigger(action.id);\n }}\n >\n {icon}\n </button>\n </Focusable>\n <Tooltip>{title}</Tooltip>\n </TooltipTrigger>\n );\n })}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;GCWM,IAAgC,OAAO,OAAO,EAAE,CAAC,EACjD,gBAA0C;AAuBhD,SAAS,EAAY,GAAgB,GAA4C;AAC/E,KAAI,MAAa,KAAA,EAAW,QAAO;CACnC,IAAM,IAAI,EAAO;AAEjB,QADI,OAAO,KAAM,aAAmB,GAAG,GAChC;;AAGT,SAAS,EAAa,GAAe,GAAsC;AACzE,QAAO,IAAW,GAAG,EAAM,IAAI,EAAS,KAAK;;AAgB/C,SAAgB,EAAU,GAAuB;CAC/C,IAAM,EAAE,UAAO,iBAAc,cAAc,UAAO,WAAQ,iBAAc,GAClE,IAAW,GAAoB,EAC/B,IAAS,GAAwB,EAMjC,IALM,EACV,IAAW,EAAS,YAAY,GAChC,IAAW,EAAS,aAAa,GACjC,IAAW,EAAS,aAAa,EAEnB,CAAI,QAAQ,MAAM,EAAE,UAAU,EAAM,EAM9C,IAAO,IACT;EACE,WAAW,EAAO,IAAI,YAAY;EAClC,OAAO,EAAO,IAAI,QAAQ;EAC1B,SAAS,EAAO,IAAI,UAAU;EAC9B,MAAM,EAAO,IAAI,OAAO;EACxB,SAAS,EAAO,IAAI,UAAU;EAC9B,YAAY,EAAO,IAAI,aAAa;EACpC,iBAAiB,EAAO,IAAI,kBAAkB;EAC/C,GACD,KAAA;AAMJ,QACE,kBAAC,OAAD;EAAK,WALK;GAAC,EAAE;GAAK,MAAgB,cAAc,EAAE;GAAU;GAAU,CACrE,OAAO,QAAQ,CACf,KAAK,IAGU;EAAK,MAAK;EAAU,cAAY,GAAG,EAAM;YACtD,EAAQ,KAAK,MAAW;GACvB,IAAM,IAAQ,IAAS,EAAO,OAAO,EAAO,OACtC,IAAO,EAAY,GAAQ,IAAQ,EAAO,IAAI,EAC9C,EAAE,eAAY,EAAgB,GAAQ,EAAK,EAC3C,IAAW,CAAC,GACZ,IAAQ,EAAa,GAAO,EAAO,SAAS;AAClD,UACE,kBAAC,GAAD;IAAgC,YAAY;cAA5C,CACE,kBAAC,GAAD;KAAW,YAAY;eACrB,kBAAC,UAAD;MACE,MAAK;MACL,eAAa,mBAAmB,EAAO;MACvC,cAAY;MACZ,iBAAe,KAAY,KAAA;MACjB;MACV,WAAW,EAAE;MACb,eAAe;AACT,YAIJ,GAAU,QAAQ,EAAO,GAAG;;gBAG7B;MACM,CAAA;KACC,CAAA,EACZ,kBAAC,GAAD,EAAA,UAAU,GAAgB,CAAA,CACX;MArBI,EAAO,GAqBX;IAEnB;EACE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Callout-CFqG5xho.js","names":[],"sources":["../../src/components/Callout/Callout.module.css","../../src/components/Callout/Callout.tsx"],"sourcesContent":[".anchor {\n position: fixed;\n pointer-events: none;\n}\n\n.popover {\n /* Above Dialog overlay (1000) and ToastRegion (1100) — RAC sets no z-index. */\n z-index: 1200;\n --callout-accent: var(--wzl-accent-strong);\n background: var(--wzl-surface);\n border: 1px solid var(--callout-accent);\n border-radius: var(--wzl-radius-md);\n box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);\n color: var(--wzl-fg);\n font-family: var(--wzl-font-ui);\n max-width: 320px;\n transition: opacity var(--wzl-motion-fast);\n}\n\n.popover[data-entering],\n.popover[data-exiting] {\n opacity: 0;\n}\n\n.toneWarning {\n --callout-accent: var(--wzl-warning, #d99a3f);\n}\n\n.toneDanger {\n --callout-accent: var(--wzl-danger, #d94a3f);\n}\n\n.arrow svg {\n display: block;\n fill: var(--wzl-surface);\n stroke: var(--callout-accent);\n stroke-width: 1;\n}\n\n.arrow[data-placement='bottom'] svg {\n transform: rotate(180deg);\n}\n\n.arrow[data-placement='left'] svg {\n transform: rotate(-90deg);\n}\n\n.arrow[data-placement='right'] svg {\n transform: rotate(90deg);\n}\n\n.dialog {\n outline: none;\n max-height: inherit;\n display: flex;\n flex-direction: column;\n}\n\n.header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px 0;\n}\n\n.title {\n margin: 0;\n flex: 1;\n font-size: 13px;\n font-weight: 600;\n}\n\n.close {\n flex: 0 0 auto;\n background: none;\n border: none;\n color: var(--wzl-fg-muted);\n font-size: 16px;\n line-height: 1;\n padding: 2px 4px;\n cursor: pointer;\n border-radius: var(--wzl-radius-sm);\n}\n\n.close:hover {\n color: var(--wzl-fg);\n}\n\n.body {\n padding: 8px 12px 10px;\n font-size: 13px;\n line-height: 1.4;\n overflow-y: auto;\n}\n\n.footer {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding: 0 12px 10px;\n}\n","import { useCallback, useEffect, useId, useRef, type ReactNode, type RefObject } from 'react';\nimport { createPortal } from 'react-dom';\nimport {\n DialogTrigger,\n Popover as RACPopover,\n OverlayArrow,\n Dialog as RACDialog,\n Heading,\n type PopoverProps as RACPopoverProps,\n} from 'react-aria-components';\nimport s from './Callout.module.css';\n\nexport type CalloutTone = 'info' | 'warning' | 'danger';\n\n/**\n * Composition wrapper for press-to-open callouts:\n * `<CalloutTrigger><Pressable>…</Pressable><Callout>…</Callout></CalloutTrigger>`.\n * Re-exported RAC DialogTrigger — non-RAC trigger elements must be wrapped\n * in `<Pressable>` from react-aria-components.\n * In composed mode, put `defaultOpen` on `CalloutTrigger`, not `Callout` —\n * RAC detaches to local open state on the trigger, not the popover.\n */\nexport { DialogTrigger as CalloutTrigger };\n\nexport type CalloutProps = Omit<\n RACPopoverProps,\n 'children' | 'className' | 'isNonModal' | 'triggerRef'\n> & {\n children?: ReactNode;\n className?: string;\n /** Optional heading rendered above the body. */\n title?: ReactNode;\n /** Footer slot — typically action buttons. */\n footer?: ReactNode;\n /** Accent tone for border + arrow. Default `info`. */\n tone?: CalloutTone;\n /**\n * `true` — blocks interaction with the rest of the app until dismissed;\n * inner dialog is `role=\"alertdialog\"`. `false` (default) — non-blocking:\n * the app stays interactive; Esc / outside click / close button dismiss.\n */\n modal?: boolean;\n /**\n * Show the × button. Defaults to `!modal`. In programmatic\n * `triggerRef`/`anchorRect` modes the close button requires either\n * controlled open (`isOpen` + `onOpenChange`) or `onDismiss`; with only\n * `defaultOpen` it has no open-state setter to call and cannot close.\n */\n showCloseButton?: boolean;\n /**\n * The user asked for this callout to go away — the × button or Escape.\n *\n * Distinct from `onOpenChange`, which a non-modal popover *also* fires when\n * interaction or focus merely leaves it. On a canvas that's every click on\n * the artwork, so a consumer that pins `isOpen` and treats `onOpenChange`\n * as dismissal retires messages nobody read. Use this instead: it fires\n * only on a deliberate act, and never on incidental focus loss.\n */\n onDismiss?: () => void;\n /** Anchor to an arbitrary element (programmatic use, with `isOpen`). */\n triggerRef?: RefObject<Element | null>;\n /**\n * Anchor to a client-coordinate rect — e.g. a scene node's on-screen box.\n * The callout re-anchors whenever this rect changes, so a consumer that\n * recomputes it on pan, zoom, or scene edits keeps the arrow on its target.\n * Takes precedence over `triggerRef`.\n */\n anchorRect?: { x: number; y: number; width: number; height: number };\n};\n\nconst toneClass: Record<CalloutTone, string> = {\n info: s.toneInfo,\n warning: s.toneWarning,\n danger: s.toneDanger,\n};\n\n/**\n * Anchored callout with an arrow pointing at its source — a trigger\n * element, an arbitrary `triggerRef`, or a client-space `anchorRect`.\n * Wraps React Aria Popover + Dialog; positioning, collision flipping,\n * dismissal, and focus behavior come from the underlying primitives.\n */\nexport function Callout(props: CalloutProps) {\n const {\n children,\n className,\n title,\n footer,\n tone = 'info',\n modal = false,\n showCloseButton,\n onDismiss,\n triggerRef,\n anchorRect,\n placement = 'top',\n offset = 12,\n maxHeight = 400,\n onOpenChange,\n shouldCloseOnInteractOutside,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...rest\n } = props;\n const anchorRef = useRef<HTMLSpanElement>(null);\n const showClose = showCloseButton ?? !modal;\n // Escape is a dismissal like the × is. It can't ride on a React `onKeyDown`:\n // RAC's Dialog runs its props through filterDOMProps, which drops handlers\n // it doesn't know, so the listener goes on the section itself. RAC's own\n // Escape handling is untouched — this only adds the signal.\n const onDismissRef = useRef(onDismiss);\n onDismissRef.current = onDismiss;\n const escapeListener = useRef((e: KeyboardEvent) => {\n if (e.key === 'Escape') onDismissRef.current?.();\n });\n const listeningTo = useRef<HTMLElement | null>(null);\n const dialogRef = useCallback((node: HTMLElement | null) => {\n listeningTo.current?.removeEventListener('keydown', escapeListener.current);\n listeningTo.current = node;\n node?.addEventListener('keydown', escapeListener.current);\n }, []);\n const titleId = useId();\n // RAC positions on open and recomputes on scroll, resize, and a\n // ResizeObserver on the anchor — none of which fire when `anchorRect` is\n // merely *translated*, as it is when a consumer tracks a scene node across a\n // pan. (Zoom happens to work, since scaling also changes the anchor's size.)\n // Nudging RAC's own resize listener is the supported way to make it\n // recompute; there's no public updatePosition on Popover.\n useEffect(() => {\n if (anchorRect === undefined || typeof window === 'undefined') return;\n window.dispatchEvent(new Event('resize'));\n }, [anchorRect?.x, anchorRect?.y, anchorRect?.width, anchorRect?.height]);\n // RAC's popover role-heuristic misses alertdialog; label the outer role\n // it stamps. Upstream: react-spectrum Popover.mjs querySelector('[role=dialog]').\n const popoverAriaLabelledby =\n modal && title !== undefined ? titleId : ariaLabelledby;\n const popoverAriaLabel = modal ? ariaLabel : undefined;\n return (\n <>\n {/* Harmless while closed — RAC reads the ref only when the popover is open. */}\n {anchorRect !== undefined &&\n createPortal(\n <span\n ref={anchorRef}\n data-callout-anchor=\"\"\n className={s.anchor}\n aria-hidden=\"true\"\n // Dynamic geometry — inline style is the mechanism here, not styling.\n style={{\n left: anchorRect.x,\n top: anchorRect.y,\n width: anchorRect.width,\n height: anchorRect.height,\n }}\n />,\n document.body,\n )}\n <RACPopover\n {...rest}\n triggerRef={anchorRect !== undefined ? anchorRef : triggerRef}\n isNonModal={!modal}\n placement={placement}\n offset={offset}\n maxHeight={maxHeight}\n onOpenChange={onOpenChange}\n shouldCloseOnInteractOutside={\n shouldCloseOnInteractOutside ?? (modal ? () => false : undefined)\n }\n aria-label={popoverAriaLabel}\n aria-labelledby={popoverAriaLabelledby}\n className={[s.popover, toneClass[tone], className].filter(Boolean).join(' ')}\n >\n <OverlayArrow className={s.arrow}>\n <svg width={12} height={12} viewBox=\"0 0 12 12\" aria-hidden=\"true\">\n <path d=\"M0 0 L6 6 L12 0\" />\n </svg>\n </OverlayArrow>\n <RACDialog\n role={modal ? 'alertdialog' : 'dialog'}\n className={s.dialog}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n ref={dialogRef}\n >\n {({ close }) => (\n <>\n {(title !== undefined || showClose) && (\n <header className={s.header}>\n {title !== undefined && (\n <Heading id={titleId} slot=\"title\" className={s.title}>\n {title}\n </Heading>\n )}\n {showClose && (\n <button\n type=\"button\"\n className={s.close}\n onClick={() => {\n // `close()` resolves OverlayTriggerStateContext, only\n // provided by DialogTrigger (composed mode). In\n // triggerRef/anchorRect modes there is no such\n // context, so `close()` is a no-op there — the\n // controlled-open fallback below does the work.\n close();\n onOpenChange?.(false);\n onDismiss?.();\n }}\n aria-label=\"Close callout\"\n >\n ×\n </button>\n )}\n </header>\n )}\n <div className={s.body}>{children}</div>\n {footer !== undefined && <footer className={s.footer}>{footer}</footer>}\n </>\n )}\n </RACDialog>\n </RACPopover>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;GCsEM,IAAyC;CAC7C,MAAM,EAAE;CACR,SAAS,EAAE;CACX,QAAQ,EAAE;CACX;AAQD,SAAgB,EAAQ,GAAqB;CAC3C,IAAM,EACJ,aACA,cACA,UACA,WACA,UAAO,QACP,WAAQ,IACR,oBACA,cACA,eACA,eACA,eAAY,OACZ,YAAS,IACT,eAAY,KACZ,iBACA,iCACA,cAAc,GACd,mBAAmB,GACnB,GAAG,MACD,GACE,IAAY,EAAwB,KAAK,EACzC,IAAY,KAAmB,CAAC,GAKhC,IAAe,EAAO,EAAU;AACtC,GAAa,UAAU;CACvB,IAAM,IAAiB,GAAQ,MAAqB;AAClD,EAAI,EAAE,QAAQ,YAAU,EAAa,WAAW;GAChD,EACI,IAAc,EAA2B,KAAK,EAC9C,IAAY,GAAa,MAA6B;AAG1D,EAFA,EAAY,SAAS,oBAAoB,WAAW,EAAe,QAAQ,EAC3E,EAAY,UAAU,GACtB,GAAM,iBAAiB,WAAW,EAAe,QAAQ;IACxD,EAAE,CAAC,EACA,IAAU,GAAO;AAOvB,SAAgB;AACV,QAAe,KAAA,KAAa,OAAO,SAAW,OAClD,OAAO,cAAc,IAAI,MAAM,SAAS,CAAC;IACxC;EAAC,GAAY;EAAG,GAAY;EAAG,GAAY;EAAO,GAAY;EAAO,CAAC;CAGzE,IAAM,IACJ,KAAS,MAAU,KAAA,IAAY,IAAU,GACrC,IAAmB,IAAQ,IAAY,KAAA;AAC7C,QACE,kBAAA,GAAA,EAAA,UAAA,CAEG,MAAe,KAAA,KACd,EACE,kBAAC,QAAD;EACE,KAAK;EACL,uBAAoB;EACpB,WAAW,EAAE;EACb,eAAY;EAEZ,OAAO;GACL,MAAM,EAAW;GACjB,KAAK,EAAW;GAChB,OAAO,EAAW;GAClB,QAAQ,EAAW;GACpB;EACD,CAAA,EACF,SAAS,KACV,EACH,kBAAC,GAAD;EACE,GAAI;EACJ,YAAY,MAAe,KAAA,IAAwB,IAAZ;EACvC,YAAY,CAAC;EACF;EACH;EACG;EACG;EACd,8BACE,MAAiC,UAAc,KAAQ,KAAA;EAEzD,cAAY;EACZ,mBAAiB;EACjB,WAAW;GAAC,EAAE;GAAS,EAAU;GAAO;GAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;YAb9E,CAeE,kBAAC,GAAD;GAAc,WAAW,EAAE;aACzB,kBAAC,OAAD;IAAK,OAAO;IAAI,QAAQ;IAAI,SAAQ;IAAY,eAAY;cAC1D,kBAAC,QAAD,EAAM,GAAE,mBAAoB,CAAA;IACxB,CAAA;GACO,CAAA,EACf,kBAAC,GAAD;GACE,MAAM,IAAQ,gBAAgB;GAC9B,WAAW,EAAE;GACb,cAAY;GACZ,mBAAiB;GACjB,KAAK;cAEH,EAAE,eACF,kBAAA,GAAA,EAAA,UAAA;KACI,MAAU,KAAA,KAAa,MACvB,kBAAC,UAAD;KAAQ,WAAW,EAAE;eAArB,CACG,MAAU,KAAA,KACT,kBAAC,GAAD;MAAS,IAAI;MAAS,MAAK;MAAQ,WAAW,EAAE;gBAC7C;MACO,CAAA,EAEX,KACC,kBAAC,UAAD;MACE,MAAK;MACL,WAAW,EAAE;MACb,eAAe;AAQb,OAFA,GAAO,EACP,IAAe,GAAM,EACrB,KAAa;;MAEf,cAAW;gBACZ;MAEQ,CAAA,CAEJ;;IAEX,kBAAC,OAAD;KAAK,WAAW,EAAE;KAAO;KAAe,CAAA;IACvC,MAAW,KAAA,KAAa,kBAAC,UAAD;KAAQ,WAAW,EAAE;eAAS;KAAgB,CAAA;IACtE,EAAA,CAAA;GAEK,CAAA,CACD;IACZ,EAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComboBox-DpxsFVBy.js","names":[],"sources":["../../src/components/ComboBox/ComboBox.module.css","../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":[".field {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n gap: 4px;\n}\n\n.frame {\n display: flex;\n align-items: stretch;\n height: 24px;\n background: var(--wzl-surface-sunken);\n border: 1px solid var(--wzl-border);\n border-radius: var(--wzl-radius-sm);\n color: var(--wzl-fg);\n font-family: var(--wzl-font-ui);\n font-size: 13px;\n line-height: 1;\n overflow: hidden;\n transition: border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);\n}\n\n.frame:focus-within {\n border-color: var(--wzl-focus-ring);\n box-shadow: 0 0 0 1px var(--wzl-focus-ring);\n}\n\n.field[data-invalid] .frame {\n border-color: var(--wzl-danger, #ff5b5b);\n}\n\n.field[data-disabled] .frame {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.frame input {\n flex: 1;\n min-width: 0;\n background: transparent;\n border: none;\n outline: none;\n color: inherit;\n font: inherit;\n padding: 0 8px;\n}\n\n.frame input::placeholder {\n color: var(--wzl-fg-subtle);\n}\n\n.openButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n background: transparent;\n border: none;\n border-left: 1px solid var(--wzl-border);\n color: var(--wzl-fg-muted);\n cursor: pointer;\n padding: 0;\n}\n\n.openButton[data-hovered]:not([data-disabled]) {\n color: var(--wzl-fg);\n}\n\n.openButton svg {\n width: 10px;\n height: 10px;\n}\n\n.popover {\n min-width: var(--trigger-width);\n outline: none;\n}\n\n.listbox {\n background: var(--wzl-surface-raised);\n border: 1px solid var(--wzl-border);\n border-radius: var(--wzl-radius-md);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);\n padding: 4px;\n max-height: 280px;\n overflow: auto;\n outline: none;\n font-family: var(--wzl-font-ui);\n font-size: 13px;\n}\n\n.option {\n display: flex;\n align-items: center;\n padding: 4px 8px;\n border-radius: 3px;\n cursor: pointer;\n color: var(--wzl-fg);\n outline: none;\n}\n\n.option[data-focused] {\n background: color-mix(in srgb, var(--wzl-fg) 10%, transparent);\n}\n\n.option[data-selected] {\n font-weight: 500;\n}\n\n.option[data-disabled] {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.empty {\n padding: 6px 8px;\n color: var(--wzl-fg-subtle);\n font-size: 12px;\n}\n","import type { ReactNode } from 'react';\nimport {\n ComboBox as RACComboBox,\n Label,\n Input as RACInput,\n Button as RACButton,\n Popover as RACPopover,\n ListBox as RACListBox,\n ListBoxItem as RACListBoxItem,\n Text,\n FieldError,\n type ComboBoxProps as RACComboBoxProps,\n type ListBoxItemProps as RACListBoxItemProps,\n type ValidationResult,\n} from 'react-aria-components';\nimport { fieldClasses } from '../Field/Field';\nimport s from './ComboBox.module.css';\n\nexport type ComboBoxOption = {\n value: string;\n label: ReactNode;\n textValue?: string;\n isDisabled?: boolean;\n};\n\ntype Key = string | number;\n\nexport type ComboBoxProps<T extends Key = string> = Omit<RACComboBoxProps<object>, 'children' | 'className' | 'selectedKey' | 'defaultSelectedKey' | 'onSelectionChange'> & {\n label?: ReactNode;\n description?: ReactNode;\n errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);\n placeholder?: string;\n options?: ReadonlyArray<ComboBoxOption & { value: T }>;\n children?: ReactNode;\n selectedKey?: T | null;\n defaultSelectedKey?: T;\n onSelectionChange?: (key: T | null) => void;\n emptyLabel?: ReactNode;\n className?: string;\n};\n\n/**\n * Filterable single-select wrapping React Aria's ComboBox. The user can\n * type to filter; selection commits to `onSelectionChange`. When no value\n * is in the input, selection clears (key becomes null).\n */\nexport function ComboBox<T extends Key = string>(props: ComboBoxProps<T>) {\n const {\n label,\n description,\n errorMessage,\n placeholder,\n options,\n children,\n selectedKey,\n defaultSelectedKey,\n onSelectionChange,\n emptyLabel = 'No matches',\n className,\n ...rest\n } = props;\n\n return (\n <RACComboBox\n {...rest}\n selectedKey={selectedKey ?? undefined}\n defaultSelectedKey={defaultSelectedKey}\n onSelectionChange={onSelectionChange ? (k) => onSelectionChange(k as T | null) : undefined}\n className={[s.field, fieldClasses.root, className].filter(Boolean).join(' ')}\n >\n {label !== undefined && <Label className={fieldClasses.label}>{label}</Label>}\n <div className={s.frame}>\n <RACInput placeholder={placeholder} />\n <RACButton className={s.openButton} aria-label=\"Show options\">\n <svg viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <path d=\"M2 4 L5 7 L8 4\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </RACButton>\n </div>\n {description !== undefined && (\n <Text slot=\"description\" className={fieldClasses.hint}>\n {description}\n </Text>\n )}\n <FieldError className={fieldClasses.error}>{errorMessage}</FieldError>\n <RACPopover className={s.popover}>\n <RACListBox className={s.listbox} renderEmptyState={() => <div className={s.empty}>{emptyLabel}</div>}>\n {options !== undefined\n ? options.map((o) => (\n <ComboBoxItem key={String(o.value)} id={o.value} textValue={o.textValue} isDisabled={o.isDisabled}>\n {o.label}\n </ComboBoxItem>\n ))\n : children}\n </RACListBox>\n </RACPopover>\n </RACComboBox>\n );\n}\n\nexport type ComboBoxItemProps = Omit<RACListBoxItemProps, 'className'> & {\n className?: string;\n};\n\nexport function ComboBoxItem({ className, ...rest }: ComboBoxItemProps) {\n return <RACListBoxItem {...rest} className={[s.option, className].filter(Boolean).join(' ')} />;\n}\n"],"mappings":";;;;;;;;;;;;;;AC8CA,SAAgB,EAAiC,GAAyB;CACxE,IAAM,EACJ,UACA,gBACA,iBACA,gBACA,YACA,aACA,gBACA,uBACA,sBACA,gBAAa,cACb,cACA,GAAG,MACD;AAEJ,QACE,kBAAC,GAAD;EACE,GAAI;EACJ,aAAa,KAAe,KAAA;EACR;EACpB,mBAAmB,KAAqB,MAAM,EAAkB,EAAc,GAAG,KAAA;EACjF,WAAW;GAAC,EAAE;GAAO,EAAa;GAAM;GAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;YAL9E;GAOG,MAAU,KAAA,KAAa,kBAAC,GAAD;IAAO,WAAW,EAAa;cAAQ;IAAc,CAAA;GAC7E,kBAAC,OAAD;IAAK,WAAW,EAAE;cAAlB,CACE,kBAAC,GAAD,EAAuB,gBAAe,CAAA,EACtC,kBAAC,GAAD;KAAW,WAAW,EAAE;KAAY,cAAW;eAC7C,kBAAC,OAAD;MAAK,SAAQ;MAAY,eAAY;gBACnC,kBAAC,QAAD;OAAM,GAAE;OAAiB,MAAK;OAAO,QAAO;OAAe,aAAY;OAAM,eAAc;OAAQ,gBAAe;OAAU,CAAA;MACxH,CAAA;KACI,CAAA,CACR;;GACL,MAAgB,KAAA,KACf,kBAAC,GAAD;IAAM,MAAK;IAAc,WAAW,EAAa;cAC9C;IACI,CAAA;GAET,kBAAC,GAAD;IAAY,WAAW,EAAa;cAAQ;IAA0B,CAAA;GACtE,kBAAC,GAAD;IAAY,WAAW,EAAE;cACvB,kBAAC,GAAD;KAAY,WAAW,EAAE;KAAS,wBAAwB,kBAAC,OAAD;MAAK,WAAW,EAAE;gBAAQ;MAAiB,CAAA;eAClG,MAAY,KAAA,IAMT,IALA,EAAQ,KAAK,MACX,kBAAC,GAAD;MAAoC,IAAI,EAAE;MAAO,WAAW,EAAE;MAAW,YAAY,EAAE;gBACpF,EAAE;MACU,EAFI,OAAO,EAAE,MAAM,CAEnB,CACf;KAEK,CAAA;IACF,CAAA;GACD;;;AAQlB,SAAgB,EAAa,EAAE,cAAW,GAAG,KAA2B;AACtE,QAAO,kBAAC,GAAD;EAAgB,GAAI;EAAM,WAAW,CAAC,EAAE,QAAQ,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAAI,CAAA"}