@dsh-workbench/core 0.2.14 → 0.2.16
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.
- package/client.js +630 -142
- package/dist/client/client.body.js +630 -142
- package/dist/client/index.js +3524 -421
- package/dist/host/index.js +571 -44
- package/dist/types/app/client.d.ts +121 -6
- package/dist/types/app/layouts/rightbar/__tests__/board-fact.test.d.ts +1 -0
- package/dist/types/app/layouts/rightbar/board-fact.d.ts +5 -0
- package/dist/types/app/layouts/sidebar/DebugFooterAction.d.ts +17 -0
- package/dist/types/app/layouts/sidebar/ProjectSwitcher.d.ts +2 -1
- package/dist/types/app/layouts/sidebar/__tests__/debug-ui.test.d.ts +1 -0
- package/dist/types/app/layouts/sidebar/debug-footer.d.ts +4 -0
- package/dist/types/app/layouts/sidebar/session-pick.d.ts +2 -1
- package/dist/types/modules/panels/__tests__/diy-harness.d.ts +6 -3
- package/dist/types/modules/panels/model/diy-browser-act.d.ts +1 -1
- package/dist/types/modules/panels/model/diy-browser.d.ts +4 -0
- package/dist/types/modules/panels/model/diy-debug-routes.d.ts +2 -0
- package/dist/types/modules/panels/model/diy-debug-routes.test.d.ts +1 -0
- package/dist/types/modules/panels/model/diy-debug-tools.d.ts +8 -0
- package/dist/types/modules/panels/model/diy-debug-tools.test.d.ts +1 -0
- package/dist/types/modules/panels/model/diy-look.d.ts +2 -1
- package/dist/types/modules/panels/model/diy-page.d.ts +14 -0
- package/dist/types/modules/panels/model/diy-scripts.d.ts +2 -1
- package/dist/types/modules/panels/model/diy-tools.d.ts +2 -1
- package/dist/types/modules/panels/model/handoff.d.ts +1 -0
- package/dist/types/modules/panels/unit.d.ts +7 -2
- package/dist/types/modules/sessions/index.d.ts +1 -1
- package/dist/types/modules/sessions/model/attention.d.ts +7 -0
- package/dist/types/shared/__tests__/host-import-barrel.test.d.ts +1 -0
- package/dist/types/shared/api/host/__tests__/diy-debug-act.test.d.ts +1 -0
- package/dist/types/shared/api/host/__tests__/host-args.test.d.ts +1 -0
- package/dist/types/shared/api/host/diy-debug-act.d.ts +31 -0
- package/dist/types/shared/api/host/host-args.d.ts +3 -0
- package/dist/types/shared/hooks/use-api-resource.d.ts +1 -0
- package/dist/types/shared/hooks/use-diy-debug.d.ts +8 -0
- package/package.json +2 -2
- package/skills/workbench-module-diy/KIT.md +18 -3
|
@@ -606,12 +606,15 @@ var EVENTS_PATH = "/workbench/events";
|
|
|
606
606
|
var ACTIONS_PREFIX = `${API_PREFIX}/actions`;
|
|
607
607
|
var PROVISION_PREFIX = `${API_PREFIX}/provision`;
|
|
608
608
|
var PANEL_STATE_PATH = "panel-state";
|
|
609
|
+
var DIY_DEBUG_PATH = "diy-debug";
|
|
610
|
+
var DIY_DEBUG_ACT_PATH = `${DIY_DEBUG_PATH}/act`;
|
|
609
611
|
var PANEL_STATE_PREFIX = `${API_PREFIX}/${PANEL_STATE_PATH}`;
|
|
610
612
|
var OPENCLI_PIN = "1.8.8";
|
|
611
613
|
var CODING_ISSUES_SERVICE = "workbenchCodingIssues";
|
|
612
614
|
var PANELS_SERVICE = "workbenchPanels";
|
|
613
615
|
var UNITS_SERVICE = "workbenchUnits";
|
|
614
616
|
var PANEL_STATE_SERVICE = "workbenchPanelState";
|
|
617
|
+
var DIY_DEBUG_SERVICE = "workbenchDiyDebug";
|
|
615
618
|
var OPENCLI_TIMEOUT_MS = 12e4;
|
|
616
619
|
var WARM_TIMEOUT_MS = 2e4;
|
|
617
620
|
var INSTALL_TIMEOUT_MS = 3e5;
|
|
@@ -1170,30 +1173,8 @@ function SaveBar({ busy, disabled, labels, onCancel, onSave }) {
|
|
|
1170
1173
|
}] });
|
|
1171
1174
|
}
|
|
1172
1175
|
//#endregion
|
|
1173
|
-
//#region ../shared/dist/components/
|
|
1174
|
-
function
|
|
1175
|
-
return h("input", {
|
|
1176
|
-
...rest,
|
|
1177
|
-
className: className === void 0 ? "wb-textField" : `wb-textField ${className}`,
|
|
1178
|
-
"aria-invalid": invalid || void 0
|
|
1179
|
-
});
|
|
1180
|
-
}
|
|
1181
|
-
//#endregion
|
|
1182
|
-
//#region ../shared/dist/components/SelectField.js
|
|
1183
|
-
var FOOTER_ID = "__wb-select-footer__";
|
|
1184
|
-
var EMPTY_ID = "__wb-select-empty__";
|
|
1185
|
-
function mergeClass(...parts) {
|
|
1186
|
-
return parts.filter((one) => one !== void 0 && one !== "").join(" ");
|
|
1187
|
-
}
|
|
1188
|
-
function itemOf(option) {
|
|
1189
|
-
return {
|
|
1190
|
-
id: option.value,
|
|
1191
|
-
label: option.label,
|
|
1192
|
-
...option.icon === void 0 ? {} : { icon: option.icon },
|
|
1193
|
-
...option.disabled === true ? { disabled: true } : {}
|
|
1194
|
-
};
|
|
1195
|
-
}
|
|
1196
|
-
function triggerNode(args) {
|
|
1176
|
+
//#region ../shared/dist/components/SelectFieldNodes.js
|
|
1177
|
+
function selectTriggerNode(args) {
|
|
1197
1178
|
return h("button", {
|
|
1198
1179
|
type: "button",
|
|
1199
1180
|
id: args.id,
|
|
@@ -1205,9 +1186,9 @@ function triggerNode(args) {
|
|
|
1205
1186
|
"aria-label": args.ariaLabel,
|
|
1206
1187
|
title: args.title,
|
|
1207
1188
|
onClick: args.onOpen
|
|
1208
|
-
}, args.icon === void 0 ? null : h("span", { className: "wb-selectIcon" }, args.icon), h("span", { className: "wb-selectValue" }, args.value), h("span", { className: "wb-selectChevron" }, h(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, { size: 14 })));
|
|
1189
|
+
}, args.iconOnly ? h("span", { className: "wb-selectIcon" }, args.icon) : h(Fragment, null, args.icon === void 0 ? null : h("span", { className: "wb-selectIcon" }, args.icon), h("span", { className: "wb-selectValue" }, args.value), h("span", { className: "wb-selectChevron" }, h(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, { size: 14 }))));
|
|
1209
1190
|
}
|
|
1210
|
-
function
|
|
1191
|
+
function selectLoadingNode(args) {
|
|
1211
1192
|
return h("button", {
|
|
1212
1193
|
type: "button",
|
|
1213
1194
|
id: args.id,
|
|
@@ -1219,6 +1200,57 @@ function loadingNode(args) {
|
|
|
1219
1200
|
title: args.loadingText
|
|
1220
1201
|
}, h("span", { className: "wb-selectValue" }, h(_deepseek_ai_dsh_client_ui_primitives.TextShimmer, { active: true }, args.loadingText ?? "…")), h("span", { className: "wb-selectChevron" }, h(Spinner, { size: 14 })));
|
|
1221
1202
|
}
|
|
1203
|
+
//#endregion
|
|
1204
|
+
//#region ../shared/dist/components/TextField.js
|
|
1205
|
+
function TextField({ invalid = false, className, ...rest }) {
|
|
1206
|
+
return h("input", {
|
|
1207
|
+
...rest,
|
|
1208
|
+
className: className === void 0 ? "wb-textField" : `wb-textField ${className}`,
|
|
1209
|
+
"aria-invalid": invalid || void 0
|
|
1210
|
+
});
|
|
1211
|
+
}
|
|
1212
|
+
//#endregion
|
|
1213
|
+
//#region ../shared/dist/components/SelectField.js
|
|
1214
|
+
var FOOTER_ID = "__wb-select-footer__";
|
|
1215
|
+
var EMPTY_ID = "__wb-select-empty__";
|
|
1216
|
+
function mergeClass(...parts) {
|
|
1217
|
+
return parts.filter((one) => one !== void 0 && one !== "").join(" ");
|
|
1218
|
+
}
|
|
1219
|
+
function triggerClassOf(variantClass, iconOnly) {
|
|
1220
|
+
return mergeClass("wb-selectTrigger", variantClass, iconOnly ? "wb-selectIconOnly" : void 0);
|
|
1221
|
+
}
|
|
1222
|
+
function itemOf(option, revealId) {
|
|
1223
|
+
if (!(option.value === revealId)) return {
|
|
1224
|
+
id: option.value,
|
|
1225
|
+
label: option.label,
|
|
1226
|
+
...option.icon === void 0 ? {} : { icon: option.icon },
|
|
1227
|
+
...option.disabled === true ? { disabled: true } : {}
|
|
1228
|
+
};
|
|
1229
|
+
const revealed = (node) => h("span", {
|
|
1230
|
+
className: "wb-selectReveal",
|
|
1231
|
+
"data-wb-select-reveal": ""
|
|
1232
|
+
}, node);
|
|
1233
|
+
return {
|
|
1234
|
+
id: option.value,
|
|
1235
|
+
label: option.icon === void 0 ? revealed(option.label) : option.label,
|
|
1236
|
+
...option.icon === void 0 ? {} : { icon: revealed(option.icon) },
|
|
1237
|
+
...option.disabled === true ? { disabled: true } : {}
|
|
1238
|
+
};
|
|
1239
|
+
}
|
|
1240
|
+
function revealNode() {
|
|
1241
|
+
const found = document.querySelector("[data-wb-select-reveal]");
|
|
1242
|
+
return found instanceof HTMLElement ? found : null;
|
|
1243
|
+
}
|
|
1244
|
+
function useRevealOnOpen(open, revealId) {
|
|
1245
|
+
useEffect(() => {
|
|
1246
|
+
if (!open || revealId === void 0) return;
|
|
1247
|
+
revealNode()?.scrollIntoView({ block: "nearest" });
|
|
1248
|
+
}, [open, revealId]);
|
|
1249
|
+
}
|
|
1250
|
+
function selectValueNode(current, renderValue, placeholder) {
|
|
1251
|
+
if (current === void 0) return h("span", { className: "wb-selectPlaceholder" }, placeholder ?? "—");
|
|
1252
|
+
return renderValue === void 0 ? current.label : renderValue(current);
|
|
1253
|
+
}
|
|
1222
1254
|
function searchNode(args) {
|
|
1223
1255
|
return h("span", {
|
|
1224
1256
|
ref: args.boxRef,
|
|
@@ -1282,7 +1314,7 @@ function stepSelectCursor(shown, cursor, step) {
|
|
|
1282
1314
|
if (cursor === null) return step === 1 ? 0 : shown.length - 1;
|
|
1283
1315
|
return (cursor + step + shown.length) % shown.length;
|
|
1284
1316
|
}
|
|
1285
|
-
function selectEntries(shown, emptyText) {
|
|
1317
|
+
function selectEntries(shown, emptyText, revealId) {
|
|
1286
1318
|
if (shown.length === 0) return emptyText === void 0 ? [] : [{
|
|
1287
1319
|
type: "label",
|
|
1288
1320
|
id: EMPTY_ID,
|
|
@@ -1299,7 +1331,7 @@ function selectEntries(shown, emptyText) {
|
|
|
1299
1331
|
});
|
|
1300
1332
|
group = option.group;
|
|
1301
1333
|
}
|
|
1302
|
-
out.push(itemOf(option));
|
|
1334
|
+
out.push(itemOf(option, revealId));
|
|
1303
1335
|
}
|
|
1304
1336
|
return out;
|
|
1305
1337
|
}
|
|
@@ -1363,12 +1395,13 @@ function useSelectState(props) {
|
|
|
1363
1395
|
};
|
|
1364
1396
|
}
|
|
1365
1397
|
function SelectField(props) {
|
|
1366
|
-
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", ariaLabel, title, id, name, className, menuClassName } = props;
|
|
1398
|
+
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;
|
|
1367
1399
|
const state = useSelectState(props);
|
|
1368
1400
|
const current = options.find((option) => option.value === value);
|
|
1401
|
+
useRevealOnOpen(state.open, revealId);
|
|
1369
1402
|
const variantClass = variant === "ghost" ? "wb-selectGhost" : void 0;
|
|
1370
|
-
const triggerClass =
|
|
1371
|
-
if (loading) return framed(label, hint, className,
|
|
1403
|
+
const triggerClass = triggerClassOf(variantClass, iconOnly);
|
|
1404
|
+
if (loading) return framed(label, hint, className, selectLoadingNode({
|
|
1372
1405
|
id,
|
|
1373
1406
|
className: triggerClass,
|
|
1374
1407
|
invalid,
|
|
@@ -1384,7 +1417,7 @@ function SelectField(props) {
|
|
|
1384
1417
|
value: fallback.value,
|
|
1385
1418
|
onChange: (event) => fallback.onChange(event.currentTarget.value)
|
|
1386
1419
|
}));
|
|
1387
|
-
const trigger =
|
|
1420
|
+
const trigger = selectTriggerNode({
|
|
1388
1421
|
id,
|
|
1389
1422
|
className: triggerClass,
|
|
1390
1423
|
disabled,
|
|
@@ -1393,7 +1426,8 @@ function SelectField(props) {
|
|
|
1393
1426
|
ariaLabel,
|
|
1394
1427
|
title,
|
|
1395
1428
|
icon,
|
|
1396
|
-
value: current
|
|
1429
|
+
value: selectValueNode(current, renderValue, placeholder),
|
|
1430
|
+
iconOnly,
|
|
1397
1431
|
onOpen: () => state.setOpen(true)
|
|
1398
1432
|
});
|
|
1399
1433
|
const anchor = state.open && search ? searchNode({
|
|
@@ -1429,7 +1463,7 @@ function SelectField(props) {
|
|
|
1429
1463
|
anchor,
|
|
1430
1464
|
selection,
|
|
1431
1465
|
selectedId: selectCursorValue(state.shown, state.cursor) ?? void 0,
|
|
1432
|
-
items: selectEntries(state.shown, state.empty),
|
|
1466
|
+
items: selectEntries(state.shown, state.empty, revealId),
|
|
1433
1467
|
footer: footer === void 0 ? void 0 : [{
|
|
1434
1468
|
id: FOOTER_ID,
|
|
1435
1469
|
label: footer.label,
|
|
@@ -2094,7 +2128,21 @@ var en = {
|
|
|
2094
2128
|
"configSync.unreadable": "Cannot read {path}: {reason}",
|
|
2095
2129
|
"configSync.noSource": "This machine has no other profile to sync from",
|
|
2096
2130
|
"configSync.emptyProviders": "The workbench has no model provider yet — sync the llm- rows from some profile, or configure one under Models.",
|
|
2097
|
-
"configSync.failed": "The sync did not go through; try again."
|
|
2131
|
+
"configSync.failed": "The sync did not go through; try again.",
|
|
2132
|
+
"debug.status": "Workbench DIY debugging",
|
|
2133
|
+
"debug.status.trouble": "Workbench DIY debugging needs attention",
|
|
2134
|
+
"debug.stalled": "Workbench DIY debugging paused",
|
|
2135
|
+
"debug.act.pause": "Pause debugging",
|
|
2136
|
+
"debug.act.resume": "Resume debugging",
|
|
2137
|
+
"debug.act.stop": "Stop debugging",
|
|
2138
|
+
"debug.act.stop.ask": "Confirm stop",
|
|
2139
|
+
"debug.card.here.title": "Workbench DIY debugging is on",
|
|
2140
|
+
"debug.card.here.note": "Do not switch workspaces or touch the panel",
|
|
2141
|
+
"debug.card.away.title": "Workbench DIY debugging is on",
|
|
2142
|
+
"debug.card.away.note": "Switch to the Workbench DIY workspace",
|
|
2143
|
+
"debug.card.paused.note": "Paused",
|
|
2144
|
+
"debug.card.hidden.note": "Switch to the Workbench panel",
|
|
2145
|
+
"debug.back": "Back to the workshop screen"
|
|
2098
2146
|
};
|
|
2099
2147
|
//#endregion
|
|
2100
2148
|
//#region ../shared/dist/i18n/zh.js
|
|
@@ -2505,7 +2553,21 @@ var zh = {
|
|
|
2505
2553
|
"configSync.unreadable": "读不到 {path}:{reason}",
|
|
2506
2554
|
"configSync.noSource": "这台机器上只有工作台这一个 profile,没有可同步的来源",
|
|
2507
2555
|
"configSync.emptyProviders": "工作台还没有任何模型供应商 —— 去「配置同步」从某个 profile 把 llm- 那几行搬过来,或自己去「模型」里配。",
|
|
2508
|
-
"configSync.failed": "同步没成功,再试一次。"
|
|
2556
|
+
"configSync.failed": "同步没成功,再试一次。",
|
|
2557
|
+
"debug.status": "工作台 DIY 开发调试中",
|
|
2558
|
+
"debug.status.trouble": "工作台 DIY 开发调试异常",
|
|
2559
|
+
"debug.stalled": "工作台 DIY 调试暂停",
|
|
2560
|
+
"debug.act.pause": "暂停调试",
|
|
2561
|
+
"debug.act.resume": "继续调试",
|
|
2562
|
+
"debug.act.stop": "结束调试",
|
|
2563
|
+
"debug.act.stop.ask": "确认结束",
|
|
2564
|
+
"debug.card.here.title": "当前工作台 DIY 开发调试中",
|
|
2565
|
+
"debug.card.here.note": "请勿切换工作区和操作面板",
|
|
2566
|
+
"debug.card.away.title": "工作台 DIY 开发调试中",
|
|
2567
|
+
"debug.card.away.note": "请切换到工作台 DIY 工作区",
|
|
2568
|
+
"debug.card.paused.note": "已暂停",
|
|
2569
|
+
"debug.card.hidden.note": "请切换到工作台面板",
|
|
2570
|
+
"debug.back": "回到工坊那一屏"
|
|
2509
2571
|
};
|
|
2510
2572
|
//#endregion
|
|
2511
2573
|
//#region ../shared/dist/i18n/index.js
|
|
@@ -2616,6 +2678,129 @@ function revealFirstProblem(root) {
|
|
|
2616
2678
|
problem.querySelector(FOCUSABLE_SELECTOR)?.focus?.();
|
|
2617
2679
|
return true;
|
|
2618
2680
|
}
|
|
2681
|
+
//#endregion
|
|
2682
|
+
//#region ../shared/dist/lib/board-fact.js
|
|
2683
|
+
function insideWorkshop(root, target) {
|
|
2684
|
+
if (target === root) return true;
|
|
2685
|
+
const base = root.endsWith("/") ? root : `${root}/`;
|
|
2686
|
+
return target.startsWith(base);
|
|
2687
|
+
}
|
|
2688
|
+
function boardFactOf(probe, workshop) {
|
|
2689
|
+
if (!probe.workbench) return "unknown";
|
|
2690
|
+
if (!probe.bar || !probe.open || !probe.drawn) return "hidden";
|
|
2691
|
+
if (probe.board === "" || workshop === null) return "unknown";
|
|
2692
|
+
return insideWorkshop(workshop, probe.board) ? "workshop" : "other";
|
|
2693
|
+
}
|
|
2694
|
+
function boardSituation(probe, workshop) {
|
|
2695
|
+
if (!probe.workbench || workshop === null) return "unknown";
|
|
2696
|
+
if (probe.bar && probe.open && probe.drawn) {
|
|
2697
|
+
if (probe.board === "") return "unknown";
|
|
2698
|
+
return insideWorkshop(workshop, probe.board) ? "ok" : "other-board";
|
|
2699
|
+
}
|
|
2700
|
+
if (probe.where !== "" && !insideWorkshop(workshop, probe.where)) return "off-workspace";
|
|
2701
|
+
return "panel-closed";
|
|
2702
|
+
}
|
|
2703
|
+
//#endregion
|
|
2704
|
+
//#region ../shared/dist/lib/diy-debug.js
|
|
2705
|
+
function parseDebugIntent(value) {
|
|
2706
|
+
return value === "pause" || value === "resume" || value === "stop" ? value : null;
|
|
2707
|
+
}
|
|
2708
|
+
var DEBUG_STALE_MS = 144e5;
|
|
2709
|
+
function alive(state, now) {
|
|
2710
|
+
if (state === null) return null;
|
|
2711
|
+
return now - state.at <= 144e5 ? state : null;
|
|
2712
|
+
}
|
|
2713
|
+
function ownerOf(state, sessionId, now) {
|
|
2714
|
+
const held = alive(state, now);
|
|
2715
|
+
if (held === null) return "none";
|
|
2716
|
+
return held.sessionId === sessionId ? held : "not-owner";
|
|
2717
|
+
}
|
|
2718
|
+
function createDebugStore() {
|
|
2719
|
+
let held = null;
|
|
2720
|
+
const live = (now) => alive(held, now);
|
|
2721
|
+
return {
|
|
2722
|
+
live,
|
|
2723
|
+
begin(pact) {
|
|
2724
|
+
const current = alive(held, pact.now);
|
|
2725
|
+
if (current !== null) return {
|
|
2726
|
+
ok: false,
|
|
2727
|
+
code: current.sessionId === pact.sessionId ? "already-held" : "held-by-other"
|
|
2728
|
+
};
|
|
2729
|
+
const state = {
|
|
2730
|
+
phase: "debugging",
|
|
2731
|
+
sessionId: pact.sessionId,
|
|
2732
|
+
workspace: pact.workspace,
|
|
2733
|
+
board: pact.board,
|
|
2734
|
+
unit: pact.unit,
|
|
2735
|
+
name: pact.name,
|
|
2736
|
+
startedAt: pact.now,
|
|
2737
|
+
at: pact.now
|
|
2738
|
+
};
|
|
2739
|
+
held = state;
|
|
2740
|
+
return {
|
|
2741
|
+
ok: true,
|
|
2742
|
+
state
|
|
2743
|
+
};
|
|
2744
|
+
},
|
|
2745
|
+
pause(sessionId, now) {
|
|
2746
|
+
const found = ownerOf(held, sessionId, now);
|
|
2747
|
+
if (typeof found === "string") return {
|
|
2748
|
+
ok: false,
|
|
2749
|
+
code: found
|
|
2750
|
+
};
|
|
2751
|
+
if (found.phase === "paused") return {
|
|
2752
|
+
ok: false,
|
|
2753
|
+
code: "already-paused"
|
|
2754
|
+
};
|
|
2755
|
+
const state = {
|
|
2756
|
+
...found,
|
|
2757
|
+
phase: "paused",
|
|
2758
|
+
at: now
|
|
2759
|
+
};
|
|
2760
|
+
held = state;
|
|
2761
|
+
return {
|
|
2762
|
+
ok: true,
|
|
2763
|
+
state
|
|
2764
|
+
};
|
|
2765
|
+
},
|
|
2766
|
+
resume(sessionId, now) {
|
|
2767
|
+
const found = ownerOf(held, sessionId, now);
|
|
2768
|
+
if (typeof found === "string") return {
|
|
2769
|
+
ok: false,
|
|
2770
|
+
code: found
|
|
2771
|
+
};
|
|
2772
|
+
if (found.phase === "debugging") return {
|
|
2773
|
+
ok: false,
|
|
2774
|
+
code: "already-debugging"
|
|
2775
|
+
};
|
|
2776
|
+
const state = {
|
|
2777
|
+
...found,
|
|
2778
|
+
phase: "debugging",
|
|
2779
|
+
at: now
|
|
2780
|
+
};
|
|
2781
|
+
held = state;
|
|
2782
|
+
return {
|
|
2783
|
+
ok: true,
|
|
2784
|
+
state
|
|
2785
|
+
};
|
|
2786
|
+
},
|
|
2787
|
+
stop(sessionId, now) {
|
|
2788
|
+
const found = ownerOf(held, sessionId, now);
|
|
2789
|
+
if (typeof found === "string") return {
|
|
2790
|
+
ok: false,
|
|
2791
|
+
code: found
|
|
2792
|
+
};
|
|
2793
|
+
held = null;
|
|
2794
|
+
return {
|
|
2795
|
+
ok: true,
|
|
2796
|
+
state: found
|
|
2797
|
+
};
|
|
2798
|
+
}
|
|
2799
|
+
};
|
|
2800
|
+
}
|
|
2801
|
+
function debugOwnerText(state) {
|
|
2802
|
+
return `会话 ${state.sessionId}(自 ${new Date(state.startedAt).toISOString().slice(11, 19)}Z 起在调试 ${state.unit})`;
|
|
2803
|
+
}
|
|
2619
2804
|
var PANEL_STATE_CRASH_WINDOW_MS = 6e5;
|
|
2620
2805
|
var PANEL_STATE_MAX_TEXT = 2e3;
|
|
2621
2806
|
var PHASES = [
|
|
@@ -2881,9 +3066,13 @@ var dist_exports = /* @__PURE__ */ __exportAll({
|
|
|
2881
3066
|
CenteredState: () => CenteredState,
|
|
2882
3067
|
ChoiceGroup: () => ChoiceGroup,
|
|
2883
3068
|
Component: () => Component,
|
|
3069
|
+
DEBUG_STALE_MS: () => DEBUG_STALE_MS,
|
|
2884
3070
|
DECLARATION_KEYS: () => DECLARATION_KEYS,
|
|
2885
3071
|
DECLARATION_REQUIRED_KEYS: () => DECLARATION_REQUIRED_KEYS,
|
|
2886
3072
|
DEFAULT_WORKSPACE_TITLE: () => DEFAULT_WORKSPACE_TITLE,
|
|
3073
|
+
DIY_DEBUG_ACT_PATH: () => DIY_DEBUG_ACT_PATH,
|
|
3074
|
+
DIY_DEBUG_PATH: () => DIY_DEBUG_PATH,
|
|
3075
|
+
DIY_DEBUG_SERVICE: () => DIY_DEBUG_SERVICE,
|
|
2887
3076
|
EVENTS_PATH: () => EVENTS_PATH,
|
|
2888
3077
|
EmptyState: () => EmptyState,
|
|
2889
3078
|
FACT_SCOPE_SUFFIX: () => "*",
|
|
@@ -2955,12 +3144,16 @@ var dist_exports = /* @__PURE__ */ __exportAll({
|
|
|
2955
3144
|
blockerOfCapability: () => blockerOfCapability,
|
|
2956
3145
|
blockerOfError: () => blockerOfError,
|
|
2957
3146
|
blockerPending: () => blockerPending,
|
|
3147
|
+
boardFactOf: () => boardFactOf,
|
|
3148
|
+
boardSituation: () => boardSituation,
|
|
2958
3149
|
buildMarker: () => buildMarker,
|
|
2959
3150
|
cardIdOf: () => cardIdOf,
|
|
2960
3151
|
createContext: () => createContext,
|
|
3152
|
+
createDebugStore: () => createDebugStore,
|
|
2961
3153
|
createFactChannel: () => createFactChannel,
|
|
2962
3154
|
createPanelStateStore: () => createPanelStateStore,
|
|
2963
3155
|
cx: () => cx,
|
|
3156
|
+
debugOwnerText: () => debugOwnerText,
|
|
2964
3157
|
declarationProblemsOf: () => declarationProblemsOf,
|
|
2965
3158
|
decodeRef: () => decodeRef,
|
|
2966
3159
|
defaultSelectFilter: () => defaultSelectFilter,
|
|
@@ -2976,6 +3169,7 @@ var dist_exports = /* @__PURE__ */ __exportAll({
|
|
|
2976
3169
|
h: () => h,
|
|
2977
3170
|
hasEnvSupply: () => hasEnvSupply,
|
|
2978
3171
|
holdBusy: () => holdBusy,
|
|
3172
|
+
insideWorkshop: () => insideWorkshop,
|
|
2979
3173
|
isFactScope: () => isFactScope,
|
|
2980
3174
|
longTaskDot: () => longTaskDot,
|
|
2981
3175
|
longTaskPollMs: () => longTaskPollMs,
|
|
@@ -2985,6 +3179,7 @@ var dist_exports = /* @__PURE__ */ __exportAll({
|
|
|
2985
3179
|
mergeMessagesSkipping: () => mergeMessagesSkipping,
|
|
2986
3180
|
parseCardsReport: () => parseCardsReport,
|
|
2987
3181
|
parseCrashReport: () => parseCrashReport,
|
|
3182
|
+
parseDebugIntent: () => parseDebugIntent,
|
|
2988
3183
|
parseFactFrame: () => parseFactFrame,
|
|
2989
3184
|
parseJsonLoose: () => parseJsonLoose,
|
|
2990
3185
|
parseLocalTimestamp: () => parseLocalTimestamp,
|
|
@@ -3140,10 +3335,10 @@ var silentNextProbe = false;
|
|
|
3140
3335
|
function markNextProbeSilent() {
|
|
3141
3336
|
silentNextProbe = true;
|
|
3142
3337
|
}
|
|
3143
|
-
var probe = NO_PROBE;
|
|
3338
|
+
var probe$1 = NO_PROBE;
|
|
3144
3339
|
var probeListeners = /* @__PURE__ */ new Set();
|
|
3145
3340
|
function probeValue() {
|
|
3146
|
-
return probe;
|
|
3341
|
+
return probe$1;
|
|
3147
3342
|
}
|
|
3148
3343
|
function subscribeProbe(listener) {
|
|
3149
3344
|
probeListeners.add(listener);
|
|
@@ -3152,43 +3347,43 @@ function subscribeProbe(listener) {
|
|
|
3152
3347
|
};
|
|
3153
3348
|
}
|
|
3154
3349
|
function setProbe(next) {
|
|
3155
|
-
if (next === probe) return;
|
|
3156
|
-
probe = next;
|
|
3350
|
+
if (next === probe$1) return;
|
|
3351
|
+
probe$1 = next;
|
|
3157
3352
|
for (const listener of [...probeListeners]) listener();
|
|
3158
3353
|
}
|
|
3159
3354
|
var CAPABILITY_FACT = "capability";
|
|
3160
3355
|
var shared = null;
|
|
3161
3356
|
var current$1 = null;
|
|
3162
|
-
var listeners$
|
|
3357
|
+
var listeners$4 = /* @__PURE__ */ new Set();
|
|
3163
3358
|
function capabilityValue() {
|
|
3164
3359
|
return current$1;
|
|
3165
3360
|
}
|
|
3166
3361
|
function subscribeCapabilities(listener) {
|
|
3167
|
-
listeners$
|
|
3362
|
+
listeners$4.add(listener);
|
|
3168
3363
|
return () => {
|
|
3169
|
-
listeners$
|
|
3364
|
+
listeners$4.delete(listener);
|
|
3170
3365
|
};
|
|
3171
3366
|
}
|
|
3172
3367
|
function setCapabilities(next, rechecked = false) {
|
|
3173
3368
|
if (next === null) setProbe(NO_PROBE);
|
|
3174
3369
|
else if (rechecked) setProbe({
|
|
3175
|
-
...probe,
|
|
3370
|
+
...probe$1,
|
|
3176
3371
|
checkedAt: Date.now()
|
|
3177
3372
|
});
|
|
3178
3373
|
if (next === current$1) return;
|
|
3179
3374
|
current$1 = next;
|
|
3180
|
-
for (const listener of [...listeners$
|
|
3375
|
+
for (const listener of [...listeners$4]) listener();
|
|
3181
3376
|
}
|
|
3182
3377
|
function beginProbe() {
|
|
3183
|
-
if (probe.checking) return;
|
|
3378
|
+
if (probe$1.checking) return;
|
|
3184
3379
|
setProbe({
|
|
3185
|
-
...probe,
|
|
3380
|
+
...probe$1,
|
|
3186
3381
|
checking: true
|
|
3187
3382
|
});
|
|
3188
3383
|
}
|
|
3189
3384
|
function endProbe() {
|
|
3190
3385
|
setProbe({
|
|
3191
|
-
...probe,
|
|
3386
|
+
...probe$1,
|
|
3192
3387
|
checking: false
|
|
3193
3388
|
});
|
|
3194
3389
|
}
|
|
@@ -3315,20 +3510,20 @@ var devSurface = {
|
|
|
3315
3510
|
//#endregion
|
|
3316
3511
|
//#region src/app/layouts/panel-hint.ts
|
|
3317
3512
|
var hints = /* @__PURE__ */ new Map();
|
|
3318
|
-
var listeners$
|
|
3513
|
+
var listeners$3 = /* @__PURE__ */ new Set();
|
|
3319
3514
|
function publishPanelHint(id, hint) {
|
|
3320
3515
|
if ((hints.get(id)?.labelKey ?? null) === (hint?.labelKey ?? null)) return;
|
|
3321
3516
|
if (hint === null) hints.delete(id);
|
|
3322
3517
|
else hints.set(id, hint);
|
|
3323
|
-
for (const listener of [...listeners$
|
|
3518
|
+
for (const listener of [...listeners$3]) listener();
|
|
3324
3519
|
}
|
|
3325
3520
|
function panelHintOf(id) {
|
|
3326
3521
|
return id === null ? null : hints.get(id) ?? null;
|
|
3327
3522
|
}
|
|
3328
3523
|
function subscribePanelHints(listener) {
|
|
3329
|
-
listeners$
|
|
3524
|
+
listeners$3.add(listener);
|
|
3330
3525
|
return () => {
|
|
3331
|
-
listeners$
|
|
3526
|
+
listeners$3.delete(listener);
|
|
3332
3527
|
};
|
|
3333
3528
|
}
|
|
3334
3529
|
function usePanelHint(id) {
|
|
@@ -4967,6 +5162,26 @@ function attentionOfSession(summary, statusById, sessions) {
|
|
|
4967
5162
|
if (node.running || node.runningSubagentCount > 0) return "ongoing";
|
|
4968
5163
|
if (node.completed) return "done";
|
|
4969
5164
|
}
|
|
5165
|
+
function attentionSessionIdOf(input) {
|
|
5166
|
+
const workspace = input.workspace;
|
|
5167
|
+
if (workspace === null) return null;
|
|
5168
|
+
let best;
|
|
5169
|
+
let bestRank = -1;
|
|
5170
|
+
for (const summary of sessionRows(workspace.sessionIds, input.sessions, input.archivedIds)) {
|
|
5171
|
+
const ofSession = attentionOfSession(summary, input.statusById, input.sessions);
|
|
5172
|
+
if (ofSession === void 0 || ofSession === "ongoing") continue;
|
|
5173
|
+
const rank = RANK[ofSession];
|
|
5174
|
+
if (best === void 0 || rank > bestRank || rank === bestRank && isLater(summary, best)) {
|
|
5175
|
+
best = summary;
|
|
5176
|
+
bestRank = rank;
|
|
5177
|
+
}
|
|
5178
|
+
}
|
|
5179
|
+
return best?.id ?? null;
|
|
5180
|
+
}
|
|
5181
|
+
function isLater(left, right) {
|
|
5182
|
+
if (left.updatedAt !== right.updatedAt) return left.updatedAt > right.updatedAt;
|
|
5183
|
+
return left.id < right.id;
|
|
5184
|
+
}
|
|
4970
5185
|
function attentionOf(input) {
|
|
4971
5186
|
const byWorkspace = /* @__PURE__ */ new Map();
|
|
4972
5187
|
let elsewhere = null;
|
|
@@ -4991,17 +5206,17 @@ function attentionOf(input) {
|
|
|
4991
5206
|
}
|
|
4992
5207
|
}
|
|
4993
5208
|
if (severity === void 0) continue;
|
|
4994
|
-
|
|
5209
|
+
byWorkspace.set(workspace.workspaceId, {
|
|
4995
5210
|
severity,
|
|
4996
5211
|
count
|
|
4997
|
-
};
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
if (workspace.workspaceId === input.currentWorkspaceId || tagged === void 0) continue;
|
|
5001
|
-
elsewhere = merge(elsewhere, {
|
|
5212
|
+
});
|
|
5213
|
+
if (tagged === void 0) continue;
|
|
5214
|
+
const own = {
|
|
5002
5215
|
severity: tagged,
|
|
5003
5216
|
count: taggedCount
|
|
5004
|
-
}
|
|
5217
|
+
};
|
|
5218
|
+
overall = merge(overall, own);
|
|
5219
|
+
if (workspace.workspaceId !== input.currentWorkspaceId) elsewhere = merge(elsewhere, own);
|
|
5005
5220
|
}
|
|
5006
5221
|
return {
|
|
5007
5222
|
byWorkspace,
|
|
@@ -5026,21 +5241,21 @@ function attentionWordLabel(attention, t) {
|
|
|
5026
5241
|
}
|
|
5027
5242
|
//#endregion
|
|
5028
5243
|
//#region src/app/layouts/project-selection.ts
|
|
5029
|
-
var listeners$
|
|
5244
|
+
var listeners$2 = /* @__PURE__ */ new Set();
|
|
5030
5245
|
function selectedProjectId() {
|
|
5031
5246
|
const stored = readText(STORAGE_KEY_PROJECT);
|
|
5032
5247
|
return stored === "" ? null : stored;
|
|
5033
5248
|
}
|
|
5034
5249
|
function selectProject(workspaceId) {
|
|
5035
5250
|
writeText(STORAGE_KEY_PROJECT, workspaceId);
|
|
5036
|
-
for (const listener of [...listeners$
|
|
5251
|
+
for (const listener of [...listeners$2]) try {
|
|
5037
5252
|
listener();
|
|
5038
5253
|
} catch {}
|
|
5039
5254
|
}
|
|
5040
5255
|
function subscribeProject(listener) {
|
|
5041
|
-
listeners$
|
|
5256
|
+
listeners$2.add(listener);
|
|
5042
5257
|
return () => {
|
|
5043
|
-
listeners$
|
|
5258
|
+
listeners$2.delete(listener);
|
|
5044
5259
|
};
|
|
5045
5260
|
}
|
|
5046
5261
|
//#endregion
|
|
@@ -5126,7 +5341,7 @@ var state = {
|
|
|
5126
5341
|
read: false,
|
|
5127
5342
|
checkedAt: null
|
|
5128
5343
|
};
|
|
5129
|
-
var listeners = /* @__PURE__ */ new Set();
|
|
5344
|
+
var listeners$1 = /* @__PURE__ */ new Set();
|
|
5130
5345
|
var inFlight = null;
|
|
5131
5346
|
var readSeq = 0;
|
|
5132
5347
|
var newestForceSeq = -1;
|
|
@@ -5134,14 +5349,14 @@ function moduleVersionsValue() {
|
|
|
5134
5349
|
return state;
|
|
5135
5350
|
}
|
|
5136
5351
|
function subscribeModuleVersions(listener) {
|
|
5137
|
-
listeners.add(listener);
|
|
5352
|
+
listeners$1.add(listener);
|
|
5138
5353
|
return () => {
|
|
5139
|
-
listeners.delete(listener);
|
|
5354
|
+
listeners$1.delete(listener);
|
|
5140
5355
|
};
|
|
5141
5356
|
}
|
|
5142
5357
|
function publish(next) {
|
|
5143
5358
|
state = next;
|
|
5144
|
-
for (const listener of [...listeners]) listener();
|
|
5359
|
+
for (const listener of [...listeners$1]) listener();
|
|
5145
5360
|
}
|
|
5146
5361
|
function runModuleVersionsRead(force = false) {
|
|
5147
5362
|
if (inFlight !== null && inFlight.force === force) return inFlight.promise;
|
|
@@ -5891,9 +6106,17 @@ function registerMarketPanel(ctx, units) {
|
|
|
5891
6106
|
}, MarketPanel));
|
|
5892
6107
|
}
|
|
5893
6108
|
//#endregion
|
|
5894
|
-
//#region src/shared/api/
|
|
5895
|
-
var
|
|
5896
|
-
var
|
|
6109
|
+
//#region src/shared/api/diy.ts
|
|
6110
|
+
var DIY_PRESET_ID = "workbench-diy";
|
|
6111
|
+
var WORKSHOP_RELATIVE = "workbench/diy";
|
|
6112
|
+
var WORKSHOP_TITLE = "工作台DIY";
|
|
6113
|
+
var WORKSHOP_PAST_TITLES = ["DIY 工坊", "工作台自带 · DIY 模块住这儿"];
|
|
6114
|
+
function isWorkshopPath(path) {
|
|
6115
|
+
return path.replace(/\\/g, "/").replace(/\/+$/, "").endsWith(`/${WORKSHOP_RELATIVE}`);
|
|
6116
|
+
}
|
|
6117
|
+
function diyStartOptions(workspaceId, workshopId) {
|
|
6118
|
+
return workshopId !== void 0 && workshopId === workspaceId ? { agentPreset: DIY_PRESET_ID } : void 0;
|
|
6119
|
+
}
|
|
5897
6120
|
//#endregion
|
|
5898
6121
|
//#region src/shared/hooks/panel-state-report.ts
|
|
5899
6122
|
var FLUSH_MS = 400;
|
|
@@ -6016,7 +6239,7 @@ function useApiResource(route, query, refreshToken, options = {}) {
|
|
|
6016
6239
|
...prev.at === void 0 ? {} : { at: prev.at }
|
|
6017
6240
|
} : { phase: "loading" });
|
|
6018
6241
|
const flight = requestResource(route, queryRef.current, key);
|
|
6019
|
-
const owner = unitOfRoute(route);
|
|
6242
|
+
const owner = options.report === false ? null : unitOfRoute(route);
|
|
6020
6243
|
if (owner !== null) reportPanelRead({
|
|
6021
6244
|
unit: owner,
|
|
6022
6245
|
route,
|
|
@@ -6081,10 +6304,201 @@ function useApiResource(route, query, refreshToken, options = {}) {
|
|
|
6081
6304
|
refreshToken,
|
|
6082
6305
|
factRev,
|
|
6083
6306
|
enabled,
|
|
6084
|
-
options.fact
|
|
6307
|
+
options.fact,
|
|
6308
|
+
options.report
|
|
6085
6309
|
]);
|
|
6086
6310
|
return state;
|
|
6087
6311
|
}
|
|
6312
|
+
//#endregion
|
|
6313
|
+
//#region src/shared/hooks/use-diy-debug.ts
|
|
6314
|
+
var DIY_DEBUG_ROUTE = "panels/diy-debug";
|
|
6315
|
+
var DIY_DEBUG_FACT = "diy-debug";
|
|
6316
|
+
function useDiyDebugState() {
|
|
6317
|
+
const read = useApiResource(DIY_DEBUG_ROUTE, {}, 0, {
|
|
6318
|
+
fact: DIY_DEBUG_FACT,
|
|
6319
|
+
report: false
|
|
6320
|
+
});
|
|
6321
|
+
if (read.value === void 0) return null;
|
|
6322
|
+
return read.value.state ?? null;
|
|
6323
|
+
}
|
|
6324
|
+
function useDiyDebugAct() {
|
|
6325
|
+
return useHostWrite({
|
|
6326
|
+
channel: "diy-debug",
|
|
6327
|
+
resource: "act",
|
|
6328
|
+
networkText: "网络不通,动作没发出去"
|
|
6329
|
+
});
|
|
6330
|
+
}
|
|
6331
|
+
//#endregion
|
|
6332
|
+
//#region src/app/layouts/rightbar/board-fact.ts
|
|
6333
|
+
var BOARD_PROBE_UNKNOWN = {
|
|
6334
|
+
workbench: true,
|
|
6335
|
+
where: "",
|
|
6336
|
+
bar: false,
|
|
6337
|
+
board: "",
|
|
6338
|
+
open: false,
|
|
6339
|
+
drawn: false
|
|
6340
|
+
};
|
|
6341
|
+
var probe = BOARD_PROBE_UNKNOWN;
|
|
6342
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
6343
|
+
function boardProbe() {
|
|
6344
|
+
return probe;
|
|
6345
|
+
}
|
|
6346
|
+
function same(left, right) {
|
|
6347
|
+
return left.workbench === right.workbench && left.where === right.where && left.bar === right.bar && left.board === right.board && left.open === right.open && left.drawn === right.drawn;
|
|
6348
|
+
}
|
|
6349
|
+
function publishBoardProbe(next) {
|
|
6350
|
+
if (same(next, probe)) return;
|
|
6351
|
+
probe = next;
|
|
6352
|
+
for (const listener of [...listeners]) try {
|
|
6353
|
+
listener();
|
|
6354
|
+
} catch {}
|
|
6355
|
+
}
|
|
6356
|
+
function subscribeBoardProbe(listener) {
|
|
6357
|
+
listeners.add(listener);
|
|
6358
|
+
return () => {
|
|
6359
|
+
listeners.delete(listener);
|
|
6360
|
+
};
|
|
6361
|
+
}
|
|
6362
|
+
var DebugFooterAction_module_default = {
|
|
6363
|
+
slot: "_slot_1og2k_1",
|
|
6364
|
+
action: "_action_1og2k_12",
|
|
6365
|
+
live: "_live_1og2k_31",
|
|
6366
|
+
paused: "_paused_1og2k_35",
|
|
6367
|
+
trouble: "_trouble_1og2k_39",
|
|
6368
|
+
pulse: "_pulse_1og2k_43",
|
|
6369
|
+
"wb-debug-breathe": "_wb-debug-breathe_1og2k_1",
|
|
6370
|
+
entry: "_entry_1og2k_64",
|
|
6371
|
+
entryInner: "_entryInner_1og2k_71",
|
|
6372
|
+
acts: "_acts_1og2k_78",
|
|
6373
|
+
act: "_act_1og2k_12",
|
|
6374
|
+
actStop: "_actStop_1og2k_110",
|
|
6375
|
+
actArmed: "_actArmed_1og2k_115",
|
|
6376
|
+
actLabel: "_actLabel_1og2k_125",
|
|
6377
|
+
entryLine: "_entryLine_1og2k_131",
|
|
6378
|
+
actionRail: "_actionRail_1og2k_138",
|
|
6379
|
+
card: "_card_1og2k_150",
|
|
6380
|
+
cardTitle: "_cardTitle_1og2k_156",
|
|
6381
|
+
cardNote: "_cardNote_1og2k_162"
|
|
6382
|
+
};
|
|
6383
|
+
//#endregion
|
|
6384
|
+
//#region src/app/layouts/sidebar/DebugFooterAction.tsx
|
|
6385
|
+
function debugFooterView(state, t, trouble = "none") {
|
|
6386
|
+
const shown = state.phase === "paused" ? "none" : trouble;
|
|
6387
|
+
const label = shown !== "none" ? t("debug.status.trouble") : state.phase === "paused" ? t("debug.stalled") : t("debug.status");
|
|
6388
|
+
const noteOf = (kind) => kind === "panel" ? t("debug.card.hidden.note") : t("debug.card.away.note");
|
|
6389
|
+
if (state.phase === "paused") return {
|
|
6390
|
+
label,
|
|
6391
|
+
title: label,
|
|
6392
|
+
note: t("debug.card.paused.note"),
|
|
6393
|
+
trouble: "none",
|
|
6394
|
+
stalled: true
|
|
6395
|
+
};
|
|
6396
|
+
if (shown !== "none") return {
|
|
6397
|
+
label,
|
|
6398
|
+
title: label,
|
|
6399
|
+
note: noteOf(shown),
|
|
6400
|
+
trouble: shown,
|
|
6401
|
+
stalled: false
|
|
6402
|
+
};
|
|
6403
|
+
return {
|
|
6404
|
+
label,
|
|
6405
|
+
title: t("debug.card.here.title"),
|
|
6406
|
+
note: t("debug.card.here.note"),
|
|
6407
|
+
trouble: "none",
|
|
6408
|
+
stalled: false
|
|
6409
|
+
};
|
|
6410
|
+
}
|
|
6411
|
+
var EMPTY_WORKSPACES = {
|
|
6412
|
+
items: [],
|
|
6413
|
+
archivedSessionIds: [],
|
|
6414
|
+
pinnedSessionIds: []
|
|
6415
|
+
};
|
|
6416
|
+
var EMPTY_SESSIONS = {
|
|
6417
|
+
byId: {},
|
|
6418
|
+
projectionsBySession: {}
|
|
6419
|
+
};
|
|
6420
|
+
function DebugFooterAction({ wide, t, useWorkspaces, useSessions }) {
|
|
6421
|
+
const state = useDiyDebugState();
|
|
6422
|
+
const act = useDiyDebugAct();
|
|
6423
|
+
const probe = useSyncExternalStore(subscribeBoardProbe, boardProbe);
|
|
6424
|
+
const workspaces = useWorkspaces?.((snapshot) => snapshot) ?? EMPTY_WORKSPACES;
|
|
6425
|
+
const here = useBoardWorkspace(workspaces, useSessions?.((snapshot) => snapshot) ?? EMPTY_SESSIONS);
|
|
6426
|
+
const workshop = workspaces.items.find((item) => isWorkshopPath(item.path));
|
|
6427
|
+
const [armed, setArmed] = useState(false);
|
|
6428
|
+
if (state === null) return null;
|
|
6429
|
+
const workshopPath = workshop?.path ?? null;
|
|
6430
|
+
const situation = boardSituation({
|
|
6431
|
+
...probe,
|
|
6432
|
+
where: here.path ?? ""
|
|
6433
|
+
}, workshopPath);
|
|
6434
|
+
const view = debugFooterView(state, t, situation === "off-workspace" || situation === "other-board" ? "workspace" : situation === "panel-closed" ? "panel" : "none");
|
|
6435
|
+
const dot = /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
6436
|
+
state: view.trouble !== "none" ? "error" : view.stalled ? "warning" : "done",
|
|
6437
|
+
className: view.trouble === "none" && !view.stalled ? DebugFooterAction_module_default.pulse : void 0
|
|
6438
|
+
});
|
|
6439
|
+
const tone = view.trouble !== "none" ? DebugFooterAction_module_default.trouble : view.stalled ? DebugFooterAction_module_default.paused : DebugFooterAction_module_default.live;
|
|
6440
|
+
const press = (intent) => (event) => {
|
|
6441
|
+
event.stopPropagation();
|
|
6442
|
+
act.send({ intent });
|
|
6443
|
+
};
|
|
6444
|
+
const onStop = (event) => {
|
|
6445
|
+
event.stopPropagation();
|
|
6446
|
+
if (!armed) {
|
|
6447
|
+
setArmed(true);
|
|
6448
|
+
return;
|
|
6449
|
+
}
|
|
6450
|
+
setArmed(false);
|
|
6451
|
+
act.send({ intent: "stop" });
|
|
6452
|
+
};
|
|
6453
|
+
const acts = /* @__PURE__ */ h("span", { className: DebugFooterAction_module_default.acts }, view.stalled ? /* @__PURE__ */ h("button", {
|
|
6454
|
+
type: "button",
|
|
6455
|
+
className: DebugFooterAction_module_default.act,
|
|
6456
|
+
"aria-label": t("debug.act.resume"),
|
|
6457
|
+
onClick: press("resume")
|
|
6458
|
+
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconPlayOutlineRegular, { size: 12 })) : /* @__PURE__ */ h("button", {
|
|
6459
|
+
type: "button",
|
|
6460
|
+
className: DebugFooterAction_module_default.act,
|
|
6461
|
+
"aria-label": t("debug.act.pause"),
|
|
6462
|
+
onClick: press("pause")
|
|
6463
|
+
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconPauseOutlineRegular, { size: 12 })), /* @__PURE__ */ h("button", {
|
|
6464
|
+
type: "button",
|
|
6465
|
+
className: cx(DebugFooterAction_module_default.act, DebugFooterAction_module_default.actStop, armed ? DebugFooterAction_module_default.actArmed : void 0),
|
|
6466
|
+
"data-act-state": armed ? "armed" : "idle",
|
|
6467
|
+
"aria-label": armed ? t("debug.act.stop.ask") : t("debug.act.stop"),
|
|
6468
|
+
onClick: onStop,
|
|
6469
|
+
onBlur: () => setArmed(false)
|
|
6470
|
+
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconStopFillRegular, { size: 12 }), armed ? /* @__PURE__ */ h("span", { className: DebugFooterAction_module_default.actLabel }, t("debug.act.stop.ask")) : null));
|
|
6471
|
+
const status = /* @__PURE__ */ h("span", { className: DebugFooterAction_module_default.entryInner }, dot, wide === true ? /* @__PURE__ */ h("span", { className: DebugFooterAction_module_default.entryLine }, view.label) : null);
|
|
6472
|
+
const row = /* @__PURE__ */ h("div", { className: cx(DebugFooterAction_module_default.action, wide === true ? void 0 : DebugFooterAction_module_default.actionRail, tone) }, /* @__PURE__ */ h("span", {
|
|
6473
|
+
className: DebugFooterAction_module_default.entry,
|
|
6474
|
+
role: "status",
|
|
6475
|
+
"aria-label": `${view.label},${view.note}`
|
|
6476
|
+
}, wide === true ? /* @__PURE__ */ h(Tip, {
|
|
6477
|
+
label: view.note,
|
|
6478
|
+
side: "top"
|
|
6479
|
+
}, status) : status), wide === true ? acts : null);
|
|
6480
|
+
if (wide === true) return /* @__PURE__ */ h("span", { className: DebugFooterAction_module_default.slot }, row);
|
|
6481
|
+
return /* @__PURE__ */ h("span", { className: DebugFooterAction_module_default.slot }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.HoverCard, {
|
|
6482
|
+
anchor: row,
|
|
6483
|
+
content: /* @__PURE__ */ h("div", { className: DebugFooterAction_module_default.card }, /* @__PURE__ */ h("div", { className: DebugFooterAction_module_default.cardTitle }, view.title), /* @__PURE__ */ h("div", { className: DebugFooterAction_module_default.cardNote }, view.note), acts),
|
|
6484
|
+
openDelayMs: 200
|
|
6485
|
+
}));
|
|
6486
|
+
}
|
|
6487
|
+
//#endregion
|
|
6488
|
+
//#region src/app/layouts/sidebar/debug-footer.tsx
|
|
6489
|
+
var DEBUG_FOOTER_ID = "workbench-debug";
|
|
6490
|
+
function registerDebugFooter(ctx) {
|
|
6491
|
+
ctx.slots.inject("sidebar.footer.action", () => ctx.slots.register({
|
|
6492
|
+
name: "sidebar.footer.action",
|
|
6493
|
+
id: DEBUG_FOOTER_ID,
|
|
6494
|
+
order: 10,
|
|
6495
|
+
locale: LOCALE_NS
|
|
6496
|
+
}, DebugFooterAction));
|
|
6497
|
+
}
|
|
6498
|
+
//#endregion
|
|
6499
|
+
//#region src/shared/api/config-sync.ts
|
|
6500
|
+
var CONFIG_SYNC_ROUTE = "config-sync";
|
|
6501
|
+
var CONFIG_SYNC_RESOURCE = "configSync";
|
|
6088
6502
|
var ConfigSyncSection_module_default = {
|
|
6089
6503
|
body: "_body_lw2ph_1",
|
|
6090
6504
|
lead: "_lead_lw2ph_7",
|
|
@@ -6333,18 +6747,6 @@ function ConfigSyncSection({ t }) {
|
|
|
6333
6747
|
}, chosen.length === 0 ? t("configSync.applyNone") : busy.busy ? t("configSync.applying") : t("configSync.apply", { count: chosen.length }))) : null) : null));
|
|
6334
6748
|
}
|
|
6335
6749
|
//#endregion
|
|
6336
|
-
//#region src/shared/api/diy.ts
|
|
6337
|
-
var DIY_PRESET_ID = "workbench-diy";
|
|
6338
|
-
var WORKSHOP_RELATIVE = "workbench/diy";
|
|
6339
|
-
var WORKSHOP_TITLE = "工作台DIY";
|
|
6340
|
-
var WORKSHOP_PAST_TITLES = ["DIY 工坊", "工作台自带 · DIY 模块住这儿"];
|
|
6341
|
-
function isWorkshopPath(path) {
|
|
6342
|
-
return path.replace(/\\/g, "/").replace(/\/+$/, "").endsWith(`/${WORKSHOP_RELATIVE}`);
|
|
6343
|
-
}
|
|
6344
|
-
function diyStartOptions(workspaceId, workshopId) {
|
|
6345
|
-
return workshopId !== void 0 && workshopId === workspaceId ? { agentPreset: DIY_PRESET_ID } : void 0;
|
|
6346
|
-
}
|
|
6347
|
-
//#endregion
|
|
6348
6750
|
//#region src/app/units/index.ts
|
|
6349
6751
|
var CLIENT_UNITS = [];
|
|
6350
6752
|
function assembleClientUnits(registry) {
|
|
@@ -7947,22 +8349,12 @@ function BoardContent({ top, plan, world, board, twoColumns, panelToken, onPanel
|
|
|
7947
8349
|
}))))))));
|
|
7948
8350
|
}
|
|
7949
8351
|
function Rightbar(props) {
|
|
7950
|
-
const
|
|
7951
|
-
useSyncExternalStore(useCallback((listener) => units.subscribe(listener), [units]), useCallback(() => units.version(), [units]));
|
|
7952
|
-
const modules = units.board;
|
|
7953
|
-
const manifests = units.manifests();
|
|
7954
|
-
const titleKeyOf = (kind) => modules.stepOwner(kind)?.steps?.[kind]?.titleKey;
|
|
7955
|
-
const state = props.useRightbar((snapshot) => snapshot);
|
|
7956
|
-
const sessions = props.useSessions((snapshot) => snapshot);
|
|
7957
|
-
const workspaces = props.useWorkspaces((snapshot) => snapshot);
|
|
7958
|
-
const [panelToken, setPanelToken] = useState(0);
|
|
7959
|
-
const refreshPanel = useCallback(() => setPanelToken((value) => value + 1), []);
|
|
7960
|
-
const { capabilities } = useCapabilityMap(panelToken);
|
|
7961
|
-
const board = useBoardWorkspace(workspaces, sessions);
|
|
8352
|
+
const { modules, manifests, titleKeyOf, state, sessions, workspaces, panelToken, refreshPanel, capabilities, board } = useRightbarWiring(props);
|
|
7962
8353
|
const boardWorkspace = board.path;
|
|
7963
8354
|
const panelBoard = useEnabledUnits(panelToken, boardWorkspace);
|
|
7964
8355
|
const enabledUnits = panelBoard?.units ?? null;
|
|
7965
8356
|
const [modulesOpen, setModulesOpen] = useState(false);
|
|
8357
|
+
const asideRef = useRef(null);
|
|
7966
8358
|
const devBoard = devSurface.useBoard({
|
|
7967
8359
|
manifests,
|
|
7968
8360
|
all: modules.all(),
|
|
@@ -8001,6 +8393,36 @@ function Rightbar(props) {
|
|
|
8001
8393
|
const summary = aggregateSummaries(plan.modules.map((entry) => summaries[entry.module.id]).filter((item) => item !== void 0));
|
|
8002
8394
|
const feedEnabled = plan.modules.length > 0 || plan.reading;
|
|
8003
8395
|
const shown = state.expanded;
|
|
8396
|
+
useLayoutEffect(() => {
|
|
8397
|
+
const el = asideRef.current;
|
|
8398
|
+
const drawnNow = () => {
|
|
8399
|
+
if (el === null) return false;
|
|
8400
|
+
const style = getComputedStyle(el);
|
|
8401
|
+
const box = el.getBoundingClientRect();
|
|
8402
|
+
return style.visibility !== "hidden" && style.display !== "none" && box.width > 0 && box.height > 0;
|
|
8403
|
+
};
|
|
8404
|
+
const publish = () => {
|
|
8405
|
+
publishBoardProbe({
|
|
8406
|
+
workbench: true,
|
|
8407
|
+
where: boardWorkspace ?? "",
|
|
8408
|
+
bar: true,
|
|
8409
|
+
board: fixtureMode ? "" : boardWorkspace ?? "",
|
|
8410
|
+
open: shown,
|
|
8411
|
+
drawn: drawnNow()
|
|
8412
|
+
});
|
|
8413
|
+
};
|
|
8414
|
+
publish();
|
|
8415
|
+
const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(publish);
|
|
8416
|
+
if (observer !== null && el !== null) observer.observe(el);
|
|
8417
|
+
return () => {
|
|
8418
|
+
observer?.disconnect();
|
|
8419
|
+
publishBoardProbe(BOARD_PROBE_UNKNOWN);
|
|
8420
|
+
};
|
|
8421
|
+
}, [
|
|
8422
|
+
boardWorkspace,
|
|
8423
|
+
fixtureMode,
|
|
8424
|
+
shown
|
|
8425
|
+
]);
|
|
8004
8426
|
const presentation = rightbarPresentation({
|
|
8005
8427
|
shown,
|
|
8006
8428
|
viewportWidth: props.viewportWidth,
|
|
@@ -8026,10 +8448,13 @@ function Rightbar(props) {
|
|
|
8026
8448
|
const navigate = (step) => props.openPanel(step);
|
|
8027
8449
|
const openMarket = () => props.openMarket();
|
|
8028
8450
|
return /* @__PURE__ */ h("aside", {
|
|
8451
|
+
ref: asideRef,
|
|
8029
8452
|
className: `wb-rightbar ${Rightbar_module_default.panel}`,
|
|
8030
8453
|
style: { width: panelWidth },
|
|
8031
8454
|
"data-open": shown ? "" : void 0,
|
|
8032
8455
|
"data-fullscreen": fullscreen ? "" : void 0,
|
|
8456
|
+
"data-wb-board": fixtureMode ? void 0 : boardWorkspace ?? void 0,
|
|
8457
|
+
"data-wb-open": fixtureMode || !shown ? void 0 : "",
|
|
8033
8458
|
"aria-label": props.t("rightbar.label")
|
|
8034
8459
|
}, /* @__PURE__ */ h(PanelHeader, {
|
|
8035
8460
|
t: props.t,
|
|
@@ -8065,6 +8490,36 @@ function Rightbar(props) {
|
|
|
8065
8490
|
t: props.t
|
|
8066
8491
|
})));
|
|
8067
8492
|
}
|
|
8493
|
+
function useRightbarWiring(props) {
|
|
8494
|
+
const units = props.units;
|
|
8495
|
+
const subscribeUnits = useCallback((listener) => units.subscribe(listener), [units]);
|
|
8496
|
+
const unitsRevision = useCallback(() => units.version(), [units]);
|
|
8497
|
+
useSyncExternalStore(subscribeUnits, unitsRevision);
|
|
8498
|
+
const modules = units.board;
|
|
8499
|
+
const manifests = units.manifests();
|
|
8500
|
+
const titleKeyOf = (kind) => modules.stepOwner(kind)?.steps?.[kind]?.titleKey;
|
|
8501
|
+
const state = props.useRightbar((snapshot) => snapshot);
|
|
8502
|
+
const sessions = props.useSessions((snapshot) => snapshot);
|
|
8503
|
+
const workspaces = props.useWorkspaces((snapshot) => snapshot);
|
|
8504
|
+
const [panelToken, setPanelToken] = useState(0);
|
|
8505
|
+
const refreshPanel = useCallback(() => setPanelToken((value) => value + 1), []);
|
|
8506
|
+
const { capabilities } = useCapabilityMap(panelToken);
|
|
8507
|
+
return {
|
|
8508
|
+
units,
|
|
8509
|
+
subscribeUnits,
|
|
8510
|
+
unitsRevision,
|
|
8511
|
+
modules,
|
|
8512
|
+
manifests,
|
|
8513
|
+
titleKeyOf,
|
|
8514
|
+
state,
|
|
8515
|
+
sessions,
|
|
8516
|
+
workspaces,
|
|
8517
|
+
panelToken,
|
|
8518
|
+
refreshPanel,
|
|
8519
|
+
capabilities,
|
|
8520
|
+
board: useBoardWorkspace(workspaces, sessions)
|
|
8521
|
+
};
|
|
8522
|
+
}
|
|
8068
8523
|
//#endregion
|
|
8069
8524
|
//#region src/shared/api/context-chips.ts
|
|
8070
8525
|
var context_chips_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -8174,9 +8629,15 @@ function installWorkbenchStyles(css, doc = document) {
|
|
|
8174
8629
|
//#endregion
|
|
8175
8630
|
//#region src/app/layouts/sidebar/session-pick.ts
|
|
8176
8631
|
function openPickedProject(input) {
|
|
8177
|
-
const
|
|
8178
|
-
|
|
8179
|
-
|
|
8632
|
+
const target = input.items.find((item) => item.workspaceId === input.workspaceId) ?? null;
|
|
8633
|
+
const picked = attentionSessionIdOf({
|
|
8634
|
+
workspace: target,
|
|
8635
|
+
sessions: input.sessions,
|
|
8636
|
+
statusById: input.statusById,
|
|
8637
|
+
archivedIds: input.archivedIds
|
|
8638
|
+
}) ?? firstSessionIdOf(target, input.sessions, input.archivedIds);
|
|
8639
|
+
if (picked === null) input.startSession(input.workspaceId);
|
|
8640
|
+
else input.openSession(picked);
|
|
8180
8641
|
}
|
|
8181
8642
|
function firstSessionIdOf(workspace, sessions, archivedIds) {
|
|
8182
8643
|
if (workspace === null) return null;
|
|
@@ -8203,25 +8664,6 @@ function openNewSession(input) {
|
|
|
8203
8664
|
if (blank === null) input.startSession(input.workspace.workspaceId);
|
|
8204
8665
|
else input.openSession(blank);
|
|
8205
8666
|
}
|
|
8206
|
-
var WorkspaceAttentionDot_module_default = {
|
|
8207
|
-
dot: "_dot_moid1_1",
|
|
8208
|
-
overlay: "_overlay_moid1_8"
|
|
8209
|
-
};
|
|
8210
|
-
//#endregion
|
|
8211
|
-
//#region src/app/layouts/sidebar/WorkspaceAttentionDot.tsx
|
|
8212
|
-
function WorkspaceAttentionDot({ attention, t, variant = "inline", tip = false }) {
|
|
8213
|
-
if (attention === null) return null;
|
|
8214
|
-
const label = attentionLabel(attention, t);
|
|
8215
|
-
const dot = /* @__PURE__ */ h("span", {
|
|
8216
|
-
className: variant === "overlay" ? cx(WorkspaceAttentionDot_module_default.dot, WorkspaceAttentionDot_module_default.overlay) : WorkspaceAttentionDot_module_default.dot,
|
|
8217
|
-
role: "img",
|
|
8218
|
-
"aria-label": label
|
|
8219
|
-
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
8220
|
-
state: attention.severity,
|
|
8221
|
-
size: variant === "overlay" ? 10 : void 0
|
|
8222
|
-
}));
|
|
8223
|
-
return tip ? /* @__PURE__ */ h(Tip, { label }, dot) : dot;
|
|
8224
|
-
}
|
|
8225
8667
|
//#endregion
|
|
8226
8668
|
//#region src/app/layouts/sidebar/SidebarHeader.tsx
|
|
8227
8669
|
function SidebarHeader(props) {
|
|
@@ -8238,12 +8680,7 @@ function SidebarHeader(props) {
|
|
|
8238
8680
|
}, !wide ? /* @__PURE__ */ h("span", {
|
|
8239
8681
|
className: "wb-railMark",
|
|
8240
8682
|
"aria-hidden": "true"
|
|
8241
|
-
}, renderSlot("sidebar.brand.mark", { size: 24 }, { fallback: /* @__PURE__ */ h(IconBrandMark, { size: 24 }) })) : null, /* @__PURE__ */ h("span", { className: "wb-panelIcon" }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconPanelLeftOutlineRegular, { size: wide ? 16 : 18 })), !wide ? renderSlot("sidebar.toggle.badge", { attention }
|
|
8242
|
-
attention,
|
|
8243
|
-
t,
|
|
8244
|
-
variant: "overlay",
|
|
8245
|
-
tip: true
|
|
8246
|
-
}) }) : null));
|
|
8683
|
+
}, renderSlot("sidebar.brand.mark", { size: 24 }, { fallback: /* @__PURE__ */ h(IconBrandMark, { size: 24 }) })) : null, /* @__PURE__ */ h("span", { className: "wb-panelIcon" }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconPanelLeftOutlineRegular, { size: wide ? 16 : 18 })), !wide ? renderSlot("sidebar.toggle.badge", { attention }) : null));
|
|
8247
8684
|
}
|
|
8248
8685
|
//#endregion
|
|
8249
8686
|
//#region src/app/layouts/sidebar/WorkspaceSection.tsx
|
|
@@ -8318,17 +8755,38 @@ function PanelRow({ id, label, active, wide, onSelect, fallbackGlyph, renderEntr
|
|
|
8318
8755
|
}, t(hint.labelKey))));
|
|
8319
8756
|
}
|
|
8320
8757
|
var ProjectSwitcher_module_default = {
|
|
8321
|
-
root: "
|
|
8322
|
-
|
|
8323
|
-
|
|
8324
|
-
|
|
8325
|
-
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
|
|
8329
|
-
|
|
8330
|
-
|
|
8758
|
+
root: "_root_1cmz0_1",
|
|
8759
|
+
rail: "_rail_1cmz0_7",
|
|
8760
|
+
glyphBox: "_glyphBox_1cmz0_11",
|
|
8761
|
+
glyph: "_glyph_1cmz0_11",
|
|
8762
|
+
glyphActive: "_glyphActive_1cmz0_30",
|
|
8763
|
+
triggerName: "_triggerName_1cmz0_34",
|
|
8764
|
+
dir: "_dir_1cmz0_45",
|
|
8765
|
+
name: "_name_1cmz0_53",
|
|
8766
|
+
row: "_row_1cmz0_66",
|
|
8767
|
+
trailing: "_trailing_1cmz0_74",
|
|
8768
|
+
rowAction: "_rowAction_1cmz0_84",
|
|
8769
|
+
current: "_current_1cmz0_97"
|
|
8331
8770
|
};
|
|
8771
|
+
var WorkspaceAttentionDot_module_default = {
|
|
8772
|
+
dot: "_dot_sosf1_1",
|
|
8773
|
+
overlay: "_overlay_sosf1_8"
|
|
8774
|
+
};
|
|
8775
|
+
//#endregion
|
|
8776
|
+
//#region src/app/layouts/sidebar/WorkspaceAttentionDot.tsx
|
|
8777
|
+
function WorkspaceAttentionDot({ attention, t, variant = "inline", tip = false }) {
|
|
8778
|
+
if (attention === null) return null;
|
|
8779
|
+
const label = attentionLabel(attention, t);
|
|
8780
|
+
const dot = /* @__PURE__ */ h("span", {
|
|
8781
|
+
className: variant === "overlay" ? cx(WorkspaceAttentionDot_module_default.dot, WorkspaceAttentionDot_module_default.overlay) : WorkspaceAttentionDot_module_default.dot,
|
|
8782
|
+
role: "img",
|
|
8783
|
+
"aria-label": label
|
|
8784
|
+
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
8785
|
+
state: attention.severity,
|
|
8786
|
+
size: variant === "overlay" ? 9 : void 0
|
|
8787
|
+
}));
|
|
8788
|
+
return tip ? /* @__PURE__ */ h(Tip, { label }, dot) : dot;
|
|
8789
|
+
}
|
|
8332
8790
|
var WorkspaceAttentionTag_module_default = { tag: "_tag_g9dg8_1" };
|
|
8333
8791
|
//#endregion
|
|
8334
8792
|
//#region src/app/layouts/sidebar/WorkspaceAttentionTag.tsx
|
|
@@ -8538,7 +8996,7 @@ function workspaceOptions(options) {
|
|
|
8538
8996
|
}
|
|
8539
8997
|
//#endregion
|
|
8540
8998
|
//#region src/app/layouts/sidebar/ProjectSwitcher.tsx
|
|
8541
|
-
function ProjectSwitcher({ items, current, attention, onPick, onAdd, onRename, t }) {
|
|
8999
|
+
function ProjectSwitcher({ items, current, attention, compact = false, onPick, onAdd, onRename, t }) {
|
|
8542
9000
|
const [open, setOpen] = useState(false);
|
|
8543
9001
|
const [hoverId, setHoverId] = useState(null);
|
|
8544
9002
|
const [naming, setNaming] = useState(null);
|
|
@@ -8567,6 +9025,7 @@ function ProjectSwitcher({ items, current, attention, onPick, onAdd, onRename, t
|
|
|
8567
9025
|
t,
|
|
8568
9026
|
attention.byWorkspace
|
|
8569
9027
|
]);
|
|
9028
|
+
const revealId = useMemo(() => options.find((option) => attention.byWorkspace.has(option.value))?.value, [options, attention.byWorkspace]);
|
|
8570
9029
|
const valueNodes = useMemo(() => {
|
|
8571
9030
|
const out = /* @__PURE__ */ new Map();
|
|
8572
9031
|
for (const workspace of items) {
|
|
@@ -8575,21 +9034,31 @@ function ProjectSwitcher({ items, current, attention, onPick, onAdd, onRename, t
|
|
|
8575
9034
|
}
|
|
8576
9035
|
return out;
|
|
8577
9036
|
}, [items]);
|
|
8578
|
-
return /* @__PURE__ */ h("div", { className: ProjectSwitcher_module_default.root }, /* @__PURE__ */ h(SelectField, {
|
|
9037
|
+
return /* @__PURE__ */ h("div", { className: cx(ProjectSwitcher_module_default.root, compact && ProjectSwitcher_module_default.rail) }, /* @__PURE__ */ h(SelectField, {
|
|
8579
9038
|
value: currentId,
|
|
8580
9039
|
options,
|
|
8581
9040
|
onChange: onPick,
|
|
8582
9041
|
open,
|
|
8583
9042
|
onOpenChange: setOpen,
|
|
8584
|
-
icon: /* @__PURE__ */ h(
|
|
8585
|
-
|
|
9043
|
+
icon: /* @__PURE__ */ h(Tip, {
|
|
9044
|
+
label: current?.path ?? "",
|
|
9045
|
+
disabled: current === null
|
|
9046
|
+
}, /* @__PURE__ */ h("span", { className: ProjectSwitcher_module_default.glyphBox }, /* @__PURE__ */ h("span", { className: cx(ProjectSwitcher_module_default.glyph, ProjectSwitcher_module_default.glyphActive) }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconFolderCloseRegular, { size: 16 }), compact ? /* @__PURE__ */ h(WorkspaceAttentionDot, {
|
|
9047
|
+
attention: attention.overall,
|
|
9048
|
+
t,
|
|
9049
|
+
variant: "overlay",
|
|
9050
|
+
tip: true
|
|
9051
|
+
}) : null))),
|
|
9052
|
+
renderValue: compact ? void 0 : (option) => /* @__PURE__ */ h(Fragment, null, option === void 0 ? t("project.none") : valueNodes.get(option.value) ?? option.label, /* @__PURE__ */ h(WorkspaceAttentionTag, {
|
|
8586
9053
|
attention: attention.elsewhere,
|
|
8587
9054
|
t
|
|
8588
9055
|
})),
|
|
8589
9056
|
placeholder: t("project.none"),
|
|
8590
9057
|
variant: "ghost",
|
|
9058
|
+
iconOnly: compact,
|
|
9059
|
+
search: !compact,
|
|
9060
|
+
revealId,
|
|
8591
9061
|
ariaLabel: t("project.label"),
|
|
8592
|
-
title: current?.path ?? void 0,
|
|
8593
9062
|
searchLabel: t("project.search.label"),
|
|
8594
9063
|
searchPlaceholder: t("project.search.placeholder"),
|
|
8595
9064
|
emptyText: (query) => t("project.search.empty", { query: query.trim() }),
|
|
@@ -8834,6 +9303,11 @@ function Sidebar(props) {
|
|
|
8834
9303
|
const activePanelId = usePanelInfo((state) => state.activePanelId);
|
|
8835
9304
|
const sessions = props.useSessions((state) => state);
|
|
8836
9305
|
const statusById = props.useSessionStatus((state) => state);
|
|
9306
|
+
const board = useBoardWorkspace({
|
|
9307
|
+
items,
|
|
9308
|
+
archivedSessionIds: archived,
|
|
9309
|
+
pinnedSessionIds: pinnedIds
|
|
9310
|
+
}, sessions);
|
|
8837
9311
|
const [storedId, setStoredId] = useState(() => selectedProjectId());
|
|
8838
9312
|
const [panelEntries, setPanelEntries] = useState(() => props.listPanels());
|
|
8839
9313
|
const [creating, setCreating] = useState(false);
|
|
@@ -8856,6 +9330,7 @@ function Sidebar(props) {
|
|
|
8856
9330
|
workspaceId,
|
|
8857
9331
|
items,
|
|
8858
9332
|
sessions,
|
|
9333
|
+
statusById,
|
|
8859
9334
|
archivedIds: archivedSet,
|
|
8860
9335
|
openSession,
|
|
8861
9336
|
startSession
|
|
@@ -8871,7 +9346,10 @@ function Sidebar(props) {
|
|
|
8871
9346
|
});
|
|
8872
9347
|
};
|
|
8873
9348
|
const wide = !collapsed;
|
|
8874
|
-
return /* @__PURE__ */ h("div", {
|
|
9349
|
+
return /* @__PURE__ */ h("div", {
|
|
9350
|
+
className: cx("wb-root", collapsed && "wb-collapsed"),
|
|
9351
|
+
"data-wb-where": board.path ?? void 0
|
|
9352
|
+
}, /* @__PURE__ */ h(SidebarHeader, {
|
|
8875
9353
|
collapsed,
|
|
8876
9354
|
wide,
|
|
8877
9355
|
attention: attention.overall,
|
|
@@ -8905,7 +9383,16 @@ function Sidebar(props) {
|
|
|
8905
9383
|
}), creating ? /* @__PURE__ */ h("p", {
|
|
8906
9384
|
className: "wb-workspaceBusy",
|
|
8907
9385
|
role: "status"
|
|
8908
|
-
}, /* @__PURE__ */ h(Spinner, { size: 12 }), t("project.add.busy")) : null, createFailed ? /* @__PURE__ */ h("p", { className: "wb-workspaceError" }, t("project.add.failed")) : null) :
|
|
9386
|
+
}, /* @__PURE__ */ h(Spinner, { size: 12 }), t("project.add.busy")) : null, createFailed ? /* @__PURE__ */ h("p", { className: "wb-workspaceError" }, t("project.add.failed")) : null) : /* @__PURE__ */ h(ProjectSwitcher, {
|
|
9387
|
+
items,
|
|
9388
|
+
current,
|
|
9389
|
+
attention,
|
|
9390
|
+
compact: true,
|
|
9391
|
+
onPick: pickProject,
|
|
9392
|
+
onAdd: addProject,
|
|
9393
|
+
onRename: props.renameWorkspace,
|
|
9394
|
+
t
|
|
9395
|
+
}), /* @__PURE__ */ h(WorkspaceSection, {
|
|
8909
9396
|
t,
|
|
8910
9397
|
wide,
|
|
8911
9398
|
onNewSession: () => {
|
|
@@ -9204,7 +9691,7 @@ function messagesOf(units) {
|
|
|
9204
9691
|
...face.messages === void 0 ? {} : { messages: face.messages }
|
|
9205
9692
|
}));
|
|
9206
9693
|
}
|
|
9207
|
-
var COMPONENT_CSS_MARKER = "\n.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\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\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: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n}\n.wb-approvalRow {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n.wb-approvalLabel {\n flex: none;\n width: var(--wb-len-56);\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-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\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\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\n.wb-spinner {\n display: inline-flex;\n align-items: center;\n flex: none;\n}\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}.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-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-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-formRows > .wb-formRow {\n grid-template-columns: subgrid;\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-formLabel {\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-formControl {\n display: flex;\n align-items: center;\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: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\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.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\n.wb-row:has(> [data-wb-dot]) {\n grid-template-columns: 84px minmax(0, 1fr);\n}\n.wb-rows {\n display: flex;\n flex-direction: column;\n}\n.wb-row {\n display: grid;\n grid-template-columns: 56px 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 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.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-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}\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\n.wb-stack {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n min-height: 0;\n}\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_csyus_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_csyus_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_csyus_20 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-40);\n height: var(--wb-len-40);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_csyus_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_csyus_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._marketDesc_csyus_48 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketUsedBy_csyus_59 {\n margin-left: var(--wb-len-8);\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 opacity: 0.75;\n}\n\n._marketUsedBy_csyus_59::before {\n content: '·';\n margin-right: var(--wb-len-6);\n opacity: 0.8;\n}\n\n._marketName_csyus_39 ._marketVersion_csyus_73 {\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_csyus_73 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_csyus_73::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_csyus_95 {\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_csyus_106 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_csyus_113 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_csyus_113::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_csyus_126 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_csyus_132 {\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_csyus_138 {\n height: 0;\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketSection_csyus_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_csyus_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_csyus_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_csyus_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_csyus_169 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n\n._marketProgress_csyus_176 {\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_csyus_186 {\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._marketNotePlain_csyus_193 {\n grid-column: 2 / -1;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-caption);\n overflow-wrap: anywhere;\n}\n\n._marketFailure_csyus_201 {\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._marketEmpty_csyus_208 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_csyus_213 {\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_csyus_213 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_csyus_231 {\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_csyus_239 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_csyus_244 {\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_csyus_250 {\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._marketIconButton_csyus_259 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-caption);\n cursor: pointer;\n}\n\n._marketIconButton_csyus_259:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketIconButton_csyus_259:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._marketIconWrap_csyus_284 {\n display: inline-flex;\n}\n\n._marketIconButtonSpinning_csyus_288 svg {\n animation: _wb-spin_csyus_1 var(--wb-dur-0-9) linear infinite;\n}\n\n._marketAddButton_csyus_292 {\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_csyus_208 {\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._marketChecking_csyus_309 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketEmptyTitle_csyus_317 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n@keyframes _wb-spin_csyus_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\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._body_lw2ph_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._lead_lw2ph_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._sources_lw2ph_14 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._sourcesLabel_lw2ph_21 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\nbutton._sourceOn_lw2ph_26 {\n border-color: var(--dsw-alias-brand-primary);\n}\n._sourceCount_lw2ph_29 {\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_lw2ph_36 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._status_lw2ph_42 {\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_lw2ph_52 {\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_lw2ph_62 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._failureHint_lw2ph_69 {\n grid-column: 1;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failureAction_lw2ph_74 {\n grid-column: 2;\n grid-row: 1;\n justify-self: end;\n}\n\n._rows_lw2ph_80 {\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_lw2ph_80 {\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_lw2ph_99 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._pick_lw2ph_106 {\n flex: 0 1 auto;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._pick_lw2ph_106 > span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._code_lw2ph_118 {\n --dsl-code-block-background: var(--dsw-alias-bg-layer-1);\n margin: 0;\n}\n\n._missing_lw2ph_123,\n._conflict_lw2ph_124 {\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\n._foot_lw2ph_130 {\n display: flex;\n justify-content: flex-end;\n}\n._actions_jlw8j_1[hidden],\n._progress_jlw8j_2[hidden],\n._commandRow_jlw8j_3[hidden],\n._bridge_jlw8j_4[hidden],\n._raw_jlw8j_5[hidden] {\n display: none;\n}\n\n._gate_jlw8j_9 {\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_jlw8j_20 {\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_jlw8j_20:has(._actions_jlw8j_1:not([hidden])),\n._card_jlw8j_20:has(._bridge_jlw8j_4:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_jlw8j_35 {\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_jlw8j_43 {\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_jlw8j_50 {\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_jlw8j_50 {\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_jlw8j_50[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_jlw8j_77 {\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_jlw8j_50[data-status='ok'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_jlw8j_50[data-status='warn'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_jlw8j_50[data-status='failed'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_jlw8j_102 {\n flex: none;\n}\n\n._detail_jlw8j_106 {\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_jlw8j_2 {\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_jlw8j_124 {\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_jlw8j_132 {\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_jlw8j_3 {\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_jlw8j_158 {\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_jlw8j_158:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_jlw8j_3 {\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_jlw8j_191 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_jlw8j_198 {\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_jlw8j_191 {\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_jlw8j_191:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_jlw8j_191:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_jlw8j_1,\n._bridge_jlw8j_4 {\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_jlw8j_249 {\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_jlw8j_1 ._hint_jlw8j_43,\n._bridge_jlw8j_4 ._hint_jlw8j_43 {\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_jlw8j_1 ._commandRow_jlw8j_3,\n._bridge_jlw8j_4 ._commandRow_jlw8j_3 {\n margin: 0;\n}\n\n._actions_jlw8j_1 ._buttons_jlw8j_191,\n._bridge_jlw8j_4 ._buttons_jlw8j_191 {\n justify-content: flex-start;\n}\n\n._raw_jlw8j_5 {\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\n._rawSummary_jlw8j_282 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_jlw8j_1 ._error_jlw8j_132,\n._bridge_jlw8j_4 ._error_jlw8j_132 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_jlw8j_292 {\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_jlw8j_292 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_jlw8j_309 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_jlw8j_309::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_jlw8j_309:hover {\n text-decoration: underline;\n}\n\n._loading_jlw8j_323 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_jlw8j_323[hidden] {\n display: none;\n}\n\n._loadingMotion_jlw8j_332 {\n transform-origin: center;\n animation: _wb-spin_jlw8j_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_jlw8j_337,\n._loadingArc_jlw8j_338 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_jlw8j_337 {\n opacity: 0.25;\n}\n\n._loadingArc_jlw8j_338 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_jlw8j_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_jlw8j_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_jlw8j_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_jlw8j_332,\n ._loadingArc_jlw8j_338 {\n animation: none;\n }\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._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_135e7_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_135e7_1[data-fullscreen] {\n z-index: var(--wb-z-40);\n}\n\n._panel_135e7_1[data-open] {\n visibility: visible;\n}\n\n._columns_135e7_18 {\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n align-items: start;\n gap: var(--wb-len-12);\n}\n\n._columns_135e7_18[data-two] {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n._column_135e7_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n._dot_moid1_1 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n._overlay_moid1_8 {\n position: absolute;\n inset-block-start: var(--wb-len-neg-2);\n inset-inline-end: var(--wb-len-neg-2);\n}\n._root_1ubj2_1 {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}\n\n._glyph_1ubj2_7 {\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_1ubj2_17 {\n color: var(--dsw-alias-state-business-primary);\n}\n\n._triggerName_1ubj2_21 {\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_1ubj2_32 {\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._name_1ubj2_40 {\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_1ubj2_21 ._name_1ubj2_40 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._row_1ubj2_53 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n width: 100%;\n min-width: 0;\n}\n\n._trailing_1ubj2_61 {\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_1ubj2_61 ._rowAction_1ubj2_71 {\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_1ubj2_53 ._name_1ubj2_40 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._current_1ubj2_84 {\n flex: none;\n display: inline-flex;\n align-items: center;\n color: var(--dsw-alias-label-primary);\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._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*/";
|
|
9694
|
+
var COMPONENT_CSS_MARKER = "\n.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\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\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: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n}\n.wb-approvalRow {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n.wb-approvalLabel {\n flex: none;\n width: var(--wb-len-56);\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-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\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\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\n.wb-spinner {\n display: inline-flex;\n align-items: center;\n flex: none;\n}\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}.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-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-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-formLabel {\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-formControl {\n display: flex;\n align-items: center;\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: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\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.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-rows {\n display: flex;\n flex-direction: column;\n}\n.wb-row {\n display: grid;\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-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}\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\n.wb-stack {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n min-height: 0;\n}\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_csyus_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_csyus_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_csyus_20 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-40);\n height: var(--wb-len-40);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_csyus_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_csyus_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._marketDesc_csyus_48 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketUsedBy_csyus_59 {\n margin-left: var(--wb-len-8);\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 opacity: 0.75;\n}\n\n._marketUsedBy_csyus_59::before {\n content: '·';\n margin-right: var(--wb-len-6);\n opacity: 0.8;\n}\n\n._marketName_csyus_39 ._marketVersion_csyus_73 {\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_csyus_73 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_csyus_73::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_csyus_95 {\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_csyus_106 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_csyus_113 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_csyus_113::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_csyus_126 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_csyus_132 {\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_csyus_138 {\n height: 0;\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketSection_csyus_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_csyus_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_csyus_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_csyus_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_csyus_169 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n\n._marketProgress_csyus_176 {\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_csyus_186 {\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._marketNotePlain_csyus_193 {\n grid-column: 2 / -1;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-caption);\n overflow-wrap: anywhere;\n}\n\n._marketFailure_csyus_201 {\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._marketEmpty_csyus_208 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_csyus_213 {\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_csyus_213 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_csyus_231 {\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_csyus_239 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_csyus_244 {\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_csyus_250 {\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._marketIconButton_csyus_259 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-caption);\n cursor: pointer;\n}\n\n._marketIconButton_csyus_259:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketIconButton_csyus_259:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._marketIconWrap_csyus_284 {\n display: inline-flex;\n}\n\n._marketIconButtonSpinning_csyus_288 svg {\n animation: _wb-spin_csyus_1 var(--wb-dur-0-9) linear infinite;\n}\n\n._marketAddButton_csyus_292 {\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_csyus_208 {\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._marketChecking_csyus_309 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketEmptyTitle_csyus_317 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n@keyframes _wb-spin_csyus_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\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_1og2k_1 {\n display: flex;\n flex: 1 1 0;\n min-width: 0;\n}\n\n._slot_1og2k_1 > * {\n flex: 1 1 0;\n min-width: 0;\n}\n\n._action_1og2k_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_1og2k_31 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._paused_1og2k_35 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._trouble_1og2k_39 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._pulse_1og2k_43 {\n animation: _wb-debug-breathe_1og2k_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-debug-breathe_1og2k_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_1og2k_43 {\n animation: none;\n }\n}\n\n._entry_1og2k_64 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1og2k_71 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1og2k_78 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1og2k_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_1og2k_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1og2k_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_1og2k_110:hover,\n._actStop_1og2k_110:focus-visible {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._actArmed_1og2k_115,\n._actArmed_1og2k_115:hover,\n._actArmed_1og2k_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_1og2k_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_1og2k_131 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1og2k_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_1og2k_150 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1og2k_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_1og2k_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._body_lw2ph_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._lead_lw2ph_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._sources_lw2ph_14 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._sourcesLabel_lw2ph_21 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\nbutton._sourceOn_lw2ph_26 {\n border-color: var(--dsw-alias-brand-primary);\n}\n._sourceCount_lw2ph_29 {\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_lw2ph_36 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._status_lw2ph_42 {\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_lw2ph_52 {\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_lw2ph_62 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._failureHint_lw2ph_69 {\n grid-column: 1;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failureAction_lw2ph_74 {\n grid-column: 2;\n grid-row: 1;\n justify-self: end;\n}\n\n._rows_lw2ph_80 {\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_lw2ph_80 {\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_lw2ph_99 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._pick_lw2ph_106 {\n flex: 0 1 auto;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._pick_lw2ph_106 > span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._code_lw2ph_118 {\n --dsl-code-block-background: var(--dsw-alias-bg-layer-1);\n margin: 0;\n}\n\n._missing_lw2ph_123,\n._conflict_lw2ph_124 {\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\n._foot_lw2ph_130 {\n display: flex;\n justify-content: flex-end;\n}\n._actions_jlw8j_1[hidden],\n._progress_jlw8j_2[hidden],\n._commandRow_jlw8j_3[hidden],\n._bridge_jlw8j_4[hidden],\n._raw_jlw8j_5[hidden] {\n display: none;\n}\n\n._gate_jlw8j_9 {\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_jlw8j_20 {\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_jlw8j_20:has(._actions_jlw8j_1:not([hidden])),\n._card_jlw8j_20:has(._bridge_jlw8j_4:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_jlw8j_35 {\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_jlw8j_43 {\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_jlw8j_50 {\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_jlw8j_50 {\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_jlw8j_50[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_jlw8j_77 {\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_jlw8j_50[data-status='ok'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_jlw8j_50[data-status='warn'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_jlw8j_50[data-status='failed'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_jlw8j_102 {\n flex: none;\n}\n\n._detail_jlw8j_106 {\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_jlw8j_2 {\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_jlw8j_124 {\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_jlw8j_132 {\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_jlw8j_3 {\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_jlw8j_158 {\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_jlw8j_158:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_jlw8j_3 {\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_jlw8j_191 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_jlw8j_198 {\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_jlw8j_191 {\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_jlw8j_191:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_jlw8j_191:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_jlw8j_1,\n._bridge_jlw8j_4 {\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_jlw8j_249 {\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_jlw8j_1 ._hint_jlw8j_43,\n._bridge_jlw8j_4 ._hint_jlw8j_43 {\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_jlw8j_1 ._commandRow_jlw8j_3,\n._bridge_jlw8j_4 ._commandRow_jlw8j_3 {\n margin: 0;\n}\n\n._actions_jlw8j_1 ._buttons_jlw8j_191,\n._bridge_jlw8j_4 ._buttons_jlw8j_191 {\n justify-content: flex-start;\n}\n\n._raw_jlw8j_5 {\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\n._rawSummary_jlw8j_282 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_jlw8j_1 ._error_jlw8j_132,\n._bridge_jlw8j_4 ._error_jlw8j_132 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_jlw8j_292 {\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_jlw8j_292 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_jlw8j_309 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_jlw8j_309::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_jlw8j_309:hover {\n text-decoration: underline;\n}\n\n._loading_jlw8j_323 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_jlw8j_323[hidden] {\n display: none;\n}\n\n._loadingMotion_jlw8j_332 {\n transform-origin: center;\n animation: _wb-spin_jlw8j_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_jlw8j_337,\n._loadingArc_jlw8j_338 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_jlw8j_337 {\n opacity: 0.25;\n}\n\n._loadingArc_jlw8j_338 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_jlw8j_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_jlw8j_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_jlw8j_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_jlw8j_332,\n ._loadingArc_jlw8j_338 {\n animation: none;\n }\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._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_135e7_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_135e7_1[data-fullscreen] {\n z-index: var(--wb-z-40);\n}\n\n._panel_135e7_1[data-open] {\n visibility: visible;\n}\n\n._columns_135e7_18 {\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n align-items: start;\n gap: var(--wb-len-12);\n}\n\n._columns_135e7_18[data-two] {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n._column_135e7_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\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._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*/";
|
|
9208
9695
|
function workbenchCss() {
|
|
9209
9696
|
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}`;
|
|
9210
9697
|
}
|
|
@@ -9393,6 +9880,7 @@ function mount(ctx) {
|
|
|
9393
9880
|
})
|
|
9394
9881
|
}, Sidebar));
|
|
9395
9882
|
registerMarketPanel(ctx, units);
|
|
9883
|
+
registerDebugFooter(ctx);
|
|
9396
9884
|
registerConfigSyncSection(ctx);
|
|
9397
9885
|
ctx.effect(() => {
|
|
9398
9886
|
const workshop = workshopWorkspace();
|