@dsh-workbench/core 1.1.8 → 1.1.10

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 (127) hide show
  1. package/README.md +3 -3
  2. package/bin/dsh-workbench +11 -45
  3. package/client.js +549 -459
  4. package/dist/client/client.body.js +549 -459
  5. package/dist/client/index.js +422 -332
  6. package/dist/host/index.js +4661 -3954
  7. package/dist/types/app/layouts/approval-detail.d.ts +5 -5
  8. package/dist/types/app/layouts/env-gate/gate-text.d.ts +6 -4
  9. package/dist/types/app/layouts/market/discover-view.d.ts +1 -0
  10. package/dist/types/app/layouts/rightbar/MarketView.d.ts +25 -3
  11. package/dist/types/app/layouts/rightbar/market-rows.d.ts +0 -1
  12. package/dist/types/app/layouts/rightbar/market-view-text.d.ts +1 -2
  13. package/dist/types/app/layouts/sidebar/ProjectSwitcher.d.ts +1 -1
  14. package/dist/types/app/layouts/sidebar/workspace-groups.d.ts +4 -1
  15. package/dist/types/kernel/contract/index.d.ts +1 -0
  16. package/dist/types/modules/panels/model/diy-browser-act.d.ts +2 -2
  17. package/dist/types/modules/panels/model/diy-browser.d.ts +4 -2
  18. package/dist/types/modules/panels/model/diy-page.d.ts +2 -1
  19. package/dist/types/modules/panels/model/diy-record.d.ts +2 -1
  20. package/dist/types/modules/panels/model/diy-tools.d.ts +1 -0
  21. package/dist/types/modules/panels/model/market-dependency.d.ts +1 -1
  22. package/dist/types/modules/panels/model/market-discover.d.ts +1 -0
  23. package/dist/types/modules/panels/model/market-env.d.ts +2 -0
  24. package/dist/types/modules/panels/model/market.d.ts +1 -1
  25. package/dist/types/modules/panels/model/plugin-ledger.d.ts +3 -0
  26. package/dist/types/modules/panels/model/plugin-name.d.ts +7 -3
  27. package/dist/types/modules/sessions/index.d.ts +1 -1
  28. package/dist/types/modules/sessions/model/attention.d.ts +1 -0
  29. package/dist/types/shared/api/host/diy-publish-preview.d.ts +4 -4
  30. package/dist/types/shared/api/host/diy-recon-fs.d.ts +1 -1
  31. package/dist/types/shared/api/host/diy-recon.d.ts +12 -5
  32. package/dist/types/shared/api/host/flow/task.d.ts +10 -0
  33. package/dist/types/shared/api/host/flow/tool.d.ts +12 -0
  34. package/dist/types/shared/api/host/git-exec.d.ts +1 -0
  35. package/dist/types/shared/api/host/git-probe.d.ts +6 -6
  36. package/dist/types/shared/api/host/git-process.d.ts +13 -0
  37. package/dist/types/shared/api/host/git-routes.d.ts +5 -2
  38. package/dist/types/shared/api/host/host-routes.d.ts +2 -2
  39. package/dist/types/shared/api/host/market-doc.d.ts +2 -2
  40. package/dist/types/shared/api/host/market-index-fetch.d.ts +2 -2
  41. package/dist/types/shared/api/host/market-source-init.d.ts +2 -2
  42. package/dist/types/shared/api/host/plugin-term.d.ts +2 -0
  43. package/dist/types/shared/api/host/runtime-surface.d.ts +3 -0
  44. package/dist/types/shared/hooks/locale-text.d.ts +3 -0
  45. package/dist/types/shared/hooks/runtime-queries.d.ts +6 -0
  46. package/dist/types/shared/hooks/runtime-terms.d.ts +2 -0
  47. package/dist/types/shared/hooks/use-runtime-capabilities.d.ts +6 -0
  48. package/package.json +6 -3
  49. package/scripts/seed-workshop.sh +1 -1
  50. package/skills/workbench-module-diy/DESIGN.md +3 -1
  51. package/skills/workbench-module-diy/FLOW.md +117 -0
  52. package/skills/workbench-module-diy/PANEL.md +9 -7
  53. package/skills/workbench-module-diy/SKILL.md +7 -1
  54. package/skills/workbench-module-diy/STEPS.md +12 -1
  55. package/skills/workbench-module-diy/TOOLS.md +16 -4
  56. package/skills/workbench-module-diy/WIRING.md +2 -2
  57. package/skills/workbench-module-diy/WRITES.md +2 -2
  58. package/bin/opencli-isolated +0 -62
  59. package/bin/opencli-isolated.mjs +0 -44
  60. package/bin/opencli-node-mode.cjs +0 -1
  61. package/dist/types/app/layouts/rightbar/AskAgentButton.d.ts +0 -6
  62. package/dist/types/app/layouts/rightbar/board-columns.test.d.ts +0 -1
  63. package/dist/types/app/layouts/rightbar/dsh-borrow.test.d.ts +0 -1
  64. package/dist/types/app/layouts/rightbar/dsh-column-source.test.d.ts +0 -1
  65. package/dist/types/app/layouts/rightbar/dsh-surface.test.d.ts +0 -1
  66. package/dist/types/app/layouts/rightbar/presentation.test.d.ts +0 -1
  67. package/dist/types/app/layouts/rightbar/rightbar-width.test.d.ts +0 -1
  68. package/dist/types/app/layouts/rightbar/store.test.d.ts +0 -1
  69. package/dist/types/kernel/contract/contracts.test.d.ts +0 -1
  70. package/dist/types/kernel/contract/index.test.d.ts +0 -1
  71. package/dist/types/modules/panels/model/diy-browser-act.test.d.ts +0 -1
  72. package/dist/types/modules/panels/model/diy-browser-tools-shot.test.d.ts +0 -1
  73. package/dist/types/modules/panels/model/diy-browser-tools.test.d.ts +0 -1
  74. package/dist/types/modules/panels/model/diy-browser.test.d.ts +0 -1
  75. package/dist/types/modules/panels/model/diy-components.test.d.ts +0 -1
  76. package/dist/types/modules/panels/model/diy-context.test.d.ts +0 -1
  77. package/dist/types/modules/panels/model/diy-debug-routes.test.d.ts +0 -1
  78. package/dist/types/modules/panels/model/diy-debug-tools.test.d.ts +0 -1
  79. package/dist/types/modules/panels/model/diy-logs.test.d.ts +0 -1
  80. package/dist/types/modules/panels/model/diy-observers.test.d.ts +0 -1
  81. package/dist/types/modules/panels/model/diy-page.test.d.ts +0 -1
  82. package/dist/types/modules/panels/model/diy-record-bar.test.d.ts +0 -1
  83. package/dist/types/modules/panels/model/diy-record-beat.test.d.ts +0 -1
  84. package/dist/types/modules/panels/model/diy-record-capture.test.d.ts +0 -1
  85. package/dist/types/modules/panels/model/diy-record-close.test.d.ts +0 -1
  86. package/dist/types/modules/panels/model/diy-record-failure.test.d.ts +0 -1
  87. package/dist/types/modules/panels/model/diy-record-hook.test.d.ts +0 -1
  88. package/dist/types/modules/panels/model/diy-record-open.test.d.ts +0 -1
  89. package/dist/types/modules/panels/model/diy-record-routes.test.d.ts +0 -1
  90. package/dist/types/modules/panels/model/diy-record-shot.test.d.ts +0 -1
  91. package/dist/types/modules/panels/model/diy-record-text.test.d.ts +0 -1
  92. package/dist/types/modules/panels/model/diy-record.test.d.ts +0 -1
  93. package/dist/types/modules/panels/model/diy-schema.test.d.ts +0 -1
  94. package/dist/types/modules/panels/model/diy-spec.test.d.ts +0 -1
  95. package/dist/types/modules/panels/model/handoff.test.d.ts +0 -1
  96. package/dist/types/modules/panels/model/long-task-tools.test.d.ts +0 -1
  97. package/dist/types/modules/panels/model/market-install-error.test.d.ts +0 -1
  98. package/dist/types/modules/panels/model/market-installed.test.d.ts +0 -1
  99. package/dist/types/modules/panels/model/market-registry.test.d.ts +0 -1
  100. package/dist/types/modules/panels/model/market-remove.test.d.ts +0 -1
  101. package/dist/types/modules/panels/model/market-restart.test.d.ts +0 -1
  102. package/dist/types/modules/panels/model/market-sources-tool.test.d.ts +0 -1
  103. package/dist/types/modules/panels/model/market-swap-stuck.test.d.ts +0 -1
  104. package/dist/types/modules/panels/model/plugin-name.test.d.ts +0 -1
  105. package/dist/types/modules/panels/model/routes.test.d.ts +0 -1
  106. package/dist/types/modules/sessions/model/attention-long-task.test.d.ts +0 -1
  107. package/dist/types/modules/sessions/model/attention.test.d.ts +0 -1
  108. package/dist/types/modules/sessions/model/scroll-edges.test.d.ts +0 -1
  109. package/dist/types/modules/sessions/model/session-node.test.d.ts +0 -1
  110. package/dist/types/shared/api/config-sync.test.d.ts +0 -1
  111. package/dist/types/shared/api/diy.test.d.ts +0 -1
  112. package/dist/types/shared/api/dsh-plugins.test.d.ts +0 -1
  113. package/dist/types/shared/api/host/bundle-inspect-kind.test.d.ts +0 -1
  114. package/dist/types/shared/api/host/bundle-routes-self.test.d.ts +0 -1
  115. package/dist/types/shared/api/host/bundle-routes.test.d.ts +0 -1
  116. package/dist/types/shared/api/host/diy-facts.test.d.ts +0 -1
  117. package/dist/types/shared/api/host/diy-recon-fs.test.d.ts +0 -1
  118. package/dist/types/shared/api/host/diy-recon.test.d.ts +0 -1
  119. package/dist/types/shared/api/host/diy.test.d.ts +0 -1
  120. package/dist/types/shared/api/host/http.test.d.ts +0 -1
  121. package/dist/types/shared/api/host/png-crop.test.d.ts +0 -1
  122. package/dist/types/shared/api/host/runtime-seed.test.d.ts +0 -1
  123. package/dist/types/shared/api/host/self-update-marker.test.d.ts +0 -1
  124. package/dist/types/shared/api/host/shell.test.d.ts +0 -1
  125. package/dist/types/shared/api/unit-manifests.test.d.ts +0 -1
  126. package/dist/types/shared/components/blocker-action.test.d.ts +0 -1
  127. package/dist/types/shared/hooks/panel-state-report.test.d.ts +0 -1
package/client.js CHANGED
@@ -583,7 +583,7 @@ window.__ModuleLoader__.load({
583
583
  id: "cli-exec-failed",
584
584
  severity: "block",
585
585
  title: error.message,
586
- hint: error.hint ?? t("blocker.exec.hint"),
586
+ hint: error.hint ?? context.diagnose?.exec ?? t("blocker.exec.hint"),
587
587
  ...error.detail === void 0 ? {} : { detail: error.detail },
588
588
  actions: [retryAction(t)]
589
589
  };
@@ -792,13 +792,13 @@ window.__ModuleLoader__.load({
792
792
  //#endregion
793
793
  //#region ../shared/dist/lib/react.js
794
794
  var react$1 = require("react");
795
- var h$71 = react$1.createElement;
795
+ var h$70 = react$1.createElement;
796
796
  var Fragment$22 = react$1.Fragment;
797
797
  var Component = react$1.Component;
798
798
  react$1.createContext;
799
799
  react$1.useContext;
800
800
  var useState$42 = react$1.useState;
801
- var useEffect$32 = react$1.useEffect;
801
+ var useEffect$33 = react$1.useEffect;
802
802
  react$1.useLayoutEffect;
803
803
  var useMemo$10 = react$1.useMemo;
804
804
  react$1.useCallback;
@@ -813,7 +813,7 @@ window.__ModuleLoader__.load({
813
813
  * @returns 一个 div。
814
814
  */
815
815
  function ActivityBlock({ head, children }) {
816
- return h$71("div", { className: "wb-activityBlock" }, head === void 0 ? null : h$71("div", { className: "wb-activityBlockHead" }, head), children);
816
+ return h$70("div", { className: "wb-activityBlock" }, head === void 0 ? null : h$70("div", { className: "wb-activityBlockHead" }, head), children);
817
817
  }
818
818
  /**
819
819
  * 一条活动:状态点 + 正文 + 时间,行尾可挂动作;时间一律用它,别自己拼。
@@ -824,7 +824,7 @@ window.__ModuleLoader__.load({
824
824
  * @returns 一行。
825
825
  */
826
826
  function ActivityLine({ dot, text, at, actions }) {
827
- return h$71("div", { className: "wb-activityLine" }, dot, h$71("span", { className: "wb-activityLineText" }, text), at === void 0 ? null : h$71("span", { className: "wb-activityLineAt" }, at), actions === void 0 ? null : h$71("span", { className: "wb-activityLineActions" }, actions));
827
+ return h$70("div", { className: "wb-activityLine" }, dot, h$70("span", { className: "wb-activityLineText" }, text), at === void 0 ? null : h$70("span", { className: "wb-activityLineAt" }, at), actions === void 0 ? null : h$70("span", { className: "wb-activityLineActions" }, actions));
828
828
  }
829
829
  /**
830
830
  * 活动行尾那颗动作:给 `href` 就是外链,否则是图标钮并带上 tooltip。
@@ -838,7 +838,7 @@ window.__ModuleLoader__.load({
838
838
  */
839
839
  function ActivityAction({ label, hint, icon, href, onClick, failed }) {
840
840
  const tip = hint ?? label;
841
- if (href !== void 0) return h$71("a", {
841
+ if (href !== void 0) return h$70("a", {
842
842
  className: "wb-iconButton",
843
843
  href,
844
844
  target: "_blank",
@@ -846,13 +846,13 @@ window.__ModuleLoader__.load({
846
846
  title: tip,
847
847
  "aria-label": label
848
848
  }, icon);
849
- return h$71(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
849
+ return h$70(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
850
850
  side: "bottom",
851
851
  align: "end",
852
852
  gap: 6,
853
853
  portal: true,
854
854
  label: tip
855
- }, h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
855
+ }, h$70(_deepseek_ai_dsh_client_ui_primitives.Button, {
856
856
  type: "button",
857
857
  variant: "ghost",
858
858
  size: "sm",
@@ -874,10 +874,10 @@ window.__ModuleLoader__.load({
874
874
  */
875
875
  function Note({ tone = "muted", as, role, children }) {
876
876
  const className = tone === "problem" ? "wb-problem" : "wb-note";
877
- return as === "span" ? h$71("span", {
877
+ return as === "span" ? h$70("span", {
878
878
  className,
879
879
  role
880
- }, children) : h$71("p", {
880
+ }, children) : h$70("p", {
881
881
  className,
882
882
  role
883
883
  }, children);
@@ -921,10 +921,10 @@ window.__ModuleLoader__.load({
921
921
  render() {
922
922
  const { reason } = this.state;
923
923
  if (reason === null) return this.props.children;
924
- return h$71(Note, { tone: "problem" }, h$71("span", null, this.props.t("panels.cardBroken", {
924
+ return h$70(Note, { tone: "problem" }, h$70("span", null, this.props.t("panels.cardBroken", {
925
925
  unit: this.props.unit,
926
926
  reason
927
- })), " ", h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
927
+ })), " ", h$70(_deepseek_ai_dsh_client_ui_primitives.Button, {
928
928
  type: "button",
929
929
  variant: "outline",
930
930
  size: "sm",
@@ -974,19 +974,19 @@ window.__ModuleLoader__.load({
974
974
  const owner = (props.units ?? []).find((face) => face.approval?.tools.includes(input.tool) === true);
975
975
  if (owner?.approval !== void 0) {
976
976
  const Render = owner.approval.render;
977
- return h$71(CardBoundary, {
977
+ return h$70(CardBoundary, {
978
978
  unit: owner.unit,
979
979
  resetKey: props.callId ?? "",
980
980
  t
981
- }, h$71(Render, {
981
+ }, h$70(Render, {
982
982
  input,
983
983
  t
984
984
  }));
985
985
  }
986
986
  const shell = props.renderShell?.(input, t);
987
- if (shell !== void 0 && shell !== null) return h$71(Fragment$22, null, shell);
987
+ if (shell !== void 0 && shell !== null) return h$70(Fragment$22, null, shell);
988
988
  if (command === "") return null;
989
- return h$71(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
989
+ return h$70(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
990
990
  code: command,
991
991
  className: "wb-approvalCommand",
992
992
  copyLabel: t("blocker.copy"),
@@ -1004,10 +1004,10 @@ window.__ModuleLoader__.load({
1004
1004
  * @returns 一个 div。
1005
1005
  */
1006
1006
  function ApprovalPlan({ rows, hint, warn, children }) {
1007
- return h$71("div", { className: "wb-approvalPlan" }, hint === void 0 ? null : h$71("p", { className: "wb-approvalHint" }, hint), h$71("dl", { className: "wb-approvalRows" }, rows.map((row, index) => h$71("div", {
1007
+ return h$70("div", { className: "wb-approvalPlan" }, hint === void 0 ? null : h$70("p", { className: "wb-approvalHint" }, hint), h$70("dl", { className: "wb-approvalRows" }, rows.map((row, index) => h$70("div", {
1008
1008
  className: "wb-approvalRow",
1009
1009
  key: String(index)
1010
- }, h$71("dt", { className: "wb-approvalLabel" }, row.label), h$71("dd", { className: "wb-approvalValue" }, row.value)))), children, warn === void 0 ? null : h$71("p", { className: "wb-approvalWarn" }, warn));
1010
+ }, h$70("dt", { className: "wb-approvalLabel" }, row.label), h$70("dd", { className: "wb-approvalValue" }, row.value)))), children, warn === void 0 ? null : h$70("p", { className: "wb-approvalWarn" }, warn));
1011
1011
  }
1012
1012
  //#endregion
1013
1013
  //#region ../shared/dist/components/CardHead.js
@@ -1024,47 +1024,47 @@ window.__ModuleLoader__.load({
1024
1024
  function CardHead({ t, title, meta, refreshing, onRefresh, gear, gearOpen, onToggleGear, platformHref, platform, platformTitle }) {
1025
1025
  const refreshLabel = refreshing ? t("rightbar.refreshing") : t("rightbar.refresh");
1026
1026
  const platformLabel = platformTitle ?? platform ?? t("rightbar.openPlatform");
1027
- return h$71("header", { className: "wb-cardHead" }, h$71("h2", { className: "wb-cardTitle" }, title), meta === void 0 ? null : h$71("span", { className: "wb-cardMeta" }, meta), platformHref === void 0 ? null : h$71(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
1027
+ return h$70("header", { className: "wb-cardHead" }, h$70("h2", { className: "wb-cardTitle" }, title), meta === void 0 ? null : h$70("span", { className: "wb-cardMeta" }, meta), platformHref === void 0 ? null : h$70(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
1028
1028
  side: "bottom",
1029
1029
  align: "end",
1030
1030
  gap: 6,
1031
1031
  portal: true,
1032
1032
  label: platformLabel
1033
- }, h$71("a", {
1033
+ }, h$70("a", {
1034
1034
  className: "wb-iconButton wb-cardOpen",
1035
1035
  href: platformHref,
1036
1036
  target: "_blank",
1037
1037
  rel: "noreferrer noopener",
1038
1038
  "aria-label": platform ?? platformLabel
1039
- }, h$71(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 14 }))), h$71(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
1039
+ }, h$70(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 14 }))), h$70(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
1040
1040
  side: "bottom",
1041
1041
  align: "end",
1042
1042
  gap: 6,
1043
1043
  portal: true,
1044
1044
  label: refreshLabel
1045
- }, h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
1045
+ }, h$70(_deepseek_ai_dsh_client_ui_primitives.Button, {
1046
1046
  type: "button",
1047
1047
  size: "sm",
1048
1048
  variant: "ghost",
1049
1049
  className: `wb-cardRefresh${refreshing ? " wb-spinning" : ""}`,
1050
1050
  "aria-label": refreshLabel,
1051
1051
  disabled: refreshing,
1052
- icon: h$71(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 14 }),
1052
+ icon: h$70(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 14 }),
1053
1053
  onClick: onRefresh
1054
- })), gear === void 0 || onToggleGear === void 0 ? null : h$71(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
1054
+ })), gear === void 0 || onToggleGear === void 0 ? null : h$70(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
1055
1055
  side: "bottom",
1056
1056
  align: "end",
1057
1057
  gap: 6,
1058
1058
  portal: true,
1059
1059
  label: gear
1060
- }, h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
1060
+ }, h$70(_deepseek_ai_dsh_client_ui_primitives.Button, {
1061
1061
  type: "button",
1062
1062
  size: "sm",
1063
1063
  variant: "ghost",
1064
1064
  className: `wb-cardGear${gearOpen === true ? " wb-iconButtonActive" : ""}`,
1065
1065
  "aria-label": gear,
1066
1066
  "aria-expanded": gearOpen === true,
1067
- icon: h$71(_deepseek_ai_dsh_client_ui_primitives.IconSettingsOutlineRegular, { size: 15 }),
1067
+ icon: h$70(_deepseek_ai_dsh_client_ui_primitives.IconSettingsOutlineRegular, { size: 15 }),
1068
1068
  onClick: onToggleGear
1069
1069
  })));
1070
1070
  }
@@ -1081,13 +1081,13 @@ window.__ModuleLoader__.load({
1081
1081
  * @returns 一个 `<section>`。
1082
1082
  */
1083
1083
  function Card({ t, title, refreshing, onRefresh, meta, head, children }) {
1084
- return h$71("section", { className: "wb-card" }, head === void 0 ? h$71(CardHead, {
1084
+ return h$70("section", { className: "wb-card" }, head === void 0 ? h$70(CardHead, {
1085
1085
  t,
1086
1086
  title,
1087
1087
  refreshing,
1088
1088
  onRefresh,
1089
1089
  meta
1090
- }) : head, h$71("div", { className: "wb-cardBody" }, children));
1090
+ }) : head, h$70("div", { className: "wb-cardBody" }, children));
1091
1091
  }
1092
1092
  var CardAnchor_module_default = { anchor: "_anchor_yq4s2_1" };
1093
1093
  //#endregion
@@ -1107,7 +1107,7 @@ window.__ModuleLoader__.load({
1107
1107
  * @returns 带 id 的占位 div。
1108
1108
  */
1109
1109
  function CardAnchor({ unit, children }) {
1110
- return h$71("div", {
1110
+ return h$70("div", {
1111
1111
  id: cardIdOf(unit),
1112
1112
  className: CardAnchor_module_default.anchor
1113
1113
  }, children);
@@ -1121,13 +1121,13 @@ window.__ModuleLoader__.load({
1121
1121
  * @returns 一枚 `StateDot state="ongoing"`,自身不带文字。
1122
1122
  */
1123
1123
  function Spinner({ size = 14, label }) {
1124
- return h$71("span", {
1124
+ return h$70("span", {
1125
1125
  className: "wb-spinner",
1126
1126
  ...label === void 0 ? { "aria-hidden": true } : {
1127
1127
  role: "status",
1128
1128
  "aria-label": label
1129
1129
  }
1130
- }, h$71(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
1130
+ }, h$70(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
1131
1131
  state: "ongoing",
1132
1132
  size
1133
1133
  }));
@@ -1135,24 +1135,24 @@ window.__ModuleLoader__.load({
1135
1135
  //#endregion
1136
1136
  //#region ../shared/dist/components/ChoiceGroup.js
1137
1137
  function ChoiceMenu(input) {
1138
- const body = input.loading ? h$71("span", {
1138
+ const body = input.loading ? h$70("span", {
1139
1139
  className: "wb-choiceLoading",
1140
1140
  role: "status"
1141
- }, h$71(Spinner, { size: 14 }), h$71("span", { className: "wb-choiceLoadingText" }, input.loadingText ?? "…")) : input.options.length === 0 ? input.emptyText === void 0 ? null : h$71("span", { className: "wb-choiceEmpty" }, input.emptyText) : input.options.map((option) => {
1141
+ }, h$70(Spinner, { size: 14 }), h$70("span", { className: "wb-choiceLoadingText" }, input.loadingText ?? "…")) : input.options.length === 0 ? input.emptyText === void 0 ? null : h$70("span", { className: "wb-choiceEmpty" }, input.emptyText) : input.options.map((option) => {
1142
1142
  const row = input.rowOf(option.value);
1143
- return h$71(Fragment$22, { key: option.value }, h$71("label", { className: `wb-choiceOption${row.checked ? " wb-choiceOptionOn" : ""}` }, h$71("input", {
1143
+ return h$70(Fragment$22, { key: option.value }, h$70("label", { className: `wb-choiceOption${row.checked ? " wb-choiceOptionOn" : ""}` }, h$70("input", {
1144
1144
  className: input.multi ? "wb-checkbox" : "wb-radio",
1145
1145
  type: input.multi ? "checkbox" : "radio",
1146
1146
  name: input.name,
1147
1147
  checked: row.checked,
1148
1148
  disabled: input.disabled,
1149
1149
  onChange: row.onSelect
1150
- }), input.multi ? h$71("span", {
1150
+ }), input.multi ? h$70("span", {
1151
1151
  className: "wb-checkboxBox",
1152
1152
  "aria-hidden": "true"
1153
- }, row.checked ? h$71(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 12 }) : null) : null, h$71("span", { className: "wb-choiceLabel" }, h$71("span", { className: "wb-choiceLabelText" }, option.label), option.description === void 0 ? null : h$71("span", { className: "wb-choiceDescription" }, option.description))));
1153
+ }, row.checked ? h$70(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 12 }) : null) : null, h$70("span", { className: "wb-choiceLabel" }, h$70("span", { className: "wb-choiceLabelText" }, option.label), option.description === void 0 ? null : h$70("span", { className: "wb-choiceDescription" }, option.description))));
1154
1154
  });
1155
- return h$71("div", {
1155
+ return h$70("div", {
1156
1156
  className: "wb-choiceMenu",
1157
1157
  "data-variant": input.variant,
1158
1158
  role: input.multi ? "group" : "radiogroup",
@@ -1186,7 +1186,7 @@ window.__ModuleLoader__.load({
1186
1186
  if (props.multi === true) {
1187
1187
  const values = props.values;
1188
1188
  const onChange = props.onChange;
1189
- return h$71(ChoiceMenu, {
1189
+ return h$70(ChoiceMenu, {
1190
1190
  label: common.label,
1191
1191
  name: common.name,
1192
1192
  options: common.options,
@@ -1206,7 +1206,7 @@ window.__ModuleLoader__.load({
1206
1206
  }
1207
1207
  const value = props.value;
1208
1208
  const onChange = props.onChange;
1209
- return h$71(ChoiceMenu, {
1209
+ return h$70(ChoiceMenu, {
1210
1210
  label: common.label,
1211
1211
  name: common.name,
1212
1212
  options: common.options,
@@ -1259,17 +1259,17 @@ window.__ModuleLoader__.load({
1259
1259
  function FormActions({ actions }) {
1260
1260
  if (actions.length === 0) return null;
1261
1261
  reportExtraPrimaries(actions);
1262
- return h$71("div", { className: "wb-formActions" }, ordered(actions).map((action) => {
1262
+ return h$70("div", { className: "wb-formActions" }, ordered(actions).map((action) => {
1263
1263
  const kind = kindOf(action);
1264
1264
  const busy = action.busy === true;
1265
- return h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
1265
+ return h$70(_deepseek_ai_dsh_client_ui_primitives.Button, {
1266
1266
  key: action.key,
1267
1267
  type: "button",
1268
1268
  size: "sm",
1269
1269
  variant: variantOf(kind),
1270
1270
  className: kind === "danger" ? "wb-formActionDanger" : void 0,
1271
1271
  disabled: busy || action.disabled === true,
1272
- icon: busy ? h$71(Spinner, { size: 12 }) : void 0,
1272
+ icon: busy ? h$70(Spinner, { size: 12 }) : void 0,
1273
1273
  onClick: action.onClick
1274
1274
  }, action.label);
1275
1275
  }));
@@ -1282,7 +1282,7 @@ window.__ModuleLoader__.load({
1282
1282
  * @returns 竖排的 div。
1283
1283
  */
1284
1284
  function Rows({ children }) {
1285
- return h$71("div", { className: "wb-rows" }, children);
1285
+ return h$70("div", { className: "wb-rows" }, children);
1286
1286
  }
1287
1287
  /**
1288
1288
  * 一行键值:左边名字、右边值;要成对说明一项数据就用它,别自己写两栏。
@@ -1291,7 +1291,7 @@ window.__ModuleLoader__.load({
1291
1291
  * @returns 一行两格。
1292
1292
  */
1293
1293
  function Row({ label, value }) {
1294
- return h$71("div", { className: "wb-row" }, h$71("span", { className: "wb-rowKey" }, label), h$71("span", { className: "wb-rowValue" }, value));
1294
+ return h$70("div", { className: "wb-row" }, h$70("span", { className: "wb-rowKey" }, label), h$70("span", { className: "wb-rowValue" }, value));
1295
1295
  }
1296
1296
  //#endregion
1297
1297
  //#region ../shared/dist/components/ConfirmBar.js
@@ -1308,19 +1308,19 @@ window.__ModuleLoader__.load({
1308
1308
  * @returns 一个 `role="group"` 的条;`actions` 空数组时最后那一块不渲染。
1309
1309
  */
1310
1310
  function ConfirmBar({ title, hint, rows, actions, problem, busy, label }) {
1311
- return h$71("div", {
1311
+ return h$70("div", {
1312
1312
  className: "wb-confirmBar",
1313
1313
  role: "group",
1314
1314
  "aria-label": label ?? (typeof title === "string" ? title : void 0),
1315
1315
  "aria-busy": busy
1316
- }, h$71("p", { className: "wb-confirmBarTitle" }, title), hint === void 0 ? null : h$71("p", { className: "wb-confirmBarHint" }, hint), rows === void 0 || rows.length === 0 ? null : h$71(Rows, null, rows.map((row) => h$71(Row, {
1316
+ }, h$70("p", { className: "wb-confirmBarTitle" }, title), hint === void 0 ? null : h$70("p", { className: "wb-confirmBarHint" }, hint), rows === void 0 || rows.length === 0 ? null : h$70(Rows, null, rows.map((row) => h$70(Row, {
1317
1317
  key: row.key,
1318
1318
  label: row.label,
1319
1319
  value: row.value
1320
- }))), problem === void 0 ? null : h$71(Note, {
1320
+ }))), problem === void 0 ? null : h$70(Note, {
1321
1321
  tone: "problem",
1322
1322
  role: "alert"
1323
- }, problem), h$71(FormActions, { actions }));
1323
+ }, problem), h$70(FormActions, { actions }));
1324
1324
  }
1325
1325
  //#endregion
1326
1326
  //#region ../shared/dist/components/Field.js
@@ -1332,7 +1332,7 @@ window.__ModuleLoader__.load({
1332
1332
  * @returns 一个 `<label>`,点标签会聚焦里面的控件。
1333
1333
  */
1334
1334
  function Field({ label, hint, children }) {
1335
- return h$71("label", { className: "wb-field" }, h$71("span", { className: "wb-fieldLabel" }, label), children, hint === void 0 ? null : h$71("span", { className: "wb-fieldHint" }, hint));
1335
+ return h$70("label", { className: "wb-field" }, h$70("span", { className: "wb-fieldLabel" }, label), children, hint === void 0 ? null : h$70("span", { className: "wb-fieldHint" }, hint));
1336
1336
  }
1337
1337
  //#endregion
1338
1338
  //#region ../shared/dist/components/FormRows.js
@@ -1342,7 +1342,7 @@ window.__ModuleLoader__.load({
1342
1342
  * @returns 竖排的 div。
1343
1343
  */
1344
1344
  function FormRows({ children }) {
1345
- return h$71("div", { className: "wb-formRows" }, children);
1345
+ return h$70("div", { className: "wb-formRows" }, children);
1346
1346
  }
1347
1347
  /**
1348
1348
  * 表单一行:左边标签、右边控件,提示与错误占控件下面那一格。
@@ -1355,14 +1355,14 @@ window.__ModuleLoader__.load({
1355
1355
  * @returns 一个 `<div>`:里面的 `<label>` 只包标签文字,不包控件、提示与整行的空白。
1356
1356
  */
1357
1357
  function FormRow({ label, htmlFor, hint, problem, layout = "inline", children }) {
1358
- return h$71("div", {
1358
+ return h$70("div", {
1359
1359
  className: "wb-formRow",
1360
1360
  "data-layout": layout,
1361
1361
  "data-wb-problem": problem === void 0 ? void 0 : ""
1362
- }, h$71("label", {
1362
+ }, h$70("label", {
1363
1363
  className: "wb-formLabel",
1364
1364
  htmlFor
1365
- }, label), h$71("span", { className: "wb-formControl" }, children), problem === void 0 ? hint === void 0 ? null : h$71("span", { className: "wb-formHint" }, hint) : h$71("span", { className: "wb-formProblem" }, problem));
1365
+ }, label), h$70("span", { className: "wb-formControl" }, children), problem === void 0 ? hint === void 0 ? null : h$70("span", { className: "wb-formHint" }, hint) : h$70("span", { className: "wb-formProblem" }, problem));
1366
1366
  }
1367
1367
  //#endregion
1368
1368
  //#region ../shared/dist/components/FormNodes.js
@@ -1509,7 +1509,7 @@ window.__ModuleLoader__.load({
1509
1509
  * @returns `FormRow` 组成的数组;没有可画的格子时给空数组。
1510
1510
  */
1511
1511
  function formRowsOf(args) {
1512
- return args.fields.map((field) => h$71(FormRow, {
1512
+ return args.fields.map((field) => h$70(FormRow, {
1513
1513
  key: field.key,
1514
1514
  label: field.label,
1515
1515
  htmlFor: controlIdOf(field.key),
@@ -1591,7 +1591,7 @@ window.__ModuleLoader__.load({
1591
1591
  const shown = visibleFieldsOf(fields);
1592
1592
  const problems = formProblemsOf(shown, done);
1593
1593
  reportDuplicateKeys(shown);
1594
- useEffect$32(() => {
1594
+ useEffect$33(() => {
1595
1595
  if (reveal === 0) return;
1596
1596
  const root = rootRef.current;
1597
1597
  if (root !== null) revealFirstProblem(root);
@@ -1606,7 +1606,7 @@ window.__ModuleLoader__.load({
1606
1606
  }
1607
1607
  onSubmit(outcome.values);
1608
1608
  };
1609
- return h$71("form", {
1609
+ return h$70("form", {
1610
1610
  className: "wb-form",
1611
1611
  ref: rootRef,
1612
1612
  noValidate: true,
@@ -1614,15 +1614,15 @@ window.__ModuleLoader__.load({
1614
1614
  event.preventDefault();
1615
1615
  submitForm();
1616
1616
  }
1617
- }, h$71(FormRows, null, formRowsOf({
1617
+ }, h$70(FormRows, null, formRowsOf({
1618
1618
  fields: shown,
1619
1619
  problems,
1620
1620
  showProblem: done,
1621
1621
  busy
1622
- })), problem === void 0 ? null : h$71(Note, {
1622
+ })), problem === void 0 ? null : h$70(Note, {
1623
1623
  tone: "problem",
1624
1624
  role: "alert"
1625
- }, problem), h$71(FormActions, { actions: formActionsOf({
1625
+ }, problem), h$70(FormActions, { actions: formActionsOf({
1626
1626
  extra,
1627
1627
  cancel,
1628
1628
  submit,
@@ -1643,7 +1643,7 @@ window.__ModuleLoader__.load({
1643
1643
  * @returns 一个 `<a>`。
1644
1644
  */
1645
1645
  function Link({ href, children, title, external = true, className }) {
1646
- return h$71("a", {
1646
+ return h$70("a", {
1647
1647
  className: className === void 0 ? "wb-link" : `wb-link ${className}`,
1648
1648
  href,
1649
1649
  ...title === void 0 ? {} : { title },
@@ -1651,7 +1651,7 @@ window.__ModuleLoader__.load({
1651
1651
  target: "_blank",
1652
1652
  rel: "noopener noreferrer"
1653
1653
  } : {}
1654
- }, children, external ? h$71(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 12 }) : null);
1654
+ }, children, external ? h$70(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 12 }) : null);
1655
1655
  }
1656
1656
  //#endregion
1657
1657
  //#region ../shared/dist/contract/long-task.js
@@ -1743,7 +1743,7 @@ window.__ModuleLoader__.load({
1743
1743
  //#endregion
1744
1744
  //#region ../shared/dist/components/LongTaskRow.js
1745
1745
  function RowLink({ href, text }) {
1746
- return h$71(Link, {
1746
+ return h$70(Link, {
1747
1747
  href,
1748
1748
  className: "wb-longTaskLink"
1749
1749
  }, text);
@@ -1773,7 +1773,7 @@ window.__ModuleLoader__.load({
1773
1773
  const stop = props.stop;
1774
1774
  const busy = stop?.busy === true;
1775
1775
  const stopWhy = stop?.failed ?? "";
1776
- useEffect$32(() => {
1776
+ useEffect$33(() => {
1777
1777
  if (!armed) return void 0;
1778
1778
  const timer = setTimeout(() => setArmed(false), LONG_TASK_STOP_ARM_MS);
1779
1779
  return () => clearTimeout(timer);
@@ -1792,14 +1792,14 @@ window.__ModuleLoader__.load({
1792
1792
  setArmed(false);
1793
1793
  stop.onStop();
1794
1794
  };
1795
- return h$71("div", { className: "wb-longTask" }, h$71("p", { className: "wb-longTaskHead" }, h$71(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
1795
+ return h$70("div", { className: "wb-longTask" }, h$70("p", { className: "wb-longTaskHead" }, h$70(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
1796
1796
  state: longTaskDot(props.status),
1797
1797
  size: 10
1798
- }), h$71("span", { className: "wb-longTaskHeadline" }, props.headline), (props.links ?? []).map((link) => h$71(RowLink, {
1798
+ }), h$70("span", { className: "wb-longTaskHeadline" }, props.headline), (props.links ?? []).map((link) => h$70(RowLink, {
1799
1799
  href: link.href,
1800
1800
  key: `${link.text}@${link.href}`,
1801
1801
  text: link.text
1802
- })), stop === void 0 ? null : h$71("button", {
1802
+ })), stop === void 0 ? null : h$70("button", {
1803
1803
  type: "button",
1804
1804
  className: `wb-longTaskStop${armed ? " wb-longTaskStopArmed" : ""}`,
1805
1805
  "data-stop-state": longTaskStopStage({
@@ -1810,31 +1810,31 @@ window.__ModuleLoader__.load({
1810
1810
  disabled: busy,
1811
1811
  onClick: onStopPress,
1812
1812
  onBlur: () => setArmed(false)
1813
- }, h$71(_deepseek_ai_dsh_client_ui_primitives.IconStopFillRegular, { size: 12 }), armed ? h$71("span", { className: "wb-longTaskStopLabel" }, stop.askLabel) : null)), problem === "" ? null : h$71("p", { className: "wb-longTaskProblem" }, problem), stopWhy === "" ? null : h$71("p", { className: "wb-longTaskStopWhy" }, stopWhy), !failed ? null : h$71(Fragment$22, null, steps.length === 0 || props.stepsTitle === void 0 ? null : h$71(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
1813
+ }, h$70(_deepseek_ai_dsh_client_ui_primitives.IconStopFillRegular, { size: 12 }), armed ? h$70("span", { className: "wb-longTaskStopLabel" }, stop.askLabel) : null)), problem === "" ? null : h$70("p", { className: "wb-longTaskProblem" }, problem), stopWhy === "" ? null : h$70("p", { className: "wb-longTaskStopWhy" }, stopWhy), !failed ? null : h$70(Fragment$22, null, steps.length === 0 || props.stepsTitle === void 0 ? null : h$70(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
1814
1814
  className: "wb-longTaskDump",
1815
- icon: h$71(_deepseek_ai_dsh_client_ui_primitives.IconFlatListOutlineRegular, { size: 14 }),
1815
+ icon: h$70(_deepseek_ai_dsh_client_ui_primitives.IconFlatListOutlineRegular, { size: 14 }),
1816
1816
  title: props.stepsTitle,
1817
1817
  open: stepsOpen,
1818
1818
  expandable: true,
1819
1819
  expandOnRowClick: true,
1820
1820
  previewChevron: true,
1821
1821
  onToggle: () => setStepsOpen(!stepsOpen)
1822
- }, h$71(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
1822
+ }, h$70(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
1823
1823
  code: steps.join("\n"),
1824
1824
  className: "wb-longTaskDump",
1825
1825
  showHeader: props.copyLabel !== void 0,
1826
1826
  copyLabel: props.copyLabel ?? "",
1827
1827
  copiedLabel: props.copiedLabel ?? ""
1828
- })), raw === "" || props.rawTitle === void 0 ? null : h$71(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
1828
+ })), raw === "" || props.rawTitle === void 0 ? null : h$70(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
1829
1829
  className: "wb-longTaskDump",
1830
- icon: h$71(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutlineRegular, { size: 14 }),
1830
+ icon: h$70(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutlineRegular, { size: 14 }),
1831
1831
  title: props.rawTitle,
1832
1832
  open: rawOpen,
1833
1833
  expandable: true,
1834
1834
  expandOnRowClick: true,
1835
1835
  previewChevron: true,
1836
1836
  onToggle: () => setRawOpen(!rawOpen)
1837
- }, h$71(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
1837
+ }, h$70(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
1838
1838
  code: raw,
1839
1839
  className: "wb-longTaskDump",
1840
1840
  showHeader: props.copyLabel !== void 0,
@@ -1850,13 +1850,13 @@ window.__ModuleLoader__.load({
1850
1850
  * @returns 一叠占位条。
1851
1851
  */
1852
1852
  function SkeletonRows({ rows = 4 }) {
1853
- return h$71("div", {
1853
+ return h$70("div", {
1854
1854
  className: "wb-skeleton",
1855
1855
  "aria-hidden": "true"
1856
- }, Array.from({ length: rows }, (_, index) => h$71("span", {
1856
+ }, Array.from({ length: rows }, (_, index) => h$70("span", {
1857
1857
  key: index,
1858
1858
  className: "wb-skeletonRow"
1859
- }, h$71("span", { className: "wb-skeletonBar wb-skeletonBarTitle" }), h$71("span", { className: "wb-skeletonBar wb-skeletonBarMeta" }))));
1859
+ }, h$70("span", { className: "wb-skeletonBar wb-skeletonBarTitle" }), h$70("span", { className: "wb-skeletonBar wb-skeletonBarMeta" }))));
1860
1860
  }
1861
1861
  /**
1862
1862
  * 居中一屏:要他先选一个 / 正在读 / 读不到时用它占住卡片版面。
@@ -1869,13 +1869,13 @@ window.__ModuleLoader__.load({
1869
1869
  * @returns 一个 `role="status"` 的居中块。
1870
1870
  */
1871
1871
  function CenteredState({ icon, title, hint, detail, action, compact = false }) {
1872
- return h$71("div", {
1872
+ return h$70("div", {
1873
1873
  className: compact ? "wb-centered wb-centeredCompact" : "wb-centered",
1874
1874
  role: "status"
1875
- }, icon === null ? null : h$71("span", {
1875
+ }, icon === null ? null : h$70("span", {
1876
1876
  className: "wb-centeredHero",
1877
1877
  "aria-hidden": "true"
1878
- }, icon), h$71("div", { className: "wb-centeredTitle" }, title), hint === void 0 ? null : h$71("div", { className: "wb-centeredHint" }, hint), detail === void 0 ? null : h$71("div", { className: "wb-centeredDetail" }, detail), action === void 0 ? null : h$71("div", { className: "wb-centeredAction" }, action));
1878
+ }, icon), h$70("div", { className: "wb-centeredTitle" }, title), hint === void 0 ? null : h$70("div", { className: "wb-centeredHint" }, hint), detail === void 0 ? null : h$70("div", { className: "wb-centeredDetail" }, detail), action === void 0 ? null : h$70("div", { className: "wb-centeredAction" }, action));
1879
1879
  }
1880
1880
  /**
1881
1881
  * 就绪但空:它只是 `CenteredState` 的简写,标题就是那句空态文案。
@@ -1885,7 +1885,7 @@ window.__ModuleLoader__.load({
1885
1885
  * @returns 一个居中块。
1886
1886
  */
1887
1887
  function EmptyState({ text, icon = null, compact = false }) {
1888
- return h$71(CenteredState, {
1888
+ return h$70(CenteredState, {
1889
1889
  icon,
1890
1890
  title: text,
1891
1891
  compact
@@ -1903,7 +1903,7 @@ window.__ModuleLoader__.load({
1903
1903
  * @returns 一组按钮。
1904
1904
  */
1905
1905
  function SaveBar({ busy, disabled, labels, onCancel, onSave }) {
1906
- return h$71(FormActions, { actions: [{
1906
+ return h$70(FormActions, { actions: [{
1907
1907
  key: "cancel",
1908
1908
  label: labels.cancel,
1909
1909
  kind: "default",
@@ -1933,11 +1933,13 @@ window.__ModuleLoader__.load({
1933
1933
  * @param args.value - 已渲染好的当前值节点(文本或占位)。
1934
1934
  * @param args.iconOnly - 只画图标(窄栏那颗切换钮),值与箭头都不画。
1935
1935
  * @param args.onOpen - 点它做什么,通常是把列表打开。
1936
+ * @param args.ref - 挂到这颗 `<button>` 上,取消后回焦点、菜单开着头条滚轮要用它。
1936
1937
  * @returns 一颗 `<button>`。
1937
1938
  */
1938
1939
  function selectTriggerNode(args) {
1939
- return h$71("button", {
1940
+ return h$70("button", {
1940
1941
  type: "button",
1942
+ ref: args.ref,
1941
1943
  id: args.id,
1942
1944
  className: args.className,
1943
1945
  disabled: args.disabled,
@@ -1947,7 +1949,7 @@ window.__ModuleLoader__.load({
1947
1949
  "aria-label": args.ariaLabel,
1948
1950
  title: args.title,
1949
1951
  onClick: args.onOpen
1950
- }, args.iconOnly ? h$71("span", { className: "wb-selectIcon" }, args.icon) : h$71(Fragment$22, null, args.icon === void 0 ? null : h$71("span", { className: "wb-selectIcon" }, args.icon), h$71("span", { className: "wb-selectValue" }, args.value), h$71("span", { className: "wb-selectChevron" }, h$71(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, { size: 14 }))));
1952
+ }, args.iconOnly ? h$70("span", { className: "wb-selectIcon" }, args.icon) : h$70(Fragment$22, null, args.icon === void 0 ? null : h$70("span", { className: "wb-selectIcon" }, args.icon), h$70("span", { className: "wb-selectValue" }, args.value), h$70("span", { className: "wb-selectChevron" }, h$70(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, { size: 14 }))));
1951
1953
  }
1952
1954
  /**
1953
1955
  * 名单还没读到时的触发器:禁用 + `aria-busy` 的按钮,`SelectField` 在 `loading` 那档画它。
@@ -1959,7 +1961,7 @@ window.__ModuleLoader__.load({
1959
1961
  * @returns 一颗禁用且 `aria-busy` 的按钮。
1960
1962
  */
1961
1963
  function selectLoadingNode(args) {
1962
- return h$71("button", {
1964
+ return h$70("button", {
1963
1965
  type: "button",
1964
1966
  id: args.id,
1965
1967
  className: `${args.className} wb-selectLoading`,
@@ -1968,7 +1970,7 @@ window.__ModuleLoader__.load({
1968
1970
  "aria-invalid": args.invalid || void 0,
1969
1971
  "aria-label": args.ariaLabel,
1970
1972
  title: args.loadingText
1971
- }, h$71("span", { className: "wb-selectValue" }, h$71(_deepseek_ai_dsh_client_ui_primitives.TextShimmer, { active: true }, args.loadingText ?? "…")), h$71("span", { className: "wb-selectChevron" }, h$71(Spinner, { size: 14 })));
1973
+ }, h$70("span", { className: "wb-selectValue" }, h$70(_deepseek_ai_dsh_client_ui_primitives.TextShimmer, { active: true }, args.loadingText ?? "…")), h$70("span", { className: "wb-selectChevron" }, h$70(Spinner, { size: 14 })));
1972
1974
  }
1973
1975
  //#endregion
1974
1976
  //#region ../shared/dist/components/TextField.js
@@ -1978,7 +1980,7 @@ window.__ModuleLoader__.load({
1978
1980
  * @returns 输入框元素;`className` 是追加在基础类名之后,而不是替换它。
1979
1981
  */
1980
1982
  function TextField({ invalid = false, className, ...rest }) {
1981
- return h$71("input", {
1983
+ return h$70("input", {
1982
1984
  ...rest,
1983
1985
  className: className === void 0 ? "wb-textField" : `wb-textField ${className}`,
1984
1986
  "aria-invalid": invalid || void 0
@@ -1994,43 +1996,23 @@ window.__ModuleLoader__.load({
1994
1996
  function triggerClassOf(variantClass, iconOnly) {
1995
1997
  return mergeClass("wb-selectTrigger", variantClass, iconOnly ? "wb-selectIconOnly" : void 0);
1996
1998
  }
1997
- function itemOf(option, revealId) {
1998
- if (!(option.value === revealId)) return {
1999
+ function itemOf(option) {
2000
+ return {
1999
2001
  id: option.value,
2000
2002
  label: option.label,
2001
2003
  ...option.icon === void 0 ? {} : { icon: option.icon },
2002
2004
  ...option.disabled === true ? { disabled: true } : {}
2003
2005
  };
2004
- const revealed = (node) => h$71("span", {
2005
- className: "wb-selectReveal",
2006
- "data-wb-select-reveal": ""
2007
- }, node);
2008
- return {
2009
- id: option.value,
2010
- label: option.icon === void 0 ? revealed(option.label) : option.label,
2011
- ...option.icon === void 0 ? {} : { icon: revealed(option.icon) },
2012
- ...option.disabled === true ? { disabled: true } : {}
2013
- };
2014
- }
2015
- function revealNode() {
2016
- const found = document.querySelector("[data-wb-select-reveal]");
2017
- return found instanceof HTMLElement ? found : null;
2018
- }
2019
- function useRevealOnOpen(open, revealId) {
2020
- useEffect$32(() => {
2021
- if (!open || revealId === void 0) return;
2022
- revealNode()?.scrollIntoView({ block: "nearest" });
2023
- }, [open, revealId]);
2024
2006
  }
2025
2007
  function selectValueNode(current, renderValue, placeholder) {
2026
- if (current === void 0) return h$71("span", { className: "wb-selectPlaceholder" }, placeholder ?? "—");
2008
+ if (current === void 0) return h$70("span", { className: "wb-selectPlaceholder" }, placeholder ?? "—");
2027
2009
  return renderValue === void 0 ? current.label : renderValue(current);
2028
2010
  }
2029
2011
  function searchNode(args) {
2030
- return h$71("span", {
2012
+ return h$70("span", {
2031
2013
  ref: args.boxRef,
2032
2014
  className: args.className
2033
- }, h$71("span", { className: "wb-selectSearchIcon" }, h$71(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineRegular, { size: 14 })), h$71(TextField, {
2015
+ }, h$70("span", { className: "wb-selectSearchIcon" }, h$70(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineRegular, { size: 14 })), h$70(TextField, {
2034
2016
  id: args.id,
2035
2017
  name: args.name,
2036
2018
  className: "wb-selectSearchInput",
@@ -2045,7 +2027,7 @@ window.__ModuleLoader__.load({
2045
2027
  }));
2046
2028
  }
2047
2029
  function menuNode(args) {
2048
- return h$71(_deepseek_ai_dsh_client_ui_primitives.Menu, {
2030
+ return h$70(_deepseek_ai_dsh_client_ui_primitives.Menu, {
2049
2031
  open: args.open,
2050
2032
  portal: true,
2051
2033
  className: "wb-selectAnchor",
@@ -2062,11 +2044,11 @@ window.__ModuleLoader__.load({
2062
2044
  });
2063
2045
  }
2064
2046
  function framed(label, hint, className, control) {
2065
- const inner = label === void 0 ? hint === void 0 ? control : h$71("span", { className: "wb-select" }, control, h$71("span", { className: "wb-selectHint" }, hint)) : h$71(Field, {
2047
+ const inner = label === void 0 ? hint === void 0 ? control : h$70("span", { className: "wb-select" }, control, h$70("span", { className: "wb-selectHint" }, hint)) : h$70(Field, {
2066
2048
  label,
2067
2049
  hint
2068
2050
  }, control);
2069
- return className === void 0 ? inner : h$71("div", { className }, inner);
2051
+ return className === void 0 ? inner : h$70("div", { className }, inner);
2070
2052
  }
2071
2053
  /** 算候选项用来匹配搜索的文本:有 `searchText` 就用它,否则取字符串标签;标签不是字符串又没给它是空串(这项搜不到)。 */
2072
2054
  function searchTextOf(option) {
@@ -2094,8 +2076,8 @@ window.__ModuleLoader__.load({
2094
2076
  if (cursor === null) return step === 1 ? 0 : shown.length - 1;
2095
2077
  return (cursor + step + shown.length) % shown.length;
2096
2078
  }
2097
- /** 把候选排成 `Menu` 要的条目表:按 `group` 插分组标题;一项都没有时退回 `emptyText` 那一行(不给就是空表)。`revealId` 是开列表时要滚进可视区的那个 value。 */
2098
- function selectEntries(shown, emptyText, revealId) {
2079
+ /** 把候选排成 `Menu` 要的条目表:按 `group` 插分组标题;一项都没有时退回 `emptyText` 那一行(不给就是空表)。 */
2080
+ function selectEntries(shown, emptyText) {
2099
2081
  if (shown.length === 0) return emptyText === void 0 ? [] : [{
2100
2082
  type: "label",
2101
2083
  id: EMPTY_ID,
@@ -2112,7 +2094,7 @@ window.__ModuleLoader__.load({
2112
2094
  });
2113
2095
  group = option.group;
2114
2096
  }
2115
- out.push(itemOf(option, revealId));
2097
+ out.push(itemOf(option));
2116
2098
  }
2117
2099
  return out;
2118
2100
  }
@@ -2131,11 +2113,11 @@ window.__ModuleLoader__.load({
2131
2113
  if (openProp === void 0) setOpenState(next);
2132
2114
  onOpenChange?.(next);
2133
2115
  };
2134
- useEffect$32(() => {
2116
+ useEffect$33(() => {
2135
2117
  if (!open || props.search === false) return;
2136
2118
  boxRef.current?.querySelector("input")?.focus();
2137
2119
  }, [open, props.search]);
2138
- useEffect$32(() => {
2120
+ useEffect$33(() => {
2139
2121
  if (open) {
2140
2122
  wasOpenRef.current = true;
2141
2123
  return;
@@ -2192,10 +2174,9 @@ window.__ModuleLoader__.load({
2192
2174
  * @returns 触发器,以及打开时的搜索框与列表。
2193
2175
  */
2194
2176
  function SelectField(props) {
2195
- const { value, options, onChange, label, hint, icon, renderValue, placeholder, search = true, searchLabel, searchPlaceholder, footer, onFooter, disabled = false, invalid = false, loading = false, loadingText, fallback, selection = "fill", variant = "boxed", iconOnly = false, revealId, ariaLabel, title, id, name, className, menuClassName } = props;
2177
+ const { value, options, onChange, label, hint, icon, renderValue, placeholder, search = true, searchLabel, searchPlaceholder, footer, onFooter, disabled = false, invalid = false, loading = false, loadingText, fallback, selection = "fill", variant = "boxed", iconOnly = false, ariaLabel, title, id, name, className, menuClassName } = props;
2196
2178
  const state = useSelectState(props);
2197
2179
  const current = options.find((option) => option.value === value);
2198
- useRevealOnOpen(state.open, revealId);
2199
2180
  const variantClass = variant === "ghost" ? "wb-selectGhost" : void 0;
2200
2181
  const triggerClass = triggerClassOf(variantClass, iconOnly);
2201
2182
  if (loading) return framed(label, hint, className, selectLoadingNode({
@@ -2205,7 +2186,7 @@ window.__ModuleLoader__.load({
2205
2186
  ariaLabel,
2206
2187
  loadingText
2207
2188
  }));
2208
- if (fallback !== void 0 && options.length === 0) return framed(label, hint, className, h$71(TextField, {
2189
+ if (fallback !== void 0 && options.length === 0) return framed(label, hint, className, h$70(TextField, {
2209
2190
  id,
2210
2191
  name,
2211
2192
  className: "wb-selectFallback",
@@ -2225,7 +2206,8 @@ window.__ModuleLoader__.load({
2225
2206
  icon,
2226
2207
  value: selectValueNode(current, renderValue, placeholder),
2227
2208
  iconOnly,
2228
- onOpen: () => state.setOpen(true)
2209
+ onOpen: () => state.setOpen(true),
2210
+ ref: state.triggerRef
2229
2211
  });
2230
2212
  const anchor = state.open && search ? searchNode({
2231
2213
  boxRef: state.boxRef,
@@ -2260,7 +2242,7 @@ window.__ModuleLoader__.load({
2260
2242
  anchor,
2261
2243
  selection,
2262
2244
  selectedId: selectCursorValue(state.shown, state.cursor) ?? void 0,
2263
- items: selectEntries(state.shown, state.empty, revealId),
2245
+ items: selectEntries(state.shown, state.empty),
2264
2246
  footer: footer === void 0 ? void 0 : [{
2265
2247
  id: FOOTER_ID,
2266
2248
  label: footer.label,
@@ -2288,11 +2270,11 @@ window.__ModuleLoader__.load({
2288
2270
  * @returns 一个 `role="group"` 的 section。
2289
2271
  */
2290
2272
  function SettingsSection({ label, title, action, children }) {
2291
- return h$71("section", {
2273
+ return h$70("section", {
2292
2274
  className: "wb-settings",
2293
2275
  role: "group",
2294
2276
  "aria-label": label
2295
- }, h$71("header", { className: "wb-settingsHead" }, h$71("span", { className: "wb-settingsTitle" }, title), action), children);
2277
+ }, h$70("header", { className: "wb-settingsHead" }, h$70("span", { className: "wb-settingsTitle" }, title), action), children);
2296
2278
  }
2297
2279
  //#endregion
2298
2280
  //#region ../shared/dist/components/Stack.js
@@ -2302,7 +2284,7 @@ window.__ModuleLoader__.load({
2302
2284
  * @returns 竖排的 div。
2303
2285
  */
2304
2286
  function Stack({ children }) {
2305
- return h$71("div", { className: "wb-stack" }, children);
2287
+ return h$70("div", { className: "wb-stack" }, children);
2306
2288
  }
2307
2289
  //#endregion
2308
2290
  //#region ../shared/dist/components/StateBlock.js
@@ -2317,12 +2299,12 @@ window.__ModuleLoader__.load({
2317
2299
  * @returns 一个 div。
2318
2300
  */
2319
2301
  function StateBlock({ title, dot, hint, actions, resolving, children }) {
2320
- return h$71("div", { className: "wb-stateBlock" }, title === void 0 && dot === void 0 ? null : h$71("p", { className: "wb-stateBlockTitle" }, dot, title), resolving === void 0 ? null : h$71("p", { className: "wb-stateBlockResolving" }, resolving), hint === void 0 ? null : h$71("p", { className: "wb-stateBlockHint" }, hint), children, actions === void 0 ? null : h$71("div", { className: "wb-stateBlockActions" }, actions));
2302
+ return h$70("div", { className: "wb-stateBlock" }, title === void 0 && dot === void 0 ? null : h$70("p", { className: "wb-stateBlockTitle" }, dot, title), resolving === void 0 ? null : h$70("p", { className: "wb-stateBlockResolving" }, resolving), hint === void 0 ? null : h$70("p", { className: "wb-stateBlockHint" }, hint), children, actions === void 0 ? null : h$70("div", { className: "wb-stateBlockActions" }, actions));
2321
2303
  }
2322
2304
  //#endregion
2323
2305
  //#region ../shared/dist/components/icons.js
2324
2306
  function Shell({ size, strokeWidth = 1, viewBox = "0 0 16 16", children }) {
2325
- return h$71("svg", {
2307
+ return h$70("svg", {
2326
2308
  width: size,
2327
2309
  height: size,
2328
2310
  viewBox,
@@ -2339,10 +2321,10 @@ window.__ModuleLoader__.load({
2339
2321
  * @returns 一枚 `aria-hidden` 的 svg。
2340
2322
  */
2341
2323
  function IconConversation({ size = 16 }) {
2342
- return h$71(Shell, {
2324
+ return h$70(Shell, {
2343
2325
  size,
2344
2326
  strokeWidth: 1.3
2345
- }, h$71("path", {
2327
+ }, h$70("path", {
2346
2328
  d: "M2.5 7.2c0-2.3 2.1-4.2 4.8-4.2h1.4c2.7 0 4.8 1.9 4.8 4.2s-2.1 4.2-4.8 4.2H7.5l-3.2 2v-2.3c-1.1-.8-1.8-2-1.8-3.9Z",
2347
2329
  stroke: "currentColor",
2348
2330
  strokeLinejoin: "round"
@@ -2357,30 +2339,30 @@ window.__ModuleLoader__.load({
2357
2339
  * @returns 一枚 `aria-hidden` 的 svg。
2358
2340
  */
2359
2341
  function IconBrandMark({ size = 24 }) {
2360
- return h$71(Shell, {
2342
+ return h$70(Shell, {
2361
2343
  size,
2362
2344
  viewBox: "0 0 64 64"
2363
- }, h$71("path", {
2345
+ }, h$70("path", {
2364
2346
  d: BRAND_FRAME,
2365
2347
  fill: "currentColor",
2366
2348
  fillRule: "evenodd"
2367
- }), h$71("rect", {
2349
+ }), h$70("rect", {
2368
2350
  x: 27.5,
2369
2351
  y: 48,
2370
2352
  width: 9,
2371
2353
  height: 4.75,
2372
2354
  fill: "currentColor"
2373
- }), h$71("rect", {
2355
+ }), h$70("rect", {
2374
2356
  x: 19,
2375
2357
  y: 52.75,
2376
2358
  width: 26,
2377
2359
  height: 4.75,
2378
2360
  rx: 2.375,
2379
2361
  fill: "currentColor"
2380
- }), h$71("g", { transform: BRAND_TAIL_TRANSFORM }, h$71("path", {
2362
+ }), h$70("g", { transform: BRAND_TAIL_TRANSFORM }, h$70("path", {
2381
2363
  d: BRAND_TAIL,
2382
2364
  fill: "currentColor"
2383
- }), h$71("circle", {
2365
+ }), h$70("circle", {
2384
2366
  cx: 6.885,
2385
2367
  cy: 13.742,
2386
2368
  r: 1.95,
@@ -2393,30 +2375,30 @@ window.__ModuleLoader__.load({
2393
2375
  * @returns 一枚 `aria-hidden` 的 svg。
2394
2376
  */
2395
2377
  function IconOpencli({ size = 16 }) {
2396
- return h$71(Shell, {
2378
+ return h$70(Shell, {
2397
2379
  size,
2398
2380
  viewBox: "0 0 64 64"
2399
- }, h$71("defs", null, h$71("linearGradient", {
2381
+ }, h$70("defs", null, h$70("linearGradient", {
2400
2382
  id: "opencli-mark",
2401
2383
  x1: "0%",
2402
2384
  y1: "0%",
2403
2385
  x2: "100%",
2404
2386
  y2: "100%"
2405
- }, h$71("stop", {
2387
+ }, h$70("stop", {
2406
2388
  offset: "0%",
2407
2389
  stopColor: "#00e5a0"
2408
- }), h$71("stop", {
2390
+ }), h$70("stop", {
2409
2391
  offset: "50%",
2410
2392
  stopColor: "#00b4d8"
2411
- }), h$71("stop", {
2393
+ }), h$70("stop", {
2412
2394
  offset: "100%",
2413
2395
  stopColor: "#7b61ff"
2414
- }))), h$71("rect", {
2396
+ }))), h$70("rect", {
2415
2397
  width: 64,
2416
2398
  height: 64,
2417
2399
  rx: 14,
2418
2400
  fill: "#0a0a0f"
2419
- }), h$71("text", {
2401
+ }), h$70("text", {
2420
2402
  x: "50%",
2421
2403
  y: "54%",
2422
2404
  dominantBaseline: "middle",
@@ -2433,10 +2415,10 @@ window.__ModuleLoader__.load({
2433
2415
  * @returns 一枚 `aria-hidden` 的 svg。
2434
2416
  */
2435
2417
  function IconNpm({ size = 16 }) {
2436
- return h$71(Shell, {
2418
+ return h$70(Shell, {
2437
2419
  size,
2438
2420
  viewBox: "0 0 1024 1024"
2439
- }, h$71("path", {
2421
+ }, h$70("path", {
2440
2422
  d: "M64 337.76h896v298.72H512v49.792H312.896v-49.824H64z m49.792 248.928h99.552v-149.376h49.76v149.344h49.792v-199.104H113.792z m248.896-199.136v248.928h99.552v-49.792h99.552v-199.136z m99.552 49.792H512v99.584h-49.792z m149.344-49.792v199.136h99.552v-149.376h49.792v149.344h49.792v-149.344h49.792v149.344h49.792v-199.104z",
2441
2423
  fill: "#CB3837"
2442
2424
  }));
@@ -2447,37 +2429,37 @@ window.__ModuleLoader__.load({
2447
2429
  * @returns 一枚 `aria-hidden` 的 svg。
2448
2430
  */
2449
2431
  function IconModuleMark({ size = 16 }) {
2450
- return h$71(Shell, {
2432
+ return h$70(Shell, {
2451
2433
  size,
2452
2434
  viewBox: "0 0 24 24"
2453
- }, h$71("defs", null, h$71("linearGradient", {
2435
+ }, h$70("defs", null, h$70("linearGradient", {
2454
2436
  id: "workbench-module-mark",
2455
2437
  x1: "0%",
2456
2438
  y1: "0%",
2457
2439
  x2: "100%",
2458
2440
  y2: "100%"
2459
- }, h$71("stop", {
2441
+ }, h$70("stop", {
2460
2442
  offset: "0%",
2461
2443
  stopColor: "#3b82f6"
2462
- }), h$71("stop", {
2444
+ }), h$70("stop", {
2463
2445
  offset: "55%",
2464
2446
  stopColor: "#8b5cf6"
2465
- }), h$71("stop", {
2447
+ }), h$70("stop", {
2466
2448
  offset: "100%",
2467
2449
  stopColor: "#14b8a6"
2468
- }))), h$71("rect", {
2450
+ }))), h$70("rect", {
2469
2451
  width: 24,
2470
2452
  height: 24,
2471
2453
  rx: 7,
2472
2454
  fill: "url(#workbench-module-mark)"
2473
- }), h$71("rect", {
2455
+ }), h$70("rect", {
2474
2456
  x: "4.6",
2475
2457
  y: "4.6",
2476
2458
  width: "6.2",
2477
2459
  height: "6.2",
2478
2460
  rx: "1.9",
2479
2461
  fill: "#ffffff"
2480
- }), h$71("rect", {
2462
+ }), h$70("rect", {
2481
2463
  x: "13.2",
2482
2464
  y: "4.6",
2483
2465
  width: "6.2",
@@ -2485,7 +2467,7 @@ window.__ModuleLoader__.load({
2485
2467
  rx: "1.9",
2486
2468
  fill: "#ffffff",
2487
2469
  fillOpacity: .78
2488
- }), h$71("rect", {
2470
+ }), h$70("rect", {
2489
2471
  x: "4.6",
2490
2472
  y: "13.2",
2491
2473
  width: "6.2",
@@ -2493,7 +2475,7 @@ window.__ModuleLoader__.load({
2493
2475
  rx: "1.9",
2494
2476
  fill: "#ffffff",
2495
2477
  fillOpacity: .78
2496
- }), h$71("rect", {
2478
+ }), h$70("rect", {
2497
2479
  x: "13.2",
2498
2480
  y: "13.2",
2499
2481
  width: "6.2",
@@ -2508,7 +2490,7 @@ window.__ModuleLoader__.load({
2508
2490
  * @returns 一枚 `aria-hidden` 的 svg。
2509
2491
  */
2510
2492
  function IconPanelScreen({ size = 16 }) {
2511
- return h$71("svg", {
2493
+ return h$70("svg", {
2512
2494
  width: size,
2513
2495
  height: size,
2514
2496
  viewBox: "0 0 1024 1024",
@@ -2519,7 +2501,7 @@ window.__ModuleLoader__.load({
2519
2501
  display: "block",
2520
2502
  overflow: "hidden"
2521
2503
  }
2522
- }, h$71("path", { d: "M939 112c17.673 0 32 14.327 32 32v554.667c0 17.673-14.327 32-32 32l-394.5-0.001v96c0 3.74-0.642 7.331-1.82 10.668H768.4c17.673 0 32 14.326 32 32 0 17.496-14.042 31.712-31.47 31.995l-0.53 0.004H256.6c-17.673 0-32-14.327-32-32 0-17.496 14.042-31.713 31.47-31.995l0.53-0.005h225.721a31.923 31.923 0 0 1-1.817-10.137l-0.004-0.53v-96H86c-17.496 0-31.713-14.041-31.996-31.47l-0.004-0.53V144c0-17.673 14.327-32 32-32z m-32 64H118v490.666h789V176zM341.9 432c17.496 0 31.713 14.042 31.996 31.47l0.004 0.53v85.333c0 17.673-14.327 32-32 32-17.496 0-31.713-14.041-31.996-31.47l-0.004-0.53V464c0-17.673 14.327-32 32-32z m170.6-85.333c17.496 0 31.713 14.041 31.996 31.47l0.004 0.53v170.666c0 17.673-14.327 32-32 32-17.496 0-31.713-14.041-31.996-31.47l-0.004-0.53V378.667c0-17.673 14.327-32 32-32z m170.6-85.334c17.496 0 31.713 14.042 31.996 31.471l0.004 0.53v256c0 17.672-14.327 32-32 32-17.496 0-31.713-14.042-31.996-31.471l-0.004-0.53v-256c0-17.673 14.327-32 32-32z" }));
2504
+ }, h$70("path", { d: "M939 112c17.673 0 32 14.327 32 32v554.667c0 17.673-14.327 32-32 32l-394.5-0.001v96c0 3.74-0.642 7.331-1.82 10.668H768.4c17.673 0 32 14.326 32 32 0 17.496-14.042 31.712-31.47 31.995l-0.53 0.004H256.6c-17.673 0-32-14.327-32-32 0-17.496 14.042-31.713 31.47-31.995l0.53-0.005h225.721a31.923 31.923 0 0 1-1.817-10.137l-0.004-0.53v-96H86c-17.496 0-31.713-14.041-31.996-31.47l-0.004-0.53V144c0-17.673 14.327-32 32-32z m-32 64H118v490.666h789V176zM341.9 432c17.496 0 31.713 14.042 31.996 31.47l0.004 0.53v85.333c0 17.673-14.327 32-32 32-17.496 0-31.713-14.041-31.996-31.47l-0.004-0.53V464c0-17.673 14.327-32 32-32z m170.6-85.333c17.496 0 31.713 14.041 31.996 31.47l0.004 0.53v170.666c0 17.673-14.327 32-32 32-17.496 0-31.713-14.041-31.996-31.47l-0.004-0.53V378.667c0-17.673 14.327-32 32-32z m170.6-85.334c17.496 0 31.713 14.042 31.996 31.471l0.004 0.53v256c0 17.672-14.327 32-32 32-17.496 0-31.713-14.042-31.996-31.471l-0.004-0.53v-256c0-17.673 14.327-32 32-32z" }));
2523
2505
  }
2524
2506
  //#endregion
2525
2507
  //#region ../shared/dist/config/storage.js
@@ -2827,7 +2809,7 @@ window.__ModuleLoader__.load({
2827
2809
  if (raw["docs"] !== void 0 && text(raw["docs"]) === "") errors.push(`${at}.docs 是空串`);
2828
2810
  if (kind === "lib") errors.push(...libRunsProblemsOf(raw["runs"], at));
2829
2811
  if (kind === "extension") {
2830
- if (text(raw["runtime"]) === "") errors.push(`${at}.runtime 没写 —— 扩展属于哪个运行时(如 opencli)`);
2812
+ if (text(raw["runtime"]) === "") errors.push(`${at}.runtime 没写 —— 扩展属于哪个运行时`);
2831
2813
  if (text(raw["name"]) === "") errors.push(`${at}.name 没写`);
2832
2814
  if (raw["commands"] !== void 0) {
2833
2815
  if (!Array.isArray(raw["commands"])) errors.push(`${at}.commands 要是数组`);
@@ -3084,7 +3066,11 @@ window.__ModuleLoader__.load({
3084
3066
  "time.short.years": "{n}y",
3085
3067
  "panels.title": "Panel modules",
3086
3068
  "panels.groupBoardless": "No-board modules",
3087
- "panels.groupPlugins": "opencli plugins",
3069
+ "panels.groupPlugins": "Plugins",
3070
+ "runtime.plugin": "plugin",
3071
+ "runtime.pluginOf": "a plugin the runtime provides",
3072
+ "runtime.pluginThing": "a plugin",
3073
+ "runtime.pluginArea": "the plugin area",
3088
3074
  "panels.market.defaultHint": "When on, it is on by default in every workspace; you can also turn it off for a single workspace in Panel setup.",
3089
3075
  "panels.market.defaultLabel": "On by default everywhere",
3090
3076
  "panels.market.defaultLocked": "Unusable right now — update or uninstall it first",
@@ -3162,9 +3148,6 @@ window.__ModuleLoader__.load({
3162
3148
  "panels.market.confirmNo": "Cancel",
3163
3149
  "panels.market.noMarketSource": "The index has no newer version of this module (refresh the index and retry)",
3164
3150
  "panels.market.failed": "Failed: {reason}",
3165
- "panels.market.askAgent": "Ask the agent",
3166
- "panels.market.askAgentCopied": "Copied",
3167
- "panels.market.askAgentText": "This workbench module cannot be used: \"{name}\" (unit {unit}) — {reason}. Work out what is missing and how to add it, then confirm it works.",
3168
3151
  "panels.market.failure.permission": "Didn't install: no write access",
3169
3152
  "panels.market.failure.diskFull": "Didn't install: the disk is full",
3170
3153
  "panels.market.failure.sandbox": "Didn't install: the system blocked it",
@@ -3204,7 +3187,7 @@ window.__ModuleLoader__.load({
3204
3187
  "panels.market.noSource": "This module declares no install method — install it yourself",
3205
3188
  "panels.market.badSource": "The install method is incomplete — install it yourself",
3206
3189
  "panels.market.empty": "No modules available",
3207
- "panels.market.sectionPlugins": "Installed opencli plugins",
3190
+ "panels.market.sectionPlugins": "Installed plugins",
3208
3191
  "panels.market.moduleOutdated": "update available",
3209
3192
  "panels.market.updateNeedsWorkbench": "this version needs a newer workbench first",
3210
3193
  "panels.market.updateIncompatible": "the new version does not match this workbench, so it cannot be installed now",
@@ -3242,7 +3225,7 @@ window.__ModuleLoader__.load({
3242
3225
  "panels.market.justNow": "just now",
3243
3226
  "panels.market.minutesAgo": "{n} min ago",
3244
3227
  "panels.market.hoursAgo": "{n} h ago",
3245
- "panels.market.add.description": "Enter a module or opencli plugin package name, Git repository URL, or local directory path.",
3228
+ "panels.market.add.description": "Enter a module or {plugin} package name, Git repository URL, or local directory path.",
3246
3229
  "panels.market.add.specPlaceholder": "e.g. @dsh-workbench/module-hello",
3247
3230
  "panels.market.add.guideToggle": "Install guide and examples",
3248
3231
  "panels.market.add.guideHide": "Hide guide",
@@ -3281,12 +3264,12 @@ window.__ModuleLoader__.load({
3281
3264
  "panels.market.add.problemInstalled": "This module is already installed (add @version to switch versions)",
3282
3265
  "panels.market.add.problemNotFound": "No such module found",
3283
3266
  "panels.market.add.problemNotPackage": "That path does not exist or is not a valid module package",
3284
- "panels.market.add.problemNotBundle": "This package cannot be installed here: {reason}. This entry recognises workbench modules and opencli plugins by package name, and installs either; but a git URL or a tarball does not reveal what it is — if it is really one of those two, use its package name or a local folder instead.",
3267
+ "panels.market.add.problemNotBundle": "This package cannot be installed here: {reason}. This entry recognises workbench modules and {plugin}s by package name, and installs either; but a git URL or a tarball does not reveal what it is — if it is really one of those two, use its package name or a local folder instead.",
3285
3268
  "panels.market.add.problemNotWorkbenchModule": "This package does not match the workbench you are running, so installing it would not work. Pick another version, or ask the module author.",
3286
- "panels.market.add.problemNotModuleOrPlugin": "This package is neither a workbench module nor an opencli plugin, so installing it would do nothing. Pick another version, or ask the package author.",
3287
- "panels.market.add.failureNotModuleOrPlugin": "This package is neither a workbench module nor an opencli plugin, so installing it would do nothing",
3288
- "panels.market.add.installedPlugin": "Installed: the opencli plugin {name}",
3289
- "panels.market.add.pluginPreview": "This is an opencli plugin: it goes into the opencli plugin area and works as soon as it is installed — no restart.",
3269
+ "panels.market.add.problemNotModuleOrPlugin": "This package is neither a workbench module nor {pluginOf}, so installing it would do nothing. Pick another version, or ask the package author.",
3270
+ "panels.market.add.failureNotModuleOrPlugin": "This package is neither a workbench module nor {pluginOf}, so installing it would do nothing",
3271
+ "panels.market.add.installedPlugin": "Installed: {plugin} {name}",
3272
+ "panels.market.add.pluginPreview": "This is {pluginThing}: it goes into {pluginArea} and works as soon as it is installed — no restart.",
3290
3273
  "panels.market.add.pluginAlias": "Plugin name: {name}",
3291
3274
  "panels.market.add.problemNetwork": "Cannot reach the module source; check the network and retry",
3292
3275
  "panels.market.add.problemUnknown": "Cannot fetch module information: {reason}",
@@ -3376,6 +3359,7 @@ window.__ModuleLoader__.load({
3376
3359
  "panels.discover.noSourceHint": "Add a module market index (http address or git repository) to browse and install its modules here",
3377
3360
  "panels.discover.sourcesFailed": "Could not read the index sources.",
3378
3361
  "panels.discover.unreadable": "Could not read this index.",
3362
+ "panels.discover.sandbox": "Blocked by the system: this profile does not allow the workbench to write its own cache directory.",
3379
3363
  "panels.discover.sourceAuth": "This index source could not be read: this machine has no git credentials for it. Set up credentials (or switch the source to its SSH address), then refresh.",
3380
3364
  "panels.discover.invalid": "This index is not in a valid format.",
3381
3365
  "panels.discover.emptyRepo": "This repository has no commits yet.",
@@ -3562,7 +3546,7 @@ window.__ModuleLoader__.load({
3562
3546
  "blocker.forbidden.hint": "You are signed in, but this project/repo is not permitted for your account.",
3563
3547
  "blocker.forbidden.open": "Open permissions page",
3564
3548
  "blocker.timeout.hint": "The background browser may not have started; retrying usually helps.",
3565
- "blocker.exec.hint": "Make sure opencli is installed and runs from your terminal (which opencli).",
3549
+ "blocker.exec.hint": "Make sure the runtime is installed and runs from your terminal.",
3566
3550
  "blocker.unknown.title": "Something went wrong",
3567
3551
  "panels.reading": "Reading the panel setup…",
3568
3552
  "panels.cardBroken": "This module will not render: {unit} ({reason})",
@@ -3572,6 +3556,7 @@ window.__ModuleLoader__.load({
3572
3556
  "env.title": "Preparing the workbench",
3573
3557
  "env.checking": "Getting the runtime ready…",
3574
3558
  "env.installing": "Installing background tools — the first run takes a moment…",
3559
+ "env.installingToolchain": "Installing the workbench’s own npm / pnpm — the first run downloads them, so it can take a while.",
3575
3560
  "env.failed": "One step away",
3576
3561
  "env.elapsed": "Waiting {seconds}s",
3577
3562
  "env.stepFailed.install": "install failed",
@@ -3579,16 +3564,11 @@ window.__ModuleLoader__.load({
3579
3564
  "env.stepFailed.shell": "cannot reach the command line",
3580
3565
  "env.toolchain.ok": "Looks good",
3581
3566
  "env.toolchain.warn": "Almost ready",
3582
- "env.opencli.ok": "Ready",
3567
+ "env.runtime.ok": "Ready",
3583
3568
  "env.bridge.ok": "Connected",
3584
3569
  "env.bridge.short": "Not connected yet",
3585
3570
  "env.bridge.why": "Panel data uses the login state in your browser. Without this connection, modules cannot fetch data. It does not block startup: fix it, or enter the workbench first.",
3586
3571
  "env.bridge.hold": "The browser is not connected yet — fix it below and hit Retry, or enter the workbench first.",
3587
- "env.bridge.daemon": "The background service is not running. It usually starts by itself — run the command below in your terminal first.",
3588
- "env.bridge.extension": "The browser extension is not connected. Make sure the browser is running and the extension is enabled; install it once from the store if needed (then hit Retry here).",
3589
- "env.bridge.extensionLink": "Get the extension in the Chrome Web Store",
3590
- "env.bridge.profile": "Several browser accounts are connected but none is the default: list them (command below), then pick one.",
3591
- "env.bridge.stale": "The default browser account is stale (it names an extension instance that no longer exists): pick one again.",
3592
3572
  "env.bridge.unknown": "Could not tell what went wrong. Expand the raw output and follow the steps in it.",
3593
3573
  "env.fix.title": "How to fix it",
3594
3574
  "env.fix.why": "The workbench uses its own background tool (installed separately from the one in your terminal), and it is not set up on this machine yet.",
@@ -3617,13 +3597,14 @@ window.__ModuleLoader__.load({
3617
3597
  "env.diy.continue": "Enter the workbench anyway",
3618
3598
  "env.copyCommand": "Copy command",
3619
3599
  "env.copied": "Copied",
3620
- "env.step.toolchain": "Runtime",
3621
- "env.step.opencli": "Background tools",
3622
- "env.step.bridge": "Browser connection",
3623
- "env.step.diy": "DIY mode",
3624
- "env.step.warm": "Site sign-in",
3600
+ "env.step.toolchain": "Check the environment",
3601
+ "env.step.adapter": "Check the runtime",
3602
+ "env.step.runtime": "Install background tools",
3603
+ "env.step.bridge": "Connect your browser",
3604
+ "env.step.diy": "Check DIY mode",
3605
+ "env.step.warm": "Reach your sites",
3625
3606
  "env.warm.done": "Ready ({n} sites)",
3626
- "env.warm.short": "Could not sign in early this time — nothing breaks; the first read fills it in",
3607
+ "env.warm.short": "Could not reach your sites early this time — nothing breaks; the first read fills it in",
3627
3608
  "env.unit.failed": "This module cannot start",
3628
3609
  "env.unit.failedHint": "It failed while starting up; other modules are unaffected.",
3629
3610
  "env.unit.unchecked": "Cannot check: no command line",
@@ -3832,7 +3813,11 @@ window.__ModuleLoader__.load({
3832
3813
  "time.short.years": "{n}年",
3833
3814
  "panels.title": "面板模块",
3834
3815
  "panels.groupBoardless": "无看板模块",
3835
- "panels.groupPlugins": "opencli 插件",
3816
+ "panels.groupPlugins": "插件",
3817
+ "runtime.plugin": "插件",
3818
+ "runtime.pluginOf": "运行时提供的插件",
3819
+ "runtime.pluginThing": "插件",
3820
+ "runtime.pluginArea": "插件区",
3836
3821
  "panels.market.defaultHint": "打开后所有工作区默认开启,也可在工作区面板配置中单独关闭",
3837
3822
  "panels.market.defaultLabel": "全局默认开启",
3838
3823
  "panels.market.defaultLocked": "这份现在用不了,先更新或卸载",
@@ -3910,9 +3895,6 @@ window.__ModuleLoader__.load({
3910
3895
  "panels.market.confirmNo": "取消",
3911
3896
  "panels.market.noMarketSource": "索引里没有这个模块的新版本(刷新一次索引再试)",
3912
3897
  "panels.market.failed": "没成功:{reason}",
3913
- "panels.market.askAgent": "问 agent",
3914
- "panels.market.askAgentCopied": "已复制",
3915
- "panels.market.askAgentText": "工作台里「{name}」(单元 {unit})用不了:{reason}。帮我查清缺什么、怎么补,补完确认真能用。",
3916
3898
  "panels.market.failure.permission": "没装上:没有写入权限",
3917
3899
  "panels.market.failure.diskFull": "没装上:磁盘满了",
3918
3900
  "panels.market.failure.sandbox": "没装上:被系统拦住了",
@@ -3952,7 +3934,7 @@ window.__ModuleLoader__.load({
3952
3934
  "panels.market.noSource": "这个模块没声明怎么装,只能自己动手",
3953
3935
  "panels.market.badSource": "安装方式没写全,只能自己动手",
3954
3936
  "panels.market.empty": "暂无可用模块",
3955
- "panels.market.sectionPlugins": "已安装 opencli 插件",
3937
+ "panels.market.sectionPlugins": "已安装的插件",
3956
3938
  "panels.market.moduleOutdated": "有新版",
3957
3939
  "panels.market.updateNeedsWorkbench": "新版本要先把工作台升级才能用",
3958
3940
  "panels.market.updateIncompatible": "新版本和当前的工作台不匹配,暂时不能更新",
@@ -3990,7 +3972,7 @@ window.__ModuleLoader__.load({
3990
3972
  "panels.market.justNow": "刚刚",
3991
3973
  "panels.market.minutesAgo": "{n} 分钟前",
3992
3974
  "panels.market.hoursAgo": "{n} 小时前",
3993
- "panels.market.add.description": "输入模块或 opencli 插件的包名、Git 仓库地址或本地目录路径。",
3975
+ "panels.market.add.description": "输入模块或 {plugin}的包名、Git 仓库地址或本地目录路径。",
3994
3976
  "panels.market.add.specPlaceholder": "例如 @dsh-workbench/module-hello",
3995
3977
  "panels.market.add.guideToggle": "模块安装引导和示例",
3996
3978
  "panels.market.add.guideHide": "收起引导",
@@ -4029,12 +4011,12 @@ window.__ModuleLoader__.load({
4029
4011
  "panels.market.add.problemInstalled": "这个模块已经装过了(要换版本请带上 @版本)",
4030
4012
  "panels.market.add.problemNotFound": "未找到相关模块",
4031
4013
  "panels.market.add.problemNotPackage": "该路径不存在或不是有效的模块包",
4032
- "panels.market.add.problemNotBundle": "这个包装不进这里:{reason}。这个入口按包名认工作台模块和 opencli 插件,两种都能装;但 git 地址和 tarball 判断不出它是什么 —— 要是它其实是这两样之一,请改填包名或本地目录。",
4014
+ "panels.market.add.problemNotBundle": "这个包装不进这里:{reason}。这个入口按包名认工作台模块和 {plugin},两种都能装;但 git 地址和 tarball 判断不出它是什么 —— 要是它其实是这两样之一,请改填包名或本地目录。",
4033
4015
  "panels.market.add.problemNotWorkbenchModule": "这个包跟现在的工作台对不上,装上也用不了。换一个版本,或者找这个模块的作者。",
4034
- "panels.market.add.problemNotModuleOrPlugin": "这个包既不是工作台的模块,也不是 opencli 的插件,装了也用不上。换一个版本,或者找这个包的作者。",
4035
- "panels.market.add.failureNotModuleOrPlugin": "这个包既不是工作台的模块,也不是 opencli 的插件,装了也用不上",
4036
- "panels.market.add.installedPlugin": "装上了:opencli 插件 {name}",
4037
- "panels.market.add.pluginPreview": "这是一份 opencli 插件:装进 opencli 的插件区,装完就能用,不用重启。",
4016
+ "panels.market.add.problemNotModuleOrPlugin": "这个包既不是工作台的模块,也不是 {pluginOf},装了也用不上。换一个版本,或者找这个包的作者。",
4017
+ "panels.market.add.failureNotModuleOrPlugin": "这个包既不是工作台的模块,也不是 {pluginOf},装了也用不上",
4018
+ "panels.market.add.installedPlugin": "装上了:{plugin} {name}",
4019
+ "panels.market.add.pluginPreview": "这是一份 {pluginThing}:装进 {pluginArea},装完就能用,不用重启。",
4038
4020
  "panels.market.add.pluginAlias": "插件名:{name}",
4039
4021
  "panels.market.add.problemNetwork": "无法连接模块源,请检查网络后重试",
4040
4022
  "panels.market.add.problemUnknown": "无法获取模块信息:{reason}",
@@ -4124,6 +4106,7 @@ window.__ModuleLoader__.load({
4124
4106
  "panels.discover.noSourceHint": "添加一个模块市场索引(http 地址或 git 仓库),即可在这里浏览和安装其中的模块",
4125
4107
  "panels.discover.sourcesFailed": "无法读取索引源",
4126
4108
  "panels.discover.unreadable": "无法读取此索引",
4109
+ "panels.discover.sandbox": "被系统拦住了:这个 profile 的可写根盖不住工作台的缓存目录",
4127
4110
  "panels.discover.sourceAuth": "这个索引源读不了:本机没有它的 git 凭据。配好凭据(或在源里改用 SSH 地址),再点右上角的刷新。",
4128
4111
  "panels.discover.invalid": "此索引的格式无效",
4129
4112
  "panels.discover.emptyRepo": "这个仓库还没有任何提交",
@@ -4310,7 +4293,7 @@ window.__ModuleLoader__.load({
4310
4293
  "blocker.forbidden.hint": "账号已登录,但没有这个项目/仓库的权限;申请之后再试。",
4311
4294
  "blocker.forbidden.open": "打开权限页",
4312
4295
  "blocker.timeout.hint": "后台浏览器没起来,重试一次通常就好。",
4313
- "blocker.exec.hint": "确认 opencli 已经装好、在终端里能直接运行(which opencli)。",
4296
+ "blocker.exec.hint": "确认运行时已经装好、在终端里能直接跑起来。",
4314
4297
  "blocker.unknown.title": "出了点问题",
4315
4298
  "panels.reading": "正在读取面板配置…",
4316
4299
  "panels.cardBroken": "这个模块起不来:{unit}({reason})",
@@ -4320,6 +4303,7 @@ window.__ModuleLoader__.load({
4320
4303
  "env.title": "准备工作台",
4321
4304
  "env.checking": "正在准备运行环境…",
4322
4305
  "env.installing": "正在安装后台工具,第一次会慢一点…",
4306
+ "env.installingToolchain": "正在装工作台自己那份 npm / pnpm —— 第一次要下载,慢一点正常。",
4323
4307
  "env.failed": "还差一步就能用了",
4324
4308
  "env.elapsed": "已等待 {seconds} 秒",
4325
4309
  "env.stepFailed.install": "装不上",
@@ -4327,16 +4311,11 @@ window.__ModuleLoader__.load({
4327
4311
  "env.stepFailed.shell": "连不上命令行",
4328
4312
  "env.toolchain.ok": "正常",
4329
4313
  "env.toolchain.warn": "还没完全准备好",
4330
- "env.opencli.ok": "已就绪",
4314
+ "env.runtime.ok": "已就绪",
4331
4315
  "env.bridge.ok": "已连接",
4332
4316
  "env.bridge.short": "还没连上",
4333
4317
  "env.bridge.why": "面板的数据要用你浏览器里的登录状态。这个连接没通,模块就取不到数据;不拦路:修好它,或者先进入工作台。",
4334
4318
  "env.bridge.hold": "浏览器还没连上 —— 按下面修好后点「重试」,也可以先进工作台。",
4335
- "env.bridge.daemon": "后台服务没起来:正常它会自己起,先在终端跑下面这条命令。",
4336
- "env.bridge.extension": "浏览器扩展没连上:确认浏览器开着、扩展已启用;没装就从商店装一次(装完回来点「重试」)。",
4337
- "env.bridge.extensionLink": "去 Chrome 应用商店装扩展",
4338
- "env.bridge.profile": "连上了多个浏览器账号,但没选默认的那个:先看有哪些(下面这条命令),再选一个。",
4339
- "env.bridge.stale": "默认的浏览器账号已经失效(它记的是上一次的扩展实例):重新选一个。",
4340
4319
  "env.bridge.unknown": "没认出是哪种问题:展开原文,按里面的步骤处理。",
4341
4320
  "env.fix.title": "怎么解决",
4342
4321
  "env.fix.why": "工作台用它自己那份后台工具(与你在终端里那套分开装,互不影响),这台机器上还没装好它。",
@@ -4365,11 +4344,12 @@ window.__ModuleLoader__.load({
4365
4344
  "env.diy.continue": "先进入工作台",
4366
4345
  "env.copyCommand": "复制命令",
4367
4346
  "env.copied": "已复制",
4368
- "env.step.toolchain": "运行环境",
4369
- "env.step.opencli": "后台工具",
4370
- "env.step.bridge": "浏览器连接",
4371
- "env.step.diy": "DIY 模式",
4372
- "env.step.warm": "站点登录状态",
4347
+ "env.step.toolchain": "检查运行环境",
4348
+ "env.step.adapter": "检查运行时",
4349
+ "env.step.runtime": "安装后台工具",
4350
+ "env.step.bridge": "连接浏览器",
4351
+ "env.step.diy": "检查 DIY 模式",
4352
+ "env.step.warm": "连上站点",
4373
4353
  "env.warm.done": "已就绪({n} 个站点)",
4374
4354
  "env.warm.short": "这次没提前连上 —— 不影响用,第一次取数会自己补",
4375
4355
  "env.unit.failed": "这个模块起不来",
@@ -4563,6 +4543,30 @@ window.__ModuleLoader__.load({
4563
4543
  };
4564
4544
  }
4565
4545
  //#endregion
4546
+ //#region ../shared/dist/i18n/runtime-terms.js
4547
+ /**
4548
+ * 把适配器给的 zh / en 两份文案落到当前语言。
4549
+ * @param text 适配器档案里的那段话。
4550
+ * @param resolve dsh 的语言解析器;没有就取中文那份。
4551
+ * @returns 当前语言的那一段。
4552
+ */
4553
+ function resolveRuntimeText(text, resolve) {
4554
+ return resolve === void 0 ? text.zh : resolve(text);
4555
+ }
4556
+ /**
4557
+ * 取当前语言的运行时术语(没给档案时的兜底)。
4558
+ * @param t 文案函数。
4559
+ * @returns `plugin` / `pluginOf` / `pluginThing` / `pluginArea` 四个名词短语。
4560
+ */
4561
+ function runtimeTermsOf$1(t) {
4562
+ return {
4563
+ plugin: t("runtime.plugin"),
4564
+ pluginOf: t("runtime.pluginOf"),
4565
+ pluginThing: t("runtime.pluginThing"),
4566
+ pluginArea: t("runtime.pluginArea")
4567
+ };
4568
+ }
4569
+ //#endregion
4566
4570
  //#region ../shared/dist/lib/market-index.js
4567
4571
  var BRANCH = /^[A-Za-z0-9][A-Za-z0-9._/-]*$/;
4568
4572
  function marketBranchOk(value) {
@@ -5008,14 +5012,14 @@ window.__ModuleLoader__.load({
5008
5012
  epoch$1 += 1;
5009
5013
  }
5010
5014
  var current$1 = null;
5011
- var listeners$8 = /* @__PURE__ */ new Set();
5015
+ var listeners$9 = /* @__PURE__ */ new Set();
5012
5016
  function capabilityValue() {
5013
5017
  return current$1;
5014
5018
  }
5015
5019
  function subscribeCapabilities(listener) {
5016
- listeners$8.add(listener);
5020
+ listeners$9.add(listener);
5017
5021
  return () => {
5018
- listeners$8.delete(listener);
5022
+ listeners$9.delete(listener);
5019
5023
  };
5020
5024
  }
5021
5025
  function setCapabilities(next, rechecked = false) {
@@ -5028,7 +5032,7 @@ window.__ModuleLoader__.load({
5028
5032
  });
5029
5033
  if (next === current$1) return;
5030
5034
  current$1 = next;
5031
- for (const listener of [...listeners$8]) listener();
5035
+ for (const listener of [...listeners$9]) listener();
5032
5036
  }
5033
5037
  function beginProbe() {
5034
5038
  probing += 1;
@@ -5156,7 +5160,7 @@ window.__ModuleLoader__.load({
5156
5160
  //#endregion
5157
5161
  //#region src/app/layouts/panel-hint.ts
5158
5162
  var hints = /* @__PURE__ */ new Map();
5159
- var listeners$7 = /* @__PURE__ */ new Set();
5163
+ var listeners$8 = /* @__PURE__ */ new Set();
5160
5164
  function sameHint(left, right) {
5161
5165
  if (left === null || right === null) return left === right;
5162
5166
  if (left.labelKey !== right.labelKey || left.tone !== right.tone) return false;
@@ -5168,15 +5172,15 @@ window.__ModuleLoader__.load({
5168
5172
  if (sameHint(hints.get(id) ?? null, hint)) return;
5169
5173
  if (hint === null) hints.delete(id);
5170
5174
  else hints.set(id, hint);
5171
- for (const listener of [...listeners$7]) listener();
5175
+ for (const listener of [...listeners$8]) listener();
5172
5176
  }
5173
5177
  function panelHintOf(id) {
5174
5178
  return id === null ? null : hints.get(id) ?? null;
5175
5179
  }
5176
5180
  function subscribePanelHints(listener) {
5177
- listeners$7.add(listener);
5181
+ listeners$8.add(listener);
5178
5182
  return () => {
5179
- listeners$7.delete(listener);
5183
+ listeners$8.delete(listener);
5180
5184
  };
5181
5185
  }
5182
5186
  function usePanelHint(id) {
@@ -5417,13 +5421,6 @@ window.__ModuleLoader__.load({
5417
5421
  function marketSwitchLocked(row) {
5418
5422
  return SWITCH_LOCKED.has(row.state);
5419
5423
  }
5420
- function marketAsksAgent(row) {
5421
- if (row.workbench === true || row.plugin === true) return false;
5422
- if (row.state === "installed" || row.state === "inactive" || row.state === "outdated") return false;
5423
- if (row.state === "checking" || row.state === "pending-restart") return false;
5424
- if (row.state === "pending-followup") return false;
5425
- return !marketActions$1(row).includes("install");
5426
- }
5427
5424
  function marketActions$1(row) {
5428
5425
  if (row.workbench === true) {
5429
5426
  if (row.followUp !== void 0 && row.state === "pending-followup") return row.followUp.hard ? ["migrate-workbench"] : ["migrate-workbench", "dismiss-followup"];
@@ -5844,7 +5841,7 @@ window.__ModuleLoader__.load({
5844
5841
  }
5845
5842
  //#endregion
5846
5843
  //#region src/app/layouts/rightbar/market-busy.ts
5847
- var listeners$6 = /* @__PURE__ */ new Set();
5844
+ var listeners$7 = /* @__PURE__ */ new Set();
5848
5845
  var published = /* @__PURE__ */ new Map();
5849
5846
  var live$2 = /* @__PURE__ */ new Set();
5850
5847
  var timer$3;
@@ -5860,9 +5857,9 @@ window.__ModuleLoader__.load({
5860
5857
  refresh$1(now);
5861
5858
  }
5862
5859
  function subscribeMarketBusy(listener) {
5863
- listeners$6.add(listener);
5860
+ listeners$7.add(listener);
5864
5861
  return () => {
5865
- listeners$6.delete(listener);
5862
+ listeners$7.delete(listener);
5866
5863
  };
5867
5864
  }
5868
5865
  function useMarketBusy() {
@@ -5891,7 +5888,7 @@ window.__ModuleLoader__.load({
5891
5888
  const next = new Set(published.keys());
5892
5889
  if (!sameSet(live$2, next)) {
5893
5890
  live$2 = next;
5894
- for (const listener of [...listeners$6]) listener();
5891
+ for (const listener of [...listeners$7]) listener();
5895
5892
  }
5896
5893
  schedule$2(now);
5897
5894
  }
@@ -5904,7 +5901,7 @@ window.__ModuleLoader__.load({
5904
5901
  };
5905
5902
  var tokens = /* @__PURE__ */ new Set();
5906
5903
  var applied = /* @__PURE__ */ new Map();
5907
- var listeners$5 = /* @__PURE__ */ new Set();
5904
+ var listeners$6 = /* @__PURE__ */ new Set();
5908
5905
  var snapshot$1 = IDLE$2;
5909
5906
  var timer$2;
5910
5907
  function sameUnits(left, right) {
@@ -5928,7 +5925,7 @@ window.__ModuleLoader__.load({
5928
5925
  };
5929
5926
  if (next.installing !== snapshot$1.installing || !sameUnits(next.applied, snapshot$1.applied)) {
5930
5927
  snapshot$1 = next;
5931
- for (const listener of [...listeners$5]) listener();
5928
+ for (const listener of [...listeners$6]) listener();
5932
5929
  }
5933
5930
  schedule$1(now);
5934
5931
  }
@@ -5936,9 +5933,9 @@ window.__ModuleLoader__.load({
5936
5933
  return snapshot$1;
5937
5934
  }
5938
5935
  function subscribeMarketInstall(listener) {
5939
- listeners$5.add(listener);
5936
+ listeners$6.add(listener);
5940
5937
  return () => {
5941
- listeners$5.delete(listener);
5938
+ listeners$6.delete(listener);
5942
5939
  };
5943
5940
  }
5944
5941
  function publishMarketInstalling(token, active) {
@@ -6196,138 +6193,138 @@ window.__ModuleLoader__.load({
6196
6193
  };
6197
6194
  }
6198
6195
  var MarketPage_module_default = {
6199
- marketList: "_marketList_1vpw3_1",
6200
- marketRow: "_marketRow_1vpw3_10",
6201
- marketIcon: "_marketIcon_1vpw3_20",
6202
- marketMain: "_marketMain_1vpw3_32",
6203
- marketName: "_marketName_1vpw3_39",
6204
- marketStatus: "_marketStatus_1vpw3_48",
6205
- marketStateText: "_marketStateText_1vpw3_58",
6206
- marketSep: "_marketSep_1vpw3_62",
6207
- marketReason: "_marketReason_1vpw3_66",
6208
- marketVersion: "_marketVersion_1vpw3_72",
6209
- marketLocalTag: "_marketLocalTag_1vpw3_94",
6210
- marketEnd: "_marketEnd_1vpw3_105",
6211
- marketSwitchSeat: "_marketSwitchSeat_1vpw3_112",
6212
- marketActions: "_marketActions_1vpw3_125",
6213
- marketUpdateAction: "_marketUpdateAction_1vpw3_131",
6214
- marketSelfDivider: "_marketSelfDivider_1vpw3_137",
6215
- marketSection: "_marketSection_1vpw3_143",
6216
- marketSectionHead: "_marketSectionHead_1vpw3_150",
6217
- marketSectionIcon: "_marketSectionIcon_1vpw3_156",
6218
- marketSectionTitle: "_marketSectionTitle_1vpw3_163",
6219
- marketSectionCount: "_marketSectionCount_1vpw3_169",
6220
- marketSectionAction: "_marketSectionAction_1vpw3_175",
6221
- marketSectionQuiet: "_marketSectionQuiet_1vpw3_183",
6222
- marketProgress: "_marketProgress_1vpw3_195",
6223
- marketNote: "_marketNote_1vpw3_205",
6224
- marketFailure: "_marketFailure_1vpw3_212",
6225
- marketFailureSeat: "_marketFailureSeat_1vpw3_219",
6226
- marketEmpty: "_marketEmpty_1vpw3_224",
6227
- marketPage: "_marketPage_1vpw3_229",
6228
- marketPageHead: "_marketPageHead_1vpw3_247",
6229
- marketPageTitle: "_marketPageTitle_1vpw3_255",
6230
- marketPageIntro: "_marketPageIntro_1vpw3_260",
6231
- marketPageTools: "_marketPageTools_1vpw3_266",
6232
- marketPanel: "_marketPanel_1vpw3_275",
6233
- marketTabs: "_marketTabs_1vpw3_285",
6234
- marketTabList: "_marketTabList_1vpw3_290",
6235
- marketAddButton: "_marketAddButton_1vpw3_295",
6236
- marketEmptyTitle: "_marketEmptyTitle_1vpw3_312",
6237
- discoverPage: "_discoverPage_1vpw3_317",
6238
- discoverBar: "_discoverBar_1vpw3_324",
6239
- discoverTools: "_discoverTools_1vpw3_331",
6240
- discoverMarket: "_discoverMarket_1vpw3_337",
6241
- discoverMarketButton: "_discoverMarketButton_1vpw3_342",
6242
- discoverMarketName: "_discoverMarketName_1vpw3_349",
6243
- discoverLabels: "_discoverLabels_1vpw3_355",
6244
- discoverSort: "_discoverSort_1vpw3_360",
6245
- discoverRefresh: "_discoverRefresh_1vpw3_365",
6246
- discoverSearch: "_discoverSearch_1vpw3_369",
6247
- discoverSearchField: "_discoverSearchField_1vpw3_377",
6248
- discoverSearchFieldFilled: "_discoverSearchFieldFilled_1vpw3_382",
6249
- discoverSearchClear: "_discoverSearchClear_1vpw3_391",
6250
- discoverChips: "_discoverChips_1vpw3_442",
6251
- discoverList: "_discoverList_1vpw3_449",
6252
- discoverCard: "_discoverCard_1vpw3_458",
6253
- discoverArtwork: "_discoverArtwork_1vpw3_472",
6254
- discoverArtworkImage: "_discoverArtworkImage_1vpw3_484",
6255
- discoverMain: "_discoverMain_1vpw3_488",
6256
- discoverTitleRow: "_discoverTitleRow_1vpw3_496",
6257
- discoverCardOpen: "_discoverCardOpen_1vpw3_504",
6258
- discoverStrong: "_discoverStrong_1vpw3_535",
6259
- discoverDesc: "_discoverDesc_1vpw3_541",
6260
- discoverMeta: "_discoverMeta_1vpw3_550",
6261
- discoverMuted: "_discoverMuted_1vpw3_557",
6262
- discoverEnd: "_discoverEnd_1vpw3_563",
6263
- discoverUpdateAction: "_discoverUpdateAction_1vpw3_572",
6264
- discoverBlocked: "_discoverBlocked_1vpw3_577",
6265
- discoverEmpty: "_discoverEmpty_1vpw3_582",
6266
- discoverEmptyTitle: "_discoverEmptyTitle_1vpw3_591",
6267
- discoverDetail: "_discoverDetail_1vpw3_601",
6268
- discoverCrumb: "_discoverCrumb_1vpw3_607",
6269
- discoverCrumbIcon: "_discoverCrumbIcon_1vpw3_630",
6270
- discoverDetailHead: "_discoverDetailHead_1vpw3_634",
6271
- discoverDetailTitle: "_discoverDetailTitle_1vpw3_640",
6272
- discoverDetailText: "_discoverDetailText_1vpw3_646",
6273
- discoverDetailPanel: "_discoverDetailPanel_1vpw3_653",
6274
- discoverDetailTabs: "_discoverDetailTabs_1vpw3_660",
6275
- discoverDetailTabList: "_discoverDetailTabList_1vpw3_665",
6276
- discoverDocBody: "_discoverDocBody_1vpw3_670",
6277
- discoverDocNotice: "_discoverDocNotice_1vpw3_675",
6278
- discoverSection: "_discoverSection_1vpw3_681",
6279
- discoverSectionTitle: "_discoverSectionTitle_1vpw3_688",
6280
- discoverFacts: "_discoverFacts_1vpw3_694",
6281
- discoverFactRow: "_discoverFactRow_1vpw3_699",
6282
- discoverFactKind: "_discoverFactKind_1vpw3_709",
6283
- discoverFactValue: "_discoverFactValue_1vpw3_715",
6284
- discoverCode: "_discoverCode_1vpw3_723",
6285
- discoverTags: "_discoverTags_1vpw3_732",
6286
- discoverLink: "_discoverLink_1vpw3_739",
6287
- discoverVersions: "_discoverVersions_1vpw3_749",
6288
- discoverVersionRow: "_discoverVersionRow_1vpw3_757",
6289
- discoverVersionName: "_discoverVersionName_1vpw3_765",
6290
- discoverError: "_discoverError_1vpw3_770",
6291
- discoverFailure: "_discoverFailure_1vpw3_779",
6292
- discoverLoading: "_discoverLoading_1vpw3_785",
6293
- discoverNotice: "_discoverNotice_1vpw3_794",
6294
- discoverMore: "_discoverMore_1vpw3_812",
6295
- discoverTransport: "_discoverTransport_1vpw3_816",
6296
- discoverTransportHead: "_discoverTransportHead_1vpw3_822",
6297
- discoverTransportTitle: "_discoverTransportTitle_1vpw3_829",
6298
- discoverTransportKind: "_discoverTransportKind_1vpw3_834",
6299
- discoverTransportState: "_discoverTransportState_1vpw3_839",
6300
- discoverTransportRows: "_discoverTransportRows_1vpw3_847",
6301
- discoverTransportRow: "_discoverTransportRow_1vpw3_847",
6302
- discoverTransportRadio: "_discoverTransportRadio_1vpw3_868",
6303
- discoverTransportCustom: "_discoverTransportCustom_1vpw3_908",
6304
- discoverTransportInput: "_discoverTransportInput_1vpw3_914",
6305
- discoverInstallBar: "_discoverInstallBar_1vpw3_919",
6306
- discoverInstallText: "_discoverInstallText_1vpw3_930",
6307
- discoverDialog: "_discoverDialog_1vpw3_936",
6308
- discoverDialogBody: "_discoverDialogBody_1vpw3_940",
6309
- discoverSourceList: "_discoverSourceList_1vpw3_946",
6310
- discoverSourceRow: "_discoverSourceRow_1vpw3_954",
6311
- discoverSourceConfirm: "_discoverSourceConfirm_1vpw3_963",
6312
- discoverSourcePick: "_discoverSourcePick_1vpw3_969",
6313
- discoverSourceRadio: "_discoverSourceRadio_1vpw3_978",
6314
- discoverSourceMain: "_discoverSourceMain_1vpw3_986",
6315
- discoverSourceHead: "_discoverSourceHead_1vpw3_994",
6316
- discoverSourceUrl: "_discoverSourceUrl_1vpw3_1002",
6317
- discoverSourceMore: "_discoverSourceMore_1vpw3_1012",
6318
- discoverSourceLoading: "_discoverSourceLoading_1vpw3_1016",
6319
- discoverSourceHint: "_discoverSourceHint_1vpw3_1026",
6320
- discoverSourceError: "_discoverSourceError_1vpw3_1040",
6321
- discoverSourceForm: "_discoverSourceForm_1vpw3_1046",
6322
- discoverGrow: "_discoverGrow_1vpw3_1052",
6323
- discoverField: "_discoverField_1vpw3_1057",
6324
- discoverFieldLabel: "_discoverFieldLabel_1vpw3_1063",
6325
- discoverConfirmHead: "_discoverConfirmHead_1vpw3_1068",
6326
- discoverSkeletonFill: "_discoverSkeletonFill_1vpw3_1074",
6327
- "wb-skeleton": "_wb-skeleton_1vpw3_1",
6328
- discoverSkeletonBar: "_discoverSkeletonBar_1vpw3_1083",
6329
- discoverSkeletonTitle: "_discoverSkeletonTitle_1vpw3_1090",
6330
- discoverSkeletonDesc: "_discoverSkeletonDesc_1vpw3_1094"
6196
+ marketList: "_marketList_2or0c_1",
6197
+ marketRow: "_marketRow_2or0c_10",
6198
+ marketIcon: "_marketIcon_2or0c_20",
6199
+ marketMain: "_marketMain_2or0c_32",
6200
+ marketName: "_marketName_2or0c_39",
6201
+ marketStatus: "_marketStatus_2or0c_48",
6202
+ marketStateText: "_marketStateText_2or0c_58",
6203
+ marketSep: "_marketSep_2or0c_62",
6204
+ marketReason: "_marketReason_2or0c_66",
6205
+ marketVersion: "_marketVersion_2or0c_72",
6206
+ marketLocalTag: "_marketLocalTag_2or0c_94",
6207
+ marketEnd: "_marketEnd_2or0c_105",
6208
+ marketSwitchSeat: "_marketSwitchSeat_2or0c_112",
6209
+ marketActions: "_marketActions_2or0c_125",
6210
+ marketUpdateAction: "_marketUpdateAction_2or0c_131",
6211
+ marketSelfDivider: "_marketSelfDivider_2or0c_137",
6212
+ marketSection: "_marketSection_2or0c_143",
6213
+ marketSectionHead: "_marketSectionHead_2or0c_150",
6214
+ marketSectionIcon: "_marketSectionIcon_2or0c_156",
6215
+ marketSectionTitle: "_marketSectionTitle_2or0c_163",
6216
+ marketSectionCount: "_marketSectionCount_2or0c_169",
6217
+ marketSectionAction: "_marketSectionAction_2or0c_175",
6218
+ marketSectionQuiet: "_marketSectionQuiet_2or0c_183",
6219
+ marketProgress: "_marketProgress_2or0c_195",
6220
+ marketNote: "_marketNote_2or0c_205",
6221
+ marketFailure: "_marketFailure_2or0c_212",
6222
+ marketFailureSeat: "_marketFailureSeat_2or0c_219",
6223
+ marketEmpty: "_marketEmpty_2or0c_224",
6224
+ marketPage: "_marketPage_2or0c_229",
6225
+ marketPageHead: "_marketPageHead_2or0c_247",
6226
+ marketPageTitle: "_marketPageTitle_2or0c_255",
6227
+ marketPageIntro: "_marketPageIntro_2or0c_260",
6228
+ marketPageTools: "_marketPageTools_2or0c_266",
6229
+ marketPanel: "_marketPanel_2or0c_275",
6230
+ marketTabs: "_marketTabs_2or0c_285",
6231
+ marketTabList: "_marketTabList_2or0c_290",
6232
+ marketAddButton: "_marketAddButton_2or0c_295",
6233
+ marketEmptyTitle: "_marketEmptyTitle_2or0c_312",
6234
+ discoverPage: "_discoverPage_2or0c_317",
6235
+ discoverBar: "_discoverBar_2or0c_324",
6236
+ discoverTools: "_discoverTools_2or0c_331",
6237
+ discoverMarket: "_discoverMarket_2or0c_337",
6238
+ discoverMarketButton: "_discoverMarketButton_2or0c_342",
6239
+ discoverMarketName: "_discoverMarketName_2or0c_349",
6240
+ discoverLabels: "_discoverLabels_2or0c_355",
6241
+ discoverSort: "_discoverSort_2or0c_360",
6242
+ discoverRefresh: "_discoverRefresh_2or0c_365",
6243
+ discoverSearch: "_discoverSearch_2or0c_369",
6244
+ discoverSearchField: "_discoverSearchField_2or0c_377",
6245
+ discoverSearchFieldFilled: "_discoverSearchFieldFilled_2or0c_382",
6246
+ discoverSearchClear: "_discoverSearchClear_2or0c_391",
6247
+ discoverChips: "_discoverChips_2or0c_442",
6248
+ discoverList: "_discoverList_2or0c_449",
6249
+ discoverCard: "_discoverCard_2or0c_458",
6250
+ discoverArtwork: "_discoverArtwork_2or0c_472",
6251
+ discoverArtworkImage: "_discoverArtworkImage_2or0c_484",
6252
+ discoverMain: "_discoverMain_2or0c_488",
6253
+ discoverTitleRow: "_discoverTitleRow_2or0c_496",
6254
+ discoverCardOpen: "_discoverCardOpen_2or0c_504",
6255
+ discoverStrong: "_discoverStrong_2or0c_535",
6256
+ discoverDesc: "_discoverDesc_2or0c_541",
6257
+ discoverMeta: "_discoverMeta_2or0c_550",
6258
+ discoverMuted: "_discoverMuted_2or0c_557",
6259
+ discoverEnd: "_discoverEnd_2or0c_563",
6260
+ discoverUpdateAction: "_discoverUpdateAction_2or0c_572",
6261
+ discoverBlocked: "_discoverBlocked_2or0c_577",
6262
+ discoverEmpty: "_discoverEmpty_2or0c_582",
6263
+ discoverEmptyTitle: "_discoverEmptyTitle_2or0c_591",
6264
+ discoverDetail: "_discoverDetail_2or0c_601",
6265
+ discoverCrumb: "_discoverCrumb_2or0c_607",
6266
+ discoverCrumbIcon: "_discoverCrumbIcon_2or0c_630",
6267
+ discoverDetailHead: "_discoverDetailHead_2or0c_634",
6268
+ discoverDetailTitle: "_discoverDetailTitle_2or0c_640",
6269
+ discoverDetailText: "_discoverDetailText_2or0c_646",
6270
+ discoverDetailPanel: "_discoverDetailPanel_2or0c_653",
6271
+ discoverDetailTabs: "_discoverDetailTabs_2or0c_660",
6272
+ discoverDetailTabList: "_discoverDetailTabList_2or0c_665",
6273
+ discoverDocBody: "_discoverDocBody_2or0c_670",
6274
+ discoverDocNotice: "_discoverDocNotice_2or0c_675",
6275
+ discoverSection: "_discoverSection_2or0c_681",
6276
+ discoverSectionTitle: "_discoverSectionTitle_2or0c_688",
6277
+ discoverFacts: "_discoverFacts_2or0c_694",
6278
+ discoverFactRow: "_discoverFactRow_2or0c_699",
6279
+ discoverFactKind: "_discoverFactKind_2or0c_709",
6280
+ discoverFactValue: "_discoverFactValue_2or0c_715",
6281
+ discoverCode: "_discoverCode_2or0c_723",
6282
+ discoverTags: "_discoverTags_2or0c_732",
6283
+ discoverLink: "_discoverLink_2or0c_739",
6284
+ discoverVersions: "_discoverVersions_2or0c_749",
6285
+ discoverVersionRow: "_discoverVersionRow_2or0c_757",
6286
+ discoverVersionName: "_discoverVersionName_2or0c_765",
6287
+ discoverError: "_discoverError_2or0c_770",
6288
+ discoverFailure: "_discoverFailure_2or0c_780",
6289
+ discoverLoading: "_discoverLoading_2or0c_786",
6290
+ discoverNotice: "_discoverNotice_2or0c_795",
6291
+ discoverMore: "_discoverMore_2or0c_813",
6292
+ discoverTransport: "_discoverTransport_2or0c_817",
6293
+ discoverTransportHead: "_discoverTransportHead_2or0c_823",
6294
+ discoverTransportTitle: "_discoverTransportTitle_2or0c_830",
6295
+ discoverTransportKind: "_discoverTransportKind_2or0c_835",
6296
+ discoverTransportState: "_discoverTransportState_2or0c_840",
6297
+ discoverTransportRows: "_discoverTransportRows_2or0c_848",
6298
+ discoverTransportRow: "_discoverTransportRow_2or0c_848",
6299
+ discoverTransportRadio: "_discoverTransportRadio_2or0c_869",
6300
+ discoverTransportCustom: "_discoverTransportCustom_2or0c_909",
6301
+ discoverTransportInput: "_discoverTransportInput_2or0c_915",
6302
+ discoverInstallBar: "_discoverInstallBar_2or0c_920",
6303
+ discoverInstallText: "_discoverInstallText_2or0c_931",
6304
+ discoverDialog: "_discoverDialog_2or0c_937",
6305
+ discoverDialogBody: "_discoverDialogBody_2or0c_941",
6306
+ discoverSourceList: "_discoverSourceList_2or0c_947",
6307
+ discoverSourceRow: "_discoverSourceRow_2or0c_955",
6308
+ discoverSourceConfirm: "_discoverSourceConfirm_2or0c_964",
6309
+ discoverSourcePick: "_discoverSourcePick_2or0c_970",
6310
+ discoverSourceRadio: "_discoverSourceRadio_2or0c_979",
6311
+ discoverSourceMain: "_discoverSourceMain_2or0c_987",
6312
+ discoverSourceHead: "_discoverSourceHead_2or0c_995",
6313
+ discoverSourceUrl: "_discoverSourceUrl_2or0c_1003",
6314
+ discoverSourceMore: "_discoverSourceMore_2or0c_1013",
6315
+ discoverSourceLoading: "_discoverSourceLoading_2or0c_1017",
6316
+ discoverSourceHint: "_discoverSourceHint_2or0c_1027",
6317
+ discoverSourceError: "_discoverSourceError_2or0c_1041",
6318
+ discoverSourceForm: "_discoverSourceForm_2or0c_1047",
6319
+ discoverGrow: "_discoverGrow_2or0c_1053",
6320
+ discoverField: "_discoverField_2or0c_1058",
6321
+ discoverFieldLabel: "_discoverFieldLabel_2or0c_1064",
6322
+ discoverConfirmHead: "_discoverConfirmHead_2or0c_1069",
6323
+ discoverSkeletonFill: "_discoverSkeletonFill_2or0c_1075",
6324
+ "wb-skeleton": "_wb-skeleton_2or0c_1",
6325
+ discoverSkeletonBar: "_discoverSkeletonBar_2or0c_1084",
6326
+ discoverSkeletonTitle: "_discoverSkeletonTitle_2or0c_1091",
6327
+ discoverSkeletonDesc: "_discoverSkeletonDesc_2or0c_1095"
6331
6328
  };
6332
6329
  //#endregion
6333
6330
  //#region src/app/layouts/market/discover-states.tsx
@@ -6418,7 +6415,7 @@ window.__ModuleLoader__.load({
6418
6415
  };
6419
6416
  //#endregion
6420
6417
  //#region src/app/layouts/rightbar/FailureCard.tsx
6421
- var COPIED_MS$1 = 1200;
6418
+ var COPIED_MS = 1200;
6422
6419
  function terminalLabels(t) {
6423
6420
  return {
6424
6421
  commandLine: (line) => t("panels.market.failure.term.commandLine", { line }),
@@ -6445,7 +6442,7 @@ window.__ModuleLoader__.load({
6445
6442
  (0, _deepseek_ai_dsh_client_ui_primitives.writeClipboard)(model.fix).then((ok) => {
6446
6443
  if (!ok) return;
6447
6444
  setCopied(true);
6448
- setTimeout(() => setCopied(false), COPIED_MS$1);
6445
+ setTimeout(() => setCopied(false), COPIED_MS);
6449
6446
  });
6450
6447
  }, [model.fix]);
6451
6448
  return /* @__PURE__ */ (0, react.createElement)("div", { className: FailureCard_module_default.block }, /* @__PURE__ */ (0, react.createElement)("div", { className: FailureCard_module_default.head }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
@@ -6641,6 +6638,7 @@ window.__ModuleLoader__.load({
6641
6638
  "migrate-workbench": "panels.market.migrateAction",
6642
6639
  "dismiss-followup": "panels.market.dismissFollowUp"
6643
6640
  };
6641
+ var UPDATE_ACTIONS = Object.keys(ACTION_LABEL_KEY).filter((action) => ACTION_LABEL_KEY[action] === "panels.market.update");
6644
6642
  function holdOf(pending, application) {
6645
6643
  if (pending === null || pending.row === void 0) return void 0;
6646
6644
  if (application !== "applied") return void 0;
@@ -6738,18 +6736,6 @@ window.__ModuleLoader__.load({
6738
6736
  ...pending.version === void 0 ? {} : { version: { installed: pending.version } }
6739
6737
  };
6740
6738
  }
6741
- function askAgentReason(row, t) {
6742
- if (row.hint !== void 0) return t(row.hint);
6743
- if (row.note !== void 0) return t(row.note.key, row.note.params);
6744
- return t(MARKET_STATE_KEY[row.state]);
6745
- }
6746
- function askAgentText(row, t) {
6747
- return t("panels.market.askAgentText", {
6748
- name: marketRowTitle(row, t),
6749
- unit: row.id,
6750
- reason: askAgentReason(row, t)
6751
- });
6752
- }
6753
6739
  //#endregion
6754
6740
  //#region src/app/layouts/rightbar/SharedSection.tsx
6755
6741
  function SharedLine({ t, row, pending, failure, onAct, onRecheck, rechecking }) {
@@ -6818,37 +6804,13 @@ window.__ModuleLoader__.load({
6818
6804
  });
6819
6805
  }
6820
6806
  //#endregion
6821
- //#region src/app/layouts/rightbar/AskAgentButton.tsx
6822
- var COPIED_MS = 1200;
6823
- function AskAgentButton({ t, text, label }) {
6824
- const [copied, setCopied] = (0, react.useState)(false);
6825
- const onCopy = (0, react.useCallback)(() => {
6826
- (0, _deepseek_ai_dsh_client_ui_primitives.writeClipboard)(text).then((ok) => {
6827
- if (!ok) return;
6828
- setCopied(true);
6829
- setTimeout(() => setCopied(false), COPIED_MS);
6830
- });
6831
- }, [text]);
6832
- return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
6833
- type: "button",
6834
- size: "sm",
6835
- variant: "ghost",
6836
- onClick: onCopy
6837
- }, copied ? t("panels.market.askAgentCopied") : label);
6838
- }
6839
- //#endregion
6840
6807
  //#region src/app/layouts/rightbar/market-section.tsx
6841
6808
  var dangerActions = [
6842
6809
  "uninstall",
6843
6810
  "remove-bundle",
6844
6811
  "uninstall-plugin"
6845
6812
  ];
6846
- var updateActions = [
6847
- "update",
6848
- "update-bundle",
6849
- "update-plugin",
6850
- "update-workbench"
6851
- ];
6813
+ var updateActions = UPDATE_ACTIONS;
6852
6814
  function MigrationConfirm({ t, onConfirm, onCancel }) {
6853
6815
  const [acknowledged, setAcknowledged] = (0, react.useState)(false);
6854
6816
  return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.RiskConfirmation, {
@@ -6925,7 +6887,6 @@ window.__ModuleLoader__.load({
6925
6887
  const [dismissOpen, setDismissOpen] = (0, react.useState)(false);
6926
6888
  const quiet = row.workbench === true && row.state === "installed" && row.hint === void 0;
6927
6889
  const actions = marketActions$1(row);
6928
- const asksAgent = marketAsksAgent(row);
6929
6890
  const switchLocked = marketSwitchLocked(row);
6930
6891
  return /* @__PURE__ */ (0, react.createElement)("li", { className: MarketPage_module_default.marketRow }, /* @__PURE__ */ (0, react.createElement)("span", {
6931
6892
  className: MarketPage_module_default.marketIcon,
@@ -6937,11 +6898,7 @@ window.__ModuleLoader__.load({
6937
6898
  t,
6938
6899
  row,
6939
6900
  quiet
6940
- })), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ (0, react.createElement)(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 && !asksAgent ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketActions }, asksAgent ? /* @__PURE__ */ (0, react.createElement)(AskAgentButton, {
6941
- t,
6942
- text: askAgentText(row, t),
6943
- label: t("panels.market.askAgent")
6944
- }) : null, actions.map((action) => {
6901
+ })), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ (0, react.createElement)(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => {
6945
6902
  const danger = dangerActions.includes(action);
6946
6903
  const update = updateActions.includes(action);
6947
6904
  return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
@@ -7611,7 +7568,7 @@ window.__ModuleLoader__.load({
7611
7568
  };
7612
7569
  var NO_ROWS = [];
7613
7570
  var NO_UNITS$1 = /* @__PURE__ */ new Set();
7614
- function MarketBody({ t, self, shown, pluginList, installedList, shared, pending, failed, notice, act, onConfirming, setDefault, boardBusy, checks, onRecheck, rechecking }) {
7571
+ function MarketBody({ t, self, shown, pluginList, installedList, shared, pending, failed, notice, act, onConfirming, setDefault, boardBusy, checks, onRecheck, rechecking, runtimePluginMarket }) {
7615
7572
  const failureOf = (id) => failed?.id === id ? failed : null;
7616
7573
  const foot = marketFootVisible(shown, installedList);
7617
7574
  const sections = marketSections(marketOrder([...shown, ...installedList], (row) => marketRowTitle(row, t)));
@@ -7662,7 +7619,7 @@ window.__ModuleLoader__.load({
7662
7619
  onConfirming,
7663
7620
  onRecheck,
7664
7621
  rechecking
7665
- }), /* @__PURE__ */ (0, react.createElement)(MarketSection, {
7622
+ }), runtimePluginMarket === false ? null : /* @__PURE__ */ (0, react.createElement)(MarketSection, {
7666
7623
  t,
7667
7624
  titleKey: "panels.market.sectionPlugins",
7668
7625
  icon: marketSectionIcon("plugins"),
@@ -7743,7 +7700,7 @@ window.__ModuleLoader__.load({
7743
7700
  })
7744
7701
  };
7745
7702
  }
7746
- function MarketView({ t, titleOf, manifests, installable, capabilities, freshness, onChanged, onPending, updates, modulesCheck, pluginsCheck, onCheck, installed, installedRead, workbench, selfUpdate, plugins, settling, installing = false, mock, defaults = [], changed = {} }) {
7703
+ function MarketView({ t, titleOf, manifests, installable, capabilities, runtimePluginMarket, freshness, onChanged, onPending, updates, modulesCheck, pluginsCheck, onCheck, installed, installedRead, workbench, selfUpdate, plugins, settling, installing = false, mock, defaults = [], changed = {} }) {
7747
7704
  const { pending, setPending, confirming, setConfirming, failed, setFailed, notice, setNotice } = useMarketTransient({
7748
7705
  mock,
7749
7706
  onPending
@@ -7844,6 +7801,7 @@ window.__ModuleLoader__.load({
7844
7801
  if (nothing) return /* @__PURE__ */ (0, react.createElement)(MarketEmpty, { t });
7845
7802
  return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)(MarketBody, {
7846
7803
  t,
7804
+ runtimePluginMarket,
7847
7805
  self,
7848
7806
  shown,
7849
7807
  pluginList,
@@ -7869,6 +7827,55 @@ window.__ModuleLoader__.load({
7869
7827
  }));
7870
7828
  }
7871
7829
  //#endregion
7830
+ //#region src/shared/hooks/runtime-queries.ts
7831
+ function readRuntimeCapabilities() {
7832
+ return apiGet("health");
7833
+ }
7834
+ //#endregion
7835
+ //#region src/shared/hooks/use-runtime-capabilities.ts
7836
+ var value;
7837
+ var profile;
7838
+ var started = false;
7839
+ var listeners$5 = /* @__PURE__ */ new Set();
7840
+ function publish$2(next, nextProfile) {
7841
+ value = next;
7842
+ profile = nextProfile;
7843
+ for (const listener of listeners$5) listener();
7844
+ }
7845
+ function pluginMarketOf(capabilities) {
7846
+ return capabilities?.pluginMarket !== false;
7847
+ }
7848
+ function runtimeProfileValue() {
7849
+ return profile;
7850
+ }
7851
+ async function load() {
7852
+ const answer = await readRuntimeCapabilities();
7853
+ if (answer.ok) publish$2(answer.capabilities, answer.runtimeProfile ?? void 0);
7854
+ else publish$2(void 0);
7855
+ }
7856
+ function useRuntimeCapabilities() {
7857
+ const [caps, setCaps] = (0, react.useState)(value);
7858
+ (0, react.useEffect)(() => {
7859
+ let alive = true;
7860
+ const listener = () => {
7861
+ if (alive) setCaps(value);
7862
+ };
7863
+ listeners$5.add(listener);
7864
+ if (value === void 0 && !started) {
7865
+ started = true;
7866
+ load().catch(() => {
7867
+ started = false;
7868
+ publish$2(void 0);
7869
+ });
7870
+ }
7871
+ return () => {
7872
+ alive = false;
7873
+ listeners$5.delete(listener);
7874
+ };
7875
+ }, []);
7876
+ return caps;
7877
+ }
7878
+ //#endregion
7872
7879
  //#region ../../node_modules/.pnpm/dayjs@1.11.23/node_modules/dayjs/plugin/localizedFormat.js
7873
7880
  var require_localizedFormat = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7874
7881
  (function(e, t) {
@@ -7962,6 +7969,10 @@ window.__ModuleLoader__.load({
7962
7969
  var import_localizedFormat = /* @__PURE__ */ __toESM(require_localizedFormat(), 1);
7963
7970
  require_zh_cn();
7964
7971
  import_dayjs_min.default.extend(import_localizedFormat.default);
7972
+ function localeNow() {
7973
+ if (typeof document === "undefined") return "zh";
7974
+ return document.documentElement.lang || navigator.language || "zh";
7975
+ }
7965
7976
  function displayTitleOf(entry, locale) {
7966
7977
  return marketText(entry.title, locale) || entry.name;
7967
7978
  }
@@ -9130,10 +9141,6 @@ window.__ModuleLoader__.load({
9130
9141
  }
9131
9142
  //#endregion
9132
9143
  //#region src/app/layouts/market/use-discover.ts
9133
- function localeNow() {
9134
- if (typeof document === "undefined") return "zh";
9135
- return document.documentElement.lang || navigator.language || "zh";
9136
- }
9137
9144
  var SHIPPED = [
9138
9145
  "applied",
9139
9146
  "restart-required",
@@ -9275,12 +9282,13 @@ window.__ModuleLoader__.load({
9275
9282
  const detailEntry = (0, react.useMemo)(() => entries.find((entry) => entry.name === detail) ?? null, [entries, detail]);
9276
9283
  const problem = (0, react.useMemo)(() => {
9277
9284
  if (payload?.problem === void 0 || payload.selected === null) return null;
9285
+ const detail = payload.problem.detail ?? (payload.problem.kind === "sandbox" ? t("panels.discover.sandbox") : "");
9278
9286
  return {
9279
9287
  id: payload.selected,
9280
9288
  kind: payload.problem.kind,
9281
- detail: payload.problem.detail ?? ""
9289
+ detail
9282
9290
  };
9283
- }, [payload]);
9291
+ }, [payload, t]);
9284
9292
  const selectedSource = (0, react.useMemo)(() => payload === null || payload.selected === null ? void 0 : payload.sources.find((source) => source.id === payload.selected), [payload]);
9285
9293
  const uninitialized = (0, react.useMemo)(() => {
9286
9294
  const kind = payload?.problem?.kind;
@@ -9526,6 +9534,11 @@ window.__ModuleLoader__.load({
9526
9534
  }
9527
9535
  //#endregion
9528
9536
  //#region src/app/layouts/market/DiscoverPanel.tsx
9537
+ function readFailureOf(d, t, failed) {
9538
+ if (d.loading || !failed) return null;
9539
+ if (d.problem?.kind === "sandbox") return d.problem.detail.trim() === "" ? t("panels.discover.sandbox") : d.problem.detail;
9540
+ return d.payload?.state === "invalid" ? t("panels.discover.invalid") : t("panels.discover.unreadable");
9541
+ }
9529
9542
  function DiscoverPanel({ t, active, onInstalled, onShowInstalled }) {
9530
9543
  const d = useDiscover(t, active, onInstalled);
9531
9544
  const marketLabel = d.selected === null ? "" : sourceLabelsOf(d.sources).get(d.selected) ?? "";
@@ -9572,7 +9585,7 @@ window.__ModuleLoader__.load({
9572
9585
  });
9573
9586
  else {
9574
9587
  const failed = d.payload.state === "invalid" || d.payload.state === "unreadable";
9575
- const readFailed = !d.loading && failed ? d.payload.state === "invalid" ? t("panels.discover.invalid") : t("panels.discover.unreadable") : null;
9588
+ const readFailed = readFailureOf(d, t, failed);
9576
9589
  const uninitialized = d.loading ? null : d.uninitialized;
9577
9590
  const retrying = d.loading && failed;
9578
9591
  const emptyText = unfiltered({
@@ -9833,6 +9846,14 @@ window.__ModuleLoader__.load({
9833
9846
  done: 1,
9834
9847
  ongoing: 0
9835
9848
  };
9849
+ var LIST_ORDER = {
9850
+ warning: 0,
9851
+ done: 1,
9852
+ ongoing: 2
9853
+ };
9854
+ function attentionListRank(attention) {
9855
+ return attention === null || attention === void 0 ? 3 : LIST_ORDER[attention.severity];
9856
+ }
9836
9857
  var SENTENCES = {
9837
9858
  warning: {
9838
9859
  one: "project.attention.warning.one",
@@ -10291,6 +10312,27 @@ window.__ModuleLoader__.load({
10291
10312
  checkPart
10292
10313
  };
10293
10314
  }
10315
+ //#endregion
10316
+ //#region src/shared/hooks/locale-text.ts
10317
+ var resolver;
10318
+ function setRuntimeTextResolver(next) {
10319
+ resolver = next;
10320
+ }
10321
+ function runtimeText(text) {
10322
+ return resolveRuntimeText(text, resolver);
10323
+ }
10324
+ //#endregion
10325
+ //#region src/shared/hooks/runtime-terms.ts
10326
+ function runtimeTermsOf(t) {
10327
+ const profile = runtimeProfileValue();
10328
+ if (profile === void 0) return runtimeTermsOf$1(t);
10329
+ return {
10330
+ plugin: runtimeText(profile.terms.plugin),
10331
+ pluginOf: runtimeText(profile.terms.pluginOf),
10332
+ pluginThing: runtimeText(profile.terms.pluginThing),
10333
+ pluginArea: runtimeText(profile.terms.pluginArea)
10334
+ };
10335
+ }
10294
10336
  var AddModule_module_default = {
10295
10337
  wide: "_wide_1lv8f_1",
10296
10338
  dialog: "_dialog_1lv8f_8",
@@ -10447,7 +10489,10 @@ window.__ModuleLoader__.load({
10447
10489
  })), state.problem === null ? null : /* @__PURE__ */ (0, react.createElement)("p", {
10448
10490
  className: AddModule_module_default.problem,
10449
10491
  role: "alert"
10450
- }, t(problemKey(state.problem.problem), { reason: state.problem.reason })), state.failure === null ? null : /* @__PURE__ */ (0, react.createElement)("p", {
10492
+ }, t(problemKey(state.problem.problem), {
10493
+ ...runtimeTermsOf(t),
10494
+ reason: state.problem.reason
10495
+ })), state.failure === null ? null : /* @__PURE__ */ (0, react.createElement)("p", {
10451
10496
  className: AddModule_module_default.problem,
10452
10497
  role: "alert"
10453
10498
  }, state.failure), /* @__PURE__ */ (0, react.createElement)("div", { className: AddModule_module_default.options }, /* @__PURE__ */ (0, react.createElement)("button", {
@@ -10510,7 +10555,7 @@ window.__ModuleLoader__.load({
10510
10555
  const source = preview.registry === "" ? t("panels.market.add.registryDefault") : preview.registry;
10511
10556
  const plugin = preview.kind === "plugin";
10512
10557
  const pluginName = plugin ? preview.pluginName : void 0;
10513
- return /* @__PURE__ */ (0, react.createElement)("div", { className: AddModule_module_default.body }, /* @__PURE__ */ (0, react.createElement)("div", { className: AddModule_module_default.subject }, /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectName }, preview.name), preview.version === "" ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, t("panels.market.add.installVersion", { version: preview.version })), pluginName === void 0 || pluginName === preview.name ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, t("panels.market.add.pluginAlias", { name: pluginName })), preview.description === "" ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectDesc }, preview.description), /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, source)), plugin ? /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.result }, t("panels.market.add.pluginPreview")) : null);
10558
+ return /* @__PURE__ */ (0, react.createElement)("div", { className: AddModule_module_default.body }, /* @__PURE__ */ (0, react.createElement)("div", { className: AddModule_module_default.subject }, /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectName }, preview.name), preview.version === "" ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, t("panels.market.add.installVersion", { version: preview.version })), pluginName === void 0 || pluginName === preview.name ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, t("panels.market.add.pluginAlias", { name: pluginName })), preview.description === "" ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectDesc }, preview.description), /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, source)), plugin ? /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.result }, t("panels.market.add.pluginPreview", runtimeTermsOf(t))) : null);
10514
10559
  }
10515
10560
  function AddModuleResult({ t, state }) {
10516
10561
  const outcome = state.outcome;
@@ -10536,7 +10581,10 @@ window.__ModuleLoader__.load({
10536
10581
  }) : /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconCheckCircleFillRegular, { size: 28 })), /* @__PURE__ */ (0, react.createElement)("h2", {
10537
10582
  className: AddModule_module_default.wizardTitle,
10538
10583
  role: kind === "failed" ? "alert" : "status"
10539
- }, kind === "failed" ? t("panels.market.add.failedTitle") : kind === "cancelled" ? t("panels.market.add.cancelledTitle") : t("panels.market.add.installedTitle"))), /* @__PURE__ */ (0, react.createElement)("div", { className: AddModule_module_default.subject }, /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectName }, outcome.module.pkg), name === outcome.module.pkg ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, name), outcome.module.version === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, t("panels.market.add.installVersion", { version: outcome.module.version }))), kind === "plugin" && plugin !== void 0 ? /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.result }, t("panels.market.add.installedPlugin", { name: plugin.name ?? plugin.pkg })) : kind === "failed" ? /* @__PURE__ */ (0, react.createElement)("p", {
10584
+ }, kind === "failed" ? t("panels.market.add.failedTitle") : kind === "cancelled" ? t("panels.market.add.cancelledTitle") : t("panels.market.add.installedTitle"))), /* @__PURE__ */ (0, react.createElement)("div", { className: AddModule_module_default.subject }, /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectName }, outcome.module.pkg), name === outcome.module.pkg ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, name), outcome.module.version === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.subjectMeta }, t("panels.market.add.installVersion", { version: outcome.module.version }))), kind === "plugin" && plugin !== void 0 ? /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.result }, t("panels.market.add.installedPlugin", {
10585
+ ...runtimeTermsOf(t),
10586
+ name: plugin.name ?? plugin.pkg
10587
+ })) : kind === "failed" ? /* @__PURE__ */ (0, react.createElement)("p", {
10540
10588
  className: AddModule_module_default.resultWarn,
10541
10589
  role: "alert"
10542
10590
  }, t("panels.market.add.failed", { reason })) : kind === "restart" ? /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.resultWarn }, t("panels.market.add.doneRestart")), why === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.resultMeta }, why)) : kind === "quiet" ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.result }, t("panels.market.add.tookEffect")), builds.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)("div", { className: AddModule_module_default.approval }, /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.approvalTitle }, t("panels.market.add.approveTitle")), /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.approvalText }, t("panels.market.add.approveHint", { packages: builds.join("、") })), /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.approvalCaution }, t("panels.market.add.approveCaution"))), supply === void 0 || outcome.supply.state !== "failed" && (kind === "failed" || kind === "cancelled") ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: supplyTone(outcome.supply.state) }, t(supply, { reason: outcome.supply.reason ?? "" })), state.failure === null ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.problem }, state.failure), outcome.change.errorDetail === void 0 ? null : /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.detailLabel }, t("panels.market.add.details")), /* @__PURE__ */ (0, react.createElement)("p", { className: AddModule_module_default.detail }, outcome.change.errorDetail)));
@@ -10875,7 +10923,7 @@ window.__ModuleLoader__.load({
10875
10923
  if (!installing) onClose();
10876
10924
  },
10877
10925
  title: t("panels.market.add.title"),
10878
- description: t("panels.market.add.description"),
10926
+ description: t("panels.market.add.description", runtimeTermsOf(t)),
10879
10927
  closeLabel: t("panels.market.add.close"),
10880
10928
  className: AddModule_module_default.dialog,
10881
10929
  contentClassName: AddModule_module_default.content,
@@ -10950,6 +10998,7 @@ window.__ModuleLoader__.load({
10950
10998
  const { modules, plugins, workbench, selfUpdate, checking: versionsChecking, allChecking: versionsAllChecking, modulesCheck, pluginsCheck, read: installedRead, reload: reloadVersions } = useModuleVersions();
10951
10999
  const machineBoard = useEnabledUnits(0, null);
10952
11000
  const install = useMarketInstallState();
11001
+ const runtimeCapabilities = useRuntimeCapabilities();
10953
11002
  const [adding, setAdding] = (0, react.useState)(false);
10954
11003
  const [acting, setActing] = (0, react.useState)(false);
10955
11004
  const [tab, setTab] = (0, react.useState)("installed");
@@ -11001,6 +11050,7 @@ window.__ModuleLoader__.load({
11001
11050
  manifests,
11002
11051
  installable,
11003
11052
  capabilities,
11053
+ runtimePluginMarket: pluginMarketOf(runtimeCapabilities),
11004
11054
  freshness: shownFreshness,
11005
11055
  onChanged: reload,
11006
11056
  onPending: setActing,
@@ -11830,7 +11880,13 @@ window.__ModuleLoader__.load({
11830
11880
  const value = snapshot.phase === "ready" ? snapshot.value : void 0;
11831
11881
  const failure = (0, react.useMemo)(() => {
11832
11882
  if (snapshot.phase !== "error") return null;
11833
- const blocker = blockerOfError(snapshot.error, t);
11883
+ const diagnose = runtimeProfileValue()?.diagnose;
11884
+ const resolved = diagnose === void 0 ? void 0 : {
11885
+ exec: diagnose.exec === void 0 ? void 0 : runtimeText(diagnose.exec),
11886
+ login: diagnose.login === void 0 ? void 0 : runtimeText(diagnose.login),
11887
+ bridge: diagnose.bridge === void 0 ? void 0 : runtimeText(diagnose.bridge)
11888
+ };
11889
+ const blocker = blockerOfError(snapshot.error, t, { diagnose: resolved });
11834
11890
  return blocker.hint === void 0 ? {
11835
11891
  ...blocker,
11836
11892
  hint: t("configSync.readHint")
@@ -12616,29 +12672,38 @@ window.__ModuleLoader__.load({
12616
12672
  if (step.status === "failed") return failedStepText(snapshot.guidance, t);
12617
12673
  if (step.status === "pending" || step.status === "running") return "";
12618
12674
  if (step.id === "toolchain") return step.status === "ok" ? t("env.toolchain.ok") : t("env.toolchain.warn");
12619
- if (step.id === "opencli") return step.status === "ok" ? t("env.opencli.ok") : "";
12675
+ if (step.id === "cli") return step.status === "ok" ? t("env.runtime.ok") : "";
12620
12676
  if (step.id === "bridge") return step.status === "ok" ? t("env.bridge.ok") : t("env.bridge.short");
12621
12677
  if (step.id === "diy") return step.status === "ok" ? t("env.diy.ok") : t("env.diy.short");
12622
12678
  if (step.id === "warm") return step.status === "ok" ? t("env.warm.done", { n: step.detail ?? "0" }) : t("env.warm.short");
12623
12679
  return "";
12624
12680
  }
12681
+ function gateHintOf(snapshot, t) {
12682
+ if (snapshot.phase === "failed") return t("env.failed");
12683
+ if (snapshot.phase === "installing") return snapshot.steps.some((step) => step.id === "toolchain" && step.status === "running") ? t("env.installingToolchain") : t("env.installing");
12684
+ if (snapshot.phase === "ready") {
12685
+ if ((snapshot.bridgeIssues?.length ?? 0) > 0) return t("env.bridge.hold");
12686
+ if (snapshot.diyGap !== void 0) return t("env.diy.hold");
12687
+ }
12688
+ return t("env.checking");
12689
+ }
12625
12690
  function showsRawDetails(snapshot) {
12626
12691
  if (snapshot.phase === "failed") return true;
12627
12692
  return snapshot.steps.some((step) => step.status === "warn" || step.status === "failed");
12628
12693
  }
12629
- var OPENCLI_EXTENSION_URL = "https://chromewebstore.google.com/detail/opencli/ildkmabpimmkaediidaifkhjpohdnifk";
12630
- function bridgeAdvice(issue) {
12631
- if (issue === "daemon") return { textKey: "env.bridge.daemon" };
12632
- if (issue === "extension") return {
12633
- textKey: "env.bridge.extension",
12634
- link: {
12635
- labelKey: "env.bridge.extensionLink",
12636
- href: OPENCLI_EXTENSION_URL
12637
- }
12694
+ function showsRawAll(snapshot, panelShown) {
12695
+ return !panelShown && showsRawDetails(snapshot);
12696
+ }
12697
+ function bridgeAdvice(issue, t, fixes) {
12698
+ const fix = fixes?.[issue];
12699
+ if (fix !== void 0) return {
12700
+ text: runtimeText(fix.text),
12701
+ ...fix.link === void 0 ? {} : { link: {
12702
+ label: runtimeText(fix.link.label),
12703
+ href: fix.link.href
12704
+ } }
12638
12705
  };
12639
- if (issue === "profile") return { textKey: "env.bridge.profile" };
12640
- if (issue === "stale") return { textKey: "env.bridge.stale" };
12641
- return { textKey: "env.bridge.unknown" };
12706
+ return { text: t("env.bridge.unknown") };
12642
12707
  }
12643
12708
  //#endregion
12644
12709
  //#region src/app/layouts/env-gate/gate-deadline.ts
@@ -12712,9 +12777,11 @@ window.__ModuleLoader__.load({
12712
12777
  //#region src/app/layouts/env-gate/boot-gate.ts
12713
12778
  var POLL_MS = 400;
12714
12779
  var GIVE_UP_MS = 12e4;
12715
- function stepLabel$1(id, t) {
12780
+ function stepLabel$1(step, t) {
12781
+ const id = step.id;
12716
12782
  if (id === "toolchain") return t("env.step.toolchain");
12717
- if (id === "opencli") return t("env.step.opencli");
12783
+ if (id === "runtime") return step.label ?? t("env.step.adapter");
12784
+ if (id === "cli") return t("env.step.runtime");
12718
12785
  if (id === "warm") return t("env.step.warm");
12719
12786
  if (id === "diy") return t("env.step.diy");
12720
12787
  return t("env.step.bridge");
@@ -12857,14 +12924,15 @@ window.__ModuleLoader__.load({
12857
12924
  if (root !== null) root.inert = true;
12858
12925
  let closed = false;
12859
12926
  let timer;
12860
- let installingSince = null;
12927
+ let waitingSince = null;
12861
12928
  let ticker;
12862
12929
  function startElapsed() {
12863
- if (installingSince === null) installingSince = Date.now();
12930
+ if (waitingSince === null) waitingSince = Date.now();
12864
12931
  if (ticker !== void 0) return;
12865
12932
  const paint = () => {
12866
- const seconds = Math.max(0, Math.round((Date.now() - (installingSince ?? Date.now())) / 1e3));
12933
+ const seconds = Math.max(0, Math.floor((Date.now() - (waitingSince ?? Date.now())) / 1e3));
12867
12934
  elapsed.textContent = t("env.elapsed", { seconds });
12935
+ progressRow.hidden = seconds < 1;
12868
12936
  };
12869
12937
  paint();
12870
12938
  ticker = setInterval(paint, 500);
@@ -12872,8 +12940,9 @@ window.__ModuleLoader__.load({
12872
12940
  function stopElapsed() {
12873
12941
  if (ticker !== void 0) clearInterval(ticker);
12874
12942
  ticker = void 0;
12875
- installingSince = null;
12943
+ waitingSince = null;
12876
12944
  elapsed.textContent = "";
12945
+ progressRow.hidden = true;
12877
12946
  }
12878
12947
  let cancelled = false;
12879
12948
  const forcePlan = createForcePlan();
@@ -12903,13 +12972,13 @@ window.__ModuleLoader__.load({
12903
12972
  detail: el("span", BootGate_module_default.detail),
12904
12973
  status: ""
12905
12974
  };
12906
- item.append(mark, el("span", BootGate_module_default.label, stepLabel$1(step.id, t)), row.detail);
12975
+ item.append(mark, el("span", BootGate_module_default.label, stepLabel$1(step, t)), row.detail);
12907
12976
  rows.set(step.id, row);
12908
12977
  return row;
12909
12978
  }
12910
12979
  function render(snapshot) {
12911
12980
  wakeNote.hidden = true;
12912
- hint.textContent = snapshot.phase === "installing" ? t("env.installing") : snapshot.phase === "failed" ? t("env.failed") : gateActionOf(snapshot) === "hold" ? (snapshot.bridgeIssues?.length ?? 0) > 0 ? t("env.bridge.hold") : t("env.diy.hold") : t("env.checking");
12981
+ hint.textContent = gateHintOf(snapshot, t);
12913
12982
  const items = snapshot.steps.map((step) => {
12914
12983
  const row = ensureRow(step);
12915
12984
  row.item.dataset.status = step.status;
@@ -12929,12 +12998,10 @@ window.__ModuleLoader__.load({
12929
12998
  }
12930
12999
  const rawLines = snapshot.steps.flatMap((step) => {
12931
13000
  const detail = step.detail ?? "";
12932
- return detail === "" ? [] : [`${stepLabel$1(step.id, t)}: ${detail}`];
13001
+ return detail === "" ? [] : [`${stepLabel$1(step, t)}: ${detail}`];
12933
13002
  });
12934
13003
  rawAllBody.textContent = rawLines.join("\n");
12935
- rawAll.hidden = !showsRawDetails(snapshot) || rawLines.length === 0;
12936
- progressRow.hidden = snapshot.phase !== "installing";
12937
- if (snapshot.phase === "installing") startElapsed();
13004
+ if (snapshot.phase !== "ready" && snapshot.phase !== "failed") startElapsed();
12938
13005
  else stopElapsed();
12939
13006
  const failed = snapshot.phase === "failed";
12940
13007
  actions.hidden = !failed;
@@ -12958,12 +13025,12 @@ window.__ModuleLoader__.load({
12958
13025
  if (bridgeBroken) {
12959
13026
  const listed = bridgeIssues.length === 0 ? ["unknown"] : bridgeIssues;
12960
13027
  bridgeLines.replaceChildren(...listed.map((issue) => {
12961
- const advice = bridgeAdvice(issue);
12962
- const item = el("li", BootGate_module_default.bridgeLine, t(advice.textKey));
13028
+ const advice = bridgeAdvice(issue, t, runtimeProfileValue()?.bridge);
13029
+ const item = el("li", BootGate_module_default.bridgeLine, advice.text);
12963
13030
  if (advice.link !== void 0) {
12964
13031
  const link = document.createElement("a");
12965
13032
  link.className = BootGate_module_default.link;
12966
- link.textContent = t(advice.link.labelKey);
13033
+ link.textContent = advice.link.label;
12967
13034
  link.href = advice.link.href;
12968
13035
  link.target = "_blank";
12969
13036
  link.rel = "noreferrer noopener";
@@ -12987,6 +13054,8 @@ window.__ModuleLoader__.load({
12987
13054
  diyRawText.textContent = gap.detail;
12988
13055
  diyRaw.hidden = gap.detail === "";
12989
13056
  }
13057
+ const panelShown = !actions.hidden || !bridge.hidden || !diy.hidden;
13058
+ rawAll.hidden = !showsRawAll(snapshot, panelShown) || rawLines.length === 0;
12990
13059
  }
12991
13060
  async function poll() {
12992
13061
  if (cancelled) return;
@@ -13462,8 +13531,8 @@ window.__ModuleLoader__.load({
13462
13531
  function pluginToolIndexOf(manifests) {
13463
13532
  const index = /* @__PURE__ */ new Map();
13464
13533
  for (const manifest of manifests) for (const tool of manifest.tools) {
13465
- if (tool.opencli === void 0) continue;
13466
- index.set(tool.name, tool.opencli);
13534
+ if (tool.runtime === void 0) continue;
13535
+ index.set(tool.name, tool.runtime);
13467
13536
  }
13468
13537
  return index;
13469
13538
  }
@@ -15517,31 +15586,43 @@ window.__ModuleLoader__.load({
15517
15586
  }
15518
15587
  //#endregion
15519
15588
  //#region src/app/layouts/sidebar/workspace-groups.ts
15520
- function workspaceSections(items, headings) {
15589
+ var STATEFUL_SECTION_ORDER = [
15590
+ "workshop",
15591
+ "defaultWorkspace",
15592
+ "workspaces"
15593
+ ];
15594
+ function workspaceSections(items, headings, options = {}) {
15521
15595
  const workspaces = [];
15522
15596
  const defaults = [];
15523
15597
  const workshop = [];
15524
15598
  for (const item of items) if (isWorkshopPath(item.path)) workshop.push(item);
15525
15599
  else if (item.title === "default-workspace") defaults.push(item);
15526
15600
  else workspaces.push(item);
15601
+ const rankOf = options.rankOf;
15602
+ const ordered = (rows) => rankOf === void 0 ? rows : [...rows].sort((left, right) => (rankOf(left) ?? Number.POSITIVE_INFINITY) - (rankOf(right) ?? Number.POSITIVE_INFINITY));
15527
15603
  const special = defaults.length > 0 || workshop.length > 0;
15528
15604
  const sections = [];
15529
15605
  if (workspaces.length > 0) sections.push({
15530
15606
  id: "workspaces",
15531
15607
  heading: special ? headings.workspaces : null,
15532
- items: workspaces
15608
+ items: ordered(workspaces)
15533
15609
  });
15534
15610
  if (defaults.length > 0) sections.push({
15535
15611
  id: "defaultWorkspace",
15536
15612
  heading: headings.defaultWorkspace,
15537
- items: defaults
15613
+ items: ordered(defaults)
15538
15614
  });
15539
15615
  if (workshop.length > 0) sections.push({
15540
15616
  id: "workshop",
15541
15617
  heading: headings.workshop,
15542
- items: workshop
15618
+ items: ordered(workshop)
15543
15619
  });
15544
- return sections;
15620
+ if (rankOf === void 0) return sections;
15621
+ const sectionRank = (section) => Math.min(...section.items.map((item) => rankOf(item) ?? Number.POSITIVE_INFINITY));
15622
+ const priorityOf = (section) => STATEFUL_SECTION_ORDER.indexOf(section.id);
15623
+ const stateful = sections.filter((section) => sectionRank(section) !== Number.POSITIVE_INFINITY);
15624
+ const idle = sections.filter((section) => sectionRank(section) === Number.POSITIVE_INFINITY);
15625
+ return [...[...stateful].sort((left, right) => sectionRank(left) - sectionRank(right) || priorityOf(left) - priorityOf(right)), ...idle];
15545
15626
  }
15546
15627
  //#endregion
15547
15628
  //#region src/app/layouts/sidebar/WorkspaceRowAction.tsx
@@ -15627,7 +15708,14 @@ window.__ModuleLoader__.load({
15627
15708
  workspaces: t("project.group.workspaces"),
15628
15709
  defaultWorkspace: t("project.group.defaultWorkspace"),
15629
15710
  workshop: t("project.group.workshop")
15630
- }), [items, t]);
15711
+ }, { rankOf: (workspace) => {
15712
+ const own = attention.byWorkspace.get(workspace.workspaceId);
15713
+ return own === void 0 ? null : attentionListRank(own);
15714
+ } }), [
15715
+ items,
15716
+ attention.byWorkspace,
15717
+ t
15718
+ ]);
15631
15719
  const options = (0, react.useMemo)(() => workspaceOptions({
15632
15720
  sections,
15633
15721
  currentId,
@@ -15646,7 +15734,6 @@ window.__ModuleLoader__.load({
15646
15734
  t,
15647
15735
  attention.byWorkspace
15648
15736
  ]);
15649
- const revealId = (0, react.useMemo)(() => options.find((option) => attention.byWorkspace.has(option.value))?.value, [options, attention.byWorkspace]);
15650
15737
  const valueNodes = (0, react.useMemo)(() => {
15651
15738
  const out = /* @__PURE__ */ new Map();
15652
15739
  for (const workspace of items) {
@@ -15678,7 +15765,6 @@ window.__ModuleLoader__.load({
15678
15765
  variant: "ghost",
15679
15766
  iconOnly: compact,
15680
15767
  search: !compact,
15681
- revealId,
15682
15768
  ariaLabel: t("project.label"),
15683
15769
  searchLabel: t("project.search.label"),
15684
15770
  searchPlaceholder: t("project.search.placeholder"),
@@ -16452,7 +16538,7 @@ window.__ModuleLoader__.load({
16452
16538
  ...face.messages === void 0 ? {} : { messages: face.messages }
16453
16539
  }));
16454
16540
  }
16455
- var COMPONENT_CSS_MARKER = ".wb-activityBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding-top: var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.wb-activityBlock:first-child {\n padding-top: 0;\n border-top: none;\n}\n\n.wb-activityBlockHead {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8);\n}\n\n.wb-activityLine {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-activityLineText {\n flex: none;\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n max-height: var(--wb-len-72);\n overflow-y: auto;\n}\n\n.wb-activityLineAt {\n flex: none;\n margin-left: auto;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-16);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-activityLine > .wb-activityLineAt,\n.wb-activityLine > .wb-activityLineActions {\n margin-left: auto;\n}\n\n.wb-activityLine > .wb-activityLineAt + .wb-activityLineActions {\n margin-left: 0;\n}\n\n.wb-activityLineActions {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n.wb-activityActionFailed {\n color: var(--dsw-alias-state-error-primary);\n}\n.wb-note {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-problem {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalCommand {\n max-width: 100%;\n}\n.wb-approvalPlan {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-approvalHint {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n.wb-approvalRows {\n display: grid;\n grid-template-columns: minmax(var(--wb-len-56), auto) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-2);\n align-items: baseline;\n margin: 0;\n}\n.wb-approvalRow {\n display: contents;\n}\n.wb-approvalLabel {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n.wb-approvalValue {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalWarn {\n color: var(--dsw-alias-label-secondary);\n}\n.wb-cardHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-8) var(--wb-card-gutter);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-cardTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-cardMeta {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-cardMeta::before {\n content: '\\00b7';\n margin-right: var(--wb-len-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen ~ .wb-cardRefresh {\n margin-left: 0;\n}\n\n.wb-cardOpen:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh {\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardRefresh:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-cardGear {\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-3);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardGear:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n.wb-card {\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-bg-layer-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n flex: none;\n}\n.wb-cardBody {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-card-gutter);\n font-size: var(--dsw-font-xxs-12-font-size);\n}\n.wb-cardBleed {\n margin-inline: calc(-1 * var(--wb-card-gutter));\n}\n._anchor_yq4s2_1 {\n display: contents;\n}\n.wb-spinner {\n display: inline-flex;\n align-items: center;\n flex: none;\n}\n.wb-choiceMenu {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n background: transparent;\n}\n\n.wb-choiceMenu[data-variant='boxed'] {\n padding: var(--wb-len-4);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-choiceOption {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-choiceOptionOn {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-checkbox {\n position: absolute;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.wb-checkboxBox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xs);\n corner-shape: round;\n color: var(--dsw-alias-label-primary-foreground);\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-choiceOption:hover .wb-checkboxBox {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-checkbox:checked + .wb-checkboxBox {\n border-color: var(--dsw-alias-brand-primary);\n background: var(--dsw-alias-brand-primary);\n}\n\n.wb-checkbox:disabled + .wb-checkboxBox {\n cursor: default;\n}\n\n.wb-checkbox:focus-visible + .wb-checkboxBox {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n.wb-choiceOption:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-choiceOption:has(:disabled) {\n cursor: default;\n opacity: 0.5;\n}\n\n.wb-choiceOption:has(:disabled),\n.wb-choiceOption:has(:disabled):hover {\n background: transparent;\n}\n\n.wb-choiceLabel {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.wb-choiceLabelText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceLabel:has(.wb-choiceDescription) .wb-choiceLabelText {\n overflow: visible;\n white-space: normal;\n overflow-wrap: anywhere;\n}\n\n.wb-choiceDescription {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n.wb-choiceLoading {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-choiceLoadingText {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceEmpty {\n display: flex;\n align-items: center;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio {\n appearance: none;\n -webkit-appearance: none;\n flex: none;\n box-sizing: border-box;\n width: var(--wb-len-12);\n height: var(--wb-len-12);\n margin: 0;\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: 50%;\n corner-shape: round;\n background-color: transparent;\n cursor: pointer;\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-radio:not(:checked):hover {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio:checked {\n border-color: var(--dsw-alias-brand-primary);\n background-image: radial-gradient(\n circle at center,\n var(--dsw-alias-brand-primary) 0 3px,\n transparent 3px\n );\n}\n\n.wb-radio:disabled {\n cursor: default;\n}\n\n.wb-radio:focus-visible {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.wb-formActions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n}\n\n.wb-formActionDanger {\n color: var(--dsw-alias-state-error-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-error-primary) 8%, transparent);\n}\n.wb-rows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n}\n.wb-rows > :not(.wb-row) {\n grid-column: 1 / -1;\n}\n.wb-row {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: baseline;\n gap: var(--wb-len-8);\n padding: var(--wb-len-4) 0;\n}\n.wb-row + .wb-row {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.wb-rowKey {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-rowValue {\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-rows > .wb-row {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-rows > .wb-row {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-confirmBar {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n width: 100%;\n box-sizing: border-box;\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.wb-confirmBarTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 600;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-confirmBarHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n.wb-field {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n.wb-fieldLabel {\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-fieldHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-field:has(:disabled) .wb-fieldLabel {\n opacity: 0.4;\n}\n.wb-formRows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-12);\n}\n\n.wb-formRows > :not(.wb-formRow) {\n grid-column: 1 / -1;\n}\n\n.wb-formRow {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: center;\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-8);\n}\n\n.wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n align-items: stretch;\n gap: var(--wb-len-6);\n}\n\n.wb-formRows > .wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n}\n\n.wb-formLabel {\n justify-self: start;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: nowrap;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formLabel {\n white-space: normal;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formHint,\n.wb-formRow[data-layout='stacked'] .wb-formProblem {\n grid-column: 1 / -1;\n}\n\n.wb-formControl {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n\n.wb-formControl\n > :where(\n .wb-selectAnchor,\n .wb-choiceMenu,\n input:not(\n [type='checkbox'],\n [type='radio'],\n [type='button'],\n [type='submit'],\n [type='reset'],\n [type='image'],\n [type='color'],\n [type='range']\n ),\n select,\n textarea\n ) {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n}\n\n.wb-formHint {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-formProblem {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(.wb-formProblem) .wb-formLabel {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(:disabled) .wb-formLabel {\n opacity: 0.4;\n}\n\n.wb-formRows > .wb-formRow {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-formRows > .wb-formRow {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-form {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n width: 100%;\n}\n:where(.wb-link) {\n margin-left: var(--wb-len-2);\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: baseline;\n}\n\n:where(.wb-link:hover) {\n text-decoration: underline;\n}\n\n:where(.wb-link:focus-visible) {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n.wb-longTask {\n padding-top: var(--wb-len-12);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n.wb-longTaskHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n}\n\n.wb-longTaskLink {\n flex: none;\n}\n\n.wb-longTaskHeadline {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-longTaskProblem {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-longTaskDump {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-longTaskDump pre {\n margin: var(--wb-len-4) 0 0;\n max-height: var(--wb-len-220);\n overflow: auto;\n}\n\n.wb-longTaskStop {\n display: inline-flex;\n flex: none;\n align-items: center;\n align-self: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n padding: 0;\n margin-left: auto;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-specific-menu);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n.wb-longTaskStop:hover:not(:disabled),\n.wb-longTaskStop:focus-visible {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStop:disabled {\n cursor: default;\n}\n\n.wb-longTaskStopArmed,\n.wb-longTaskStopArmed:hover:not(:disabled),\n.wb-longTaskStopArmed:focus-visible {\n gap: var(--wb-len-4);\n width: auto;\n padding: 0 var(--wb-len-7);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStopLabel {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n.wb-longTaskStopWhy {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-centered.wb-centeredCompact {\n flex: none;\n min-height: 0;\n gap: var(--wb-len-8);\n padding: var(--wb-len-20) var(--wb-len-16);\n}\n\n.wb-centered.wb-centeredCompact .wb-centeredHero {\n margin-bottom: var(--wb-len-4);\n}\n\n.wb-skeleton {\n display: flex;\n flex-direction: column;\n}\n\n.wb-skeletonRow {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-skeletonRow + .wb-skeletonRow::before {\n content: '';\n align-self: stretch;\n height: var(--wb-len-0-5);\n margin: 0 var(--wb-len-8) var(--wb-len-neg-0-5);\n background: var(--dsw-alias-border-l2);\n}\n\n.wb-skeletonBar {\n display: block;\n height: var(--wb-len-13);\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-bg-skeleton);\n animation: wb-skeleton-pulse var(--wb-dur-1-4) var(--ds-ease-in-out) infinite;\n}\n\n.wb-skeletonBarTitle {\n width: 62%;\n}\n\n.wb-skeletonBarMeta {\n width: 32%;\n height: var(--wb-len-10);\n}\n\n.wb-skeletonRow:nth-child(2n) .wb-skeletonBarTitle {\n width: 74%;\n}\n\n.wb-skeletonRow:nth-child(3n) .wb-skeletonBarTitle {\n width: 52%;\n}\n\n@keyframes wb-skeleton-pulse {\n 50% {\n opacity: 0.45;\n }\n}\n\n.wb-centered {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: var(--wb-len-14);\n flex: 1;\n min-height: var(--wb-len-240);\n padding: 0 var(--wb-len-24) var(--wb-len-24);\n text-align: center;\n}\n\n.wb-centeredHero {\n display: flex;\n margin-bottom: var(--wb-len-16);\n color: var(--dsw-alias-label-dimmed);\n}\n\n.wb-centeredTitle {\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-centeredHint {\n max-width: var(--wb-len-300);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-centeredDetail {\n max-width: var(--wb-len-320);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-dimmed);\n word-break: break-all;\n}\n\n.wb-centeredAction {\n display: flex;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n@media (prefers-reduced-motion: reduce) {\n .wb-skeletonBar {\n animation: none;\n }}\n.wb-textField {\n box-sizing: border-box;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n outline: none;\n}\n\n.wb-textField:focus {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-textField:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-textField[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-textField[aria-invalid='true']:focus {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n:where(.wb-textField) {\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n}\n:where(.wb-selectTrigger) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n text-align: left;\n cursor: pointer;\n}\n\n.wb-selectTrigger:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true']:focus-visible {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-selectLoading:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: none;\n background: transparent;\n font-size: var(--wb-font-row);\n}\n\n.wb-selectGhost:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-selectGhost:focus-visible {\n outline: var(--dsw-focus-ring-width) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n border-color: transparent;\n box-shadow: none;\n}\n\n.wb-selectIconOnly {\n width: var(--wb-len-36);\n height: var(--wb-len-36);\n min-height: 0;\n gap: 0;\n padding: 0;\n justify-content: center;\n}\n\n.wb-selectReveal {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.wb-selectIconOnly .wb-selectIcon {\n width: 100%;\n height: 100%;\n}\n\n.wb-selectAnchor {\n display: block;\n width: 100%;\n}\n\n.wb-selectIcon {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectValue {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n.wb-selectPlaceholder {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectChevron {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-caption);\n}\n\n.wb-selectMenu {\n min-width: var(--wb-len-240);\n max-width: var(--wb-len-360);\n max-height: min(var(--wb-len-320), calc(100vh - var(--wb-len-24)));\n}\n\n:where(.wb-selectSearch) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n.wb-selectSearch:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectSearch.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: 0.5px solid var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-selectSearch.wb-selectGhost:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: none;\n}\n\n.wb-selectSearchIcon {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-textField.wb-selectSearchInput {\n flex: 1;\n min-width: 0;\n min-height: 0;\n padding: 0;\n border: none;\n background: transparent;\n}\n\n.wb-textField.wb-selectSearchInput:focus {\n box-shadow: none;\n}\n\n.wb-selectFallback {\n width: 100%;\n}\n\n.wb-selectHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\nsection.wb-settings {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-len-16);\n border: 0;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-settings-card-fill);\n}\n.wb-settingsHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n.wb-settings .wb-settingsTitle {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-strong-14-font-size);\n line-height: var(--wb-line-24);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n.wb-stack {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n min-height: 0;\n}\n.wb-stateBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-stateBlockTitle {\n margin: 0;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n.wb-stateBlockHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-stateBlockActions {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n.wb-stateBlockResolving {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._marketList_1vpw3_1 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._marketRow_1vpw3_10 {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: center;\n column-gap: var(--wb-len-14);\n row-gap: var(--wb-len-4);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-lg);\n}\n\n._marketIcon_1vpw3_20 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_1vpw3_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_1vpw3_39 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketStatus_1vpw3_48 {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketStateText_1vpw3_58 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_1vpw3_62 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_1vpw3_66 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketName_1vpw3_39 ._marketVersion_1vpw3_72 {\n margin-left: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n}\n\n._marketVersion_1vpw3_72 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_1vpw3_72::before {\n content: '';\n display: inline-block;\n width: var(--wb-len-1);\n height: var(--wb-len-10);\n margin: 0 var(--wb-len-8) 0 var(--wb-len-2);\n vertical-align: -1px;\n background: var(--dsw-alias-border-l2);\n}\n\n._marketLocalTag_1vpw3_94 {\n margin-left: var(--wb-len-8);\n padding: 0 var(--wb-len-6);\n border: var(--wb-len-1) solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-caption);\n}\n\n._marketEnd_1vpw3_105 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_1vpw3_112 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_1vpw3_112::before {\n content: '';\n width: 0;\n height: var(--wb-len-14);\n border-left: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketActions_1vpw3_125 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_1vpw3_131 {\n color: var(--dsw-alias-state-warn-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._marketSelfDivider_1vpw3_137 {\n height: 0;\n margin-top: calc(0px - var(--wb-len-16));\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketSection_1vpw3_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_1vpw3_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_1vpw3_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_1vpw3_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_1vpw3_169 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionAction_1vpw3_175 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n margin-left: auto;\n min-width: 0;\n}\n\n._marketSectionQuiet_1vpw3_183 ._marketSectionTitle_1vpw3_163 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_1vpw3_183 ._marketName_1vpw3_39 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_1vpw3_183 ._marketIcon_1vpw3_20 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketProgress_1vpw3_195 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-height: var(--wb-len-32);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketNote_1vpw3_205 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-warn-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailure_1vpw3_212 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailureSeat_1vpw3_219 {\n grid-column: 2 / -1;\n min-width: 0;\n}\n\n._marketEmpty_1vpw3_224 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_1vpw3_229 {\n box-sizing: border-box;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-32);\n padding: 0 clamp(var(--wb-len-24), 4vw, var(--wb-len-48)) var(--wb-len-48);\n overflow-x: hidden;\n overflow-y: auto;\n color: var(--dsw-alias-label-primary);\n}\n\n._marketPage_1vpw3_229 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_1vpw3_247 {\n box-sizing: border-box;\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-16);\n padding-top: var(--wb-len-28);\n}\n\n._marketPageTitle_1vpw3_255 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_1vpw3_260 {\n margin: var(--wb-len-4) 0 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketPageTools_1vpw3_266 {\n flex: none;\n align-self: center;\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--wb-len-16);\n}\n\n._marketPanel_1vpw3_275 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_1vpw3_275[hidden] {\n display: none;\n}\n\n._marketTabs_1vpw3_285 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_1vpw3_290 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketAddButton_1vpw3_295 {\n height: var(--wb-len-32);\n padding: 0 var(--wb-len-12);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n border-radius: var(--dsw-radius-md);\n}\n\n._marketEmpty_1vpw3_224 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) var(--wb-len-16);\n text-align: center;\n}\n\n._marketEmptyTitle_1vpw3_312 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverPage_1vpw3_317 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_1vpw3_324 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_1vpw3_331 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_1vpw3_337 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_1vpw3_342 {\n min-width: 0;\n max-width: var(--wb-len-240);\n margin-left: calc(0px - var(--wb-len-8));\n font-weight: 500;\n}\n\n._discoverMarketName_1vpw3_349 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_1vpw3_355 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_1vpw3_360 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_1vpw3_365 {\n flex: none;\n}\n\n._discoverSearch_1vpw3_369 {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 var(--wb-len-120);\n min-width: var(--wb-len-120);\n}\n\n._discoverSearchField_1vpw3_377 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_1vpw3_382 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_1vpw3_377 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_1vpw3_369 ._discoverSearchClear_1vpw3_391 {\n position: absolute;\n top: 50%;\n inset-inline-end: var(--wb-len-4);\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-tertiary);\n transform: translateY(-50%);\n}\n\n._discoverSearchClear_1vpw3_391:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_1vpw3_331 {\n display: grid;\n grid-template-columns: minmax(0, auto) minmax(var(--wb-len-120), 1fr) auto;\n grid-template-areas:\n 'market search refresh'\n 'labels sort sort';\n }\n\n ._discoverMarket_1vpw3_337 {\n grid-area: market;\n }\n\n ._discoverMarketButton_1vpw3_342 {\n margin-left: 0;\n }\n\n ._discoverLabels_1vpw3_355 {\n grid-area: labels;\n }\n\n ._discoverSearch_1vpw3_369 {\n grid-area: search;\n }\n\n ._discoverSort_1vpw3_360 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_1vpw3_365 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_1vpw3_442 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_1vpw3_449 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._discoverCard_1vpw3_458 {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n margin: 0 calc(0px - var(--wb-len-8));\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCard_1vpw3_458:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_1vpw3_472 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverArtworkImage_1vpw3_484 {\n object-fit: contain;\n}\n\n._discoverMain_1vpw3_488 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-2);\n min-width: 0;\n}\n\n._discoverTitleRow_1vpw3_496 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverCardOpen_1vpw3_504 {\n max-width: 100%;\n padding: 0;\n border: 0;\n background: transparent;\n color: inherit;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n cursor: pointer;\n}\n\n._discoverCardOpen_1vpw3_504::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_1vpw3_504:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_1vpw3_504:focus-visible::after {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverStrong_1vpw3_535 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_1vpw3_541 {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverMeta_1vpw3_550 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._discoverMuted_1vpw3_557 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_1vpw3_563 {\n position: relative;\n z-index: var(--wb-z-10);\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverUpdateAction_1vpw3_572 {\n color: var(--dsw-alias-state-warn-primary);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._discoverBlocked_1vpw3_577 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_1vpw3_582 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) 0;\n text-align: center;\n}\n\n._discoverEmptyTitle_1vpw3_591 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_1vpw3_582 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_1vpw3_601 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_1vpw3_607 {\n align-self: flex-start;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n padding: 0;\n border: 0;\n background: 0 0;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n font-size: var(--wb-font-12-5);\n cursor: pointer;\n}\n\n._discoverCrumb_1vpw3_607:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_1vpw3_607:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverCrumbIcon_1vpw3_630 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_1vpw3_634 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverDetailTitle_1vpw3_640 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_1vpw3_646 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._discoverDetailPanel_1vpw3_653 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_1vpw3_660 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_1vpw3_665 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_1vpw3_670 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_1vpw3_675 {\n margin: var(--wb-len-16) 0 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverSection_1vpw3_681 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n margin-top: var(--wb-len-16);\n}\n\n._discoverSectionTitle_1vpw3_688 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_1vpw3_694 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_1vpw3_699 {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--wb-len-16);\n min-height: var(--wb-len-44);\n padding: var(--wb-len-8) var(--wb-len-2);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverFactKind_1vpw3_709 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_1vpw3_715 {\n min-width: 0;\n margin: 0;\n text-align: end;\n overflow-wrap: anywhere;\n font: var(--dsw-font-xs-13);\n}\n\n._discoverCode_1vpw3_723 {\n padding: var(--wb-len-2) var(--wb-len-6);\n border-radius: var(--wb-radius-6);\n background: var(--dsw-alias-bg-module-platform);\n font-family: var(--ds-font-family-code);\n font-size: var(--dsw-font-xxs-12-font-size);\n box-decoration-break: clone;\n}\n\n._discoverTags_1vpw3_732 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_1vpw3_739 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_1vpw3_739:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_1vpw3_749 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_1vpw3_757 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverVersionName_1vpw3_765 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_1vpw3_770 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverFailure_1vpw3_779 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_1vpw3_785 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverNotice_1vpw3_794 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverNotice_1vpw3_794 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_1vpw3_812 {\n align-self: center;\n}\n\n._discoverTransport_1vpw3_816 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportHead_1vpw3_822 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportTitle_1vpw3_829 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportHead_1vpw3_822 ._discoverTransportKind_1vpw3_834 {\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportHead_1vpw3_822 ._discoverTransportState_1vpw3_839 {\n margin-left: 0;\n}\n\n._discoverTransportHead_1vpw3_822 > :last-child {\n margin-left: auto;\n}\n\n._discoverTransportRows_1vpw3_847 {\n display: flex;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportRow_1vpw3_847 {\n display: flex;\n flex: 1;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n}\n\n._discoverTransportRow_1vpw3_847:hover {\n border-color: var(--dsw-alias-border-l3);\n}\n\n._discoverTransportRow_1vpw3_847:has(._discoverTransportRadio_1vpw3_868:checked) {\n border-color: var(--dsw-alias-label-primary);\n}\n\n._discoverTransportRow_1vpw3_847:has(._discoverTransportRadio_1vpw3_868:focus-visible) {\n outline: 2px solid var(--dsw-alias-label-primary);\n outline-offset: 1px;\n}\n\n._discoverTransportRadio_1vpw3_868 {\n flex: none;\n margin: 0;\n}\n\n._discoverTransportKind_1vpw3_834 {\n flex: none;\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportState_1vpw3_839 {\n flex: none;\n margin-left: auto;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportRow_1vpw3_847[data-state='ok'] ._discoverTransportState_1vpw3_839 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._discoverTransportRow_1vpw3_847[data-state='auth'] ._discoverTransportState_1vpw3_839 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverTransportRow_1vpw3_847[data-state='unreachable'] ._discoverTransportState_1vpw3_839,\n._discoverTransportRow_1vpw3_847[data-state='unknown'] ._discoverTransportState_1vpw3_839 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverTransportCustom_1vpw3_908 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportInput_1vpw3_914 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverInstallBar_1vpw3_919 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverInstallText_1vpw3_930 {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDialog_1vpw3_936 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_1vpw3_940 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_1vpw3_946 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_1vpw3_954 {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--wb-len-12);\n padding: var(--wb-len-10) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverSourceConfirm_1vpw3_963 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_1vpw3_969 {\n display: flex;\n flex: 1;\n align-items: flex-start;\n gap: var(--wb-len-10);\n min-width: 0;\n cursor: pointer;\n}\n\n._discoverSourceRadio_1vpw3_978 {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._discoverSourceMain_1vpw3_986 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._discoverSourceHead_1vpw3_994 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverSourceUrl_1vpw3_1002 {\n display: block;\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverSourceMore_1vpw3_1012 {\n flex: none;\n}\n\n._discoverSourceLoading_1vpw3_1016 {\n display: flex;\n flex: none;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n white-space: nowrap;\n}\n\n._discoverSourceHint_1vpw3_1026 {\n display: flex;\n flex-basis: 100%;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverSourceHint_1vpw3_1026 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_1vpw3_1040 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_1vpw3_1046 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_1vpw3_1052 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_1vpw3_1057 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_1vpw3_1063 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_1vpw3_1068 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_1vpw3_1074 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_1vpw3_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_1vpw3_472._discoverSkeletonFill_1vpw3_1074 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_1vpw3_1083 {\n display: block;\n height: var(--wb-len-12);\n margin: var(--wb-len-4) 0;\n border-radius: var(--dsw-radius-xs);\n}\n\n._discoverSkeletonTitle_1vpw3_1090 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_1vpw3_1094 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_1vpw3_1 {\n 0% {\n opacity: 1;\n }\n 40% {\n opacity: 0.6;\n }\n 80%,\n to {\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._discoverSkeletonFill_1vpw3_1074 {\n animation: none;\n }\n}\n\n._block_mxnbc_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-2) 0 var(--wb-len-8);\n min-width: 0;\n}\n\n._head_mxnbc_9 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._title_mxnbc_16 {\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._fact_mxnbc_22 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._actions_mxnbc_30 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-2);\n margin-left: calc(-1 * var(--wb-len-8));\n}\n\n._hint_mxnbc_38 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._output_mxnbc_44 {\n margin-top: var(--wb-len-2);\n min-width: 0;\n}\n._check_1g6tv_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n min-width: 0;\n}\n\n._status_1g6tv_8 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-caption);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n._button_1g6tv_15 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n}\n\n._icon_1g6tv_22 {\n display: inline-flex;\n}\n\n@media (max-width: 720px) {\n ._status_1g6tv_8 {\n display: none;\n }\n}\n._foot_1ud1j_1 {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._footText_1ud1j_13 {\n flex: 1;\n min-width: 0;\n}\n\n._footTextMd_1ud1j_18 {\n flex: 1;\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n._wide_1lv8f_1 {\n justify-content: center;\n width: 100%;\n height: var(--wb-len-40);\n border-radius: var(--dsw-radius-md);\n}\n\n._dialog_1lv8f_8 {\n width: min(var(--wb-len-560), 100%);\n max-height: min(var(--wb-len-800), 100%);\n}\n\n._content_1lv8f_13 {\n min-height: 0;\n overflow: auto;\n}\n\n._stack_1lv8f_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._body_1lv8f_25 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._field_1lv8f_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._input_1lv8f_39 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-14);\n}\n\n._registryField_1lv8f_45 {\n height: var(--wb-len-32);\n margin-left: var(--wb-len-26);\n padding: 0 var(--wb-len-10);\n}\n\n._options_1lv8f_51 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8) var(--wb-len-12);\n}\n\n._guideToggle_1lv8f_59 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-4);\n align-self: flex-start;\n margin-top: var(--wb-len-4);\n padding: 0;\n border: 0;\n background: transparent;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._guideToggle_1lv8f_59:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._guideToggle_1lv8f_59 svg,\n._registryToggle_1lv8f_78 svg {\n transition: transform var(--wb-dur-0-12) ease;\n}\n\n._guideToggle_1lv8f_59[aria-expanded='true'] svg,\n._registryToggle_1lv8f_78[aria-expanded='true'] svg {\n transform: rotate(180deg);\n}\n\n._registryWrap_1lv8f_87 {\n position: relative;\n flex: none;\n}\n\n._registryToggle_1lv8f_78 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n height: var(--wb-len-26);\n padding: 0 var(--wb-len-8) 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n font: inherit;\n font-size: var(--wb-font-12-5);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._registryToggle_1lv8f_78:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._registryToggle_1lv8f_78:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n._registryToggle_1lv8f_78[aria-expanded='true'] {\n border-color: var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n._registryChosen_1lv8f_121 {\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n._registry_1lv8f_45 {\n position: fixed;\n z-index: var(--wb-z-1100);\n box-sizing: border-box;\n width: min(var(--wb-len-440), 100vw - var(--wb-len-24));\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-12);\n border: 0;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-2);\n --dsw-elevation-stroke-color: var(--dsw-alias-border-l3);\n box-shadow: var(--dsw-elevation-prominent);\n}\n\n._registryOption_1lv8f_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid transparent;\n border-radius: var(--dsw-radius-lg);\n cursor: pointer;\n}\n\nlabel._registryOption_1lv8f_143 {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--wb-len-10);\n}\n\n._registryPick_1lv8f_159 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n cursor: pointer;\n}\n\n._registryOption_1lv8f_143[data-checked='true'] {\n border-color: color-mix(in srgb, var(--dsw-alias-brand-primary) 40%, transparent);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._registryOption_1lv8f_143 input[type='radio'] {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._registryTitle_1lv8f_179 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n font: var(--dsw-font-xs-13);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n._registryHint_1lv8f_189 {\n margin-left: var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._inputError_1lv8f_197 {\n margin: var(--wb-len-neg-4) 0 0 var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._guide_1lv8f_59 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._guideList_1lv8f_214 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._guideItem_1lv8f_223 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0;\n}\n\n._guideIndex_1lv8f_230 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n border-radius: var(--wb-radius-pill);\n corner-shape: round;\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._guideMain_1lv8f_244 {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: 0;\n min-width: 0;\n}\n\n._guideTitle_1lv8f_252 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n\n._guideHint_1lv8f_258 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._guideExample_1lv8f_264 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._guideExample_1lv8f_264 code {\n font-family: var(--dsw-font-mono, monospace);\n}\n\n._guideExampleLabel_1lv8f_274 {\n color: var(--dsw-alias-label-caption);\n}\n\n._footer_1lv8f_278 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-20);\n width: 100%;\n}\n\n._hero_1lv8f_285 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0 var(--wb-len-4);\n text-align: center;\n}\n\n._heroIcon_1lv8f_294 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-44);\n height: var(--wb-len-44);\n color: var(--dsw-alias-label-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='done'] {\n color: var(--dsw-alias-state-success-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='error'] {\n color: var(--dsw-alias-state-warn-label);\n}\n\n._pendingTitle_1lv8f_311 {\n margin: 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 500;\n color: var(--dsw-alias-label-secondary);\n}\n\n._wizardTitle_1lv8f_319 {\n margin: 0;\n font-size: var(--wb-font-18);\n line-height: var(--wb-len-26);\n font-weight: 600;\n}\n\n._subject_1lv8f_326 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n text-align: center;\n}\n\n._subjectName_1lv8f_337 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n overflow-wrap: anywhere;\n}\n\n._subjectMeta_1lv8f_343,\n._subjectDesc_1lv8f_344 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._result_1lv8f_351,\n._resultWarn_1lv8f_352 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._resultWarn_1lv8f_352 {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n}\n\n._resultMeta_1lv8f_365 {\n margin: 0;\n padding: 0 var(--wb-len-12);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._approval_1lv8f_373 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-state-warn-primary);\n border-radius: var(--dsw-radius-lg);\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._approvalTitle_1lv8f_383 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._approvalText_1lv8f_390 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._approvalCaution_1lv8f_396 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n font-weight: 600;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._note_1lv8f_403 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._noteWarn_1lv8f_410 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._noteError_1lv8f_414 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._problem_1lv8f_418 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._detailLabel_1lv8f_425 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._detail_1lv8f_425 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-3);\n font-family: var(--dsw-font-mono, monospace);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n._note_1enlz_1 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._note_1enlz_1 > svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n._slot_1t7dx_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1t7dx_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1t7dx_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1t7dx_31 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._paused_1t7dx_35 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._trouble_1t7dx_39 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._pulse_1t7dx_43 {\n animation: _wb-debug-breathe_1t7dx_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-debug-breathe_1t7dx_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1t7dx_43 {\n animation: none;\n }\n}\n\n._entry_1t7dx_64 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1t7dx_71 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1t7dx_78 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1t7dx_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: 0;\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n}\n\n._act_1t7dx_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1t7dx_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._actStop_1t7dx_110:hover,\n._actStop_1t7dx_110:focus-visible {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._actArmed_1t7dx_115,\n._actArmed_1t7dx_115:hover,\n._actArmed_1t7dx_115:focus-visible {\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n width: auto;\n color: var(--dsw-alias-state-error-primary);\n gap: var(--wb-len-4);\n padding: 0 var(--wb-len-7);\n}\n\n._actLabel_1t7dx_125 {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._entryLine_1t7dx_131 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1t7dx_138 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1t7dx_150 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1t7dx_156 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1t7dx_162 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._slot_1gkj9_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1gkj9_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1gkj9_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1gkj9_31 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._done_1gkj9_35 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._pulse_1gkj9_39 {\n animation: _wb-record-breathe_1gkj9_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-record-breathe_1gkj9_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1gkj9_39 {\n animation: none;\n }\n}\n\n._entry_1gkj9_60 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1gkj9_67 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1gkj9_74 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1gkj9_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-22);\n padding: 0 var(--wb-len-7);\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._act_1gkj9_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1gkj9_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._entryLine_1gkj9_108 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1gkj9_115 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1gkj9_127 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1gkj9_133 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1gkj9_139 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._item_lyox9_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n}\n\n._item_lyox9_1 + ._item_lyox9_1 {\n padding-top: var(--wb-len-14);\n border-top: var(--wb-len-0-5) solid var(--dsw-alias-settings-card-stroke);\n}\n\n._head_lyox9_12 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._title_lyox9_19 {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._description_lyox9_31 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._rows_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._row_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-settings-card-stroke);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-settings-card-fill);\n}\n\n._head_85r3w_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._pick_85r3w_27 {\n flex: 0 1 auto;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._pick_85r3w_27 > span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._code_85r3w_39 {\n --dsl-code-block-background: var(--dsw-alias-bg-layer-1);\n margin: 0;\n}\n\n._missing_85r3w_44,\n._conflict_85r3w_45 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-warn-primary);\n}\n._body_11oac_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._sources_11oac_7 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._sourcesLabel_11oac_14 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\nbutton._sourceOn_11oac_19 {\n border-color: var(--dsw-alias-brand-primary);\n}\n._sourceCount_11oac_22 {\n margin-left: var(--wb-len-4);\n font-variant-numeric: tabular-nums;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._reading_11oac_29 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._status_11oac_35 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failure_11oac_45 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n column-gap: var(--wb-len-10);\n row-gap: var(--wb-len-2);\n color: var(--dsw-alias-state-error-primary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n\n._failureTitle_11oac_55 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._failureHint_11oac_62 {\n grid-column: 1;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failureAction_11oac_67 {\n grid-column: 2;\n grid-row: 1;\n justify-self: end;\n}\n\n._foot_11oac_73 {\n display: flex;\n justify-content: flex-end;\n}\n._body_lox98_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._field_lox98_7 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._input_lox98_13 {\n width: 100%;\n}\n\n._label_lox98_17 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\n._hint_lox98_22 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._copy_lox98_28 {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wb-len-8) var(--wb-len-16);\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n._copy_lox98_28 legend {\n padding: 0;\n margin-bottom: var(--wb-len-6);\n}\n\n._actions_lox98_42 {\n display: flex;\n justify-content: flex-end;\n}\n\n._commandLabel_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n}\n\n._command_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-6) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow-wrap: anywhere;\n}\n._body_zi2j5_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._lead_zi2j5_7 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._title_zi2j5_14 {\n font-size: var(--wb-font-18);\n line-height: var(--wb-line-24);\n}\n._hint_zyzt3_1[hidden],\n._actions_zyzt3_2[hidden],\n._progress_zyzt3_3[hidden],\n._commandRow_zyzt3_4[hidden],\n._bridge_zyzt3_5[hidden],\n._raw_zyzt3_6[hidden] {\n display: none;\n}\n\n._gate_zyzt3_10 {\n position: fixed;\n inset: 0;\n z-index: var(--wb-z-top);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wb-len-24);\n background: var(--dsw-alias-bg-base);\n}\n\n._card_zyzt3_21 {\n width: 100%;\n max-width: var(--wb-len-420);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-16);\n text-align: center;\n}\n\n._card_zyzt3_21:has(._actions_zyzt3_2:not([hidden])),\n._card_zyzt3_21:has(._bridge_zyzt3_5:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_zyzt3_36 {\n margin: 0;\n font-size: var(--dsw-font-base-16-font-size);\n line-height: var(--wb-line-24);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._steps_zyzt3_51 {\n list-style: none;\n margin: var(--wb-len-6) 0 0;\n padding: 0;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n text-align: left;\n}\n\n._step_zyzt3_51 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-6) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._step_zyzt3_51[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_zyzt3_78 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-14);\n height: var(--wb-len-14);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._step_zyzt3_51[data-status='ok'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_zyzt3_51[data-status='warn'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_zyzt3_51[data-status='failed'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_zyzt3_103 {\n flex: none;\n}\n\n._detail_zyzt3_107 {\n margin-left: auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._progress_zyzt3_3 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._elapsed_zyzt3_125 {\n flex: none;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._error_zyzt3_133 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n max-height: var(--wb-len-120);\n overflow: auto;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n white-space: pre-wrap;\n word-break: break-all;\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._commandRow_zyzt3_4 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n margin: 0 0 var(--wb-len-8);\n padding-right: var(--wb-len-4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._copy_zyzt3_159 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._copy_zyzt3_159:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_zyzt3_4 {\n flex: 1;\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-primary);\n}\n\n._buttons_zyzt3_192 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_zyzt3_199 {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n justify-content: center;\n background: var(--dsw-alias-bg-base);\n}\n\n._button_zyzt3_192 {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n\n._button_zyzt3_192:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_zyzt3_192:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_zyzt3_2,\n._bridge_zyzt3_5 {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-14) var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-1);\n text-align: left;\n}\n\n._fixTitle_zyzt3_250 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._actions_zyzt3_2 ._hint_zyzt3_1,\n._bridge_zyzt3_5 ._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._actions_zyzt3_2 ._commandRow_zyzt3_4,\n._bridge_zyzt3_5 ._commandRow_zyzt3_4 {\n margin: 0;\n}\n\n._actions_zyzt3_2 ._buttons_zyzt3_192,\n._bridge_zyzt3_5 ._buttons_zyzt3_192 {\n justify-content: flex-start;\n}\n\n._raw_zyzt3_6 {\n box-sizing: border-box;\n width: 100%;\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._rawSummary_zyzt3_286 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_zyzt3_2 ._error_zyzt3_133,\n._bridge_zyzt3_5 ._error_zyzt3_133 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_zyzt3_296 {\n margin: 0;\n padding-left: var(--wb-len-18);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._bridgeLine_zyzt3_296 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_zyzt3_313 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_zyzt3_313::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_zyzt3_313:hover {\n text-decoration: underline;\n}\n\n._loading_zyzt3_327 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_zyzt3_327[hidden] {\n display: none;\n}\n\n._loadingMotion_zyzt3_336 {\n transform-origin: center;\n animation: _wb-spin_zyzt3_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_zyzt3_341,\n._loadingArc_zyzt3_342 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_zyzt3_341 {\n opacity: 0.25;\n}\n\n._loadingArc_zyzt3_342 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_zyzt3_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_zyzt3_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_zyzt3_1 {\n 0% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 24 150;\n stroke-dashoffset: -6;\n }\n to {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._loadingMotion_zyzt3_336,\n ._loadingArc_zyzt3_342 {\n animation: none;\n }\n}\n._changelog_1q6pj_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-10);\n min-width: 0;\n}\n\n._changelogTitle_1q6pj_9 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._changelogMissing_1q6pj_15 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._changelogBody_1q6pj_21 {\n max-height: var(--wb-len-320);\n overflow: auto;\n padding: var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n}\n._group_1hxis_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n}\n\n._button_1hxis_7 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n color: var(--dsw-alias-label-secondary);\n}\n\n._button_1hxis_7:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._active_1hxis_19 {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._icon_1hxis_23 {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n._icon_1hxis_23 svg {\n display: block;\n width: var(--wb-len-15);\n height: var(--wb-len-15);\n}\n\n._mirror_1hxis_35 {\n transform: scaleX(-1);\n}\n._stripTabs_1dqp4_1 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n min-width: 0;\n overflow: hidden;\n}\n\n._tab_1dqp4_9 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n font: inherit;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-16);\n max-width: 100%;\n}\n\n._tabActive_1dqp4_25 {\n color: var(--dsw-alias-label-primary);\n}\n\n._tabQuiet_1dqp4_29 {\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._tabQuiet_1dqp4_29:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._tabTitle_1dqp4_39 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._sep_1dqp4_49 {\n flex: none;\n color: var(--dsw-alias-label-dimmed);\n}\n._actions_smeq7_1 {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: var(--wb-len-8);\n max-width: 100%;\n}\n\n._action_smeq7_1 {\n flex: none;\n white-space: nowrap;\n}\n\n@container (max-width: 340px) {\n ._actions_smeq7_1 {\n flex-direction: column;\n width: var(--wb-len-220);\n max-width: 100%;\n }\n\n ._action_smeq7_1 {\n width: 100%;\n }\n}\n._trigger_15ptp_1 {\n display: flex;\n align-items: center;\n}\n\n._pop_15ptp_6 {\n position: absolute;\n top: calc(var(--wb-len-38) + var(--wb-len-8));\n right: var(--wb-len-6);\n z-index: var(--wb-z-30);\n width: min(var(--wb-len-360), calc(100% - var(--wb-len-12)));\n max-width: calc(100vw - var(--wb-len-48));\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-2);\n box-shadow: var(--dsw-shadow-lv3);\n overflow: hidden;\n}\n\n._head_15ptp_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-10) var(--wb-len-12) var(--wb-len-9) var(--wb-len-14);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._title_15ptp_28 {\n flex: 1;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._rowControls_15ptp_36 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._reset_15ptp_43 {\n flex: none;\n padding: var(--wb-len-3) var(--wb-len-8);\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._reset_15ptp_43:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._reset_15ptp_43:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._list_15ptp_65 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._row_15ptp_36 {\n position: relative;\n display: grid;\n grid-template-columns: 12px minmax(0, 1fr) auto;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-sm);\n cursor: default;\n}\n\n._rowDragging_15ptp_85 {\n cursor: grabbing;\n}\n\n._rowBlocked_15ptp_89 {\n cursor: not-allowed;\n}\n\n._listDragging_15ptp_93 ._rowControls_15ptp_36 {\n pointer-events: none;\n}\n\n._row_15ptp_36:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._rowOff_15ptp_101 {\n opacity: 0.55;\n}\n\n._rowOff_15ptp_101:hover {\n opacity: 1;\n}\n\n._rowOver_15ptp_109::before {\n content: '';\n position: absolute;\n top: var(--wb-len-neg-3);\n left: var(--wb-len-8);\n right: var(--wb-len-8);\n height: var(--wb-len-2);\n background: var(--dsw-alias-brand-primary);\n}\n\n._ghost_15ptp_119 {\n position: fixed;\n z-index: var(--wb-z-40);\n pointer-events: none;\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--wb-static-shadow-ghost);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n white-space: nowrap;\n}\n\n._grip_15ptp_134 {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: center;\n color: var(--dsw-alias-label-tertiary);\n user-select: none;\n cursor: grab;\n touch-action: none;\n}\n\n._gripDragging_15ptp_144 {\n cursor: grabbing;\n}\n\n._gripBlocked_15ptp_148 {\n cursor: not-allowed;\n}\n\n._label_15ptp_152 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._name_15ptp_159 {\n min-width: 0;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n\n._error_15ptp_170 {\n margin: 0;\n padding: 0 var(--wb-len-14) var(--wb-len-10);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._dep_15ptp_178 {\n flex: none;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n}\n\n._group_15ptp_186 {\n padding-top: var(--wb-len-6);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._groupTitle_15ptp_191 {\n margin: 0;\n padding: var(--wb-len-2) var(--wb-len-8) 0 var(--wb-len-14);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n font-weight: 400;\n color: var(--dsw-alias-label-tertiary);\n}\n._panel_1whum_1 {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: var(--wb-z-10);\n visibility: hidden;\n}\n\n._panel_1whum_1[data-fullscreen] {\n z-index: var(--wb-z-40);\n}\n\n._panel_1whum_1[data-open] {\n visibility: visible;\n}\n\n._columns_1whum_18 {\n display: block;\n column-gap: var(--wb-len-12);\n}\n\n._cell_1whum_23 {\n display: flow-root;\n min-width: 0;\n break-inside: avoid;\n margin-bottom: var(--wb-len-12);\n}\n._root_1cmz0_1 {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}\n\n._rail_1cmz0_7 {\n margin: 0 0 var(--wb-len-4);\n}\n\n._glyphBox_1cmz0_11 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n._glyph_1cmz0_11 {\n position: relative;\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._glyphActive_1cmz0_30 {\n color: var(--dsw-alias-state-business-primary);\n}\n\n._triggerName_1cmz0_34 {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n._dir_1cmz0_45 {\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._name_1cmz0_53 {\n flex: 0 1 auto;\n max-width: 50%;\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._triggerName_1cmz0_34 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._row_1cmz0_66 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n width: 100%;\n min-width: 0;\n}\n\n._trailing_1cmz0_74 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n margin-inline-start: auto;\n}\n\n._trailing_1cmz0_74 ._rowAction_1cmz0_84 {\n width: var(--wb-len-20);\n min-width: var(--wb-len-20);\n height: var(--wb-len-20);\n min-height: var(--wb-len-20);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n}\n\n._row_1cmz0_66 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._current_1cmz0_97 {\n flex: none;\n display: inline-flex;\n align-items: center;\n color: var(--dsw-alias-label-primary);\n}\n._dot_sosf1_1 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n._overlay_sosf1_8 {\n position: absolute;\n inset-block-start: var(--wb-len-neg-3);\n inset-inline-end: var(--wb-len-neg-3);\n}\n._tag_g9dg8_1 {\n flex: none;\n margin-inline-start: auto;\n}\n._dialog_1vye5_1 {\n width: min(var(--wb-len-420), 100%);\n}\n\n._stack_1vye5_5 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._input_1vye5_12 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-12);\n}\n\n._meta_1vye5_18 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n._dot_14w1n_1 {\n display: inline-flex;\n align-items: center;\n}\n\n._hover_14w1n_6 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._blocker_1oaj0_1 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-20) var(--wb-len-16);\n text-align: center;\n}\n\n._icon_1oaj0_10 {\n display: flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._title_1oaj0_15 {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_1oaj0_23 {\n margin: 0;\n max-width: var(--wb-len-42em);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n text-wrap: pretty;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 {\n align-items: flex-start;\n gap: var(--wb-len-6);\n padding: var(--wb-len-4) 0 var(--wb-len-2);\n text-align: left;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._title_1oaj0_15 {\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._hint_1oaj0_23 {\n max-width: 100%;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._actions_1oaj0_48 {\n margin-top: var(--wb-len-8);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._raw_1oaj0_52 {\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._actions_1oaj0_48 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-6);\n}\n\n._raw_1oaj0_52 {\n margin-top: var(--wb-len-10);\n width: 100%;\n max-width: var(--wb-len-360);\n text-align: left;\n}\n\n._notice_1oaj0_71 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: start;\n column-gap: var(--wb-len-10);\n margin: 0 0 var(--wb-len-10);\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-left: 2px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._notice_1oaj0_71._noticeFlat_1oaj0_84 {\n margin: 0;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n._noticeText_1oaj0_91 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-3);\n min-width: 0;\n}\n\n._noticeTitle_1oaj0_98 {\n font-size: var(--wb-font-12-5);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._noticeHint_1oaj0_105 {\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._noticeActions_1oaj0_112 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-neg-2);\n}\n\n._failure_1oaj0_119 {\n margin: var(--wb-len-8) 0 0;\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._failureDetail_1oaj0_127 {\n display: block;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-label-tertiary);\n white-space: pre-wrap;\n}\n\n._inlineAction_1oaj0_134 {\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n\n._inlineAction_1oaj0_134:disabled {\n opacity: 0.6;\n cursor: default;\n}\n\n._rawText_1oaj0_146 {\n margin: var(--wb-len-6) 0 0;\n max-width: 100%;\n}\n/*$vite$:1*/";
16541
+ var COMPONENT_CSS_MARKER = ".wb-activityBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding-top: var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.wb-activityBlock:first-child {\n padding-top: 0;\n border-top: none;\n}\n\n.wb-activityBlockHead {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8);\n}\n\n.wb-activityLine {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-activityLineText {\n flex: none;\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n max-height: var(--wb-len-72);\n overflow-y: auto;\n}\n\n.wb-activityLineAt {\n flex: none;\n margin-left: auto;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-16);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-activityLine > .wb-activityLineAt,\n.wb-activityLine > .wb-activityLineActions {\n margin-left: auto;\n}\n\n.wb-activityLine > .wb-activityLineAt + .wb-activityLineActions {\n margin-left: 0;\n}\n\n.wb-activityLineActions {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n.wb-activityActionFailed {\n color: var(--dsw-alias-state-error-primary);\n}\n.wb-note {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-problem {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalCommand {\n max-width: 100%;\n}\n.wb-approvalPlan {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-approvalHint {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n.wb-approvalRows {\n display: grid;\n grid-template-columns: minmax(var(--wb-len-56), auto) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-2);\n align-items: baseline;\n margin: 0;\n}\n.wb-approvalRow {\n display: contents;\n}\n.wb-approvalLabel {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n.wb-approvalValue {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalWarn {\n color: var(--dsw-alias-label-secondary);\n}\n.wb-cardHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-8) var(--wb-card-gutter);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-cardTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-cardMeta {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-cardMeta::before {\n content: '\\00b7';\n margin-right: var(--wb-len-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen ~ .wb-cardRefresh {\n margin-left: 0;\n}\n\n.wb-cardOpen:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh {\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardRefresh:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-cardGear {\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-3);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardGear:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n.wb-card {\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-bg-layer-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n flex: none;\n}\n.wb-cardBody {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-card-gutter);\n font-size: var(--dsw-font-xxs-12-font-size);\n}\n.wb-cardBleed {\n margin-inline: calc(-1 * var(--wb-card-gutter));\n}\n._anchor_yq4s2_1 {\n display: contents;\n}\n.wb-spinner {\n display: inline-flex;\n align-items: center;\n flex: none;\n}\n.wb-choiceMenu {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n background: transparent;\n}\n\n.wb-choiceMenu[data-variant='boxed'] {\n padding: var(--wb-len-4);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-choiceOption {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-choiceOptionOn {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-checkbox {\n position: absolute;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.wb-checkboxBox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xs);\n corner-shape: round;\n color: var(--dsw-alias-label-primary-foreground);\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-choiceOption:hover .wb-checkboxBox {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-checkbox:checked + .wb-checkboxBox {\n border-color: var(--dsw-alias-brand-primary);\n background: var(--dsw-alias-brand-primary);\n}\n\n.wb-checkbox:disabled + .wb-checkboxBox {\n cursor: default;\n}\n\n.wb-checkbox:focus-visible + .wb-checkboxBox {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n.wb-choiceOption:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-choiceOption:has(:disabled) {\n cursor: default;\n opacity: 0.5;\n}\n\n.wb-choiceOption:has(:disabled),\n.wb-choiceOption:has(:disabled):hover {\n background: transparent;\n}\n\n.wb-choiceLabel {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.wb-choiceLabelText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceLabel:has(.wb-choiceDescription) .wb-choiceLabelText {\n overflow: visible;\n white-space: normal;\n overflow-wrap: anywhere;\n}\n\n.wb-choiceDescription {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n.wb-choiceLoading {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-choiceLoadingText {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceEmpty {\n display: flex;\n align-items: center;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio {\n appearance: none;\n -webkit-appearance: none;\n flex: none;\n box-sizing: border-box;\n width: var(--wb-len-12);\n height: var(--wb-len-12);\n margin: 0;\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: 50%;\n corner-shape: round;\n background-color: transparent;\n cursor: pointer;\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-radio:not(:checked):hover {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio:checked {\n border-color: var(--dsw-alias-brand-primary);\n background-image: radial-gradient(\n circle at center,\n var(--dsw-alias-brand-primary) 0 3px,\n transparent 3px\n );\n}\n\n.wb-radio:disabled {\n cursor: default;\n}\n\n.wb-radio:focus-visible {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.wb-formActions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n}\n\n.wb-formActionDanger {\n color: var(--dsw-alias-state-error-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-error-primary) 8%, transparent);\n}\n.wb-rows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n}\n.wb-rows > :not(.wb-row) {\n grid-column: 1 / -1;\n}\n.wb-row {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: baseline;\n gap: var(--wb-len-8);\n padding: var(--wb-len-4) 0;\n}\n.wb-row + .wb-row {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.wb-rowKey {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-rowValue {\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-rows > .wb-row {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-rows > .wb-row {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-confirmBar {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n width: 100%;\n box-sizing: border-box;\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.wb-confirmBarTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 600;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-confirmBarHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n.wb-field {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n.wb-fieldLabel {\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-fieldHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-field:has(:disabled) .wb-fieldLabel {\n opacity: 0.4;\n}\n.wb-formRows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-12);\n}\n\n.wb-formRows > :not(.wb-formRow) {\n grid-column: 1 / -1;\n}\n\n.wb-formRow {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: center;\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-8);\n}\n\n.wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n align-items: stretch;\n gap: var(--wb-len-6);\n}\n\n.wb-formRows > .wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n}\n\n.wb-formLabel {\n justify-self: start;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: nowrap;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formLabel {\n white-space: normal;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formHint,\n.wb-formRow[data-layout='stacked'] .wb-formProblem {\n grid-column: 1 / -1;\n}\n\n.wb-formControl {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n\n.wb-formControl\n > :where(\n .wb-selectAnchor,\n .wb-choiceMenu,\n input:not(\n [type='checkbox'],\n [type='radio'],\n [type='button'],\n [type='submit'],\n [type='reset'],\n [type='image'],\n [type='color'],\n [type='range']\n ),\n select,\n textarea\n ) {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n}\n\n.wb-formHint {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-formProblem {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(.wb-formProblem) .wb-formLabel {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(:disabled) .wb-formLabel {\n opacity: 0.4;\n}\n\n.wb-formRows > .wb-formRow {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-formRows > .wb-formRow {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-form {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n width: 100%;\n}\n:where(.wb-link) {\n margin-left: var(--wb-len-2);\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: baseline;\n}\n\n:where(.wb-link:hover) {\n text-decoration: underline;\n}\n\n:where(.wb-link:focus-visible) {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n.wb-longTask {\n padding-top: var(--wb-len-12);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n.wb-longTaskHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n}\n\n.wb-longTaskLink {\n flex: none;\n}\n\n.wb-longTaskHeadline {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-longTaskProblem {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-longTaskDump {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-longTaskDump pre {\n margin: var(--wb-len-4) 0 0;\n max-height: var(--wb-len-220);\n overflow: auto;\n}\n\n.wb-longTaskStop {\n display: inline-flex;\n flex: none;\n align-items: center;\n align-self: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n padding: 0;\n margin-left: auto;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-specific-menu);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n.wb-longTaskStop:hover:not(:disabled),\n.wb-longTaskStop:focus-visible {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStop:disabled {\n cursor: default;\n}\n\n.wb-longTaskStopArmed,\n.wb-longTaskStopArmed:hover:not(:disabled),\n.wb-longTaskStopArmed:focus-visible {\n gap: var(--wb-len-4);\n width: auto;\n padding: 0 var(--wb-len-7);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStopLabel {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n.wb-longTaskStopWhy {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-centered.wb-centeredCompact {\n flex: none;\n min-height: 0;\n gap: var(--wb-len-8);\n padding: var(--wb-len-20) var(--wb-len-16);\n}\n\n.wb-centered.wb-centeredCompact .wb-centeredHero {\n margin-bottom: var(--wb-len-4);\n}\n\n.wb-skeleton {\n display: flex;\n flex-direction: column;\n}\n\n.wb-skeletonRow {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-skeletonRow + .wb-skeletonRow::before {\n content: '';\n align-self: stretch;\n height: var(--wb-len-0-5);\n margin: 0 var(--wb-len-8) var(--wb-len-neg-0-5);\n background: var(--dsw-alias-border-l2);\n}\n\n.wb-skeletonBar {\n display: block;\n height: var(--wb-len-13);\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-bg-skeleton);\n animation: wb-skeleton-pulse var(--wb-dur-1-4) var(--ds-ease-in-out) infinite;\n}\n\n.wb-skeletonBarTitle {\n width: 62%;\n}\n\n.wb-skeletonBarMeta {\n width: 32%;\n height: var(--wb-len-10);\n}\n\n.wb-skeletonRow:nth-child(2n) .wb-skeletonBarTitle {\n width: 74%;\n}\n\n.wb-skeletonRow:nth-child(3n) .wb-skeletonBarTitle {\n width: 52%;\n}\n\n@keyframes wb-skeleton-pulse {\n 50% {\n opacity: 0.45;\n }\n}\n\n.wb-centered {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: var(--wb-len-14);\n flex: 1;\n min-height: var(--wb-len-240);\n padding: 0 var(--wb-len-24) var(--wb-len-24);\n text-align: center;\n}\n\n.wb-centeredHero {\n display: flex;\n margin-bottom: var(--wb-len-16);\n color: var(--dsw-alias-label-dimmed);\n}\n\n.wb-centeredTitle {\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-centeredHint {\n max-width: var(--wb-len-300);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-centeredDetail {\n max-width: var(--wb-len-320);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-dimmed);\n word-break: break-all;\n}\n\n.wb-centeredAction {\n display: flex;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n@media (prefers-reduced-motion: reduce) {\n .wb-skeletonBar {\n animation: none;\n }}\n.wb-textField {\n box-sizing: border-box;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n outline: none;\n}\n\n.wb-textField:focus {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-textField:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-textField[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-textField[aria-invalid='true']:focus {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n:where(.wb-textField) {\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n}\n:where(.wb-selectTrigger) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n text-align: left;\n cursor: pointer;\n}\n\n.wb-selectTrigger:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true']:focus-visible {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-selectLoading:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: none;\n background: transparent;\n font-size: var(--wb-font-row);\n}\n\n.wb-selectGhost:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-selectGhost:focus-visible {\n outline: var(--dsw-focus-ring-width) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n border-color: transparent;\n box-shadow: none;\n}\n\n.wb-selectIconOnly {\n width: var(--wb-len-36);\n height: var(--wb-len-36);\n min-height: 0;\n gap: 0;\n padding: 0;\n justify-content: center;\n}\n\n.wb-selectIconOnly .wb-selectIcon {\n width: 100%;\n height: 100%;\n}\n\n.wb-selectAnchor {\n display: block;\n width: 100%;\n}\n\n.wb-selectIcon {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectValue {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n.wb-selectPlaceholder {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectChevron {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-caption);\n}\n\n.wb-selectMenu {\n min-width: var(--wb-len-240);\n max-width: var(--wb-len-360);\n max-height: min(var(--wb-len-320), calc(100vh - var(--wb-len-24)));\n}\n\n:where(.wb-selectSearch) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n.wb-selectSearch:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectSearch.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: 0.5px solid var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-selectSearch.wb-selectGhost:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: none;\n}\n\n.wb-selectSearchIcon {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-textField.wb-selectSearchInput {\n flex: 1;\n min-width: 0;\n min-height: 0;\n padding: 0;\n border: none;\n background: transparent;\n}\n\n.wb-textField.wb-selectSearchInput:focus {\n box-shadow: none;\n}\n\n.wb-selectFallback {\n width: 100%;\n}\n\n.wb-selectHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\nsection.wb-settings {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-len-16);\n border: 0;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-settings-card-fill);\n}\n.wb-settingsHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n.wb-settings .wb-settingsTitle {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-strong-14-font-size);\n line-height: var(--wb-line-24);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n.wb-stack {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n min-height: 0;\n}\n.wb-stateBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-stateBlockTitle {\n margin: 0;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n.wb-stateBlockHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-stateBlockActions {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n.wb-stateBlockResolving {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._marketList_2or0c_1 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._marketRow_2or0c_10 {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: center;\n column-gap: var(--wb-len-14);\n row-gap: var(--wb-len-4);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-lg);\n}\n\n._marketIcon_2or0c_20 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_2or0c_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_2or0c_39 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketStatus_2or0c_48 {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketStateText_2or0c_58 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_2or0c_62 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_2or0c_66 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketName_2or0c_39 ._marketVersion_2or0c_72 {\n margin-left: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n}\n\n._marketVersion_2or0c_72 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_2or0c_72::before {\n content: '';\n display: inline-block;\n width: var(--wb-len-1);\n height: var(--wb-len-10);\n margin: 0 var(--wb-len-8) 0 var(--wb-len-2);\n vertical-align: -1px;\n background: var(--dsw-alias-border-l2);\n}\n\n._marketLocalTag_2or0c_94 {\n margin-left: var(--wb-len-8);\n padding: 0 var(--wb-len-6);\n border: var(--wb-len-1) solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-caption);\n}\n\n._marketEnd_2or0c_105 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_2or0c_112 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_2or0c_112::before {\n content: '';\n width: 0;\n height: var(--wb-len-14);\n border-left: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketActions_2or0c_125 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_2or0c_131 {\n color: var(--dsw-alias-state-warn-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._marketSelfDivider_2or0c_137 {\n height: 0;\n margin-top: calc(0px - var(--wb-len-16));\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketSection_2or0c_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_2or0c_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_2or0c_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_2or0c_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_2or0c_169 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionAction_2or0c_175 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n margin-left: auto;\n min-width: 0;\n}\n\n._marketSectionQuiet_2or0c_183 ._marketSectionTitle_2or0c_163 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_2or0c_183 ._marketName_2or0c_39 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_2or0c_183 ._marketIcon_2or0c_20 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketProgress_2or0c_195 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-height: var(--wb-len-32);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketNote_2or0c_205 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-warn-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailure_2or0c_212 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailureSeat_2or0c_219 {\n grid-column: 2 / -1;\n min-width: 0;\n}\n\n._marketEmpty_2or0c_224 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_2or0c_229 {\n box-sizing: border-box;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-32);\n padding: 0 clamp(var(--wb-len-24), 4vw, var(--wb-len-48)) var(--wb-len-48);\n overflow-x: hidden;\n overflow-y: auto;\n color: var(--dsw-alias-label-primary);\n}\n\n._marketPage_2or0c_229 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_2or0c_247 {\n box-sizing: border-box;\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-16);\n padding-top: var(--wb-len-28);\n}\n\n._marketPageTitle_2or0c_255 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_2or0c_260 {\n margin: var(--wb-len-4) 0 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketPageTools_2or0c_266 {\n flex: none;\n align-self: center;\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--wb-len-16);\n}\n\n._marketPanel_2or0c_275 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_2or0c_275[hidden] {\n display: none;\n}\n\n._marketTabs_2or0c_285 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_2or0c_290 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketAddButton_2or0c_295 {\n height: var(--wb-len-32);\n padding: 0 var(--wb-len-12);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n border-radius: var(--dsw-radius-md);\n}\n\n._marketEmpty_2or0c_224 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) var(--wb-len-16);\n text-align: center;\n}\n\n._marketEmptyTitle_2or0c_312 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverPage_2or0c_317 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_2or0c_324 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_2or0c_331 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_2or0c_337 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_2or0c_342 {\n min-width: 0;\n max-width: var(--wb-len-240);\n margin-left: calc(0px - var(--wb-len-8));\n font-weight: 500;\n}\n\n._discoverMarketName_2or0c_349 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_2or0c_355 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_2or0c_360 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_2or0c_365 {\n flex: none;\n}\n\n._discoverSearch_2or0c_369 {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 var(--wb-len-120);\n min-width: var(--wb-len-120);\n}\n\n._discoverSearchField_2or0c_377 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_2or0c_382 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_2or0c_377 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_2or0c_369 ._discoverSearchClear_2or0c_391 {\n position: absolute;\n top: 50%;\n inset-inline-end: var(--wb-len-4);\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-tertiary);\n transform: translateY(-50%);\n}\n\n._discoverSearchClear_2or0c_391:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_2or0c_331 {\n display: grid;\n grid-template-columns: minmax(0, auto) minmax(var(--wb-len-120), 1fr) auto;\n grid-template-areas:\n 'market search refresh'\n 'labels sort sort';\n }\n\n ._discoverMarket_2or0c_337 {\n grid-area: market;\n }\n\n ._discoverMarketButton_2or0c_342 {\n margin-left: 0;\n }\n\n ._discoverLabels_2or0c_355 {\n grid-area: labels;\n }\n\n ._discoverSearch_2or0c_369 {\n grid-area: search;\n }\n\n ._discoverSort_2or0c_360 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_2or0c_365 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_2or0c_442 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_2or0c_449 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._discoverCard_2or0c_458 {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n margin: 0 calc(0px - var(--wb-len-8));\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCard_2or0c_458:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_2or0c_472 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverArtworkImage_2or0c_484 {\n object-fit: contain;\n}\n\n._discoverMain_2or0c_488 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-2);\n min-width: 0;\n}\n\n._discoverTitleRow_2or0c_496 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverCardOpen_2or0c_504 {\n max-width: 100%;\n padding: 0;\n border: 0;\n background: transparent;\n color: inherit;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n cursor: pointer;\n}\n\n._discoverCardOpen_2or0c_504::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_2or0c_504:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_2or0c_504:focus-visible::after {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverStrong_2or0c_535 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_2or0c_541 {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverMeta_2or0c_550 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._discoverMuted_2or0c_557 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_2or0c_563 {\n position: relative;\n z-index: var(--wb-z-10);\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverUpdateAction_2or0c_572 {\n color: var(--dsw-alias-state-warn-primary);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._discoverBlocked_2or0c_577 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_2or0c_582 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) 0;\n text-align: center;\n}\n\n._discoverEmptyTitle_2or0c_591 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_2or0c_582 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_2or0c_601 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_2or0c_607 {\n align-self: flex-start;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n padding: 0;\n border: 0;\n background: 0 0;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n font-size: var(--wb-font-12-5);\n cursor: pointer;\n}\n\n._discoverCrumb_2or0c_607:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_2or0c_607:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverCrumbIcon_2or0c_630 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_2or0c_634 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverDetailTitle_2or0c_640 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_2or0c_646 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._discoverDetailPanel_2or0c_653 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_2or0c_660 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_2or0c_665 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_2or0c_670 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_2or0c_675 {\n margin: var(--wb-len-16) 0 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverSection_2or0c_681 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n margin-top: var(--wb-len-16);\n}\n\n._discoverSectionTitle_2or0c_688 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_2or0c_694 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_2or0c_699 {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--wb-len-16);\n min-height: var(--wb-len-44);\n padding: var(--wb-len-8) var(--wb-len-2);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverFactKind_2or0c_709 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_2or0c_715 {\n min-width: 0;\n margin: 0;\n text-align: end;\n overflow-wrap: anywhere;\n font: var(--dsw-font-xs-13);\n}\n\n._discoverCode_2or0c_723 {\n padding: var(--wb-len-2) var(--wb-len-6);\n border-radius: var(--wb-radius-6);\n background: var(--dsw-alias-bg-module-platform);\n font-family: var(--ds-font-family-code);\n font-size: var(--dsw-font-xxs-12-font-size);\n box-decoration-break: clone;\n}\n\n._discoverTags_2or0c_732 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_2or0c_739 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_2or0c_739:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_2or0c_749 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_2or0c_757 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverVersionName_2or0c_765 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_2or0c_770 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-6);\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n white-space: pre-line;\n}\n\n._discoverFailure_2or0c_780 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_2or0c_786 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverNotice_2or0c_795 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverNotice_2or0c_795 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_2or0c_813 {\n align-self: center;\n}\n\n._discoverTransport_2or0c_817 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportHead_2or0c_823 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportTitle_2or0c_830 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportHead_2or0c_823 ._discoverTransportKind_2or0c_835 {\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportHead_2or0c_823 ._discoverTransportState_2or0c_840 {\n margin-left: 0;\n}\n\n._discoverTransportHead_2or0c_823 > :last-child {\n margin-left: auto;\n}\n\n._discoverTransportRows_2or0c_848 {\n display: flex;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportRow_2or0c_848 {\n display: flex;\n flex: 1;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n}\n\n._discoverTransportRow_2or0c_848:hover {\n border-color: var(--dsw-alias-border-l3);\n}\n\n._discoverTransportRow_2or0c_848:has(._discoverTransportRadio_2or0c_869:checked) {\n border-color: var(--dsw-alias-label-primary);\n}\n\n._discoverTransportRow_2or0c_848:has(._discoverTransportRadio_2or0c_869:focus-visible) {\n outline: 2px solid var(--dsw-alias-label-primary);\n outline-offset: 1px;\n}\n\n._discoverTransportRadio_2or0c_869 {\n flex: none;\n margin: 0;\n}\n\n._discoverTransportKind_2or0c_835 {\n flex: none;\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportState_2or0c_840 {\n flex: none;\n margin-left: auto;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportRow_2or0c_848[data-state='ok'] ._discoverTransportState_2or0c_840 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._discoverTransportRow_2or0c_848[data-state='auth'] ._discoverTransportState_2or0c_840 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverTransportRow_2or0c_848[data-state='unreachable'] ._discoverTransportState_2or0c_840,\n._discoverTransportRow_2or0c_848[data-state='unknown'] ._discoverTransportState_2or0c_840 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverTransportCustom_2or0c_909 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportInput_2or0c_915 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverInstallBar_2or0c_920 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverInstallText_2or0c_931 {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDialog_2or0c_937 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_2or0c_941 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_2or0c_947 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_2or0c_955 {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--wb-len-12);\n padding: var(--wb-len-10) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverSourceConfirm_2or0c_964 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_2or0c_970 {\n display: flex;\n flex: 1;\n align-items: flex-start;\n gap: var(--wb-len-10);\n min-width: 0;\n cursor: pointer;\n}\n\n._discoverSourceRadio_2or0c_979 {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._discoverSourceMain_2or0c_987 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._discoverSourceHead_2or0c_995 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverSourceUrl_2or0c_1003 {\n display: block;\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverSourceMore_2or0c_1013 {\n flex: none;\n}\n\n._discoverSourceLoading_2or0c_1017 {\n display: flex;\n flex: none;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n white-space: nowrap;\n}\n\n._discoverSourceHint_2or0c_1027 {\n display: flex;\n flex-basis: 100%;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverSourceHint_2or0c_1027 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_2or0c_1041 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_2or0c_1047 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_2or0c_1053 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_2or0c_1058 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_2or0c_1064 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_2or0c_1069 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_2or0c_1075 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_2or0c_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_2or0c_472._discoverSkeletonFill_2or0c_1075 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_2or0c_1084 {\n display: block;\n height: var(--wb-len-12);\n margin: var(--wb-len-4) 0;\n border-radius: var(--dsw-radius-xs);\n}\n\n._discoverSkeletonTitle_2or0c_1091 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_2or0c_1095 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_2or0c_1 {\n 0% {\n opacity: 1;\n }\n 40% {\n opacity: 0.6;\n }\n 80%,\n to {\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._discoverSkeletonFill_2or0c_1075 {\n animation: none;\n }\n}\n\n._block_mxnbc_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-2) 0 var(--wb-len-8);\n min-width: 0;\n}\n\n._head_mxnbc_9 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._title_mxnbc_16 {\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._fact_mxnbc_22 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._actions_mxnbc_30 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-2);\n margin-left: calc(-1 * var(--wb-len-8));\n}\n\n._hint_mxnbc_38 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._output_mxnbc_44 {\n margin-top: var(--wb-len-2);\n min-width: 0;\n}\n._check_1g6tv_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n min-width: 0;\n}\n\n._status_1g6tv_8 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-caption);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n._button_1g6tv_15 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n}\n\n._icon_1g6tv_22 {\n display: inline-flex;\n}\n\n@media (max-width: 720px) {\n ._status_1g6tv_8 {\n display: none;\n }\n}\n._foot_1ud1j_1 {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._footText_1ud1j_13 {\n flex: 1;\n min-width: 0;\n}\n\n._footTextMd_1ud1j_18 {\n flex: 1;\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n._wide_1lv8f_1 {\n justify-content: center;\n width: 100%;\n height: var(--wb-len-40);\n border-radius: var(--dsw-radius-md);\n}\n\n._dialog_1lv8f_8 {\n width: min(var(--wb-len-560), 100%);\n max-height: min(var(--wb-len-800), 100%);\n}\n\n._content_1lv8f_13 {\n min-height: 0;\n overflow: auto;\n}\n\n._stack_1lv8f_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._body_1lv8f_25 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._field_1lv8f_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._input_1lv8f_39 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-14);\n}\n\n._registryField_1lv8f_45 {\n height: var(--wb-len-32);\n margin-left: var(--wb-len-26);\n padding: 0 var(--wb-len-10);\n}\n\n._options_1lv8f_51 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8) var(--wb-len-12);\n}\n\n._guideToggle_1lv8f_59 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-4);\n align-self: flex-start;\n margin-top: var(--wb-len-4);\n padding: 0;\n border: 0;\n background: transparent;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._guideToggle_1lv8f_59:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._guideToggle_1lv8f_59 svg,\n._registryToggle_1lv8f_78 svg {\n transition: transform var(--wb-dur-0-12) ease;\n}\n\n._guideToggle_1lv8f_59[aria-expanded='true'] svg,\n._registryToggle_1lv8f_78[aria-expanded='true'] svg {\n transform: rotate(180deg);\n}\n\n._registryWrap_1lv8f_87 {\n position: relative;\n flex: none;\n}\n\n._registryToggle_1lv8f_78 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n height: var(--wb-len-26);\n padding: 0 var(--wb-len-8) 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n font: inherit;\n font-size: var(--wb-font-12-5);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._registryToggle_1lv8f_78:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._registryToggle_1lv8f_78:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n._registryToggle_1lv8f_78[aria-expanded='true'] {\n border-color: var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n._registryChosen_1lv8f_121 {\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n._registry_1lv8f_45 {\n position: fixed;\n z-index: var(--wb-z-1100);\n box-sizing: border-box;\n width: min(var(--wb-len-440), 100vw - var(--wb-len-24));\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-12);\n border: 0;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-2);\n --dsw-elevation-stroke-color: var(--dsw-alias-border-l3);\n box-shadow: var(--dsw-elevation-prominent);\n}\n\n._registryOption_1lv8f_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid transparent;\n border-radius: var(--dsw-radius-lg);\n cursor: pointer;\n}\n\nlabel._registryOption_1lv8f_143 {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--wb-len-10);\n}\n\n._registryPick_1lv8f_159 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n cursor: pointer;\n}\n\n._registryOption_1lv8f_143[data-checked='true'] {\n border-color: color-mix(in srgb, var(--dsw-alias-brand-primary) 40%, transparent);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._registryOption_1lv8f_143 input[type='radio'] {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._registryTitle_1lv8f_179 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n font: var(--dsw-font-xs-13);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n._registryHint_1lv8f_189 {\n margin-left: var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._inputError_1lv8f_197 {\n margin: var(--wb-len-neg-4) 0 0 var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._guide_1lv8f_59 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._guideList_1lv8f_214 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._guideItem_1lv8f_223 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0;\n}\n\n._guideIndex_1lv8f_230 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n border-radius: var(--wb-radius-pill);\n corner-shape: round;\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._guideMain_1lv8f_244 {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: 0;\n min-width: 0;\n}\n\n._guideTitle_1lv8f_252 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n\n._guideHint_1lv8f_258 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._guideExample_1lv8f_264 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._guideExample_1lv8f_264 code {\n font-family: var(--dsw-font-mono, monospace);\n}\n\n._guideExampleLabel_1lv8f_274 {\n color: var(--dsw-alias-label-caption);\n}\n\n._footer_1lv8f_278 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-20);\n width: 100%;\n}\n\n._hero_1lv8f_285 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0 var(--wb-len-4);\n text-align: center;\n}\n\n._heroIcon_1lv8f_294 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-44);\n height: var(--wb-len-44);\n color: var(--dsw-alias-label-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='done'] {\n color: var(--dsw-alias-state-success-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='error'] {\n color: var(--dsw-alias-state-warn-label);\n}\n\n._pendingTitle_1lv8f_311 {\n margin: 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 500;\n color: var(--dsw-alias-label-secondary);\n}\n\n._wizardTitle_1lv8f_319 {\n margin: 0;\n font-size: var(--wb-font-18);\n line-height: var(--wb-len-26);\n font-weight: 600;\n}\n\n._subject_1lv8f_326 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n text-align: center;\n}\n\n._subjectName_1lv8f_337 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n overflow-wrap: anywhere;\n}\n\n._subjectMeta_1lv8f_343,\n._subjectDesc_1lv8f_344 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._result_1lv8f_351,\n._resultWarn_1lv8f_352 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._resultWarn_1lv8f_352 {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n}\n\n._resultMeta_1lv8f_365 {\n margin: 0;\n padding: 0 var(--wb-len-12);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._approval_1lv8f_373 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-state-warn-primary);\n border-radius: var(--dsw-radius-lg);\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._approvalTitle_1lv8f_383 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._approvalText_1lv8f_390 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._approvalCaution_1lv8f_396 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n font-weight: 600;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._note_1lv8f_403 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._noteWarn_1lv8f_410 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._noteError_1lv8f_414 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._problem_1lv8f_418 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._detailLabel_1lv8f_425 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._detail_1lv8f_425 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-3);\n font-family: var(--dsw-font-mono, monospace);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n._note_1enlz_1 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._note_1enlz_1 > svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n._slot_1t7dx_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1t7dx_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1t7dx_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1t7dx_31 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._paused_1t7dx_35 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._trouble_1t7dx_39 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._pulse_1t7dx_43 {\n animation: _wb-debug-breathe_1t7dx_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-debug-breathe_1t7dx_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1t7dx_43 {\n animation: none;\n }\n}\n\n._entry_1t7dx_64 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1t7dx_71 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1t7dx_78 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1t7dx_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: 0;\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n}\n\n._act_1t7dx_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1t7dx_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._actStop_1t7dx_110:hover,\n._actStop_1t7dx_110:focus-visible {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._actArmed_1t7dx_115,\n._actArmed_1t7dx_115:hover,\n._actArmed_1t7dx_115:focus-visible {\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n width: auto;\n color: var(--dsw-alias-state-error-primary);\n gap: var(--wb-len-4);\n padding: 0 var(--wb-len-7);\n}\n\n._actLabel_1t7dx_125 {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._entryLine_1t7dx_131 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1t7dx_138 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1t7dx_150 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1t7dx_156 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1t7dx_162 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._slot_1gkj9_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1gkj9_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1gkj9_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1gkj9_31 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._done_1gkj9_35 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._pulse_1gkj9_39 {\n animation: _wb-record-breathe_1gkj9_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-record-breathe_1gkj9_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1gkj9_39 {\n animation: none;\n }\n}\n\n._entry_1gkj9_60 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1gkj9_67 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1gkj9_74 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1gkj9_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-22);\n padding: 0 var(--wb-len-7);\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._act_1gkj9_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1gkj9_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._entryLine_1gkj9_108 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1gkj9_115 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1gkj9_127 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1gkj9_133 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1gkj9_139 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._item_lyox9_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n}\n\n._item_lyox9_1 + ._item_lyox9_1 {\n padding-top: var(--wb-len-14);\n border-top: var(--wb-len-0-5) solid var(--dsw-alias-settings-card-stroke);\n}\n\n._head_lyox9_12 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._title_lyox9_19 {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._description_lyox9_31 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._rows_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._row_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-settings-card-stroke);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-settings-card-fill);\n}\n\n._head_85r3w_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._pick_85r3w_27 {\n flex: 0 1 auto;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._pick_85r3w_27 > span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._code_85r3w_39 {\n --dsl-code-block-background: var(--dsw-alias-bg-layer-1);\n margin: 0;\n}\n\n._missing_85r3w_44,\n._conflict_85r3w_45 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-warn-primary);\n}\n._body_11oac_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._sources_11oac_7 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._sourcesLabel_11oac_14 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\nbutton._sourceOn_11oac_19 {\n border-color: var(--dsw-alias-brand-primary);\n}\n._sourceCount_11oac_22 {\n margin-left: var(--wb-len-4);\n font-variant-numeric: tabular-nums;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._reading_11oac_29 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._status_11oac_35 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failure_11oac_45 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n column-gap: var(--wb-len-10);\n row-gap: var(--wb-len-2);\n color: var(--dsw-alias-state-error-primary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n\n._failureTitle_11oac_55 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._failureHint_11oac_62 {\n grid-column: 1;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failureAction_11oac_67 {\n grid-column: 2;\n grid-row: 1;\n justify-self: end;\n}\n\n._foot_11oac_73 {\n display: flex;\n justify-content: flex-end;\n}\n._body_lox98_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._field_lox98_7 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._input_lox98_13 {\n width: 100%;\n}\n\n._label_lox98_17 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\n._hint_lox98_22 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._copy_lox98_28 {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wb-len-8) var(--wb-len-16);\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n._copy_lox98_28 legend {\n padding: 0;\n margin-bottom: var(--wb-len-6);\n}\n\n._actions_lox98_42 {\n display: flex;\n justify-content: flex-end;\n}\n\n._commandLabel_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n}\n\n._command_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-6) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow-wrap: anywhere;\n}\n._body_zi2j5_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._lead_zi2j5_7 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._title_zi2j5_14 {\n font-size: var(--wb-font-18);\n line-height: var(--wb-line-24);\n}\n._hint_zyzt3_1[hidden],\n._actions_zyzt3_2[hidden],\n._progress_zyzt3_3[hidden],\n._commandRow_zyzt3_4[hidden],\n._bridge_zyzt3_5[hidden],\n._raw_zyzt3_6[hidden] {\n display: none;\n}\n\n._gate_zyzt3_10 {\n position: fixed;\n inset: 0;\n z-index: var(--wb-z-top);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wb-len-24);\n background: var(--dsw-alias-bg-base);\n}\n\n._card_zyzt3_21 {\n width: 100%;\n max-width: var(--wb-len-420);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-16);\n text-align: center;\n}\n\n._card_zyzt3_21:has(._actions_zyzt3_2:not([hidden])),\n._card_zyzt3_21:has(._bridge_zyzt3_5:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_zyzt3_36 {\n margin: 0;\n font-size: var(--dsw-font-base-16-font-size);\n line-height: var(--wb-line-24);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._steps_zyzt3_51 {\n list-style: none;\n margin: var(--wb-len-6) 0 0;\n padding: 0;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n text-align: left;\n}\n\n._step_zyzt3_51 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-6) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._step_zyzt3_51[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_zyzt3_78 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-14);\n height: var(--wb-len-14);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._step_zyzt3_51[data-status='ok'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_zyzt3_51[data-status='warn'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_zyzt3_51[data-status='failed'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_zyzt3_103 {\n flex: none;\n}\n\n._detail_zyzt3_107 {\n margin-left: auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._progress_zyzt3_3 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._elapsed_zyzt3_125 {\n flex: none;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._error_zyzt3_133 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n max-height: var(--wb-len-120);\n overflow: auto;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n white-space: pre-wrap;\n word-break: break-all;\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._commandRow_zyzt3_4 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n margin: 0 0 var(--wb-len-8);\n padding-right: var(--wb-len-4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._copy_zyzt3_159 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._copy_zyzt3_159:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_zyzt3_4 {\n flex: 1;\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-primary);\n}\n\n._buttons_zyzt3_192 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_zyzt3_199 {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n justify-content: center;\n background: var(--dsw-alias-bg-base);\n}\n\n._button_zyzt3_192 {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n\n._button_zyzt3_192:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_zyzt3_192:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_zyzt3_2,\n._bridge_zyzt3_5 {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-14) var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-1);\n text-align: left;\n}\n\n._fixTitle_zyzt3_250 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._actions_zyzt3_2 ._hint_zyzt3_1,\n._bridge_zyzt3_5 ._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._actions_zyzt3_2 ._commandRow_zyzt3_4,\n._bridge_zyzt3_5 ._commandRow_zyzt3_4 {\n margin: 0;\n}\n\n._actions_zyzt3_2 ._buttons_zyzt3_192,\n._bridge_zyzt3_5 ._buttons_zyzt3_192 {\n justify-content: flex-start;\n}\n\n._raw_zyzt3_6 {\n box-sizing: border-box;\n width: 100%;\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._rawSummary_zyzt3_286 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_zyzt3_2 ._error_zyzt3_133,\n._bridge_zyzt3_5 ._error_zyzt3_133 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_zyzt3_296 {\n margin: 0;\n padding-left: var(--wb-len-18);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._bridgeLine_zyzt3_296 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_zyzt3_313 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_zyzt3_313::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_zyzt3_313:hover {\n text-decoration: underline;\n}\n\n._loading_zyzt3_327 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_zyzt3_327[hidden] {\n display: none;\n}\n\n._loadingMotion_zyzt3_336 {\n transform-origin: center;\n animation: _wb-spin_zyzt3_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_zyzt3_341,\n._loadingArc_zyzt3_342 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_zyzt3_341 {\n opacity: 0.25;\n}\n\n._loadingArc_zyzt3_342 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_zyzt3_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_zyzt3_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_zyzt3_1 {\n 0% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 24 150;\n stroke-dashoffset: -6;\n }\n to {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._loadingMotion_zyzt3_336,\n ._loadingArc_zyzt3_342 {\n animation: none;\n }\n}\n._changelog_1q6pj_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-10);\n min-width: 0;\n}\n\n._changelogTitle_1q6pj_9 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._changelogMissing_1q6pj_15 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._changelogBody_1q6pj_21 {\n max-height: var(--wb-len-320);\n overflow: auto;\n padding: var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n}\n._group_1hxis_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n}\n\n._button_1hxis_7 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n color: var(--dsw-alias-label-secondary);\n}\n\n._button_1hxis_7:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._active_1hxis_19 {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._icon_1hxis_23 {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n._icon_1hxis_23 svg {\n display: block;\n width: var(--wb-len-15);\n height: var(--wb-len-15);\n}\n\n._mirror_1hxis_35 {\n transform: scaleX(-1);\n}\n._stripTabs_1dqp4_1 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n min-width: 0;\n overflow: hidden;\n}\n\n._tab_1dqp4_9 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n font: inherit;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-16);\n max-width: 100%;\n}\n\n._tabActive_1dqp4_25 {\n color: var(--dsw-alias-label-primary);\n}\n\n._tabQuiet_1dqp4_29 {\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._tabQuiet_1dqp4_29:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._tabTitle_1dqp4_39 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._sep_1dqp4_49 {\n flex: none;\n color: var(--dsw-alias-label-dimmed);\n}\n._actions_smeq7_1 {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: var(--wb-len-8);\n max-width: 100%;\n}\n\n._action_smeq7_1 {\n flex: none;\n white-space: nowrap;\n}\n\n@container (max-width: 340px) {\n ._actions_smeq7_1 {\n flex-direction: column;\n width: var(--wb-len-220);\n max-width: 100%;\n }\n\n ._action_smeq7_1 {\n width: 100%;\n }\n}\n._trigger_15ptp_1 {\n display: flex;\n align-items: center;\n}\n\n._pop_15ptp_6 {\n position: absolute;\n top: calc(var(--wb-len-38) + var(--wb-len-8));\n right: var(--wb-len-6);\n z-index: var(--wb-z-30);\n width: min(var(--wb-len-360), calc(100% - var(--wb-len-12)));\n max-width: calc(100vw - var(--wb-len-48));\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-2);\n box-shadow: var(--dsw-shadow-lv3);\n overflow: hidden;\n}\n\n._head_15ptp_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-10) var(--wb-len-12) var(--wb-len-9) var(--wb-len-14);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._title_15ptp_28 {\n flex: 1;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._rowControls_15ptp_36 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._reset_15ptp_43 {\n flex: none;\n padding: var(--wb-len-3) var(--wb-len-8);\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._reset_15ptp_43:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._reset_15ptp_43:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._list_15ptp_65 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._row_15ptp_36 {\n position: relative;\n display: grid;\n grid-template-columns: 12px minmax(0, 1fr) auto;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-sm);\n cursor: default;\n}\n\n._rowDragging_15ptp_85 {\n cursor: grabbing;\n}\n\n._rowBlocked_15ptp_89 {\n cursor: not-allowed;\n}\n\n._listDragging_15ptp_93 ._rowControls_15ptp_36 {\n pointer-events: none;\n}\n\n._row_15ptp_36:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._rowOff_15ptp_101 {\n opacity: 0.55;\n}\n\n._rowOff_15ptp_101:hover {\n opacity: 1;\n}\n\n._rowOver_15ptp_109::before {\n content: '';\n position: absolute;\n top: var(--wb-len-neg-3);\n left: var(--wb-len-8);\n right: var(--wb-len-8);\n height: var(--wb-len-2);\n background: var(--dsw-alias-brand-primary);\n}\n\n._ghost_15ptp_119 {\n position: fixed;\n z-index: var(--wb-z-40);\n pointer-events: none;\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--wb-static-shadow-ghost);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n white-space: nowrap;\n}\n\n._grip_15ptp_134 {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: center;\n color: var(--dsw-alias-label-tertiary);\n user-select: none;\n cursor: grab;\n touch-action: none;\n}\n\n._gripDragging_15ptp_144 {\n cursor: grabbing;\n}\n\n._gripBlocked_15ptp_148 {\n cursor: not-allowed;\n}\n\n._label_15ptp_152 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._name_15ptp_159 {\n min-width: 0;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n\n._error_15ptp_170 {\n margin: 0;\n padding: 0 var(--wb-len-14) var(--wb-len-10);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._dep_15ptp_178 {\n flex: none;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n}\n\n._group_15ptp_186 {\n padding-top: var(--wb-len-6);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._groupTitle_15ptp_191 {\n margin: 0;\n padding: var(--wb-len-2) var(--wb-len-8) 0 var(--wb-len-14);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n font-weight: 400;\n color: var(--dsw-alias-label-tertiary);\n}\n._panel_1whum_1 {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: var(--wb-z-10);\n visibility: hidden;\n}\n\n._panel_1whum_1[data-fullscreen] {\n z-index: var(--wb-z-40);\n}\n\n._panel_1whum_1[data-open] {\n visibility: visible;\n}\n\n._columns_1whum_18 {\n display: block;\n column-gap: var(--wb-len-12);\n}\n\n._cell_1whum_23 {\n display: flow-root;\n min-width: 0;\n break-inside: avoid;\n margin-bottom: var(--wb-len-12);\n}\n._root_1cmz0_1 {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}\n\n._rail_1cmz0_7 {\n margin: 0 0 var(--wb-len-4);\n}\n\n._glyphBox_1cmz0_11 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n._glyph_1cmz0_11 {\n position: relative;\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._glyphActive_1cmz0_30 {\n color: var(--dsw-alias-state-business-primary);\n}\n\n._triggerName_1cmz0_34 {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n._dir_1cmz0_45 {\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._name_1cmz0_53 {\n flex: 0 1 auto;\n max-width: 50%;\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._triggerName_1cmz0_34 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._row_1cmz0_66 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n width: 100%;\n min-width: 0;\n}\n\n._trailing_1cmz0_74 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n margin-inline-start: auto;\n}\n\n._trailing_1cmz0_74 ._rowAction_1cmz0_84 {\n width: var(--wb-len-20);\n min-width: var(--wb-len-20);\n height: var(--wb-len-20);\n min-height: var(--wb-len-20);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n}\n\n._row_1cmz0_66 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._current_1cmz0_97 {\n flex: none;\n display: inline-flex;\n align-items: center;\n color: var(--dsw-alias-label-primary);\n}\n._dot_sosf1_1 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n._overlay_sosf1_8 {\n position: absolute;\n inset-block-start: var(--wb-len-neg-3);\n inset-inline-end: var(--wb-len-neg-3);\n}\n._tag_g9dg8_1 {\n flex: none;\n margin-inline-start: auto;\n}\n._dialog_1vye5_1 {\n width: min(var(--wb-len-420), 100%);\n}\n\n._stack_1vye5_5 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._input_1vye5_12 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-12);\n}\n\n._meta_1vye5_18 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n._dot_14w1n_1 {\n display: inline-flex;\n align-items: center;\n}\n\n._hover_14w1n_6 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._blocker_1oaj0_1 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-20) var(--wb-len-16);\n text-align: center;\n}\n\n._icon_1oaj0_10 {\n display: flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._title_1oaj0_15 {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_1oaj0_23 {\n margin: 0;\n max-width: var(--wb-len-42em);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n text-wrap: pretty;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 {\n align-items: flex-start;\n gap: var(--wb-len-6);\n padding: var(--wb-len-4) 0 var(--wb-len-2);\n text-align: left;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._title_1oaj0_15 {\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._hint_1oaj0_23 {\n max-width: 100%;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._actions_1oaj0_48 {\n margin-top: var(--wb-len-8);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._raw_1oaj0_52 {\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._actions_1oaj0_48 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-6);\n}\n\n._raw_1oaj0_52 {\n margin-top: var(--wb-len-10);\n width: 100%;\n max-width: var(--wb-len-360);\n text-align: left;\n}\n\n._notice_1oaj0_71 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: start;\n column-gap: var(--wb-len-10);\n margin: 0 0 var(--wb-len-10);\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-left: 2px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._notice_1oaj0_71._noticeFlat_1oaj0_84 {\n margin: 0;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n._noticeText_1oaj0_91 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-3);\n min-width: 0;\n}\n\n._noticeTitle_1oaj0_98 {\n font-size: var(--wb-font-12-5);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._noticeHint_1oaj0_105 {\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._noticeActions_1oaj0_112 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-neg-2);\n}\n\n._failure_1oaj0_119 {\n margin: var(--wb-len-8) 0 0;\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._failureDetail_1oaj0_127 {\n display: block;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-label-tertiary);\n white-space: pre-wrap;\n}\n\n._inlineAction_1oaj0_134 {\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n\n._inlineAction_1oaj0_134:disabled {\n opacity: 0.6;\n cursor: default;\n}\n\n._rawText_1oaj0_146 {\n margin: var(--wb-len-6) 0 0;\n max-width: 100%;\n}\n/*$vite$:1*/";
16456
16542
  function workbenchCss() {
16457
16543
  return `${tokens_default}\n${palette_default}\n${scale_default}\n${sidebar_default}\n${sidebar_app_default}\n${rightbar_default}\n${chrome_default}\n${board_default}\n${motion_default}\n${COMPONENT_CSS_MARKER}`;
16458
16544
  }
@@ -16482,6 +16568,10 @@ window.__ModuleLoader__.load({
16482
16568
  }
16483
16569
  }
16484
16570
  function mount(ctx) {
16571
+ setRuntimeTextResolver((text) => ctx.locale.resolveText?.({
16572
+ zh: text.zh,
16573
+ en: text.en
16574
+ }) ?? text.zh);
16485
16575
  const loadUnitManifests = createUnitManifestLoader();
16486
16576
  const units = createClientUnitRegistry({ onUnknownUnit: () => loadUnitManifests(units) });
16487
16577
  ctx.provide(UNITS_SERVICE, {