@svgrid/grid 2.2.0 → 2.2.1

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 (114) hide show
  1. package/dist/FlexRender.svelte +96 -96
  2. package/dist/GridFooter.svelte +178 -178
  3. package/dist/SvCarousel.svelte +141 -141
  4. package/dist/SvColorInput.svelte +187 -187
  5. package/dist/SvContextMenu.svelte +116 -116
  6. package/dist/SvDrawer.svelte +250 -250
  7. package/dist/SvGrid.svelte +3131 -3131
  8. package/dist/SvGridBoard.svelte +2339 -2339
  9. package/dist/SvGridChart.svelte +1724 -1724
  10. package/dist/SvGridChartPanel.svelte +485 -485
  11. package/dist/SvGridDropdown.svelte +689 -689
  12. package/dist/SvGroupCell.svelte +109 -109
  13. package/dist/SvMenu.svelte +124 -124
  14. package/dist/SvMenuList.svelte +117 -117
  15. package/dist/SvNumberInput.svelte +131 -131
  16. package/dist/SvOtpInput.svelte +158 -158
  17. package/dist/SvPopover.svelte +139 -139
  18. package/dist/SvRowGroupPanel.svelte +170 -170
  19. package/dist/SvScrollArea.svelte +61 -61
  20. package/dist/SvTooltip.svelte +127 -127
  21. package/dist/SvTour.svelte +204 -204
  22. package/dist/SvTree.svelte +377 -377
  23. package/dist/SvTreeSelect.svelte +230 -230
  24. package/dist/cdn/svgrid.js +8 -8
  25. package/dist/cdn/svgrid.svelte-external.js +8 -8
  26. package/dist/chart-export.js +8 -8
  27. package/package.json +10 -10
  28. package/src/FlexRender.svelte +96 -96
  29. package/src/GridFooter.svelte +178 -178
  30. package/src/SvCarousel.svelte +141 -141
  31. package/src/SvColorInput.svelte +187 -187
  32. package/src/SvContextMenu.svelte +116 -116
  33. package/src/SvDrawer.svelte +250 -250
  34. package/src/SvGrid.controller.svelte.ts +3158 -3158
  35. package/src/SvGrid.svelte +3131 -3131
  36. package/src/SvGrid.types.ts +1489 -1489
  37. package/src/SvGridBoard.svelte +2339 -2339
  38. package/src/SvGridChart.svelte +1724 -1724
  39. package/src/SvGridChartPanel.svelte +485 -485
  40. package/src/SvGridDropdown.svelte +689 -689
  41. package/src/SvGroupCell.svelte +109 -109
  42. package/src/SvMenu.svelte +124 -124
  43. package/src/SvMenu.test.ts +97 -97
  44. package/src/SvMenuList.svelte +117 -117
  45. package/src/SvNumberInput.svelte +131 -131
  46. package/src/SvOtpInput.svelte +158 -158
  47. package/src/SvPopover.svelte +139 -139
  48. package/src/SvRowGroupPanel.svelte +170 -170
  49. package/src/SvScrollArea.svelte +61 -61
  50. package/src/SvTooltip.svelte +127 -127
  51. package/src/SvTour.svelte +204 -204
  52. package/src/SvTree.svelte +377 -377
  53. package/src/SvTreeSelect.svelte +230 -230
  54. package/src/a11y.contract.test.ts +49 -49
  55. package/src/a11y.test.ts +59 -59
  56. package/src/a11y.ts +61 -61
  57. package/src/build-api.ts +870 -870
  58. package/src/cell-formatting.ts +169 -169
  59. package/src/cell-render.ts +469 -469
  60. package/src/chart-export.ts +201 -201
  61. package/src/chart.ts +2296 -2296
  62. package/src/collaboration.test.ts +104 -104
  63. package/src/collaboration.ts +167 -167
  64. package/src/core.performance.test.ts +30 -30
  65. package/src/core.ts +1111 -1111
  66. package/src/createAutocomplete.svelte.ts +132 -132
  67. package/src/createCombobox.svelte.ts +179 -179
  68. package/src/createCountryInput.svelte.ts +157 -157
  69. package/src/createDropdownList.svelte.ts +162 -162
  70. package/src/createGrid.svelte.ts +42 -42
  71. package/src/createGrid.test.ts +10 -10
  72. package/src/createGridState.svelte.ts +17 -17
  73. package/src/createMenu.svelte.ts +202 -202
  74. package/src/createPopoverSelect.svelte.ts +206 -206
  75. package/src/createTree.svelte.ts +319 -319
  76. package/src/editing.test.ts +859 -859
  77. package/src/editing.ts +675 -675
  78. package/src/export-data-api.test.ts +126 -126
  79. package/src/export-format.test.ts +107 -107
  80. package/src/export-format.ts +598 -598
  81. package/src/flex-render.ts +3 -3
  82. package/src/index.ts +623 -623
  83. package/src/keyboard.test.ts +59 -59
  84. package/src/keyboard.ts +97 -97
  85. package/src/list-nav.test.ts +49 -49
  86. package/src/list-nav.ts +29 -29
  87. package/src/menus.ts +639 -639
  88. package/src/merge-objects.ts +48 -48
  89. package/src/overlays.test.ts +90 -90
  90. package/src/render-component.ts +28 -28
  91. package/src/selection.test.ts +754 -754
  92. package/src/selection.ts +600 -600
  93. package/src/server-data-source.test.ts +289 -289
  94. package/src/server-data-source.ts +413 -413
  95. package/src/sparkline.test.ts +68 -68
  96. package/src/sparkline.ts +169 -169
  97. package/src/spreadsheet.test.ts +489 -489
  98. package/src/spreadsheet.ts +312 -312
  99. package/src/static-functions.ts +11 -11
  100. package/src/subscribe.ts +38 -38
  101. package/src/svgrid-wrapper.types.ts +501 -501
  102. package/src/svgrid.behavior.test.ts +706 -706
  103. package/src/svgrid.charting.test.ts +527 -527
  104. package/src/svgrid.features.test.ts +157 -157
  105. package/src/svgrid.new-features.wrapper.test.ts +251 -251
  106. package/src/svgrid.wrapper.test.ts +40 -40
  107. package/src/test-setup.ts +62 -62
  108. package/src/themes/index.ts +159 -159
  109. package/src/virtualization/column-virtualizer.test.ts +27 -27
  110. package/src/virtualization/column-virtualizer.ts +30 -30
  111. package/src/virtualization/svelte-virtualizer.svelte.ts +26 -26
  112. package/src/virtualization/types.ts +30 -30
  113. package/src/virtualization/virtualizer.test.ts +47 -47
  114. package/src/virtualization/virtualizer.ts +296 -296
@@ -4337,7 +4337,7 @@ function ms(e, t) {
4337
4337
  //#region src/SvGridDropdown.svelte
4338
4338
  var hs = /* @__PURE__ */ H("<span class=\"sv-grid-chip sv-grid-chip-removable svelte-ei8hp3\"> <span class=\"sv-grid-chip-remove svelte-ei8hp3\" role=\"button\">×</span></span>"), gs = /* @__PURE__ */ H("<span class=\"sv-grid-dropdown-chips svelte-ei8hp3\"></span>"), _s = /* @__PURE__ */ H("<span class=\"sv-grid-chip svelte-ei8hp3\"> </span>"), vs = /* @__PURE__ */ H("<span class=\"sv-grid-dropdown-label svelte-ei8hp3\"> </span>"), ys = /* @__PURE__ */ H("<input type=\"search\" class=\"sv-grid-dropdown-search\" placeholder=\"Search…\"/>"), bs = /* @__PURE__ */ H("<div class=\"sv-grid-dropdown-empty\"> </div>"), xs = /* @__PURE__ */ H("<span class=\"sv-grid-dropdown-check\" aria-hidden=\"true\"> </span>"), Ss = /* @__PURE__ */ H("<span class=\"sv-grid-dropdown-option-chip\"> </span>"), Cs = /* @__PURE__ */ H("<span class=\"sv-grid-dropdown-option-label\"> </span>"), ws = /* @__PURE__ */ H("<div role=\"option\"><!> <!></div>"), Ts = /* @__PURE__ */ H("<div class=\"sv-grid-dropdown-footer\"><button type=\"button\" class=\"sv-grid-dropdown-done\">Done</button></div>"), Es = /* @__PURE__ */ H("<div role=\"listbox\"><!> <!> <!></div>"), Ds = /* @__PURE__ */ H("<div><button type=\"button\" aria-haspopup=\"listbox\"><!> <span class=\"sv-grid-dropdown-caret svelte-ei8hp3\" aria-hidden=\"true\">▾</span></button> <!></div>"), Os = {
4339
4339
  hash: "svelte-ei8hp3",
4340
- code: "\r\n /* All colors derive from the grid's host CSS vars so light/dark themes\r\n \"just work\". Hard fallbacks are kept so the component is still\r\n usable in an unthemed page. */.sv-grid-dropdown.svelte-ei8hp3 {position:absolute;top:0;left:0;right:0;height:100%;background:var(--sg-bg, #ffffff);color:var(--sg-fg, #0f172a);}.sv-grid-dropdown-trigger.svelte-ei8hp3 {display:flex;align-items:center;gap:6px;width:100%;height:100%;min-height:28px;padding:0 8px;background:var(--sg-bg, #ffffff);color:var(--sg-fg, #0f172a);border:0;outline:none;font:inherit;text-align:start;cursor:pointer;box-sizing:border-box;}.sv-grid-dropdown-trigger.svelte-ei8hp3:focus {outline:2px solid var(--sg-accent, #2563eb);outline-offset:-2px;}.sv-grid-dropdown-trigger-chips.svelte-ei8hp3 {align-items:center;padding:4px 8px;flex-wrap:wrap;}.sv-grid-dropdown-chips.svelte-ei8hp3 {display:inline-flex;flex-wrap:wrap;gap:4px;flex:1 1 auto;min-width:0;align-items:center;}.sv-grid-dropdown-label.svelte-ei8hp3 {flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-grid-dropdown-caret.svelte-ei8hp3 {flex:0 0 auto;font-size:10px;opacity:0.7;line-height:1;}\r\n\r\n /* Popover sits absolutely below the trigger. The parent\r\n `.sv-grid-cell-editing` has `overflow: visible`, so this can hang\r\n past the row. Pulls its surface color from the grid's header bg\r\n so it reads as a slightly elevated layer on either theme. */\r\n /* Panel is `position: fixed` AND portal'd into document.body via\r\n `use:portalToBody`, so it escapes every ancestor overflow / clip /\r\n transform / stacking context. Coords come from updatePanelPosition(). */.sv-grid-dropdown-panel {overflow-y:auto;background:var(--sg-header-bg, var(--sg-bg, #ffffff));color:var(--sg-fg, #0f172a);border:1px solid var(--sg-accent, #2563eb);border-radius:6px;box-shadow:0 12px 28px rgba(0, 0, 0, 0.45);padding:4px 0;font-family:inherit;}\r\n /* When the option list fits in one panel we want NO scrollbar at all -\r\n * not even a sub-pixel ghost track. `overflow: visible` rules out the\r\n * scrollbar gutter that some browsers still reserve under\r\n * `overflow: auto` when content equals max-height. */.sv-grid-dropdown-panel.sv-grid-dropdown-panel-fits {overflow:visible;}.sv-grid-dropdown-option {display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;user-select:none;color:var(--sg-fg, #0f172a);}.sv-grid-dropdown-option-highlighted {background:var(--sg-row-hover-bg, rgba(37, 99, 235, 0.1));}.sv-grid-dropdown-option-selected {font-weight:600;background:var(--sg-selection-bg, rgba(37, 99, 235, 0.15));}.sv-grid-dropdown-option-selected.sv-grid-dropdown-option-highlighted {background:var(--sg-row-hover-bg, rgba(37, 99, 235, 0.18));}.sv-grid-dropdown-option-label {flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-grid-dropdown-check {flex:0 0 16px;display:inline-flex;align-items:center;justify-content:center;color:var(--sg-accent, #2563eb);font-weight:700;}.sv-grid-dropdown-swatch {flex:0 0 12px;width:12px;height:12px;border-radius:999px;border:1px solid color-mix(in srgb, var(--sg-fg, #0f172a) 25%, transparent);}\r\n /* Colored option chip. Declared `:global` because the option panel is\r\n portal'd to <body>, where Svelte's scoped classes don't reach. The\r\n per-chip background / border / text color come from an inline style\r\n (see colorfulChipStyleInline) so each option matches its cell chip. */.sv-grid-dropdown-option-chip {display:inline-flex;align-items:center;max-width:100%;padding:2px 11px;border:1px solid transparent;border-radius:999px;font-size:0.9em;font-weight:600;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-grid-dropdown-empty {padding:8px 10px;color:var(--sg-muted, rgba(15, 23, 42, 0.55));font-style:italic;font-size:0.9em;}.sv-grid-dropdown-footer {display:flex;justify-content:flex-end;padding:4px 6px;border-top:1px solid var(--sg-border, rgba(15, 23, 42, 0.08));margin-top:2px;}.sv-grid-dropdown-done {font-size:11px;text-transform:uppercase;letter-spacing:0.04em;color:#fff;background:var(--sg-accent, #2563eb);border:0;border-radius:4px;padding:4px 10px;cursor:pointer;}.sv-grid-dropdown-done:hover {filter:brightness(1.12);}\r\n\r\n /* Note: option / footer / swatch styles are declared `:global(...)`\r\n above because the panel is portal'd to <body> and Svelte's scoped\r\n class won't survive on children of an element living outside the\r\n component subtree. */\r\n\r\n /* Theme-aware chip badges. Inside the trigger they sit on the cell\r\n background, so we need a tone that contrasts on BOTH themes - a\r\n translucent accent works well in dark mode and reads as a soft\r\n blue pill in light mode. */.sv-grid-chip.svelte-ei8hp3 {display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:0.85em;line-height:1.4;background:color-mix(in srgb, var(--sg-accent, #2563eb) 18%, transparent);color:var(--sg-fg, #0f172a);border-radius:999px;border:1px solid color-mix(in srgb, var(--sg-accent, #2563eb) 35%, transparent);white-space:nowrap;}.sv-grid-chip-removable.svelte-ei8hp3 {padding-inline-end:2px;}.sv-grid-chip-remove.svelte-ei8hp3 {display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;border-radius:999px;background:color-mix(in srgb, var(--sg-fg, #0f172a) 18%, transparent);color:inherit;font-size:12px;line-height:1;cursor:pointer;padding:0;}.sv-grid-chip-remove.svelte-ei8hp3:hover {background:rgba(220, 38, 38, 0.7);color:#fff;}"
4340
+ code: "\n /* All colors derive from the grid's host CSS vars so light/dark themes\n \"just work\". Hard fallbacks are kept so the component is still\n usable in an unthemed page. */.sv-grid-dropdown.svelte-ei8hp3 {position:absolute;top:0;left:0;right:0;height:100%;background:var(--sg-bg, #ffffff);color:var(--sg-fg, #0f172a);}.sv-grid-dropdown-trigger.svelte-ei8hp3 {display:flex;align-items:center;gap:6px;width:100%;height:100%;min-height:28px;padding:0 8px;background:var(--sg-bg, #ffffff);color:var(--sg-fg, #0f172a);border:0;outline:none;font:inherit;text-align:start;cursor:pointer;box-sizing:border-box;}.sv-grid-dropdown-trigger.svelte-ei8hp3:focus {outline:2px solid var(--sg-accent, #2563eb);outline-offset:-2px;}.sv-grid-dropdown-trigger-chips.svelte-ei8hp3 {align-items:center;padding:4px 8px;flex-wrap:wrap;}.sv-grid-dropdown-chips.svelte-ei8hp3 {display:inline-flex;flex-wrap:wrap;gap:4px;flex:1 1 auto;min-width:0;align-items:center;}.sv-grid-dropdown-label.svelte-ei8hp3 {flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-grid-dropdown-caret.svelte-ei8hp3 {flex:0 0 auto;font-size:10px;opacity:0.7;line-height:1;}\n\n /* Popover sits absolutely below the trigger. The parent\n `.sv-grid-cell-editing` has `overflow: visible`, so this can hang\n past the row. Pulls its surface color from the grid's header bg\n so it reads as a slightly elevated layer on either theme. */\n /* Panel is `position: fixed` AND portal'd into document.body via\n `use:portalToBody`, so it escapes every ancestor overflow / clip /\n transform / stacking context. Coords come from updatePanelPosition(). */.sv-grid-dropdown-panel {overflow-y:auto;background:var(--sg-header-bg, var(--sg-bg, #ffffff));color:var(--sg-fg, #0f172a);border:1px solid var(--sg-accent, #2563eb);border-radius:6px;box-shadow:0 12px 28px rgba(0, 0, 0, 0.45);padding:4px 0;font-family:inherit;}\n /* When the option list fits in one panel we want NO scrollbar at all -\n * not even a sub-pixel ghost track. `overflow: visible` rules out the\n * scrollbar gutter that some browsers still reserve under\n * `overflow: auto` when content equals max-height. */.sv-grid-dropdown-panel.sv-grid-dropdown-panel-fits {overflow:visible;}.sv-grid-dropdown-option {display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;user-select:none;color:var(--sg-fg, #0f172a);}.sv-grid-dropdown-option-highlighted {background:var(--sg-row-hover-bg, rgba(37, 99, 235, 0.1));}.sv-grid-dropdown-option-selected {font-weight:600;background:var(--sg-selection-bg, rgba(37, 99, 235, 0.15));}.sv-grid-dropdown-option-selected.sv-grid-dropdown-option-highlighted {background:var(--sg-row-hover-bg, rgba(37, 99, 235, 0.18));}.sv-grid-dropdown-option-label {flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-grid-dropdown-check {flex:0 0 16px;display:inline-flex;align-items:center;justify-content:center;color:var(--sg-accent, #2563eb);font-weight:700;}.sv-grid-dropdown-swatch {flex:0 0 12px;width:12px;height:12px;border-radius:999px;border:1px solid color-mix(in srgb, var(--sg-fg, #0f172a) 25%, transparent);}\n /* Colored option chip. Declared `:global` because the option panel is\n portal'd to <body>, where Svelte's scoped classes don't reach. The\n per-chip background / border / text color come from an inline style\n (see colorfulChipStyleInline) so each option matches its cell chip. */.sv-grid-dropdown-option-chip {display:inline-flex;align-items:center;max-width:100%;padding:2px 11px;border:1px solid transparent;border-radius:999px;font-size:0.9em;font-weight:600;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-grid-dropdown-empty {padding:8px 10px;color:var(--sg-muted, rgba(15, 23, 42, 0.55));font-style:italic;font-size:0.9em;}.sv-grid-dropdown-footer {display:flex;justify-content:flex-end;padding:4px 6px;border-top:1px solid var(--sg-border, rgba(15, 23, 42, 0.08));margin-top:2px;}.sv-grid-dropdown-done {font-size:11px;text-transform:uppercase;letter-spacing:0.04em;color:#fff;background:var(--sg-accent, #2563eb);border:0;border-radius:4px;padding:4px 10px;cursor:pointer;}.sv-grid-dropdown-done:hover {filter:brightness(1.12);}\n\n /* Note: option / footer / swatch styles are declared `:global(...)`\n above because the panel is portal'd to <body> and Svelte's scoped\n class won't survive on children of an element living outside the\n component subtree. */\n\n /* Theme-aware chip badges. Inside the trigger they sit on the cell\n background, so we need a tone that contrasts on BOTH themes - a\n translucent accent works well in dark mode and reads as a soft\n blue pill in light mode. */.sv-grid-chip.svelte-ei8hp3 {display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:0.85em;line-height:1.4;background:color-mix(in srgb, var(--sg-accent, #2563eb) 18%, transparent);color:var(--sg-fg, #0f172a);border-radius:999px;border:1px solid color-mix(in srgb, var(--sg-accent, #2563eb) 35%, transparent);white-space:nowrap;}.sv-grid-chip-removable.svelte-ei8hp3 {padding-inline-end:2px;}.sv-grid-chip-remove.svelte-ei8hp3 {display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;border-radius:999px;background:color-mix(in srgb, var(--sg-fg, #0f172a) 18%, transparent);color:inherit;font-size:12px;line-height:1;cursor:pointer;padding:0;}.sv-grid-chip-remove.svelte-ei8hp3:hover {background:rgba(220, 38, 38, 0.7);color:#fff;}"
4341
4341
  };
4342
4342
  function ks(e, t) {
4343
4343
  let n = ia();
@@ -13795,7 +13795,7 @@ function _p(e, t) {
13795
13795
  //#region src/SvGridChart.svelte
13796
13796
  var vp = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-grid-chart-tool svelte-hyytey\" title=\"Reset zoom (or double-click the plot)\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 7v6h6\"></path><path d=\"M21 17a9 9 0 0 0-15-6.7L3 13\"></path></svg> Reset zoom</button>"), yp = /* @__PURE__ */ H("<div class=\"sv-grid-chart-toolbar svelte-hyytey\"><!> <button type=\"button\" class=\"sv-grid-chart-tool svelte-hyytey\" title=\"Download PNG\">PNG</button> <button type=\"button\" class=\"sv-grid-chart-tool svelte-hyytey\" title=\"Download SVG\">SVG</button> <button type=\"button\" class=\"sv-grid-chart-tool svelte-hyytey\" title=\"Copy chart as image\"> </button></div>"), bp = /* @__PURE__ */ U("<pattern width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"6\" height=\"6\"></rect><rect width=\"3\" height=\"6\" fill=\"rgba(255,255,255,0.35)\"></rect></pattern>"), xp = /* @__PURE__ */ U("<pattern width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\"><rect width=\"6\" height=\"6\"></rect><path d=\"M0 0L6 6 M6 0L0 6\" stroke=\"rgba(255,255,255,0.45)\" stroke-width=\"1\"></path></pattern>"), Sp = /* @__PURE__ */ U("<pattern width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\"><rect width=\"6\" height=\"6\"></rect><circle cx=\"3\" cy=\"3\" r=\"1.2\" fill=\"rgba(255,255,255,0.55)\"></circle></pattern>"), Cp = /* @__PURE__ */ U("<pattern width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(-45)\"><rect width=\"8\" height=\"8\"></rect><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"rgba(0,0,0,0.18)\" stroke-width=\"2\"></line></pattern>"), wp = /* @__PURE__ */ U("<defs></defs>"), Tp = /* @__PURE__ */ U("<line class=\"sv-grid-chart-gridline svelte-hyytey\"></line><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text>", 1), Ep = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>"), Dp = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), Op = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), kp = /* @__PURE__ */ U("<!><!><!><!>", 1), Ap = /* @__PURE__ */ U("<line></line><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>", 1), jp = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text>"), Mp = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>"), Np = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text>"), Pp = /* @__PURE__ */ U("<line class=\"sv-grid-chart-gridline svelte-hyytey\" opacity=\"0.5\"></line>"), Fp = /* @__PURE__ */ U("<line class=\"sv-grid-chart-gridline svelte-hyytey\"></line><!><text class=\"sv-grid-chart-axis sv-grid-chart-group-label svelte-hyytey\" text-anchor=\"middle\"> </text>", 1), Ip = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), Lp = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), Rp = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis-title svelte-hyytey\" text-anchor=\"middle\"> </text>"), zp = /* @__PURE__ */ U("<!><!><!><!><!><!><!>", 1), Bp = /* @__PURE__ */ U("<path class=\"sv-grid-chart-band\" fill-opacity=\"0.12\" stroke=\"none\"></path>"), Vp = /* @__PURE__ */ U("<path class=\"sv-grid-chart-area\" fill-opacity=\"0.15\" stroke=\"none\"></path>"), Hp = /* @__PURE__ */ U("<text class=\"sv-grid-chart-datalabel svelte-hyytey\" text-anchor=\"middle\"> </text>"), Up = /* @__PURE__ */ U("<circle></circle><!>", 1), Wp = /* @__PURE__ */ U("<g><!><!><path class=\"sv-grid-chart-linepath\" fill=\"none\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"></path><!></g>"), Gp = /* @__PURE__ */ U("<text> </text>"), Kp = /* @__PURE__ */ U("<text text-anchor=\"middle\"> </text>"), qp = /* @__PURE__ */ U("<rect class=\"sv-grid-chart-bar svelte-hyytey\" rx=\"1\"></rect><!>", 1), Jp = /* @__PURE__ */ U("<circle class=\"sv-grid-chart-scatter svelte-hyytey\" fill-opacity=\"0.7\"></circle>"), Yp = /* @__PURE__ */ U("<line class=\"sv-grid-chart-refline svelte-hyytey\"></line><text class=\"sv-grid-chart-reflabel svelte-hyytey\" text-anchor=\"end\"> </text>", 1), Xp = /* @__PURE__ */ U("<line class=\"sv-grid-chart-refline svelte-hyytey\"></line><text class=\"sv-grid-chart-reflabel svelte-hyytey\" text-anchor=\"start\"> </text>", 1), Zp = /* @__PURE__ */ U("<path class=\"sv-grid-chart-overlay svelte-hyytey\" fill=\"none\" stroke-width=\"2\" stroke-dasharray=\"6 4\" stroke-linejoin=\"round\" stroke-linecap=\"round\"></path>"), Qp = /* @__PURE__ */ U("<circle class=\"sv-grid-chart-annotation-marker svelte-hyytey\" r=\"4\" stroke=\"var(--sg-bg, #fff)\" stroke-width=\"1.5\"></circle><text class=\"sv-grid-chart-annotation-label svelte-hyytey\"> </text>", 1), $p = /* @__PURE__ */ U("<line class=\"sv-grid-chart-crosshair svelte-hyytey\"></line>"), em = /* @__PURE__ */ U("<line class=\"sv-grid-chart-crosshair svelte-hyytey\"></line>"), tm = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>"), nm = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text>"), rm = /* @__PURE__ */ U("<text class=\"sv-grid-chart-heatlabel svelte-hyytey\" text-anchor=\"middle\"> </text>"), im = /* @__PURE__ */ U("<rect class=\"sv-grid-chart-heatcell svelte-hyytey\"></rect><!>", 1), am = /* @__PURE__ */ U("<stop></stop>"), om = /* @__PURE__ */ U("<defs><linearGradient x1=\"0\" y1=\"1\" x2=\"0\" y2=\"0\"></linearGradient></defs><rect class=\"sv-grid-chart-heatlegend svelte-hyytey\" width=\"10\"></rect><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text>", 1), sm = /* @__PURE__ */ U("<!><!><!><!>", 1), cm = /* @__PURE__ */ U("<path class=\"sv-grid-chart-funnel-seg svelte-hyytey\"></path><text class=\"sv-grid-chart-funnel-label svelte-hyytey\" text-anchor=\"middle\"> </text><text class=\"sv-grid-chart-funnel-value svelte-hyytey\" text-anchor=\"middle\"> </text>", 1), lm = /* @__PURE__ */ U("<circle class=\"sv-grid-chart-radar-ring svelte-hyytey\"></circle>"), um = /* @__PURE__ */ U("<line class=\"sv-grid-chart-radar-spoke svelte-hyytey\"></line><text class=\"sv-grid-chart-axis svelte-hyytey\"> </text>", 1), dm = /* @__PURE__ */ U("<circle class=\"sv-grid-chart-radar-dot svelte-hyytey\" r=\"3\"></circle>"), fm = /* @__PURE__ */ U("<path class=\"sv-grid-chart-radar-poly svelte-hyytey\" fill-opacity=\"0.18\" stroke-width=\"2\"></path><!>", 1), pm = /* @__PURE__ */ U("<!><!><!>", 1), mm = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text>"), hm = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"end\"> </text>"), gm = /* @__PURE__ */ U("<rect rx=\"2\"></rect>"), _m = /* @__PURE__ */ U("<rect class=\"sv-grid-chart-calendar-legend svelte-hyytey\" width=\"10\" height=\"10\" rx=\"2\"></rect><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\"> </text>", 1), vm = /* @__PURE__ */ U("<text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\">Less</text><!><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"start\">More</text>", 1), ym = /* @__PURE__ */ U("<!><!><!><!>", 1), bm = /* @__PURE__ */ U("<line></line>"), xm = /* @__PURE__ */ U("<path fill=\"none\" stroke-width=\"6\" stroke-linecap=\"round\" opacity=\"0.85\"></path>"), Sm = /* @__PURE__ */ U("<line stroke=\"var(--sg-fg, #0f172a)\" stroke-width=\"2.5\" stroke-linecap=\"round\"></line>"), Cm = /* @__PURE__ */ U("<!><path fill=\"none\" stroke=\"var(--sg-border, #e2e8f0)\" stroke-width=\"16\" stroke-linecap=\"round\"></path><!><path fill=\"none\" stroke-width=\"16\" stroke-linecap=\"round\"></path><!><path class=\"sv-grid-chart-gauge-needle svelte-hyytey\"></path><circle class=\"sv-grid-chart-gauge-hub svelte-hyytey\"></circle><circle class=\"sv-grid-chart-gauge-hub-dot svelte-hyytey\" r=\"2.5\"></circle><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text><text class=\"sv-grid-chart-axis svelte-hyytey\" text-anchor=\"middle\"> </text><text class=\"sv-grid-chart-gauge-value svelte-hyytey\" text-anchor=\"middle\"> </text>", 1), wm = /* @__PURE__ */ U("<text class=\"sv-grid-chart-treemap-label svelte-hyytey\"> </text>"), Tm = /* @__PURE__ */ U("<text class=\"sv-grid-chart-treemap-value svelte-hyytey\" opacity=\"0.85\"> </text>"), Em = /* @__PURE__ */ U("<rect class=\"sv-grid-chart-treemap-cell svelte-hyytey\"></rect><!><!>", 1), Dm = /* @__PURE__ */ U("<path class=\"sv-grid-chart-sankey-link svelte-hyytey\" fill=\"none\" stroke-opacity=\"0.35\"></path>"), Om = /* @__PURE__ */ U("<rect class=\"sv-grid-chart-sankey-node svelte-hyytey\"></rect><text class=\"sv-grid-chart-sankey-label svelte-hyytey\"> </text>", 1), km = /* @__PURE__ */ U("<!><!>", 1), Am = /* @__PURE__ */ U("<text class=\"sv-grid-chart-datalabel on-bar svelte-hyytey\" text-anchor=\"middle\" dominant-baseline=\"middle\"> </text>"), jm = /* @__PURE__ */ U("<path class=\"sv-grid-chart-slice svelte-hyytey\" stroke=\"var(--sg-bg, #fff)\" stroke-width=\"1\"></path><!>", 1), Mm = /* @__PURE__ */ U("<text class=\"sv-grid-chart-donut-total svelte-hyytey\" text-anchor=\"middle\"> </text><text class=\"sv-grid-chart-donut-label svelte-hyytey\" text-anchor=\"middle\">Total</text>", 1), Nm = /* @__PURE__ */ U("<rect class=\"sv-grid-chart-cat-hit svelte-hyytey\"></rect>"), Pm = /* @__PURE__ */ U("<rect class=\"sv-grid-chart-zoom-rect svelte-hyytey\"></rect>"), Fm = /* @__PURE__ */ U("<path fill-opacity=\"0.10\" stroke=\"none\"></path>"), Im = /* @__PURE__ */ U("<!><path fill=\"none\" stroke-width=\"1.2\" opacity=\"0.75\"></path>", 1), Lm = /* @__PURE__ */ U("<rect opacity=\"0.55\"></rect>"), Rm = /* @__PURE__ */ U("<svg class=\"sv-grid-chart-brush svelte-hyytey\" width=\"100%\" role=\"img\" aria-label=\"Range brush\"><!><!><rect class=\"sv-grid-chart-brush-mask svelte-hyytey\"></rect><rect class=\"sv-grid-chart-brush-mask svelte-hyytey\"></rect><rect class=\"sv-grid-chart-brush-window svelte-hyytey\"></rect><rect class=\"sv-grid-chart-brush-handle svelte-hyytey\" width=\"8\"></rect><rect class=\"sv-grid-chart-brush-handle svelte-hyytey\" width=\"8\"></rect></svg>"), zm = /* @__PURE__ */ H("<div class=\"sv-grid-chart-empty svelte-hyytey\">No data</div>"), Bm = /* @__PURE__ */ H("<span class=\"sv-grid-chart-tooltip-dot svelte-hyytey\"></span>"), Vm = /* @__PURE__ */ H("<span class=\"sv-grid-chart-tooltip-row-label svelte-hyytey\"> </span>"), Hm = /* @__PURE__ */ H("<span class=\"sv-grid-chart-tooltip-row svelte-hyytey\"><!> <!> <span class=\"sv-grid-chart-tooltip-row-value svelte-hyytey\"> </span></span>"), Um = /* @__PURE__ */ H("<div><span class=\"sv-grid-chart-tooltip-title svelte-hyytey\"> </span> <!></div>"), Wm = /* @__PURE__ */ H("<button type=\"button\"><span class=\"sv-grid-chart-swatch svelte-hyytey\"></span> </button>"), Gm = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-grid-chart-legend-more svelte-hyytey\"> </button>"), Km = /* @__PURE__ */ H("<div class=\"sv-grid-chart-legend svelte-hyytey\"><!> <!></div>"), qm = /* @__PURE__ */ H("<th> </th>"), Jm = /* @__PURE__ */ H("<td> </td>"), Ym = /* @__PURE__ */ H("<tr></tr>"), Xm = /* @__PURE__ */ H("<div class=\"sv-grid-chart svelte-hyytey\"><!> <svg width=\"100%\" role=\"img\"><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!><!></svg> <!> <!> <!> <!> <table class=\"sv-grid-chart-sr-only svelte-hyytey\"><caption> </caption><thead><tr></tr></thead><tbody></tbody></table></div>"), Zm = {
13797
13797
  hash: "svelte-hyytey",
13798
- code: ".sv-grid-chart.svelte-hyytey {position:relative;display:flex;flex-direction:column;gap:8px;width:100%;}.sv-grid-chart-svg.svelte-hyytey {display:block;width:100%;height:auto;}.sv-grid-chart-gridline.svelte-hyytey {stroke:var(--sg-border, #e2e8f0);stroke-width:1;opacity:0.6;}.sv-grid-chart-gridline.is-zero.svelte-hyytey {stroke:var(--sg-muted, #94a3b8);opacity:0.9;}.sv-grid-chart-axis.svelte-hyytey {fill:var(--sg-muted, #64748b);font-size:10px;font-family:inherit;}.sv-grid-chart-axis-title.svelte-hyytey {fill:var(--sg-muted, #64748b);font-size:11px;font-weight:600;font-family:inherit;}.sv-grid-chart-group-label.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-weight:600;}.sv-grid-chart-crosshair.svelte-hyytey {stroke:var(--sg-accent, #2563eb);stroke-width:1;stroke-dasharray:3 3;opacity:0.65;pointer-events:none;}.sv-grid-chart-refline.svelte-hyytey {stroke-width:1.5;opacity:0.9;pointer-events:none;}.sv-grid-chart-reflabel.svelte-hyytey {font-size:9.5px;font-weight:700;font-family:inherit;pointer-events:none;}.sv-grid-chart-overlay.svelte-hyytey {opacity:0.85;pointer-events:none;}.sv-grid-chart-annotation-marker.svelte-hyytey {pointer-events:none;}.sv-grid-chart-annotation-label.svelte-hyytey {font-size:10px;font-weight:700;font-family:inherit;pointer-events:none;}\r\n /* Heatmap cells. Stroke uses the border token (not bg) so the cell\r\n separators stay visible in BOTH light and dark themes - on dark mode\r\n a bg-colored stroke disappeared into the navy cells. */.sv-grid-chart-heatcell.svelte-hyytey {stroke:var(--sg-border, #cbd5e1);stroke-width:1;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-svg.is-clickable.svelte-hyytey .sv-grid-chart-heatcell:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-heatcell.svelte-hyytey:hover {opacity:0.85;}.sv-grid-chart-heatlabel.svelte-hyytey {font-size:10px;font-weight:600;font-family:inherit;pointer-events:none;user-select:none;}\r\n /* Legend gradient bar gets a visible outline + axis labels next to it\r\n pull from the regular axis class so they follow the theme. */.sv-grid-chart-heatlegend.svelte-hyytey {stroke:var(--sg-border, #cbd5e1);stroke-width:1;}\r\n /* Funnel segments + labels. */.sv-grid-chart-funnel-seg.svelte-hyytey {stroke:var(--sg-bg, #ffffff);stroke-width:2;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-svg.is-clickable.svelte-hyytey .sv-grid-chart-funnel-seg:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-funnel-seg.svelte-hyytey:hover {opacity:0.88;}.sv-grid-chart-funnel-label.svelte-hyytey {font-size:11px;font-weight:700;font-family:inherit;pointer-events:none;}.sv-grid-chart-funnel-value.svelte-hyytey {font-size:10px;font-family:inherit;opacity:0.85;pointer-events:none;}\r\n /* Radar grid + polygons. */.sv-grid-chart-radar-ring.svelte-hyytey {fill:none;stroke:var(--sg-border, #e2e8f0);stroke-width:1;opacity:0.6;}.sv-grid-chart-radar-spoke.svelte-hyytey {stroke:var(--sg-border, #e2e8f0);stroke-width:1;opacity:0.6;}.sv-grid-chart-radar-poly.svelte-hyytey {transition:opacity 100ms ease;pointer-events:none;}.sv-grid-chart-radar-dot.svelte-hyytey {transition:r 100ms ease;cursor:default;}.sv-grid-chart-radar-dot.svelte-hyytey:hover {r:4.5;}\r\n /* Calendar heatmap cells. Blank cells get a faint outline so the grid\r\n still reads on days with no data. */.sv-grid-chart-calendar-cell.svelte-hyytey {stroke:var(--sg-border, #e2e8f0);stroke-width:0.5;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-calendar-cell.is-blank.svelte-hyytey {stroke-opacity:0.5;}.sv-grid-chart-calendar-cell.svelte-hyytey:hover {opacity:0.85;}.sv-grid-chart-calendar-legend.svelte-hyytey {stroke:var(--sg-border, #cbd5e1);stroke-width:0.5;}\r\n /* Gauge centre readout. */.sv-grid-chart-gauge-value.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:22px;font-weight:800;font-family:inherit;pointer-events:none;}\r\n /* Gauge tick marks: faint minors, stronger majors. */.sv-grid-chart-gauge-tick.svelte-hyytey {stroke:var(--sg-muted, #94a3b8);stroke-width:1;opacity:0.4;}.sv-grid-chart-gauge-tick.is-major.svelte-hyytey {stroke-width:2;opacity:0.7;}\r\n /* Pointer needle + hub. */.sv-grid-chart-gauge-needle.svelte-hyytey {stroke:var(--sg-bg, #ffffff);stroke-width:0.75;stroke-linejoin:round;}.sv-grid-chart-gauge-hub.svelte-hyytey {fill:var(--sg-fg, #0f172a);stroke:var(--sg-bg, #ffffff);stroke-width:2;}.sv-grid-chart-gauge-hub-dot.svelte-hyytey {fill:var(--sg-bg, #ffffff);}\r\n /* Tree-map cells. White separators give the squarified rects breathing\r\n room without distracting from the data. */.sv-grid-chart-treemap-cell.svelte-hyytey {stroke:var(--sg-bg, #ffffff);stroke-width:1;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-svg.is-clickable.svelte-hyytey .sv-grid-chart-treemap-cell:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-treemap-cell.svelte-hyytey:hover {opacity:0.88;}.sv-grid-chart-treemap-label.svelte-hyytey {font-size:11px;font-weight:600;font-family:inherit;pointer-events:none;}.sv-grid-chart-treemap-value.svelte-hyytey {font-size:10px;font-family:inherit;pointer-events:none;}\r\n /* Sankey nodes + links. Links use stroke not fill so per-ribbon width\r\n comes from stroke-width directly. */.sv-grid-chart-sankey-node.svelte-hyytey {transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-sankey-node.svelte-hyytey:hover {opacity:0.88;}.sv-grid-chart-sankey-link.svelte-hyytey {transition:stroke-opacity 100ms ease;cursor:default;}.sv-grid-chart-sankey-link.svelte-hyytey:hover {stroke-opacity:0.6;}.sv-grid-chart-sankey-label.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:11px;font-weight:600;font-family:inherit;pointer-events:none;}\r\n /* Brush mini-map: a compact secondary chart with a draggable window. */.sv-grid-chart-brush.svelte-hyytey {display:block;width:100%;height:auto;margin-top:4px;border-top:1px solid var(--sg-border, #e2e8f0);user-select:none;touch-action:none;}.sv-grid-chart-brush-mask.svelte-hyytey {fill:var(--sg-bg, #ffffff);fill-opacity:0.65;pointer-events:none;}.sv-grid-chart-brush-window.svelte-hyytey {fill:var(--sg-accent, #2563eb);fill-opacity:0.10;stroke:var(--sg-accent, #2563eb);stroke-width:1;cursor:grab;}.sv-grid-chart-brush-window.svelte-hyytey:active {cursor:grabbing;}.sv-grid-chart-brush-handle.svelte-hyytey {fill:var(--sg-accent, #2563eb);fill-opacity:0.4;cursor:ew-resize;}.sv-grid-chart-brush-handle.svelte-hyytey:hover {fill-opacity:0.7;}.sv-grid-chart-scatter.svelte-hyytey {transition:opacity 0.2s ease;stroke-width:1;}.is-clickable.svelte-hyytey .sv-grid-chart-scatter:where(.svelte-hyytey),\r\n .sv-grid-chart-scatter.svelte-hyytey:hover {cursor:pointer;}.sv-grid-chart-cat-hit.svelte-hyytey {fill:transparent;}.sv-grid-chart-cat-hit.svelte-hyytey:focus-visible,\r\n .sv-grid-chart-slice.svelte-hyytey:focus-visible {outline:2px solid var(--sg-accent, #2563eb);outline-offset:1px;}.sv-grid-chart-datalabel.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:9.5px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none;}.sv-grid-chart-datalabel.on-bar.svelte-hyytey {fill:#fff;}.sv-grid-chart-donut-total.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;}.sv-grid-chart-donut-label.svelte-hyytey {fill:var(--sg-muted, #64748b);font-size:10px;}.sv-grid-chart-bar.svelte-hyytey {transition:x 0.3s ease, y 0.3s ease, width 0.3s ease, height 0.3s ease;}.sv-grid-chart-dot.svelte-hyytey {transition:cx 0.3s ease, cy 0.3s ease;}.is-clickable.svelte-hyytey .sv-grid-chart-cat-hit:where(.svelte-hyytey),\r\n .is-clickable.svelte-hyytey .sv-grid-chart-slice:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-empty.svelte-hyytey {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--sg-muted, #94a3b8);font-size:13px;pointer-events:none;}\r\n\r\n /* Toolbar above the chart: reset-zoom, PNG / SVG / Copy. */.sv-grid-chart-toolbar.svelte-hyytey {display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap;}.sv-grid-chart-tool.svelte-hyytey {display:inline-flex;align-items:center;gap:4px;border:1px solid var(--sg-border, #cbd5e1);background:var(--sg-bg, #ffffff);color:var(--sg-fg, #1e293b);font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;cursor:pointer;transition:background-color 100ms ease, border-color 100ms ease;}.sv-grid-chart-tool.svelte-hyytey:hover {background:var(--sg-row-hover-bg, #f1f5f9);border-color:var(--sg-accent, #2563eb);}\r\n\r\n /* Drag-to-zoom: translucent accent rectangle over the plot. */.sv-grid-chart-svg.is-zoomable.svelte-hyytey {cursor:crosshair;}.sv-grid-chart-svg.is-dragging.svelte-hyytey {cursor:crosshair;user-select:none;}.sv-grid-chart-zoom-rect.svelte-hyytey {fill:var(--sg-accent, #2563eb);fill-opacity:0.12;stroke:var(--sg-accent, #2563eb);stroke-width:1;stroke-dasharray:3 3;pointer-events:none;}.sv-grid-chart-tooltip.svelte-hyytey {position:absolute;z-index:10;transform:translate(-50%, calc(-100% - 12px));pointer-events:none;white-space:nowrap;padding:6px 9px;border-radius:6px;background:var(--sg-fg, #0f172a);color:var(--sg-bg, #fff);font-size:11.5px;line-height:1.4;box-shadow:0 6px 18px rgba(0, 0, 0, 0.28);display:flex;flex-direction:column;gap:1px;}.sv-grid-chart-tooltip.is-below.svelte-hyytey {transform:translate(-50%, 16px);}.sv-grid-chart-tooltip-title.svelte-hyytey {opacity:0.75;font-size:10.5px;margin-bottom:1px;}.sv-grid-chart-tooltip-row.svelte-hyytey {display:flex;align-items:center;gap:6px;}.sv-grid-chart-tooltip-dot.svelte-hyytey {width:8px;height:8px;border-radius:2px;flex-shrink:0;}.sv-grid-chart-tooltip-row-label.svelte-hyytey {opacity:0.85;}.sv-grid-chart-tooltip-row-value.svelte-hyytey {margin-left:auto;padding-left:10px;font-weight:700;font-variant-numeric:tabular-nums;}.sv-grid-chart-legend.svelte-hyytey {display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--sg-fg, #0f172a);}.sv-grid-chart-legend-item.svelte-hyytey {display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;padding:1px 2px;border-radius:4px;cursor:pointer;}.sv-grid-chart-legend-item.svelte-hyytey:disabled {cursor:default;}.sv-grid-chart-legend-item.is-off.svelte-hyytey {color:var(--sg-muted, #94a3b8);text-decoration:line-through;}.sv-grid-chart-legend-item.is-isolated.svelte-hyytey {background:var(--sg-header-bg, #f1f5f9);font-weight:700;}.sv-grid-chart-legend-more.svelte-hyytey {border:1px dashed var(--sg-border, #cbd5e1);background:transparent;color:var(--sg-muted, #64748b);font:inherit;font-size:11px;padding:1px 7px;border-radius:999px;cursor:pointer;}.sv-grid-chart-legend-more.svelte-hyytey:hover {color:var(--sg-fg, #0f172a);border-color:var(--sg-accent, #2563eb);}.sv-grid-chart-sr-only.svelte-hyytey {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}.sv-grid-chart-swatch.svelte-hyytey {width:12px;height:12px;border-radius:3px;border:1.5px solid transparent;display:inline-block;box-sizing:border-box;}"
13798
+ code: ".sv-grid-chart.svelte-hyytey {position:relative;display:flex;flex-direction:column;gap:8px;width:100%;}.sv-grid-chart-svg.svelte-hyytey {display:block;width:100%;height:auto;}.sv-grid-chart-gridline.svelte-hyytey {stroke:var(--sg-border, #e2e8f0);stroke-width:1;opacity:0.6;}.sv-grid-chart-gridline.is-zero.svelte-hyytey {stroke:var(--sg-muted, #94a3b8);opacity:0.9;}.sv-grid-chart-axis.svelte-hyytey {fill:var(--sg-muted, #64748b);font-size:10px;font-family:inherit;}.sv-grid-chart-axis-title.svelte-hyytey {fill:var(--sg-muted, #64748b);font-size:11px;font-weight:600;font-family:inherit;}.sv-grid-chart-group-label.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-weight:600;}.sv-grid-chart-crosshair.svelte-hyytey {stroke:var(--sg-accent, #2563eb);stroke-width:1;stroke-dasharray:3 3;opacity:0.65;pointer-events:none;}.sv-grid-chart-refline.svelte-hyytey {stroke-width:1.5;opacity:0.9;pointer-events:none;}.sv-grid-chart-reflabel.svelte-hyytey {font-size:9.5px;font-weight:700;font-family:inherit;pointer-events:none;}.sv-grid-chart-overlay.svelte-hyytey {opacity:0.85;pointer-events:none;}.sv-grid-chart-annotation-marker.svelte-hyytey {pointer-events:none;}.sv-grid-chart-annotation-label.svelte-hyytey {font-size:10px;font-weight:700;font-family:inherit;pointer-events:none;}\n /* Heatmap cells. Stroke uses the border token (not bg) so the cell\n separators stay visible in BOTH light and dark themes - on dark mode\n a bg-colored stroke disappeared into the navy cells. */.sv-grid-chart-heatcell.svelte-hyytey {stroke:var(--sg-border, #cbd5e1);stroke-width:1;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-svg.is-clickable.svelte-hyytey .sv-grid-chart-heatcell:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-heatcell.svelte-hyytey:hover {opacity:0.85;}.sv-grid-chart-heatlabel.svelte-hyytey {font-size:10px;font-weight:600;font-family:inherit;pointer-events:none;user-select:none;}\n /* Legend gradient bar gets a visible outline + axis labels next to it\n pull from the regular axis class so they follow the theme. */.sv-grid-chart-heatlegend.svelte-hyytey {stroke:var(--sg-border, #cbd5e1);stroke-width:1;}\n /* Funnel segments + labels. */.sv-grid-chart-funnel-seg.svelte-hyytey {stroke:var(--sg-bg, #ffffff);stroke-width:2;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-svg.is-clickable.svelte-hyytey .sv-grid-chart-funnel-seg:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-funnel-seg.svelte-hyytey:hover {opacity:0.88;}.sv-grid-chart-funnel-label.svelte-hyytey {font-size:11px;font-weight:700;font-family:inherit;pointer-events:none;}.sv-grid-chart-funnel-value.svelte-hyytey {font-size:10px;font-family:inherit;opacity:0.85;pointer-events:none;}\n /* Radar grid + polygons. */.sv-grid-chart-radar-ring.svelte-hyytey {fill:none;stroke:var(--sg-border, #e2e8f0);stroke-width:1;opacity:0.6;}.sv-grid-chart-radar-spoke.svelte-hyytey {stroke:var(--sg-border, #e2e8f0);stroke-width:1;opacity:0.6;}.sv-grid-chart-radar-poly.svelte-hyytey {transition:opacity 100ms ease;pointer-events:none;}.sv-grid-chart-radar-dot.svelte-hyytey {transition:r 100ms ease;cursor:default;}.sv-grid-chart-radar-dot.svelte-hyytey:hover {r:4.5;}\n /* Calendar heatmap cells. Blank cells get a faint outline so the grid\n still reads on days with no data. */.sv-grid-chart-calendar-cell.svelte-hyytey {stroke:var(--sg-border, #e2e8f0);stroke-width:0.5;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-calendar-cell.is-blank.svelte-hyytey {stroke-opacity:0.5;}.sv-grid-chart-calendar-cell.svelte-hyytey:hover {opacity:0.85;}.sv-grid-chart-calendar-legend.svelte-hyytey {stroke:var(--sg-border, #cbd5e1);stroke-width:0.5;}\n /* Gauge centre readout. */.sv-grid-chart-gauge-value.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:22px;font-weight:800;font-family:inherit;pointer-events:none;}\n /* Gauge tick marks: faint minors, stronger majors. */.sv-grid-chart-gauge-tick.svelte-hyytey {stroke:var(--sg-muted, #94a3b8);stroke-width:1;opacity:0.4;}.sv-grid-chart-gauge-tick.is-major.svelte-hyytey {stroke-width:2;opacity:0.7;}\n /* Pointer needle + hub. */.sv-grid-chart-gauge-needle.svelte-hyytey {stroke:var(--sg-bg, #ffffff);stroke-width:0.75;stroke-linejoin:round;}.sv-grid-chart-gauge-hub.svelte-hyytey {fill:var(--sg-fg, #0f172a);stroke:var(--sg-bg, #ffffff);stroke-width:2;}.sv-grid-chart-gauge-hub-dot.svelte-hyytey {fill:var(--sg-bg, #ffffff);}\n /* Tree-map cells. White separators give the squarified rects breathing\n room without distracting from the data. */.sv-grid-chart-treemap-cell.svelte-hyytey {stroke:var(--sg-bg, #ffffff);stroke-width:1;transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-svg.is-clickable.svelte-hyytey .sv-grid-chart-treemap-cell:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-treemap-cell.svelte-hyytey:hover {opacity:0.88;}.sv-grid-chart-treemap-label.svelte-hyytey {font-size:11px;font-weight:600;font-family:inherit;pointer-events:none;}.sv-grid-chart-treemap-value.svelte-hyytey {font-size:10px;font-family:inherit;pointer-events:none;}\n /* Sankey nodes + links. Links use stroke not fill so per-ribbon width\n comes from stroke-width directly. */.sv-grid-chart-sankey-node.svelte-hyytey {transition:opacity 100ms ease;cursor:default;}.sv-grid-chart-sankey-node.svelte-hyytey:hover {opacity:0.88;}.sv-grid-chart-sankey-link.svelte-hyytey {transition:stroke-opacity 100ms ease;cursor:default;}.sv-grid-chart-sankey-link.svelte-hyytey:hover {stroke-opacity:0.6;}.sv-grid-chart-sankey-label.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:11px;font-weight:600;font-family:inherit;pointer-events:none;}\n /* Brush mini-map: a compact secondary chart with a draggable window. */.sv-grid-chart-brush.svelte-hyytey {display:block;width:100%;height:auto;margin-top:4px;border-top:1px solid var(--sg-border, #e2e8f0);user-select:none;touch-action:none;}.sv-grid-chart-brush-mask.svelte-hyytey {fill:var(--sg-bg, #ffffff);fill-opacity:0.65;pointer-events:none;}.sv-grid-chart-brush-window.svelte-hyytey {fill:var(--sg-accent, #2563eb);fill-opacity:0.10;stroke:var(--sg-accent, #2563eb);stroke-width:1;cursor:grab;}.sv-grid-chart-brush-window.svelte-hyytey:active {cursor:grabbing;}.sv-grid-chart-brush-handle.svelte-hyytey {fill:var(--sg-accent, #2563eb);fill-opacity:0.4;cursor:ew-resize;}.sv-grid-chart-brush-handle.svelte-hyytey:hover {fill-opacity:0.7;}.sv-grid-chart-scatter.svelte-hyytey {transition:opacity 0.2s ease;stroke-width:1;}.is-clickable.svelte-hyytey .sv-grid-chart-scatter:where(.svelte-hyytey),\n .sv-grid-chart-scatter.svelte-hyytey:hover {cursor:pointer;}.sv-grid-chart-cat-hit.svelte-hyytey {fill:transparent;}.sv-grid-chart-cat-hit.svelte-hyytey:focus-visible,\n .sv-grid-chart-slice.svelte-hyytey:focus-visible {outline:2px solid var(--sg-accent, #2563eb);outline-offset:1px;}.sv-grid-chart-datalabel.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:9.5px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none;}.sv-grid-chart-datalabel.on-bar.svelte-hyytey {fill:#fff;}.sv-grid-chart-donut-total.svelte-hyytey {fill:var(--sg-fg, #0f172a);font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;}.sv-grid-chart-donut-label.svelte-hyytey {fill:var(--sg-muted, #64748b);font-size:10px;}.sv-grid-chart-bar.svelte-hyytey {transition:x 0.3s ease, y 0.3s ease, width 0.3s ease, height 0.3s ease;}.sv-grid-chart-dot.svelte-hyytey {transition:cx 0.3s ease, cy 0.3s ease;}.is-clickable.svelte-hyytey .sv-grid-chart-cat-hit:where(.svelte-hyytey),\n .is-clickable.svelte-hyytey .sv-grid-chart-slice:where(.svelte-hyytey) {cursor:pointer;}.sv-grid-chart-empty.svelte-hyytey {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--sg-muted, #94a3b8);font-size:13px;pointer-events:none;}\n\n /* Toolbar above the chart: reset-zoom, PNG / SVG / Copy. */.sv-grid-chart-toolbar.svelte-hyytey {display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap;}.sv-grid-chart-tool.svelte-hyytey {display:inline-flex;align-items:center;gap:4px;border:1px solid var(--sg-border, #cbd5e1);background:var(--sg-bg, #ffffff);color:var(--sg-fg, #1e293b);font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;cursor:pointer;transition:background-color 100ms ease, border-color 100ms ease;}.sv-grid-chart-tool.svelte-hyytey:hover {background:var(--sg-row-hover-bg, #f1f5f9);border-color:var(--sg-accent, #2563eb);}\n\n /* Drag-to-zoom: translucent accent rectangle over the plot. */.sv-grid-chart-svg.is-zoomable.svelte-hyytey {cursor:crosshair;}.sv-grid-chart-svg.is-dragging.svelte-hyytey {cursor:crosshair;user-select:none;}.sv-grid-chart-zoom-rect.svelte-hyytey {fill:var(--sg-accent, #2563eb);fill-opacity:0.12;stroke:var(--sg-accent, #2563eb);stroke-width:1;stroke-dasharray:3 3;pointer-events:none;}.sv-grid-chart-tooltip.svelte-hyytey {position:absolute;z-index:10;transform:translate(-50%, calc(-100% - 12px));pointer-events:none;white-space:nowrap;padding:6px 9px;border-radius:6px;background:var(--sg-fg, #0f172a);color:var(--sg-bg, #fff);font-size:11.5px;line-height:1.4;box-shadow:0 6px 18px rgba(0, 0, 0, 0.28);display:flex;flex-direction:column;gap:1px;}.sv-grid-chart-tooltip.is-below.svelte-hyytey {transform:translate(-50%, 16px);}.sv-grid-chart-tooltip-title.svelte-hyytey {opacity:0.75;font-size:10.5px;margin-bottom:1px;}.sv-grid-chart-tooltip-row.svelte-hyytey {display:flex;align-items:center;gap:6px;}.sv-grid-chart-tooltip-dot.svelte-hyytey {width:8px;height:8px;border-radius:2px;flex-shrink:0;}.sv-grid-chart-tooltip-row-label.svelte-hyytey {opacity:0.85;}.sv-grid-chart-tooltip-row-value.svelte-hyytey {margin-left:auto;padding-left:10px;font-weight:700;font-variant-numeric:tabular-nums;}.sv-grid-chart-legend.svelte-hyytey {display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--sg-fg, #0f172a);}.sv-grid-chart-legend-item.svelte-hyytey {display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;padding:1px 2px;border-radius:4px;cursor:pointer;}.sv-grid-chart-legend-item.svelte-hyytey:disabled {cursor:default;}.sv-grid-chart-legend-item.is-off.svelte-hyytey {color:var(--sg-muted, #94a3b8);text-decoration:line-through;}.sv-grid-chart-legend-item.is-isolated.svelte-hyytey {background:var(--sg-header-bg, #f1f5f9);font-weight:700;}.sv-grid-chart-legend-more.svelte-hyytey {border:1px dashed var(--sg-border, #cbd5e1);background:transparent;color:var(--sg-muted, #64748b);font:inherit;font-size:11px;padding:1px 7px;border-radius:999px;cursor:pointer;}.sv-grid-chart-legend-more.svelte-hyytey:hover {color:var(--sg-fg, #0f172a);border-color:var(--sg-accent, #2563eb);}.sv-grid-chart-sr-only.svelte-hyytey {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}.sv-grid-chart-swatch.svelte-hyytey {width:12px;height:12px;border-radius:3px;border:1.5px solid transparent;display:inline-block;box-sizing:border-box;}"
13799
13799
  };
13800
13800
  function Qm(e, t) {
13801
13801
  on(t, !0), Za(e, Zm);
@@ -18389,7 +18389,7 @@ function Uv(e) {
18389
18389
  //#region src/SvDrawer.svelte
18390
18390
  var Wv = /* @__PURE__ */ H("<div class=\"sv-drawer__grab\" aria-hidden=\"true\"><span></span></div>"), Gv = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-drawer__x\" aria-label=\"Close\">&times;</button>"), Kv = /* @__PURE__ */ H("<div class=\"sv-drawer__header\"><h2 class=\"sv-drawer__title\"> </h2> <!></div>"), qv = /* @__PURE__ */ H("<div class=\"sv-drawer__footer\"><!></div>"), Jv = /* @__PURE__ */ H("<div><div><!> <!> <div class=\"sv-drawer__body\"><!></div> <!></div></div>"), Yv = {
18391
18391
  hash: "svelte-1c4wnxf",
18392
- code: ".sv-drawer__backdrop {position:fixed;inset:0;z-index:2147483000;background:rgba(15, 23, 42, 0.45);backdrop-filter:blur(1.5px);\r\n animation: svelte-1c4wnxf-sv-drawer-bd-in 0.2s ease backwards;}.sv-drawer__backdrop.is-leaving { animation: svelte-1c4wnxf-sv-drawer-bd-out 0.2s ease forwards;}\r\n @keyframes svelte-1c4wnxf-sv-drawer-bd-in { from { opacity: 0 } to { opacity: 1 } }\r\n @keyframes svelte-1c4wnxf-sv-drawer-bd-out { from { opacity: 1 } to { opacity: 0 } }.sv-drawer {position:fixed;display:flex;flex-direction:column;background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);box-shadow:0 24px 64px -16px rgba(15, 23, 42, 0.5);overflow:hidden;\r\n /* Slide in on mount; `backwards` fill shows the off-screen start frame with no\r\n flash, and does NOT hold the end frame - so the sheet drag transform wins. */\r\n animation: svelte-1c4wnxf-sv-drawer-in 0.26s cubic-bezier(0.16, 1, 0.3, 1) backwards;}\r\n /* Exit keyframe; `forwards` fill holds the off-screen frame until we unmount. */.sv-drawer.is-leaving { animation: svelte-1c4wnxf-sv-drawer-out 0.26s cubic-bezier(0.16, 1, 0.3, 1) forwards;}\r\n /* Off-screen vector per edge - the enter/exit keyframes read `--sv-off`. `side`\r\n is a stated physical edge (like SvToaster's position prop), not a text-flow\r\n \"start/end\" - so it stays physical left/right regardless of page dir. */.sv-drawer--right, .sv-drawer--left {top:0;bottom:0;width:var(--sv-drawer-size);max-width:100vw;}.sv-drawer--right {right:0;border-left:1px solid var(--sg-border, #e2e8f0);--sv-off: translateX(100%);}.sv-drawer--left {left:0;border-right:1px solid var(--sg-border, #e2e8f0);--sv-off: translateX(-100%);}\r\n /* Top / bottom: full width, fixed height, slide along Y. */.sv-drawer--top, .sv-drawer--bottom {left:0;right:0;height:var(--sv-drawer-size);max-height:100vh;}.sv-drawer--top {top:0;border-bottom:1px solid var(--sg-border, #e2e8f0);--sv-off: translateY(-100%);}.sv-drawer--bottom {bottom:0;border-top:1px solid var(--sg-border, #e2e8f0);--sv-off: translateY(100%);}\r\n @keyframes svelte-1c4wnxf-sv-drawer-in { from { transform: var(--sv-off) } to { transform: none } }\r\n @keyframes svelte-1c4wnxf-sv-drawer-out { from { transform: none } to { transform: var(--sv-off) } }\r\n\r\n /* Mobile bottom-sheet: centered, fixed width, rounded top, grab handle. Slides\r\n along Y like a bottom drawer (enter/exit keyframes read --sv-off from --bottom). */.sv-drawer.is-sheet {left:0;right:0;margin:0 auto;top:auto;width:min(560px, 100vw);height:auto;max-height:85vh;border:1px solid var(--sg-border, #e2e8f0);border-bottom:0;border-radius:16px 16px 0 0;}\r\n /* No transition while the user is dragging the grab handle - follow the finger. */.sv-drawer.is-dragging {transition:none;}.sv-drawer__grab {flex:none;display:grid;place-items:center;padding:8px 0 2px;cursor:grab;touch-action:none;}.sv-drawer__grab span {display:block;width:40px;height:4px;border-radius:999px;background:var(--sg-border, #cbd5e1);}\r\n @media (prefers-reduced-motion: reduce) {.sv-drawer__backdrop, .sv-drawer__backdrop.is-leaving,\r\n .sv-drawer, .sv-drawer.is-leaving { animation: none;}\r\n }.sv-drawer__header {display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--sg-border, #e2e8f0);}.sv-drawer__title {flex:1;margin:0;font-size:15px;font-weight:650;}.sv-drawer__x {flex:none;width:28px;height:28px;display:grid;place-items:center;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;border-radius:6px;font-size:20px;line-height:1;}.sv-drawer__x:hover {background:var(--sg-row-hover-bg, #f1f5f9);color:var(--sg-fg, #0f172a);}.sv-drawer__body {padding:16px;overflow:auto;flex:1;font-size:13.5px;line-height:1.6;}.sv-drawer__footer {display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--sg-border, #e2e8f0);}"
18392
+ code: ".sv-drawer__backdrop {position:fixed;inset:0;z-index:2147483000;background:rgba(15, 23, 42, 0.45);backdrop-filter:blur(1.5px);\n animation: svelte-1c4wnxf-sv-drawer-bd-in 0.2s ease backwards;}.sv-drawer__backdrop.is-leaving { animation: svelte-1c4wnxf-sv-drawer-bd-out 0.2s ease forwards;}\n @keyframes svelte-1c4wnxf-sv-drawer-bd-in { from { opacity: 0 } to { opacity: 1 } }\n @keyframes svelte-1c4wnxf-sv-drawer-bd-out { from { opacity: 1 } to { opacity: 0 } }.sv-drawer {position:fixed;display:flex;flex-direction:column;background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);box-shadow:0 24px 64px -16px rgba(15, 23, 42, 0.5);overflow:hidden;\n /* Slide in on mount; `backwards` fill shows the off-screen start frame with no\n flash, and does NOT hold the end frame - so the sheet drag transform wins. */\n animation: svelte-1c4wnxf-sv-drawer-in 0.26s cubic-bezier(0.16, 1, 0.3, 1) backwards;}\n /* Exit keyframe; `forwards` fill holds the off-screen frame until we unmount. */.sv-drawer.is-leaving { animation: svelte-1c4wnxf-sv-drawer-out 0.26s cubic-bezier(0.16, 1, 0.3, 1) forwards;}\n /* Off-screen vector per edge - the enter/exit keyframes read `--sv-off`. `side`\n is a stated physical edge (like SvToaster's position prop), not a text-flow\n \"start/end\" - so it stays physical left/right regardless of page dir. */.sv-drawer--right, .sv-drawer--left {top:0;bottom:0;width:var(--sv-drawer-size);max-width:100vw;}.sv-drawer--right {right:0;border-left:1px solid var(--sg-border, #e2e8f0);--sv-off: translateX(100%);}.sv-drawer--left {left:0;border-right:1px solid var(--sg-border, #e2e8f0);--sv-off: translateX(-100%);}\n /* Top / bottom: full width, fixed height, slide along Y. */.sv-drawer--top, .sv-drawer--bottom {left:0;right:0;height:var(--sv-drawer-size);max-height:100vh;}.sv-drawer--top {top:0;border-bottom:1px solid var(--sg-border, #e2e8f0);--sv-off: translateY(-100%);}.sv-drawer--bottom {bottom:0;border-top:1px solid var(--sg-border, #e2e8f0);--sv-off: translateY(100%);}\n @keyframes svelte-1c4wnxf-sv-drawer-in { from { transform: var(--sv-off) } to { transform: none } }\n @keyframes svelte-1c4wnxf-sv-drawer-out { from { transform: none } to { transform: var(--sv-off) } }\n\n /* Mobile bottom-sheet: centered, fixed width, rounded top, grab handle. Slides\n along Y like a bottom drawer (enter/exit keyframes read --sv-off from --bottom). */.sv-drawer.is-sheet {left:0;right:0;margin:0 auto;top:auto;width:min(560px, 100vw);height:auto;max-height:85vh;border:1px solid var(--sg-border, #e2e8f0);border-bottom:0;border-radius:16px 16px 0 0;}\n /* No transition while the user is dragging the grab handle - follow the finger. */.sv-drawer.is-dragging {transition:none;}.sv-drawer__grab {flex:none;display:grid;place-items:center;padding:8px 0 2px;cursor:grab;touch-action:none;}.sv-drawer__grab span {display:block;width:40px;height:4px;border-radius:999px;background:var(--sg-border, #cbd5e1);}\n @media (prefers-reduced-motion: reduce) {.sv-drawer__backdrop, .sv-drawer__backdrop.is-leaving,\n .sv-drawer, .sv-drawer.is-leaving { animation: none;}\n }.sv-drawer__header {display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--sg-border, #e2e8f0);}.sv-drawer__title {flex:1;margin:0;font-size:15px;font-weight:650;}.sv-drawer__x {flex:none;width:28px;height:28px;display:grid;place-items:center;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;border-radius:6px;font-size:20px;line-height:1;}.sv-drawer__x:hover {background:var(--sg-row-hover-bg, #f1f5f9);color:var(--sg-fg, #0f172a);}.sv-drawer__body {padding:16px;overflow:auto;flex:1;font-size:13.5px;line-height:1.6;}.sv-drawer__footer {display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--sg-border, #e2e8f0);}"
18393
18393
  };
18394
18394
  function Xv(e, t) {
18395
18395
  on(t, !0), Za(e, Yv);
@@ -18494,7 +18494,7 @@ Yi([
18494
18494
  //#region src/SvGridBoard.svelte
18495
18495
  var Zv = /* @__PURE__ */ H("<span class=\"sv-board-comment-author svelte-15b6cgu\"> </span>"), Qv = /* @__PURE__ */ H("<span class=\"sv-board-comment-at svelte-15b6cgu\"> </span>"), $v = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-board-comment-del svelte-15b6cgu\" aria-label=\"Delete comment\">×</button>"), ey = /* @__PURE__ */ H("<div class=\"sv-board-comment svelte-15b6cgu\"><div class=\"sv-board-comment-body svelte-15b6cgu\"><!> <span class=\"sv-board-comment-text\"> </span> <!></div> <!></div>"), ty = /* @__PURE__ */ H("<div class=\"sv-board-comment-empty svelte-15b6cgu\">No comments yet.</div>"), ny = /* @__PURE__ */ H("<input class=\"sv-board-comment-add svelte-15b6cgu\" placeholder=\"Write a comment...\"/>"), ry = /* @__PURE__ */ H("<!> <!> <!>", 1), iy = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-board-lane-toggle svelte-15b6cgu\"> </button>"), ay = /* @__PURE__ */ H("<input class=\"sv-board-lane-rename svelte-15b6cgu\"/>"), oy = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-board-lane-title is-renamable svelte-15b6cgu\" title=\"Double-click, Enter, or F2 to rename\"> </button>"), sy = /* @__PURE__ */ H("<span class=\"sv-board-lane-title svelte-15b6cgu\"> </span>"), cy = /* @__PURE__ */ H("<span class=\"sv-board-lane-summary svelte-15b6cgu\"> </span>"), ly = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-board-lane-add svelte-15b6cgu\">+</button>"), uy = /* @__PURE__ */ H("<div aria-hidden=\"true\"></div>"), dy = /* @__PURE__ */ H("<div class=\"sv-board-drop-marker svelte-15b6cgu\" aria-hidden=\"true\"></div>"), fy = /* @__PURE__ */ H("<span class=\"sv-board-card-flag svelte-15b6cgu\" aria-label=\"Blocked\"></span>"), py = /* @__PURE__ */ H("<input type=\"checkbox\" class=\"svelte-15b6cgu\"/>"), my = /* @__PURE__ */ H("<input class=\"svelte-15b6cgu\"/>"), hy = /* @__PURE__ */ H("<label class=\"sv-board-field svelte-15b6cgu\"><span> </span> <!></label>"), gy = /* @__PURE__ */ H("<form class=\"sv-board-card-edit svelte-15b6cgu\"><!> <div class=\"sv-board-card-edit-actions svelte-15b6cgu\"><button type=\"button\" class=\"sv-board-btn svelte-15b6cgu\">Cancel</button> <button type=\"submit\" class=\"sv-board-btn is-primary svelte-15b6cgu\">Save</button></div></form>"), _y = /* @__PURE__ */ H("<!> <!>", 1), vy = /* @__PURE__ */ H("<div class=\"sv-board-card-cover svelte-15b6cgu\" aria-hidden=\"true\"></div>"), yy = /* @__PURE__ */ H("<div class=\"sv-board-card-title svelte-15b6cgu\"> </div>"), by = /* @__PURE__ */ H("<div class=\"sv-board-card-metarow svelte-15b6cgu\"><dt class=\"svelte-15b6cgu\"> </dt> <dd class=\"svelte-15b6cgu\"> </dd></div>"), xy = /* @__PURE__ */ H("<dl class=\"sv-board-card-meta svelte-15b6cgu\"></dl>"), Sy = /* @__PURE__ */ H("<!> <!> <!> <!>", 1), Cy = /* @__PURE__ */ H("<li><label><input type=\"checkbox\" class=\"svelte-15b6cgu\"/> <span class=\"svelte-15b6cgu\"> </span></label></li>"), wy = /* @__PURE__ */ H("<ul class=\"sv-board-subs-list svelte-15b6cgu\"></ul> <input class=\"sv-board-subs-add svelte-15b6cgu\" placeholder=\"Add subtask...\"/>", 1), Ty = /* @__PURE__ */ H("<div class=\"sv-board-subs svelte-15b6cgu\"><button type=\"button\" class=\"sv-board-subs-head svelte-15b6cgu\"><span class=\"sv-board-subs-chev svelte-15b6cgu\"> </span> <span class=\"sv-board-subs-count svelte-15b6cgu\"> </span> <span class=\"sv-board-subs-bar svelte-15b6cgu\" aria-hidden=\"true\"><span class=\"svelte-15b6cgu\"></span></span></button> <!></div>"), Ey = /* @__PURE__ */ H("<li class=\"sv-board-kid svelte-15b6cgu\"><span class=\"sv-board-kid-title svelte-15b6cgu\"> </span> <span class=\"sv-board-kid-lane svelte-15b6cgu\"> </span></li>"), Dy = /* @__PURE__ */ H("<ul class=\"sv-board-kids-list svelte-15b6cgu\"></ul>"), Oy = /* @__PURE__ */ H("<div class=\"sv-board-kids svelte-15b6cgu\"><button type=\"button\" class=\"sv-board-kids-head svelte-15b6cgu\"><span class=\"sv-board-subs-chev svelte-15b6cgu\"> </span> </button> <!></div>"), ky = /* @__PURE__ */ H("<div class=\"sv-board-comments svelte-15b6cgu\"><!></div>"), Ay = /* @__PURE__ */ H("<!> <article role=\"listitem\" tabindex=\"0\" aria-roledescription=\"Draggable card\"><!> <!> <!> <!> <!></article>", 1), jy = /* @__PURE__ */ H("<div aria-hidden=\"true\"></div>"), My = /* @__PURE__ */ H("<div class=\"sv-board-drop-marker svelte-15b6cgu\" aria-hidden=\"true\"></div>"), Ny = /* @__PURE__ */ H("<div class=\"sv-board-lane-empty svelte-15b6cgu\">No cards</div>"), Py = /* @__PURE__ */ H("<input class=\"sv-board-composer-input svelte-15b6cgu\" placeholder=\"Card title...\"/>"), Fy = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-board-composer-btn svelte-15b6cgu\">+ Add a card</button>"), Iy = /* @__PURE__ */ H("<div role=\"list\"><!> <!> <!> <!></div> <!>", 1), Ly = /* @__PURE__ */ H("<section><header><!> <!> <span> <!></span> <!> <!></header> <!></section>"), Ry = /* @__PURE__ */ H("<span class=\"sv-board-badge is-blocked svelte-15b6cgu\">Blocked</span>"), zy = /* @__PURE__ */ H("<span class=\"sv-board-badge is-label svelte-15b6cgu\"> </span>"), By = /* @__PURE__ */ H("<span> </span>"), Vy = /* @__PURE__ */ H("<span class=\"sv-board-badge is-meta svelte-15b6cgu\" title=\"Age\"> </span>"), Hy = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-board-badge is-meta is-btn svelte-15b6cgu\" title=\"Comments\"><svg viewBox=\"0 0 16 16\" width=\"11\" height=\"11\" aria-hidden=\"true\"><path d=\"M2 3h12v8H8l-3 2v-2H2z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.3\" stroke-linejoin=\"round\"></path></svg> </button>"), Uy = /* @__PURE__ */ H("<span class=\"sv-board-badge is-meta svelte-15b6cgu\"><svg viewBox=\"0 0 16 16\" width=\"11\" height=\"11\" aria-hidden=\"true\"><path d=\"M11 5.5 6.5 10a2 2 0 0 1-3-3l5-5a3 3 0 0 1 4 4l-5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg> </span>"), Wy = /* @__PURE__ */ H("<span class=\"sv-board-avatar svelte-15b6cgu\"> </span>"), Gy = /* @__PURE__ */ H("<span class=\"sv-board-avatars svelte-15b6cgu\"></span>"), Ky = /* @__PURE__ */ H("<div class=\"sv-board-badges svelte-15b6cgu\"><!> <!> <!> <!> <!> <!> <!></div>"), qy = /* @__PURE__ */ H("<button type=\"button\"> <span class=\"sv-board-facet-count svelte-15b6cgu\"> </span></button>"), Jy = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-board-facet-clear svelte-15b6cgu\">Clear filters</button>"), Yy = /* @__PURE__ */ H("<div class=\"sv-board-facets svelte-15b6cgu\"><!> <!></div>"), Xy = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-board-swim-toggle svelte-15b6cgu\"> </button>"), Zy = /* @__PURE__ */ H("<span class=\"sv-board-swim-summary svelte-15b6cgu\"> </span>"), Qy = /* @__PURE__ */ H("<div class=\"sv-board-lanes svelte-15b6cgu\"></div>"), $y = /* @__PURE__ */ H("<section class=\"sv-board-swim svelte-15b6cgu\"><header class=\"sv-board-swim-head svelte-15b6cgu\"><!> <span class=\"sv-board-swim-title\"> </span> <span class=\"sv-board-swim-count svelte-15b6cgu\"> </span> <!></header> <!></section>"), eb = /* @__PURE__ */ H("<div class=\"sv-board-lanes svelte-15b6cgu\"></div>"), tb = /* @__PURE__ */ H("<div class=\"sv-board-ctx\" aria-label=\"Card actions\"><!></div>"), nb = /* @__PURE__ */ H("<div class=\"sv-board-drawer-comments svelte-15b6cgu\"><div class=\"sv-board-drawer-h svelte-15b6cgu\">Comments</div> <!></div>"), rb = /* @__PURE__ */ H("<!> <!>", 1), ib = /* @__PURE__ */ H("<div role=\"group\" aria-label=\"Board\"><!> <!> <div class=\"sv-board-sr svelte-15b6cgu\" aria-live=\"polite\" role=\"status\"> </div></div> <!> <!>", 1), ab = {
18496
18496
  hash: "svelte-15b6cgu",
18497
- code: ".sv-board.svelte-15b6cgu {height:100%;box-sizing:border-box;display:flex;flex-direction:column;background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);font-family:var(--sg-font, inherit);}.sv-board.is-swim.svelte-15b6cgu {overflow-y:auto;gap:14px;}.sv-board-lanes.svelte-15b6cgu {display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding:4px;flex:1 1 auto;min-height:0;scrollbar-color:var(--sg-scrollbar-thumb, color-mix(in srgb, var(--sg-fg, #101828) 28%, transparent))\r\n transparent;}.sv-board.is-swim.svelte-15b6cgu .sv-board-lanes:where(.svelte-15b6cgu) {flex:none;}.sv-board.is-swim.svelte-15b6cgu .sv-board-lane:where(.svelte-15b6cgu) {max-height:340px;}.sv-board-swim.svelte-15b6cgu {display:flex;flex-direction:column;gap:4px;flex:none;}.sv-board-swim-head.svelte-15b6cgu {display:flex;align-items:center;gap:8px;padding:4px 8px;font-weight:700;font-size:0.78rem;color:color-mix(in srgb, var(--sg-fg, #101828) 78%, transparent);position:sticky;left:0;}.sv-board-swim-count.svelte-15b6cgu {font-size:0.7rem;font-weight:600;padding:0 7px;border-radius:999px;background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-swim-summary.svelte-15b6cgu {font-size:0.7rem;font-weight:600;color:color-mix(in srgb, var(--sg-accent, #3b82f6) 85%, var(--sg-fg, #101828));}.sv-board-swim-toggle.svelte-15b6cgu {all:unset;cursor:pointer;font-size:0.7rem;padding:2px;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-lane-title.is-renamable.svelte-15b6cgu {all:unset;cursor:text;font-weight:600;font-size:0.82rem;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;}.sv-board-lane-rename.svelte-15b6cgu {flex:1 1 auto;min-width:0;font:inherit;font-weight:600;font-size:0.82rem;padding:1px 4px;border:1px solid var(--sv-board-accent);border-radius:5px;background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}.sv-board-swim-toggle.svelte-15b6cgu:hover {color:var(--sg-fg, #101828);}.sv-board-lane.svelte-15b6cgu {flex:0 0 var(--sg-board-lane-w, 272px);max-width:var(--sg-board-lane-w, 272px);display:flex;flex-direction:column;max-height:100%;border:1px solid var(--sg-border, #e4e7ec);border-radius:var(--sg-radius, 8px);background:var(--sg-header-bg, color-mix(in srgb, var(--sg-fg, #101828) 3%, var(--sg-bg, #fff)));--sv-board-accent: var(--sg-accent, #3b82f6);}.sv-board-lane-head.svelte-15b6cgu {display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--sg-border, #e4e7ec);border-top:3px solid var(--sv-board-accent);border-radius:var(--sg-radius, 8px) var(--sg-radius, 8px) 0 0;}.sv-board-lane-head.is-reorderable.svelte-15b6cgu {cursor:grab;}.sv-board-lane-head.is-lane-dropover.svelte-15b6cgu {box-shadow:inset 3px 0 0 var(--sv-board-accent);}.sv-board-lane-title.svelte-15b6cgu {font-weight:600;font-size:0.82rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.sv-board-lane-toggle.svelte-15b6cgu {all:unset;cursor:pointer;font-size:0.7rem;line-height:1;color:color-mix(in srgb, var(--sg-fg, #101828) 55%, transparent);padding:2px;}.sv-board-lane-toggle.svelte-15b6cgu:hover {color:var(--sg-fg, #101828);}.sv-board-lane.is-collapsed.svelte-15b6cgu {flex:0 0 auto;max-width:none;}.sv-board-lane.is-collapsed.svelte-15b6cgu .sv-board-lane-head:where(.svelte-15b6cgu) {writing-mode:vertical-rl;height:180px;border-top:none;border-left:3px solid var(--sv-board-accent);border-radius:0 var(--sg-radius, 8px) var(--sg-radius, 8px) 0;gap:6px;}.sv-board-lane-count.svelte-15b6cgu {font-size:0.72rem;font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:999px;background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:color-mix(in srgb, var(--sg-fg, #101828) 70%, transparent);}.sv-board-lane-count.is-over.svelte-15b6cgu {background:color-mix(in srgb, var(--sg-danger, #ef4444) 16%, transparent);color:var(--sg-danger, #ef4444);font-weight:700;}.sv-board-lane-summary.svelte-15b6cgu {font-size:0.72rem;font-weight:600;font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--sv-board-accent) 85%, var(--sg-fg, #101828));}.sv-board-lane-add.svelte-15b6cgu {all:unset;cursor:pointer;width:20px;height:20px;display:grid;place-items:center;border-radius:5px;font-size:1rem;line-height:1;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-lane-add.svelte-15b6cgu:hover {background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:var(--sg-fg, #101828);}.sv-board-lane-body.svelte-15b6cgu {display:flex;flex-direction:column;gap:8px;padding:8px;overflow-y:auto;flex:1 1 auto;min-height:48px;transition:background 0.12s ease;}.sv-board-lane-body.is-dropover.svelte-15b6cgu {background:color-mix(in srgb, var(--sv-board-accent) 8%, transparent);}\r\n /* Virtualized lanes use block flow + per-card margin (not flex gap) so the\r\n spacer heights match the windowing math exactly. */.sv-board-lane-body.is-virtual.svelte-15b6cgu {display:block;gap:0;}.sv-board-lane-body.is-virtual.svelte-15b6cgu .sv-board-card:where(.svelte-15b6cgu) {margin-bottom:8px;}.sv-board-card.svelte-15b6cgu {background:var(--sg-bg, #fff);border:1px solid var(--sg-border, #e4e7ec);border-radius:var(--sg-radius, 8px);padding:9px 11px;cursor:grab;box-shadow:0 1px 2px rgba(16, 24, 40, 0.05);transition:box-shadow 0.12s ease,\r\n opacity 0.12s ease,\r\n transform 0.12s ease;}.sv-board-card.svelte-15b6cgu:hover {box-shadow:0 2px 8px rgba(16, 24, 40, 0.12);border-color:color-mix(in srgb, var(--sv-board-accent) 45%, var(--sg-border, #e4e7ec));}.sv-board-card.svelte-15b6cgu:focus-visible {outline:none;border-color:var(--sv-board-accent);box-shadow:var(--sg-focus-ring, 0 0 0 2px color-mix(in srgb, var(--sv-board-accent) 45%, transparent));}.sv-board-card.is-dragging.svelte-15b6cgu {opacity:0.45;}.sv-board-card.is-grabbed.svelte-15b6cgu {border-color:var(--sv-board-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--sv-board-accent) 55%, transparent);cursor:grabbing;}.sv-board-card.is-editing.svelte-15b6cgu {cursor:default;border-color:var(--sv-board-accent);}.sv-board-card-edit.svelte-15b6cgu {display:flex;flex-direction:column;gap:7px;}.sv-board-field.svelte-15b6cgu {display:flex;flex-direction:column;gap:2px;font-size:0.72rem;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-field.svelte-15b6cgu input[type=\"text\"]:where(.svelte-15b6cgu),\r\n .sv-board-field.svelte-15b6cgu input[type=\"number\"]:where(.svelte-15b6cgu),\r\n .sv-board-field.svelte-15b6cgu input[type=\"date\"]:where(.svelte-15b6cgu) {font:inherit;font-size:0.8rem;padding:4px 7px;border:1px solid var(--sg-border, #e4e7ec);border-radius:var(--sg-radius, 6px);background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}.sv-board-field.svelte-15b6cgu input:where(.svelte-15b6cgu):focus-visible {outline:none;border-color:var(--sv-board-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--sv-board-accent) 35%, transparent);}.sv-board-field.svelte-15b6cgu input[type=\"checkbox\"]:where(.svelte-15b6cgu) {align-self:flex-start;width:15px;height:15px;accent-color:var(--sv-board-accent);}.sv-board-card-edit-actions.svelte-15b6cgu {display:flex;justify-content:flex-end;gap:6px;margin-top:2px;}.sv-board-btn.svelte-15b6cgu {font:inherit;font-size:0.74rem;padding:3px 10px;border-radius:var(--sg-radius, 6px);border:1px solid var(--sg-border, #e4e7ec);background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);cursor:pointer;}.sv-board-btn.svelte-15b6cgu:hover {background:color-mix(in srgb, var(--sg-fg, #101828) 6%, transparent);}.sv-board-btn.is-primary.svelte-15b6cgu {background:var(--sv-board-accent);border-color:var(--sv-board-accent);color:#fff;}.sv-board-btn.is-primary.svelte-15b6cgu:hover {filter:brightness(0.95);}.sv-board-card-title.svelte-15b6cgu {font-weight:600;font-size:0.84rem;line-height:1.3;}.sv-board-card-meta.svelte-15b6cgu {margin:6px 0 0;display:flex;flex-direction:column;gap:2px;}.sv-board-card-metarow.svelte-15b6cgu {display:flex;gap:6px;font-size:0.74rem;}.sv-board-card-metarow.svelte-15b6cgu dt:where(.svelte-15b6cgu) {color:color-mix(in srgb, var(--sg-fg, #101828) 55%, transparent);margin:0;}.sv-board-card-metarow.svelte-15b6cgu dd:where(.svelte-15b6cgu) {margin:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-board-lane-empty.svelte-15b6cgu {text-align:center;font-size:0.76rem;color:color-mix(in srgb, var(--sg-fg, #101828) 42%, transparent);padding:14px 0;border:1px dashed var(--sg-border, #e4e7ec);border-radius:var(--sg-radius, 8px);}.sv-board-drop-marker.svelte-15b6cgu {height:2px;border-radius:2px;background:var(--sv-board-accent);margin:-3px 0;}.sv-board-ctx {z-index:2147483646;min-width:200px;background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-border, #e2e8f0);border-radius:10px;box-shadow:0 16px 48px -12px rgba(15, 23, 42, 0.35);font-size:13px;}.sv-board-sr.svelte-15b6cgu {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}\r\n /* Card badges */.sv-board-badges.svelte-15b6cgu {display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:6px;}.sv-board-badge.svelte-15b6cgu {font-size:0.66rem;font-weight:600;padding:1px 6px;border-radius:4px;line-height:1.5;white-space:nowrap;}.sv-board-badge.is-label.svelte-15b6cgu {--b: var(--sv-board-accent);background:color-mix(in srgb, var(--b) 16%, transparent);color:color-mix(in srgb, var(--b) 80%, var(--sg-fg, #101828));}.sv-board-badge.is-due.svelte-15b6cgu {background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:color-mix(in srgb, var(--sg-fg, #101828) 65%, transparent);}.sv-board-badge.is-due.is-overdue.svelte-15b6cgu {background:color-mix(in srgb, var(--sg-danger, #ef4444) 15%, transparent);color:var(--sg-danger, #ef4444);}.sv-board-badge.is-meta.svelte-15b6cgu {display:inline-flex;align-items:center;gap:3px;background:transparent;padding:1px 3px;color:color-mix(in srgb, var(--sg-fg, #101828) 55%, transparent);}.sv-board-badge.is-btn.svelte-15b6cgu {border:0;cursor:pointer;font:inherit;font-size:0.66rem;font-weight:600;border-radius:5px;}.sv-board-badge.is-btn.svelte-15b6cgu:hover {background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:var(--sg-fg, #101828);}.sv-board-badge.is-blocked.svelte-15b6cgu {background:var(--sg-danger, #ef4444);color:#fff;text-transform:uppercase;letter-spacing:0.03em;font-size:0.6rem;}\r\n /* Comments thread */.sv-board-comments.svelte-15b6cgu {margin-top:7px;border-top:1px solid color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);padding-top:7px;display:flex;flex-direction:column;gap:5px;}.sv-board-drawer-comments.svelte-15b6cgu {margin-top:16px;padding-top:12px;border-top:1px solid var(--sg-border, #e4e7ec);display:flex;flex-direction:column;gap:6px;}.sv-board-drawer-h.svelte-15b6cgu {font-weight:600;font-size:0.82rem;margin-bottom:2px;}.sv-board-comment.svelte-15b6cgu {display:flex;align-items:flex-start;gap:6px;font-size:0.74rem;}.sv-board-comment-body.svelte-15b6cgu {flex:1 1 auto;min-width:0;}.sv-board-comment-author.svelte-15b6cgu {font-weight:600;margin-right:5px;}.sv-board-comment-at.svelte-15b6cgu {margin-left:6px;font-size:0.66rem;color:color-mix(in srgb, var(--sg-fg, #101828) 45%, transparent);}.sv-board-comment-del.svelte-15b6cgu {all:unset;cursor:pointer;font-size:0.9rem;line-height:1;color:color-mix(in srgb, var(--sg-fg, #101828) 40%, transparent);padding:0 2px;}.sv-board-comment-del.svelte-15b6cgu:hover {color:var(--sg-danger, #ef4444);}.sv-board-comment-empty.svelte-15b6cgu {font-size:0.72rem;color:color-mix(in srgb, var(--sg-fg, #101828) 42%, transparent);}.sv-board-comment-add.svelte-15b6cgu {width:100%;box-sizing:border-box;font:inherit;font-size:0.74rem;padding:4px 7px;border:1px solid var(--sg-border, #e4e7ec);border-radius:5px;background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}.sv-board-card-cover.svelte-15b6cgu {height:6px;border-radius:4px;margin:-2px 0 7px;}.sv-board-avatars.svelte-15b6cgu {display:inline-flex;margin-left:auto;}.sv-board-avatar.svelte-15b6cgu {width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:0.6rem;font-weight:700;color:#fff;background:var(--sv-board-accent);border:1.5px solid var(--sg-bg, #fff);margin-left:-6px;}.sv-board-avatar.svelte-15b6cgu:first-child {margin-left:0;}\r\n /* Sub-tasks */.sv-board-subs.svelte-15b6cgu {margin-top:7px;border-top:1px solid color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);padding-top:6px;}.sv-board-subs-head.svelte-15b6cgu {all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;width:100%;font-size:0.7rem;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-subs-chev.svelte-15b6cgu {font-size:0.6rem;}.sv-board-subs-count.svelte-15b6cgu {font-variant-numeric:tabular-nums;font-weight:600;}.sv-board-subs-bar.svelte-15b6cgu {flex:1 1 auto;height:4px;border-radius:2px;background:color-mix(in srgb, var(--sg-fg, #101828) 10%, transparent);overflow:hidden;}.sv-board-subs-bar.svelte-15b6cgu span:where(.svelte-15b6cgu) {display:block;height:100%;background:var(--sv-board-accent);transition:width 0.15s ease;}.sv-board-subs-list.svelte-15b6cgu {list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;}.sv-board-subs-list.svelte-15b6cgu label:where(.svelte-15b6cgu) {display:flex;align-items:center;gap:6px;font-size:0.74rem;cursor:pointer;}.sv-board-subs-list.svelte-15b6cgu label.is-done:where(.svelte-15b6cgu) span:where(.svelte-15b6cgu) {text-decoration:line-through;color:color-mix(in srgb, var(--sg-fg, #101828) 45%, transparent);}.sv-board-subs-list.svelte-15b6cgu input:where(.svelte-15b6cgu) {accent-color:var(--sv-board-accent);}.sv-board-subs-add.svelte-15b6cgu {margin-top:5px;width:100%;box-sizing:border-box;font:inherit;font-size:0.74rem;padding:3px 6px;border:1px solid var(--sg-border, #e4e7ec);border-radius:5px;background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}\r\n /* Quick-add composer */.sv-board-composer-btn.svelte-15b6cgu {all:unset;cursor:pointer;display:block;margin:6px 8px 8px;padding:5px 8px;border-radius:var(--sg-radius, 6px);font-size:0.76rem;color:color-mix(in srgb, var(--sg-fg, #101828) 55%, transparent);}.sv-board-composer-btn.svelte-15b6cgu:hover {background:color-mix(in srgb, var(--sg-fg, #101828) 6%, transparent);color:var(--sg-fg, #101828);}.sv-board-composer-input.svelte-15b6cgu {margin:6px 8px 8px;width:calc(100% - 16px);box-sizing:border-box;font:inherit;font-size:0.8rem;padding:6px 8px;border:1px solid var(--sv-board-accent);border-radius:var(--sg-radius, 6px);background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}\r\n /* Facet filter bar */.sv-board-facets.svelte-15b6cgu {display:flex;flex-wrap:wrap;gap:6px;padding:4px 4px 8px;align-items:center;}.sv-board-facet.svelte-15b6cgu {all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:0.73rem;padding:2px 9px;border-radius:999px;border:1px solid var(--sg-border, #e4e7ec);color:color-mix(in srgb, var(--sg-fg, #101828) 70%, transparent);}.sv-board-facet.svelte-15b6cgu:hover {border-color:var(--sg-accent, #3b82f6);}.sv-board-facet.is-active.svelte-15b6cgu {background:var(--sg-accent, #3b82f6);border-color:var(--sg-accent, #3b82f6);color:#fff;}.sv-board-facet-count.svelte-15b6cgu {font-size:0.66rem;opacity:0.7;font-variant-numeric:tabular-nums;}.sv-board-facet-clear.svelte-15b6cgu {all:unset;cursor:pointer;font-size:0.72rem;color:var(--sg-accent, #3b82f6);padding:2px 6px;}\r\n /* Blocked flag + selection */.sv-board-card.svelte-15b6cgu {position:relative;}.sv-board-card-flag.svelte-15b6cgu {position:absolute;top:0;right:0;width:0;height:0;border-top:14px solid var(--sg-danger, #ef4444);border-left:14px solid transparent;border-top-right-radius:var(--sg-radius, 8px);}.sv-board-card.is-selected.svelte-15b6cgu {border-color:var(--sv-board-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--sv-board-accent) 55%, transparent);}.sv-board-card.is-locked.svelte-15b6cgu {cursor:default;}\r\n /* Child cards (epic -> stories) */.sv-board-kids.svelte-15b6cgu {margin-top:7px;border-top:1px solid color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);padding-top:6px;}.sv-board-kids-head.svelte-15b6cgu {all:unset;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:0.7rem;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-kids-list.svelte-15b6cgu {list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;}.sv-board-kid.svelte-15b6cgu {display:flex;align-items:center;gap:6px;font-size:0.74rem;padding:4px 7px;border:1px solid var(--sg-border, #e4e7ec);border-radius:6px;background:var(--sg-bg, #fff);}.sv-board-kid-title.svelte-15b6cgu {flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-board-kid-lane.svelte-15b6cgu {font-size:0.64rem;font-weight:600;padding:0 6px;border-radius:999px;background:color-mix(in srgb, var(--sv-board-accent) 15%, transparent);color:color-mix(in srgb, var(--sv-board-accent) 85%, var(--sg-fg, #101828));text-transform:capitalize;}\r\n @media (prefers-reduced-motion: reduce) {.sv-board-card.svelte-15b6cgu,\r\n .sv-board-lane-body.svelte-15b6cgu,\r\n .sv-board-subs-bar.svelte-15b6cgu span:where(.svelte-15b6cgu) {transition:none;}\r\n }"
18497
+ code: ".sv-board.svelte-15b6cgu {height:100%;box-sizing:border-box;display:flex;flex-direction:column;background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);font-family:var(--sg-font, inherit);}.sv-board.is-swim.svelte-15b6cgu {overflow-y:auto;gap:14px;}.sv-board-lanes.svelte-15b6cgu {display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding:4px;flex:1 1 auto;min-height:0;scrollbar-color:var(--sg-scrollbar-thumb, color-mix(in srgb, var(--sg-fg, #101828) 28%, transparent))\n transparent;}.sv-board.is-swim.svelte-15b6cgu .sv-board-lanes:where(.svelte-15b6cgu) {flex:none;}.sv-board.is-swim.svelte-15b6cgu .sv-board-lane:where(.svelte-15b6cgu) {max-height:340px;}.sv-board-swim.svelte-15b6cgu {display:flex;flex-direction:column;gap:4px;flex:none;}.sv-board-swim-head.svelte-15b6cgu {display:flex;align-items:center;gap:8px;padding:4px 8px;font-weight:700;font-size:0.78rem;color:color-mix(in srgb, var(--sg-fg, #101828) 78%, transparent);position:sticky;left:0;}.sv-board-swim-count.svelte-15b6cgu {font-size:0.7rem;font-weight:600;padding:0 7px;border-radius:999px;background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-swim-summary.svelte-15b6cgu {font-size:0.7rem;font-weight:600;color:color-mix(in srgb, var(--sg-accent, #3b82f6) 85%, var(--sg-fg, #101828));}.sv-board-swim-toggle.svelte-15b6cgu {all:unset;cursor:pointer;font-size:0.7rem;padding:2px;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-lane-title.is-renamable.svelte-15b6cgu {all:unset;cursor:text;font-weight:600;font-size:0.82rem;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;}.sv-board-lane-rename.svelte-15b6cgu {flex:1 1 auto;min-width:0;font:inherit;font-weight:600;font-size:0.82rem;padding:1px 4px;border:1px solid var(--sv-board-accent);border-radius:5px;background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}.sv-board-swim-toggle.svelte-15b6cgu:hover {color:var(--sg-fg, #101828);}.sv-board-lane.svelte-15b6cgu {flex:0 0 var(--sg-board-lane-w, 272px);max-width:var(--sg-board-lane-w, 272px);display:flex;flex-direction:column;max-height:100%;border:1px solid var(--sg-border, #e4e7ec);border-radius:var(--sg-radius, 8px);background:var(--sg-header-bg, color-mix(in srgb, var(--sg-fg, #101828) 3%, var(--sg-bg, #fff)));--sv-board-accent: var(--sg-accent, #3b82f6);}.sv-board-lane-head.svelte-15b6cgu {display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--sg-border, #e4e7ec);border-top:3px solid var(--sv-board-accent);border-radius:var(--sg-radius, 8px) var(--sg-radius, 8px) 0 0;}.sv-board-lane-head.is-reorderable.svelte-15b6cgu {cursor:grab;}.sv-board-lane-head.is-lane-dropover.svelte-15b6cgu {box-shadow:inset 3px 0 0 var(--sv-board-accent);}.sv-board-lane-title.svelte-15b6cgu {font-weight:600;font-size:0.82rem;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.sv-board-lane-toggle.svelte-15b6cgu {all:unset;cursor:pointer;font-size:0.7rem;line-height:1;color:color-mix(in srgb, var(--sg-fg, #101828) 55%, transparent);padding:2px;}.sv-board-lane-toggle.svelte-15b6cgu:hover {color:var(--sg-fg, #101828);}.sv-board-lane.is-collapsed.svelte-15b6cgu {flex:0 0 auto;max-width:none;}.sv-board-lane.is-collapsed.svelte-15b6cgu .sv-board-lane-head:where(.svelte-15b6cgu) {writing-mode:vertical-rl;height:180px;border-top:none;border-left:3px solid var(--sv-board-accent);border-radius:0 var(--sg-radius, 8px) var(--sg-radius, 8px) 0;gap:6px;}.sv-board-lane-count.svelte-15b6cgu {font-size:0.72rem;font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:999px;background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:color-mix(in srgb, var(--sg-fg, #101828) 70%, transparent);}.sv-board-lane-count.is-over.svelte-15b6cgu {background:color-mix(in srgb, var(--sg-danger, #ef4444) 16%, transparent);color:var(--sg-danger, #ef4444);font-weight:700;}.sv-board-lane-summary.svelte-15b6cgu {font-size:0.72rem;font-weight:600;font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--sv-board-accent) 85%, var(--sg-fg, #101828));}.sv-board-lane-add.svelte-15b6cgu {all:unset;cursor:pointer;width:20px;height:20px;display:grid;place-items:center;border-radius:5px;font-size:1rem;line-height:1;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-lane-add.svelte-15b6cgu:hover {background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:var(--sg-fg, #101828);}.sv-board-lane-body.svelte-15b6cgu {display:flex;flex-direction:column;gap:8px;padding:8px;overflow-y:auto;flex:1 1 auto;min-height:48px;transition:background 0.12s ease;}.sv-board-lane-body.is-dropover.svelte-15b6cgu {background:color-mix(in srgb, var(--sv-board-accent) 8%, transparent);}\n /* Virtualized lanes use block flow + per-card margin (not flex gap) so the\n spacer heights match the windowing math exactly. */.sv-board-lane-body.is-virtual.svelte-15b6cgu {display:block;gap:0;}.sv-board-lane-body.is-virtual.svelte-15b6cgu .sv-board-card:where(.svelte-15b6cgu) {margin-bottom:8px;}.sv-board-card.svelte-15b6cgu {background:var(--sg-bg, #fff);border:1px solid var(--sg-border, #e4e7ec);border-radius:var(--sg-radius, 8px);padding:9px 11px;cursor:grab;box-shadow:0 1px 2px rgba(16, 24, 40, 0.05);transition:box-shadow 0.12s ease,\n opacity 0.12s ease,\n transform 0.12s ease;}.sv-board-card.svelte-15b6cgu:hover {box-shadow:0 2px 8px rgba(16, 24, 40, 0.12);border-color:color-mix(in srgb, var(--sv-board-accent) 45%, var(--sg-border, #e4e7ec));}.sv-board-card.svelte-15b6cgu:focus-visible {outline:none;border-color:var(--sv-board-accent);box-shadow:var(--sg-focus-ring, 0 0 0 2px color-mix(in srgb, var(--sv-board-accent) 45%, transparent));}.sv-board-card.is-dragging.svelte-15b6cgu {opacity:0.45;}.sv-board-card.is-grabbed.svelte-15b6cgu {border-color:var(--sv-board-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--sv-board-accent) 55%, transparent);cursor:grabbing;}.sv-board-card.is-editing.svelte-15b6cgu {cursor:default;border-color:var(--sv-board-accent);}.sv-board-card-edit.svelte-15b6cgu {display:flex;flex-direction:column;gap:7px;}.sv-board-field.svelte-15b6cgu {display:flex;flex-direction:column;gap:2px;font-size:0.72rem;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-field.svelte-15b6cgu input[type=\"text\"]:where(.svelte-15b6cgu),\n .sv-board-field.svelte-15b6cgu input[type=\"number\"]:where(.svelte-15b6cgu),\n .sv-board-field.svelte-15b6cgu input[type=\"date\"]:where(.svelte-15b6cgu) {font:inherit;font-size:0.8rem;padding:4px 7px;border:1px solid var(--sg-border, #e4e7ec);border-radius:var(--sg-radius, 6px);background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}.sv-board-field.svelte-15b6cgu input:where(.svelte-15b6cgu):focus-visible {outline:none;border-color:var(--sv-board-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--sv-board-accent) 35%, transparent);}.sv-board-field.svelte-15b6cgu input[type=\"checkbox\"]:where(.svelte-15b6cgu) {align-self:flex-start;width:15px;height:15px;accent-color:var(--sv-board-accent);}.sv-board-card-edit-actions.svelte-15b6cgu {display:flex;justify-content:flex-end;gap:6px;margin-top:2px;}.sv-board-btn.svelte-15b6cgu {font:inherit;font-size:0.74rem;padding:3px 10px;border-radius:var(--sg-radius, 6px);border:1px solid var(--sg-border, #e4e7ec);background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);cursor:pointer;}.sv-board-btn.svelte-15b6cgu:hover {background:color-mix(in srgb, var(--sg-fg, #101828) 6%, transparent);}.sv-board-btn.is-primary.svelte-15b6cgu {background:var(--sv-board-accent);border-color:var(--sv-board-accent);color:#fff;}.sv-board-btn.is-primary.svelte-15b6cgu:hover {filter:brightness(0.95);}.sv-board-card-title.svelte-15b6cgu {font-weight:600;font-size:0.84rem;line-height:1.3;}.sv-board-card-meta.svelte-15b6cgu {margin:6px 0 0;display:flex;flex-direction:column;gap:2px;}.sv-board-card-metarow.svelte-15b6cgu {display:flex;gap:6px;font-size:0.74rem;}.sv-board-card-metarow.svelte-15b6cgu dt:where(.svelte-15b6cgu) {color:color-mix(in srgb, var(--sg-fg, #101828) 55%, transparent);margin:0;}.sv-board-card-metarow.svelte-15b6cgu dd:where(.svelte-15b6cgu) {margin:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-board-lane-empty.svelte-15b6cgu {text-align:center;font-size:0.76rem;color:color-mix(in srgb, var(--sg-fg, #101828) 42%, transparent);padding:14px 0;border:1px dashed var(--sg-border, #e4e7ec);border-radius:var(--sg-radius, 8px);}.sv-board-drop-marker.svelte-15b6cgu {height:2px;border-radius:2px;background:var(--sv-board-accent);margin:-3px 0;}.sv-board-ctx {z-index:2147483646;min-width:200px;background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-border, #e2e8f0);border-radius:10px;box-shadow:0 16px 48px -12px rgba(15, 23, 42, 0.35);font-size:13px;}.sv-board-sr.svelte-15b6cgu {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}\n /* Card badges */.sv-board-badges.svelte-15b6cgu {display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:6px;}.sv-board-badge.svelte-15b6cgu {font-size:0.66rem;font-weight:600;padding:1px 6px;border-radius:4px;line-height:1.5;white-space:nowrap;}.sv-board-badge.is-label.svelte-15b6cgu {--b: var(--sv-board-accent);background:color-mix(in srgb, var(--b) 16%, transparent);color:color-mix(in srgb, var(--b) 80%, var(--sg-fg, #101828));}.sv-board-badge.is-due.svelte-15b6cgu {background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:color-mix(in srgb, var(--sg-fg, #101828) 65%, transparent);}.sv-board-badge.is-due.is-overdue.svelte-15b6cgu {background:color-mix(in srgb, var(--sg-danger, #ef4444) 15%, transparent);color:var(--sg-danger, #ef4444);}.sv-board-badge.is-meta.svelte-15b6cgu {display:inline-flex;align-items:center;gap:3px;background:transparent;padding:1px 3px;color:color-mix(in srgb, var(--sg-fg, #101828) 55%, transparent);}.sv-board-badge.is-btn.svelte-15b6cgu {border:0;cursor:pointer;font:inherit;font-size:0.66rem;font-weight:600;border-radius:5px;}.sv-board-badge.is-btn.svelte-15b6cgu:hover {background:color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);color:var(--sg-fg, #101828);}.sv-board-badge.is-blocked.svelte-15b6cgu {background:var(--sg-danger, #ef4444);color:#fff;text-transform:uppercase;letter-spacing:0.03em;font-size:0.6rem;}\n /* Comments thread */.sv-board-comments.svelte-15b6cgu {margin-top:7px;border-top:1px solid color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);padding-top:7px;display:flex;flex-direction:column;gap:5px;}.sv-board-drawer-comments.svelte-15b6cgu {margin-top:16px;padding-top:12px;border-top:1px solid var(--sg-border, #e4e7ec);display:flex;flex-direction:column;gap:6px;}.sv-board-drawer-h.svelte-15b6cgu {font-weight:600;font-size:0.82rem;margin-bottom:2px;}.sv-board-comment.svelte-15b6cgu {display:flex;align-items:flex-start;gap:6px;font-size:0.74rem;}.sv-board-comment-body.svelte-15b6cgu {flex:1 1 auto;min-width:0;}.sv-board-comment-author.svelte-15b6cgu {font-weight:600;margin-right:5px;}.sv-board-comment-at.svelte-15b6cgu {margin-left:6px;font-size:0.66rem;color:color-mix(in srgb, var(--sg-fg, #101828) 45%, transparent);}.sv-board-comment-del.svelte-15b6cgu {all:unset;cursor:pointer;font-size:0.9rem;line-height:1;color:color-mix(in srgb, var(--sg-fg, #101828) 40%, transparent);padding:0 2px;}.sv-board-comment-del.svelte-15b6cgu:hover {color:var(--sg-danger, #ef4444);}.sv-board-comment-empty.svelte-15b6cgu {font-size:0.72rem;color:color-mix(in srgb, var(--sg-fg, #101828) 42%, transparent);}.sv-board-comment-add.svelte-15b6cgu {width:100%;box-sizing:border-box;font:inherit;font-size:0.74rem;padding:4px 7px;border:1px solid var(--sg-border, #e4e7ec);border-radius:5px;background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}.sv-board-card-cover.svelte-15b6cgu {height:6px;border-radius:4px;margin:-2px 0 7px;}.sv-board-avatars.svelte-15b6cgu {display:inline-flex;margin-left:auto;}.sv-board-avatar.svelte-15b6cgu {width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:0.6rem;font-weight:700;color:#fff;background:var(--sv-board-accent);border:1.5px solid var(--sg-bg, #fff);margin-left:-6px;}.sv-board-avatar.svelte-15b6cgu:first-child {margin-left:0;}\n /* Sub-tasks */.sv-board-subs.svelte-15b6cgu {margin-top:7px;border-top:1px solid color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);padding-top:6px;}.sv-board-subs-head.svelte-15b6cgu {all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;width:100%;font-size:0.7rem;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-subs-chev.svelte-15b6cgu {font-size:0.6rem;}.sv-board-subs-count.svelte-15b6cgu {font-variant-numeric:tabular-nums;font-weight:600;}.sv-board-subs-bar.svelte-15b6cgu {flex:1 1 auto;height:4px;border-radius:2px;background:color-mix(in srgb, var(--sg-fg, #101828) 10%, transparent);overflow:hidden;}.sv-board-subs-bar.svelte-15b6cgu span:where(.svelte-15b6cgu) {display:block;height:100%;background:var(--sv-board-accent);transition:width 0.15s ease;}.sv-board-subs-list.svelte-15b6cgu {list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;}.sv-board-subs-list.svelte-15b6cgu label:where(.svelte-15b6cgu) {display:flex;align-items:center;gap:6px;font-size:0.74rem;cursor:pointer;}.sv-board-subs-list.svelte-15b6cgu label.is-done:where(.svelte-15b6cgu) span:where(.svelte-15b6cgu) {text-decoration:line-through;color:color-mix(in srgb, var(--sg-fg, #101828) 45%, transparent);}.sv-board-subs-list.svelte-15b6cgu input:where(.svelte-15b6cgu) {accent-color:var(--sv-board-accent);}.sv-board-subs-add.svelte-15b6cgu {margin-top:5px;width:100%;box-sizing:border-box;font:inherit;font-size:0.74rem;padding:3px 6px;border:1px solid var(--sg-border, #e4e7ec);border-radius:5px;background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}\n /* Quick-add composer */.sv-board-composer-btn.svelte-15b6cgu {all:unset;cursor:pointer;display:block;margin:6px 8px 8px;padding:5px 8px;border-radius:var(--sg-radius, 6px);font-size:0.76rem;color:color-mix(in srgb, var(--sg-fg, #101828) 55%, transparent);}.sv-board-composer-btn.svelte-15b6cgu:hover {background:color-mix(in srgb, var(--sg-fg, #101828) 6%, transparent);color:var(--sg-fg, #101828);}.sv-board-composer-input.svelte-15b6cgu {margin:6px 8px 8px;width:calc(100% - 16px);box-sizing:border-box;font:inherit;font-size:0.8rem;padding:6px 8px;border:1px solid var(--sv-board-accent);border-radius:var(--sg-radius, 6px);background:var(--sg-bg, #fff);color:var(--sg-fg, #101828);}\n /* Facet filter bar */.sv-board-facets.svelte-15b6cgu {display:flex;flex-wrap:wrap;gap:6px;padding:4px 4px 8px;align-items:center;}.sv-board-facet.svelte-15b6cgu {all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:0.73rem;padding:2px 9px;border-radius:999px;border:1px solid var(--sg-border, #e4e7ec);color:color-mix(in srgb, var(--sg-fg, #101828) 70%, transparent);}.sv-board-facet.svelte-15b6cgu:hover {border-color:var(--sg-accent, #3b82f6);}.sv-board-facet.is-active.svelte-15b6cgu {background:var(--sg-accent, #3b82f6);border-color:var(--sg-accent, #3b82f6);color:#fff;}.sv-board-facet-count.svelte-15b6cgu {font-size:0.66rem;opacity:0.7;font-variant-numeric:tabular-nums;}.sv-board-facet-clear.svelte-15b6cgu {all:unset;cursor:pointer;font-size:0.72rem;color:var(--sg-accent, #3b82f6);padding:2px 6px;}\n /* Blocked flag + selection */.sv-board-card.svelte-15b6cgu {position:relative;}.sv-board-card-flag.svelte-15b6cgu {position:absolute;top:0;right:0;width:0;height:0;border-top:14px solid var(--sg-danger, #ef4444);border-left:14px solid transparent;border-top-right-radius:var(--sg-radius, 8px);}.sv-board-card.is-selected.svelte-15b6cgu {border-color:var(--sv-board-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--sv-board-accent) 55%, transparent);}.sv-board-card.is-locked.svelte-15b6cgu {cursor:default;}\n /* Child cards (epic -> stories) */.sv-board-kids.svelte-15b6cgu {margin-top:7px;border-top:1px solid color-mix(in srgb, var(--sg-fg, #101828) 8%, transparent);padding-top:6px;}.sv-board-kids-head.svelte-15b6cgu {all:unset;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:0.7rem;color:color-mix(in srgb, var(--sg-fg, #101828) 60%, transparent);}.sv-board-kids-list.svelte-15b6cgu {list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;}.sv-board-kid.svelte-15b6cgu {display:flex;align-items:center;gap:6px;font-size:0.74rem;padding:4px 7px;border:1px solid var(--sg-border, #e4e7ec);border-radius:6px;background:var(--sg-bg, #fff);}.sv-board-kid-title.svelte-15b6cgu {flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-board-kid-lane.svelte-15b6cgu {font-size:0.64rem;font-weight:600;padding:0 6px;border-radius:999px;background:color-mix(in srgb, var(--sv-board-accent) 15%, transparent);color:color-mix(in srgb, var(--sv-board-accent) 85%, var(--sg-fg, #101828));text-transform:capitalize;}\n @media (prefers-reduced-motion: reduce) {.sv-board-card.svelte-15b6cgu,\n .sv-board-lane-body.svelte-15b6cgu,\n .sv-board-subs-bar.svelte-15b6cgu span:where(.svelte-15b6cgu) {transition:none;}\n }"
18498
18498
  };
18499
18499
  function ob(e, t) {
18500
18500
  on(t, !0), Za(e, ab);
@@ -26873,7 +26873,7 @@ Yi(["click"]);
26873
26873
  //#region src/SvTree.svelte
26874
26874
  var UD = /* @__PURE__ */ U("<svg class=\"sv-tree__spin svelte-1grra92\" viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M21 12a9 9 0 1 1-6.2-8.6\"></path></svg>"), WD = /* @__PURE__ */ U("<svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-1grra92\"><path d=\"m9 18 6-6-6-6\"></path></svg>"), GD = /* @__PURE__ */ U("<svg viewBox=\"0 0 16 16\" class=\"svelte-1grra92\"><path d=\"M3.5 8.5l3 3 6-6.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>"), KD = /* @__PURE__ */ U("<svg viewBox=\"0 0 16 16\" class=\"svelte-1grra92\"><path d=\"M4 8h8\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"></path></svg>"), qD = /* @__PURE__ */ H("<button type=\"button\" tabindex=\"-1\" aria-hidden=\"true\"><!></button>"), JD = /* @__PURE__ */ H("<input class=\"sv-tree__edit svelte-1grra92\"/>"), YD = /* @__PURE__ */ H("<span class=\"sv-tree__label svelte-1grra92\"> </span>"), XD = /* @__PURE__ */ H("<div><button type=\"button\" tabindex=\"-1\" aria-hidden=\"true\"><!></button> <!> <!></div>"), ZD = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-tree__search-clear svelte-1grra92\" aria-label=\"Clear search\">&times;</button>"), QD = /* @__PURE__ */ H("<div class=\"sv-tree__search svelte-1grra92\"><svg viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" aria-hidden=\"true\"><circle cx=\"11\" cy=\"11\" r=\"7\"></circle><path d=\"m21 21-4.3-4.3\"></path></svg> <input class=\"sv-tree__search-input svelte-1grra92\" type=\"text\"/> <!></div>"), $D = /* @__PURE__ */ H("<div class=\"sv-tree__sizer svelte-1grra92\" aria-hidden=\"true\"></div>"), eO = /* @__PURE__ */ H("<div><!> <div><!> <!></div></div>"), tO = {
26875
26875
  hash: "svelte-1grra92",
26876
- code: ".sv-tree-host.svelte-1grra92 {display:contents;}.sv-tree-host.has-search.svelte-1grra92 {display:inline-flex;flex-direction:column;gap:6px;}.sv-tree__search.svelte-1grra92 {display:flex;align-items:center;gap:7px;width:260px;box-sizing:border-box;padding:0 10px;height:32px;background:var(--sg-input-bg, #fff);color:var(--sg-muted, #64748b);border:1px solid var(--sg-input-border, var(--sg-border, #cbd5e1));border-radius:var(--sg-radius, 8px);}.sv-tree__search.svelte-1grra92:focus-within {border-color:var(--sg-accent, #2563eb);box-shadow:0 0 0 2px color-mix(in srgb, var(--sg-accent, #2563eb) 22%, transparent);}.sv-tree__search-input.svelte-1grra92 {flex:1;min-width:0;border:0;background:none;outline:none;color:var(--sg-fg, #0f172a);font:inherit;font-size:13px;}.sv-tree__search-clear.svelte-1grra92 {background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;}.sv-tree.svelte-1grra92 {--_accent: var(--sg-accent, #2563eb);width:260px;padding:4px;user-select:none;background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-border, #e2e8f0);border-radius:var(--sg-radius, 8px);font-size:13px;}.sv-tree--scroll.svelte-1grra92 {overflow-y:auto;}.sv-tree.is-virtual.svelte-1grra92 {position:relative;will-change:scroll-position;}.sv-tree__sizer.svelte-1grra92 {padding:0;margin:0;pointer-events:none;}.sv-tree.is-virtual.svelte-1grra92 .sv-tree__row:where(.svelte-1grra92) {position:absolute;inset-inline:4px;top:4px;}.sv-tree__row.svelte-1grra92 {display:flex;align-items:center;gap:4px;box-sizing:border-box;padding-inline-end:8px;border-radius:6px;cursor:pointer;outline:none;}.sv-tree__row.svelte-1grra92:hover:not(.is-disabled) {background:var(--sg-row-hover-bg, #f1f5f9);}.sv-tree__row.is-selected.svelte-1grra92 {background:color-mix(in srgb, var(--_accent) 15%, transparent);color:var(--_accent);font-weight:600;}.sv-tree__row.is-disabled.svelte-1grra92 {opacity:0.45;cursor:not-allowed;}.sv-tree__row.svelte-1grra92:focus-visible {box-shadow:inset 0 0 0 2px var(--sg-focus-ring, var(--_accent));}.sv-tree__twist.svelte-1grra92 {display:grid;place-items:center;width:18px;height:18px;flex:none;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;transition:transform 0.12s;}.sv-tree__twist.is-open.svelte-1grra92 {transform:rotate(90deg);}.sv-tree[dir='rtl'].svelte-1grra92 .sv-tree__twist:where(.svelte-1grra92):not(.is-open) svg:where(.svelte-1grra92) {transform:scaleX(-1);}.sv-tree__twist.is-leaf.svelte-1grra92 {visibility:hidden;}.sv-tree__twist.is-loading.svelte-1grra92 {transform:none;}.sv-tree__spin.svelte-1grra92 { animation: svelte-1grra92-sv-tree-spin 0.7s linear infinite;}\r\n @keyframes svelte-1grra92-sv-tree-spin { to { transform: rotate(360deg); } }\r\n @media (prefers-reduced-motion: reduce) {.sv-tree__spin.svelte-1grra92 { animation: none;} }.sv-tree__check.svelte-1grra92 {display:grid;place-items:center;width:16px;height:16px;flex:none;padding:0;border:1.5px solid var(--sg-border, #cbd5e1);border-radius:4px;background:var(--sg-input-bg, #fff);color:var(--sg-on-accent, #fff);cursor:pointer;}.sv-tree__check.is-checked.svelte-1grra92, .sv-tree__check.is-indeterminate.svelte-1grra92 {background:var(--_accent);border-color:var(--_accent);}.sv-tree__check.svelte-1grra92 svg:where(.svelte-1grra92) {width:100%;height:100%;}.sv-tree__label.svelte-1grra92 {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-tree__edit.svelte-1grra92 {flex:1;min-width:0;height:22px;padding:0 6px;margin:0;font:inherit;font-size:13px;border:1px solid var(--_accent);border-radius:5px;background:var(--sg-input-bg, #fff);color:var(--sg-fg, #0f172a);outline:none;box-shadow:0 0 0 2px color-mix(in srgb, var(--_accent) 22%, transparent);}\r\n /* Drag-drop feedback */.sv-tree__row.is-dragging.svelte-1grra92 {opacity:0.4;}.sv-tree__row.drop-inside.svelte-1grra92 {background:color-mix(in srgb, var(--_accent) 18%, transparent);box-shadow:inset 0 0 0 1px var(--_accent);}.sv-tree__row.drop-before.svelte-1grra92, .sv-tree__row.drop-after.svelte-1grra92 {position:relative;}.sv-tree__row.drop-before.svelte-1grra92::before, .sv-tree__row.drop-after.svelte-1grra92::after {content:'';position:absolute;inset-inline:4px;height:2px;background:var(--_accent);border-radius:2px;z-index:1;}.sv-tree__row.drop-before.svelte-1grra92::before {top:-1px;}.sv-tree__row.drop-after.svelte-1grra92::after {bottom:-1px;}"
26876
+ code: ".sv-tree-host.svelte-1grra92 {display:contents;}.sv-tree-host.has-search.svelte-1grra92 {display:inline-flex;flex-direction:column;gap:6px;}.sv-tree__search.svelte-1grra92 {display:flex;align-items:center;gap:7px;width:260px;box-sizing:border-box;padding:0 10px;height:32px;background:var(--sg-input-bg, #fff);color:var(--sg-muted, #64748b);border:1px solid var(--sg-input-border, var(--sg-border, #cbd5e1));border-radius:var(--sg-radius, 8px);}.sv-tree__search.svelte-1grra92:focus-within {border-color:var(--sg-accent, #2563eb);box-shadow:0 0 0 2px color-mix(in srgb, var(--sg-accent, #2563eb) 22%, transparent);}.sv-tree__search-input.svelte-1grra92 {flex:1;min-width:0;border:0;background:none;outline:none;color:var(--sg-fg, #0f172a);font:inherit;font-size:13px;}.sv-tree__search-clear.svelte-1grra92 {background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;}.sv-tree.svelte-1grra92 {--_accent: var(--sg-accent, #2563eb);width:260px;padding:4px;user-select:none;background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-border, #e2e8f0);border-radius:var(--sg-radius, 8px);font-size:13px;}.sv-tree--scroll.svelte-1grra92 {overflow-y:auto;}.sv-tree.is-virtual.svelte-1grra92 {position:relative;will-change:scroll-position;}.sv-tree__sizer.svelte-1grra92 {padding:0;margin:0;pointer-events:none;}.sv-tree.is-virtual.svelte-1grra92 .sv-tree__row:where(.svelte-1grra92) {position:absolute;inset-inline:4px;top:4px;}.sv-tree__row.svelte-1grra92 {display:flex;align-items:center;gap:4px;box-sizing:border-box;padding-inline-end:8px;border-radius:6px;cursor:pointer;outline:none;}.sv-tree__row.svelte-1grra92:hover:not(.is-disabled) {background:var(--sg-row-hover-bg, #f1f5f9);}.sv-tree__row.is-selected.svelte-1grra92 {background:color-mix(in srgb, var(--_accent) 15%, transparent);color:var(--_accent);font-weight:600;}.sv-tree__row.is-disabled.svelte-1grra92 {opacity:0.45;cursor:not-allowed;}.sv-tree__row.svelte-1grra92:focus-visible {box-shadow:inset 0 0 0 2px var(--sg-focus-ring, var(--_accent));}.sv-tree__twist.svelte-1grra92 {display:grid;place-items:center;width:18px;height:18px;flex:none;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;transition:transform 0.12s;}.sv-tree__twist.is-open.svelte-1grra92 {transform:rotate(90deg);}.sv-tree[dir='rtl'].svelte-1grra92 .sv-tree__twist:where(.svelte-1grra92):not(.is-open) svg:where(.svelte-1grra92) {transform:scaleX(-1);}.sv-tree__twist.is-leaf.svelte-1grra92 {visibility:hidden;}.sv-tree__twist.is-loading.svelte-1grra92 {transform:none;}.sv-tree__spin.svelte-1grra92 { animation: svelte-1grra92-sv-tree-spin 0.7s linear infinite;}\n @keyframes svelte-1grra92-sv-tree-spin { to { transform: rotate(360deg); } }\n @media (prefers-reduced-motion: reduce) {.sv-tree__spin.svelte-1grra92 { animation: none;} }.sv-tree__check.svelte-1grra92 {display:grid;place-items:center;width:16px;height:16px;flex:none;padding:0;border:1.5px solid var(--sg-border, #cbd5e1);border-radius:4px;background:var(--sg-input-bg, #fff);color:var(--sg-on-accent, #fff);cursor:pointer;}.sv-tree__check.is-checked.svelte-1grra92, .sv-tree__check.is-indeterminate.svelte-1grra92 {background:var(--_accent);border-color:var(--_accent);}.sv-tree__check.svelte-1grra92 svg:where(.svelte-1grra92) {width:100%;height:100%;}.sv-tree__label.svelte-1grra92 {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-tree__edit.svelte-1grra92 {flex:1;min-width:0;height:22px;padding:0 6px;margin:0;font:inherit;font-size:13px;border:1px solid var(--_accent);border-radius:5px;background:var(--sg-input-bg, #fff);color:var(--sg-fg, #0f172a);outline:none;box-shadow:0 0 0 2px color-mix(in srgb, var(--_accent) 22%, transparent);}\n /* Drag-drop feedback */.sv-tree__row.is-dragging.svelte-1grra92 {opacity:0.4;}.sv-tree__row.drop-inside.svelte-1grra92 {background:color-mix(in srgb, var(--_accent) 18%, transparent);box-shadow:inset 0 0 0 1px var(--_accent);}.sv-tree__row.drop-before.svelte-1grra92, .sv-tree__row.drop-after.svelte-1grra92 {position:relative;}.sv-tree__row.drop-before.svelte-1grra92::before, .sv-tree__row.drop-after.svelte-1grra92::after {content:'';position:absolute;inset-inline:4px;height:2px;background:var(--_accent);border-radius:2px;z-index:1;}.sv-tree__row.drop-before.svelte-1grra92::before {top:-1px;}.sv-tree__row.drop-after.svelte-1grra92::after {bottom:-1px;}"
26877
26877
  };
26878
26878
  function nO(e, t) {
26879
26879
  on(t, !0), Za(e, tO);
@@ -30804,7 +30804,7 @@ Yi([
30804
30804
  //#region src/SvTour.svelte
30805
30805
  var ZM = /* @__PURE__ */ H("<div class=\"sv-tour__spot\"></div>"), QM = /* @__PURE__ */ H("<div class=\"sv-tour__backdrop\"></div>"), $M = /* @__PURE__ */ H("<img class=\"sv-tour__img\" alt=\"\"/>"), eN = /* @__PURE__ */ H("<div class=\"sv-tour__media\"><!></div>"), tN = /* @__PURE__ */ H("<div class=\"sv-tour__title\"> </div>"), nN = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-tour__back\">Back</button>"), rN = /* @__PURE__ */ H("<div class=\"sv-tour\"><!> <div role=\"dialog\" aria-modal=\"true\"><!> <!> <div class=\"sv-tour__body\"> </div> <div class=\"sv-tour__foot\"><span class=\"sv-tour__count\"> </span> <div class=\"sv-tour__btns\"><button type=\"button\" class=\"sv-tour__skip\">Skip</button> <!> <button type=\"button\" class=\"sv-tour__next\"> </button></div></div></div></div>"), iN = {
30806
30806
  hash: "svelte-15gzeb0",
30807
- code: ".sv-tour {position:fixed;inset:0;z-index:2147483000;}.sv-tour__backdrop {position:fixed;inset:0;background:rgba(15, 23, 42, 0.55);}.sv-tour__spot {position:fixed;border-radius:8px;pointer-events:none;box-shadow:0 0 0 9999px rgba(15, 23, 42, 0.55);transition:all 0.25s cubic-bezier(0.16, 1, 0.3, 1);}.sv-tour__pop {position:fixed;z-index:1;width:300px;max-width:calc(100vw - 24px);background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-border, #e2e8f0);border-radius:12px;padding:14px 16px;box-shadow:0 20px 48px -16px rgba(15, 23, 42, 0.5);\r\n animation: svelte-15gzeb0-sv-tour-in 0.16s cubic-bezier(0.16, 1, 0.3, 1) both;}\r\n @keyframes svelte-15gzeb0-sv-tour-in { from { opacity: 0; transform: translateY(4px) } }.sv-tour__pop--top { animation: none;}.sv-tour__media {margin:-2px -4px 12px;border-radius:9px;overflow:hidden;line-height:0;}.sv-tour__media svg, .sv-tour__img {display:block;width:100%;height:auto;}.sv-tour__title {font-size:14.5px;font-weight:650;margin-bottom:4px;}.sv-tour__body {font-size:13px;line-height:1.55;color:var(--sg-fg, #334155);}.sv-tour__foot {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;}.sv-tour__count {font-size:12px;color:var(--sg-muted, #94a3b8);font-variant-numeric:tabular-nums;}.sv-tour__btns {display:flex;gap:6px;}.sv-tour__skip, .sv-tour__back, .sv-tour__next {font:inherit;font-size:12.5px;padding:5px 12px;border-radius:7px;cursor:pointer;border:1px solid var(--sg-border, #cbd5e1);background:var(--sg-input-bg, #fff);color:var(--sg-fg, #0f172a);}.sv-tour__skip {border-color:transparent;background:none;color:var(--sg-muted, #64748b);}.sv-tour__next {background:var(--sg-accent, #2563eb);border-color:var(--sg-accent, #2563eb);color:var(--sg-on-accent, #fff);}"
30807
+ code: ".sv-tour {position:fixed;inset:0;z-index:2147483000;}.sv-tour__backdrop {position:fixed;inset:0;background:rgba(15, 23, 42, 0.55);}.sv-tour__spot {position:fixed;border-radius:8px;pointer-events:none;box-shadow:0 0 0 9999px rgba(15, 23, 42, 0.55);transition:all 0.25s cubic-bezier(0.16, 1, 0.3, 1);}.sv-tour__pop {position:fixed;z-index:1;width:300px;max-width:calc(100vw - 24px);background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-border, #e2e8f0);border-radius:12px;padding:14px 16px;box-shadow:0 20px 48px -16px rgba(15, 23, 42, 0.5);\n animation: svelte-15gzeb0-sv-tour-in 0.16s cubic-bezier(0.16, 1, 0.3, 1) both;}\n @keyframes svelte-15gzeb0-sv-tour-in { from { opacity: 0; transform: translateY(4px) } }.sv-tour__pop--top { animation: none;}.sv-tour__media {margin:-2px -4px 12px;border-radius:9px;overflow:hidden;line-height:0;}.sv-tour__media svg, .sv-tour__img {display:block;width:100%;height:auto;}.sv-tour__title {font-size:14.5px;font-weight:650;margin-bottom:4px;}.sv-tour__body {font-size:13px;line-height:1.55;color:var(--sg-fg, #334155);}.sv-tour__foot {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;}.sv-tour__count {font-size:12px;color:var(--sg-muted, #94a3b8);font-variant-numeric:tabular-nums;}.sv-tour__btns {display:flex;gap:6px;}.sv-tour__skip, .sv-tour__back, .sv-tour__next {font:inherit;font-size:12.5px;padding:5px 12px;border-radius:7px;cursor:pointer;border:1px solid var(--sg-border, #cbd5e1);background:var(--sg-input-bg, #fff);color:var(--sg-fg, #0f172a);}.sv-tour__skip {border-color:transparent;background:none;color:var(--sg-muted, #64748b);}.sv-tour__next {background:var(--sg-accent, #2563eb);border-color:var(--sg-accent, #2563eb);color:var(--sg-on-accent, #fff);}"
30808
30808
  };
30809
30809
  function aN(e, t) {
30810
30810
  on(t, !0), Za(e, iN);
@@ -31143,7 +31143,7 @@ Yi(["click"]);
31143
31143
  //#region src/SvContextMenu.svelte
31144
31144
  var AN = /* @__PURE__ */ H("<div class=\"sv-ctx\"><!></div>"), jN = /* @__PURE__ */ H("<div class=\"sv-ctx__zone svelte-fbhkzq\"><!></div> <!>", 1), MN = {
31145
31145
  hash: "svelte-fbhkzq",
31146
- code: "\r\n /* display:contents generates no box and per spec cannot receive focus - it\r\n must be a real box for the keyboard-open path (tabindex) to work at all. */.sv-ctx__zone.svelte-fbhkzq {display:block;}.sv-ctx__zone.svelte-fbhkzq:focus-visible {outline:2px solid var(--sg-accent, #6366f1);outline-offset:1px;}.sv-ctx {z-index:2147483646;min-width:200px;background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-border, #e2e8f0);border-radius:10px;box-shadow:0 16px 48px -12px rgba(15, 23, 42, 0.35);font-size:13px;}"
31146
+ code: "\n /* display:contents generates no box and per spec cannot receive focus - it\n must be a real box for the keyboard-open path (tabindex) to work at all. */.sv-ctx__zone.svelte-fbhkzq {display:block;}.sv-ctx__zone.svelte-fbhkzq:focus-visible {outline:2px solid var(--sg-accent, #6366f1);outline-offset:1px;}.sv-ctx {z-index:2147483646;min-width:200px;background:var(--sg-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-border, #e2e8f0);border-radius:10px;box-shadow:0 16px 48px -12px rgba(15, 23, 42, 0.35);font-size:13px;}"
31147
31147
  };
31148
31148
  function NN(e, t) {
31149
31149
  on(t, !0), Za(e, MN);
@@ -32414,7 +32414,7 @@ function QP(e, t) {
32414
32414
  //#region src/SvGroupCell.svelte
32415
32415
  var $P = /* @__PURE__ */ H("<span class=\"sv-group-load svelte-13awxzz\" aria-hidden=\"true\">…</span>"), eF = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-group-cell svelte-13awxzz\"><span aria-hidden=\"true\">▸</span> <span class=\"sv-group-key svelte-13awxzz\"> </span> <!></button>"), tF = /* @__PURE__ */ H("<button type=\"button\" class=\"sv-group-more svelte-13awxzz\"> </button>"), nF = /* @__PURE__ */ H("<span class=\"sv-group-footer svelte-13awxzz\">Total</span>"), rF = /* @__PURE__ */ H("<span class=\"sv-group-skeleton svelte-13awxzz\" aria-hidden=\"true\"></span>"), iF = /* @__PURE__ */ H("<span class=\"sv-group-leaf svelte-13awxzz\"> </span>"), aF = {
32416
32416
  hash: "svelte-13awxzz",
32417
- code: ".sv-group-cell.svelte-13awxzz {display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;}.sv-group-chev.svelte-13awxzz {display:inline-block;transition:transform 0.15s;color:var(--sg-muted, #64748b);}.sv-group-chev.open.svelte-13awxzz {transform:rotate(90deg);}.sv-group-key.svelte-13awxzz {font-weight:600;}.sv-group-load.svelte-13awxzz {color:var(--sg-muted, #64748b);font-size:12px;}.sv-group-leaf.svelte-13awxzz {color:var(--sg-muted, #475569);}.sv-group-more.svelte-13awxzz {background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--sg-accent, #2563eb);cursor:pointer;}.sv-group-more.svelte-13awxzz:disabled {color:var(--sg-muted, #64748b);cursor:default;}.sv-group-footer.svelte-13awxzz {font-weight:600;color:var(--sg-muted, #64748b);font-size:12px;text-transform:uppercase;letter-spacing:0.03em;}.sv-group-skeleton.svelte-13awxzz {display:inline-block;width:60%;height:10px;border-radius:5px;background:linear-gradient(90deg, var(--sg-border, #e2e8f0) 25%, var(--sg-header-bg, #f1f5f9) 50%, var(--sg-border, #e2e8f0) 75%);background-size:200% 100%;\r\n animation: svelte-13awxzz-sv-group-shimmer 1.2s infinite;}\r\n @keyframes svelte-13awxzz-sv-group-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }\r\n @media (prefers-reduced-motion: reduce) {.sv-group-skeleton.svelte-13awxzz { animation: none;} }"
32417
+ code: ".sv-group-cell.svelte-13awxzz {display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;}.sv-group-chev.svelte-13awxzz {display:inline-block;transition:transform 0.15s;color:var(--sg-muted, #64748b);}.sv-group-chev.open.svelte-13awxzz {transform:rotate(90deg);}.sv-group-key.svelte-13awxzz {font-weight:600;}.sv-group-load.svelte-13awxzz {color:var(--sg-muted, #64748b);font-size:12px;}.sv-group-leaf.svelte-13awxzz {color:var(--sg-muted, #475569);}.sv-group-more.svelte-13awxzz {background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--sg-accent, #2563eb);cursor:pointer;}.sv-group-more.svelte-13awxzz:disabled {color:var(--sg-muted, #64748b);cursor:default;}.sv-group-footer.svelte-13awxzz {font-weight:600;color:var(--sg-muted, #64748b);font-size:12px;text-transform:uppercase;letter-spacing:0.03em;}.sv-group-skeleton.svelte-13awxzz {display:inline-block;width:60%;height:10px;border-radius:5px;background:linear-gradient(90deg, var(--sg-border, #e2e8f0) 25%, var(--sg-header-bg, #f1f5f9) 50%, var(--sg-border, #e2e8f0) 75%);background-size:200% 100%;\n animation: svelte-13awxzz-sv-group-shimmer 1.2s infinite;}\n @keyframes svelte-13awxzz-sv-group-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }\n @media (prefers-reduced-motion: reduce) {.sv-group-skeleton.svelte-13awxzz { animation: none;} }"
32418
32418
  };
32419
32419
  function oF(e, t) {
32420
32420
  on(t, !0), Za(e, aF);