@dsh-workbench/core 1.1.9 → 1.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/README.md +3 -3
  2. package/client.js +1166 -841
  3. package/dist/client/client.body.js +1166 -841
  4. package/dist/client/index.js +1034 -709
  5. package/dist/host/index.js +223 -130
  6. package/dist/types/app/layouts/env-gate/gate-text.d.ts +1 -0
  7. package/dist/types/app/layouts/market/discover-view.d.ts +1 -0
  8. package/dist/types/app/layouts/rightbar/MarketView.d.ts +2 -23
  9. package/dist/types/app/layouts/rightbar/market-body.d.ts +25 -0
  10. package/dist/types/app/layouts/rightbar/market-detail-facts.d.ts +14 -0
  11. package/dist/types/app/layouts/rightbar/market-detail-page.d.ts +20 -0
  12. package/dist/types/app/layouts/rightbar/market-detail.d.ts +17 -0
  13. package/dist/types/app/layouts/rightbar/market-row-types.d.ts +7 -0
  14. package/dist/types/app/layouts/rightbar/market-rows.d.ts +2 -0
  15. package/dist/types/app/layouts/rightbar/market-scene-view.d.ts +33 -0
  16. package/dist/types/app/layouts/rightbar/market-section.d.ts +23 -4
  17. package/dist/types/app/layouts/rightbar/market-view-text.d.ts +1 -0
  18. package/dist/types/app/layouts/sidebar/workspace-groups.d.ts +1 -1
  19. package/dist/types/modules/panels/model/market-discover.d.ts +1 -0
  20. package/dist/types/shared/api/host/diy-publish-preview.d.ts +4 -4
  21. package/dist/types/shared/api/host/git-exec.d.ts +1 -0
  22. package/dist/types/shared/api/host/git-probe.d.ts +6 -6
  23. package/dist/types/shared/api/host/git-process.d.ts +13 -0
  24. package/dist/types/shared/api/host/git-routes.d.ts +5 -2
  25. package/dist/types/shared/api/host/market-doc.d.ts +2 -2
  26. package/dist/types/shared/api/host/market-index-fetch.d.ts +2 -2
  27. package/dist/types/shared/api/host/market-source-init.d.ts +2 -2
  28. package/dist/types/shared/api/installed-plugins.d.ts +2 -0
  29. package/package.json +4 -4
@@ -3184,6 +3184,25 @@ var en = {
3184
3184
  "panels.market.badSource": "The install method is incomplete — install it yourself",
3185
3185
  "panels.market.empty": "No modules available",
3186
3186
  "panels.market.sectionPlugins": "Installed plugins",
3187
+ "panels.market.openDetail": "View details for {name}",
3188
+ "panels.market.detailBack": "Market",
3189
+ "panels.market.detailSourceTitle": "Source",
3190
+ "panels.market.detailSource": "Install source",
3191
+ "panels.market.detailRegistry": "Registry",
3192
+ "panels.market.detailSpec": "Declared as",
3193
+ "panels.market.detailUnit": "Module ID",
3194
+ "panels.market.detailVersion": "Current version",
3195
+ "panels.market.detailLatest": "Available version",
3196
+ "panels.market.detailPluginName": "Plugin name",
3197
+ "panels.market.detailInstalledAt": "Installed at",
3198
+ "panels.market.detailMarket": "Index source",
3199
+ "panels.market.detailRepository": "Repository",
3200
+ "panels.market.detailCommit": "Commit",
3201
+ "panels.market.detailDirectory": "Directory",
3202
+ "panels.market.detailUpdateSource": "Update source",
3203
+ "panels.market.detailUpdateVersion": "Update version",
3204
+ "panels.market.detailLocalDirectory": "local directory",
3205
+ "panels.market.detailUnknown": "not recorded",
3187
3206
  "panels.market.moduleOutdated": "update available",
3188
3207
  "panels.market.updateNeedsWorkbench": "this version needs a newer workbench first",
3189
3208
  "panels.market.updateIncompatible": "the new version does not match this workbench, so it cannot be installed now",
@@ -3355,6 +3374,7 @@ var en = {
3355
3374
  "panels.discover.noSourceHint": "Add a module market index (http address or git repository) to browse and install its modules here",
3356
3375
  "panels.discover.sourcesFailed": "Could not read the index sources.",
3357
3376
  "panels.discover.unreadable": "Could not read this index.",
3377
+ "panels.discover.sandbox": "Blocked by the system: this profile does not allow the workbench to write its own cache directory.",
3358
3378
  "panels.discover.sourceAuth": "This index source could not be read: this machine has no git credentials for it. Set up credentials (or switch the source to its SSH address), then refresh.",
3359
3379
  "panels.discover.invalid": "This index is not in a valid format.",
3360
3380
  "panels.discover.emptyRepo": "This repository has no commits yet.",
@@ -3551,6 +3571,7 @@ var en = {
3551
3571
  "env.title": "Preparing the workbench",
3552
3572
  "env.checking": "Getting the runtime ready…",
3553
3573
  "env.installing": "Installing background tools — the first run takes a moment…",
3574
+ "env.installingToolchain": "Installing the workbench’s own npm / pnpm — the first run downloads them, so it can take a while.",
3554
3575
  "env.failed": "One step away",
3555
3576
  "env.elapsed": "Waiting {seconds}s",
3556
3577
  "env.stepFailed.install": "install failed",
@@ -3591,14 +3612,14 @@ var en = {
3591
3612
  "env.diy.continue": "Enter the workbench anyway",
3592
3613
  "env.copyCommand": "Copy command",
3593
3614
  "env.copied": "Copied",
3594
- "env.step.toolchain": "Runtime",
3595
- "env.step.adapter": "Runtime",
3596
- "env.step.runtime": "Background tools",
3597
- "env.step.bridge": "Browser connection",
3598
- "env.step.diy": "DIY mode",
3599
- "env.step.warm": "Site sign-in",
3615
+ "env.step.toolchain": "Check the environment",
3616
+ "env.step.adapter": "Check the runtime",
3617
+ "env.step.runtime": "Install background tools",
3618
+ "env.step.bridge": "Connect your browser",
3619
+ "env.step.diy": "Check DIY mode",
3620
+ "env.step.warm": "Reach your sites",
3600
3621
  "env.warm.done": "Ready ({n} sites)",
3601
- "env.warm.short": "Could not sign in early this time — nothing breaks; the first read fills it in",
3622
+ "env.warm.short": "Could not reach your sites early this time — nothing breaks; the first read fills it in",
3602
3623
  "env.unit.failed": "This module cannot start",
3603
3624
  "env.unit.failedHint": "It failed while starting up; other modules are unaffected.",
3604
3625
  "env.unit.unchecked": "Cannot check: no command line",
@@ -3929,6 +3950,25 @@ var dictionaries = {
3929
3950
  "panels.market.badSource": "安装方式没写全,只能自己动手",
3930
3951
  "panels.market.empty": "暂无可用模块",
3931
3952
  "panels.market.sectionPlugins": "已安装的插件",
3953
+ "panels.market.openDetail": "查看 {name} 的详情",
3954
+ "panels.market.detailBack": "市场",
3955
+ "panels.market.detailSourceTitle": "来源信息",
3956
+ "panels.market.detailSource": "安装源",
3957
+ "panels.market.detailRegistry": "注册表",
3958
+ "panels.market.detailSpec": "依赖写法",
3959
+ "panels.market.detailUnit": "模块标识",
3960
+ "panels.market.detailVersion": "当前版本",
3961
+ "panels.market.detailLatest": "可用版本",
3962
+ "panels.market.detailPluginName": "插件名",
3963
+ "panels.market.detailInstalledAt": "安装时间",
3964
+ "panels.market.detailMarket": "索引源",
3965
+ "panels.market.detailRepository": "仓库",
3966
+ "panels.market.detailCommit": "提交",
3967
+ "panels.market.detailDirectory": "目录",
3968
+ "panels.market.detailUpdateSource": "新版来源",
3969
+ "panels.market.detailUpdateVersion": "新版版本",
3970
+ "panels.market.detailLocalDirectory": "本机目录",
3971
+ "panels.market.detailUnknown": "未记录",
3932
3972
  "panels.market.moduleOutdated": "有新版",
3933
3973
  "panels.market.updateNeedsWorkbench": "新版本要先把工作台升级才能用",
3934
3974
  "panels.market.updateIncompatible": "新版本和当前的工作台不匹配,暂时不能更新",
@@ -4100,6 +4140,7 @@ var dictionaries = {
4100
4140
  "panels.discover.noSourceHint": "添加一个模块市场索引(http 地址或 git 仓库),即可在这里浏览和安装其中的模块",
4101
4141
  "panels.discover.sourcesFailed": "无法读取索引源",
4102
4142
  "panels.discover.unreadable": "无法读取此索引",
4143
+ "panels.discover.sandbox": "被系统拦住了:这个 profile 的可写根盖不住工作台的缓存目录",
4103
4144
  "panels.discover.sourceAuth": "这个索引源读不了:本机没有它的 git 凭据。配好凭据(或在源里改用 SSH 地址),再点右上角的刷新。",
4104
4145
  "panels.discover.invalid": "此索引的格式无效",
4105
4146
  "panels.discover.emptyRepo": "这个仓库还没有任何提交",
@@ -4296,6 +4337,7 @@ var dictionaries = {
4296
4337
  "env.title": "准备工作台",
4297
4338
  "env.checking": "正在准备运行环境…",
4298
4339
  "env.installing": "正在安装后台工具,第一次会慢一点…",
4340
+ "env.installingToolchain": "正在装工作台自己那份 npm / pnpm —— 第一次要下载,慢一点正常。",
4299
4341
  "env.failed": "还差一步就能用了",
4300
4342
  "env.elapsed": "已等待 {seconds} 秒",
4301
4343
  "env.stepFailed.install": "装不上",
@@ -4336,12 +4378,12 @@ var dictionaries = {
4336
4378
  "env.diy.continue": "先进入工作台",
4337
4379
  "env.copyCommand": "复制命令",
4338
4380
  "env.copied": "已复制",
4339
- "env.step.toolchain": "运行环境",
4340
- "env.step.adapter": "运行时",
4341
- "env.step.runtime": "后台工具",
4342
- "env.step.bridge": "浏览器连接",
4343
- "env.step.diy": "DIY 模式",
4344
- "env.step.warm": "站点登录状态",
4381
+ "env.step.toolchain": "检查运行环境",
4382
+ "env.step.adapter": "检查运行时",
4383
+ "env.step.runtime": "安装后台工具",
4384
+ "env.step.bridge": "连接浏览器",
4385
+ "env.step.diy": "检查 DIY 模式",
4386
+ "env.step.warm": "连上站点",
4345
4387
  "env.warm.done": "已就绪({n} 个站点)",
4346
4388
  "env.warm.short": "这次没提前连上 —— 不影响用,第一次取数会自己补",
4347
4389
  "env.unit.failed": "这个模块起不来",
@@ -5389,6 +5431,9 @@ function installedRows(modules, manifests, listed, names, defaults = /* @__PURE_
5389
5431
  ...note === void 0 ? {} : { note },
5390
5432
  ...module.local === true ? { local: true } : {},
5391
5433
  pkg: module.pkg,
5434
+ ...module.spec === void 0 ? {} : { spec: module.spec },
5435
+ ...module.registry === void 0 ? {} : { registry: module.registry },
5436
+ removeViaBundle: true,
5392
5437
  canInstall: false,
5393
5438
  canUpdate: outdated && blocked === void 0,
5394
5439
  canUninstall: true,
@@ -5400,7 +5445,10 @@ function installedRows(modules, manifests, listed, names, defaults = /* @__PURE_
5400
5445
  installed: module.installed,
5401
5446
  latest,
5402
5447
  ...blocked === void 0 ? {} : { blocked },
5403
- ...module.market === void 0 ? {} : { market: module.market }
5448
+ ...module.market === void 0 ? {} : { market: module.market },
5449
+ pkg: module.pkg,
5450
+ ...module.spec === void 0 ? {} : { spec: module.spec },
5451
+ ...module.registry === void 0 ? {} : { registry: module.registry }
5404
5452
  } } : {},
5405
5453
  ...module.market === void 0 ? {} : { market: module.market },
5406
5454
  defaultShown: defaults.has(module.unit),
@@ -5422,7 +5470,7 @@ function marketActions$1(row) {
5422
5470
  return [
5423
5471
  ...row.canInstall ? ["install"] : [],
5424
5472
  ...row.moduleUpdate === void 0 ? row.canUpdate ? ["update"] : [] : row.moduleUpdate.blocked === void 0 ? [row.market === void 0 || row.pkg === void 0 ? "update-bundle" : "install-version"] : [],
5425
- ...row.canUninstall ? [row.pkg === void 0 ? "uninstall" : "remove-bundle"] : []
5473
+ ...row.canUninstall ? [row.removeViaBundle === true ? "remove-bundle" : "uninstall"] : []
5426
5474
  ];
5427
5475
  }
5428
5476
  function stateOf(capability, manifest, installed) {
@@ -5511,7 +5559,10 @@ function marketUpdatesOf(modules) {
5511
5559
  ...local || module.latest === void 0 ? {} : { latest: module.latest },
5512
5560
  ...local || module.latest === void 0 || module.latestBlocked === void 0 ? {} : { blocked: module.latestBlocked },
5513
5561
  ...local ? { local: true } : {},
5514
- ...local || module.market === void 0 ? {} : { market: module.market }
5562
+ ...local || module.market === void 0 ? {} : { market: module.market },
5563
+ pkg: module.pkg,
5564
+ ...module.spec === void 0 ? {} : { spec: module.spec },
5565
+ ...module.registry === void 0 ? {} : { registry: module.registry }
5515
5566
  };
5516
5567
  }
5517
5568
  return next;
@@ -5563,7 +5614,10 @@ function marketRows(manifests, capabilities, updates = {}, defaults = /* @__PURE
5563
5614
  installed: entry.installed,
5564
5615
  latest: entry.latest,
5565
5616
  ...entry.blocked === void 0 ? {} : { blocked: entry.blocked },
5566
- ...entry.market === void 0 ? {} : { market: entry.market }
5617
+ ...entry.market === void 0 ? {} : { market: entry.market },
5618
+ ...entry.pkg === void 0 ? {} : { pkg: entry.pkg },
5619
+ ...entry.spec === void 0 ? {} : { spec: entry.spec },
5620
+ ...entry.registry === void 0 ? {} : { registry: entry.registry }
5567
5621
  };
5568
5622
  const shown = moduleUpdate === void 0 ? state : "outdated";
5569
5623
  const hint = moduleUpdate?.blocked === void 0 ? shown === "unknown" || shown === "unchecked" ? "panels.market.uncheckedHint" : void 0 : updateBlockHintOf(moduleUpdate.blocked);
@@ -5580,10 +5634,11 @@ function marketRows(manifests, capabilities, updates = {}, defaults = /* @__PURE
5580
5634
  ...entry.latest === void 0 ? {} : { latest: entry.latest }
5581
5635
  } },
5582
5636
  ...moduleUpdate === void 0 ? {} : { moduleUpdate },
5583
- ...entry?.market === void 0 ? {} : {
5584
- market: entry.market,
5585
- pkg: entry.market.pkg
5586
- },
5637
+ ...entry?.market === void 0 ? {} : { market: entry.market },
5638
+ ...entry?.pkg === void 0 ? entry?.market === void 0 ? {} : { pkg: entry.market.pkg } : { pkg: entry.pkg },
5639
+ ...entry?.spec === void 0 ? {} : { spec: entry.spec },
5640
+ ...entry?.registry === void 0 ? {} : { registry: entry.registry },
5641
+ ...entry?.market === void 0 ? {} : { removeViaBundle: true },
5587
5642
  ...moduleUpdate === void 0 ? note === void 0 ? {} : { note } : {},
5588
5643
  ...local ? { local: true } : {},
5589
5644
  defaultShown: defaults.has(manifest.id),
@@ -5622,6 +5677,8 @@ function installedPluginRows(plugins, defaults = /* @__PURE__ */ new Set(), chan
5622
5677
  defaultShown: defaults.has(id),
5623
5678
  defaultChanged: changed[id] ?? 0,
5624
5679
  ...note === void 0 ? {} : { note },
5680
+ ...plugin.registry === void 0 ? {} : { registry: plugin.registry },
5681
+ ...plugin.installedAt === void 0 ? {} : { installedAt: plugin.installedAt },
5625
5682
  ...plugin.installed === void 0 ? {} : { versionLabel: `${plugin.pkg}@${plugin.installed}` },
5626
5683
  pkg: plugin.pkg,
5627
5684
  ...plugin.installed === void 0 ? {} : { version: {
@@ -5662,7 +5719,9 @@ function workbenchRow(version) {
5662
5719
  ...update === void 0 ? {} : { moduleUpdate: update },
5663
5720
  ...followUp === void 0 ? {} : { followUp },
5664
5721
  ...followUpState ? { hint: "panels.market.migrationHint" } : {},
5665
- pkg: version.pkg
5722
+ pkg: version.pkg,
5723
+ ...version.spec === void 0 ? {} : { spec: version.spec },
5724
+ ...version.registry === void 0 ? {} : { registry: version.registry }
5666
5725
  };
5667
5726
  }
5668
5727
  //#endregion
@@ -6184,217 +6243,192 @@ function useMarketTransient(input) {
6184
6243
  setNotice
6185
6244
  };
6186
6245
  }
6187
- var MarketPage_module_default = {
6188
- marketList: "_marketList_1vpw3_1",
6189
- marketRow: "_marketRow_1vpw3_10",
6190
- marketIcon: "_marketIcon_1vpw3_20",
6191
- marketMain: "_marketMain_1vpw3_32",
6192
- marketName: "_marketName_1vpw3_39",
6193
- marketStatus: "_marketStatus_1vpw3_48",
6194
- marketStateText: "_marketStateText_1vpw3_58",
6195
- marketSep: "_marketSep_1vpw3_62",
6196
- marketReason: "_marketReason_1vpw3_66",
6197
- marketVersion: "_marketVersion_1vpw3_72",
6198
- marketLocalTag: "_marketLocalTag_1vpw3_94",
6199
- marketEnd: "_marketEnd_1vpw3_105",
6200
- marketSwitchSeat: "_marketSwitchSeat_1vpw3_112",
6201
- marketActions: "_marketActions_1vpw3_125",
6202
- marketUpdateAction: "_marketUpdateAction_1vpw3_131",
6203
- marketSelfDivider: "_marketSelfDivider_1vpw3_137",
6204
- marketSection: "_marketSection_1vpw3_143",
6205
- marketSectionHead: "_marketSectionHead_1vpw3_150",
6206
- marketSectionIcon: "_marketSectionIcon_1vpw3_156",
6207
- marketSectionTitle: "_marketSectionTitle_1vpw3_163",
6208
- marketSectionCount: "_marketSectionCount_1vpw3_169",
6209
- marketSectionAction: "_marketSectionAction_1vpw3_175",
6210
- marketSectionQuiet: "_marketSectionQuiet_1vpw3_183",
6211
- marketProgress: "_marketProgress_1vpw3_195",
6212
- marketNote: "_marketNote_1vpw3_205",
6213
- marketFailure: "_marketFailure_1vpw3_212",
6214
- marketFailureSeat: "_marketFailureSeat_1vpw3_219",
6215
- marketEmpty: "_marketEmpty_1vpw3_224",
6216
- marketPage: "_marketPage_1vpw3_229",
6217
- marketPageHead: "_marketPageHead_1vpw3_247",
6218
- marketPageTitle: "_marketPageTitle_1vpw3_255",
6219
- marketPageIntro: "_marketPageIntro_1vpw3_260",
6220
- marketPageTools: "_marketPageTools_1vpw3_266",
6221
- marketPanel: "_marketPanel_1vpw3_275",
6222
- marketTabs: "_marketTabs_1vpw3_285",
6223
- marketTabList: "_marketTabList_1vpw3_290",
6224
- marketAddButton: "_marketAddButton_1vpw3_295",
6225
- marketEmptyTitle: "_marketEmptyTitle_1vpw3_312",
6226
- discoverPage: "_discoverPage_1vpw3_317",
6227
- discoverBar: "_discoverBar_1vpw3_324",
6228
- discoverTools: "_discoverTools_1vpw3_331",
6229
- discoverMarket: "_discoverMarket_1vpw3_337",
6230
- discoverMarketButton: "_discoverMarketButton_1vpw3_342",
6231
- discoverMarketName: "_discoverMarketName_1vpw3_349",
6232
- discoverLabels: "_discoverLabels_1vpw3_355",
6233
- discoverSort: "_discoverSort_1vpw3_360",
6234
- discoverRefresh: "_discoverRefresh_1vpw3_365",
6235
- discoverSearch: "_discoverSearch_1vpw3_369",
6236
- discoverSearchField: "_discoverSearchField_1vpw3_377",
6237
- discoverSearchFieldFilled: "_discoverSearchFieldFilled_1vpw3_382",
6238
- discoverSearchClear: "_discoverSearchClear_1vpw3_391",
6239
- discoverChips: "_discoverChips_1vpw3_442",
6240
- discoverList: "_discoverList_1vpw3_449",
6241
- discoverCard: "_discoverCard_1vpw3_458",
6242
- discoverArtwork: "_discoverArtwork_1vpw3_472",
6243
- discoverArtworkImage: "_discoverArtworkImage_1vpw3_484",
6244
- discoverMain: "_discoverMain_1vpw3_488",
6245
- discoverTitleRow: "_discoverTitleRow_1vpw3_496",
6246
- discoverCardOpen: "_discoverCardOpen_1vpw3_504",
6247
- discoverStrong: "_discoverStrong_1vpw3_535",
6248
- discoverDesc: "_discoverDesc_1vpw3_541",
6249
- discoverMeta: "_discoverMeta_1vpw3_550",
6250
- discoverMuted: "_discoverMuted_1vpw3_557",
6251
- discoverEnd: "_discoverEnd_1vpw3_563",
6252
- discoverUpdateAction: "_discoverUpdateAction_1vpw3_572",
6253
- discoverBlocked: "_discoverBlocked_1vpw3_577",
6254
- discoverEmpty: "_discoverEmpty_1vpw3_582",
6255
- discoverEmptyTitle: "_discoverEmptyTitle_1vpw3_591",
6256
- discoverDetail: "_discoverDetail_1vpw3_601",
6257
- discoverCrumb: "_discoverCrumb_1vpw3_607",
6258
- discoverCrumbIcon: "_discoverCrumbIcon_1vpw3_630",
6259
- discoverDetailHead: "_discoverDetailHead_1vpw3_634",
6260
- discoverDetailTitle: "_discoverDetailTitle_1vpw3_640",
6261
- discoverDetailText: "_discoverDetailText_1vpw3_646",
6262
- discoverDetailPanel: "_discoverDetailPanel_1vpw3_653",
6263
- discoverDetailTabs: "_discoverDetailTabs_1vpw3_660",
6264
- discoverDetailTabList: "_discoverDetailTabList_1vpw3_665",
6265
- discoverDocBody: "_discoverDocBody_1vpw3_670",
6266
- discoverDocNotice: "_discoverDocNotice_1vpw3_675",
6267
- discoverSection: "_discoverSection_1vpw3_681",
6268
- discoverSectionTitle: "_discoverSectionTitle_1vpw3_688",
6269
- discoverFacts: "_discoverFacts_1vpw3_694",
6270
- discoverFactRow: "_discoverFactRow_1vpw3_699",
6271
- discoverFactKind: "_discoverFactKind_1vpw3_709",
6272
- discoverFactValue: "_discoverFactValue_1vpw3_715",
6273
- discoverCode: "_discoverCode_1vpw3_723",
6274
- discoverTags: "_discoverTags_1vpw3_732",
6275
- discoverLink: "_discoverLink_1vpw3_739",
6276
- discoverVersions: "_discoverVersions_1vpw3_749",
6277
- discoverVersionRow: "_discoverVersionRow_1vpw3_757",
6278
- discoverVersionName: "_discoverVersionName_1vpw3_765",
6279
- discoverError: "_discoverError_1vpw3_770",
6280
- discoverFailure: "_discoverFailure_1vpw3_779",
6281
- discoverLoading: "_discoverLoading_1vpw3_785",
6282
- discoverNotice: "_discoverNotice_1vpw3_794",
6283
- discoverMore: "_discoverMore_1vpw3_812",
6284
- discoverTransport: "_discoverTransport_1vpw3_816",
6285
- discoverTransportHead: "_discoverTransportHead_1vpw3_822",
6286
- discoverTransportTitle: "_discoverTransportTitle_1vpw3_829",
6287
- discoverTransportKind: "_discoverTransportKind_1vpw3_834",
6288
- discoverTransportState: "_discoverTransportState_1vpw3_839",
6289
- discoverTransportRows: "_discoverTransportRows_1vpw3_847",
6290
- discoverTransportRow: "_discoverTransportRow_1vpw3_847",
6291
- discoverTransportRadio: "_discoverTransportRadio_1vpw3_868",
6292
- discoverTransportCustom: "_discoverTransportCustom_1vpw3_908",
6293
- discoverTransportInput: "_discoverTransportInput_1vpw3_914",
6294
- discoverInstallBar: "_discoverInstallBar_1vpw3_919",
6295
- discoverInstallText: "_discoverInstallText_1vpw3_930",
6296
- discoverDialog: "_discoverDialog_1vpw3_936",
6297
- discoverDialogBody: "_discoverDialogBody_1vpw3_940",
6298
- discoverSourceList: "_discoverSourceList_1vpw3_946",
6299
- discoverSourceRow: "_discoverSourceRow_1vpw3_954",
6300
- discoverSourceConfirm: "_discoverSourceConfirm_1vpw3_963",
6301
- discoverSourcePick: "_discoverSourcePick_1vpw3_969",
6302
- discoverSourceRadio: "_discoverSourceRadio_1vpw3_978",
6303
- discoverSourceMain: "_discoverSourceMain_1vpw3_986",
6304
- discoverSourceHead: "_discoverSourceHead_1vpw3_994",
6305
- discoverSourceUrl: "_discoverSourceUrl_1vpw3_1002",
6306
- discoverSourceMore: "_discoverSourceMore_1vpw3_1012",
6307
- discoverSourceLoading: "_discoverSourceLoading_1vpw3_1016",
6308
- discoverSourceHint: "_discoverSourceHint_1vpw3_1026",
6309
- discoverSourceError: "_discoverSourceError_1vpw3_1040",
6310
- discoverSourceForm: "_discoverSourceForm_1vpw3_1046",
6311
- discoverGrow: "_discoverGrow_1vpw3_1052",
6312
- discoverField: "_discoverField_1vpw3_1057",
6313
- discoverFieldLabel: "_discoverFieldLabel_1vpw3_1063",
6314
- discoverConfirmHead: "_discoverConfirmHead_1vpw3_1068",
6315
- discoverSkeletonFill: "_discoverSkeletonFill_1vpw3_1074",
6316
- "wb-skeleton": "_wb-skeleton_1vpw3_1",
6317
- discoverSkeletonBar: "_discoverSkeletonBar_1vpw3_1083",
6318
- discoverSkeletonTitle: "_discoverSkeletonTitle_1vpw3_1090",
6319
- discoverSkeletonDesc: "_discoverSkeletonDesc_1vpw3_1094"
6320
- };
6321
6246
  //#endregion
6322
- //#region src/app/layouts/market/discover-states.tsx
6323
- function DiscoverSkeleton({ label }) {
6324
- return /* @__PURE__ */ createElement("ul", {
6325
- className: MarketPage_module_default.discoverList,
6326
- role: "status",
6327
- "aria-label": label,
6328
- "aria-busy": "true"
6329
- }, [
6330
- 0,
6331
- 1,
6332
- 2,
6333
- 3
6334
- ].map((index) => /* @__PURE__ */ createElement("li", {
6335
- key: String(index),
6336
- className: MarketPage_module_default.discoverCard,
6337
- "aria-hidden": "true"
6338
- }, /* @__PURE__ */ createElement("span", { className: `${MarketPage_module_default.discoverArtwork} ${MarketPage_module_default.discoverSkeletonFill}` }), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverMain }, /* @__PURE__ */ createElement("span", { className: `${MarketPage_module_default.discoverSkeletonBar} ${MarketPage_module_default.discoverSkeletonTitle} ${MarketPage_module_default.discoverSkeletonFill}` }), /* @__PURE__ */ createElement("span", { className: `${MarketPage_module_default.discoverSkeletonBar} ${MarketPage_module_default.discoverSkeletonDesc} ${MarketPage_module_default.discoverSkeletonFill}` })))));
6247
+ //#region src/app/layouts/rightbar/market-names.ts
6248
+ function namesOf(t, modules, titleOf) {
6249
+ const shown = /* @__PURE__ */ new Map();
6250
+ for (const module of modules) {
6251
+ const key = unitTitleKey(module.unit);
6252
+ const live = t(key);
6253
+ const name = live !== key && live !== "" ? live : titleOf(module.title);
6254
+ if (name !== "") shown.set(module.unit, name);
6255
+ }
6256
+ return shown;
6339
6257
  }
6340
- function DiscoverEmptyText({ text }) {
6341
- return /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverMuted }, text);
6258
+ //#endregion
6259
+ //#region src/app/layouts/rightbar/market-view-text.ts
6260
+ var PROGRESS_KEY = {
6261
+ install: "panels.market.installing",
6262
+ update: "panels.market.updating",
6263
+ "update-bundle": "panels.market.updating",
6264
+ "install-version": "panels.market.updating",
6265
+ "remove-bundle": "panels.market.uninstalling",
6266
+ uninstall: "panels.market.uninstalling",
6267
+ "update-dependency": "panels.market.updating",
6268
+ "update-plugin": "panels.market.updating",
6269
+ "uninstall-plugin": "panels.market.uninstalling",
6270
+ "update-workbench": "panels.market.updating",
6271
+ "migrate-workbench": "panels.market.migrating",
6272
+ "dismiss-followup": "panels.market.dismissing"
6273
+ };
6274
+ var ACTION_LABEL_KEY = {
6275
+ install: "panels.market.install",
6276
+ update: "panels.market.update",
6277
+ "update-bundle": "panels.market.update",
6278
+ "install-version": "panels.market.update",
6279
+ "remove-bundle": "panels.market.uninstall",
6280
+ uninstall: "panels.market.uninstall",
6281
+ "update-dependency": "panels.market.update",
6282
+ "update-plugin": "panels.market.update",
6283
+ "uninstall-plugin": "panels.market.uninstall",
6284
+ "update-workbench": "panels.market.update",
6285
+ "migrate-workbench": "panels.market.migrateAction",
6286
+ "dismiss-followup": "panels.market.dismissFollowUp"
6287
+ };
6288
+ var UPDATE_ACTIONS = Object.keys(ACTION_LABEL_KEY).filter((action) => ACTION_LABEL_KEY[action] === "panels.market.update");
6289
+ function holdOf(pending, application) {
6290
+ if (pending === null || pending.row === void 0) return void 0;
6291
+ if (application !== "applied") return void 0;
6292
+ return {
6293
+ id: pending.id,
6294
+ row: pending.row
6295
+ };
6342
6296
  }
6343
- function DiscoverLoading({ label }) {
6344
- return /* @__PURE__ */ createElement("p", {
6345
- className: MarketPage_module_default.discoverLoading,
6346
- role: "status",
6347
- "aria-live": "polite"
6348
- }, /* @__PURE__ */ createElement(StateDot, { state: "ongoing" }), label);
6297
+ function pendingLanded(pending, updates, capabilities, installed, shared = [], plugins = null, removal = {
6298
+ units: null,
6299
+ plugins: null
6300
+ }) {
6301
+ if (pending === null) return true;
6302
+ if (pending.action === "update" && capabilities === null) return false;
6303
+ return settleLanded({
6304
+ action: pending.action,
6305
+ until: pending.until,
6306
+ readBack: pending.readBack,
6307
+ installed,
6308
+ entry: updates[pending.id],
6309
+ clicked: pending.version,
6310
+ outdated: capabilityOutdated(capabilities, pending.id),
6311
+ unitGone: removal.units === null ? null : !removal.units.has(pending.id),
6312
+ pluginGone: removal.plugins === null ? null : !removal.plugins.has(pending.id),
6313
+ ...pending.action === "update-dependency" ? { sharedState: shared.find((row) => row.id === pending.id)?.state } : {},
6314
+ ...pending.action === "update-plugin" ? { pluginOutdated: plugins === null ? null : plugins.find((row) => row.id === pending.id)?.canUpdate ?? false } : {}
6315
+ });
6349
6316
  }
6350
- function DiscoverFailure({ t, text, onRetry }) {
6351
- return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverFailure }, /* @__PURE__ */ createElement("p", {
6352
- className: MarketPage_module_default.discoverError,
6353
- role: "alert"
6354
- }, /* @__PURE__ */ createElement(StateDot, { state: "error" }), text), /* @__PURE__ */ createElement(Button, {
6355
- type: "button",
6356
- size: "sm",
6357
- variant: "outline",
6358
- onClick: onRetry
6359
- }, t("panels.discover.retry")));
6317
+ function holdExpired(held, backInRoster, elapsedMs) {
6318
+ if (held === void 0) return true;
6319
+ return backInRoster || elapsedMs >= 15e3;
6360
6320
  }
6361
- function DiscoverUninitialized({ t, path, empty, onInit }) {
6362
- return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverEmpty }, /* @__PURE__ */ createElement(PluginArtworkDefault, { size: 48 }), /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverEmptyTitle }, t("panels.discover.initTitle")), /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverMuted }, empty ? t("panels.discover.emptyRepo") : t("panels.discover.missingIndex", { path })), /* @__PURE__ */ createElement(Button, {
6363
- type: "button",
6364
- size: "sm",
6365
- variant: "primary",
6366
- onClick: onInit
6367
- }, t("panels.discover.initCta")));
6321
+ function heldIdOf(pending, held) {
6322
+ return pending?.id ?? held?.id ?? null;
6368
6323
  }
6369
- function DiscoverNoSource({ t, onAdd }) {
6370
- return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverEmpty }, /* @__PURE__ */ createElement(PluginArtworkDefault, { size: 48 }), /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverEmptyTitle }, t("panels.discover.noSource")), /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverMuted }, t("panels.discover.noSourceHint")), /* @__PURE__ */ createElement(Button, {
6371
- type: "button",
6372
- size: "sm",
6373
- variant: "primary",
6374
- icon: /* @__PURE__ */ createElement(IconPlusOutlineRegular, { size: 13 }),
6375
- onClick: onAdd
6376
- }, t("panels.discover.addFirstSource")));
6324
+ function pinnedRowOf(pending, held) {
6325
+ return pending?.row ?? held?.row;
6377
6326
  }
6378
- function DiscoverReadFailure({ t, text, auth, onRetry }) {
6379
- return /* @__PURE__ */ createElement(Fragment, null, /* @__PURE__ */ createElement(DiscoverFailure, {
6380
- t,
6381
- text,
6382
- onRetry
6383
- }), auth ? /* @__PURE__ */ createElement("p", {
6384
- className: MarketPage_module_default.discoverNotice,
6385
- role: "note"
6386
- }, /* @__PURE__ */ createElement(IconWarningOutlineRegular, {
6387
- size: 14,
6388
- "aria-hidden": "true"
6389
- }), /* @__PURE__ */ createElement("span", null, t("panels.discover.sourceAuth"))) : null);
6327
+ function withPinnedRow(rows, pinned) {
6328
+ if (pinned === void 0) return [...rows];
6329
+ if (!rows.some((row) => row.id === pinned.id)) return [...rows, pinned];
6330
+ return rows.map((row) => row.id === pinned.id ? pinned : row);
6331
+ }
6332
+ function marketFootVisible(shown, installed) {
6333
+ return shown.length > 0 || installed.length > 0;
6334
+ }
6335
+ var NO_NAMES = /* @__PURE__ */ new Map();
6336
+ function marketRowMap(shown, self, installed, plugins) {
6337
+ return new Map([
6338
+ ...shown,
6339
+ ...self === void 0 ? [] : [self],
6340
+ ...installed,
6341
+ ...plugins
6342
+ ].map((row) => [row.id, row]));
6343
+ }
6344
+ function marketNamesOf(t, modules, titleOf, mocked) {
6345
+ return mocked ? NO_NAMES : namesOf(t, modules, titleOf);
6346
+ }
6347
+ function useHeldRow(pending, backInRoster) {
6348
+ const [held, setHeld] = useState(void 0);
6349
+ const heldAtRef = useRef(0);
6350
+ const hold = useCallback((next) => {
6351
+ if (next !== void 0) heldAtRef.current = Date.now();
6352
+ setHeld(next);
6353
+ }, []);
6354
+ const back = held === void 0 ? false : backInRoster(held.id);
6355
+ useEffect(() => {
6356
+ if (held === void 0) return;
6357
+ if (holdExpired(held, back, Date.now() - heldAtRef.current)) {
6358
+ setHeld(void 0);
6359
+ return;
6360
+ }
6361
+ const timer = setTimeout(() => setHeld(void 0), MODULE_SETTLE_MS);
6362
+ return () => clearTimeout(timer);
6363
+ }, [held, back]);
6364
+ useEffect(() => {
6365
+ if (pending !== null) setHeld(void 0);
6366
+ }, [pending]);
6367
+ return {
6368
+ held,
6369
+ hold
6370
+ };
6371
+ }
6372
+ var MODULE_REMOVALS = /* @__PURE__ */ new Set(["remove-bundle", "uninstall"]);
6373
+ function removingIdOf(pending, failed) {
6374
+ if (pending === null || !MODULE_REMOVALS.has(pending.action)) return null;
6375
+ return failed?.id === pending.id ? null : pending.id;
6376
+ }
6377
+ function pendingRowOf(input) {
6378
+ const { pending, removing } = input;
6379
+ if (removing === null || pending === null) return void 0;
6380
+ if (input.rows.some((row) => row.id === removing)) return void 0;
6381
+ const name = pending.label ?? input.names.get(removing);
6382
+ return {
6383
+ id: removing,
6384
+ titleKey: pending.titleKey ?? removing,
6385
+ ...name === void 0 ? {} : { label: name },
6386
+ state: "installed",
6387
+ canInstall: false,
6388
+ canUpdate: false,
6389
+ canUninstall: true,
6390
+ ...pending.pkg === void 0 ? {} : { pkg: pending.pkg },
6391
+ ...pending.version === void 0 ? {} : { version: { installed: pending.version } }
6392
+ };
6390
6393
  }
6391
6394
  //#endregion
6392
- //#region src/app/layouts/rightbar/MarketStates.tsx
6393
- function MarketChecking({ t }) {
6394
- return /* @__PURE__ */ createElement(DiscoverSkeleton, { label: t("panels.market.checking") });
6395
+ //#region src/shared/components/Tip.tsx
6396
+ /**
6397
+ * dsh `Tooltip` 的外壳默认值版:说明统一按右栏习惯(`bottom` / `end` / `gap 6` / 挂 body)来,其余 prop 原样转给 `Tooltip`。
6398
+ * @param props.side - 气泡出现在锚点哪一侧(默认 `'bottom'`)。
6399
+ * @param props.align - 底 / 顶气泡贴锚点哪条边(默认 `'end'`)。
6400
+ * @param props.gap - 锚点到气泡的间距(默认 `6`)。
6401
+ * @param props.portal - 是否挂到 `document.body`,以逃出裁剪容器与层叠上下文(默认 `true`)。
6402
+ * @param props.children - 单个锚点元素;`label` / `shortcutKeys` / `openOnClick` 等其余 prop 与 dsh 同形。
6403
+ */
6404
+ function Tip({ side = "bottom", align = "end", gap = 6, portal = true, ...rest }) {
6405
+ return /* @__PURE__ */ createElement(Tooltip, {
6406
+ side,
6407
+ align,
6408
+ gap,
6409
+ portal,
6410
+ ...rest
6411
+ });
6395
6412
  }
6396
- function MarketEmpty({ t }) {
6397
- return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketEmpty }, /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketEmptyTitle }, t("panels.market.empty")));
6413
+ //#endregion
6414
+ //#region src/app/layouts/rightbar/market-row-icon.ts
6415
+ var SIZE$1 = 28;
6416
+ var ARTWORK = 36;
6417
+ function packageIcon(kind) {
6418
+ switch (kind) {
6419
+ case "module": return createElement(PluginArtworkDefault, { size: ARTWORK });
6420
+ case "plugin": return createElement(IconOpencli, { size: SIZE$1 });
6421
+ case "lib": return createElement(IconNpm, { size: SIZE$1 });
6422
+ case "workbench": return createElement(IconBrandMark, { size: SIZE$1 });
6423
+ }
6424
+ }
6425
+ function marketRowKind(row) {
6426
+ if (row.workbench === true) return "workbench";
6427
+ if (row.plugin === true) return "plugin";
6428
+ return "module";
6429
+ }
6430
+ function sharedRowKind(row) {
6431
+ return row.kind === "extension" ? "plugin" : "lib";
6398
6432
  }
6399
6433
  var FailureCard_module_default = {
6400
6434
  block: "_block_mxnbc_1",
@@ -6557,252 +6591,151 @@ function failureCardOf(failure, t) {
6557
6591
  exitCode: failure.exitCode
6558
6592
  };
6559
6593
  }
6560
- //#endregion
6561
- //#region src/app/layouts/rightbar/market-section-icon.ts
6562
- var SIZE$1 = 14;
6563
- function marketSectionIcon(kind) {
6564
- switch (kind) {
6565
- case "installed": return createElement(IconModules, { size: SIZE$1 });
6566
- case "pending": return createElement(IconDownloadOutlineRegular, { size: SIZE$1 });
6567
- case "plugins": return createElement(IconCordisPluginOutlineRegular, { size: SIZE$1 });
6568
- case "shared": return createElement(IconLinkOutlineRegular, { size: SIZE$1 });
6569
- }
6570
- }
6571
- //#endregion
6572
- //#region src/app/layouts/rightbar/market-row-icon.ts
6573
- var SIZE = 28;
6574
- var ARTWORK = 36;
6575
- function packageIcon(kind) {
6576
- switch (kind) {
6577
- case "module": return createElement(PluginArtworkDefault, { size: ARTWORK });
6578
- case "plugin": return createElement(IconOpencli, { size: SIZE });
6579
- case "lib": return createElement(IconNpm, { size: SIZE });
6580
- case "workbench": return createElement(IconBrandMark, { size: SIZE });
6581
- }
6582
- }
6583
- function marketRowKind(row) {
6584
- if (row.workbench === true) return "workbench";
6585
- if (row.plugin === true) return "plugin";
6586
- return "module";
6587
- }
6588
- function sharedRowKind(row) {
6589
- return row.kind === "extension" ? "plugin" : "lib";
6590
- }
6591
- //#endregion
6592
- //#region src/app/layouts/rightbar/market-names.ts
6593
- function namesOf(t, modules, titleOf) {
6594
- const shown = /* @__PURE__ */ new Map();
6595
- for (const module of modules) {
6596
- const key = unitTitleKey(module.unit);
6597
- const live = t(key);
6598
- const name = live !== key && live !== "" ? live : titleOf(module.title);
6599
- if (name !== "") shown.set(module.unit, name);
6600
- }
6601
- return shown;
6602
- }
6603
- //#endregion
6604
- //#region src/app/layouts/rightbar/market-view-text.ts
6605
- var PROGRESS_KEY = {
6606
- install: "panels.market.installing",
6607
- update: "panels.market.updating",
6608
- "update-bundle": "panels.market.updating",
6609
- "install-version": "panels.market.updating",
6610
- "remove-bundle": "panels.market.uninstalling",
6611
- uninstall: "panels.market.uninstalling",
6612
- "update-dependency": "panels.market.updating",
6613
- "update-plugin": "panels.market.updating",
6614
- "uninstall-plugin": "panels.market.uninstalling",
6615
- "update-workbench": "panels.market.updating",
6616
- "migrate-workbench": "panels.market.migrating",
6617
- "dismiss-followup": "panels.market.dismissing"
6618
- };
6619
- var ACTION_LABEL_KEY = {
6620
- install: "panels.market.install",
6621
- update: "panels.market.update",
6622
- "update-bundle": "panels.market.update",
6623
- "install-version": "panels.market.update",
6624
- "remove-bundle": "panels.market.uninstall",
6625
- uninstall: "panels.market.uninstall",
6626
- "update-dependency": "panels.market.update",
6627
- "update-plugin": "panels.market.update",
6628
- "uninstall-plugin": "panels.market.uninstall",
6629
- "update-workbench": "panels.market.update",
6630
- "migrate-workbench": "panels.market.migrateAction",
6631
- "dismiss-followup": "panels.market.dismissFollowUp"
6632
- };
6633
- var UPDATE_ACTIONS = Object.keys(ACTION_LABEL_KEY).filter((action) => ACTION_LABEL_KEY[action] === "panels.market.update");
6634
- function holdOf(pending, application) {
6635
- if (pending === null || pending.row === void 0) return void 0;
6636
- if (application !== "applied") return void 0;
6637
- return {
6638
- id: pending.id,
6639
- row: pending.row
6640
- };
6641
- }
6642
- function pendingLanded(pending, updates, capabilities, installed, shared = [], plugins = null, removal = {
6643
- units: null,
6644
- plugins: null
6645
- }) {
6646
- if (pending === null) return true;
6647
- if (pending.action === "update" && capabilities === null) return false;
6648
- return settleLanded({
6649
- action: pending.action,
6650
- until: pending.until,
6651
- readBack: pending.readBack,
6652
- installed,
6653
- entry: updates[pending.id],
6654
- clicked: pending.version,
6655
- outdated: capabilityOutdated(capabilities, pending.id),
6656
- unitGone: removal.units === null ? null : !removal.units.has(pending.id),
6657
- pluginGone: removal.plugins === null ? null : !removal.plugins.has(pending.id),
6658
- ...pending.action === "update-dependency" ? { sharedState: shared.find((row) => row.id === pending.id)?.state } : {},
6659
- ...pending.action === "update-plugin" ? { pluginOutdated: plugins === null ? null : plugins.find((row) => row.id === pending.id)?.canUpdate ?? false } : {}
6660
- });
6661
- }
6662
- function holdExpired(held, backInRoster, elapsedMs) {
6663
- if (held === void 0) return true;
6664
- return backInRoster || elapsedMs >= 15e3;
6665
- }
6666
- function heldIdOf(pending, held) {
6667
- return pending?.id ?? held?.id ?? null;
6668
- }
6669
- function pinnedRowOf(pending, held) {
6670
- return pending?.row ?? held?.row;
6671
- }
6672
- function withPinnedRow(rows, pinned) {
6673
- if (pinned === void 0) return [...rows];
6674
- if (!rows.some((row) => row.id === pinned.id)) return [...rows, pinned];
6675
- return rows.map((row) => row.id === pinned.id ? pinned : row);
6676
- }
6677
- function marketFootVisible(shown, installed) {
6678
- return shown.length > 0 || installed.length > 0;
6679
- }
6680
- var NO_NAMES = /* @__PURE__ */ new Map();
6681
- function marketNamesOf(t, modules, titleOf, mocked) {
6682
- return mocked ? NO_NAMES : namesOf(t, modules, titleOf);
6683
- }
6684
- function useHeldRow(pending, backInRoster) {
6685
- const [held, setHeld] = useState(void 0);
6686
- const heldAtRef = useRef(0);
6687
- const hold = useCallback((next) => {
6688
- if (next !== void 0) heldAtRef.current = Date.now();
6689
- setHeld(next);
6690
- }, []);
6691
- const back = held === void 0 ? false : backInRoster(held.id);
6692
- useEffect(() => {
6693
- if (held === void 0) return;
6694
- if (holdExpired(held, back, Date.now() - heldAtRef.current)) {
6695
- setHeld(void 0);
6696
- return;
6697
- }
6698
- const timer = setTimeout(() => setHeld(void 0), MODULE_SETTLE_MS);
6699
- return () => clearTimeout(timer);
6700
- }, [held, back]);
6701
- useEffect(() => {
6702
- if (pending !== null) setHeld(void 0);
6703
- }, [pending]);
6704
- return {
6705
- held,
6706
- hold
6707
- };
6708
- }
6709
- var MODULE_REMOVALS = /* @__PURE__ */ new Set(["remove-bundle", "uninstall"]);
6710
- function removingIdOf(pending, failed) {
6711
- if (pending === null || !MODULE_REMOVALS.has(pending.action)) return null;
6712
- return failed?.id === pending.id ? null : pending.id;
6713
- }
6714
- function pendingRowOf(input) {
6715
- const { pending, removing } = input;
6716
- if (removing === null || pending === null) return void 0;
6717
- if (input.rows.some((row) => row.id === removing)) return void 0;
6718
- const name = pending.label ?? input.names.get(removing);
6719
- return {
6720
- id: removing,
6721
- titleKey: pending.titleKey ?? removing,
6722
- ...name === void 0 ? {} : { label: name },
6723
- state: "installed",
6724
- canInstall: false,
6725
- canUpdate: false,
6726
- canUninstall: true,
6727
- ...pending.pkg === void 0 ? {} : { pkg: pending.pkg },
6728
- ...pending.version === void 0 ? {} : { version: { installed: pending.version } }
6729
- };
6730
- }
6731
- //#endregion
6732
- //#region src/app/layouts/rightbar/SharedSection.tsx
6733
- function SharedLine({ t, row, pending, failure, onAct, onRecheck, rechecking }) {
6734
- const running = pending !== null && pending.id === row.id ? pending : null;
6735
- const locked = pending !== null;
6736
- const actions = sharedActions(row);
6737
- const stateText = t(SHARED_STATE_KEY[row.state]);
6738
- const version = row.version;
6739
- const name = /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketName }, row.label, version === void 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketVersion }, version.installed !== void 0 && version.latest !== void 0 && version.installed !== version.latest ? t("panels.market.versionArrow", {
6740
- from: version.installed,
6741
- to: version.latest
6742
- }) : version.installed ?? version.latest ?? ""));
6743
- return /* @__PURE__ */ createElement("li", { className: MarketPage_module_default.marketRow }, /* @__PURE__ */ createElement("span", {
6744
- className: MarketPage_module_default.marketIcon,
6745
- "aria-hidden": "true"
6746
- }, packageIcon(sharedRowKind(row))), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketMain }, name, /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketStatus }, row.state === "checking" ? /* @__PURE__ */ createElement(Spinner, { size: 14 }) : null, /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketStateText }, stateText), /* @__PURE__ */ createElement("span", {
6747
- className: MarketPage_module_default.marketSep,
6748
- "aria-hidden": "true"
6749
- }, "·"), /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketReason }, t("panels.market.sharedUsedBy", { modules: row.usedByKeys.map((key) => t(key)).join(t("panels.market.listSeparator")) })))), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ createElement(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => /* @__PURE__ */ createElement(Button, {
6750
- key: action,
6751
- type: "button",
6752
- size: "sm",
6753
- variant: "outline",
6754
- disabled: locked,
6755
- onClick: () => onAct(action)
6756
- }, t(ACTION_LABEL_KEY[action]))))), failure === null ? null : failure.failure === void 0 ? /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketFailure }, failure.message) : /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketFailureSeat }, /* @__PURE__ */ createElement(FailureCard, {
6757
- t,
6758
- model: failureCardOf(failure.failure, t),
6759
- onRecheck,
6760
- rechecking
6761
- })));
6762
- }
6763
- function SharedSection({ t, rows, pending, failureOf, act, onRecheck, rechecking }) {
6764
- if (rows.length === 0) return null;
6765
- return /* @__PURE__ */ createElement("section", { className: `${MarketPage_module_default.marketSection} ${MarketPage_module_default.marketSectionQuiet}` }, /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketSectionHead }, /* @__PURE__ */ createElement("span", {
6766
- className: MarketPage_module_default.marketSectionIcon,
6767
- "aria-hidden": "true"
6768
- }, marketSectionIcon("shared")), /* @__PURE__ */ createElement("h2", { className: MarketPage_module_default.marketSectionTitle }, t("panels.market.sectionShared")), /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketSectionCount }, rows.length)), /* @__PURE__ */ createElement("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ createElement(SharedLine, {
6769
- key: row.id,
6770
- t,
6771
- row,
6772
- pending,
6773
- failure: failureOf(row.id),
6774
- onAct: (action) => void act(row.id, action),
6775
- onRecheck,
6776
- rechecking
6777
- }))));
6778
- }
6779
- //#endregion
6780
- //#region src/shared/components/Tip.tsx
6781
- /**
6782
- * dsh `Tooltip` 的外壳默认值版:说明统一按右栏习惯(`bottom` / `end` / `gap 6` / 挂 body)来,其余 prop 原样转给 `Tooltip`。
6783
- * @param props.side - 气泡出现在锚点哪一侧(默认 `'bottom'`)。
6784
- * @param props.align - 底 / 顶气泡贴锚点哪条边(默认 `'end'`)。
6785
- * @param props.gap - 锚点到气泡的间距(默认 `6`)。
6786
- * @param props.portal - 是否挂到 `document.body`,以逃出裁剪容器与层叠上下文(默认 `true`)。
6787
- * @param props.children - 单个锚点元素;`label` / `shortcutKeys` / `openOnClick` 等其余 prop 与 dsh 同形。
6788
- */
6789
- function Tip({ side = "bottom", align = "end", gap = 6, portal = true, ...rest }) {
6790
- return /* @__PURE__ */ createElement(Tooltip, {
6791
- side,
6792
- align,
6793
- gap,
6794
- portal,
6795
- ...rest
6796
- });
6797
- }
6594
+ var MarketPage_module_default = {
6595
+ marketList: "_marketList_9z259_1",
6596
+ marketRow: "_marketRow_9z259_10",
6597
+ marketNameOpen: "_marketNameOpen_9z259_25",
6598
+ marketIcon: "_marketIcon_9z259_53",
6599
+ marketMain: "_marketMain_9z259_65",
6600
+ marketName: "_marketName_9z259_25",
6601
+ marketStatus: "_marketStatus_9z259_81",
6602
+ marketStateText: "_marketStateText_9z259_91",
6603
+ marketSep: "_marketSep_9z259_95",
6604
+ marketReason: "_marketReason_9z259_99",
6605
+ marketVersion: "_marketVersion_9z259_105",
6606
+ marketLocalTag: "_marketLocalTag_9z259_127",
6607
+ marketEnd: "_marketEnd_9z259_138",
6608
+ marketSwitchSeat: "_marketSwitchSeat_9z259_147",
6609
+ marketActions: "_marketActions_9z259_160",
6610
+ marketUpdateAction: "_marketUpdateAction_9z259_166",
6611
+ marketSelfDivider: "_marketSelfDivider_9z259_172",
6612
+ marketSection: "_marketSection_9z259_178",
6613
+ marketSectionHead: "_marketSectionHead_9z259_185",
6614
+ marketSectionIcon: "_marketSectionIcon_9z259_191",
6615
+ marketSectionTitle: "_marketSectionTitle_9z259_198",
6616
+ marketSectionCount: "_marketSectionCount_9z259_204",
6617
+ marketSectionAction: "_marketSectionAction_9z259_210",
6618
+ marketSectionQuiet: "_marketSectionQuiet_9z259_218",
6619
+ marketProgress: "_marketProgress_9z259_230",
6620
+ marketNote: "_marketNote_9z259_240",
6621
+ marketFailure: "_marketFailure_9z259_247",
6622
+ marketFailureSeat: "_marketFailureSeat_9z259_254",
6623
+ marketEmpty: "_marketEmpty_9z259_261",
6624
+ marketPage: "_marketPage_9z259_266",
6625
+ marketPageHead: "_marketPageHead_9z259_284",
6626
+ marketPageTitle: "_marketPageTitle_9z259_292",
6627
+ marketPageIntro: "_marketPageIntro_9z259_297",
6628
+ marketPageTools: "_marketPageTools_9z259_303",
6629
+ marketPanel: "_marketPanel_9z259_312",
6630
+ marketTabs: "_marketTabs_9z259_322",
6631
+ marketTabList: "_marketTabList_9z259_327",
6632
+ marketAddButton: "_marketAddButton_9z259_332",
6633
+ marketEmptyTitle: "_marketEmptyTitle_9z259_349",
6634
+ discoverPage: "_discoverPage_9z259_354",
6635
+ discoverBar: "_discoverBar_9z259_361",
6636
+ discoverTools: "_discoverTools_9z259_368",
6637
+ discoverMarket: "_discoverMarket_9z259_374",
6638
+ discoverMarketButton: "_discoverMarketButton_9z259_379",
6639
+ discoverMarketName: "_discoverMarketName_9z259_386",
6640
+ discoverLabels: "_discoverLabels_9z259_392",
6641
+ discoverSort: "_discoverSort_9z259_397",
6642
+ discoverRefresh: "_discoverRefresh_9z259_402",
6643
+ discoverSearch: "_discoverSearch_9z259_406",
6644
+ discoverSearchField: "_discoverSearchField_9z259_414",
6645
+ discoverSearchFieldFilled: "_discoverSearchFieldFilled_9z259_419",
6646
+ discoverSearchClear: "_discoverSearchClear_9z259_428",
6647
+ discoverChips: "_discoverChips_9z259_479",
6648
+ discoverList: "_discoverList_9z259_486",
6649
+ discoverCard: "_discoverCard_9z259_495",
6650
+ discoverArtwork: "_discoverArtwork_9z259_509",
6651
+ discoverArtworkImage: "_discoverArtworkImage_9z259_521",
6652
+ discoverMain: "_discoverMain_9z259_525",
6653
+ discoverTitleRow: "_discoverTitleRow_9z259_533",
6654
+ discoverCardOpen: "_discoverCardOpen_9z259_541",
6655
+ discoverStrong: "_discoverStrong_9z259_572",
6656
+ discoverDesc: "_discoverDesc_9z259_578",
6657
+ discoverMeta: "_discoverMeta_9z259_587",
6658
+ discoverMuted: "_discoverMuted_9z259_594",
6659
+ discoverEnd: "_discoverEnd_9z259_600",
6660
+ discoverUpdateAction: "_discoverUpdateAction_9z259_609",
6661
+ discoverBlocked: "_discoverBlocked_9z259_614",
6662
+ discoverEmpty: "_discoverEmpty_9z259_619",
6663
+ discoverEmptyTitle: "_discoverEmptyTitle_9z259_628",
6664
+ discoverDetail: "_discoverDetail_9z259_638",
6665
+ discoverCrumb: "_discoverCrumb_9z259_644",
6666
+ discoverCrumbIcon: "_discoverCrumbIcon_9z259_667",
6667
+ discoverDetailHead: "_discoverDetailHead_9z259_671",
6668
+ marketDetailHead: "_marketDetailHead_9z259_677",
6669
+ marketDetailName: "_marketDetailName_9z259_682",
6670
+ marketDetailEnd: "_marketDetailEnd_9z259_693",
6671
+ discoverDetailTitle: "_discoverDetailTitle_9z259_703",
6672
+ discoverDetailText: "_discoverDetailText_9z259_709",
6673
+ discoverDetailPanel: "_discoverDetailPanel_9z259_716",
6674
+ discoverDetailTabs: "_discoverDetailTabs_9z259_723",
6675
+ discoverDetailTabList: "_discoverDetailTabList_9z259_728",
6676
+ discoverDocBody: "_discoverDocBody_9z259_733",
6677
+ discoverDocNotice: "_discoverDocNotice_9z259_738",
6678
+ discoverSection: "_discoverSection_9z259_744",
6679
+ discoverSectionTitle: "_discoverSectionTitle_9z259_751",
6680
+ discoverFacts: "_discoverFacts_9z259_757",
6681
+ discoverFactRow: "_discoverFactRow_9z259_762",
6682
+ discoverFactKind: "_discoverFactKind_9z259_772",
6683
+ discoverFactValue: "_discoverFactValue_9z259_778",
6684
+ discoverCode: "_discoverCode_9z259_786",
6685
+ discoverTags: "_discoverTags_9z259_795",
6686
+ discoverLink: "_discoverLink_9z259_802",
6687
+ discoverVersions: "_discoverVersions_9z259_812",
6688
+ discoverVersionRow: "_discoverVersionRow_9z259_820",
6689
+ discoverVersionName: "_discoverVersionName_9z259_828",
6690
+ discoverError: "_discoverError_9z259_833",
6691
+ discoverFailure: "_discoverFailure_9z259_843",
6692
+ discoverLoading: "_discoverLoading_9z259_849",
6693
+ discoverNotice: "_discoverNotice_9z259_858",
6694
+ discoverMore: "_discoverMore_9z259_876",
6695
+ discoverTransport: "_discoverTransport_9z259_880",
6696
+ discoverTransportHead: "_discoverTransportHead_9z259_886",
6697
+ discoverTransportTitle: "_discoverTransportTitle_9z259_893",
6698
+ discoverTransportKind: "_discoverTransportKind_9z259_898",
6699
+ discoverTransportState: "_discoverTransportState_9z259_903",
6700
+ discoverTransportRows: "_discoverTransportRows_9z259_911",
6701
+ discoverTransportRow: "_discoverTransportRow_9z259_911",
6702
+ discoverTransportRadio: "_discoverTransportRadio_9z259_932",
6703
+ discoverTransportCustom: "_discoverTransportCustom_9z259_972",
6704
+ discoverTransportInput: "_discoverTransportInput_9z259_978",
6705
+ discoverInstallBar: "_discoverInstallBar_9z259_983",
6706
+ discoverInstallText: "_discoverInstallText_9z259_994",
6707
+ discoverDialog: "_discoverDialog_9z259_1000",
6708
+ discoverDialogBody: "_discoverDialogBody_9z259_1004",
6709
+ discoverSourceList: "_discoverSourceList_9z259_1010",
6710
+ discoverSourceRow: "_discoverSourceRow_9z259_1018",
6711
+ discoverSourceConfirm: "_discoverSourceConfirm_9z259_1027",
6712
+ discoverSourcePick: "_discoverSourcePick_9z259_1033",
6713
+ discoverSourceRadio: "_discoverSourceRadio_9z259_1042",
6714
+ discoverSourceMain: "_discoverSourceMain_9z259_1050",
6715
+ discoverSourceHead: "_discoverSourceHead_9z259_1058",
6716
+ discoverSourceUrl: "_discoverSourceUrl_9z259_1066",
6717
+ discoverSourceMore: "_discoverSourceMore_9z259_1076",
6718
+ discoverSourceLoading: "_discoverSourceLoading_9z259_1080",
6719
+ discoverSourceHint: "_discoverSourceHint_9z259_1090",
6720
+ discoverSourceError: "_discoverSourceError_9z259_1104",
6721
+ discoverSourceForm: "_discoverSourceForm_9z259_1110",
6722
+ discoverGrow: "_discoverGrow_9z259_1116",
6723
+ discoverField: "_discoverField_9z259_1121",
6724
+ discoverFieldLabel: "_discoverFieldLabel_9z259_1127",
6725
+ discoverConfirmHead: "_discoverConfirmHead_9z259_1132",
6726
+ discoverSkeletonFill: "_discoverSkeletonFill_9z259_1138",
6727
+ "wb-skeleton": "_wb-skeleton_9z259_1",
6728
+ discoverSkeletonBar: "_discoverSkeletonBar_9z259_1147",
6729
+ discoverSkeletonTitle: "_discoverSkeletonTitle_9z259_1154",
6730
+ discoverSkeletonDesc: "_discoverSkeletonDesc_9z259_1158"
6731
+ };
6798
6732
  //#endregion
6799
6733
  //#region src/app/layouts/rightbar/market-section.tsx
6800
- var dangerActions = [
6734
+ var CONFIRM_DANGER = [
6801
6735
  "uninstall",
6802
6736
  "remove-bundle",
6803
6737
  "uninstall-plugin"
6804
6738
  ];
6805
- var updateActions = UPDATE_ACTIONS;
6806
6739
  function MigrationConfirm({ t, onConfirm, onCancel }) {
6807
6740
  const [acknowledged, setAcknowledged] = useState(false);
6808
6741
  return /* @__PURE__ */ createElement(RiskConfirmation, {
@@ -6835,17 +6768,6 @@ function DismissFollowUpConfirm({ t, onConfirm, onCancel }) {
6835
6768
  onConfirm
6836
6769
  });
6837
6770
  }
6838
- function MarketLineDialogs({ t, migrationOpen, dismissOpen, onMigrationCancel, onMigrationConfirm, onDismissCancel, onDismissConfirm }) {
6839
- return /* @__PURE__ */ createElement(Fragment, null, migrationOpen ? /* @__PURE__ */ createElement(MigrationConfirm, {
6840
- t,
6841
- onCancel: onMigrationCancel,
6842
- onConfirm: onMigrationConfirm
6843
- }) : null, dismissOpen ? /* @__PURE__ */ createElement(DismissFollowUpConfirm, {
6844
- t,
6845
- onCancel: onDismissCancel,
6846
- onConfirm: onDismissConfirm
6847
- }) : null);
6848
- }
6849
6771
  function MarketLineStatus({ t, row, quiet }) {
6850
6772
  const stateText = t(MARKET_STATE_KEY[row.state]);
6851
6773
  const noteText = row.note === void 0 ? null : t(row.note.key, row.note.params);
@@ -6861,96 +6783,601 @@ function MarketLineStatus({ t, row, quiet }) {
6861
6783
  "aria-hidden": "true"
6862
6784
  }, "·"), /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketReason }, noteText)));
6863
6785
  }
6864
- function MarketFailureBlock({ t, failure, onRecheck, rechecking }) {
6786
+ function MarketRowFailure({ t, failure, onRecheck, rechecking }) {
6865
6787
  if (failure === null) return null;
6866
6788
  const model = failure.card ?? (failure.failure === void 0 ? void 0 : failureCardOf(failure.failure, t));
6867
6789
  if (model !== void 0) return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketFailureSeat }, /* @__PURE__ */ createElement(FailureCard, {
6868
6790
  t,
6869
- model,
6870
- onRecheck,
6871
- rechecking
6872
- }));
6873
- return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketFailure }, failure.message);
6791
+ model,
6792
+ onRecheck,
6793
+ rechecking
6794
+ }));
6795
+ return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketFailure }, failure.message);
6796
+ }
6797
+ function MarketRowControls({ t, row, pending, boardBusy, onRequest, onDefault }) {
6798
+ const running = pending !== null && pending.id === row.id ? pending : null;
6799
+ const locked = pending !== null;
6800
+ const actions = marketActions$1(row);
6801
+ const switchLocked = marketSwitchLocked(row);
6802
+ const [migrationOpen, setMigrationOpen] = useState(false);
6803
+ const [dismissOpen, setDismissOpen] = useState(false);
6804
+ return /* @__PURE__ */ createElement(Fragment, null, running !== null ? /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ createElement(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => {
6805
+ const danger = CONFIRM_DANGER.includes(action);
6806
+ const update = UPDATE_ACTIONS.includes(action);
6807
+ return /* @__PURE__ */ createElement(Button, {
6808
+ key: action,
6809
+ type: "button",
6810
+ size: "sm",
6811
+ variant: action === "install" || action === "migrate-workbench" ? "primary" : "outline",
6812
+ className: danger ? "wb-dangerAction" : update ? MarketPage_module_default.marketUpdateAction : void 0,
6813
+ icon: danger ? /* @__PURE__ */ createElement(IconTrashOutlineRegular, { size: 13 }) : void 0,
6814
+ "aria-label": danger ? t("panels.market.uninstallLabel", { name: marketRowTitle(row, t) }) : void 0,
6815
+ disabled: locked,
6816
+ onClick: () => {
6817
+ if (action === "migrate-workbench") setMigrationOpen(true);
6818
+ else if (action === "dismiss-followup") setDismissOpen(true);
6819
+ else onRequest(action);
6820
+ }
6821
+ }, t(ACTION_LABEL_KEY[action]));
6822
+ })), row.defaultShown === void 0 ? null : /* @__PURE__ */ createElement(Tip, { label: t(switchLocked ? "panels.market.defaultLocked" : "panels.market.defaultHint") }, /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketSwitchSeat }, /* @__PURE__ */ createElement(Switch, {
6823
+ checked: row.defaultShown,
6824
+ disabled: boardBusy === true || locked || switchLocked,
6825
+ label: `${marketRowTitle(row, t)} · ${t("panels.market.defaultLabel")}`,
6826
+ onChange: (next) => onDefault?.(next)
6827
+ }))), migrationOpen ? /* @__PURE__ */ createElement(MigrationConfirm, {
6828
+ t,
6829
+ onCancel: () => setMigrationOpen(false),
6830
+ onConfirm: () => {
6831
+ setMigrationOpen(false);
6832
+ onRequest("migrate-workbench");
6833
+ }
6834
+ }) : null, dismissOpen ? /* @__PURE__ */ createElement(DismissFollowUpConfirm, {
6835
+ t,
6836
+ onCancel: () => setDismissOpen(false),
6837
+ onConfirm: () => {
6838
+ setDismissOpen(false);
6839
+ onRequest("dismiss-followup");
6840
+ }
6841
+ }) : null);
6842
+ }
6843
+ function MarketLine({ t, row, pending, failure, onAct, onDefault, onOpenDetail, boardBusy, onRecheck, rechecking }) {
6844
+ const title = marketRowTitle(row, t);
6845
+ const quiet = row.workbench === true && row.state === "installed" && row.hint === void 0;
6846
+ const clickable = row.pkg !== void 0 && onOpenDetail !== void 0;
6847
+ return /* @__PURE__ */ createElement("li", {
6848
+ className: MarketPage_module_default.marketRow,
6849
+ "data-open": clickable ? "true" : void 0
6850
+ }, /* @__PURE__ */ createElement("span", {
6851
+ className: MarketPage_module_default.marketIcon,
6852
+ "aria-hidden": "true"
6853
+ }, packageIcon(marketRowKind(row))), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketMain }, /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketName }, clickable ? /* @__PURE__ */ createElement("button", {
6854
+ type: "button",
6855
+ className: MarketPage_module_default.marketNameOpen,
6856
+ "aria-label": t("panels.market.openDetail", { name: title }),
6857
+ onClick: () => onOpenDetail?.(row.id)
6858
+ }, title) : title, row.versionLabel === void 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketVersion }, row.versionLabel), row.version === void 0 || row.versionLabel !== void 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketVersion }, row.version.installed !== void 0 && row.version.latest !== void 0 && row.version.installed !== row.version.latest ? t("panels.market.versionArrow", {
6859
+ from: row.version.installed,
6860
+ to: row.version.latest
6861
+ }) : row.version.installed ?? row.version.latest ?? ""), row.local === true ? /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketLocalTag }, t("panels.market.localMark")) : null), /* @__PURE__ */ createElement(MarketLineStatus, {
6862
+ t,
6863
+ row,
6864
+ quiet
6865
+ })), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketEnd }, /* @__PURE__ */ createElement(MarketRowControls, {
6866
+ t,
6867
+ row,
6868
+ pending,
6869
+ boardBusy,
6870
+ onDefault: (next) => onDefault?.(next),
6871
+ onRequest: (action) => onAct(action)
6872
+ })), /* @__PURE__ */ createElement(MarketRowFailure, {
6873
+ t,
6874
+ failure,
6875
+ onRecheck,
6876
+ rechecking
6877
+ }));
6878
+ }
6879
+ function MarketSection({ t, titleKey, icon, rows, pending, failureOf, act, confirmActions, onConfirming, onDefault, onOpenDetail, boardBusy, headAction, keepHead, onRecheck, rechecking }) {
6880
+ if (rows.length === 0 && keepHead !== true) return null;
6881
+ const request = (id, action) => {
6882
+ if (confirmActions.includes(action)) onConfirming(id);
6883
+ else act(id, action);
6884
+ };
6885
+ return /* @__PURE__ */ createElement("section", { className: MarketPage_module_default.marketSection }, titleKey === void 0 ? null : /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketSectionHead }, /* @__PURE__ */ createElement("span", {
6886
+ className: MarketPage_module_default.marketSectionIcon,
6887
+ "aria-hidden": "true"
6888
+ }, icon), /* @__PURE__ */ createElement("h2", { className: MarketPage_module_default.marketSectionTitle }, t(titleKey)), /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketSectionCount }, rows.length), headAction === void 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketSectionAction }, headAction)), rows.length === 0 ? null : /* @__PURE__ */ createElement("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ createElement(MarketLine, {
6889
+ key: row.id,
6890
+ t,
6891
+ row,
6892
+ pending,
6893
+ failure: failureOf(row.id),
6894
+ onAct: (action) => request(row.id, action),
6895
+ onDefault: (next) => onDefault?.(row.id, next),
6896
+ onOpenDetail,
6897
+ boardBusy,
6898
+ onRecheck,
6899
+ rechecking
6900
+ }))));
6901
+ }
6902
+ //#endregion
6903
+ //#region src/app/layouts/rightbar/market-section-icon.ts
6904
+ var SIZE = 14;
6905
+ function marketSectionIcon(kind) {
6906
+ switch (kind) {
6907
+ case "installed": return createElement(IconModules, { size: SIZE });
6908
+ case "pending": return createElement(IconDownloadOutlineRegular, { size: SIZE });
6909
+ case "plugins": return createElement(IconCordisPluginOutlineRegular, { size: SIZE });
6910
+ case "shared": return createElement(IconLinkOutlineRegular, { size: SIZE });
6911
+ }
6912
+ }
6913
+ //#endregion
6914
+ //#region src/app/layouts/rightbar/SharedSection.tsx
6915
+ function SharedLine({ t, row, pending, failure, onAct, onRecheck, rechecking }) {
6916
+ const running = pending !== null && pending.id === row.id ? pending : null;
6917
+ const locked = pending !== null;
6918
+ const actions = sharedActions(row);
6919
+ const stateText = t(SHARED_STATE_KEY[row.state]);
6920
+ const version = row.version;
6921
+ const name = /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketName }, row.label, version === void 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketVersion }, version.installed !== void 0 && version.latest !== void 0 && version.installed !== version.latest ? t("panels.market.versionArrow", {
6922
+ from: version.installed,
6923
+ to: version.latest
6924
+ }) : version.installed ?? version.latest ?? ""));
6925
+ return /* @__PURE__ */ createElement("li", { className: MarketPage_module_default.marketRow }, /* @__PURE__ */ createElement("span", {
6926
+ className: MarketPage_module_default.marketIcon,
6927
+ "aria-hidden": "true"
6928
+ }, packageIcon(sharedRowKind(row))), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketMain }, name, /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketStatus }, row.state === "checking" ? /* @__PURE__ */ createElement(Spinner, { size: 14 }) : null, /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketStateText }, stateText), /* @__PURE__ */ createElement("span", {
6929
+ className: MarketPage_module_default.marketSep,
6930
+ "aria-hidden": "true"
6931
+ }, "·"), /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketReason }, t("panels.market.sharedUsedBy", { modules: row.usedByKeys.map((key) => t(key)).join(t("panels.market.listSeparator")) })))), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ createElement(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => /* @__PURE__ */ createElement(Button, {
6932
+ key: action,
6933
+ type: "button",
6934
+ size: "sm",
6935
+ variant: "outline",
6936
+ disabled: locked,
6937
+ onClick: () => onAct(action)
6938
+ }, t(ACTION_LABEL_KEY[action]))))), failure === null ? null : failure.failure === void 0 ? /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketFailure }, failure.message) : /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketFailureSeat }, /* @__PURE__ */ createElement(FailureCard, {
6939
+ t,
6940
+ model: failureCardOf(failure.failure, t),
6941
+ onRecheck,
6942
+ rechecking
6943
+ })));
6944
+ }
6945
+ function SharedSection({ t, rows, pending, failureOf, act, onRecheck, rechecking }) {
6946
+ if (rows.length === 0) return null;
6947
+ return /* @__PURE__ */ createElement("section", { className: `${MarketPage_module_default.marketSection} ${MarketPage_module_default.marketSectionQuiet}` }, /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketSectionHead }, /* @__PURE__ */ createElement("span", {
6948
+ className: MarketPage_module_default.marketSectionIcon,
6949
+ "aria-hidden": "true"
6950
+ }, marketSectionIcon("shared")), /* @__PURE__ */ createElement("h2", { className: MarketPage_module_default.marketSectionTitle }, t("panels.market.sectionShared")), /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketSectionCount }, rows.length)), /* @__PURE__ */ createElement("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ createElement(SharedLine, {
6951
+ key: row.id,
6952
+ t,
6953
+ row,
6954
+ pending,
6955
+ failure: failureOf(row.id),
6956
+ onAct: (action) => void act(row.id, action),
6957
+ onRecheck,
6958
+ rechecking
6959
+ }))));
6960
+ }
6961
+ var PanelFoot_module_default = {
6962
+ foot: "_foot_1ud1j_1",
6963
+ footText: "_footText_1ud1j_13",
6964
+ footTextMd: "_footTextMd_1ud1j_18"
6965
+ };
6966
+ //#endregion
6967
+ //#region src/shared/components/PanelFoot.tsx
6968
+ function PanelFoot({ text, size = "sm", children }) {
6969
+ return /* @__PURE__ */ createElement("footer", { className: PanelFoot_module_default.foot }, text === void 0 ? null : /* @__PURE__ */ createElement("span", { className: size === "md" ? PanelFoot_module_default.footTextMd : PanelFoot_module_default.footText }, text), children ?? null);
6970
+ }
6971
+ //#endregion
6972
+ //#region src/app/layouts/rightbar/market-body.tsx
6973
+ var CONFIRM_UNINSTALL = [
6974
+ "uninstall",
6975
+ "remove-bundle",
6976
+ "uninstall-plugin"
6977
+ ];
6978
+ var NO_ROWS = [];
6979
+ function MarketBody({ t, self, shown, pluginList, installedList, shared, pending, failed, notice, act, onConfirming, setDefault, boardBusy, checks, onRecheck, rechecking, runtimePluginMarket, onOpenDetail }) {
6980
+ const failureOf = (id) => failed?.id === id ? failed : null;
6981
+ const foot = marketFootVisible(shown, installedList);
6982
+ const sections = marketSections(marketOrder([...shown, ...installedList], (row) => marketRowTitle(row, t)));
6983
+ const installed = sections.find((section) => section.id === "installed");
6984
+ const pendingSection = sections.find((section) => section.id === "not-installed");
6985
+ return /* @__PURE__ */ createElement(Fragment, null, notice === null ? null : /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketNote }, notice), /* @__PURE__ */ createElement(MarketSection, {
6986
+ t,
6987
+ rows: self === void 0 ? [] : [self],
6988
+ onDefault: setDefault,
6989
+ boardBusy,
6990
+ pending,
6991
+ failureOf,
6992
+ act,
6993
+ confirmActions: CONFIRM_UNINSTALL,
6994
+ onConfirming,
6995
+ onOpenDetail,
6996
+ onRecheck,
6997
+ rechecking
6998
+ }), self === void 0 ? null : /* @__PURE__ */ createElement("div", {
6999
+ className: MarketPage_module_default.marketSelfDivider,
7000
+ "aria-hidden": "true"
7001
+ }), /* @__PURE__ */ createElement(MarketSection, {
7002
+ t,
7003
+ titleKey: "panels.market.sectionInstalled",
7004
+ icon: marketSectionIcon("installed"),
7005
+ rows: installed?.rows ?? NO_ROWS,
7006
+ keepHead: true,
7007
+ headAction: checks.modules,
7008
+ onDefault: setDefault,
7009
+ boardBusy,
7010
+ pending,
7011
+ failureOf,
7012
+ act,
7013
+ confirmActions: CONFIRM_UNINSTALL,
7014
+ onConfirming,
7015
+ onOpenDetail,
7016
+ onRecheck,
7017
+ rechecking
7018
+ }), pendingSection === void 0 ? null : /* @__PURE__ */ createElement(MarketSection, {
7019
+ t,
7020
+ titleKey: pendingSection.titleKey,
7021
+ icon: marketSectionIcon("pending"),
7022
+ rows: pendingSection.rows,
7023
+ onDefault: setDefault,
7024
+ boardBusy,
7025
+ pending,
7026
+ failureOf,
7027
+ act,
7028
+ confirmActions: CONFIRM_UNINSTALL,
7029
+ onConfirming,
7030
+ onOpenDetail,
7031
+ onRecheck,
7032
+ rechecking
7033
+ }), runtimePluginMarket === false ? null : /* @__PURE__ */ createElement(MarketSection, {
7034
+ t,
7035
+ titleKey: "panels.market.sectionPlugins",
7036
+ icon: marketSectionIcon("plugins"),
7037
+ rows: pluginList,
7038
+ headAction: checks.plugins,
7039
+ onDefault: setDefault,
7040
+ boardBusy,
7041
+ pending,
7042
+ failureOf,
7043
+ act,
7044
+ confirmActions: CONFIRM_UNINSTALL,
7045
+ onConfirming,
7046
+ onOpenDetail,
7047
+ onRecheck,
7048
+ rechecking
7049
+ }), foot ? /* @__PURE__ */ createElement(PanelFoot, {
7050
+ size: "md",
7051
+ text: t("panels.market.foot")
7052
+ }) : null, /* @__PURE__ */ createElement(SharedSection, {
7053
+ t,
7054
+ rows: shared,
7055
+ pending,
7056
+ failureOf,
7057
+ act,
7058
+ onRecheck,
7059
+ rechecking
7060
+ }));
7061
+ }
7062
+ //#endregion
7063
+ //#region src/app/layouts/market/discover-states.tsx
7064
+ function DiscoverSkeleton({ label }) {
7065
+ return /* @__PURE__ */ createElement("ul", {
7066
+ className: MarketPage_module_default.discoverList,
7067
+ role: "status",
7068
+ "aria-label": label,
7069
+ "aria-busy": "true"
7070
+ }, [
7071
+ 0,
7072
+ 1,
7073
+ 2,
7074
+ 3
7075
+ ].map((index) => /* @__PURE__ */ createElement("li", {
7076
+ key: String(index),
7077
+ className: MarketPage_module_default.discoverCard,
7078
+ "aria-hidden": "true"
7079
+ }, /* @__PURE__ */ createElement("span", { className: `${MarketPage_module_default.discoverArtwork} ${MarketPage_module_default.discoverSkeletonFill}` }), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverMain }, /* @__PURE__ */ createElement("span", { className: `${MarketPage_module_default.discoverSkeletonBar} ${MarketPage_module_default.discoverSkeletonTitle} ${MarketPage_module_default.discoverSkeletonFill}` }), /* @__PURE__ */ createElement("span", { className: `${MarketPage_module_default.discoverSkeletonBar} ${MarketPage_module_default.discoverSkeletonDesc} ${MarketPage_module_default.discoverSkeletonFill}` })))));
7080
+ }
7081
+ function DiscoverEmptyText({ text }) {
7082
+ return /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverMuted }, text);
7083
+ }
7084
+ function DiscoverLoading({ label }) {
7085
+ return /* @__PURE__ */ createElement("p", {
7086
+ className: MarketPage_module_default.discoverLoading,
7087
+ role: "status",
7088
+ "aria-live": "polite"
7089
+ }, /* @__PURE__ */ createElement(StateDot, { state: "ongoing" }), label);
7090
+ }
7091
+ function DiscoverFailure({ t, text, onRetry }) {
7092
+ return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverFailure }, /* @__PURE__ */ createElement("p", {
7093
+ className: MarketPage_module_default.discoverError,
7094
+ role: "alert"
7095
+ }, /* @__PURE__ */ createElement(StateDot, { state: "error" }), text), /* @__PURE__ */ createElement(Button, {
7096
+ type: "button",
7097
+ size: "sm",
7098
+ variant: "outline",
7099
+ onClick: onRetry
7100
+ }, t("panels.discover.retry")));
7101
+ }
7102
+ function DiscoverUninitialized({ t, path, empty, onInit }) {
7103
+ return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverEmpty }, /* @__PURE__ */ createElement(PluginArtworkDefault, { size: 48 }), /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverEmptyTitle }, t("panels.discover.initTitle")), /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverMuted }, empty ? t("panels.discover.emptyRepo") : t("panels.discover.missingIndex", { path })), /* @__PURE__ */ createElement(Button, {
7104
+ type: "button",
7105
+ size: "sm",
7106
+ variant: "primary",
7107
+ onClick: onInit
7108
+ }, t("panels.discover.initCta")));
7109
+ }
7110
+ function DiscoverNoSource({ t, onAdd }) {
7111
+ return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverEmpty }, /* @__PURE__ */ createElement(PluginArtworkDefault, { size: 48 }), /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverEmptyTitle }, t("panels.discover.noSource")), /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverMuted }, t("panels.discover.noSourceHint")), /* @__PURE__ */ createElement(Button, {
7112
+ type: "button",
7113
+ size: "sm",
7114
+ variant: "primary",
7115
+ icon: /* @__PURE__ */ createElement(IconPlusOutlineRegular, { size: 13 }),
7116
+ onClick: onAdd
7117
+ }, t("panels.discover.addFirstSource")));
7118
+ }
7119
+ function DiscoverReadFailure({ t, text, auth, onRetry }) {
7120
+ return /* @__PURE__ */ createElement(Fragment, null, /* @__PURE__ */ createElement(DiscoverFailure, {
7121
+ t,
7122
+ text,
7123
+ onRetry
7124
+ }), auth ? /* @__PURE__ */ createElement("p", {
7125
+ className: MarketPage_module_default.discoverNotice,
7126
+ role: "note"
7127
+ }, /* @__PURE__ */ createElement(IconWarningOutlineRegular, {
7128
+ size: 14,
7129
+ "aria-hidden": "true"
7130
+ }), /* @__PURE__ */ createElement("span", null, t("panels.discover.sourceAuth"))) : null);
7131
+ }
7132
+ //#endregion
7133
+ //#region src/app/layouts/rightbar/MarketStates.tsx
7134
+ function MarketChecking({ t }) {
7135
+ return /* @__PURE__ */ createElement(DiscoverSkeleton, { label: t("panels.market.checking") });
7136
+ }
7137
+ function MarketEmpty({ t }) {
7138
+ return /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketEmpty }, /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketEmptyTitle }, t("panels.market.empty")));
7139
+ }
7140
+ //#endregion
7141
+ //#region src/app/layouts/rightbar/market-detail-facts.ts
7142
+ var DIRECT_SOURCE = /^(?:git\+|git:|github:|gitlab:|bitbucket:|https?:|ssh:|file:|link:|workspace:|\.{0,2}\/|\/)/i;
7143
+ function isDirectSourceSpec(spec) {
7144
+ return DIRECT_SOURCE.test(spec.trim());
7145
+ }
7146
+ function localPathOf(row) {
7147
+ const spec = row.spec?.trim() ?? "";
7148
+ const prefixed = /^(?:link:|file:)(.+)$/i.exec(spec)?.[1]?.trim() ?? "";
7149
+ if (prefixed !== "") return prefixed;
7150
+ if (/^(?:\.{0,2}\/|\/)/.test(spec)) return spec;
7151
+ if (row.plugin === true && row.local === true) {
7152
+ const path = row.pkg?.trim() ?? "";
7153
+ if (path !== "") return path;
7154
+ }
7155
+ }
7156
+ function installSourceOf(row, t) {
7157
+ if (row.local === true) {
7158
+ const path = localPathOf(row);
7159
+ if (path !== void 0) return {
7160
+ text: path,
7161
+ code: false
7162
+ };
7163
+ return {
7164
+ text: t("panels.market.detailLocalDirectory"),
7165
+ code: false
7166
+ };
7167
+ }
7168
+ const spec = row.spec?.trim() ?? "";
7169
+ if (spec !== "" && isDirectSourceSpec(spec)) return {
7170
+ text: spec,
7171
+ code: true
7172
+ };
7173
+ const registry = row.registry?.trim() ?? "";
7174
+ if (registry !== "") return {
7175
+ text: registry,
7176
+ code: true
7177
+ };
7178
+ return {
7179
+ text: t("panels.market.detailUnknown"),
7180
+ code: false
7181
+ };
7182
+ }
7183
+ function marketDetailFacts(row, t) {
7184
+ const facts = [];
7185
+ const add = (labelKey, value, code = false) => {
7186
+ if (value === void 0 || value.trim() === "") return;
7187
+ facts.push({
7188
+ labelKey,
7189
+ value,
7190
+ ...code ? { code: true } : {}
7191
+ });
7192
+ };
7193
+ const source = installSourceOf(row, t);
7194
+ add("panels.market.detailSource", source.text, source.code);
7195
+ if (row.plugin === true) {
7196
+ add("panels.market.detailPluginName", row.label !== void 0 && row.label !== row.pkg ? row.label : void 0);
7197
+ add("panels.market.detailRegistry", row.registry !== void 0 && source.text !== row.registry ? row.registry : void 0, true);
7198
+ add("panels.market.detailInstalledAt", row.installedAt === void 0 ? void 0 : row.installedAt.slice(0, 10));
7199
+ } else {
7200
+ add("panels.market.detailRegistry", row.registry !== void 0 && source.text !== row.registry ? row.registry : void 0, true);
7201
+ add("panels.market.detailSpec", row.spec !== void 0 && source.text !== row.spec ? row.spec : void 0, true);
7202
+ add("panels.market.detailUnit", row.workbench === true ? void 0 : row.id, true);
7203
+ }
7204
+ add("panels.market.detailVersion", row.version?.installed);
7205
+ add("panels.market.detailLatest", row.version?.latest !== void 0 && row.version.latest !== row.version.installed ? row.version.latest : void 0);
7206
+ if (row.market !== void 0) {
7207
+ add("panels.market.detailMarket", row.market.sourceLabel);
7208
+ if (row.market.source.type === "git") {
7209
+ add("panels.market.detailRepository", row.market.source.url);
7210
+ add("panels.market.detailCommit", row.market.source.commit, true);
7211
+ add("panels.market.detailDirectory", row.market.source.path, true);
7212
+ }
7213
+ if (row.pkg !== void 0) {
7214
+ add("panels.market.detailUpdateSource", marketInstallTarget(row.pkg, row.market.version, row.market.source).spec, true);
7215
+ add("panels.market.detailUpdateVersion", row.version?.latest === row.market.version ? void 0 : row.market.version);
7216
+ }
7217
+ }
7218
+ return facts;
7219
+ }
7220
+ //#endregion
7221
+ //#region src/app/layouts/rightbar/market-detail.tsx
7222
+ var STATE_TONE = {
7223
+ checking: "neutral",
7224
+ installed: "success",
7225
+ inactive: "warning",
7226
+ unusable: "danger",
7227
+ broken: "danger",
7228
+ outdated: "warning",
7229
+ "pending-restart": "warning",
7230
+ "pending-followup": "warning",
7231
+ missing: "neutral",
7232
+ unchecked: "neutral",
7233
+ unknown: "neutral"
7234
+ };
7235
+ function MarketDetail({ t, row, pending, failure, notice, boardBusy, onBack, onRequest, onDefault, onRecheck, rechecking }) {
7236
+ const title = marketRowTitle(row, t);
7237
+ const facts = marketDetailFacts(row, t);
7238
+ const version = row.version?.installed;
7239
+ const noteText = row.note === void 0 ? null : t(row.note.key, row.note.params);
7240
+ return /* @__PURE__ */ createElement("div", {
7241
+ className: MarketPage_module_default.discoverDetail,
7242
+ "data-market-detail": row.id
7243
+ }, /* @__PURE__ */ createElement("button", {
7244
+ type: "button",
7245
+ className: MarketPage_module_default.discoverCrumb,
7246
+ onClick: onBack
7247
+ }, /* @__PURE__ */ createElement(IconChevronDownOutlineRegular, {
7248
+ className: MarketPage_module_default.discoverCrumbIcon,
7249
+ "aria-hidden": "true"
7250
+ }), /* @__PURE__ */ createElement("span", null, t("panels.market.detailBack"))), /* @__PURE__ */ createElement("div", { className: `${MarketPage_module_default.discoverDetailHead} ${MarketPage_module_default.marketDetailHead}` }, /* @__PURE__ */ createElement("span", {
7251
+ className: MarketPage_module_default.discoverArtwork,
7252
+ "aria-hidden": "true"
7253
+ }, packageIcon(marketRowKind(row))), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverMain }, /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverTitleRow }, /* @__PURE__ */ createElement("h3", { className: MarketPage_module_default.discoverDetailTitle }, title), version === void 0 ? null : /* @__PURE__ */ createElement(Tag, { tone: "neutral" }, version), row.state === "installed" ? null : /* @__PURE__ */ createElement(Tag, { tone: STATE_TONE[row.state] }, t(MARKET_STATE_KEY[row.state])), row.local === true ? /* @__PURE__ */ createElement(Tag, { tone: "neutral" }, t("panels.market.localMark")) : null), row.pkg === void 0 ? null : /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.marketDetailName }, /* @__PURE__ */ createElement("code", null, row.pkg))), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketDetailEnd }, /* @__PURE__ */ createElement(MarketRowControls, {
7254
+ t,
7255
+ row,
7256
+ pending,
7257
+ boardBusy,
7258
+ onRequest,
7259
+ onDefault
7260
+ }))), notice === null ? null : /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverDetailText }, notice), /* @__PURE__ */ createElement(MarketRowFailure, {
7261
+ t,
7262
+ failure,
7263
+ onRecheck,
7264
+ rechecking
7265
+ }), row.hint === void 0 ? null : /* @__PURE__ */ createElement("p", { className: MarketPage_module_default.discoverMuted }, t(row.hint)), noteText === null ? null : /* @__PURE__ */ createElement("p", { className: row.note?.tone === "alert" ? MarketPage_module_default.discoverError : MarketPage_module_default.discoverMuted }, noteText), facts.length === 0 ? null : /* @__PURE__ */ createElement("section", { className: MarketPage_module_default.discoverSection }, /* @__PURE__ */ createElement("h4", { className: MarketPage_module_default.discoverSectionTitle }, t("panels.market.detailSourceTitle")), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.discoverFacts }, facts.map((fact) => /* @__PURE__ */ createElement("div", {
7266
+ key: `${fact.labelKey}:${fact.value}`,
7267
+ className: MarketPage_module_default.discoverFactRow
7268
+ }, /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.discoverFactKind }, t(fact.labelKey)), /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.discoverFactValue }, fact.code === true ? /* @__PURE__ */ createElement("code", { className: MarketPage_module_default.discoverCode }, fact.value) : fact.value))))));
7269
+ }
7270
+ //#endregion
7271
+ //#region src/app/layouts/rightbar/market-uninstall.tsx
7272
+ function ConfirmUninstall({ t, name, onConfirm, onCancel }) {
7273
+ const [acknowledged, setAcknowledged] = useState(false);
7274
+ return /* @__PURE__ */ createElement(RiskConfirmation, {
7275
+ open: name !== null,
7276
+ title: t("panels.market.confirmUninstallTitle", { name: name ?? "" }),
7277
+ description: t("panels.market.confirmUninstallDetail"),
7278
+ acknowledgeLabel: t("panels.market.confirmUninstallAck"),
7279
+ cancelLabel: t("panels.market.confirmNo"),
7280
+ closeLabel: t("panels.market.confirmNo"),
7281
+ confirmLabel: t("panels.market.confirmYes"),
7282
+ acknowledged,
7283
+ onAcknowledgedChange: setAcknowledged,
7284
+ onCancel,
7285
+ onConfirm
7286
+ });
7287
+ }
7288
+ function UninstallConfirm({ t, confirming, row, onClose, act, rowById }) {
7289
+ return /* @__PURE__ */ createElement(ConfirmUninstall, {
7290
+ key: confirming ?? "",
7291
+ t,
7292
+ name: row === void 0 ? null : marketRowTitle(row, t),
7293
+ onCancel: onClose,
7294
+ onConfirm: () => {
7295
+ const id = confirming;
7296
+ onClose();
7297
+ if (id === null) return;
7298
+ const target = rowById.get(id);
7299
+ act(id, target?.plugin === true ? "uninstall-plugin" : target?.removeViaBundle === true ? "remove-bundle" : "uninstall");
7300
+ }
7301
+ });
6874
7302
  }
6875
- function MarketLine({ t, row, pending, failure, onAct, onDefault, boardBusy, onRecheck, rechecking }) {
6876
- const running = pending !== null && pending.id === row.id ? pending : null;
6877
- const locked = pending !== null;
6878
- const [migrationOpen, setMigrationOpen] = useState(false);
6879
- const [dismissOpen, setDismissOpen] = useState(false);
6880
- const quiet = row.workbench === true && row.state === "installed" && row.hint === void 0;
6881
- const actions = marketActions$1(row);
6882
- const switchLocked = marketSwitchLocked(row);
6883
- return /* @__PURE__ */ createElement("li", { className: MarketPage_module_default.marketRow }, /* @__PURE__ */ createElement("span", {
6884
- className: MarketPage_module_default.marketIcon,
6885
- "aria-hidden": "true"
6886
- }, packageIcon(marketRowKind(row))), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketMain }, /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketName }, marketRowTitle(row, t), row.versionLabel === void 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketVersion }, row.versionLabel), row.version === void 0 || row.versionLabel !== void 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketVersion }, row.version.installed !== void 0 && row.version.latest !== void 0 && row.version.installed !== row.version.latest ? t("panels.market.versionArrow", {
6887
- from: row.version.installed,
6888
- to: row.version.latest
6889
- }) : row.version.installed ?? row.version.latest ?? ""), row.local === true ? /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketLocalTag }, t("panels.market.localMark")) : null), /* @__PURE__ */ createElement(MarketLineStatus, {
7303
+ //#endregion
7304
+ //#region src/app/layouts/rightbar/market-detail-page.tsx
7305
+ var CONFIRM_ACTIONS = [
7306
+ "uninstall",
7307
+ "remove-bundle",
7308
+ "uninstall-plugin"
7309
+ ];
7310
+ function MarketDetailPage({ t, row, pending, failure, notice, boardBusy, confirming, confirmingRow, rowById, onBack, onConfirming, onDefault, onAct, onRecheck, rechecking }) {
7311
+ return /* @__PURE__ */ createElement(Fragment, null, /* @__PURE__ */ createElement(MarketDetail, {
6890
7312
  t,
6891
7313
  row,
6892
- quiet
6893
- })), /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ createElement(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => {
6894
- const danger = dangerActions.includes(action);
6895
- const update = updateActions.includes(action);
6896
- return /* @__PURE__ */ createElement(Button, {
6897
- key: action,
6898
- type: "button",
6899
- size: "sm",
6900
- variant: action === "install" || action === "migrate-workbench" ? "primary" : "outline",
6901
- className: danger ? "wb-dangerAction" : update ? MarketPage_module_default.marketUpdateAction : void 0,
6902
- icon: danger ? /* @__PURE__ */ createElement(IconTrashOutlineRegular, { size: 13 }) : void 0,
6903
- "aria-label": danger ? t("panels.market.uninstallLabel", { name: marketRowTitle(row, t) }) : void 0,
6904
- disabled: locked,
6905
- onClick: () => {
6906
- if (action === "migrate-workbench") setMigrationOpen(true);
6907
- else if (action === "dismiss-followup") setDismissOpen(true);
6908
- else onAct(action);
6909
- }
6910
- }, t(ACTION_LABEL_KEY[action]));
6911
- })), row.defaultShown === void 0 ? null : /* @__PURE__ */ createElement(Tip, { label: t(switchLocked ? "panels.market.defaultLocked" : "panels.market.defaultHint") }, /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketSwitchSeat }, /* @__PURE__ */ createElement(Switch, {
6912
- checked: row.defaultShown,
6913
- disabled: boardBusy === true || locked || switchLocked,
6914
- label: `${marketRowTitle(row, t)} · ${t("panels.market.defaultLabel")}`,
6915
- onChange: (next) => onDefault?.(next)
6916
- })))), /* @__PURE__ */ createElement(MarketFailureBlock, {
6917
- t,
7314
+ pending,
6918
7315
  failure,
7316
+ notice,
7317
+ boardBusy,
7318
+ onBack,
7319
+ onRequest: (action) => CONFIRM_ACTIONS.includes(action) ? onConfirming(row.id) : void onAct(row.id, action),
7320
+ onDefault: (next) => void onDefault(row.id, next),
6919
7321
  onRecheck,
6920
7322
  rechecking
6921
- }), /* @__PURE__ */ createElement(MarketLineDialogs, {
7323
+ }), /* @__PURE__ */ createElement(UninstallConfirm, {
6922
7324
  t,
6923
- migrationOpen,
6924
- dismissOpen,
6925
- onMigrationCancel: () => setMigrationOpen(false),
6926
- onMigrationConfirm: () => {
6927
- setMigrationOpen(false);
6928
- onAct("migrate-workbench");
6929
- },
6930
- onDismissCancel: () => setDismissOpen(false),
6931
- onDismissConfirm: () => {
6932
- setDismissOpen(false);
6933
- onAct("dismiss-followup");
6934
- }
7325
+ confirming,
7326
+ row: confirmingRow,
7327
+ onClose: () => onConfirming(null),
7328
+ act: onAct,
7329
+ rowById
6935
7330
  }));
6936
7331
  }
6937
- function MarketSection({ t, titleKey, icon, rows, pending, failureOf, act, confirmActions, onConfirming, onDefault, boardBusy, headAction, keepHead, onRecheck, rechecking }) {
6938
- if (rows.length === 0 && keepHead !== true) return null;
6939
- return /* @__PURE__ */ createElement("section", { className: MarketPage_module_default.marketSection }, titleKey === void 0 ? null : /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketSectionHead }, /* @__PURE__ */ createElement("span", {
6940
- className: MarketPage_module_default.marketSectionIcon,
6941
- "aria-hidden": "true"
6942
- }, icon), /* @__PURE__ */ createElement("h2", { className: MarketPage_module_default.marketSectionTitle }, t(titleKey)), /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketSectionCount }, rows.length), headAction === void 0 ? null : /* @__PURE__ */ createElement("span", { className: MarketPage_module_default.marketSectionAction }, headAction)), rows.length === 0 ? null : /* @__PURE__ */ createElement("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ createElement(MarketLine, {
6943
- key: row.id,
7332
+ //#endregion
7333
+ //#region src/app/layouts/rightbar/market-scene-view.tsx
7334
+ function MarketSceneView({ t, runtimePluginMarket, self, shown, pluginList, installedList, shared, pending, failed, notice, act, onConfirming, setDefault, boardBusy, checks, onRecheck, rechecking, onOpenDetail, detailRow, confirming, confirmingRow, rowById, settled, nothing, settlingSize, onBack }) {
7335
+ if (detailRow !== void 0) return /* @__PURE__ */ createElement(MarketDetailPage, {
6944
7336
  t,
6945
- row,
7337
+ row: detailRow,
6946
7338
  pending,
6947
- failure: failureOf(row.id),
6948
- onAct: (action) => confirmActions.includes(action) ? onConfirming(row.id) : void act(row.id, action),
6949
- onDefault: (next) => onDefault?.(row.id, next),
7339
+ failure: failed?.id === detailRow.id ? failed : null,
7340
+ notice,
6950
7341
  boardBusy,
7342
+ confirming,
7343
+ confirmingRow,
7344
+ rowById,
7345
+ onBack,
7346
+ onConfirming,
7347
+ onDefault: setDefault,
7348
+ onAct: act,
6951
7349
  onRecheck,
6952
7350
  rechecking
6953
- }))));
7351
+ });
7352
+ if (!settled || settlingSize > 0 && shown.length === 0 && installedList.length === 0) return /* @__PURE__ */ createElement(MarketChecking, { t });
7353
+ if (nothing) return /* @__PURE__ */ createElement(MarketEmpty, { t });
7354
+ return /* @__PURE__ */ createElement(Fragment, null, /* @__PURE__ */ createElement(MarketBody, {
7355
+ t,
7356
+ runtimePluginMarket,
7357
+ self,
7358
+ shown,
7359
+ pluginList,
7360
+ installedList,
7361
+ shared,
7362
+ pending,
7363
+ failed,
7364
+ notice,
7365
+ act,
7366
+ onConfirming,
7367
+ setDefault,
7368
+ boardBusy,
7369
+ checks,
7370
+ onRecheck,
7371
+ rechecking,
7372
+ onOpenDetail
7373
+ }), /* @__PURE__ */ createElement(UninstallConfirm, {
7374
+ t,
7375
+ confirming,
7376
+ row: confirmingRow,
7377
+ onClose: () => onConfirming(null),
7378
+ act,
7379
+ rowById
7380
+ }));
6954
7381
  }
6955
7382
  //#endregion
6956
7383
  //#region src/app/layouts/market/add-module-text.ts
@@ -7504,141 +7931,13 @@ function SectionCheck({ t, part, seat, latest, disabled, onCheck }) {
7504
7931
  });
7505
7932
  }
7506
7933
  //#endregion
7507
- //#region src/app/layouts/rightbar/market-uninstall.tsx
7508
- function ConfirmUninstall({ t, name, onConfirm, onCancel }) {
7509
- const [acknowledged, setAcknowledged] = useState(false);
7510
- return /* @__PURE__ */ createElement(RiskConfirmation, {
7511
- open: name !== null,
7512
- title: t("panels.market.confirmUninstallTitle", { name: name ?? "" }),
7513
- description: t("panels.market.confirmUninstallDetail"),
7514
- acknowledgeLabel: t("panels.market.confirmUninstallAck"),
7515
- cancelLabel: t("panels.market.confirmNo"),
7516
- closeLabel: t("panels.market.confirmNo"),
7517
- confirmLabel: t("panels.market.confirmYes"),
7518
- acknowledged,
7519
- onAcknowledgedChange: setAcknowledged,
7520
- onCancel,
7521
- onConfirm
7522
- });
7523
- }
7524
- function UninstallConfirm({ t, confirming, row, onClose, act, rowById }) {
7525
- return /* @__PURE__ */ createElement(ConfirmUninstall, {
7526
- key: confirming ?? "",
7527
- t,
7528
- name: row === void 0 ? null : marketRowTitle(row, t),
7529
- onCancel: onClose,
7530
- onConfirm: () => {
7531
- const id = confirming;
7532
- onClose();
7533
- if (id === null) return;
7534
- const target = rowById.get(id);
7535
- act(id, target?.plugin === true ? "uninstall-plugin" : target?.pkg === void 0 ? "uninstall" : "remove-bundle");
7536
- }
7537
- });
7538
- }
7539
- var PanelFoot_module_default = {
7540
- foot: "_foot_1ud1j_1",
7541
- footText: "_footText_1ud1j_13",
7542
- footTextMd: "_footTextMd_1ud1j_18"
7543
- };
7544
- //#endregion
7545
- //#region src/shared/components/PanelFoot.tsx
7546
- function PanelFoot({ text, size = "sm", children }) {
7547
- return /* @__PURE__ */ createElement("footer", { className: PanelFoot_module_default.foot }, text === void 0 ? null : /* @__PURE__ */ createElement("span", { className: size === "md" ? PanelFoot_module_default.footTextMd : PanelFoot_module_default.footText }, text), children ?? null);
7548
- }
7549
- //#endregion
7550
7934
  //#region src/app/layouts/rightbar/MarketView.tsx
7551
- var CONFIRM_UNINSTALL = [
7552
- "uninstall",
7553
- "remove-bundle",
7554
- "uninstall-plugin"
7555
- ];
7556
7935
  var NO_CHECK = {
7557
7936
  checking: false,
7558
7937
  failed: false,
7559
7938
  checkedAt: null
7560
7939
  };
7561
- var NO_ROWS = [];
7562
7940
  var NO_UNITS$1 = /* @__PURE__ */ new Set();
7563
- function MarketBody({ t, self, shown, pluginList, installedList, shared, pending, failed, notice, act, onConfirming, setDefault, boardBusy, checks, onRecheck, rechecking, runtimePluginMarket }) {
7564
- const failureOf = (id) => failed?.id === id ? failed : null;
7565
- const foot = marketFootVisible(shown, installedList);
7566
- const sections = marketSections(marketOrder([...shown, ...installedList], (row) => marketRowTitle(row, t)));
7567
- const installed = sections.find((section) => section.id === "installed");
7568
- const pendingSection = sections.find((section) => section.id === "not-installed");
7569
- return /* @__PURE__ */ createElement(Fragment, null, notice === null ? null : /* @__PURE__ */ createElement("div", { className: MarketPage_module_default.marketNote }, notice), /* @__PURE__ */ createElement(MarketSection, {
7570
- t,
7571
- rows: self === void 0 ? [] : [self],
7572
- onDefault: setDefault,
7573
- boardBusy,
7574
- pending,
7575
- failureOf,
7576
- act,
7577
- confirmActions: CONFIRM_UNINSTALL,
7578
- onConfirming,
7579
- onRecheck,
7580
- rechecking
7581
- }), self === void 0 ? null : /* @__PURE__ */ createElement("div", {
7582
- className: MarketPage_module_default.marketSelfDivider,
7583
- "aria-hidden": "true"
7584
- }), /* @__PURE__ */ createElement(MarketSection, {
7585
- t,
7586
- titleKey: "panels.market.sectionInstalled",
7587
- icon: marketSectionIcon("installed"),
7588
- rows: installed?.rows ?? NO_ROWS,
7589
- keepHead: true,
7590
- headAction: checks.modules,
7591
- onDefault: setDefault,
7592
- boardBusy,
7593
- pending,
7594
- failureOf,
7595
- act,
7596
- confirmActions: CONFIRM_UNINSTALL,
7597
- onConfirming,
7598
- onRecheck,
7599
- rechecking
7600
- }), pendingSection === void 0 ? null : /* @__PURE__ */ createElement(MarketSection, {
7601
- t,
7602
- titleKey: pendingSection.titleKey,
7603
- icon: marketSectionIcon("pending"),
7604
- rows: pendingSection.rows,
7605
- onDefault: setDefault,
7606
- boardBusy,
7607
- pending,
7608
- failureOf,
7609
- act,
7610
- confirmActions: CONFIRM_UNINSTALL,
7611
- onConfirming,
7612
- onRecheck,
7613
- rechecking
7614
- }), runtimePluginMarket === false ? null : /* @__PURE__ */ createElement(MarketSection, {
7615
- t,
7616
- titleKey: "panels.market.sectionPlugins",
7617
- icon: marketSectionIcon("plugins"),
7618
- rows: pluginList,
7619
- headAction: checks.plugins,
7620
- onDefault: setDefault,
7621
- boardBusy,
7622
- pending,
7623
- failureOf,
7624
- act,
7625
- confirmActions: CONFIRM_UNINSTALL,
7626
- onConfirming,
7627
- onRecheck,
7628
- rechecking
7629
- }), foot ? /* @__PURE__ */ createElement(PanelFoot, {
7630
- size: "md",
7631
- text: t("panels.market.foot")
7632
- }) : null, /* @__PURE__ */ createElement(SharedSection, {
7633
- t,
7634
- rows: shared,
7635
- pending,
7636
- failureOf,
7637
- act,
7638
- onRecheck,
7639
- rechecking
7640
- }));
7641
- }
7642
7941
  function useMarketScene(input) {
7643
7942
  const { t, titleOf, manifests, installable, capabilities, updates, installed, settling, installing, mock, defaults, changed, pending, failed } = input;
7644
7943
  const names = marketNamesOf(t, installed ?? [], titleOf, mock !== void 0);
@@ -7697,6 +7996,7 @@ function MarketView({ t, titleOf, manifests, installable, capabilities, runtimeP
7697
7996
  mock,
7698
7997
  onPending
7699
7998
  });
7999
+ const [detailId, setDetailId] = useState(null);
7700
8000
  const { names, effective, updateMap, rows, shared, installedList, byDefault, steady, pinned, removing, busyId } = useMarketScene({
7701
8001
  t,
7702
8002
  titleOf,
@@ -7736,13 +8036,9 @@ function MarketView({ t, titleOf, manifests, installable, capabilities, runtimeP
7736
8036
  const shown = withPinnedRow(pendingRow === void 0 ? rows : [...rows, pendingRow], pinned);
7737
8037
  const pluginSource = mock?.plugins ?? plugins ?? null;
7738
8038
  const pluginList = installedPluginRows(pluginSource ?? [], byDefault, changed);
7739
- const rowById = new Map([
7740
- ...shown,
7741
- ...self === void 0 ? [] : [self],
7742
- ...installedList,
7743
- ...pluginList
7744
- ].map((row) => [row.id, row]));
8039
+ const rowById = marketRowMap(shown, self, installedList, pluginList);
7745
8040
  const confirmingRow = confirming === null ? void 0 : rowById.get(confirming);
8041
+ const detailRow = detailId === null ? void 0 : rowById.get(detailId);
7746
8042
  const seats = {
7747
8043
  setPending,
7748
8044
  setHeld: steady.hold,
@@ -7789,9 +8085,7 @@ function MarketView({ t, titleOf, manifests, installable, capabilities, runtimeP
7789
8085
  disabled: pending !== null,
7790
8086
  onCheck: mock === void 0 ? onCheck : void 0
7791
8087
  });
7792
- if (!settled || (settling?.size ?? 0) > 0 && shown.length === 0 && installedList.length === 0) return /* @__PURE__ */ createElement(MarketChecking, { t });
7793
- if (nothing) return /* @__PURE__ */ createElement(MarketEmpty, { t });
7794
- return /* @__PURE__ */ createElement(Fragment, null, /* @__PURE__ */ createElement(MarketBody, {
8088
+ return /* @__PURE__ */ createElement(MarketSceneView, {
7795
8089
  t,
7796
8090
  runtimePluginMarket,
7797
8091
  self,
@@ -7808,15 +8102,17 @@ function MarketView({ t, titleOf, manifests, installable, capabilities, runtimeP
7808
8102
  boardBusy,
7809
8103
  checks,
7810
8104
  onRecheck: recheck,
7811
- rechecking: checkingShown
7812
- }), /* @__PURE__ */ createElement(UninstallConfirm, {
7813
- t,
8105
+ rechecking: checkingShown,
8106
+ onOpenDetail: setDetailId,
8107
+ detailRow,
7814
8108
  confirming,
7815
- row: confirmingRow,
7816
- onClose: () => setConfirming(null),
7817
- act,
7818
- rowById
7819
- }));
8109
+ confirmingRow,
8110
+ rowById,
8111
+ settled,
8112
+ nothing,
8113
+ settlingSize: settling?.size ?? 0,
8114
+ onBack: () => setDetailId(null)
8115
+ });
7820
8116
  }
7821
8117
  //#endregion
7822
8118
  //#region src/shared/hooks/runtime-queries.ts
@@ -7961,6 +8257,10 @@ var require_zh_cn = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7961
8257
  var import_localizedFormat = /* @__PURE__ */ __toESM(require_localizedFormat(), 1);
7962
8258
  require_zh_cn();
7963
8259
  import_dayjs_min.default.extend(import_localizedFormat.default);
8260
+ function localeNow() {
8261
+ if (typeof document === "undefined") return "zh";
8262
+ return document.documentElement.lang || navigator.language || "zh";
8263
+ }
7964
8264
  function displayTitleOf(entry, locale) {
7965
8265
  return marketText(entry.title, locale) || entry.name;
7966
8266
  }
@@ -9129,10 +9429,6 @@ function DiscoverToolbar(props) {
9129
9429
  }
9130
9430
  //#endregion
9131
9431
  //#region src/app/layouts/market/use-discover.ts
9132
- function localeNow() {
9133
- if (typeof document === "undefined") return "zh";
9134
- return document.documentElement.lang || navigator.language || "zh";
9135
- }
9136
9432
  var SHIPPED = [
9137
9433
  "applied",
9138
9434
  "restart-required",
@@ -9274,12 +9570,13 @@ function useDiscover(t, active, onInstalled) {
9274
9570
  const detailEntry = useMemo(() => entries.find((entry) => entry.name === detail) ?? null, [entries, detail]);
9275
9571
  const problem = useMemo(() => {
9276
9572
  if (payload?.problem === void 0 || payload.selected === null) return null;
9573
+ const detail = payload.problem.detail ?? (payload.problem.kind === "sandbox" ? t("panels.discover.sandbox") : "");
9277
9574
  return {
9278
9575
  id: payload.selected,
9279
9576
  kind: payload.problem.kind,
9280
- detail: payload.problem.detail ?? ""
9577
+ detail
9281
9578
  };
9282
- }, [payload]);
9579
+ }, [payload, t]);
9283
9580
  const selectedSource = useMemo(() => payload === null || payload.selected === null ? void 0 : payload.sources.find((source) => source.id === payload.selected), [payload]);
9284
9581
  const uninitialized = useMemo(() => {
9285
9582
  const kind = payload?.problem?.kind;
@@ -9525,6 +9822,11 @@ function useDiscover(t, active, onInstalled) {
9525
9822
  }
9526
9823
  //#endregion
9527
9824
  //#region src/app/layouts/market/DiscoverPanel.tsx
9825
+ function readFailureOf(d, t, failed) {
9826
+ if (d.loading || !failed) return null;
9827
+ if (d.problem?.kind === "sandbox") return d.problem.detail.trim() === "" ? t("panels.discover.sandbox") : d.problem.detail;
9828
+ return d.payload?.state === "invalid" ? t("panels.discover.invalid") : t("panels.discover.unreadable");
9829
+ }
9528
9830
  function DiscoverPanel({ t, active, onInstalled, onShowInstalled }) {
9529
9831
  const d = useDiscover(t, active, onInstalled);
9530
9832
  const marketLabel = d.selected === null ? "" : sourceLabelsOf(d.sources).get(d.selected) ?? "";
@@ -9571,7 +9873,7 @@ function DiscoverPanel({ t, active, onInstalled, onShowInstalled }) {
9571
9873
  });
9572
9874
  else {
9573
9875
  const failed = d.payload.state === "invalid" || d.payload.state === "unreadable";
9574
- const readFailed = !d.loading && failed ? d.payload.state === "invalid" ? t("panels.discover.invalid") : t("panels.discover.unreadable") : null;
9876
+ const readFailed = readFailureOf(d, t, failed);
9575
9877
  const uninitialized = d.loading ? null : d.uninitialized;
9576
9878
  const retrying = d.loading && failed;
9577
9879
  const emptyText = unfiltered({
@@ -12664,6 +12966,15 @@ function stepDetailText(step, snapshot, t) {
12664
12966
  if (step.id === "warm") return step.status === "ok" ? t("env.warm.done", { n: step.detail ?? "0" }) : t("env.warm.short");
12665
12967
  return "";
12666
12968
  }
12969
+ function gateHintOf(snapshot, t) {
12970
+ if (snapshot.phase === "failed") return t("env.failed");
12971
+ if (snapshot.phase === "installing") return snapshot.steps.some((step) => step.id === "toolchain" && step.status === "running") ? t("env.installingToolchain") : t("env.installing");
12972
+ if (snapshot.phase === "ready") {
12973
+ if ((snapshot.bridgeIssues?.length ?? 0) > 0) return t("env.bridge.hold");
12974
+ if (snapshot.diyGap !== void 0) return t("env.diy.hold");
12975
+ }
12976
+ return t("env.checking");
12977
+ }
12667
12978
  function showsRawDetails(snapshot) {
12668
12979
  if (snapshot.phase === "failed") return true;
12669
12980
  return snapshot.steps.some((step) => step.status === "warn" || step.status === "failed");
@@ -12901,14 +13212,15 @@ function createBootGate(ctx, options = {}) {
12901
13212
  if (root !== null) root.inert = true;
12902
13213
  let closed = false;
12903
13214
  let timer;
12904
- let installingSince = null;
13215
+ let waitingSince = null;
12905
13216
  let ticker;
12906
13217
  function startElapsed() {
12907
- if (installingSince === null) installingSince = Date.now();
13218
+ if (waitingSince === null) waitingSince = Date.now();
12908
13219
  if (ticker !== void 0) return;
12909
13220
  const paint = () => {
12910
- const seconds = Math.max(0, Math.round((Date.now() - (installingSince ?? Date.now())) / 1e3));
13221
+ const seconds = Math.max(0, Math.floor((Date.now() - (waitingSince ?? Date.now())) / 1e3));
12911
13222
  elapsed.textContent = t("env.elapsed", { seconds });
13223
+ progressRow.hidden = seconds < 1;
12912
13224
  };
12913
13225
  paint();
12914
13226
  ticker = setInterval(paint, 500);
@@ -12916,8 +13228,9 @@ function createBootGate(ctx, options = {}) {
12916
13228
  function stopElapsed() {
12917
13229
  if (ticker !== void 0) clearInterval(ticker);
12918
13230
  ticker = void 0;
12919
- installingSince = null;
13231
+ waitingSince = null;
12920
13232
  elapsed.textContent = "";
13233
+ progressRow.hidden = true;
12921
13234
  }
12922
13235
  let cancelled = false;
12923
13236
  const forcePlan = createForcePlan();
@@ -12953,7 +13266,7 @@ function createBootGate(ctx, options = {}) {
12953
13266
  }
12954
13267
  function render(snapshot) {
12955
13268
  wakeNote.hidden = true;
12956
- hint.textContent = snapshot.phase === "installing" ? t("env.installing") : snapshot.phase === "failed" ? t("env.failed") : gateActionOf(snapshot) === "hold" ? (snapshot.bridgeIssues?.length ?? 0) > 0 ? t("env.bridge.hold") : t("env.diy.hold") : t("env.checking");
13269
+ hint.textContent = gateHintOf(snapshot, t);
12957
13270
  const items = snapshot.steps.map((step) => {
12958
13271
  const row = ensureRow(step);
12959
13272
  row.item.dataset.status = step.status;
@@ -12976,8 +13289,7 @@ function createBootGate(ctx, options = {}) {
12976
13289
  return detail === "" ? [] : [`${stepLabel$1(step, t)}: ${detail}`];
12977
13290
  });
12978
13291
  rawAllBody.textContent = rawLines.join("\n");
12979
- progressRow.hidden = snapshot.phase !== "installing";
12980
- if (snapshot.phase === "installing") startElapsed();
13292
+ if (snapshot.phase !== "ready" && snapshot.phase !== "failed") startElapsed();
12981
13293
  else stopElapsed();
12982
13294
  const failed = snapshot.phase === "failed";
12983
13295
  actions.hidden = !failed;
@@ -15562,6 +15874,11 @@ function WorkspaceRenameDialog({ workspace, t, onClose, onSubmit }) {
15562
15874
  }
15563
15875
  //#endregion
15564
15876
  //#region src/app/layouts/sidebar/workspace-groups.ts
15877
+ var STATEFUL_SECTION_ORDER = [
15878
+ "workshop",
15879
+ "defaultWorkspace",
15880
+ "workspaces"
15881
+ ];
15565
15882
  function workspaceSections(items, headings, options = {}) {
15566
15883
  const workspaces = [];
15567
15884
  const defaults = [];
@@ -15570,7 +15887,7 @@ function workspaceSections(items, headings, options = {}) {
15570
15887
  else if (item.title === "default-workspace") defaults.push(item);
15571
15888
  else workspaces.push(item);
15572
15889
  const rankOf = options.rankOf;
15573
- const ordered = (rows) => rankOf === void 0 ? rows : [...rows].sort((left, right) => rankOf(left) - rankOf(right));
15890
+ const ordered = (rows) => rankOf === void 0 ? rows : [...rows].sort((left, right) => (rankOf(left) ?? Number.POSITIVE_INFINITY) - (rankOf(right) ?? Number.POSITIVE_INFINITY));
15574
15891
  const special = defaults.length > 0 || workshop.length > 0;
15575
15892
  const sections = [];
15576
15893
  if (workspaces.length > 0) sections.push({
@@ -15588,7 +15905,12 @@ function workspaceSections(items, headings, options = {}) {
15588
15905
  heading: headings.workshop,
15589
15906
  items: ordered(workshop)
15590
15907
  });
15591
- return sections;
15908
+ if (rankOf === void 0) return sections;
15909
+ const sectionRank = (section) => Math.min(...section.items.map((item) => rankOf(item) ?? Number.POSITIVE_INFINITY));
15910
+ const priorityOf = (section) => STATEFUL_SECTION_ORDER.indexOf(section.id);
15911
+ const stateful = sections.filter((section) => sectionRank(section) !== Number.POSITIVE_INFINITY);
15912
+ const idle = sections.filter((section) => sectionRank(section) === Number.POSITIVE_INFINITY);
15913
+ return [...[...stateful].sort((left, right) => sectionRank(left) - sectionRank(right) || priorityOf(left) - priorityOf(right)), ...idle];
15592
15914
  }
15593
15915
  //#endregion
15594
15916
  //#region src/app/layouts/sidebar/WorkspaceRowAction.tsx
@@ -15674,7 +15996,10 @@ function ProjectSwitcher({ items, current, attention, compact = false, onPick, o
15674
15996
  workspaces: t("project.group.workspaces"),
15675
15997
  defaultWorkspace: t("project.group.defaultWorkspace"),
15676
15998
  workshop: t("project.group.workshop")
15677
- }, { rankOf: (workspace) => attentionListRank(attention.byWorkspace.get(workspace.workspaceId)) }), [
15999
+ }, { rankOf: (workspace) => {
16000
+ const own = attention.byWorkspace.get(workspace.workspaceId);
16001
+ return own === void 0 ? null : attentionListRank(own);
16002
+ } }), [
15678
16003
  items,
15679
16004
  attention.byWorkspace,
15680
16005
  t
@@ -16501,7 +16826,7 @@ function messagesOf(units) {
16501
16826
  ...face.messages === void 0 ? {} : { messages: face.messages }
16502
16827
  }));
16503
16828
  }
16504
- var COMPONENT_CSS_MARKER = ".wb-activityBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding-top: var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.wb-activityBlock:first-child {\n padding-top: 0;\n border-top: none;\n}\n\n.wb-activityBlockHead {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8);\n}\n\n.wb-activityLine {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-activityLineText {\n flex: none;\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n max-height: var(--wb-len-72);\n overflow-y: auto;\n}\n\n.wb-activityLineAt {\n flex: none;\n margin-left: auto;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-16);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-activityLine > .wb-activityLineAt,\n.wb-activityLine > .wb-activityLineActions {\n margin-left: auto;\n}\n\n.wb-activityLine > .wb-activityLineAt + .wb-activityLineActions {\n margin-left: 0;\n}\n\n.wb-activityLineActions {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n.wb-activityActionFailed {\n color: var(--dsw-alias-state-error-primary);\n}\n.wb-note {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-problem {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalCommand {\n max-width: 100%;\n}\n.wb-approvalPlan {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-approvalHint {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n.wb-approvalRows {\n display: grid;\n grid-template-columns: minmax(var(--wb-len-56), auto) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-2);\n align-items: baseline;\n margin: 0;\n}\n.wb-approvalRow {\n display: contents;\n}\n.wb-approvalLabel {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n.wb-approvalValue {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalWarn {\n color: var(--dsw-alias-label-secondary);\n}\n.wb-cardHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-8) var(--wb-card-gutter);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-cardTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-cardMeta {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-cardMeta::before {\n content: '\\00b7';\n margin-right: var(--wb-len-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen ~ .wb-cardRefresh {\n margin-left: 0;\n}\n\n.wb-cardOpen:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh {\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardRefresh:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-cardGear {\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-3);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardGear:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n.wb-card {\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-bg-layer-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n flex: none;\n}\n.wb-cardBody {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-card-gutter);\n font-size: var(--dsw-font-xxs-12-font-size);\n}\n.wb-cardBleed {\n margin-inline: calc(-1 * var(--wb-card-gutter));\n}\n._anchor_yq4s2_1 {\n display: contents;\n}\n.wb-spinner {\n display: inline-flex;\n align-items: center;\n flex: none;\n}\n.wb-choiceMenu {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n background: transparent;\n}\n\n.wb-choiceMenu[data-variant='boxed'] {\n padding: var(--wb-len-4);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-choiceOption {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-choiceOptionOn {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-checkbox {\n position: absolute;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.wb-checkboxBox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xs);\n corner-shape: round;\n color: var(--dsw-alias-label-primary-foreground);\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-choiceOption:hover .wb-checkboxBox {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-checkbox:checked + .wb-checkboxBox {\n border-color: var(--dsw-alias-brand-primary);\n background: var(--dsw-alias-brand-primary);\n}\n\n.wb-checkbox:disabled + .wb-checkboxBox {\n cursor: default;\n}\n\n.wb-checkbox:focus-visible + .wb-checkboxBox {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n.wb-choiceOption:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-choiceOption:has(:disabled) {\n cursor: default;\n opacity: 0.5;\n}\n\n.wb-choiceOption:has(:disabled),\n.wb-choiceOption:has(:disabled):hover {\n background: transparent;\n}\n\n.wb-choiceLabel {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.wb-choiceLabelText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceLabel:has(.wb-choiceDescription) .wb-choiceLabelText {\n overflow: visible;\n white-space: normal;\n overflow-wrap: anywhere;\n}\n\n.wb-choiceDescription {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n.wb-choiceLoading {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-choiceLoadingText {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceEmpty {\n display: flex;\n align-items: center;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio {\n appearance: none;\n -webkit-appearance: none;\n flex: none;\n box-sizing: border-box;\n width: var(--wb-len-12);\n height: var(--wb-len-12);\n margin: 0;\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: 50%;\n corner-shape: round;\n background-color: transparent;\n cursor: pointer;\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-radio:not(:checked):hover {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio:checked {\n border-color: var(--dsw-alias-brand-primary);\n background-image: radial-gradient(\n circle at center,\n var(--dsw-alias-brand-primary) 0 3px,\n transparent 3px\n );\n}\n\n.wb-radio:disabled {\n cursor: default;\n}\n\n.wb-radio:focus-visible {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.wb-formActions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n}\n\n.wb-formActionDanger {\n color: var(--dsw-alias-state-error-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-error-primary) 8%, transparent);\n}\n.wb-rows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n}\n.wb-rows > :not(.wb-row) {\n grid-column: 1 / -1;\n}\n.wb-row {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: baseline;\n gap: var(--wb-len-8);\n padding: var(--wb-len-4) 0;\n}\n.wb-row + .wb-row {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.wb-rowKey {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-rowValue {\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-rows > .wb-row {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-rows > .wb-row {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-confirmBar {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n width: 100%;\n box-sizing: border-box;\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.wb-confirmBarTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 600;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-confirmBarHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n.wb-field {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n.wb-fieldLabel {\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-fieldHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-field:has(:disabled) .wb-fieldLabel {\n opacity: 0.4;\n}\n.wb-formRows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-12);\n}\n\n.wb-formRows > :not(.wb-formRow) {\n grid-column: 1 / -1;\n}\n\n.wb-formRow {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: center;\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-8);\n}\n\n.wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n align-items: stretch;\n gap: var(--wb-len-6);\n}\n\n.wb-formRows > .wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n}\n\n.wb-formLabel {\n justify-self: start;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: nowrap;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formLabel {\n white-space: normal;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formHint,\n.wb-formRow[data-layout='stacked'] .wb-formProblem {\n grid-column: 1 / -1;\n}\n\n.wb-formControl {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n\n.wb-formControl\n > :where(\n .wb-selectAnchor,\n .wb-choiceMenu,\n input:not(\n [type='checkbox'],\n [type='radio'],\n [type='button'],\n [type='submit'],\n [type='reset'],\n [type='image'],\n [type='color'],\n [type='range']\n ),\n select,\n textarea\n ) {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n}\n\n.wb-formHint {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-formProblem {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(.wb-formProblem) .wb-formLabel {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(:disabled) .wb-formLabel {\n opacity: 0.4;\n}\n\n.wb-formRows > .wb-formRow {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-formRows > .wb-formRow {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-form {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n width: 100%;\n}\n:where(.wb-link) {\n margin-left: var(--wb-len-2);\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: baseline;\n}\n\n:where(.wb-link:hover) {\n text-decoration: underline;\n}\n\n:where(.wb-link:focus-visible) {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n.wb-longTask {\n padding-top: var(--wb-len-12);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n.wb-longTaskHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n}\n\n.wb-longTaskLink {\n flex: none;\n}\n\n.wb-longTaskHeadline {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-longTaskProblem {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-longTaskDump {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-longTaskDump pre {\n margin: var(--wb-len-4) 0 0;\n max-height: var(--wb-len-220);\n overflow: auto;\n}\n\n.wb-longTaskStop {\n display: inline-flex;\n flex: none;\n align-items: center;\n align-self: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n padding: 0;\n margin-left: auto;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-specific-menu);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n.wb-longTaskStop:hover:not(:disabled),\n.wb-longTaskStop:focus-visible {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStop:disabled {\n cursor: default;\n}\n\n.wb-longTaskStopArmed,\n.wb-longTaskStopArmed:hover:not(:disabled),\n.wb-longTaskStopArmed:focus-visible {\n gap: var(--wb-len-4);\n width: auto;\n padding: 0 var(--wb-len-7);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStopLabel {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n.wb-longTaskStopWhy {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-centered.wb-centeredCompact {\n flex: none;\n min-height: 0;\n gap: var(--wb-len-8);\n padding: var(--wb-len-20) var(--wb-len-16);\n}\n\n.wb-centered.wb-centeredCompact .wb-centeredHero {\n margin-bottom: var(--wb-len-4);\n}\n\n.wb-skeleton {\n display: flex;\n flex-direction: column;\n}\n\n.wb-skeletonRow {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-skeletonRow + .wb-skeletonRow::before {\n content: '';\n align-self: stretch;\n height: var(--wb-len-0-5);\n margin: 0 var(--wb-len-8) var(--wb-len-neg-0-5);\n background: var(--dsw-alias-border-l2);\n}\n\n.wb-skeletonBar {\n display: block;\n height: var(--wb-len-13);\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-bg-skeleton);\n animation: wb-skeleton-pulse var(--wb-dur-1-4) var(--ds-ease-in-out) infinite;\n}\n\n.wb-skeletonBarTitle {\n width: 62%;\n}\n\n.wb-skeletonBarMeta {\n width: 32%;\n height: var(--wb-len-10);\n}\n\n.wb-skeletonRow:nth-child(2n) .wb-skeletonBarTitle {\n width: 74%;\n}\n\n.wb-skeletonRow:nth-child(3n) .wb-skeletonBarTitle {\n width: 52%;\n}\n\n@keyframes wb-skeleton-pulse {\n 50% {\n opacity: 0.45;\n }\n}\n\n.wb-centered {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: var(--wb-len-14);\n flex: 1;\n min-height: var(--wb-len-240);\n padding: 0 var(--wb-len-24) var(--wb-len-24);\n text-align: center;\n}\n\n.wb-centeredHero {\n display: flex;\n margin-bottom: var(--wb-len-16);\n color: var(--dsw-alias-label-dimmed);\n}\n\n.wb-centeredTitle {\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-centeredHint {\n max-width: var(--wb-len-300);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-centeredDetail {\n max-width: var(--wb-len-320);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-dimmed);\n word-break: break-all;\n}\n\n.wb-centeredAction {\n display: flex;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n@media (prefers-reduced-motion: reduce) {\n .wb-skeletonBar {\n animation: none;\n }}\n.wb-textField {\n box-sizing: border-box;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n outline: none;\n}\n\n.wb-textField:focus {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-textField:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-textField[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-textField[aria-invalid='true']:focus {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n:where(.wb-textField) {\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n}\n:where(.wb-selectTrigger) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n text-align: left;\n cursor: pointer;\n}\n\n.wb-selectTrigger:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true']:focus-visible {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-selectLoading:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: none;\n background: transparent;\n font-size: var(--wb-font-row);\n}\n\n.wb-selectGhost:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-selectGhost:focus-visible {\n outline: var(--dsw-focus-ring-width) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n border-color: transparent;\n box-shadow: none;\n}\n\n.wb-selectIconOnly {\n width: var(--wb-len-36);\n height: var(--wb-len-36);\n min-height: 0;\n gap: 0;\n padding: 0;\n justify-content: center;\n}\n\n.wb-selectIconOnly .wb-selectIcon {\n width: 100%;\n height: 100%;\n}\n\n.wb-selectAnchor {\n display: block;\n width: 100%;\n}\n\n.wb-selectIcon {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectValue {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n.wb-selectPlaceholder {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectChevron {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-caption);\n}\n\n.wb-selectMenu {\n min-width: var(--wb-len-240);\n max-width: var(--wb-len-360);\n max-height: min(var(--wb-len-320), calc(100vh - var(--wb-len-24)));\n}\n\n:where(.wb-selectSearch) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n.wb-selectSearch:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectSearch.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: 0.5px solid var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-selectSearch.wb-selectGhost:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: none;\n}\n\n.wb-selectSearchIcon {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-textField.wb-selectSearchInput {\n flex: 1;\n min-width: 0;\n min-height: 0;\n padding: 0;\n border: none;\n background: transparent;\n}\n\n.wb-textField.wb-selectSearchInput:focus {\n box-shadow: none;\n}\n\n.wb-selectFallback {\n width: 100%;\n}\n\n.wb-selectHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\nsection.wb-settings {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-len-16);\n border: 0;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-settings-card-fill);\n}\n.wb-settingsHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n.wb-settings .wb-settingsTitle {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-strong-14-font-size);\n line-height: var(--wb-line-24);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n.wb-stack {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n min-height: 0;\n}\n.wb-stateBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-stateBlockTitle {\n margin: 0;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n.wb-stateBlockHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-stateBlockActions {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n.wb-stateBlockResolving {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._marketList_1vpw3_1 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._marketRow_1vpw3_10 {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: center;\n column-gap: var(--wb-len-14);\n row-gap: var(--wb-len-4);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-lg);\n}\n\n._marketIcon_1vpw3_20 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_1vpw3_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_1vpw3_39 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketStatus_1vpw3_48 {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketStateText_1vpw3_58 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_1vpw3_62 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_1vpw3_66 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketName_1vpw3_39 ._marketVersion_1vpw3_72 {\n margin-left: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n}\n\n._marketVersion_1vpw3_72 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_1vpw3_72::before {\n content: '';\n display: inline-block;\n width: var(--wb-len-1);\n height: var(--wb-len-10);\n margin: 0 var(--wb-len-8) 0 var(--wb-len-2);\n vertical-align: -1px;\n background: var(--dsw-alias-border-l2);\n}\n\n._marketLocalTag_1vpw3_94 {\n margin-left: var(--wb-len-8);\n padding: 0 var(--wb-len-6);\n border: var(--wb-len-1) solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-caption);\n}\n\n._marketEnd_1vpw3_105 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_1vpw3_112 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_1vpw3_112::before {\n content: '';\n width: 0;\n height: var(--wb-len-14);\n border-left: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketActions_1vpw3_125 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_1vpw3_131 {\n color: var(--dsw-alias-state-warn-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._marketSelfDivider_1vpw3_137 {\n height: 0;\n margin-top: calc(0px - var(--wb-len-16));\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketSection_1vpw3_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_1vpw3_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_1vpw3_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_1vpw3_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_1vpw3_169 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionAction_1vpw3_175 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n margin-left: auto;\n min-width: 0;\n}\n\n._marketSectionQuiet_1vpw3_183 ._marketSectionTitle_1vpw3_163 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_1vpw3_183 ._marketName_1vpw3_39 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_1vpw3_183 ._marketIcon_1vpw3_20 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketProgress_1vpw3_195 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-height: var(--wb-len-32);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketNote_1vpw3_205 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-warn-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailure_1vpw3_212 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailureSeat_1vpw3_219 {\n grid-column: 2 / -1;\n min-width: 0;\n}\n\n._marketEmpty_1vpw3_224 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_1vpw3_229 {\n box-sizing: border-box;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-32);\n padding: 0 clamp(var(--wb-len-24), 4vw, var(--wb-len-48)) var(--wb-len-48);\n overflow-x: hidden;\n overflow-y: auto;\n color: var(--dsw-alias-label-primary);\n}\n\n._marketPage_1vpw3_229 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_1vpw3_247 {\n box-sizing: border-box;\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-16);\n padding-top: var(--wb-len-28);\n}\n\n._marketPageTitle_1vpw3_255 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_1vpw3_260 {\n margin: var(--wb-len-4) 0 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketPageTools_1vpw3_266 {\n flex: none;\n align-self: center;\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--wb-len-16);\n}\n\n._marketPanel_1vpw3_275 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_1vpw3_275[hidden] {\n display: none;\n}\n\n._marketTabs_1vpw3_285 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_1vpw3_290 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketAddButton_1vpw3_295 {\n height: var(--wb-len-32);\n padding: 0 var(--wb-len-12);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n border-radius: var(--dsw-radius-md);\n}\n\n._marketEmpty_1vpw3_224 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) var(--wb-len-16);\n text-align: center;\n}\n\n._marketEmptyTitle_1vpw3_312 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverPage_1vpw3_317 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_1vpw3_324 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_1vpw3_331 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_1vpw3_337 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_1vpw3_342 {\n min-width: 0;\n max-width: var(--wb-len-240);\n margin-left: calc(0px - var(--wb-len-8));\n font-weight: 500;\n}\n\n._discoverMarketName_1vpw3_349 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_1vpw3_355 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_1vpw3_360 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_1vpw3_365 {\n flex: none;\n}\n\n._discoverSearch_1vpw3_369 {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 var(--wb-len-120);\n min-width: var(--wb-len-120);\n}\n\n._discoverSearchField_1vpw3_377 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_1vpw3_382 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_1vpw3_377 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_1vpw3_369 ._discoverSearchClear_1vpw3_391 {\n position: absolute;\n top: 50%;\n inset-inline-end: var(--wb-len-4);\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-tertiary);\n transform: translateY(-50%);\n}\n\n._discoverSearchClear_1vpw3_391:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_1vpw3_331 {\n display: grid;\n grid-template-columns: minmax(0, auto) minmax(var(--wb-len-120), 1fr) auto;\n grid-template-areas:\n 'market search refresh'\n 'labels sort sort';\n }\n\n ._discoverMarket_1vpw3_337 {\n grid-area: market;\n }\n\n ._discoverMarketButton_1vpw3_342 {\n margin-left: 0;\n }\n\n ._discoverLabels_1vpw3_355 {\n grid-area: labels;\n }\n\n ._discoverSearch_1vpw3_369 {\n grid-area: search;\n }\n\n ._discoverSort_1vpw3_360 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_1vpw3_365 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_1vpw3_442 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_1vpw3_449 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._discoverCard_1vpw3_458 {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n margin: 0 calc(0px - var(--wb-len-8));\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCard_1vpw3_458:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_1vpw3_472 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverArtworkImage_1vpw3_484 {\n object-fit: contain;\n}\n\n._discoverMain_1vpw3_488 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-2);\n min-width: 0;\n}\n\n._discoverTitleRow_1vpw3_496 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverCardOpen_1vpw3_504 {\n max-width: 100%;\n padding: 0;\n border: 0;\n background: transparent;\n color: inherit;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n cursor: pointer;\n}\n\n._discoverCardOpen_1vpw3_504::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_1vpw3_504:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_1vpw3_504:focus-visible::after {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverStrong_1vpw3_535 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_1vpw3_541 {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverMeta_1vpw3_550 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._discoverMuted_1vpw3_557 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_1vpw3_563 {\n position: relative;\n z-index: var(--wb-z-10);\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverUpdateAction_1vpw3_572 {\n color: var(--dsw-alias-state-warn-primary);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._discoverBlocked_1vpw3_577 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_1vpw3_582 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) 0;\n text-align: center;\n}\n\n._discoverEmptyTitle_1vpw3_591 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_1vpw3_582 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_1vpw3_601 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_1vpw3_607 {\n align-self: flex-start;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n padding: 0;\n border: 0;\n background: 0 0;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n font-size: var(--wb-font-12-5);\n cursor: pointer;\n}\n\n._discoverCrumb_1vpw3_607:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_1vpw3_607:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverCrumbIcon_1vpw3_630 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_1vpw3_634 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverDetailTitle_1vpw3_640 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_1vpw3_646 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._discoverDetailPanel_1vpw3_653 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_1vpw3_660 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_1vpw3_665 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_1vpw3_670 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_1vpw3_675 {\n margin: var(--wb-len-16) 0 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverSection_1vpw3_681 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n margin-top: var(--wb-len-16);\n}\n\n._discoverSectionTitle_1vpw3_688 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_1vpw3_694 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_1vpw3_699 {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--wb-len-16);\n min-height: var(--wb-len-44);\n padding: var(--wb-len-8) var(--wb-len-2);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverFactKind_1vpw3_709 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_1vpw3_715 {\n min-width: 0;\n margin: 0;\n text-align: end;\n overflow-wrap: anywhere;\n font: var(--dsw-font-xs-13);\n}\n\n._discoverCode_1vpw3_723 {\n padding: var(--wb-len-2) var(--wb-len-6);\n border-radius: var(--wb-radius-6);\n background: var(--dsw-alias-bg-module-platform);\n font-family: var(--ds-font-family-code);\n font-size: var(--dsw-font-xxs-12-font-size);\n box-decoration-break: clone;\n}\n\n._discoverTags_1vpw3_732 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_1vpw3_739 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_1vpw3_739:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_1vpw3_749 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_1vpw3_757 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverVersionName_1vpw3_765 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_1vpw3_770 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverFailure_1vpw3_779 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_1vpw3_785 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverNotice_1vpw3_794 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverNotice_1vpw3_794 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_1vpw3_812 {\n align-self: center;\n}\n\n._discoverTransport_1vpw3_816 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportHead_1vpw3_822 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportTitle_1vpw3_829 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportHead_1vpw3_822 ._discoverTransportKind_1vpw3_834 {\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportHead_1vpw3_822 ._discoverTransportState_1vpw3_839 {\n margin-left: 0;\n}\n\n._discoverTransportHead_1vpw3_822 > :last-child {\n margin-left: auto;\n}\n\n._discoverTransportRows_1vpw3_847 {\n display: flex;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportRow_1vpw3_847 {\n display: flex;\n flex: 1;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n}\n\n._discoverTransportRow_1vpw3_847:hover {\n border-color: var(--dsw-alias-border-l3);\n}\n\n._discoverTransportRow_1vpw3_847:has(._discoverTransportRadio_1vpw3_868:checked) {\n border-color: var(--dsw-alias-label-primary);\n}\n\n._discoverTransportRow_1vpw3_847:has(._discoverTransportRadio_1vpw3_868:focus-visible) {\n outline: 2px solid var(--dsw-alias-label-primary);\n outline-offset: 1px;\n}\n\n._discoverTransportRadio_1vpw3_868 {\n flex: none;\n margin: 0;\n}\n\n._discoverTransportKind_1vpw3_834 {\n flex: none;\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportState_1vpw3_839 {\n flex: none;\n margin-left: auto;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportRow_1vpw3_847[data-state='ok'] ._discoverTransportState_1vpw3_839 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._discoverTransportRow_1vpw3_847[data-state='auth'] ._discoverTransportState_1vpw3_839 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverTransportRow_1vpw3_847[data-state='unreachable'] ._discoverTransportState_1vpw3_839,\n._discoverTransportRow_1vpw3_847[data-state='unknown'] ._discoverTransportState_1vpw3_839 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverTransportCustom_1vpw3_908 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportInput_1vpw3_914 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverInstallBar_1vpw3_919 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverInstallText_1vpw3_930 {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDialog_1vpw3_936 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_1vpw3_940 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_1vpw3_946 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_1vpw3_954 {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--wb-len-12);\n padding: var(--wb-len-10) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverSourceConfirm_1vpw3_963 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_1vpw3_969 {\n display: flex;\n flex: 1;\n align-items: flex-start;\n gap: var(--wb-len-10);\n min-width: 0;\n cursor: pointer;\n}\n\n._discoverSourceRadio_1vpw3_978 {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._discoverSourceMain_1vpw3_986 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._discoverSourceHead_1vpw3_994 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverSourceUrl_1vpw3_1002 {\n display: block;\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverSourceMore_1vpw3_1012 {\n flex: none;\n}\n\n._discoverSourceLoading_1vpw3_1016 {\n display: flex;\n flex: none;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n white-space: nowrap;\n}\n\n._discoverSourceHint_1vpw3_1026 {\n display: flex;\n flex-basis: 100%;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverSourceHint_1vpw3_1026 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_1vpw3_1040 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_1vpw3_1046 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_1vpw3_1052 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_1vpw3_1057 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_1vpw3_1063 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_1vpw3_1068 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_1vpw3_1074 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_1vpw3_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_1vpw3_472._discoverSkeletonFill_1vpw3_1074 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_1vpw3_1083 {\n display: block;\n height: var(--wb-len-12);\n margin: var(--wb-len-4) 0;\n border-radius: var(--dsw-radius-xs);\n}\n\n._discoverSkeletonTitle_1vpw3_1090 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_1vpw3_1094 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_1vpw3_1 {\n 0% {\n opacity: 1;\n }\n 40% {\n opacity: 0.6;\n }\n 80%,\n to {\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._discoverSkeletonFill_1vpw3_1074 {\n animation: none;\n }\n}\n\n._block_mxnbc_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-2) 0 var(--wb-len-8);\n min-width: 0;\n}\n\n._head_mxnbc_9 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._title_mxnbc_16 {\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._fact_mxnbc_22 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._actions_mxnbc_30 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-2);\n margin-left: calc(-1 * var(--wb-len-8));\n}\n\n._hint_mxnbc_38 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._output_mxnbc_44 {\n margin-top: var(--wb-len-2);\n min-width: 0;\n}\n._check_1g6tv_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n min-width: 0;\n}\n\n._status_1g6tv_8 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-caption);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n._button_1g6tv_15 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n}\n\n._icon_1g6tv_22 {\n display: inline-flex;\n}\n\n@media (max-width: 720px) {\n ._status_1g6tv_8 {\n display: none;\n }\n}\n._foot_1ud1j_1 {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._footText_1ud1j_13 {\n flex: 1;\n min-width: 0;\n}\n\n._footTextMd_1ud1j_18 {\n flex: 1;\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n._wide_1lv8f_1 {\n justify-content: center;\n width: 100%;\n height: var(--wb-len-40);\n border-radius: var(--dsw-radius-md);\n}\n\n._dialog_1lv8f_8 {\n width: min(var(--wb-len-560), 100%);\n max-height: min(var(--wb-len-800), 100%);\n}\n\n._content_1lv8f_13 {\n min-height: 0;\n overflow: auto;\n}\n\n._stack_1lv8f_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._body_1lv8f_25 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._field_1lv8f_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._input_1lv8f_39 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-14);\n}\n\n._registryField_1lv8f_45 {\n height: var(--wb-len-32);\n margin-left: var(--wb-len-26);\n padding: 0 var(--wb-len-10);\n}\n\n._options_1lv8f_51 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8) var(--wb-len-12);\n}\n\n._guideToggle_1lv8f_59 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-4);\n align-self: flex-start;\n margin-top: var(--wb-len-4);\n padding: 0;\n border: 0;\n background: transparent;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._guideToggle_1lv8f_59:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._guideToggle_1lv8f_59 svg,\n._registryToggle_1lv8f_78 svg {\n transition: transform var(--wb-dur-0-12) ease;\n}\n\n._guideToggle_1lv8f_59[aria-expanded='true'] svg,\n._registryToggle_1lv8f_78[aria-expanded='true'] svg {\n transform: rotate(180deg);\n}\n\n._registryWrap_1lv8f_87 {\n position: relative;\n flex: none;\n}\n\n._registryToggle_1lv8f_78 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n height: var(--wb-len-26);\n padding: 0 var(--wb-len-8) 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n font: inherit;\n font-size: var(--wb-font-12-5);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._registryToggle_1lv8f_78:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._registryToggle_1lv8f_78:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n._registryToggle_1lv8f_78[aria-expanded='true'] {\n border-color: var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n._registryChosen_1lv8f_121 {\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n._registry_1lv8f_45 {\n position: fixed;\n z-index: var(--wb-z-1100);\n box-sizing: border-box;\n width: min(var(--wb-len-440), 100vw - var(--wb-len-24));\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-12);\n border: 0;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-2);\n --dsw-elevation-stroke-color: var(--dsw-alias-border-l3);\n box-shadow: var(--dsw-elevation-prominent);\n}\n\n._registryOption_1lv8f_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid transparent;\n border-radius: var(--dsw-radius-lg);\n cursor: pointer;\n}\n\nlabel._registryOption_1lv8f_143 {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--wb-len-10);\n}\n\n._registryPick_1lv8f_159 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n cursor: pointer;\n}\n\n._registryOption_1lv8f_143[data-checked='true'] {\n border-color: color-mix(in srgb, var(--dsw-alias-brand-primary) 40%, transparent);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._registryOption_1lv8f_143 input[type='radio'] {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._registryTitle_1lv8f_179 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n font: var(--dsw-font-xs-13);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n._registryHint_1lv8f_189 {\n margin-left: var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._inputError_1lv8f_197 {\n margin: var(--wb-len-neg-4) 0 0 var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._guide_1lv8f_59 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._guideList_1lv8f_214 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._guideItem_1lv8f_223 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0;\n}\n\n._guideIndex_1lv8f_230 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n border-radius: var(--wb-radius-pill);\n corner-shape: round;\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._guideMain_1lv8f_244 {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: 0;\n min-width: 0;\n}\n\n._guideTitle_1lv8f_252 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n\n._guideHint_1lv8f_258 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._guideExample_1lv8f_264 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._guideExample_1lv8f_264 code {\n font-family: var(--dsw-font-mono, monospace);\n}\n\n._guideExampleLabel_1lv8f_274 {\n color: var(--dsw-alias-label-caption);\n}\n\n._footer_1lv8f_278 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-20);\n width: 100%;\n}\n\n._hero_1lv8f_285 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0 var(--wb-len-4);\n text-align: center;\n}\n\n._heroIcon_1lv8f_294 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-44);\n height: var(--wb-len-44);\n color: var(--dsw-alias-label-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='done'] {\n color: var(--dsw-alias-state-success-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='error'] {\n color: var(--dsw-alias-state-warn-label);\n}\n\n._pendingTitle_1lv8f_311 {\n margin: 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 500;\n color: var(--dsw-alias-label-secondary);\n}\n\n._wizardTitle_1lv8f_319 {\n margin: 0;\n font-size: var(--wb-font-18);\n line-height: var(--wb-len-26);\n font-weight: 600;\n}\n\n._subject_1lv8f_326 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n text-align: center;\n}\n\n._subjectName_1lv8f_337 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n overflow-wrap: anywhere;\n}\n\n._subjectMeta_1lv8f_343,\n._subjectDesc_1lv8f_344 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._result_1lv8f_351,\n._resultWarn_1lv8f_352 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._resultWarn_1lv8f_352 {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n}\n\n._resultMeta_1lv8f_365 {\n margin: 0;\n padding: 0 var(--wb-len-12);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._approval_1lv8f_373 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-state-warn-primary);\n border-radius: var(--dsw-radius-lg);\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._approvalTitle_1lv8f_383 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._approvalText_1lv8f_390 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._approvalCaution_1lv8f_396 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n font-weight: 600;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._note_1lv8f_403 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._noteWarn_1lv8f_410 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._noteError_1lv8f_414 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._problem_1lv8f_418 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._detailLabel_1lv8f_425 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._detail_1lv8f_425 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-3);\n font-family: var(--dsw-font-mono, monospace);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n._note_1enlz_1 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._note_1enlz_1 > svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n._slot_1t7dx_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1t7dx_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1t7dx_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1t7dx_31 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._paused_1t7dx_35 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._trouble_1t7dx_39 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._pulse_1t7dx_43 {\n animation: _wb-debug-breathe_1t7dx_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-debug-breathe_1t7dx_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1t7dx_43 {\n animation: none;\n }\n}\n\n._entry_1t7dx_64 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1t7dx_71 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1t7dx_78 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1t7dx_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: 0;\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n}\n\n._act_1t7dx_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1t7dx_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._actStop_1t7dx_110:hover,\n._actStop_1t7dx_110:focus-visible {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._actArmed_1t7dx_115,\n._actArmed_1t7dx_115:hover,\n._actArmed_1t7dx_115:focus-visible {\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n width: auto;\n color: var(--dsw-alias-state-error-primary);\n gap: var(--wb-len-4);\n padding: 0 var(--wb-len-7);\n}\n\n._actLabel_1t7dx_125 {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._entryLine_1t7dx_131 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1t7dx_138 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1t7dx_150 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1t7dx_156 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1t7dx_162 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._slot_1gkj9_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1gkj9_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1gkj9_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1gkj9_31 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._done_1gkj9_35 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._pulse_1gkj9_39 {\n animation: _wb-record-breathe_1gkj9_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-record-breathe_1gkj9_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1gkj9_39 {\n animation: none;\n }\n}\n\n._entry_1gkj9_60 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1gkj9_67 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1gkj9_74 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1gkj9_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-22);\n padding: 0 var(--wb-len-7);\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._act_1gkj9_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1gkj9_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._entryLine_1gkj9_108 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1gkj9_115 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1gkj9_127 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1gkj9_133 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1gkj9_139 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._item_lyox9_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n}\n\n._item_lyox9_1 + ._item_lyox9_1 {\n padding-top: var(--wb-len-14);\n border-top: var(--wb-len-0-5) solid var(--dsw-alias-settings-card-stroke);\n}\n\n._head_lyox9_12 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._title_lyox9_19 {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._description_lyox9_31 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._rows_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._row_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-settings-card-stroke);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-settings-card-fill);\n}\n\n._head_85r3w_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._pick_85r3w_27 {\n flex: 0 1 auto;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._pick_85r3w_27 > span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._code_85r3w_39 {\n --dsl-code-block-background: var(--dsw-alias-bg-layer-1);\n margin: 0;\n}\n\n._missing_85r3w_44,\n._conflict_85r3w_45 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-warn-primary);\n}\n._body_11oac_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._sources_11oac_7 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._sourcesLabel_11oac_14 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\nbutton._sourceOn_11oac_19 {\n border-color: var(--dsw-alias-brand-primary);\n}\n._sourceCount_11oac_22 {\n margin-left: var(--wb-len-4);\n font-variant-numeric: tabular-nums;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._reading_11oac_29 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._status_11oac_35 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failure_11oac_45 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n column-gap: var(--wb-len-10);\n row-gap: var(--wb-len-2);\n color: var(--dsw-alias-state-error-primary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n\n._failureTitle_11oac_55 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._failureHint_11oac_62 {\n grid-column: 1;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failureAction_11oac_67 {\n grid-column: 2;\n grid-row: 1;\n justify-self: end;\n}\n\n._foot_11oac_73 {\n display: flex;\n justify-content: flex-end;\n}\n._body_lox98_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._field_lox98_7 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._input_lox98_13 {\n width: 100%;\n}\n\n._label_lox98_17 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\n._hint_lox98_22 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._copy_lox98_28 {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wb-len-8) var(--wb-len-16);\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n._copy_lox98_28 legend {\n padding: 0;\n margin-bottom: var(--wb-len-6);\n}\n\n._actions_lox98_42 {\n display: flex;\n justify-content: flex-end;\n}\n\n._commandLabel_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n}\n\n._command_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-6) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow-wrap: anywhere;\n}\n._body_zi2j5_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._lead_zi2j5_7 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._title_zi2j5_14 {\n font-size: var(--wb-font-18);\n line-height: var(--wb-line-24);\n}\n._hint_zyzt3_1[hidden],\n._actions_zyzt3_2[hidden],\n._progress_zyzt3_3[hidden],\n._commandRow_zyzt3_4[hidden],\n._bridge_zyzt3_5[hidden],\n._raw_zyzt3_6[hidden] {\n display: none;\n}\n\n._gate_zyzt3_10 {\n position: fixed;\n inset: 0;\n z-index: var(--wb-z-top);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wb-len-24);\n background: var(--dsw-alias-bg-base);\n}\n\n._card_zyzt3_21 {\n width: 100%;\n max-width: var(--wb-len-420);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-16);\n text-align: center;\n}\n\n._card_zyzt3_21:has(._actions_zyzt3_2:not([hidden])),\n._card_zyzt3_21:has(._bridge_zyzt3_5:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_zyzt3_36 {\n margin: 0;\n font-size: var(--dsw-font-base-16-font-size);\n line-height: var(--wb-line-24);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._steps_zyzt3_51 {\n list-style: none;\n margin: var(--wb-len-6) 0 0;\n padding: 0;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n text-align: left;\n}\n\n._step_zyzt3_51 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-6) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._step_zyzt3_51[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_zyzt3_78 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-14);\n height: var(--wb-len-14);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._step_zyzt3_51[data-status='ok'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_zyzt3_51[data-status='warn'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_zyzt3_51[data-status='failed'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_zyzt3_103 {\n flex: none;\n}\n\n._detail_zyzt3_107 {\n margin-left: auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._progress_zyzt3_3 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._elapsed_zyzt3_125 {\n flex: none;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._error_zyzt3_133 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n max-height: var(--wb-len-120);\n overflow: auto;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n white-space: pre-wrap;\n word-break: break-all;\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._commandRow_zyzt3_4 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n margin: 0 0 var(--wb-len-8);\n padding-right: var(--wb-len-4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._copy_zyzt3_159 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._copy_zyzt3_159:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_zyzt3_4 {\n flex: 1;\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-primary);\n}\n\n._buttons_zyzt3_192 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_zyzt3_199 {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n justify-content: center;\n background: var(--dsw-alias-bg-base);\n}\n\n._button_zyzt3_192 {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n\n._button_zyzt3_192:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_zyzt3_192:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_zyzt3_2,\n._bridge_zyzt3_5 {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-14) var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-1);\n text-align: left;\n}\n\n._fixTitle_zyzt3_250 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._actions_zyzt3_2 ._hint_zyzt3_1,\n._bridge_zyzt3_5 ._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._actions_zyzt3_2 ._commandRow_zyzt3_4,\n._bridge_zyzt3_5 ._commandRow_zyzt3_4 {\n margin: 0;\n}\n\n._actions_zyzt3_2 ._buttons_zyzt3_192,\n._bridge_zyzt3_5 ._buttons_zyzt3_192 {\n justify-content: flex-start;\n}\n\n._raw_zyzt3_6 {\n box-sizing: border-box;\n width: 100%;\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._rawSummary_zyzt3_286 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_zyzt3_2 ._error_zyzt3_133,\n._bridge_zyzt3_5 ._error_zyzt3_133 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_zyzt3_296 {\n margin: 0;\n padding-left: var(--wb-len-18);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._bridgeLine_zyzt3_296 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_zyzt3_313 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_zyzt3_313::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_zyzt3_313:hover {\n text-decoration: underline;\n}\n\n._loading_zyzt3_327 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_zyzt3_327[hidden] {\n display: none;\n}\n\n._loadingMotion_zyzt3_336 {\n transform-origin: center;\n animation: _wb-spin_zyzt3_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_zyzt3_341,\n._loadingArc_zyzt3_342 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_zyzt3_341 {\n opacity: 0.25;\n}\n\n._loadingArc_zyzt3_342 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_zyzt3_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_zyzt3_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_zyzt3_1 {\n 0% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 24 150;\n stroke-dashoffset: -6;\n }\n to {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._loadingMotion_zyzt3_336,\n ._loadingArc_zyzt3_342 {\n animation: none;\n }\n}\n._changelog_1q6pj_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-10);\n min-width: 0;\n}\n\n._changelogTitle_1q6pj_9 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._changelogMissing_1q6pj_15 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._changelogBody_1q6pj_21 {\n max-height: var(--wb-len-320);\n overflow: auto;\n padding: var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n}\n._group_1hxis_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n}\n\n._button_1hxis_7 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n color: var(--dsw-alias-label-secondary);\n}\n\n._button_1hxis_7:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._active_1hxis_19 {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._icon_1hxis_23 {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n._icon_1hxis_23 svg {\n display: block;\n width: var(--wb-len-15);\n height: var(--wb-len-15);\n}\n\n._mirror_1hxis_35 {\n transform: scaleX(-1);\n}\n._stripTabs_1dqp4_1 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n min-width: 0;\n overflow: hidden;\n}\n\n._tab_1dqp4_9 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n font: inherit;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-16);\n max-width: 100%;\n}\n\n._tabActive_1dqp4_25 {\n color: var(--dsw-alias-label-primary);\n}\n\n._tabQuiet_1dqp4_29 {\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._tabQuiet_1dqp4_29:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._tabTitle_1dqp4_39 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._sep_1dqp4_49 {\n flex: none;\n color: var(--dsw-alias-label-dimmed);\n}\n._actions_smeq7_1 {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: var(--wb-len-8);\n max-width: 100%;\n}\n\n._action_smeq7_1 {\n flex: none;\n white-space: nowrap;\n}\n\n@container (max-width: 340px) {\n ._actions_smeq7_1 {\n flex-direction: column;\n width: var(--wb-len-220);\n max-width: 100%;\n }\n\n ._action_smeq7_1 {\n width: 100%;\n }\n}\n._trigger_15ptp_1 {\n display: flex;\n align-items: center;\n}\n\n._pop_15ptp_6 {\n position: absolute;\n top: calc(var(--wb-len-38) + var(--wb-len-8));\n right: var(--wb-len-6);\n z-index: var(--wb-z-30);\n width: min(var(--wb-len-360), calc(100% - var(--wb-len-12)));\n max-width: calc(100vw - var(--wb-len-48));\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-2);\n box-shadow: var(--dsw-shadow-lv3);\n overflow: hidden;\n}\n\n._head_15ptp_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-10) var(--wb-len-12) var(--wb-len-9) var(--wb-len-14);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._title_15ptp_28 {\n flex: 1;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._rowControls_15ptp_36 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._reset_15ptp_43 {\n flex: none;\n padding: var(--wb-len-3) var(--wb-len-8);\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._reset_15ptp_43:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._reset_15ptp_43:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._list_15ptp_65 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._row_15ptp_36 {\n position: relative;\n display: grid;\n grid-template-columns: 12px minmax(0, 1fr) auto;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-sm);\n cursor: default;\n}\n\n._rowDragging_15ptp_85 {\n cursor: grabbing;\n}\n\n._rowBlocked_15ptp_89 {\n cursor: not-allowed;\n}\n\n._listDragging_15ptp_93 ._rowControls_15ptp_36 {\n pointer-events: none;\n}\n\n._row_15ptp_36:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._rowOff_15ptp_101 {\n opacity: 0.55;\n}\n\n._rowOff_15ptp_101:hover {\n opacity: 1;\n}\n\n._rowOver_15ptp_109::before {\n content: '';\n position: absolute;\n top: var(--wb-len-neg-3);\n left: var(--wb-len-8);\n right: var(--wb-len-8);\n height: var(--wb-len-2);\n background: var(--dsw-alias-brand-primary);\n}\n\n._ghost_15ptp_119 {\n position: fixed;\n z-index: var(--wb-z-40);\n pointer-events: none;\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--wb-static-shadow-ghost);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n white-space: nowrap;\n}\n\n._grip_15ptp_134 {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: center;\n color: var(--dsw-alias-label-tertiary);\n user-select: none;\n cursor: grab;\n touch-action: none;\n}\n\n._gripDragging_15ptp_144 {\n cursor: grabbing;\n}\n\n._gripBlocked_15ptp_148 {\n cursor: not-allowed;\n}\n\n._label_15ptp_152 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._name_15ptp_159 {\n min-width: 0;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n\n._error_15ptp_170 {\n margin: 0;\n padding: 0 var(--wb-len-14) var(--wb-len-10);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._dep_15ptp_178 {\n flex: none;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n}\n\n._group_15ptp_186 {\n padding-top: var(--wb-len-6);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._groupTitle_15ptp_191 {\n margin: 0;\n padding: var(--wb-len-2) var(--wb-len-8) 0 var(--wb-len-14);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n font-weight: 400;\n color: var(--dsw-alias-label-tertiary);\n}\n._panel_1whum_1 {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: var(--wb-z-10);\n visibility: hidden;\n}\n\n._panel_1whum_1[data-fullscreen] {\n z-index: var(--wb-z-40);\n}\n\n._panel_1whum_1[data-open] {\n visibility: visible;\n}\n\n._columns_1whum_18 {\n display: block;\n column-gap: var(--wb-len-12);\n}\n\n._cell_1whum_23 {\n display: flow-root;\n min-width: 0;\n break-inside: avoid;\n margin-bottom: var(--wb-len-12);\n}\n._root_1cmz0_1 {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}\n\n._rail_1cmz0_7 {\n margin: 0 0 var(--wb-len-4);\n}\n\n._glyphBox_1cmz0_11 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n._glyph_1cmz0_11 {\n position: relative;\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._glyphActive_1cmz0_30 {\n color: var(--dsw-alias-state-business-primary);\n}\n\n._triggerName_1cmz0_34 {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n._dir_1cmz0_45 {\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._name_1cmz0_53 {\n flex: 0 1 auto;\n max-width: 50%;\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._triggerName_1cmz0_34 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._row_1cmz0_66 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n width: 100%;\n min-width: 0;\n}\n\n._trailing_1cmz0_74 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n margin-inline-start: auto;\n}\n\n._trailing_1cmz0_74 ._rowAction_1cmz0_84 {\n width: var(--wb-len-20);\n min-width: var(--wb-len-20);\n height: var(--wb-len-20);\n min-height: var(--wb-len-20);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n}\n\n._row_1cmz0_66 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._current_1cmz0_97 {\n flex: none;\n display: inline-flex;\n align-items: center;\n color: var(--dsw-alias-label-primary);\n}\n._dot_sosf1_1 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n._overlay_sosf1_8 {\n position: absolute;\n inset-block-start: var(--wb-len-neg-3);\n inset-inline-end: var(--wb-len-neg-3);\n}\n._tag_g9dg8_1 {\n flex: none;\n margin-inline-start: auto;\n}\n._dialog_1vye5_1 {\n width: min(var(--wb-len-420), 100%);\n}\n\n._stack_1vye5_5 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._input_1vye5_12 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-12);\n}\n\n._meta_1vye5_18 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n._dot_14w1n_1 {\n display: inline-flex;\n align-items: center;\n}\n\n._hover_14w1n_6 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._blocker_1oaj0_1 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-20) var(--wb-len-16);\n text-align: center;\n}\n\n._icon_1oaj0_10 {\n display: flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._title_1oaj0_15 {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_1oaj0_23 {\n margin: 0;\n max-width: var(--wb-len-42em);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n text-wrap: pretty;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 {\n align-items: flex-start;\n gap: var(--wb-len-6);\n padding: var(--wb-len-4) 0 var(--wb-len-2);\n text-align: left;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._title_1oaj0_15 {\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._hint_1oaj0_23 {\n max-width: 100%;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._actions_1oaj0_48 {\n margin-top: var(--wb-len-8);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._raw_1oaj0_52 {\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._actions_1oaj0_48 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-6);\n}\n\n._raw_1oaj0_52 {\n margin-top: var(--wb-len-10);\n width: 100%;\n max-width: var(--wb-len-360);\n text-align: left;\n}\n\n._notice_1oaj0_71 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: start;\n column-gap: var(--wb-len-10);\n margin: 0 0 var(--wb-len-10);\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-left: 2px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._notice_1oaj0_71._noticeFlat_1oaj0_84 {\n margin: 0;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n._noticeText_1oaj0_91 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-3);\n min-width: 0;\n}\n\n._noticeTitle_1oaj0_98 {\n font-size: var(--wb-font-12-5);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._noticeHint_1oaj0_105 {\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._noticeActions_1oaj0_112 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-neg-2);\n}\n\n._failure_1oaj0_119 {\n margin: var(--wb-len-8) 0 0;\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._failureDetail_1oaj0_127 {\n display: block;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-label-tertiary);\n white-space: pre-wrap;\n}\n\n._inlineAction_1oaj0_134 {\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n\n._inlineAction_1oaj0_134:disabled {\n opacity: 0.6;\n cursor: default;\n}\n\n._rawText_1oaj0_146 {\n margin: var(--wb-len-6) 0 0;\n max-width: 100%;\n}\n/*$vite$:1*/";
16829
+ var COMPONENT_CSS_MARKER = ".wb-activityBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding-top: var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.wb-activityBlock:first-child {\n padding-top: 0;\n border-top: none;\n}\n\n.wb-activityBlockHead {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8);\n}\n\n.wb-activityLine {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-activityLineText {\n flex: none;\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n max-height: var(--wb-len-72);\n overflow-y: auto;\n}\n\n.wb-activityLineAt {\n flex: none;\n margin-left: auto;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-16);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-activityLine > .wb-activityLineAt,\n.wb-activityLine > .wb-activityLineActions {\n margin-left: auto;\n}\n\n.wb-activityLine > .wb-activityLineAt + .wb-activityLineActions {\n margin-left: 0;\n}\n\n.wb-activityLineActions {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n.wb-activityActionFailed {\n color: var(--dsw-alias-state-error-primary);\n}\n.wb-note {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-problem {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalCommand {\n max-width: 100%;\n}\n.wb-approvalPlan {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-approvalHint {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n.wb-approvalRows {\n display: grid;\n grid-template-columns: minmax(var(--wb-len-56), auto) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-2);\n align-items: baseline;\n margin: 0;\n}\n.wb-approvalRow {\n display: contents;\n}\n.wb-approvalLabel {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n.wb-approvalValue {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalWarn {\n color: var(--dsw-alias-label-secondary);\n}\n.wb-cardHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-8) var(--wb-card-gutter);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-cardTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-cardMeta {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-cardMeta::before {\n content: '\\00b7';\n margin-right: var(--wb-len-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen ~ .wb-cardRefresh {\n margin-left: 0;\n}\n\n.wb-cardOpen:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh {\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardRefresh:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-cardGear {\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-3);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardGear:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n.wb-card {\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-bg-layer-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n flex: none;\n}\n.wb-cardBody {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-card-gutter);\n font-size: var(--dsw-font-xxs-12-font-size);\n}\n.wb-cardBleed {\n margin-inline: calc(-1 * var(--wb-card-gutter));\n}\n._anchor_yq4s2_1 {\n display: contents;\n}\n.wb-spinner {\n display: inline-flex;\n align-items: center;\n flex: none;\n}\n.wb-choiceMenu {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n background: transparent;\n}\n\n.wb-choiceMenu[data-variant='boxed'] {\n padding: var(--wb-len-4);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-choiceOption {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-choiceOptionOn {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-checkbox {\n position: absolute;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.wb-checkboxBox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xs);\n corner-shape: round;\n color: var(--dsw-alias-label-primary-foreground);\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-choiceOption:hover .wb-checkboxBox {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-checkbox:checked + .wb-checkboxBox {\n border-color: var(--dsw-alias-brand-primary);\n background: var(--dsw-alias-brand-primary);\n}\n\n.wb-checkbox:disabled + .wb-checkboxBox {\n cursor: default;\n}\n\n.wb-checkbox:focus-visible + .wb-checkboxBox {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n.wb-choiceOption:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-choiceOption:has(:disabled) {\n cursor: default;\n opacity: 0.5;\n}\n\n.wb-choiceOption:has(:disabled),\n.wb-choiceOption:has(:disabled):hover {\n background: transparent;\n}\n\n.wb-choiceLabel {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.wb-choiceLabelText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceLabel:has(.wb-choiceDescription) .wb-choiceLabelText {\n overflow: visible;\n white-space: normal;\n overflow-wrap: anywhere;\n}\n\n.wb-choiceDescription {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n.wb-choiceLoading {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-choiceLoadingText {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceEmpty {\n display: flex;\n align-items: center;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio {\n appearance: none;\n -webkit-appearance: none;\n flex: none;\n box-sizing: border-box;\n width: var(--wb-len-12);\n height: var(--wb-len-12);\n margin: 0;\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: 50%;\n corner-shape: round;\n background-color: transparent;\n cursor: pointer;\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-radio:not(:checked):hover {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio:checked {\n border-color: var(--dsw-alias-brand-primary);\n background-image: radial-gradient(\n circle at center,\n var(--dsw-alias-brand-primary) 0 3px,\n transparent 3px\n );\n}\n\n.wb-radio:disabled {\n cursor: default;\n}\n\n.wb-radio:focus-visible {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.wb-formActions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n}\n\n.wb-formActionDanger {\n color: var(--dsw-alias-state-error-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-error-primary) 8%, transparent);\n}\n.wb-rows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n}\n.wb-rows > :not(.wb-row) {\n grid-column: 1 / -1;\n}\n.wb-row {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: baseline;\n gap: var(--wb-len-8);\n padding: var(--wb-len-4) 0;\n}\n.wb-row + .wb-row {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.wb-rowKey {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-rowValue {\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-rows > .wb-row {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-rows > .wb-row {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-confirmBar {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n width: 100%;\n box-sizing: border-box;\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.wb-confirmBarTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 600;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-confirmBarHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n.wb-field {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n.wb-fieldLabel {\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-fieldHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-field:has(:disabled) .wb-fieldLabel {\n opacity: 0.4;\n}\n.wb-formRows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-12);\n}\n\n.wb-formRows > :not(.wb-formRow) {\n grid-column: 1 / -1;\n}\n\n.wb-formRow {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: center;\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-8);\n}\n\n.wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n align-items: stretch;\n gap: var(--wb-len-6);\n}\n\n.wb-formRows > .wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n}\n\n.wb-formLabel {\n justify-self: start;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: nowrap;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formLabel {\n white-space: normal;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formHint,\n.wb-formRow[data-layout='stacked'] .wb-formProblem {\n grid-column: 1 / -1;\n}\n\n.wb-formControl {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n\n.wb-formControl\n > :where(\n .wb-selectAnchor,\n .wb-choiceMenu,\n input:not(\n [type='checkbox'],\n [type='radio'],\n [type='button'],\n [type='submit'],\n [type='reset'],\n [type='image'],\n [type='color'],\n [type='range']\n ),\n select,\n textarea\n ) {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n}\n\n.wb-formHint {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-formProblem {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(.wb-formProblem) .wb-formLabel {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(:disabled) .wb-formLabel {\n opacity: 0.4;\n}\n\n.wb-formRows > .wb-formRow {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-formRows > .wb-formRow {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-form {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n width: 100%;\n}\n:where(.wb-link) {\n margin-left: var(--wb-len-2);\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: baseline;\n}\n\n:where(.wb-link:hover) {\n text-decoration: underline;\n}\n\n:where(.wb-link:focus-visible) {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n.wb-longTask {\n padding-top: var(--wb-len-12);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n.wb-longTaskHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n}\n\n.wb-longTaskLink {\n flex: none;\n}\n\n.wb-longTaskHeadline {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-longTaskProblem {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-longTaskDump {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-longTaskDump pre {\n margin: var(--wb-len-4) 0 0;\n max-height: var(--wb-len-220);\n overflow: auto;\n}\n\n.wb-longTaskStop {\n display: inline-flex;\n flex: none;\n align-items: center;\n align-self: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n padding: 0;\n margin-left: auto;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-specific-menu);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n.wb-longTaskStop:hover:not(:disabled),\n.wb-longTaskStop:focus-visible {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStop:disabled {\n cursor: default;\n}\n\n.wb-longTaskStopArmed,\n.wb-longTaskStopArmed:hover:not(:disabled),\n.wb-longTaskStopArmed:focus-visible {\n gap: var(--wb-len-4);\n width: auto;\n padding: 0 var(--wb-len-7);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStopLabel {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n.wb-longTaskStopWhy {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-centered.wb-centeredCompact {\n flex: none;\n min-height: 0;\n gap: var(--wb-len-8);\n padding: var(--wb-len-20) var(--wb-len-16);\n}\n\n.wb-centered.wb-centeredCompact .wb-centeredHero {\n margin-bottom: var(--wb-len-4);\n}\n\n.wb-skeleton {\n display: flex;\n flex-direction: column;\n}\n\n.wb-skeletonRow {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-skeletonRow + .wb-skeletonRow::before {\n content: '';\n align-self: stretch;\n height: var(--wb-len-0-5);\n margin: 0 var(--wb-len-8) var(--wb-len-neg-0-5);\n background: var(--dsw-alias-border-l2);\n}\n\n.wb-skeletonBar {\n display: block;\n height: var(--wb-len-13);\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-bg-skeleton);\n animation: wb-skeleton-pulse var(--wb-dur-1-4) var(--ds-ease-in-out) infinite;\n}\n\n.wb-skeletonBarTitle {\n width: 62%;\n}\n\n.wb-skeletonBarMeta {\n width: 32%;\n height: var(--wb-len-10);\n}\n\n.wb-skeletonRow:nth-child(2n) .wb-skeletonBarTitle {\n width: 74%;\n}\n\n.wb-skeletonRow:nth-child(3n) .wb-skeletonBarTitle {\n width: 52%;\n}\n\n@keyframes wb-skeleton-pulse {\n 50% {\n opacity: 0.45;\n }\n}\n\n.wb-centered {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: var(--wb-len-14);\n flex: 1;\n min-height: var(--wb-len-240);\n padding: 0 var(--wb-len-24) var(--wb-len-24);\n text-align: center;\n}\n\n.wb-centeredHero {\n display: flex;\n margin-bottom: var(--wb-len-16);\n color: var(--dsw-alias-label-dimmed);\n}\n\n.wb-centeredTitle {\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-centeredHint {\n max-width: var(--wb-len-300);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-centeredDetail {\n max-width: var(--wb-len-320);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-dimmed);\n word-break: break-all;\n}\n\n.wb-centeredAction {\n display: flex;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n@media (prefers-reduced-motion: reduce) {\n .wb-skeletonBar {\n animation: none;\n }}\n.wb-textField {\n box-sizing: border-box;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n outline: none;\n}\n\n.wb-textField:focus {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-textField:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-textField[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-textField[aria-invalid='true']:focus {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n:where(.wb-textField) {\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n}\n:where(.wb-selectTrigger) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n text-align: left;\n cursor: pointer;\n}\n\n.wb-selectTrigger:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true']:focus-visible {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-selectLoading:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: none;\n background: transparent;\n font-size: var(--wb-font-row);\n}\n\n.wb-selectGhost:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-selectGhost:focus-visible {\n outline: var(--dsw-focus-ring-width) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n border-color: transparent;\n box-shadow: none;\n}\n\n.wb-selectIconOnly {\n width: var(--wb-len-36);\n height: var(--wb-len-36);\n min-height: 0;\n gap: 0;\n padding: 0;\n justify-content: center;\n}\n\n.wb-selectIconOnly .wb-selectIcon {\n width: 100%;\n height: 100%;\n}\n\n.wb-selectAnchor {\n display: block;\n width: 100%;\n}\n\n.wb-selectIcon {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectValue {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n.wb-selectPlaceholder {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectChevron {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-caption);\n}\n\n.wb-selectMenu {\n min-width: var(--wb-len-240);\n max-width: var(--wb-len-360);\n max-height: min(var(--wb-len-320), calc(100vh - var(--wb-len-24)));\n}\n\n:where(.wb-selectSearch) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n.wb-selectSearch:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectSearch.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: 0.5px solid var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-selectSearch.wb-selectGhost:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: none;\n}\n\n.wb-selectSearchIcon {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-textField.wb-selectSearchInput {\n flex: 1;\n min-width: 0;\n min-height: 0;\n padding: 0;\n border: none;\n background: transparent;\n}\n\n.wb-textField.wb-selectSearchInput:focus {\n box-shadow: none;\n}\n\n.wb-selectFallback {\n width: 100%;\n}\n\n.wb-selectHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\nsection.wb-settings {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-len-16);\n border: 0;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-settings-card-fill);\n}\n.wb-settingsHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n.wb-settings .wb-settingsTitle {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-strong-14-font-size);\n line-height: var(--wb-line-24);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n.wb-stack {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n min-height: 0;\n}\n.wb-stateBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-stateBlockTitle {\n margin: 0;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n.wb-stateBlockHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-stateBlockActions {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n.wb-stateBlockResolving {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._block_mxnbc_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-2) 0 var(--wb-len-8);\n min-width: 0;\n}\n\n._head_mxnbc_9 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._title_mxnbc_16 {\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._fact_mxnbc_22 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._actions_mxnbc_30 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-2);\n margin-left: calc(-1 * var(--wb-len-8));\n}\n\n._hint_mxnbc_38 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._output_mxnbc_44 {\n margin-top: var(--wb-len-2);\n min-width: 0;\n}\n._marketList_9z259_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_9z259_10 {\n position: relative;\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._marketRow_9z259_10[data-open='true']:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._marketNameOpen_9z259_25 {\n max-width: 100%;\n padding: 0;\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n white-space: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n._marketNameOpen_9z259_25::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-lg);\n}\n\n._marketNameOpen_9z259_25:focus-visible {\n outline: none;\n}\n\n._marketNameOpen_9z259_25:focus-visible::after {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._marketIcon_9z259_53 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_9z259_65 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_9z259_25 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketStatus_9z259_81 {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketStateText_9z259_91 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_9z259_95 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_9z259_99 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketName_9z259_25 ._marketVersion_9z259_105 {\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_9z259_105 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_9z259_105::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_9z259_127 {\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_9z259_138 {\n position: relative;\n z-index: var(--wb-z-10);\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_9z259_147 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_9z259_147::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_9z259_160 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_9z259_166 {\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_9z259_172 {\n height: 0;\n margin-top: calc(0px - var(--wb-len-16));\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketSection_9z259_178 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_9z259_185 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_9z259_191 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_9z259_198 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_9z259_204 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionAction_9z259_210 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n margin-left: auto;\n min-width: 0;\n}\n\n._marketSectionQuiet_9z259_218 ._marketSectionTitle_9z259_198 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_9z259_218 ._marketName_9z259_25 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_9z259_218 ._marketIcon_9z259_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketProgress_9z259_230 {\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_9z259_240 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-warn-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailure_9z259_247 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailureSeat_9z259_254 {\n position: relative;\n z-index: var(--wb-z-10);\n grid-column: 2 / -1;\n min-width: 0;\n}\n\n._marketEmpty_9z259_261 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_9z259_266 {\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_9z259_266 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_9z259_284 {\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_9z259_292 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_9z259_297 {\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_9z259_303 {\n flex: none;\n align-self: center;\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--wb-len-16);\n}\n\n._marketPanel_9z259_312 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_9z259_312[hidden] {\n display: none;\n}\n\n._marketTabs_9z259_322 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_9z259_327 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketAddButton_9z259_332 {\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_9z259_261 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) var(--wb-len-16);\n text-align: center;\n}\n\n._marketEmptyTitle_9z259_349 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverPage_9z259_354 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_9z259_361 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_9z259_368 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_9z259_374 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_9z259_379 {\n min-width: 0;\n max-width: var(--wb-len-240);\n margin-left: calc(0px - var(--wb-len-8));\n font-weight: 500;\n}\n\n._discoverMarketName_9z259_386 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_9z259_392 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_9z259_397 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_9z259_402 {\n flex: none;\n}\n\n._discoverSearch_9z259_406 {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 var(--wb-len-120);\n min-width: var(--wb-len-120);\n}\n\n._discoverSearchField_9z259_414 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_9z259_419 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_9z259_414 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_9z259_406 ._discoverSearchClear_9z259_428 {\n position: absolute;\n top: 50%;\n inset-inline-end: var(--wb-len-4);\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-tertiary);\n transform: translateY(-50%);\n}\n\n._discoverSearchClear_9z259_428:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_9z259_368 {\n display: grid;\n grid-template-columns: minmax(0, auto) minmax(var(--wb-len-120), 1fr) auto;\n grid-template-areas:\n 'market search refresh'\n 'labels sort sort';\n }\n\n ._discoverMarket_9z259_374 {\n grid-area: market;\n }\n\n ._discoverMarketButton_9z259_379 {\n margin-left: 0;\n }\n\n ._discoverLabels_9z259_392 {\n grid-area: labels;\n }\n\n ._discoverSearch_9z259_406 {\n grid-area: search;\n }\n\n ._discoverSort_9z259_397 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_9z259_402 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_9z259_479 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_9z259_486 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._discoverCard_9z259_495 {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n margin: 0 calc(0px - var(--wb-len-8));\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCard_9z259_495:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_9z259_509 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverArtworkImage_9z259_521 {\n object-fit: contain;\n}\n\n._discoverMain_9z259_525 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-2);\n min-width: 0;\n}\n\n._discoverTitleRow_9z259_533 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverCardOpen_9z259_541 {\n max-width: 100%;\n padding: 0;\n border: 0;\n background: transparent;\n color: inherit;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n cursor: pointer;\n}\n\n._discoverCardOpen_9z259_541::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_9z259_541:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_9z259_541:focus-visible::after {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverStrong_9z259_572 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_9z259_578 {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverMeta_9z259_587 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._discoverMuted_9z259_594 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_9z259_600 {\n position: relative;\n z-index: var(--wb-z-10);\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverUpdateAction_9z259_609 {\n color: var(--dsw-alias-state-warn-primary);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._discoverBlocked_9z259_614 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_9z259_619 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) 0;\n text-align: center;\n}\n\n._discoverEmptyTitle_9z259_628 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_9z259_619 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_9z259_638 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_9z259_644 {\n align-self: flex-start;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n padding: 0;\n border: 0;\n background: 0 0;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n font-size: var(--wb-font-12-5);\n cursor: pointer;\n}\n\n._discoverCrumb_9z259_644:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_9z259_644:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverCrumbIcon_9z259_667 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_9z259_671 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._marketDetailHead_9z259_677 {\n flex-wrap: wrap;\n align-items: flex-start;\n}\n\n._marketDetailName_9z259_682 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._marketDetailName_9z259_682 code {\n font-family: var(--ds-font-family-code);\n}\n\n._marketDetailEnd_9z259_693 {\n flex: none;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-10);\n margin-left: auto;\n}\n\n._discoverDetailTitle_9z259_703 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_9z259_709 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._discoverDetailPanel_9z259_716 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_9z259_723 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_9z259_728 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_9z259_733 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_9z259_738 {\n margin: var(--wb-len-16) 0 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverSection_9z259_744 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n margin-top: var(--wb-len-16);\n}\n\n._discoverSectionTitle_9z259_751 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_9z259_757 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_9z259_762 {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--wb-len-16);\n min-height: var(--wb-len-44);\n padding: var(--wb-len-8) var(--wb-len-2);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverFactKind_9z259_772 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_9z259_778 {\n min-width: 0;\n margin: 0;\n text-align: end;\n overflow-wrap: anywhere;\n font: var(--dsw-font-xs-13);\n}\n\n._discoverCode_9z259_786 {\n padding: var(--wb-len-2) var(--wb-len-6);\n border-radius: var(--wb-radius-6);\n background: var(--dsw-alias-bg-module-platform);\n font-family: var(--ds-font-family-code);\n font-size: var(--dsw-font-xxs-12-font-size);\n box-decoration-break: clone;\n}\n\n._discoverTags_9z259_795 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_9z259_802 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_9z259_802:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_9z259_812 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_9z259_820 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverVersionName_9z259_828 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_9z259_833 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-6);\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n white-space: pre-line;\n}\n\n._discoverFailure_9z259_843 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_9z259_849 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverNotice_9z259_858 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverNotice_9z259_858 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_9z259_876 {\n align-self: center;\n}\n\n._discoverTransport_9z259_880 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportHead_9z259_886 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportTitle_9z259_893 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportHead_9z259_886 ._discoverTransportKind_9z259_898 {\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportHead_9z259_886 ._discoverTransportState_9z259_903 {\n margin-left: 0;\n}\n\n._discoverTransportHead_9z259_886 > :last-child {\n margin-left: auto;\n}\n\n._discoverTransportRows_9z259_911 {\n display: flex;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportRow_9z259_911 {\n display: flex;\n flex: 1;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n}\n\n._discoverTransportRow_9z259_911:hover {\n border-color: var(--dsw-alias-border-l3);\n}\n\n._discoverTransportRow_9z259_911:has(._discoverTransportRadio_9z259_932:checked) {\n border-color: var(--dsw-alias-label-primary);\n}\n\n._discoverTransportRow_9z259_911:has(._discoverTransportRadio_9z259_932:focus-visible) {\n outline: 2px solid var(--dsw-alias-label-primary);\n outline-offset: 1px;\n}\n\n._discoverTransportRadio_9z259_932 {\n flex: none;\n margin: 0;\n}\n\n._discoverTransportKind_9z259_898 {\n flex: none;\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportState_9z259_903 {\n flex: none;\n margin-left: auto;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportRow_9z259_911[data-state='ok'] ._discoverTransportState_9z259_903 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._discoverTransportRow_9z259_911[data-state='auth'] ._discoverTransportState_9z259_903 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverTransportRow_9z259_911[data-state='unreachable'] ._discoverTransportState_9z259_903,\n._discoverTransportRow_9z259_911[data-state='unknown'] ._discoverTransportState_9z259_903 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverTransportCustom_9z259_972 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportInput_9z259_978 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverInstallBar_9z259_983 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverInstallText_9z259_994 {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDialog_9z259_1000 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_9z259_1004 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_9z259_1010 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_9z259_1018 {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--wb-len-12);\n padding: var(--wb-len-10) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverSourceConfirm_9z259_1027 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_9z259_1033 {\n display: flex;\n flex: 1;\n align-items: flex-start;\n gap: var(--wb-len-10);\n min-width: 0;\n cursor: pointer;\n}\n\n._discoverSourceRadio_9z259_1042 {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._discoverSourceMain_9z259_1050 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._discoverSourceHead_9z259_1058 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverSourceUrl_9z259_1066 {\n display: block;\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverSourceMore_9z259_1076 {\n flex: none;\n}\n\n._discoverSourceLoading_9z259_1080 {\n display: flex;\n flex: none;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n white-space: nowrap;\n}\n\n._discoverSourceHint_9z259_1090 {\n display: flex;\n flex-basis: 100%;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverSourceHint_9z259_1090 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_9z259_1104 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_9z259_1110 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_9z259_1116 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_9z259_1121 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_9z259_1127 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_9z259_1132 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_9z259_1138 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_9z259_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_9z259_509._discoverSkeletonFill_9z259_1138 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_9z259_1147 {\n display: block;\n height: var(--wb-len-12);\n margin: var(--wb-len-4) 0;\n border-radius: var(--dsw-radius-xs);\n}\n\n._discoverSkeletonTitle_9z259_1154 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_9z259_1158 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_9z259_1 {\n 0% {\n opacity: 1;\n }\n 40% {\n opacity: 0.6;\n }\n 80%,\n to {\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._discoverSkeletonFill_9z259_1138 {\n animation: none;\n }\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._check_1g6tv_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n min-width: 0;\n}\n\n._status_1g6tv_8 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-caption);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n._button_1g6tv_15 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n}\n\n._icon_1g6tv_22 {\n display: inline-flex;\n}\n\n@media (max-width: 720px) {\n ._status_1g6tv_8 {\n display: none;\n }\n}\n._wide_1lv8f_1 {\n justify-content: center;\n width: 100%;\n height: var(--wb-len-40);\n border-radius: var(--dsw-radius-md);\n}\n\n._dialog_1lv8f_8 {\n width: min(var(--wb-len-560), 100%);\n max-height: min(var(--wb-len-800), 100%);\n}\n\n._content_1lv8f_13 {\n min-height: 0;\n overflow: auto;\n}\n\n._stack_1lv8f_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._body_1lv8f_25 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._field_1lv8f_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._input_1lv8f_39 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-14);\n}\n\n._registryField_1lv8f_45 {\n height: var(--wb-len-32);\n margin-left: var(--wb-len-26);\n padding: 0 var(--wb-len-10);\n}\n\n._options_1lv8f_51 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8) var(--wb-len-12);\n}\n\n._guideToggle_1lv8f_59 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-4);\n align-self: flex-start;\n margin-top: var(--wb-len-4);\n padding: 0;\n border: 0;\n background: transparent;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._guideToggle_1lv8f_59:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._guideToggle_1lv8f_59 svg,\n._registryToggle_1lv8f_78 svg {\n transition: transform var(--wb-dur-0-12) ease;\n}\n\n._guideToggle_1lv8f_59[aria-expanded='true'] svg,\n._registryToggle_1lv8f_78[aria-expanded='true'] svg {\n transform: rotate(180deg);\n}\n\n._registryWrap_1lv8f_87 {\n position: relative;\n flex: none;\n}\n\n._registryToggle_1lv8f_78 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n height: var(--wb-len-26);\n padding: 0 var(--wb-len-8) 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n font: inherit;\n font-size: var(--wb-font-12-5);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._registryToggle_1lv8f_78:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._registryToggle_1lv8f_78:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n._registryToggle_1lv8f_78[aria-expanded='true'] {\n border-color: var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n._registryChosen_1lv8f_121 {\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n._registry_1lv8f_45 {\n position: fixed;\n z-index: var(--wb-z-1100);\n box-sizing: border-box;\n width: min(var(--wb-len-440), 100vw - var(--wb-len-24));\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-12);\n border: 0;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-2);\n --dsw-elevation-stroke-color: var(--dsw-alias-border-l3);\n box-shadow: var(--dsw-elevation-prominent);\n}\n\n._registryOption_1lv8f_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid transparent;\n border-radius: var(--dsw-radius-lg);\n cursor: pointer;\n}\n\nlabel._registryOption_1lv8f_143 {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--wb-len-10);\n}\n\n._registryPick_1lv8f_159 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n cursor: pointer;\n}\n\n._registryOption_1lv8f_143[data-checked='true'] {\n border-color: color-mix(in srgb, var(--dsw-alias-brand-primary) 40%, transparent);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._registryOption_1lv8f_143 input[type='radio'] {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._registryTitle_1lv8f_179 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n font: var(--dsw-font-xs-13);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n._registryHint_1lv8f_189 {\n margin-left: var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._inputError_1lv8f_197 {\n margin: var(--wb-len-neg-4) 0 0 var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._guide_1lv8f_59 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._guideList_1lv8f_214 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._guideItem_1lv8f_223 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0;\n}\n\n._guideIndex_1lv8f_230 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n border-radius: var(--wb-radius-pill);\n corner-shape: round;\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._guideMain_1lv8f_244 {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: 0;\n min-width: 0;\n}\n\n._guideTitle_1lv8f_252 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n\n._guideHint_1lv8f_258 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._guideExample_1lv8f_264 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._guideExample_1lv8f_264 code {\n font-family: var(--dsw-font-mono, monospace);\n}\n\n._guideExampleLabel_1lv8f_274 {\n color: var(--dsw-alias-label-caption);\n}\n\n._footer_1lv8f_278 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-20);\n width: 100%;\n}\n\n._hero_1lv8f_285 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0 var(--wb-len-4);\n text-align: center;\n}\n\n._heroIcon_1lv8f_294 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-44);\n height: var(--wb-len-44);\n color: var(--dsw-alias-label-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='done'] {\n color: var(--dsw-alias-state-success-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='error'] {\n color: var(--dsw-alias-state-warn-label);\n}\n\n._pendingTitle_1lv8f_311 {\n margin: 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 500;\n color: var(--dsw-alias-label-secondary);\n}\n\n._wizardTitle_1lv8f_319 {\n margin: 0;\n font-size: var(--wb-font-18);\n line-height: var(--wb-len-26);\n font-weight: 600;\n}\n\n._subject_1lv8f_326 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n text-align: center;\n}\n\n._subjectName_1lv8f_337 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n overflow-wrap: anywhere;\n}\n\n._subjectMeta_1lv8f_343,\n._subjectDesc_1lv8f_344 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._result_1lv8f_351,\n._resultWarn_1lv8f_352 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._resultWarn_1lv8f_352 {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n}\n\n._resultMeta_1lv8f_365 {\n margin: 0;\n padding: 0 var(--wb-len-12);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._approval_1lv8f_373 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-state-warn-primary);\n border-radius: var(--dsw-radius-lg);\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._approvalTitle_1lv8f_383 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._approvalText_1lv8f_390 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._approvalCaution_1lv8f_396 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n font-weight: 600;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._note_1lv8f_403 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._noteWarn_1lv8f_410 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._noteError_1lv8f_414 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._problem_1lv8f_418 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._detailLabel_1lv8f_425 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._detail_1lv8f_425 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-3);\n font-family: var(--dsw-font-mono, monospace);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n._note_1enlz_1 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._note_1enlz_1 > svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n._slot_1t7dx_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1t7dx_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1t7dx_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1t7dx_31 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._paused_1t7dx_35 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._trouble_1t7dx_39 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._pulse_1t7dx_43 {\n animation: _wb-debug-breathe_1t7dx_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-debug-breathe_1t7dx_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1t7dx_43 {\n animation: none;\n }\n}\n\n._entry_1t7dx_64 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1t7dx_71 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1t7dx_78 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1t7dx_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: 0;\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n}\n\n._act_1t7dx_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1t7dx_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._actStop_1t7dx_110:hover,\n._actStop_1t7dx_110:focus-visible {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._actArmed_1t7dx_115,\n._actArmed_1t7dx_115:hover,\n._actArmed_1t7dx_115:focus-visible {\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n width: auto;\n color: var(--dsw-alias-state-error-primary);\n gap: var(--wb-len-4);\n padding: 0 var(--wb-len-7);\n}\n\n._actLabel_1t7dx_125 {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._entryLine_1t7dx_131 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1t7dx_138 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1t7dx_150 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1t7dx_156 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1t7dx_162 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._slot_1gkj9_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1gkj9_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1gkj9_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1gkj9_31 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._done_1gkj9_35 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._pulse_1gkj9_39 {\n animation: _wb-record-breathe_1gkj9_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-record-breathe_1gkj9_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1gkj9_39 {\n animation: none;\n }\n}\n\n._entry_1gkj9_60 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1gkj9_67 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1gkj9_74 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1gkj9_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-22);\n padding: 0 var(--wb-len-7);\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._act_1gkj9_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1gkj9_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._entryLine_1gkj9_108 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1gkj9_115 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1gkj9_127 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1gkj9_133 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1gkj9_139 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._item_lyox9_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n}\n\n._item_lyox9_1 + ._item_lyox9_1 {\n padding-top: var(--wb-len-14);\n border-top: var(--wb-len-0-5) solid var(--dsw-alias-settings-card-stroke);\n}\n\n._head_lyox9_12 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._title_lyox9_19 {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._description_lyox9_31 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._rows_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._row_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-settings-card-stroke);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-settings-card-fill);\n}\n\n._head_85r3w_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._pick_85r3w_27 {\n flex: 0 1 auto;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._pick_85r3w_27 > span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._code_85r3w_39 {\n --dsl-code-block-background: var(--dsw-alias-bg-layer-1);\n margin: 0;\n}\n\n._missing_85r3w_44,\n._conflict_85r3w_45 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-warn-primary);\n}\n._body_11oac_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._sources_11oac_7 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._sourcesLabel_11oac_14 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\nbutton._sourceOn_11oac_19 {\n border-color: var(--dsw-alias-brand-primary);\n}\n._sourceCount_11oac_22 {\n margin-left: var(--wb-len-4);\n font-variant-numeric: tabular-nums;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._reading_11oac_29 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._status_11oac_35 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failure_11oac_45 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n column-gap: var(--wb-len-10);\n row-gap: var(--wb-len-2);\n color: var(--dsw-alias-state-error-primary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n\n._failureTitle_11oac_55 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._failureHint_11oac_62 {\n grid-column: 1;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failureAction_11oac_67 {\n grid-column: 2;\n grid-row: 1;\n justify-self: end;\n}\n\n._foot_11oac_73 {\n display: flex;\n justify-content: flex-end;\n}\n._body_lox98_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._field_lox98_7 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._input_lox98_13 {\n width: 100%;\n}\n\n._label_lox98_17 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\n._hint_lox98_22 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._copy_lox98_28 {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wb-len-8) var(--wb-len-16);\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n._copy_lox98_28 legend {\n padding: 0;\n margin-bottom: var(--wb-len-6);\n}\n\n._actions_lox98_42 {\n display: flex;\n justify-content: flex-end;\n}\n\n._commandLabel_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n}\n\n._command_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-6) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow-wrap: anywhere;\n}\n._body_zi2j5_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._lead_zi2j5_7 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._title_zi2j5_14 {\n font-size: var(--wb-font-18);\n line-height: var(--wb-line-24);\n}\n._hint_zyzt3_1[hidden],\n._actions_zyzt3_2[hidden],\n._progress_zyzt3_3[hidden],\n._commandRow_zyzt3_4[hidden],\n._bridge_zyzt3_5[hidden],\n._raw_zyzt3_6[hidden] {\n display: none;\n}\n\n._gate_zyzt3_10 {\n position: fixed;\n inset: 0;\n z-index: var(--wb-z-top);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wb-len-24);\n background: var(--dsw-alias-bg-base);\n}\n\n._card_zyzt3_21 {\n width: 100%;\n max-width: var(--wb-len-420);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-16);\n text-align: center;\n}\n\n._card_zyzt3_21:has(._actions_zyzt3_2:not([hidden])),\n._card_zyzt3_21:has(._bridge_zyzt3_5:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_zyzt3_36 {\n margin: 0;\n font-size: var(--dsw-font-base-16-font-size);\n line-height: var(--wb-line-24);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._steps_zyzt3_51 {\n list-style: none;\n margin: var(--wb-len-6) 0 0;\n padding: 0;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n text-align: left;\n}\n\n._step_zyzt3_51 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-6) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._step_zyzt3_51[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_zyzt3_78 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-14);\n height: var(--wb-len-14);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._step_zyzt3_51[data-status='ok'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_zyzt3_51[data-status='warn'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_zyzt3_51[data-status='failed'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_zyzt3_103 {\n flex: none;\n}\n\n._detail_zyzt3_107 {\n margin-left: auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._progress_zyzt3_3 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._elapsed_zyzt3_125 {\n flex: none;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._error_zyzt3_133 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n max-height: var(--wb-len-120);\n overflow: auto;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n white-space: pre-wrap;\n word-break: break-all;\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._commandRow_zyzt3_4 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n margin: 0 0 var(--wb-len-8);\n padding-right: var(--wb-len-4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._copy_zyzt3_159 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._copy_zyzt3_159:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_zyzt3_4 {\n flex: 1;\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-primary);\n}\n\n._buttons_zyzt3_192 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_zyzt3_199 {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n justify-content: center;\n background: var(--dsw-alias-bg-base);\n}\n\n._button_zyzt3_192 {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n\n._button_zyzt3_192:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_zyzt3_192:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_zyzt3_2,\n._bridge_zyzt3_5 {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-14) var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-1);\n text-align: left;\n}\n\n._fixTitle_zyzt3_250 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._actions_zyzt3_2 ._hint_zyzt3_1,\n._bridge_zyzt3_5 ._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._actions_zyzt3_2 ._commandRow_zyzt3_4,\n._bridge_zyzt3_5 ._commandRow_zyzt3_4 {\n margin: 0;\n}\n\n._actions_zyzt3_2 ._buttons_zyzt3_192,\n._bridge_zyzt3_5 ._buttons_zyzt3_192 {\n justify-content: flex-start;\n}\n\n._raw_zyzt3_6 {\n box-sizing: border-box;\n width: 100%;\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._rawSummary_zyzt3_286 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_zyzt3_2 ._error_zyzt3_133,\n._bridge_zyzt3_5 ._error_zyzt3_133 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_zyzt3_296 {\n margin: 0;\n padding-left: var(--wb-len-18);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._bridgeLine_zyzt3_296 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_zyzt3_313 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_zyzt3_313::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_zyzt3_313:hover {\n text-decoration: underline;\n}\n\n._loading_zyzt3_327 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_zyzt3_327[hidden] {\n display: none;\n}\n\n._loadingMotion_zyzt3_336 {\n transform-origin: center;\n animation: _wb-spin_zyzt3_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_zyzt3_341,\n._loadingArc_zyzt3_342 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_zyzt3_341 {\n opacity: 0.25;\n}\n\n._loadingArc_zyzt3_342 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_zyzt3_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_zyzt3_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_zyzt3_1 {\n 0% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 24 150;\n stroke-dashoffset: -6;\n }\n to {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._loadingMotion_zyzt3_336,\n ._loadingArc_zyzt3_342 {\n animation: none;\n }\n}\n._changelog_1q6pj_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-10);\n min-width: 0;\n}\n\n._changelogTitle_1q6pj_9 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._changelogMissing_1q6pj_15 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._changelogBody_1q6pj_21 {\n max-height: var(--wb-len-320);\n overflow: auto;\n padding: var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n}\n._group_1hxis_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n}\n\n._button_1hxis_7 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n color: var(--dsw-alias-label-secondary);\n}\n\n._button_1hxis_7:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._active_1hxis_19 {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._icon_1hxis_23 {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n._icon_1hxis_23 svg {\n display: block;\n width: var(--wb-len-15);\n height: var(--wb-len-15);\n}\n\n._mirror_1hxis_35 {\n transform: scaleX(-1);\n}\n._stripTabs_1dqp4_1 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n min-width: 0;\n overflow: hidden;\n}\n\n._tab_1dqp4_9 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n font: inherit;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-16);\n max-width: 100%;\n}\n\n._tabActive_1dqp4_25 {\n color: var(--dsw-alias-label-primary);\n}\n\n._tabQuiet_1dqp4_29 {\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._tabQuiet_1dqp4_29:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._tabTitle_1dqp4_39 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._sep_1dqp4_49 {\n flex: none;\n color: var(--dsw-alias-label-dimmed);\n}\n._actions_smeq7_1 {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: var(--wb-len-8);\n max-width: 100%;\n}\n\n._action_smeq7_1 {\n flex: none;\n white-space: nowrap;\n}\n\n@container (max-width: 340px) {\n ._actions_smeq7_1 {\n flex-direction: column;\n width: var(--wb-len-220);\n max-width: 100%;\n }\n\n ._action_smeq7_1 {\n width: 100%;\n }\n}\n._trigger_15ptp_1 {\n display: flex;\n align-items: center;\n}\n\n._pop_15ptp_6 {\n position: absolute;\n top: calc(var(--wb-len-38) + var(--wb-len-8));\n right: var(--wb-len-6);\n z-index: var(--wb-z-30);\n width: min(var(--wb-len-360), calc(100% - var(--wb-len-12)));\n max-width: calc(100vw - var(--wb-len-48));\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-2);\n box-shadow: var(--dsw-shadow-lv3);\n overflow: hidden;\n}\n\n._head_15ptp_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-10) var(--wb-len-12) var(--wb-len-9) var(--wb-len-14);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._title_15ptp_28 {\n flex: 1;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._rowControls_15ptp_36 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._reset_15ptp_43 {\n flex: none;\n padding: var(--wb-len-3) var(--wb-len-8);\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._reset_15ptp_43:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._reset_15ptp_43:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._list_15ptp_65 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._row_15ptp_36 {\n position: relative;\n display: grid;\n grid-template-columns: 12px minmax(0, 1fr) auto;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-sm);\n cursor: default;\n}\n\n._rowDragging_15ptp_85 {\n cursor: grabbing;\n}\n\n._rowBlocked_15ptp_89 {\n cursor: not-allowed;\n}\n\n._listDragging_15ptp_93 ._rowControls_15ptp_36 {\n pointer-events: none;\n}\n\n._row_15ptp_36:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._rowOff_15ptp_101 {\n opacity: 0.55;\n}\n\n._rowOff_15ptp_101:hover {\n opacity: 1;\n}\n\n._rowOver_15ptp_109::before {\n content: '';\n position: absolute;\n top: var(--wb-len-neg-3);\n left: var(--wb-len-8);\n right: var(--wb-len-8);\n height: var(--wb-len-2);\n background: var(--dsw-alias-brand-primary);\n}\n\n._ghost_15ptp_119 {\n position: fixed;\n z-index: var(--wb-z-40);\n pointer-events: none;\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--wb-static-shadow-ghost);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n white-space: nowrap;\n}\n\n._grip_15ptp_134 {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: center;\n color: var(--dsw-alias-label-tertiary);\n user-select: none;\n cursor: grab;\n touch-action: none;\n}\n\n._gripDragging_15ptp_144 {\n cursor: grabbing;\n}\n\n._gripBlocked_15ptp_148 {\n cursor: not-allowed;\n}\n\n._label_15ptp_152 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._name_15ptp_159 {\n min-width: 0;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n\n._error_15ptp_170 {\n margin: 0;\n padding: 0 var(--wb-len-14) var(--wb-len-10);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._dep_15ptp_178 {\n flex: none;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n}\n\n._group_15ptp_186 {\n padding-top: var(--wb-len-6);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._groupTitle_15ptp_191 {\n margin: 0;\n padding: var(--wb-len-2) var(--wb-len-8) 0 var(--wb-len-14);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n font-weight: 400;\n color: var(--dsw-alias-label-tertiary);\n}\n._panel_1whum_1 {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: var(--wb-z-10);\n visibility: hidden;\n}\n\n._panel_1whum_1[data-fullscreen] {\n z-index: var(--wb-z-40);\n}\n\n._panel_1whum_1[data-open] {\n visibility: visible;\n}\n\n._columns_1whum_18 {\n display: block;\n column-gap: var(--wb-len-12);\n}\n\n._cell_1whum_23 {\n display: flow-root;\n min-width: 0;\n break-inside: avoid;\n margin-bottom: var(--wb-len-12);\n}\n._root_1cmz0_1 {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}\n\n._rail_1cmz0_7 {\n margin: 0 0 var(--wb-len-4);\n}\n\n._glyphBox_1cmz0_11 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n._glyph_1cmz0_11 {\n position: relative;\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._glyphActive_1cmz0_30 {\n color: var(--dsw-alias-state-business-primary);\n}\n\n._triggerName_1cmz0_34 {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n._dir_1cmz0_45 {\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._name_1cmz0_53 {\n flex: 0 1 auto;\n max-width: 50%;\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._triggerName_1cmz0_34 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._row_1cmz0_66 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n width: 100%;\n min-width: 0;\n}\n\n._trailing_1cmz0_74 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n margin-inline-start: auto;\n}\n\n._trailing_1cmz0_74 ._rowAction_1cmz0_84 {\n width: var(--wb-len-20);\n min-width: var(--wb-len-20);\n height: var(--wb-len-20);\n min-height: var(--wb-len-20);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n}\n\n._row_1cmz0_66 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._current_1cmz0_97 {\n flex: none;\n display: inline-flex;\n align-items: center;\n color: var(--dsw-alias-label-primary);\n}\n._dot_sosf1_1 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n._overlay_sosf1_8 {\n position: absolute;\n inset-block-start: var(--wb-len-neg-3);\n inset-inline-end: var(--wb-len-neg-3);\n}\n._tag_g9dg8_1 {\n flex: none;\n margin-inline-start: auto;\n}\n._dialog_1vye5_1 {\n width: min(var(--wb-len-420), 100%);\n}\n\n._stack_1vye5_5 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._input_1vye5_12 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-12);\n}\n\n._meta_1vye5_18 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n._dot_14w1n_1 {\n display: inline-flex;\n align-items: center;\n}\n\n._hover_14w1n_6 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._blocker_1oaj0_1 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-20) var(--wb-len-16);\n text-align: center;\n}\n\n._icon_1oaj0_10 {\n display: flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._title_1oaj0_15 {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_1oaj0_23 {\n margin: 0;\n max-width: var(--wb-len-42em);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n text-wrap: pretty;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 {\n align-items: flex-start;\n gap: var(--wb-len-6);\n padding: var(--wb-len-4) 0 var(--wb-len-2);\n text-align: left;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._title_1oaj0_15 {\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._hint_1oaj0_23 {\n max-width: 100%;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._actions_1oaj0_48 {\n margin-top: var(--wb-len-8);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._raw_1oaj0_52 {\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._actions_1oaj0_48 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-6);\n}\n\n._raw_1oaj0_52 {\n margin-top: var(--wb-len-10);\n width: 100%;\n max-width: var(--wb-len-360);\n text-align: left;\n}\n\n._notice_1oaj0_71 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: start;\n column-gap: var(--wb-len-10);\n margin: 0 0 var(--wb-len-10);\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-left: 2px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._notice_1oaj0_71._noticeFlat_1oaj0_84 {\n margin: 0;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n._noticeText_1oaj0_91 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-3);\n min-width: 0;\n}\n\n._noticeTitle_1oaj0_98 {\n font-size: var(--wb-font-12-5);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._noticeHint_1oaj0_105 {\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._noticeActions_1oaj0_112 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-neg-2);\n}\n\n._failure_1oaj0_119 {\n margin: var(--wb-len-8) 0 0;\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._failureDetail_1oaj0_127 {\n display: block;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-label-tertiary);\n white-space: pre-wrap;\n}\n\n._inlineAction_1oaj0_134 {\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n\n._inlineAction_1oaj0_134:disabled {\n opacity: 0.6;\n cursor: default;\n}\n\n._rawText_1oaj0_146 {\n margin: var(--wb-len-6) 0 0;\n max-width: 100%;\n}\n/*$vite$:1*/";
16505
16830
  function workbenchCss() {
16506
16831
  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}`;
16507
16832
  }