@chatcode/cco-better-sidebar 0.18.0-rc.4 → 0.18.0-rc.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js CHANGED
@@ -2020,15 +2020,29 @@ window.__ModuleLoader__.load({
2020
2020
  pluginMarketUser: "ユーザー",
2021
2021
  pluginMarketInstalled: "プラグインをインストールしました。",
2022
2022
  pluginMarketUninstalled: "プラグインをアンインストールしました。",
2023
- pluginMarketSubtitle: "マーケットを参照し、プロジェクトまたはユーザー環境にインストールします。",
2023
+ pluginMarketSubtitle: "マーケットを参照し、プロジェクトディレクトリを選ぶかユーザー環境にインストールします。",
2024
+ pluginMarketChooseProject: "プロジェクトディレクトリを選択",
2025
+ pluginMarketProjectHint: "プロジェクトにインストールする場合は対象フォルダーを選択してください。",
2026
+ pluginMarketChoosingDirectory: "ディレクトリを選択中…",
2027
+ pluginMarketInstalledAt: "プラグインのインストール先:{path}",
2028
+ pluginMarketInstallPath: "{scope}のインストール先:{path}",
2029
+ pluginMarketDirectoryPath: "ディレクトリパス",
2030
+ pluginMarketOpenDirectory: "ディレクトリを開く",
2031
+ pluginMarketSelectDirectory: "このディレクトリを選択",
2032
+ pluginMarketHomeDirectory: "ホーム",
2033
+ pluginMarketDirectoryTruncated: "一部のフォルダーのみ表示しています。完全なパスを入力してプロジェクトを開けます。",
2024
2034
  pluginMarketSearch: "マーケットやプラグインを検索",
2025
2035
  pluginMarketDefault: "デフォルト",
2026
2036
  pluginMarketBrowse: "プラグインを見る",
2027
2037
  pluginMarketNoDescription: "説明なし",
2028
2038
  pluginMarketInstalling: "インストール中…",
2029
2039
  pluginMarketUninstalling: "アンインストール中…",
2040
+ pluginMarketInstallProgress: "{name} をインストールしています。しばらくお待ちください…",
2041
+ pluginMarketUninstallProgress: "{name} をアンインストールしています。しばらくお待ちください…",
2030
2042
  accountMenuSettings: "設定",
2031
2043
  accountMenuLogout: "ログアウト",
2044
+ accountMenuLogoutConfirmTitle: "ログアウトしますか?",
2045
+ accountMenuLogoutConfirmDescription: "ChatCode CLI からログアウトしますか?続行するには再度ログインする必要があります。",
2032
2046
  accountMenuLabel: "アカウントメニュー",
2033
2047
  updateMenu: "更新を確認 / 今すぐ更新",
2034
2048
  updateNav: "更新",
@@ -9617,15 +9631,29 @@ window.__ModuleLoader__.load({
9617
9631
  pluginMarketUser: "用户级",
9618
9632
  pluginMarketInstalled: "插件安装成功。",
9619
9633
  pluginMarketUninstalled: "插件卸载成功。",
9620
- pluginMarketSubtitle: "浏览插件市场,选择安装到当前项目或用户环境。",
9634
+ pluginMarketSubtitle: "浏览插件市场,选择项目目录安装,或安装到用户环境。",
9635
+ pluginMarketChooseProject: "选择项目目录",
9636
+ pluginMarketProjectHint: "安装到项目时,请先选择目标项目文件夹。",
9637
+ pluginMarketChoosingDirectory: "正在选择目录…",
9638
+ pluginMarketInstalledAt: "插件已安装到:{path}",
9639
+ pluginMarketInstallPath: "{scope}安装目录:{path}",
9640
+ pluginMarketDirectoryPath: "目录路径",
9641
+ pluginMarketOpenDirectory: "打开目录",
9642
+ pluginMarketSelectDirectory: "选择此目录",
9643
+ pluginMarketHomeDirectory: "主目录",
9644
+ pluginMarketDirectoryTruncated: "目录过多,仅显示部分结果;可输入完整路径打开项目。",
9621
9645
  pluginMarketSearch: "搜索市场或插件",
9622
9646
  pluginMarketDefault: "默认",
9623
9647
  pluginMarketBrowse: "查看插件",
9624
9648
  pluginMarketNoDescription: "暂无描述",
9625
9649
  pluginMarketInstalling: "安装中…",
9626
9650
  pluginMarketUninstalling: "卸载中…",
9651
+ pluginMarketInstallProgress: "正在安装 {name},请稍候…",
9652
+ pluginMarketUninstallProgress: "正在卸载 {name},请稍候…",
9627
9653
  accountMenuSettings: "设置",
9628
9654
  accountMenuLogout: "退出登录",
9655
+ accountMenuLogoutConfirmTitle: "退出登录?",
9656
+ accountMenuLogoutConfirmDescription: "确定要退出 ChatCode CLI 吗?退出后需要重新登录才能继续使用。",
9629
9657
  accountMenuLabel: "账户菜单",
9630
9658
  updateMenu: "检查更新 / 一键更新",
9631
9659
  updateNav: "更新",
@@ -10108,15 +10136,29 @@ window.__ModuleLoader__.load({
10108
10136
  pluginMarketUser: "User",
10109
10137
  pluginMarketInstalled: "Plugin installed.",
10110
10138
  pluginMarketUninstalled: "Plugin uninstalled.",
10111
- pluginMarketSubtitle: "Browse marketplaces and install plugins for your project or user.",
10139
+ pluginMarketSubtitle: "Browse marketplaces, choose a project directory, or install for your user.",
10140
+ pluginMarketChooseProject: "Choose project directory",
10141
+ pluginMarketProjectHint: "Choose a target project folder when installing for a project.",
10142
+ pluginMarketChoosingDirectory: "Choosing directory…",
10143
+ pluginMarketInstalledAt: "Plugin installed at: {path}",
10144
+ pluginMarketInstallPath: "{scope} installation directory: {path}",
10145
+ pluginMarketDirectoryPath: "Directory path",
10146
+ pluginMarketOpenDirectory: "Open directory",
10147
+ pluginMarketSelectDirectory: "Select this directory",
10148
+ pluginMarketHomeDirectory: "Home",
10149
+ pluginMarketDirectoryTruncated: "Only some folders are shown. Enter the full path to open your project.",
10112
10150
  pluginMarketSearch: "Search marketplaces or plugins",
10113
10151
  pluginMarketDefault: "Default",
10114
10152
  pluginMarketBrowse: "Browse plugins",
10115
10153
  pluginMarketNoDescription: "No description",
10116
10154
  pluginMarketInstalling: "Installing…",
10117
10155
  pluginMarketUninstalling: "Uninstalling…",
10156
+ pluginMarketInstallProgress: "Installing {name}, please wait…",
10157
+ pluginMarketUninstallProgress: "Uninstalling {name}, please wait…",
10118
10158
  accountMenuSettings: "Settings",
10119
10159
  accountMenuLogout: "Log out",
10160
+ accountMenuLogoutConfirmTitle: "Log out?",
10161
+ accountMenuLogoutConfirmDescription: "Are you sure you want to log out of ChatCode CLI? You will need to sign in again to continue.",
10120
10162
  accountMenuLabel: "Account menu",
10121
10163
  updateMenu: "Check for updates / Update now",
10122
10164
  updateNav: "Update",
@@ -10589,6 +10631,41 @@ window.__ModuleLoader__.load({
10589
10631
  */
10590
10632
  const LOCALE_NS = "betterSidebar";
10591
10633
  const accountAndModelFallback = {
10634
+ pluginMarketTitle: en$1.pluginMarketTitle,
10635
+ pluginMarketProjectDirectory: en$1.pluginMarketProjectDirectory,
10636
+ pluginMarketInstalledTab: en$1.pluginMarketInstalledTab,
10637
+ pluginMarketRefresh: en$1.pluginMarketRefresh,
10638
+ pluginMarketLoading: en$1.pluginMarketLoading,
10639
+ pluginMarketRefreshing: en$1.pluginMarketRefreshing,
10640
+ pluginMarketEmpty: en$1.pluginMarketEmpty,
10641
+ pluginMarketBack: en$1.pluginMarketBack,
10642
+ pluginMarketInstall: en$1.pluginMarketInstall,
10643
+ pluginMarketUninstall: en$1.pluginMarketUninstall,
10644
+ pluginMarketProject: en$1.pluginMarketProject,
10645
+ pluginMarketUser: en$1.pluginMarketUser,
10646
+ pluginMarketInstalled: en$1.pluginMarketInstalled,
10647
+ pluginMarketUninstalled: en$1.pluginMarketUninstalled,
10648
+ pluginMarketSubtitle: en$1.pluginMarketSubtitle,
10649
+ pluginMarketChooseProject: en$1.pluginMarketChooseProject,
10650
+ pluginMarketProjectHint: en$1.pluginMarketProjectHint,
10651
+ pluginMarketChoosingDirectory: en$1.pluginMarketChoosingDirectory,
10652
+ pluginMarketInstalledAt: en$1.pluginMarketInstalledAt,
10653
+ pluginMarketInstallPath: en$1.pluginMarketInstallPath,
10654
+ pluginMarketDirectoryPath: en$1.pluginMarketDirectoryPath,
10655
+ pluginMarketOpenDirectory: en$1.pluginMarketOpenDirectory,
10656
+ pluginMarketSelectDirectory: en$1.pluginMarketSelectDirectory,
10657
+ pluginMarketHomeDirectory: en$1.pluginMarketHomeDirectory,
10658
+ pluginMarketDirectoryTruncated: en$1.pluginMarketDirectoryTruncated,
10659
+ pluginMarketSearch: en$1.pluginMarketSearch,
10660
+ pluginMarketDefault: en$1.pluginMarketDefault,
10661
+ pluginMarketBrowse: en$1.pluginMarketBrowse,
10662
+ pluginMarketNoDescription: en$1.pluginMarketNoDescription,
10663
+ pluginMarketInstalling: en$1.pluginMarketInstalling,
10664
+ pluginMarketUninstalling: en$1.pluginMarketUninstalling,
10665
+ pluginMarketInstallProgress: en$1.pluginMarketInstallProgress,
10666
+ pluginMarketUninstallProgress: en$1.pluginMarketUninstallProgress,
10667
+ accountMenuLogoutConfirmTitle: en$1.accountMenuLogoutConfirmTitle,
10668
+ accountMenuLogoutConfirmDescription: en$1.accountMenuLogoutConfirmDescription,
10592
10669
  chatcodeGateChecking: en$1.chatcodeGateChecking,
10593
10670
  chatcodeGateUnverified: en$1.chatcodeGateUnverified,
10594
10671
  chatcodeGatePending: en$1.chatcodeGatePending,
@@ -12152,7 +12229,7 @@ window.__ModuleLoader__.load({
12152
12229
  }
12153
12230
  //#endregion
12154
12231
  //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/DSH-better-sidebar/src/client/sidebar.module.css.mjs
12155
- const css$6 = ".FV0QMq_releaseNotesOverlay{z-index:120;pointer-events:auto;background:color-mix(in srgb, var(--dsw-alias-bg-base) 72%, transparent);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.FV0QMq_releaseNotesDialog{width:min(720px,100%);max-height:min(760px,100vh - 48px);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.FV0QMq_releaseNotesHeader,.FV0QMq_releaseNotesFooter{align-items:center;padding:16px 20px;display:flex}.FV0QMq_releaseNotesHeader{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;gap:16px}.FV0QMq_releaseNotesHeader h2{font:var(--dsw-font-s-18);margin:0}.FV0QMq_releaseNotesContent{min-height:120px;font:var(--dsw-font-s-14);padding:20px;overflow:auto}.FV0QMq_releaseNotesFooter{border-top:1px solid var(--dsw-alias-border-l1);justify-content:flex-end}.FV0QMq_releaseNotesIconButton,.FV0QMq_releaseNotesButton{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);cursor:pointer}.FV0QMq_releaseNotesIconButton:hover,.FV0QMq_releaseNotesButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_releaseNotesIconButton{width:32px;height:32px;font:var(--dsw-font-s-18);border-radius:50%;padding:0}.FV0QMq_releaseNotesButton{min-width:84px;min-height:36px;font:var(--dsw-font-s-14);border-radius:8px;padding:6px 16px}.FV0QMq_updateList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.FV0QMq_updateList li{font:var(--dsw-font-s-14);justify-content:space-between;align-items:center;gap:16px;display:flex}.FV0QMq_updateVersions{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary)}.FV0QMq_updateOk{color:var(--dsw-alias-state-success-primary)}.FV0QMq_updateError,.FV0QMq_updateErrorText{color:var(--dsw-alias-state-error-primary)}.FV0QMq_updateErrorText{white-space:pre-wrap;font:var(--dsw-font-s-14);margin:12px 0 0}.FV0QMq_updateCommand{background:var(--dsw-alias-bg-layer-3);font-family:var(--dsw-font-code,var(--ds-font-family-code,monospace));white-space:pre-wrap;word-break:break-all;user-select:all;border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:12px;overflow-x:auto}.FV0QMq_updateSettingsRow{justify-content:space-between;align-items:center;gap:16px;display:flex}.FV0QMq_updateSettingsText{flex-direction:column;gap:2px;min-width:0;display:flex}.FV0QMq_updateSettingsTitle{font:var(--dsw-font-s-14)}.FV0QMq_updateSettingsDesc{font:var(--dsw-font-s-13);color:var(--dsw-alias-label-secondary)}.FV0QMq_updateSettingsBlock{flex-direction:column;gap:12px;display:flex}.FV0QMq_updateBody{font:var(--dsw-font-s-14);margin:20px 0 0}.FV0QMq_updateFooter{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.FV0QMq_updateInline{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:8px;padding:16px}[data-dsh-panel-host]{z-index:25;pointer-events:none;position:fixed;inset:0;overflow:clip}[data-dsh-panel-host][data-dsh-panel-host-degraded]{position:absolute;top:0;left:0}[data-dsh-pinned-sessions]{flex:none;min-width:0}.FV0QMq_pinnedSessions{border-bottom:1px solid var(--dsw-alias-border-l1);margin:0 0 6px;padding:4px 0 6px}.FV0QMq_pinnedSessionsHeading{height:36px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-14);align-items:center;padding:0 4px;display:flex}.FV0QMq_pinnedSessionsList{gap:1px;display:grid}[data-slot=sidebar\\.workspaces] [class*=_sessionRow][data-dsh-session-pinned]{display:none}.FV0QMq_pinnedSessionRow{border-radius:8px;align-items:center;min-width:0;height:32px;display:flex;position:relative}.FV0QMq_pinnedSessionRow:hover,.FV0QMq_pinnedSessionRow:focus-within{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_pinnedSessionOpen,.FV0QMq_pinnedSessionMore,.FV0QMq_pinnedSessionMenu button{font:inherit;cursor:pointer;border:0}.FV0QMq_pinnedSessionOpen{min-width:0;height:100%;color:var(--dsw-alias-label-primary);text-align:left;font:var(--dsw-font-s-14);background:0 0;flex:1;align-items:center;gap:8px;padding:0 6px 0 8px;display:flex}.FV0QMq_pinnedSessionOpen[aria-current=page]{color:var(--dsw-alias-brand-primary)}.FV0QMq_pinnedSessionDot{background:var(--dsw-alias-label-tertiary);border-radius:50%;flex:none;width:6px;height:6px}.FV0QMq_pinnedSessionDot[data-running]{background:var(--dsw-alias-state-success-primary)}.FV0QMq_pinnedSessionTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.FV0QMq_pinnedSessionMore{width:28px;height:28px;color:var(--dsw-alias-label-secondary);letter-spacing:1px;background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-right:2px;padding:0;display:inline-flex}.FV0QMq_pinnedSessionMore:hover,.FV0QMq_pinnedSessionMore[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_pinnedSessionMenu{z-index:1101;box-sizing:border-box;border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-alias-bg-layer-2);border-radius:10px;min-width:150px;padding:4px;position:absolute;top:calc(100% + 2px);right:0}.FV0QMq_pinnedSessionMenu button{width:100%;min-height:32px;color:var(--dsw-alias-label-primary);text-align:left;font:var(--dsw-font-xxs-12);background:0 0;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;display:flex}.FV0QMq_pinnedSessionMenu button:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_pinnedSessionMenuDivider{background:var(--dsw-alias-border-l1);height:1px;margin:4px}.FV0QMq_accountMenu{z-index:3;box-sizing:border-box;width:var(--dsh-account-menu-width,280px);border-top:1px solid var(--dsw-alias-border-l2);border-right:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);pointer-events:auto;position:absolute;bottom:0;left:0}.FV0QMq_accountTrigger,.FV0QMq_accountItem{color:var(--dsw-alias-fg-base);font:inherit;cursor:pointer;border:0}.FV0QMq_accountTrigger{box-sizing:border-box;width:100%;min-height:52px;padding:10px 14px max(10px, env(safe-area-inset-bottom));background:var(--dsw-alias-bg-layer-1);font-family:var(--dsw-font-family-body);font-size:var(--dsw-font-size-body-sm);line-height:var(--dsw-font-line-height-body-sm);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:0;align-items:center;gap:8px;display:flex}.FV0QMq_accountTrigger:hover,.FV0QMq_accountTrigger[aria-expanded=true]{background:var(--dsw-alias-bg-hover)}.FV0QMq_accountTrigger:focus-visible,.FV0QMq_accountItem:focus-visible{outline:2px solid var(--dsw-alias-border-accent);outline-offset:2px}.FV0QMq_accountAvatar{background:var(--dsw-alias-bg-layer-3);border:1px solid var(--dsw-alias-border-l2);width:28px;height:28px;color:var(--dsw-alias-fg-accent);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid;position:relative}.FV0QMq_accountName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_accountDropdown{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);z-index:1;border-radius:12px;width:min(252px,100% - 16px);padding:10px 8px 8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:8px}.FV0QMq_accountDropdownHeader{min-height:36px;font-family:var(--dsw-font-family-body);font-size:var(--dsw-font-size-body-sm);line-height:var(--dsw-font-line-height-body-sm);align-items:center;gap:8px;padding:0 8px 8px;display:flex}.FV0QMq_accountMenuDivider{background:var(--dsw-alias-border-l2);height:1px;margin:0 4px 6px}.FV0QMq_accountItem{text-align:left;min-height:32px;font:var(--dsw-font-s-14);background:0 0;border-radius:7px;align-items:center;gap:8px;padding:0 10px;display:flex}.FV0QMq_accountItem:hover{background:var(--dsw-alias-bg-hover)}.FV0QMq_accountPresence{box-sizing:content-box;border:2px solid var(--dsw-alias-bg-layer-2);background:var(--dsw-alias-fg-accent);border-radius:50%;flex:none;width:6px;height:6px;margin-left:auto}.FV0QMq_accountTrigger .FV0QMq_accountPresence{border-color:var(--dsw-alias-bg-layer-1)}.FV0QMq_toggleCluster{top:var(--dsh-native-sidebar-toggle-top,calc(3px + env(safe-area-inset-top)));z-index:45;pointer-events:auto;flex-direction:row;gap:4px;display:flex;position:absolute;right:10px}.FV0QMq_toggleClusterNative{z-index:auto;flex:none;align-items:center;position:static;inset:auto}button[data-dsh-better-sidebar-toggle]{display:none}body:not([data-dsh-native-sidebar-toggle]) .FV0QMq_panel:not(.FV0QMq_panelHidden) .FV0QMq_tabBar{padding-right:var(--dsh-sidebar-toggle-reserve,188px)}.FV0QMq_toggleButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), color var(--ds-transition-duration-slow) var(--ds-ease-in-out);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.FV0QMq_manualButton{min-width:94px;height:28px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);white-space:nowrap;cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), color var(--ds-transition-duration-slow) var(--ds-ease-in-out);background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:6px;margin-right:4px;padding:0 10px;display:inline-flex}.FV0QMq_manualButton:hover,.FV0QMq_toggleButton:hover:not(:disabled):not([aria-disabled=true]){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_toggleButton:disabled,.FV0QMq_toggleButton[aria-disabled=true]{opacity:.4;cursor:default}.FV0QMq_panel{box-sizing:border-box;z-index:40;pointer-events:auto;background:var(--dsw-alias-bg-layer-1);border-left:1px solid var(--dsw-alias-border-l2);padding-bottom:env(safe-area-inset-bottom);transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), width var(--ds-transition-duration-slow) var(--ds-ease-in-out);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.FV0QMq_panelHidden{pointer-events:none;visibility:hidden;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), width var(--ds-transition-duration-slow) var(--ds-ease-in-out), visibility 0s linear var(--ds-transition-duration-slow);transform:translate(102%)}.FV0QMq_panel[data-dragging]{transition:none}.FV0QMq_panelResize{cursor:col-resize;z-index:2;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.FV0QMq_panelResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_panelBody{flex:1;min-width:0;min-height:0;display:flex}.FV0QMq_bottomPanel{z-index:40;background:var(--dsw-alias-bg-layer-1);border-top:1px solid var(--dsw-alias-border-l2);pointer-events:auto;padding-bottom:env(safe-area-inset-bottom);transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out);flex-direction:column;display:flex;position:absolute;bottom:0}.FV0QMq_bottomPanelHidden{pointer-events:none;visibility:hidden;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out), visibility 0s linear var(--ds-transition-duration-slow);transform:translateY(102%)}.FV0QMq_bottomPanel[data-dragging]{transition:none}.FV0QMq_panel,.FV0QMq_bottomPanel{contain:layout style}body[data-dsh-sidebar-dragging] .FV0QMq_panel,body[data-dsh-sidebar-dragging] .FV0QMq_bottomPanel{will-change:transform}.FV0QMq_bottomResize{cursor:row-resize;z-index:2;touch-action:none;height:8px;position:absolute;top:-4px;left:0;right:0}.FV0QMq_bottomResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_bottomClose{z-index:4;width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:3px;right:6px}.FV0QMq_bottomClose:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_bottomPanel .FV0QMq_tabBar{padding-right:40px}.FV0QMq_floatWindow{z-index:42;pointer-events:auto;background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);box-shadow:var(--dsw-shadow-lv3);contain:layout style;border-radius:8px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.FV0QMq_floatWindowDragging{will-change:left, top, width, height}.FV0QMq_floatHeader{height:34px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1);cursor:grab;user-select:none;flex:none;align-items:center;gap:4px;padding:0 4px 0 10px;display:flex}.FV0QMq_floatWindowDragging .FV0QMq_floatHeader{cursor:grabbing}.FV0QMq_floatTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.FV0QMq_floatClose{width:18px;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.FV0QMq_floatClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_floatContent{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.FV0QMq_floatResize{z-index:2;cursor:nwse-resize;touch-action:none;width:14px;height:14px;position:absolute;bottom:0;right:0}.FV0QMq_floatResize:hover{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_pane[data-dsh-float-dock-over]{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px}.FV0QMq_floatDropHint{z-index:46;pointer-events:none;border:2px dashed var(--dsw-alias-interactive-bg-hover-accent);background:color-mix(in srgb, var(--dsw-alias-interactive-bg-hover-accent) 12%, transparent);border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute}.FV0QMq_floatDropHintLabel{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);border-radius:999px;padding:4px 12px}.FV0QMq_toggleCluster,.FV0QMq_toggleButton,.FV0QMq_manualButton,.FV0QMq_tabBar,.FV0QMq_floatHeader{-webkit-app-region:no-drag}body[data-dsh-title-bar-compat] .FV0QMq_toggleCluster{top:var(--dsh-native-sidebar-toggle-top,calc(var(--dsh-title-bar-strip,40px) + 3px))}body[data-dsh-title-bar-compat] .FV0QMq_panel{padding-top:var(--dsh-title-bar-strip,40px)}.FV0QMq_cornerHandle{left:-6px;bottom:calc(var(--dsh-sidebar-height,0px) + 6px);z-index:2;cursor:nwse-resize;touch-action:none;width:12px;height:12px;position:absolute}.FV0QMq_cornerHandle:hover,.FV0QMq_cornerHandle[data-dragging]{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_iconButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.FV0QMq_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_iconButton:disabled{opacity:.4;cursor:default}.FV0QMq_workbench,.FV0QMq_split{flex:1;min-width:0;min-height:0;display:flex}.FV0QMq_splitRow{flex-direction:row}.FV0QMq_splitCol{flex-direction:column}.FV0QMq_splitChild{display:flex;position:relative;overflow:hidden}.FV0QMq_divider{z-index:3;touch-action:none;flex:none;position:relative}.FV0QMq_dividerRow:after,.FV0QMq_dividerCol:after{content:\"\";background:var(--dsw-alias-border-l2);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);position:absolute}.FV0QMq_dividerRow{cursor:col-resize;width:7px;margin:0 -2px}.FV0QMq_dividerRow:after{width:1px;top:0;bottom:0;left:50%;transform:translate(-50%)}.FV0QMq_dividerCol{cursor:row-resize;height:7px;margin:-2px 0}.FV0QMq_dividerCol:after{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.FV0QMq_divider:hover:after,.FV0QMq_dividerActive:after{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_pane{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.FV0QMq_paneDrop{outline:1px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.FV0QMq_dropOverlay{z-index:6;pointer-events:none;background:var(--dsw-alias-interactive-bg-hover-accent);opacity:.5;position:absolute}.FV0QMq_dropLeft{width:25%;top:0;bottom:0;left:0}.FV0QMq_dropRight{width:25%;top:0;bottom:0;right:0}.FV0QMq_dropUp{height:25%;top:0;left:0;right:0}.FV0QMq_dropDown{height:25%;bottom:0;left:0;right:0}.FV0QMq_dropCenter{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px;background:0 0;inset:25%}.FV0QMq_paneContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.FV0QMq_paneTab{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_paneTabHidden{display:none}.FV0QMq_paneEmptyCards{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:8px;min-height:0;padding:12px;display:grid;overflow:hidden}.FV0QMq_paneCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 8px;display:flex}.FV0QMq_paneCard:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l2)}.FV0QMq_paneCard:disabled{opacity:.45;cursor:default}.FV0QMq_tabBar{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);flex:none;align-items:stretch;height:34px;display:flex}.FV0QMq_tabBarDrop{outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.FV0QMq_tabList{scrollbar-width:none;flex:1;min-width:0;display:flex;overflow-x:auto}.FV0QMq_tabList::-webkit-scrollbar{display:none}.FV0QMq_tab{min-width:64px;max-width:160px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);border-right:1px solid var(--dsw-alias-border-l1);cursor:pointer;user-select:none;background:0 0;flex:none;align-items:center;gap:4px;padding:0 4px 0 10px;display:flex}.FV0QMq_tab:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_tabActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.FV0QMq_tabTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.FV0QMq_tabBadge{min-width:16px;height:15px;font:var(--dsw-font-xxxs-strong-11);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-brand-primary);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.FV0QMq_tabClose{width:18px;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.FV0QMq_tabClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_tabBarPlus{background:var(--dsw-alias-bg-layer-1);width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border:none;border-radius:5px;flex:none;justify-content:center;align-self:center;align-items:center;margin:0 6px;padding:0;display:inline-flex;position:sticky;right:0}.FV0QMq_tabBarPlus:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_pinnedTab{color:var(--dsw-alias-label-tertiary);font-style:italic}.FV0QMq_pinnedTab:hover{color:var(--dsw-alias-label-secondary)}.FV0QMq_explorer{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_explorerHeader{flex:none;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.FV0QMq_explorerRoot{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_explorerBody{flex:1;min-height:0;padding:4px 8px 8px;overflow:hidden auto}.FV0QMq_explorerRow{box-sizing:border-box;width:100%;max-width:100%;height:34px;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;white-space:nowrap;animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:0 8px;display:flex}.FV0QMq_explorerRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_explorerRowRevealed{background:var(--dsw-alias-state-business-tertiary)}.FV0QMq_explorerRowRevealed+.FV0QMq_explorerRowRevealed{border-top-left-radius:0;border-top-right-radius:0}.FV0QMq_explorerRowRevealed:has(+.FV0QMq_explorerRowRevealed){border-bottom-right-radius:0;border-bottom-left-radius:0}.FV0QMq_explorerDir{font:var(--dsw-font-s-strong-14)}.FV0QMq_explorerHidden{opacity:.45}.FV0QMq_explorerSymlink{color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_explorerBroken .FV0QMq_explorerName{color:var(--dsw-alias-state-error-primary)}.FV0QMq_explorerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.FV0QMq_explorerRef{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);height:20px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;align-items:center;padding:0 8px;display:none}.FV0QMq_explorerRef:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_explorerRow:hover .FV0QMq_explorerRef,.FV0QMq_explorerRow:focus-within .FV0QMq_explorerRef{display:inline-flex}.FV0QMq_explorerCopied{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_explorerError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);cursor:default}@keyframes FV0QMq_dsh-row-in{0%{opacity:0}}.FV0QMq_explorerEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.FV0QMq_explorerRowDropTarget{background:var(--dsw-alias-interactive-bg-hover);outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.FV0QMq_uploadDropZone{z-index:1001;pointer-events:none;border:2px dashed var(--dsw-alias-interactive-bg-hover-accent);box-shadow:0 0 0 200vmax var(--dsw-alias-bg-mask-drop);animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);border-radius:10px;justify-content:center;align-items:flex-start;padding:12px;display:flex;position:fixed}.FV0QMq_uploadDropHero{flex-direction:column;align-items:center;gap:10px;max-width:100%;padding-top:8px;display:flex}.FV0QMq_uploadDropZonePill{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);max-width:100%;box-shadow:var(--dsw-shadow-lv2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:flex}.FV0QMq_uploadDropZoneText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.FV0QMq_uploadDropChatHint{z-index:1002;pointer-events:none;animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0}.FV0QMq_uploadDropChatCard{text-align:center;max-width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-strong-14);flex-direction:column;align-items:center;gap:12px;display:flex}.FV0QMq_uploadOverlay{z-index:30;background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur);animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.FV0QMq_uploadOverlayCard{border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-alias-bg-layer-2);min-width:280px;max-width:min(420px,100% - 48px);box-shadow:var(--dsw-shadow-lv3);border-radius:24px;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.FV0QMq_uploadOverlayTitle{font:var(--dsw-font-s-strong-14);color:var(--dsw-alias-label-primary);align-items:center;gap:8px;display:flex}.FV0QMq_uploadOverlayTitle>svg{flex:none}.FV0QMq_uploadOverlayTitle>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.FV0QMq_uploadOverlayProgress{background:var(--dsw-alias-border-l2);border-radius:3px;height:6px;overflow:hidden}.FV0QMq_uploadOverlayProgressFill{background:var(--dsw-alias-interactive-bg-hover-accent);height:100%;transition:width .15s var(--ds-ease-in-out);border-radius:3px}.FV0QMq_uploadOverlayStatus{min-height:1em;font:var(--dsw-font-xxs-12);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.FV0QMq_uploadOverlayCancel{border:1px solid var(--dsw-alias-border-l2);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-end;padding:0 14px}.FV0QMq_uploadOverlayCancel:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.FV0QMq_uploadOverlayCancel:disabled{opacity:.4;cursor:default}.FV0QMq_editor{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_editorHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.FV0QMq_editorTitle{min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.FV0QMq_editorPathInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.FV0QMq_editorPathInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.FV0QMq_editorTreeToggleActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.FV0QMq_editorBody{flex:1;min-height:0;display:flex}.FV0QMq_editorMain{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.FV0QMq_editorTreeDock{border-left:1px solid var(--dsw-alias-border-l1);flex:none;min-height:0;display:flex;position:relative}.FV0QMq_editorTreeResize{cursor:col-resize;touch-action:none;z-index:3;width:6px;position:absolute;top:0;bottom:0;left:0}.FV0QMq_editorTreeResize:hover{background:var(--dsw-alias-border-l2)}.FV0QMq_editorTreePanel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.FV0QMq_editorTreePanelFull{flex:1}.FV0QMq_editorTreeSearch{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.FV0QMq_editorSearchInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:26px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.FV0QMq_editorSearchInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.FV0QMq_editorSearchHint{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:8px 12px}.FV0QMq_editorSearchResult{width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 8px;display:block;overflow:hidden}.FV0QMq_editorSearchResult:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorStatus{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.FV0QMq_editorStatusError{color:var(--dsw-alias-state-error-primary)}.FV0QMq_dirtyDot{background:var(--dsw-alias-state-warn-primary);border-radius:50%;flex:none;width:7px;height:7px}.FV0QMq_editorPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;padding:16px;display:flex}.FV0QMq_orphanedType{opacity:.7;overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.FV0QMq_editorBinary{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.FV0QMq_editorBinaryNotice{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.FV0QMq_editorDownloadLink{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), border-color var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:6px;align-items:center;gap:6px;padding:6px 14px;text-decoration:none;display:inline-flex}.FV0QMq_editorDownloadLink:hover{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.FV0QMq_editorError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);padding:12px 16px}.FV0QMq_fenceError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.FV0QMq_editorBanner{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 8px}.FV0QMq_sandboxStatus{font:var(--dsw-font-xxxs-11);flex:none;align-items:center;gap:8px;padding:4px 10px;display:flex}.FV0QMq_sandboxStatusOn{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1)}.FV0QMq_sandboxStatusOff{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 10%, transparent);border-bottom:1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent)}.FV0QMq_sandboxDot{background:var(--dsw-alias-state-success-primary);border-radius:50%;flex:none;width:6px;height:6px}.FV0QMq_sandboxStatusOff .FV0QMq_sandboxDot{background:var(--dsw-alias-state-error-primary)}.FV0QMq_sandboxStatusText{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.FV0QMq_sandboxAction{border:1px solid var(--dsw-alias-border-l2);font:inherit;color:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:2px 8px}.FV0QMq_sandboxAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorHtml{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.FV0QMq_browser{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_browserBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex}.FV0QMq_browserInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.FV0QMq_browserInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.FV0QMq_browserMessage{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 12px}.FV0QMq_browserFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.FV0QMq_browserStart{text-align:center;min-height:0;font:var(--dsw-font-xs-13);color:var(--dsw-alias-label-tertiary);flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.FV0QMq_browserBlocked{text-align:center;min-height:0;color:var(--dsw-alias-state-warn-primary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.FV0QMq_browserBlockedTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary)}.FV0QMq_browserBlockedDesc{max-width:280px;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary)}.FV0QMq_browserBlockedActions{gap:8px;margin-top:6px;display:flex}.FV0QMq_browserBlockedButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-11);cursor:pointer;border-radius:6px;padding:4px 12px}.FV0QMq_browserBlockedButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorCm{background:0 0;flex:1;min-height:0;overflow:hidden}.FV0QMq_editorCmHidden{display:none}.FV0QMq_editorCm .cm-editor{height:100%}.FV0QMq_editorCm .cm-scroller{padding:12px 16px}.FV0QMq_editorCm .cm-editor.cm-focused{outline:none}.FV0QMq_editorModeToggle{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.FV0QMq_editorModeButton{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px}.FV0QMq_editorModeButton:hover{color:var(--dsw-alias-label-primary)}.FV0QMq_editorModeActive{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary)}.FV0QMq_editorImageWrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.FV0QMq_editorImage{object-fit:contain;max-width:100%;max-height:100%}.FV0QMq_editorMd{min-height:0;font:var(--dsw-font-xs-13);flex:1;padding:12px 16px;overflow-y:auto}.FV0QMq_mermaidWrap{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;margin:6px 0;overflow:hidden}.FV0QMq_mermaidHeader{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;display:flex}.FV0QMq_mermaidInfo{font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary)}.FV0QMq_mermaidCopy{height:20px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.FV0QMq_mermaidCopy:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_mermaidBody{cursor:zoom-in;justify-content:center;padding:10px;display:flex;overflow:auto}.FV0QMq_mermaidBody svg{max-width:100%;height:auto}.FV0QMq_mermaidError{border-bottom:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-xxxs-11);padding:6px 10px}.FV0QMq_mermaidCode{font:var(--dsw-font-xxxs-11);margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.FV0QMq_mermaidMarkdown .md-code-block[data-mermaid-processed]{display:contents}.FV0QMq_mermaidModal{z-index:1000;background:var(--dsw-alias-bg-mask-1);backdrop-filter:blur(2px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.FV0QMq_mermaidModalToolbar{z-index:10;gap:8px;display:flex;position:absolute;top:16px;right:16px}.FV0QMq_mermaidModalButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:36px;height:36px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xs-strong-13);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.FV0QMq_mermaidModalButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_mermaidModalStage{justify-content:center;align-items:center;width:90vw;height:80vh;display:flex;position:relative;overflow:hidden}.FV0QMq_mermaidModalStage svg{cursor:grab;transform-origin:50%;user-select:none;-webkit-user-drag:none;background:var(--dsw-alias-bg-layer-1);border-radius:12px;max-width:none;max-height:none;padding:16px}.FV0QMq_mermaidModalStage svg:active{cursor:grabbing}.FV0QMq_mermaidModalHint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);pointer-events:none;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.FV0QMq_selectionPopup{z-index:60;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-strong-11);white-space:nowrap;cursor:pointer;border-radius:6px;align-items:center;padding:0 10px;display:inline-flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.FV0QMq_selectionPopup:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorPdf{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_editorPdfToolbar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:flex-end;padding:6px 8px;display:flex}.FV0QMq_editorPdfStage{flex:1;min-height:0;display:flex;position:relative}.FV0QMq_editorPdfFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.FV0QMq_editorPdfFrameBlocked{pointer-events:none}.FV0QMq_editorPdfDragShield{z-index:4;pointer-events:none;background:0 0;position:absolute;inset:0}.FV0QMq_editorPdfDragShieldActive{pointer-events:auto}body[data-dsh-tab-dragging] .FV0QMq_editorPdfFrame{pointer-events:none!important}body[data-dsh-tab-dragging] .FV0QMq_editorPdfDragShield{pointer-events:auto!important}.FV0QMq_terminalWrap{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.FV0QMq_terminal{flex:1;min-height:0;padding:6px 4px 6px 8px}.FV0QMq_terminal .xterm{height:100%}.FV0QMq_terminalBanner{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:3px 10px;display:flex}.FV0QMq_terminalBannerUrl{word-break:break-all;opacity:.85;flex-basis:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.FV0QMq_boundaryError{z-index:50;background:var(--dsw-alias-bg-layer-1);border-left:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:auto}.FV0QMq_terminalRetry{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;padding:1px 8px}.FV0QMq_terminalRetry:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_terminalDepsBanner{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex-direction:column;flex:none;gap:6px;padding:10px;display:flex}.FV0QMq_terminalDepsTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-state-warn-primary)}.FV0QMq_terminalDepsHint{opacity:.9}.FV0QMq_terminalDepsCommandRow{align-items:flex-start;gap:8px;display:flex}.FV0QMq_terminalRepairCommand{white-space:pre-wrap;word-break:break-all;user-select:text;min-width:0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:4px;flex:1;max-height:160px;margin:0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;overflow:auto}.FV0QMq_terminalDepsNote{opacity:.85}.FV0QMq_terminalDepsActions{align-items:center;gap:8px;display:flex}.FV0QMq_tabBoundaryError{min-height:0;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;flex:1;align-items:flex-start;gap:8px;padding:12px 16px;display:flex;overflow:auto}.FV0QMq_git{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.FV0QMq_gitHeader{flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.FV0QMq_gitWorktreeRow{flex:none;align-items:center;gap:8px;padding:6px 8px 0 12px;display:flex}.FV0QMq_gitWorktreeLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);flex:none}.FV0QMq_gitBranchSelect{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);min-width:0;height:26px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 6px}.FV0QMq_gitSection{border-top:1px solid var(--dsw-alias-border-l1)}.FV0QMq_gitSectionHeader{font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary);text-transform:uppercase;justify-content:space-between;align-items:center;padding:6px 12px 4px;display:flex}.FV0QMq_gitLink{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-brand-primary);cursor:pointer;background:0 0;border:none;padding:0}.FV0QMq_gitLink:hover:not(:disabled){text-decoration:underline}.FV0QMq_gitLink:disabled{opacity:.4;cursor:default}.FV0QMq_gitRow{min-height:34px;animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);border-radius:8px;align-items:center;gap:6px;margin:0 6px;padding:0 8px;display:flex}.FV0QMq_gitRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitRowSelected{background:var(--dsw-alias-interactive-bg-active)}.FV0QMq_gitRowMain{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:3px 0;display:flex}.FV0QMq_gitBadge{width:20px;height:16px;font:var(--dsw-font-xxxs-strong-11);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.FV0QMq_gitName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.FV0QMq_gitEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:4px 12px 8px}.FV0QMq_gitPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.FV0QMq_gitError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);white-space:pre-wrap;padding:8px 12px}.FV0QMq_gitDiff{border-top:1px solid var(--dsw-alias-border-l1);padding:8px}.FV0QMq_gitDiffTab{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.FV0QMq_gitDiffTabHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.FV0QMq_gitDiffTabTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.FV0QMq_gitDiffFile{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:6px;padding:8px 2px 2px;display:flex}.FV0QMq_gitDiffFile:disabled{cursor:default}.FV0QMq_gitDiffFile:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitDiffFileChevron{color:var(--dsw-alias-label-tertiary);flex:none;transform:rotate(0)}.FV0QMq_gitDiffFileChevronExpanded{transform:rotate(90deg)}.FV0QMq_gitDiffFilePath{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_gitDiffFileOld{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:40%;overflow:hidden}.FV0QMq_gitDiffFileTag{border:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:0 6px}.FV0QMq_gitDiffHunk{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);gap:8px;padding:3px 2px;display:flex}.FV0QMq_gitDiffHunkHeader{color:var(--dsw-alias-label-secondary);flex:none}.FV0QMq_gitDiffHunkSection{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_gitDiffLine{font:var(--dsw-font-markdown-code-block-small);white-space:pre-wrap;overflow-wrap:anywhere;align-items:stretch;min-width:0;line-height:20px;display:flex}.FV0QMq_gitDiffNum{text-align:right;width:36px;color:var(--dsw-alias-label-tertiary);user-select:none;flex:none;padding-right:8px}.FV0QMq_gitDiffCode{flex:1;min-width:0;overflow:visible}.FV0QMq_gitDiffCtx{color:var(--dsw-alias-label-primary)}.FV0QMq_gitDiffDel{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.FV0QMq_gitDiffAdd{color:var(--dsw-alias-state-success-primary);background:color-mix(in srgb, var(--dsw-alias-state-success-primary) 12%, transparent)}.FV0QMq_gitDiffMeta{padding-left:2px}.FV0QMq_gitDiffMetaText{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);font-style:italic}.FV0QMq_gitDiffExpand{width:100%;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-brand-primary);cursor:pointer;text-align:center;background:0 0;border:none;margin:4px 0;display:block}.FV0QMq_gitDiffExpand:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitConfirmDesc{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);white-space:pre-wrap;margin:0}.FV0QMq_gitCommit{border-top:1px solid var(--dsw-alias-border-l1);align-items:center;gap:6px;padding:8px 12px;display:flex}.FV0QMq_gitCommitInput{flex:1;min-width:0}.FV0QMq_gitCommitButton{background:var(--dsw-alias-button-primary-fill);height:26px;color:var(--dsw-alias-label-primary-inverted);font:var(--dsw-font-xxs-strong-12);cursor:pointer;border:none;border-radius:6px;flex:none;padding:0 12px}.FV0QMq_gitCommitButton:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}.FV0QMq_gitCommitButton:disabled{opacity:.45;cursor:default}.FV0QMq_gitLogRow{cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:5px 12px;display:flex}.FV0QMq_gitLogRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitLogLine1{align-items:baseline;gap:8px;min-width:0;display:flex}.FV0QMq_gitLogHash{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_gitLogLine2{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.FV0QMq_gitLogRef{border:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-brand-primary);white-space:nowrap;border-radius:999px;flex:none;padding:0 5px}.FV0QMq_gitLogSubject{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.FV0QMq_gitLogMeta{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.FV0QMq_gitLogMore{border:1px solid var(--dsw-alias-border-l2);width:calc(100% - 24px);font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:6px;margin:4px 12px 8px;padding:6px 0;display:block}.FV0QMq_gitLogMore:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_gitLogMore:disabled{opacity:.5;cursor:default}.FV0QMq_producedRow{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.FV0QMq_producedLabel{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.FV0QMq_producedChip{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);max-width:200px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex;overflow:hidden}.FV0QMq_producedChip:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_producedChip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_producedMore{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.FV0QMq_toggleButton:focus-visible,.FV0QMq_manualButton:focus-visible,.FV0QMq_bottomClose:focus-visible,.FV0QMq_iconButton:focus-visible,.FV0QMq_tab:focus-visible,.FV0QMq_tabClose:focus-visible,.FV0QMq_tabBarPlus:focus-visible,.FV0QMq_paneCard:focus-visible,.FV0QMq_explorerRow:focus-visible,.FV0QMq_explorerRef:focus-visible,.FV0QMq_gitRowMain:focus-visible,.FV0QMq_gitLink:focus-visible,.FV0QMq_gitCommitButton:focus-visible,.FV0QMq_gitLogRow:focus-visible,.FV0QMq_gitLogMore:focus-visible,.FV0QMq_gitDiffFile:focus-visible,.FV0QMq_gitDiffExpand:focus-visible,.FV0QMq_terminalRetry:focus-visible,.FV0QMq_editorModeButton:focus-visible,.FV0QMq_editorDownloadLink:focus-visible,.FV0QMq_editorPptxButton:focus-visible,.FV0QMq_editorDocxZoomRange:focus-visible{outline:2px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}@media (prefers-reduced-motion:reduce){.FV0QMq_panel,.FV0QMq_panelHidden,.FV0QMq_bottomPanel,.FV0QMq_bottomPanelHidden,.FV0QMq_toggleCluster,.FV0QMq_toggleButton,.FV0QMq_tab,.FV0QMq_tabBarPlus,.FV0QMq_paneCard,.FV0QMq_explorerRow,.FV0QMq_gitRow,.FV0QMq_divider,.FV0QMq_dividerRow:after,.FV0QMq_dividerCol:after{transition:none;animation:none}}@media (width<=767px){.FV0QMq_panel:not(.FV0QMq_panelHidden) .FV0QMq_tabBar{padding-right:148px}.FV0QMq_tab{min-width:48px;max-width:128px}}.FV0QMq_openWithLabel{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.FV0QMq_openWithName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.FV0QMq_openWithChevron{color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_openWithPin{width:20px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.FV0QMq_openWithPin:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_openWithPinActive{color:var(--dsw-alias-state-business-primary)}.FV0QMq_editorHtmlBlock{margin:8px 0}.FV0QMq_editorHtmlBlock img,.FV0QMq_editorHtmlBlock video{max-width:100%}.FV0QMq_editorHtmlBlock details{margin:4px 0;padding:4px 0}.FV0QMq_editorHtmlBlock summary{cursor:pointer}.FV0QMq_tocBar{z-index:3;pointer-events:none;justify-content:flex-end;height:0;display:flex;position:sticky;top:0}.FV0QMq_tocButton{pointer-events:auto;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:4px 2px 0 0;padding:0;display:inline-flex}.FV0QMq_tocButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_tocPanel{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:min(300px,82%);max-height:60vh;box-shadow:var(--dsw-shadow-lv2);pointer-events:auto;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:32px;right:2px;overflow-y:auto}.FV0QMq_tocItem{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.FV0QMq_tocItem:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_tocItem[data-level=\"2\"]{padding-left:18px}.FV0QMq_tocItem[data-level=\"3\"]{padding-left:28px}.FV0QMq_tocItem[data-level=\"4\"]{padding-left:38px}.FV0QMq_tocItem[data-level=\"5\"]{padding-left:48px}.FV0QMq_tocItem[data-level=\"6\"]{padding-left:58px}.FV0QMq_tocItemLevel{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_tocItemText{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}@keyframes FV0QMq_dsh-toc-flash{0%,60%{background:var(--dsw-alias-interactive-bg-hover)}to{background:0 0}}.FV0QMq_tocFlash{border-radius:4px;animation:1.2s ease-out FV0QMq_dsh-toc-flash}.FV0QMq_chatcodeGate{z-index:2147483000;isolation:isolate;background-color:var(--dsw-alias-tooltip-bg);background-image:linear-gradient(135deg, var(--dsw-alias-tooltip-bg) 0%, var(--dsw-alias-brand-primary) 48%, var(--dsw-alias-tooltip-bg) 100%);color:var(--dsw-alias-fg-base);pointer-events:auto;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.FV0QMq_chatcodeGateCard{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:linear-gradient(145deg, var(--dsw-alias-bg-layer-2), var(--dsw-alias-bg-layer-1));width:min(460px,100%);box-shadow:var(--dsw-shadow-lv3);text-align:center;border-radius:20px;padding:40px 36px;position:relative}.FV0QMq_chatcodeGateContent{position:relative}.FV0QMq_chatcodeGateCard h1{font:var(--dsw-font-heading-lg);letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(32px,5vw,46px);line-height:1.1}.FV0QMq_chatcodeGateCard p{max-width:29em;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-s-14);margin:0 auto;line-height:1.7}.FV0QMq_chatcodeGateError{border:1px solid color-mix(in srgb, var(--dsw-alias-fg-error) 36%, var(--dsw-alias-border-l2));background:color-mix(in srgb, var(--dsw-alias-fg-error) 8%, transparent);border-radius:10px;padding:9px 11px;position:relative;color:var(--dsw-alias-fg-error)!important;font:var(--dsw-font-xxs-12)!important;margin-top:16px!important;line-height:1.5!important}.FV0QMq_chatcodeGateActions{justify-content:center;gap:10px;margin:28px 0 14px;display:flex;position:relative}.FV0QMq_chatcodeGateActions button,.FV0QMq_chatcodeGateCard a{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-height:42px;color:var(--dsw-alias-fg-base);font:var(--dsw-font-xxs-strong-12);cursor:pointer;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), background var(--ds-transition-duration-slow) var(--ds-ease-in-out), border-color var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:10px;padding:9px 17px}.FV0QMq_chatcodeGateActions button:first-child{border-color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-state-error-primary);min-width:152px;min-height:46px;color:var(--dsw-alias-label-primary-inverted)}.FV0QMq_chatcodeGateActions button:first-child:hover:not(:disabled){box-shadow:var(--dsw-shadow-lv2);transform:translateY(-2px);border-color:var(--dsw-alias-state-error-primary)!important;background:var(--dsw-alias-state-error-primary)!important;color:var(--dsw-alias-label-primary-inverted)!important}.FV0QMq_chatcodeGateActions button:not(:first-child):hover:not(:disabled),.FV0QMq_chatcodeGateCard a:hover{border-color:var(--dsw-alias-button-primary-hover);background:var(--dsw-alias-button-primary-hover);color:var(--dsw-alias-label-primary-inverted);transform:translateY(-1px)}.FV0QMq_chatcodeGateActions button:disabled{cursor:default;opacity:.55}.FV0QMq_chatcodeGateCard a{align-items:center;text-decoration:none;display:inline-flex;position:relative}.FV0QMq_chatcodeGateActions button:focus-visible,.FV0QMq_chatcodeGateCard a:focus-visible{outline:2px solid var(--dsw-alias-border-accent);outline-offset:3px}@media (width<=480px){.FV0QMq_chatcodeGate{padding:16px}.FV0QMq_chatcodeGateCard{padding:32px 24px}.FV0QMq_chatcodeGateActions{flex-direction:column;align-items:stretch}.FV0QMq_chatcodeGateActions button,.FV0QMq_chatcodeGateCard a{justify-content:center}}";
12232
+ const css$6 = ".FV0QMq_releaseNotesOverlay{z-index:120;pointer-events:auto;background:color-mix(in srgb, var(--dsw-alias-bg-base) 72%, transparent);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.FV0QMq_releaseNotesDialog{width:min(720px,100%);max-height:min(760px,100vh - 48px);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.FV0QMq_releaseNotesHeader,.FV0QMq_releaseNotesFooter{align-items:center;padding:16px 20px;display:flex}.FV0QMq_releaseNotesHeader{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;gap:16px}.FV0QMq_releaseNotesHeader h2{font:var(--dsw-font-s-18);margin:0}.FV0QMq_releaseNotesContent{min-height:120px;font:var(--dsw-font-s-14);padding:20px;overflow:auto}.FV0QMq_releaseNotesFooter{border-top:1px solid var(--dsw-alias-border-l1);justify-content:flex-end}.FV0QMq_releaseNotesIconButton,.FV0QMq_releaseNotesButton{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);cursor:pointer}.FV0QMq_releaseNotesIconButton:hover,.FV0QMq_releaseNotesButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_releaseNotesIconButton{width:32px;height:32px;font:var(--dsw-font-s-18);border-radius:50%;padding:0}.FV0QMq_releaseNotesButton{min-width:84px;min-height:36px;font:var(--dsw-font-s-14);border-radius:8px;padding:6px 16px}.FV0QMq_updateList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.FV0QMq_updateList li{font:var(--dsw-font-s-14);justify-content:space-between;align-items:center;gap:16px;display:flex}.FV0QMq_updateVersions{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary)}.FV0QMq_updateOk{color:var(--dsw-alias-state-success-primary)}.FV0QMq_updateError,.FV0QMq_updateErrorText{color:var(--dsw-alias-state-error-primary)}.FV0QMq_updateErrorText{white-space:pre-wrap;font:var(--dsw-font-s-14);margin:12px 0 0}.FV0QMq_updateCommand{background:var(--dsw-alias-bg-layer-3);font-family:var(--dsw-font-code,var(--ds-font-family-code,monospace));white-space:pre-wrap;word-break:break-all;user-select:all;border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:12px;overflow-x:auto}.FV0QMq_updateSettingsRow{justify-content:space-between;align-items:center;gap:16px;display:flex}.FV0QMq_updateSettingsText{flex-direction:column;gap:2px;min-width:0;display:flex}.FV0QMq_updateSettingsTitle{font:var(--dsw-font-s-14)}.FV0QMq_updateSettingsDesc{font:var(--dsw-font-s-13);color:var(--dsw-alias-label-secondary)}.FV0QMq_updateSettingsBlock{flex-direction:column;gap:12px;display:flex}.FV0QMq_updateBody{font:var(--dsw-font-s-14);margin:20px 0 0}.FV0QMq_updateFooter{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.FV0QMq_updateInline{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:8px;padding:16px}[data-dsh-panel-host]{z-index:25;pointer-events:none;position:fixed;inset:0;overflow:clip}[data-dsh-panel-host][data-dsh-panel-host-degraded]{position:absolute;top:0;left:0}[data-dsh-pinned-sessions]{flex:none;min-width:0}.FV0QMq_pinnedSessions{border-bottom:1px solid var(--dsw-alias-border-l1);margin:0 0 6px;padding:4px 0 6px}.FV0QMq_pinnedSessionsHeading{height:36px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-14);align-items:center;padding:0 4px;display:flex}.FV0QMq_pinnedSessionsList{gap:1px;display:grid}[data-slot=sidebar\\.workspaces] [class*=_sessionRow][data-dsh-session-pinned]{display:none}.FV0QMq_pinnedSessionRow{border-radius:8px;align-items:center;min-width:0;height:32px;display:flex;position:relative}.FV0QMq_pinnedSessionRow:hover,.FV0QMq_pinnedSessionRow:focus-within{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_pinnedSessionOpen,.FV0QMq_pinnedSessionMore,.FV0QMq_pinnedSessionMenu button{font:inherit;cursor:pointer;border:0}.FV0QMq_pinnedSessionOpen{min-width:0;height:100%;color:var(--dsw-alias-label-primary);text-align:left;font:var(--dsw-font-s-14);background:0 0;flex:1;align-items:center;gap:8px;padding:0 6px 0 8px;display:flex}.FV0QMq_pinnedSessionOpen[aria-current=page]{color:var(--dsw-alias-brand-primary)}.FV0QMq_pinnedSessionDot{background:var(--dsw-alias-label-tertiary);border-radius:50%;flex:none;width:6px;height:6px}.FV0QMq_pinnedSessionDot[data-running]{background:var(--dsw-alias-state-success-primary)}.FV0QMq_pinnedSessionTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.FV0QMq_pinnedSessionMore{width:28px;height:28px;color:var(--dsw-alias-label-secondary);letter-spacing:1px;background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-right:2px;padding:0;display:inline-flex}.FV0QMq_pinnedSessionMore:hover,.FV0QMq_pinnedSessionMore[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_pinnedSessionMenu{z-index:1101;box-sizing:border-box;border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-alias-bg-layer-2);border-radius:10px;min-width:150px;padding:4px;position:absolute;top:calc(100% + 2px);right:0}.FV0QMq_pinnedSessionMenu button{width:100%;min-height:32px;color:var(--dsw-alias-label-primary);text-align:left;font:var(--dsw-font-xxs-12);background:0 0;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;display:flex}.FV0QMq_pinnedSessionMenu button:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_pinnedSessionMenuDivider{background:var(--dsw-alias-border-l1);height:1px;margin:4px}.FV0QMq_accountMenu{z-index:3;box-sizing:border-box;width:var(--dsh-account-menu-width,280px);border-top:1px solid var(--dsw-alias-border-l2);border-right:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);pointer-events:auto;position:absolute;bottom:0;left:0}.FV0QMq_accountTrigger,.FV0QMq_accountItem{color:var(--dsw-alias-fg-base);font:inherit;cursor:pointer;border:0}.FV0QMq_accountTrigger{box-sizing:border-box;width:100%;min-height:44px;padding:8px 12px max(8px, env(safe-area-inset-bottom));background:var(--dsw-alias-bg-layer-1);font:var(--dsw-font-xs-13);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:0;align-items:center;gap:8px;display:flex}.FV0QMq_accountTrigger:hover,.FV0QMq_accountTrigger[aria-expanded=true]{background:var(--dsw-alias-bg-hover)}.FV0QMq_accountTrigger:focus-visible,.FV0QMq_accountItem:focus-visible{outline:2px solid var(--dsw-alias-border-accent);outline-offset:2px}.FV0QMq_accountAvatar{box-sizing:border-box;background:var(--dsw-alias-bg-layer-3);border:1px solid var(--dsw-alias-border-l2);width:24px;height:24px;color:var(--dsw-alias-fg-accent);font:var(--dsw-font-xxs-12);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid;position:relative}.FV0QMq_accountName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.FV0QMq_accountDropdown{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);z-index:1;border-radius:10px;width:min(224px,100% - 16px);padding:8px 6px 6px;display:grid;position:absolute;bottom:calc(100% + 8px);left:8px}.FV0QMq_accountDropdownHeader{min-width:0;min-height:28px;font:var(--dsw-font-xs-13);align-items:center;gap:8px;padding:0 6px 6px;display:flex}.FV0QMq_accountMenuDivider{background:var(--dsw-alias-border-l2);height:1px;margin:0 4px 4px}.FV0QMq_accountItem{text-align:left;min-height:30px;font:var(--dsw-font-xs-13);background:0 0;border-radius:7px;align-items:center;gap:8px;padding:0 8px;display:flex}.FV0QMq_accountItem:hover{background:var(--dsw-alias-bg-hover)}.FV0QMq_accountPresence{box-sizing:content-box;border:2px solid var(--dsw-alias-bg-layer-2);background:var(--dsw-alias-fg-accent);border-radius:50%;flex:none;width:6px;height:6px;margin-left:auto}.FV0QMq_accountTrigger .FV0QMq_accountPresence{border-color:var(--dsw-alias-bg-layer-1)}.FV0QMq_accountLogoutDialog{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:min(400px,100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);color:var(--dsw-alias-fg-base);font:var(--dsw-font-s-14);border-radius:16px;margin:auto;padding:24px;overflow:auto}.FV0QMq_accountLogoutDialog::backdrop{background:var(--dsw-alias-bg-mask-1)}.FV0QMq_accountLogoutTitle{font:var(--dsw-font-base-strong-16);margin:0}.FV0QMq_accountLogoutDescription{color:var(--dsw-alias-label-secondary);margin:12px 0 24px}.FV0QMq_accountLogoutActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.FV0QMq_accountLogoutActions button{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-height:34px;color:var(--dsw-alias-fg-base);font:var(--dsw-font-xs-13);cursor:pointer;border-radius:8px;padding:6px 14px}.FV0QMq_accountLogoutActions button:hover{background:var(--dsw-alias-bg-hover)}.FV0QMq_accountLogoutActions button:focus-visible{outline:2px solid var(--dsw-alias-border-accent);outline-offset:2px}.FV0QMq_accountLogoutActions .FV0QMq_accountLogoutConfirm{border-color:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary)}.FV0QMq_toggleCluster{top:var(--dsh-native-sidebar-toggle-top,calc(3px + env(safe-area-inset-top)));z-index:45;pointer-events:auto;flex-direction:row;gap:4px;display:flex;position:absolute;right:10px}.FV0QMq_toggleClusterNative{z-index:auto;flex:none;align-items:center;position:static;inset:auto}button[data-dsh-better-sidebar-toggle]{display:none}body:not([data-dsh-native-sidebar-toggle]) .FV0QMq_panel:not(.FV0QMq_panelHidden) .FV0QMq_tabBar{padding-right:var(--dsh-sidebar-toggle-reserve,188px)}.FV0QMq_toggleButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), color var(--ds-transition-duration-slow) var(--ds-ease-in-out);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.FV0QMq_manualButton{min-width:94px;height:28px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);white-space:nowrap;cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), color var(--ds-transition-duration-slow) var(--ds-ease-in-out);background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:6px;margin-right:4px;padding:0 10px;display:inline-flex}.FV0QMq_manualButton:hover,.FV0QMq_toggleButton:hover:not(:disabled):not([aria-disabled=true]){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_toggleButton:disabled,.FV0QMq_toggleButton[aria-disabled=true]{opacity:.4;cursor:default}.FV0QMq_panel{box-sizing:border-box;z-index:40;pointer-events:auto;background:var(--dsw-alias-bg-layer-1);border-left:1px solid var(--dsw-alias-border-l2);padding-bottom:env(safe-area-inset-bottom);transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), width var(--ds-transition-duration-slow) var(--ds-ease-in-out);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.FV0QMq_panelHidden{pointer-events:none;visibility:hidden;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), width var(--ds-transition-duration-slow) var(--ds-ease-in-out), visibility 0s linear var(--ds-transition-duration-slow);transform:translate(102%)}.FV0QMq_panel[data-dragging]{transition:none}.FV0QMq_panelResize{cursor:col-resize;z-index:2;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.FV0QMq_panelResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_panelBody{flex:1;min-width:0;min-height:0;display:flex}.FV0QMq_bottomPanel{z-index:40;background:var(--dsw-alias-bg-layer-1);border-top:1px solid var(--dsw-alias-border-l2);pointer-events:auto;padding-bottom:env(safe-area-inset-bottom);transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out);flex-direction:column;display:flex;position:absolute;bottom:0}.FV0QMq_bottomPanelHidden{pointer-events:none;visibility:hidden;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out), visibility 0s linear var(--ds-transition-duration-slow);transform:translateY(102%)}.FV0QMq_bottomPanel[data-dragging]{transition:none}.FV0QMq_panel,.FV0QMq_bottomPanel{contain:layout style}body[data-dsh-sidebar-dragging] .FV0QMq_panel,body[data-dsh-sidebar-dragging] .FV0QMq_bottomPanel{will-change:transform}.FV0QMq_bottomResize{cursor:row-resize;z-index:2;touch-action:none;height:8px;position:absolute;top:-4px;left:0;right:0}.FV0QMq_bottomResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_bottomClose{z-index:4;width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:3px;right:6px}.FV0QMq_bottomClose:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_bottomPanel .FV0QMq_tabBar{padding-right:40px}.FV0QMq_floatWindow{z-index:42;pointer-events:auto;background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);box-shadow:var(--dsw-shadow-lv3);contain:layout style;border-radius:8px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.FV0QMq_floatWindowDragging{will-change:left, top, width, height}.FV0QMq_floatHeader{height:34px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1);cursor:grab;user-select:none;flex:none;align-items:center;gap:4px;padding:0 4px 0 10px;display:flex}.FV0QMq_floatWindowDragging .FV0QMq_floatHeader{cursor:grabbing}.FV0QMq_floatTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.FV0QMq_floatClose{width:18px;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.FV0QMq_floatClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_floatContent{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.FV0QMq_floatResize{z-index:2;cursor:nwse-resize;touch-action:none;width:14px;height:14px;position:absolute;bottom:0;right:0}.FV0QMq_floatResize:hover{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_pane[data-dsh-float-dock-over]{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px}.FV0QMq_floatDropHint{z-index:46;pointer-events:none;border:2px dashed var(--dsw-alias-interactive-bg-hover-accent);background:color-mix(in srgb, var(--dsw-alias-interactive-bg-hover-accent) 12%, transparent);border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute}.FV0QMq_floatDropHintLabel{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);border-radius:999px;padding:4px 12px}.FV0QMq_toggleCluster,.FV0QMq_toggleButton,.FV0QMq_manualButton,.FV0QMq_tabBar,.FV0QMq_floatHeader{-webkit-app-region:no-drag}body[data-dsh-title-bar-compat] .FV0QMq_toggleCluster{top:var(--dsh-native-sidebar-toggle-top,calc(var(--dsh-title-bar-strip,40px) + 3px))}body[data-dsh-title-bar-compat] .FV0QMq_panel{padding-top:var(--dsh-title-bar-strip,40px)}.FV0QMq_cornerHandle{left:-6px;bottom:calc(var(--dsh-sidebar-height,0px) + 6px);z-index:2;cursor:nwse-resize;touch-action:none;width:12px;height:12px;position:absolute}.FV0QMq_cornerHandle:hover,.FV0QMq_cornerHandle[data-dragging]{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_iconButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.FV0QMq_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_iconButton:disabled{opacity:.4;cursor:default}.FV0QMq_workbench,.FV0QMq_split{flex:1;min-width:0;min-height:0;display:flex}.FV0QMq_splitRow{flex-direction:row}.FV0QMq_splitCol{flex-direction:column}.FV0QMq_splitChild{display:flex;position:relative;overflow:hidden}.FV0QMq_divider{z-index:3;touch-action:none;flex:none;position:relative}.FV0QMq_dividerRow:after,.FV0QMq_dividerCol:after{content:\"\";background:var(--dsw-alias-border-l2);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);position:absolute}.FV0QMq_dividerRow{cursor:col-resize;width:7px;margin:0 -2px}.FV0QMq_dividerRow:after{width:1px;top:0;bottom:0;left:50%;transform:translate(-50%)}.FV0QMq_dividerCol{cursor:row-resize;height:7px;margin:-2px 0}.FV0QMq_dividerCol:after{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.FV0QMq_divider:hover:after,.FV0QMq_dividerActive:after{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_pane{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.FV0QMq_paneDrop{outline:1px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.FV0QMq_dropOverlay{z-index:6;pointer-events:none;background:var(--dsw-alias-interactive-bg-hover-accent);opacity:.5;position:absolute}.FV0QMq_dropLeft{width:25%;top:0;bottom:0;left:0}.FV0QMq_dropRight{width:25%;top:0;bottom:0;right:0}.FV0QMq_dropUp{height:25%;top:0;left:0;right:0}.FV0QMq_dropDown{height:25%;bottom:0;left:0;right:0}.FV0QMq_dropCenter{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px;background:0 0;inset:25%}.FV0QMq_paneContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.FV0QMq_paneTab{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_paneTabHidden{display:none}.FV0QMq_paneEmptyCards{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:8px;min-height:0;padding:12px;display:grid;overflow:hidden}.FV0QMq_paneCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 8px;display:flex}.FV0QMq_paneCard:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l2)}.FV0QMq_paneCard:disabled{opacity:.45;cursor:default}.FV0QMq_tabBar{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);flex:none;align-items:stretch;height:34px;display:flex}.FV0QMq_tabBarDrop{outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.FV0QMq_tabList{scrollbar-width:none;flex:1;min-width:0;display:flex;overflow-x:auto}.FV0QMq_tabList::-webkit-scrollbar{display:none}.FV0QMq_tab{min-width:64px;max-width:160px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);border-right:1px solid var(--dsw-alias-border-l1);cursor:pointer;user-select:none;background:0 0;flex:none;align-items:center;gap:4px;padding:0 4px 0 10px;display:flex}.FV0QMq_tab:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_tabActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.FV0QMq_tabTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.FV0QMq_tabBadge{min-width:16px;height:15px;font:var(--dsw-font-xxxs-strong-11);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-brand-primary);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.FV0QMq_tabClose{width:18px;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.FV0QMq_tabClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_tabBarPlus{background:var(--dsw-alias-bg-layer-1);width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border:none;border-radius:5px;flex:none;justify-content:center;align-self:center;align-items:center;margin:0 6px;padding:0;display:inline-flex;position:sticky;right:0}.FV0QMq_tabBarPlus:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_pinnedTab{color:var(--dsw-alias-label-tertiary);font-style:italic}.FV0QMq_pinnedTab:hover{color:var(--dsw-alias-label-secondary)}.FV0QMq_explorer{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_explorerHeader{flex:none;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.FV0QMq_explorerRoot{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_explorerBody{flex:1;min-height:0;padding:4px 8px 8px;overflow:hidden auto}.FV0QMq_explorerRow{box-sizing:border-box;width:100%;max-width:100%;height:34px;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;white-space:nowrap;animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:0 8px;display:flex}.FV0QMq_explorerRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_explorerRowRevealed{background:var(--dsw-alias-state-business-tertiary)}.FV0QMq_explorerRowRevealed+.FV0QMq_explorerRowRevealed{border-top-left-radius:0;border-top-right-radius:0}.FV0QMq_explorerRowRevealed:has(+.FV0QMq_explorerRowRevealed){border-bottom-right-radius:0;border-bottom-left-radius:0}.FV0QMq_explorerDir{font:var(--dsw-font-s-strong-14)}.FV0QMq_explorerHidden{opacity:.45}.FV0QMq_explorerSymlink{color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_explorerBroken .FV0QMq_explorerName{color:var(--dsw-alias-state-error-primary)}.FV0QMq_explorerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.FV0QMq_explorerRef{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);height:20px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;align-items:center;padding:0 8px;display:none}.FV0QMq_explorerRef:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_explorerRow:hover .FV0QMq_explorerRef,.FV0QMq_explorerRow:focus-within .FV0QMq_explorerRef{display:inline-flex}.FV0QMq_explorerCopied{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_explorerError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);cursor:default}@keyframes FV0QMq_dsh-row-in{0%{opacity:0}}.FV0QMq_explorerEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.FV0QMq_explorerRowDropTarget{background:var(--dsw-alias-interactive-bg-hover);outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.FV0QMq_uploadDropZone{z-index:1001;pointer-events:none;border:2px dashed var(--dsw-alias-interactive-bg-hover-accent);box-shadow:0 0 0 200vmax var(--dsw-alias-bg-mask-drop);animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);border-radius:10px;justify-content:center;align-items:flex-start;padding:12px;display:flex;position:fixed}.FV0QMq_uploadDropHero{flex-direction:column;align-items:center;gap:10px;max-width:100%;padding-top:8px;display:flex}.FV0QMq_uploadDropZonePill{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);max-width:100%;box-shadow:var(--dsw-shadow-lv2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:flex}.FV0QMq_uploadDropZoneText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.FV0QMq_uploadDropChatHint{z-index:1002;pointer-events:none;animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0}.FV0QMq_uploadDropChatCard{text-align:center;max-width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-strong-14);flex-direction:column;align-items:center;gap:12px;display:flex}.FV0QMq_uploadOverlay{z-index:30;background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur);animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.FV0QMq_uploadOverlayCard{border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-alias-bg-layer-2);min-width:280px;max-width:min(420px,100% - 48px);box-shadow:var(--dsw-shadow-lv3);border-radius:24px;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.FV0QMq_uploadOverlayTitle{font:var(--dsw-font-s-strong-14);color:var(--dsw-alias-label-primary);align-items:center;gap:8px;display:flex}.FV0QMq_uploadOverlayTitle>svg{flex:none}.FV0QMq_uploadOverlayTitle>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.FV0QMq_uploadOverlayProgress{background:var(--dsw-alias-border-l2);border-radius:3px;height:6px;overflow:hidden}.FV0QMq_uploadOverlayProgressFill{background:var(--dsw-alias-interactive-bg-hover-accent);height:100%;transition:width .15s var(--ds-ease-in-out);border-radius:3px}.FV0QMq_uploadOverlayStatus{min-height:1em;font:var(--dsw-font-xxs-12);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.FV0QMq_uploadOverlayCancel{border:1px solid var(--dsw-alias-border-l2);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-end;padding:0 14px}.FV0QMq_uploadOverlayCancel:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.FV0QMq_uploadOverlayCancel:disabled{opacity:.4;cursor:default}.FV0QMq_editor{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_editorHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.FV0QMq_editorTitle{min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.FV0QMq_editorPathInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.FV0QMq_editorPathInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.FV0QMq_editorTreeToggleActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.FV0QMq_editorBody{flex:1;min-height:0;display:flex}.FV0QMq_editorMain{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.FV0QMq_editorTreeDock{border-left:1px solid var(--dsw-alias-border-l1);flex:none;min-height:0;display:flex;position:relative}.FV0QMq_editorTreeResize{cursor:col-resize;touch-action:none;z-index:3;width:6px;position:absolute;top:0;bottom:0;left:0}.FV0QMq_editorTreeResize:hover{background:var(--dsw-alias-border-l2)}.FV0QMq_editorTreePanel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.FV0QMq_editorTreePanelFull{flex:1}.FV0QMq_editorTreeSearch{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.FV0QMq_editorSearchInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:26px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.FV0QMq_editorSearchInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.FV0QMq_editorSearchHint{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:8px 12px}.FV0QMq_editorSearchResult{width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 8px;display:block;overflow:hidden}.FV0QMq_editorSearchResult:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorStatus{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.FV0QMq_editorStatusError{color:var(--dsw-alias-state-error-primary)}.FV0QMq_dirtyDot{background:var(--dsw-alias-state-warn-primary);border-radius:50%;flex:none;width:7px;height:7px}.FV0QMq_editorPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;padding:16px;display:flex}.FV0QMq_orphanedType{opacity:.7;overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.FV0QMq_editorBinary{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.FV0QMq_editorBinaryNotice{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.FV0QMq_editorDownloadLink{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), border-color var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:6px;align-items:center;gap:6px;padding:6px 14px;text-decoration:none;display:inline-flex}.FV0QMq_editorDownloadLink:hover{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.FV0QMq_editorError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);padding:12px 16px}.FV0QMq_fenceError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.FV0QMq_editorBanner{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 8px}.FV0QMq_sandboxStatus{font:var(--dsw-font-xxxs-11);flex:none;align-items:center;gap:8px;padding:4px 10px;display:flex}.FV0QMq_sandboxStatusOn{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1)}.FV0QMq_sandboxStatusOff{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 10%, transparent);border-bottom:1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent)}.FV0QMq_sandboxDot{background:var(--dsw-alias-state-success-primary);border-radius:50%;flex:none;width:6px;height:6px}.FV0QMq_sandboxStatusOff .FV0QMq_sandboxDot{background:var(--dsw-alias-state-error-primary)}.FV0QMq_sandboxStatusText{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.FV0QMq_sandboxAction{border:1px solid var(--dsw-alias-border-l2);font:inherit;color:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:2px 8px}.FV0QMq_sandboxAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorHtml{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.FV0QMq_browser{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_browserBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex}.FV0QMq_browserInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.FV0QMq_browserInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.FV0QMq_browserMessage{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 12px}.FV0QMq_browserFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.FV0QMq_browserStart{text-align:center;min-height:0;font:var(--dsw-font-xs-13);color:var(--dsw-alias-label-tertiary);flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.FV0QMq_browserBlocked{text-align:center;min-height:0;color:var(--dsw-alias-state-warn-primary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.FV0QMq_browserBlockedTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary)}.FV0QMq_browserBlockedDesc{max-width:280px;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary)}.FV0QMq_browserBlockedActions{gap:8px;margin-top:6px;display:flex}.FV0QMq_browserBlockedButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-11);cursor:pointer;border-radius:6px;padding:4px 12px}.FV0QMq_browserBlockedButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorCm{background:0 0;flex:1;min-height:0;overflow:hidden}.FV0QMq_editorCmHidden{display:none}.FV0QMq_editorCm .cm-editor{height:100%}.FV0QMq_editorCm .cm-scroller{padding:12px 16px}.FV0QMq_editorCm .cm-editor.cm-focused{outline:none}.FV0QMq_editorModeToggle{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.FV0QMq_editorModeButton{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px}.FV0QMq_editorModeButton:hover{color:var(--dsw-alias-label-primary)}.FV0QMq_editorModeActive{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary)}.FV0QMq_editorImageWrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.FV0QMq_editorImage{object-fit:contain;max-width:100%;max-height:100%}.FV0QMq_editorMd{min-height:0;font:var(--dsw-font-xs-13);flex:1;padding:12px 16px;overflow-y:auto}.FV0QMq_mermaidWrap{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;margin:6px 0;overflow:hidden}.FV0QMq_mermaidHeader{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;display:flex}.FV0QMq_mermaidInfo{font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary)}.FV0QMq_mermaidCopy{height:20px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.FV0QMq_mermaidCopy:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_mermaidBody{cursor:zoom-in;justify-content:center;padding:10px;display:flex;overflow:auto}.FV0QMq_mermaidBody svg{max-width:100%;height:auto}.FV0QMq_mermaidError{border-bottom:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-xxxs-11);padding:6px 10px}.FV0QMq_mermaidCode{font:var(--dsw-font-xxxs-11);margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.FV0QMq_mermaidMarkdown .md-code-block[data-mermaid-processed]{display:contents}.FV0QMq_mermaidModal{z-index:1000;background:var(--dsw-alias-bg-mask-1);backdrop-filter:blur(2px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.FV0QMq_mermaidModalToolbar{z-index:10;gap:8px;display:flex;position:absolute;top:16px;right:16px}.FV0QMq_mermaidModalButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:36px;height:36px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xs-strong-13);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.FV0QMq_mermaidModalButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_mermaidModalStage{justify-content:center;align-items:center;width:90vw;height:80vh;display:flex;position:relative;overflow:hidden}.FV0QMq_mermaidModalStage svg{cursor:grab;transform-origin:50%;user-select:none;-webkit-user-drag:none;background:var(--dsw-alias-bg-layer-1);border-radius:12px;max-width:none;max-height:none;padding:16px}.FV0QMq_mermaidModalStage svg:active{cursor:grabbing}.FV0QMq_mermaidModalHint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);pointer-events:none;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.FV0QMq_selectionPopup{z-index:60;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-strong-11);white-space:nowrap;cursor:pointer;border-radius:6px;align-items:center;padding:0 10px;display:inline-flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.FV0QMq_selectionPopup:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorPdf{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_editorPdfToolbar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:flex-end;padding:6px 8px;display:flex}.FV0QMq_editorPdfStage{flex:1;min-height:0;display:flex;position:relative}.FV0QMq_editorPdfFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.FV0QMq_editorPdfFrameBlocked{pointer-events:none}.FV0QMq_editorPdfDragShield{z-index:4;pointer-events:none;background:0 0;position:absolute;inset:0}.FV0QMq_editorPdfDragShieldActive{pointer-events:auto}body[data-dsh-tab-dragging] .FV0QMq_editorPdfFrame{pointer-events:none!important}body[data-dsh-tab-dragging] .FV0QMq_editorPdfDragShield{pointer-events:auto!important}.FV0QMq_terminalWrap{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.FV0QMq_terminal{flex:1;min-height:0;padding:6px 4px 6px 8px}.FV0QMq_terminal .xterm{height:100%}.FV0QMq_terminalBanner{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:3px 10px;display:flex}.FV0QMq_terminalBannerUrl{word-break:break-all;opacity:.85;flex-basis:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.FV0QMq_boundaryError{z-index:50;background:var(--dsw-alias-bg-layer-1);border-left:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:auto}.FV0QMq_terminalRetry{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;padding:1px 8px}.FV0QMq_terminalRetry:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_terminalDepsBanner{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex-direction:column;flex:none;gap:6px;padding:10px;display:flex}.FV0QMq_terminalDepsTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-state-warn-primary)}.FV0QMq_terminalDepsHint{opacity:.9}.FV0QMq_terminalDepsCommandRow{align-items:flex-start;gap:8px;display:flex}.FV0QMq_terminalRepairCommand{white-space:pre-wrap;word-break:break-all;user-select:text;min-width:0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:4px;flex:1;max-height:160px;margin:0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;overflow:auto}.FV0QMq_terminalDepsNote{opacity:.85}.FV0QMq_terminalDepsActions{align-items:center;gap:8px;display:flex}.FV0QMq_tabBoundaryError{min-height:0;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;flex:1;align-items:flex-start;gap:8px;padding:12px 16px;display:flex;overflow:auto}.FV0QMq_git{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.FV0QMq_gitHeader{flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.FV0QMq_gitWorktreeRow{flex:none;align-items:center;gap:8px;padding:6px 8px 0 12px;display:flex}.FV0QMq_gitWorktreeLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);flex:none}.FV0QMq_gitBranchSelect{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);min-width:0;height:26px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 6px}.FV0QMq_gitSection{border-top:1px solid var(--dsw-alias-border-l1)}.FV0QMq_gitSectionHeader{font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary);text-transform:uppercase;justify-content:space-between;align-items:center;padding:6px 12px 4px;display:flex}.FV0QMq_gitLink{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-brand-primary);cursor:pointer;background:0 0;border:none;padding:0}.FV0QMq_gitLink:hover:not(:disabled){text-decoration:underline}.FV0QMq_gitLink:disabled{opacity:.4;cursor:default}.FV0QMq_gitRow{min-height:34px;animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);border-radius:8px;align-items:center;gap:6px;margin:0 6px;padding:0 8px;display:flex}.FV0QMq_gitRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitRowSelected{background:var(--dsw-alias-interactive-bg-active)}.FV0QMq_gitRowMain{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:3px 0;display:flex}.FV0QMq_gitBadge{width:20px;height:16px;font:var(--dsw-font-xxxs-strong-11);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.FV0QMq_gitName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.FV0QMq_gitEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:4px 12px 8px}.FV0QMq_gitPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.FV0QMq_gitError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);white-space:pre-wrap;padding:8px 12px}.FV0QMq_gitDiff{border-top:1px solid var(--dsw-alias-border-l1);padding:8px}.FV0QMq_gitDiffTab{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.FV0QMq_gitDiffTabHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.FV0QMq_gitDiffTabTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.FV0QMq_gitDiffFile{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:6px;padding:8px 2px 2px;display:flex}.FV0QMq_gitDiffFile:disabled{cursor:default}.FV0QMq_gitDiffFile:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitDiffFileChevron{color:var(--dsw-alias-label-tertiary);flex:none;transform:rotate(0)}.FV0QMq_gitDiffFileChevronExpanded{transform:rotate(90deg)}.FV0QMq_gitDiffFilePath{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_gitDiffFileOld{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:40%;overflow:hidden}.FV0QMq_gitDiffFileTag{border:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:0 6px}.FV0QMq_gitDiffHunk{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);gap:8px;padding:3px 2px;display:flex}.FV0QMq_gitDiffHunkHeader{color:var(--dsw-alias-label-secondary);flex:none}.FV0QMq_gitDiffHunkSection{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_gitDiffLine{font:var(--dsw-font-markdown-code-block-small);white-space:pre-wrap;overflow-wrap:anywhere;align-items:stretch;min-width:0;line-height:20px;display:flex}.FV0QMq_gitDiffNum{text-align:right;width:36px;color:var(--dsw-alias-label-tertiary);user-select:none;flex:none;padding-right:8px}.FV0QMq_gitDiffCode{flex:1;min-width:0;overflow:visible}.FV0QMq_gitDiffCtx{color:var(--dsw-alias-label-primary)}.FV0QMq_gitDiffDel{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.FV0QMq_gitDiffAdd{color:var(--dsw-alias-state-success-primary);background:color-mix(in srgb, var(--dsw-alias-state-success-primary) 12%, transparent)}.FV0QMq_gitDiffMeta{padding-left:2px}.FV0QMq_gitDiffMetaText{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);font-style:italic}.FV0QMq_gitDiffExpand{width:100%;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-brand-primary);cursor:pointer;text-align:center;background:0 0;border:none;margin:4px 0;display:block}.FV0QMq_gitDiffExpand:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitConfirmDesc{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);white-space:pre-wrap;margin:0}.FV0QMq_gitCommit{border-top:1px solid var(--dsw-alias-border-l1);align-items:center;gap:6px;padding:8px 12px;display:flex}.FV0QMq_gitCommitInput{flex:1;min-width:0}.FV0QMq_gitCommitButton{background:var(--dsw-alias-button-primary-fill);height:26px;color:var(--dsw-alias-label-primary-inverted);font:var(--dsw-font-xxs-strong-12);cursor:pointer;border:none;border-radius:6px;flex:none;padding:0 12px}.FV0QMq_gitCommitButton:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}.FV0QMq_gitCommitButton:disabled{opacity:.45;cursor:default}.FV0QMq_gitLogRow{cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:5px 12px;display:flex}.FV0QMq_gitLogRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitLogLine1{align-items:baseline;gap:8px;min-width:0;display:flex}.FV0QMq_gitLogHash{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_gitLogLine2{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.FV0QMq_gitLogRef{border:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-brand-primary);white-space:nowrap;border-radius:999px;flex:none;padding:0 5px}.FV0QMq_gitLogSubject{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.FV0QMq_gitLogMeta{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.FV0QMq_gitLogMore{border:1px solid var(--dsw-alias-border-l2);width:calc(100% - 24px);font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:6px;margin:4px 12px 8px;padding:6px 0;display:block}.FV0QMq_gitLogMore:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_gitLogMore:disabled{opacity:.5;cursor:default}.FV0QMq_producedRow{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.FV0QMq_producedLabel{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.FV0QMq_producedChip{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);max-width:200px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex;overflow:hidden}.FV0QMq_producedChip:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_producedChip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_producedMore{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.FV0QMq_toggleButton:focus-visible,.FV0QMq_manualButton:focus-visible,.FV0QMq_bottomClose:focus-visible,.FV0QMq_iconButton:focus-visible,.FV0QMq_tab:focus-visible,.FV0QMq_tabClose:focus-visible,.FV0QMq_tabBarPlus:focus-visible,.FV0QMq_paneCard:focus-visible,.FV0QMq_explorerRow:focus-visible,.FV0QMq_explorerRef:focus-visible,.FV0QMq_gitRowMain:focus-visible,.FV0QMq_gitLink:focus-visible,.FV0QMq_gitCommitButton:focus-visible,.FV0QMq_gitLogRow:focus-visible,.FV0QMq_gitLogMore:focus-visible,.FV0QMq_gitDiffFile:focus-visible,.FV0QMq_gitDiffExpand:focus-visible,.FV0QMq_terminalRetry:focus-visible,.FV0QMq_editorModeButton:focus-visible,.FV0QMq_editorDownloadLink:focus-visible,.FV0QMq_editorPptxButton:focus-visible,.FV0QMq_editorDocxZoomRange:focus-visible{outline:2px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}@media (prefers-reduced-motion:reduce){.FV0QMq_panel,.FV0QMq_panelHidden,.FV0QMq_bottomPanel,.FV0QMq_bottomPanelHidden,.FV0QMq_toggleCluster,.FV0QMq_toggleButton,.FV0QMq_tab,.FV0QMq_tabBarPlus,.FV0QMq_paneCard,.FV0QMq_explorerRow,.FV0QMq_gitRow,.FV0QMq_divider,.FV0QMq_dividerRow:after,.FV0QMq_dividerCol:after{transition:none;animation:none}}@media (width<=767px){.FV0QMq_panel:not(.FV0QMq_panelHidden) .FV0QMq_tabBar{padding-right:148px}.FV0QMq_tab{min-width:48px;max-width:128px}}.FV0QMq_openWithLabel{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.FV0QMq_openWithName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.FV0QMq_openWithChevron{color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_openWithPin{width:20px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.FV0QMq_openWithPin:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_openWithPinActive{color:var(--dsw-alias-state-business-primary)}.FV0QMq_editorHtmlBlock{margin:8px 0}.FV0QMq_editorHtmlBlock img,.FV0QMq_editorHtmlBlock video{max-width:100%}.FV0QMq_editorHtmlBlock details{margin:4px 0;padding:4px 0}.FV0QMq_editorHtmlBlock summary{cursor:pointer}.FV0QMq_tocBar{z-index:3;pointer-events:none;justify-content:flex-end;height:0;display:flex;position:sticky;top:0}.FV0QMq_tocButton{pointer-events:auto;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:4px 2px 0 0;padding:0;display:inline-flex}.FV0QMq_tocButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_tocPanel{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:min(300px,82%);max-height:60vh;box-shadow:var(--dsw-shadow-lv2);pointer-events:auto;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:32px;right:2px;overflow-y:auto}.FV0QMq_tocItem{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.FV0QMq_tocItem:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_tocItem[data-level=\"2\"]{padding-left:18px}.FV0QMq_tocItem[data-level=\"3\"]{padding-left:28px}.FV0QMq_tocItem[data-level=\"4\"]{padding-left:38px}.FV0QMq_tocItem[data-level=\"5\"]{padding-left:48px}.FV0QMq_tocItem[data-level=\"6\"]{padding-left:58px}.FV0QMq_tocItemLevel{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_tocItemText{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}@keyframes FV0QMq_dsh-toc-flash{0%,60%{background:var(--dsw-alias-interactive-bg-hover)}to{background:0 0}}.FV0QMq_tocFlash{border-radius:4px;animation:1.2s ease-out FV0QMq_dsh-toc-flash}.FV0QMq_chatcodeGate{z-index:2147483000;isolation:isolate;background-color:var(--dsw-alias-tooltip-bg);background-image:linear-gradient(135deg, var(--dsw-alias-tooltip-bg) 0%, var(--dsw-alias-brand-primary) 48%, var(--dsw-alias-tooltip-bg) 100%);color:var(--dsw-alias-fg-base);pointer-events:auto;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.FV0QMq_chatcodeGateCard{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:linear-gradient(145deg, var(--dsw-alias-bg-layer-2), var(--dsw-alias-bg-layer-1));width:min(460px,100%);box-shadow:var(--dsw-shadow-lv3);text-align:center;border-radius:20px;padding:40px 36px;position:relative}.FV0QMq_chatcodeGateContent{position:relative}.FV0QMq_chatcodeGateCard h1{font:var(--dsw-font-heading-lg);letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(32px,5vw,46px);line-height:1.1}.FV0QMq_chatcodeGateCard p{max-width:29em;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-s-14);margin:0 auto;line-height:1.7}.FV0QMq_chatcodeGateError{border:1px solid color-mix(in srgb, var(--dsw-alias-fg-error) 36%, var(--dsw-alias-border-l2));background:color-mix(in srgb, var(--dsw-alias-fg-error) 8%, transparent);border-radius:10px;padding:9px 11px;position:relative;color:var(--dsw-alias-fg-error)!important;font:var(--dsw-font-xxs-12)!important;margin-top:16px!important;line-height:1.5!important}.FV0QMq_chatcodeGateActions{justify-content:center;gap:10px;margin:28px 0 14px;display:flex;position:relative}.FV0QMq_chatcodeGateActions button,.FV0QMq_chatcodeGateCard a{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-height:42px;color:var(--dsw-alias-fg-base);font:var(--dsw-font-xxs-strong-12);cursor:pointer;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), background var(--ds-transition-duration-slow) var(--ds-ease-in-out), border-color var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:10px;padding:9px 17px}.FV0QMq_chatcodeGateActions button:first-child{border-color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-state-error-primary);min-width:152px;min-height:46px;color:var(--dsw-alias-label-primary-inverted)}.FV0QMq_chatcodeGateActions button:first-child:hover:not(:disabled){box-shadow:var(--dsw-shadow-lv2);transform:translateY(-2px);border-color:var(--dsw-alias-state-error-primary)!important;background:var(--dsw-alias-state-error-primary)!important;color:var(--dsw-alias-label-primary-inverted)!important}.FV0QMq_chatcodeGateActions button:not(:first-child):hover:not(:disabled),.FV0QMq_chatcodeGateCard a:hover{border-color:var(--dsw-alias-button-primary-hover);background:var(--dsw-alias-button-primary-hover);color:var(--dsw-alias-label-primary-inverted);transform:translateY(-1px)}.FV0QMq_chatcodeGateActions button:disabled{cursor:default;opacity:.55}.FV0QMq_chatcodeGateCard a{align-items:center;text-decoration:none;display:inline-flex;position:relative}.FV0QMq_chatcodeGateActions button:focus-visible,.FV0QMq_chatcodeGateCard a:focus-visible{outline:2px solid var(--dsw-alias-border-accent);outline-offset:3px}@media (width<=480px){.FV0QMq_chatcodeGate{padding:16px}.FV0QMq_chatcodeGateCard{padding:32px 24px}.FV0QMq_chatcodeGateActions{flex-direction:column;align-items:stretch}.FV0QMq_chatcodeGateActions button,.FV0QMq_chatcodeGateCard a{justify-content:center}}";
12156
12233
  const tagId$6 = "@chatcode/cco-better-sidebar/sidebar.module.css";
12157
12234
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$6) + "]") === null) {
12158
12235
  const tag = document.createElement("style");
@@ -12162,295 +12239,300 @@ window.__ModuleLoader__.load({
12162
12239
  document.head.appendChild(tag);
12163
12240
  }
12164
12241
  var sidebar_module_css_default = {
12165
- "paneDrop": "FV0QMq_paneDrop",
12166
- "gitLogMore": "FV0QMq_gitLogMore",
12167
- "sandboxDot": "FV0QMq_sandboxDot",
12168
- "releaseNotesIconButton": "FV0QMq_releaseNotesIconButton",
12169
- "browserMessage": "FV0QMq_browserMessage",
12170
- "gitLogLine1": "FV0QMq_gitLogLine1",
12171
- "floatHeader": "FV0QMq_floatHeader",
12172
- "mermaidMarkdown": "FV0QMq_mermaidMarkdown",
12173
- "editorMain": "FV0QMq_editorMain",
12174
- "boundaryError": "FV0QMq_boundaryError",
12175
- "editorPdfToolbar": "FV0QMq_editorPdfToolbar",
12176
- "producedChip": "FV0QMq_producedChip",
12177
- "dropUp": "FV0QMq_dropUp",
12178
- "toggleCluster": "FV0QMq_toggleCluster",
12179
- "floatClose": "FV0QMq_floatClose",
12180
- "workbench": "FV0QMq_workbench",
12181
- "editorTreeResize": "FV0QMq_editorTreeResize",
12182
- "browserBlockedTitle": "FV0QMq_browserBlockedTitle",
12183
- "releaseNotesHeader": "FV0QMq_releaseNotesHeader",
12184
- "updateList": "FV0QMq_updateList",
12185
- "uploadDropZoneText": "FV0QMq_uploadDropZoneText",
12242
+ "tabBadge": "FV0QMq_tabBadge",
12243
+ "split": "FV0QMq_split",
12186
12244
  "uploadOverlayCard": "FV0QMq_uploadOverlayCard",
12245
+ "gitLogLine2": "FV0QMq_gitLogLine2",
12246
+ "editorDocxZoomRange": "FV0QMq_editorDocxZoomRange",
12247
+ "producedRow": "FV0QMq_producedRow",
12248
+ "explorerHeader": "FV0QMq_explorerHeader",
12249
+ "uploadDropChatCard": "FV0QMq_uploadDropChatCard",
12250
+ "updateSettingsBlock": "FV0QMq_updateSettingsBlock",
12251
+ "pinnedSessionsList": "FV0QMq_pinnedSessionsList",
12252
+ "toggleButton": "FV0QMq_toggleButton",
12253
+ "explorerBody": "FV0QMq_explorerBody",
12254
+ "manualButton": "FV0QMq_manualButton",
12255
+ "explorerBroken": "FV0QMq_explorerBroken",
12187
12256
  "editorMd": "FV0QMq_editorMd",
12188
- "browserInput": "FV0QMq_browserInput",
12257
+ "tab": "FV0QMq_tab",
12258
+ "uploadOverlayProgress": "FV0QMq_uploadOverlayProgress",
12259
+ "uploadOverlayProgressFill": "FV0QMq_uploadOverlayProgressFill",
12189
12260
  "mermaidModalHint": "FV0QMq_mermaidModalHint",
12190
- "gitRowMain": "FV0QMq_gitRowMain",
12191
- "gitDiffMeta": "FV0QMq_gitDiffMeta",
12192
- "paneContent": "FV0QMq_paneContent",
12193
- "updateSettingsBlock": "FV0QMq_updateSettingsBlock",
12194
- "editorBinary": "FV0QMq_editorBinary",
12195
- "paneTab": "FV0QMq_paneTab",
12196
- "terminal": "FV0QMq_terminal",
12197
- "openWithPin": "FV0QMq_openWithPin",
12198
- "gitDiffExpand": "FV0QMq_gitDiffExpand",
12199
- "fenceError": "FV0QMq_fenceError",
12200
- "uploadDropZonePill": "FV0QMq_uploadDropZonePill",
12261
+ "editorStatus": "FV0QMq_editorStatus",
12262
+ "gitWorktreeLabel": "FV0QMq_gitWorktreeLabel",
12263
+ "pinnedSessionMenuDivider": "FV0QMq_pinnedSessionMenuDivider",
12264
+ "boundaryError": "FV0QMq_boundaryError",
12265
+ "mermaidCode": "FV0QMq_mermaidCode",
12201
12266
  "terminalRepairCommand": "FV0QMq_terminalRepairCommand",
12202
- "dirtyDot": "FV0QMq_dirtyDot",
12203
- "gitDiffTab": "FV0QMq_gitDiffTab",
12204
- "sandboxStatusOn": "FV0QMq_sandboxStatusOn",
12205
- "updateCommand": "FV0QMq_updateCommand",
12206
- "gitRowSelected": "FV0QMq_gitRowSelected",
12207
- "toggleButton": "FV0QMq_toggleButton",
12208
- "gitDiffFile": "FV0QMq_gitDiffFile",
12209
- "gitLogSubject": "FV0QMq_gitLogSubject",
12267
+ "mermaidBody": "FV0QMq_mermaidBody",
12268
+ "pinnedSessionTitle": "FV0QMq_pinnedSessionTitle",
12269
+ "gitDiffLine": "FV0QMq_gitDiffLine",
12270
+ "mermaidMarkdown": "FV0QMq_mermaidMarkdown",
12271
+ "dropLeft": "FV0QMq_dropLeft",
12272
+ "sandboxDot": "FV0QMq_sandboxDot",
12273
+ "gitLogMeta": "FV0QMq_gitLogMeta",
12274
+ "chatcodeGateError": "FV0QMq_chatcodeGateError",
12275
+ "terminalDepsHint": "FV0QMq_terminalDepsHint",
12276
+ "gitConfirmDesc": "FV0QMq_gitConfirmDesc",
12277
+ "gitSection": "FV0QMq_gitSection",
12278
+ "tocItemText": "FV0QMq_tocItemText",
12279
+ "terminalDepsTitle": "FV0QMq_terminalDepsTitle",
12280
+ "chatcodeGate": "FV0QMq_chatcodeGate",
12281
+ "pinnedSessionsHeading": "FV0QMq_pinnedSessionsHeading",
12210
12282
  "accountAvatar": "FV0QMq_accountAvatar",
12211
- "gitLogHash": "FV0QMq_gitLogHash",
12212
- "editorStatusError": "FV0QMq_editorStatusError",
12213
- "pinnedSessionDot": "FV0QMq_pinnedSessionDot",
12214
- "producedRow": "FV0QMq_producedRow",
12215
- "editorPlaceholder": "FV0QMq_editorPlaceholder",
12283
+ "paneTabHidden": "FV0QMq_paneTabHidden",
12284
+ "editorBody": "FV0QMq_editorBody",
12285
+ "gitLogLine1": "FV0QMq_gitLogLine1",
12286
+ "uploadDropChatHint": "FV0QMq_uploadDropChatHint",
12287
+ "tocButton": "FV0QMq_tocButton",
12288
+ "explorerCopied": "FV0QMq_explorerCopied",
12289
+ "gitDiffHunkHeader": "FV0QMq_gitDiffHunkHeader",
12290
+ "fenceError": "FV0QMq_fenceError",
12291
+ "editorError": "FV0QMq_editorError",
12292
+ "paneCard": "FV0QMq_paneCard",
12293
+ "mermaidInfo": "FV0QMq_mermaidInfo",
12294
+ "gitPlaceholder": "FV0QMq_gitPlaceholder",
12295
+ "gitDiffMetaText": "FV0QMq_gitDiffMetaText",
12296
+ "openWithPin": "FV0QMq_openWithPin",
12297
+ "gitWorktreeRow": "FV0QMq_gitWorktreeRow",
12298
+ "updateList": "FV0QMq_updateList",
12299
+ "gitDiffFileChevron": "FV0QMq_gitDiffFileChevron",
12300
+ "tocFlash": "FV0QMq_tocFlash",
12301
+ "explorerError": "FV0QMq_explorerError",
12302
+ "paneDrop": "FV0QMq_paneDrop",
12303
+ "explorerRow": "FV0QMq_explorerRow",
12304
+ "gitDiffAdd": "FV0QMq_gitDiffAdd",
12305
+ "releaseNotesDialog": "FV0QMq_releaseNotesDialog",
12306
+ "accountLogoutTitle": "FV0QMq_accountLogoutTitle",
12307
+ "editorImageWrap": "FV0QMq_editorImageWrap",
12308
+ "terminalBannerUrl": "FV0QMq_terminalBannerUrl",
12309
+ "gitEmpty": "FV0QMq_gitEmpty",
12310
+ "gitError": "FV0QMq_gitError",
12311
+ "mermaidHeader": "FV0QMq_mermaidHeader",
12312
+ "pinnedSessionOpen": "FV0QMq_pinnedSessionOpen",
12313
+ "panelHidden": "FV0QMq_panelHidden",
12314
+ "editorPdfDragShield": "FV0QMq_editorPdfDragShield",
12315
+ "accountPresence": "FV0QMq_accountPresence",
12316
+ "tocItem": "FV0QMq_tocItem",
12317
+ "tabTitle": "FV0QMq_tabTitle",
12216
12318
  "explorerSymlink": "FV0QMq_explorerSymlink",
12217
- "browserBlockedButton": "FV0QMq_browserBlockedButton",
12218
- "editorHtmlBlock": "FV0QMq_editorHtmlBlock",
12219
- "gitWorktreeLabel": "FV0QMq_gitWorktreeLabel",
12220
- "editorModeActive": "FV0QMq_editorModeActive",
12221
- "editorDocxZoomRange": "FV0QMq_editorDocxZoomRange",
12222
- "uploadOverlayCancel": "FV0QMq_uploadOverlayCancel",
12223
- "accountItem": "FV0QMq_accountItem",
12224
- "bottomPanelHidden": "FV0QMq_bottomPanelHidden",
12319
+ "mermaidError": "FV0QMq_mermaidError",
12320
+ "floatContent": "FV0QMq_floatContent",
12321
+ "tocBar": "FV0QMq_tocBar",
12322
+ "dirtyDot": "FV0QMq_dirtyDot",
12225
12323
  "dropCenter": "FV0QMq_dropCenter",
12226
- "mermaidModalStage": "FV0QMq_mermaidModalStage",
12227
- "explorerRef": "FV0QMq_explorerRef",
12228
- "editorPdfDragShield": "FV0QMq_editorPdfDragShield",
12229
- "uploadDropHero": "FV0QMq_uploadDropHero",
12230
- "uploadOverlayTitle": "FV0QMq_uploadOverlayTitle",
12231
- "floatTitle": "FV0QMq_floatTitle",
12232
- "gitRow": "FV0QMq_gitRow",
12233
- "floatWindowDragging": "FV0QMq_floatWindowDragging",
12234
- "releaseNotesOverlay": "FV0QMq_releaseNotesOverlay",
12235
- "gitLink": "FV0QMq_gitLink",
12324
+ "releaseNotesContent": "FV0QMq_releaseNotesContent",
12325
+ "selectionPopup": "FV0QMq_selectionPopup",
12326
+ "updateErrorText": "FV0QMq_updateErrorText",
12327
+ "updateOk": "FV0QMq_updateOk",
12236
12328
  "panelResizeActive": "FV0QMq_panelResizeActive",
12237
- "browserStart": "FV0QMq_browserStart",
12238
- "pinnedSessions": "FV0QMq_pinnedSessions",
12239
- "accountPresence": "FV0QMq_accountPresence",
12240
- "toggleClusterNative": "FV0QMq_toggleClusterNative",
12241
- "gitLogMeta": "FV0QMq_gitLogMeta",
12242
- "editorTreeDock": "FV0QMq_editorTreeDock",
12243
- "mermaidCopy": "FV0QMq_mermaidCopy",
12244
- "gitDiffDel": "FV0QMq_gitDiffDel",
12245
- "browser": "FV0QMq_browser",
12246
- "dropOverlay": "FV0QMq_dropOverlay",
12329
+ "editorTreePanelFull": "FV0QMq_editorTreePanelFull",
12330
+ "toggleCluster": "FV0QMq_toggleCluster",
12331
+ "gitLink": "FV0QMq_gitLink",
12332
+ "bottomResizeActive": "FV0QMq_bottomResizeActive",
12333
+ "floatHeader": "FV0QMq_floatHeader",
12334
+ "floatResize": "FV0QMq_floatResize",
12335
+ "bottomClose": "FV0QMq_bottomClose",
12336
+ "editorTreePanel": "FV0QMq_editorTreePanel",
12337
+ "dsh-row-in": "FV0QMq_dsh-row-in",
12338
+ "mermaidModalStage": "FV0QMq_mermaidModalStage",
12247
12339
  "updateSettingsDesc": "FV0QMq_updateSettingsDesc",
12340
+ "pinnedSessionDot": "FV0QMq_pinnedSessionDot",
12341
+ "accountDropdown": "FV0QMq_accountDropdown",
12342
+ "gitSectionHeader": "FV0QMq_gitSectionHeader",
12343
+ "explorerRoot": "FV0QMq_explorerRoot",
12248
12344
  "openWithChevron": "FV0QMq_openWithChevron",
12249
- "mermaidModalToolbar": "FV0QMq_mermaidModalToolbar",
12250
- "sandboxAction": "FV0QMq_sandboxAction",
12251
- "gitHeader": "FV0QMq_gitHeader",
12252
- "releaseNotesDialog": "FV0QMq_releaseNotesDialog",
12253
- "editorHtml": "FV0QMq_editorHtml",
12254
- "terminalBanner": "FV0QMq_terminalBanner",
12255
- "terminalDepsActions": "FV0QMq_terminalDepsActions",
12256
- "mermaidHeader": "FV0QMq_mermaidHeader",
12257
- "gitPlaceholder": "FV0QMq_gitPlaceholder",
12258
- "chatcodeGateContent": "FV0QMq_chatcodeGateContent",
12259
- "gitLogRow": "FV0QMq_gitLogRow",
12260
- "updateError": "FV0QMq_updateError",
12261
- "pinnedSessionTitle": "FV0QMq_pinnedSessionTitle",
12262
- "sandboxStatusOff": "FV0QMq_sandboxStatusOff",
12263
- "gitDiff": "FV0QMq_gitDiff",
12345
+ "floatWindowDragging": "FV0QMq_floatWindowDragging",
12346
+ "uploadOverlayStatus": "FV0QMq_uploadOverlayStatus",
12347
+ "paneTab": "FV0QMq_paneTab",
12348
+ "editorBinary": "FV0QMq_editorBinary",
12349
+ "editorPdfToolbar": "FV0QMq_editorPdfToolbar",
12350
+ "browserBlocked": "FV0QMq_browserBlocked",
12351
+ "gitDiffNum": "FV0QMq_gitDiffNum",
12352
+ "panelBody": "FV0QMq_panelBody",
12353
+ "uploadDropZonePill": "FV0QMq_uploadDropZonePill",
12354
+ "paneContent": "FV0QMq_paneContent",
12355
+ "sandboxStatusText": "FV0QMq_sandboxStatusText",
12356
+ "mermaidCopy": "FV0QMq_mermaidCopy",
12357
+ "editorPdf": "FV0QMq_editorPdf",
12264
12358
  "accountTrigger": "FV0QMq_accountTrigger",
12265
- "floatWindow": "FV0QMq_floatWindow",
12266
- "explorerEmpty": "FV0QMq_explorerEmpty",
12267
- "terminalDepsTitle": "FV0QMq_terminalDepsTitle",
12268
- "editorPathInput": "FV0QMq_editorPathInput",
12269
- "dsh-row-in": "FV0QMq_dsh-row-in",
12270
- "gitLogLine2": "FV0QMq_gitLogLine2",
12271
- "cornerHandle": "FV0QMq_cornerHandle",
12272
- "tabBarPlus": "FV0QMq_tabBarPlus",
12273
- "explorerRow": "FV0QMq_explorerRow",
12274
- "pinnedSessionMore": "FV0QMq_pinnedSessionMore",
12275
- "accountDropdownHeader": "FV0QMq_accountDropdownHeader",
12276
- "bottomResizeActive": "FV0QMq_bottomResizeActive",
12277
- "browserFrame": "FV0QMq_browserFrame",
12278
- "editorPptxButton": "FV0QMq_editorPptxButton",
12279
12359
  "updateSettingsRow": "FV0QMq_updateSettingsRow",
12280
- "uploadDropChatCard": "FV0QMq_uploadDropChatCard",
12281
- "pinnedSessionsHeading": "FV0QMq_pinnedSessionsHeading",
12282
- "panel": "FV0QMq_panel",
12283
- "dividerRow": "FV0QMq_dividerRow",
12284
- "split": "FV0QMq_split",
12285
- "gitError": "FV0QMq_gitError",
12286
- "gitLogRef": "FV0QMq_gitLogRef",
12287
- "mermaidModalButton": "FV0QMq_mermaidModalButton",
12360
+ "pane": "FV0QMq_pane",
12361
+ "dividerCol": "FV0QMq_dividerCol",
12362
+ "editorHtml": "FV0QMq_editorHtml",
12363
+ "floatDropHint": "FV0QMq_floatDropHint",
12364
+ "dividerActive": "FV0QMq_dividerActive",
12365
+ "mermaidWrap": "FV0QMq_mermaidWrap",
12366
+ "terminal": "FV0QMq_terminal",
12367
+ "gitDiff": "FV0QMq_gitDiff",
12368
+ "accountLogoutConfirm": "FV0QMq_accountLogoutConfirm",
12369
+ "gitDiffTabHeader": "FV0QMq_gitDiffTabHeader",
12370
+ "gitDiffTabTitle": "FV0QMq_gitDiffTabTitle",
12371
+ "gitDiffMeta": "FV0QMq_gitDiffMeta",
12372
+ "gitLogSubject": "FV0QMq_gitLogSubject",
12373
+ "mermaidModalToolbar": "FV0QMq_mermaidModalToolbar",
12288
12374
  "openWithLabel": "FV0QMq_openWithLabel",
12289
- "tocButton": "FV0QMq_tocButton",
12290
- "editor": "FV0QMq_editor",
12291
- "paneTabHidden": "FV0QMq_paneTabHidden",
12292
- "tabActive": "FV0QMq_tabActive",
12293
- "gitConfirmDesc": "FV0QMq_gitConfirmDesc",
12294
- "gitCommitInput": "FV0QMq_gitCommitInput",
12295
- "sandboxStatusText": "FV0QMq_sandboxStatusText",
12375
+ "openWithPinActive": "FV0QMq_openWithPinActive",
12376
+ "editorPdfFrameBlocked": "FV0QMq_editorPdfFrameBlocked",
12377
+ "terminalRetry": "FV0QMq_terminalRetry",
12378
+ "gitDiffFileChevronExpanded": "FV0QMq_gitDiffFileChevronExpanded",
12379
+ "splitRow": "FV0QMq_splitRow",
12380
+ "sandboxAction": "FV0QMq_sandboxAction",
12381
+ "terminalDepsBanner": "FV0QMq_terminalDepsBanner",
12382
+ "gitRow": "FV0QMq_gitRow",
12383
+ "editorTitle": "FV0QMq_editorTitle",
12384
+ "editorPdfStage": "FV0QMq_editorPdfStage",
12385
+ "gitName": "FV0QMq_gitName",
12386
+ "editorModeButton": "FV0QMq_editorModeButton",
12387
+ "uploadOverlayCancel": "FV0QMq_uploadOverlayCancel",
12388
+ "terminalDepsNote": "FV0QMq_terminalDepsNote",
12389
+ "gitLogRef": "FV0QMq_gitLogRef",
12390
+ "panel": "FV0QMq_panel",
12391
+ "gitBadge": "FV0QMq_gitBadge",
12392
+ "sandboxStatusOff": "FV0QMq_sandboxStatusOff",
12296
12393
  "iconButton": "FV0QMq_iconButton",
12297
- "editorCmHidden": "FV0QMq_editorCmHidden",
12298
- "tabBarDrop": "FV0QMq_tabBarDrop",
12299
- "uploadOverlayStatus": "FV0QMq_uploadOverlayStatus",
12300
- "tocItemText": "FV0QMq_tocItemText",
12301
- "gitDiffFileChevron": "FV0QMq_gitDiffFileChevron",
12394
+ "editorMain": "FV0QMq_editorMain",
12395
+ "pinnedSessionMenu": "FV0QMq_pinnedSessionMenu",
12396
+ "uploadDropHero": "FV0QMq_uploadDropHero",
12397
+ "terminalWrap": "FV0QMq_terminalWrap",
12398
+ "gitDiffFilePath": "FV0QMq_gitDiffFilePath",
12399
+ "releaseNotesButton": "FV0QMq_releaseNotesButton",
12302
12400
  "updateFooter": "FV0QMq_updateFooter",
12401
+ "dividerRow": "FV0QMq_dividerRow",
12303
12402
  "tabBar": "FV0QMq_tabBar",
12304
- "chatcodeGateError": "FV0QMq_chatcodeGateError",
12305
- "editorPdf": "FV0QMq_editorPdf",
12306
- "accountDropdown": "FV0QMq_accountDropdown",
12307
- "terminalRetry": "FV0QMq_terminalRetry",
12308
- "uploadDropChatHint": "FV0QMq_uploadDropChatHint",
12309
- "mermaidModal": "FV0QMq_mermaidModal",
12310
- "updateSettingsTitle": "FV0QMq_updateSettingsTitle",
12311
- "updateInline": "FV0QMq_updateInline",
12403
+ "tabBarPlus": "FV0QMq_tabBarPlus",
12404
+ "editorSearchHint": "FV0QMq_editorSearchHint",
12405
+ "browserBar": "FV0QMq_browserBar",
12406
+ "browserBlockedDesc": "FV0QMq_browserBlockedDesc",
12407
+ "gitLogHash": "FV0QMq_gitLogHash",
12408
+ "editorTreeResize": "FV0QMq_editorTreeResize",
12409
+ "tocItemLevel": "FV0QMq_tocItemLevel",
12410
+ "editor": "FV0QMq_editor",
12411
+ "releaseNotesHeader": "FV0QMq_releaseNotesHeader",
12412
+ "bottomPanelHidden": "FV0QMq_bottomPanelHidden",
12413
+ "gitDiffCode": "FV0QMq_gitDiffCode",
12414
+ "gitCommitButton": "FV0QMq_gitCommitButton",
12415
+ "editorImage": "FV0QMq_editorImage",
12416
+ "explorer": "FV0QMq_explorer",
12417
+ "gitDiffHunk": "FV0QMq_gitDiffHunk",
12418
+ "git": "FV0QMq_git",
12419
+ "explorerRef": "FV0QMq_explorerRef",
12420
+ "tabClose": "FV0QMq_tabClose",
12421
+ "explorerName": "FV0QMq_explorerName",
12422
+ "editorTreeSearch": "FV0QMq_editorTreeSearch",
12423
+ "uploadDropZone": "FV0QMq_uploadDropZone",
12424
+ "releaseNotesFooter": "FV0QMq_releaseNotesFooter",
12425
+ "accountMenu": "FV0QMq_accountMenu",
12426
+ "editorTreeDock": "FV0QMq_editorTreeDock",
12312
12427
  "editorTreeToggleActive": "FV0QMq_editorTreeToggleActive",
12313
- "mermaidCode": "FV0QMq_mermaidCode",
12314
- "editorBanner": "FV0QMq_editorBanner",
12315
- "gitDiffCtx": "FV0QMq_gitDiffCtx",
12316
- "pinnedSessionRow": "FV0QMq_pinnedSessionRow",
12428
+ "explorerRowRevealed": "FV0QMq_explorerRowRevealed",
12429
+ "gitRowMain": "FV0QMq_gitRowMain",
12430
+ "chatcodeGateCard": "FV0QMq_chatcodeGateCard",
12431
+ "editorHeader": "FV0QMq_editorHeader",
12317
12432
  "updateBody": "FV0QMq_updateBody",
12318
- "tabList": "FV0QMq_tabList",
12433
+ "updateCommand": "FV0QMq_updateCommand",
12319
12434
  "explorerRowDropTarget": "FV0QMq_explorerRowDropTarget",
12320
- "editorStatus": "FV0QMq_editorStatus",
12321
- "editorDownloadLink": "FV0QMq_editorDownloadLink",
12322
- "openWithPinActive": "FV0QMq_openWithPinActive",
12323
- "editorModeButton": "FV0QMq_editorModeButton",
12324
- "panelBody": "FV0QMq_panelBody",
12325
- "editorBinaryNotice": "FV0QMq_editorBinaryNotice",
12326
- "pinnedSessionMenu": "FV0QMq_pinnedSessionMenu",
12327
- "mermaidWrap": "FV0QMq_mermaidWrap",
12328
- "terminalDepsCommandRow": "FV0QMq_terminalDepsCommandRow",
12329
- "dividerActive": "FV0QMq_dividerActive",
12330
- "mermaidBody": "FV0QMq_mermaidBody",
12331
- "panelResize": "FV0QMq_panelResize",
12332
- "editorModeToggle": "FV0QMq_editorModeToggle",
12435
+ "editorPptxButton": "FV0QMq_editorPptxButton",
12333
12436
  "pinnedTab": "FV0QMq_pinnedTab",
12334
- "floatResize": "FV0QMq_floatResize",
12335
- "editorError": "FV0QMq_editorError",
12437
+ "tabList": "FV0QMq_tabList",
12438
+ "gitDiffFileTag": "FV0QMq_gitDiffFileTag",
12439
+ "editorModeActive": "FV0QMq_editorModeActive",
12440
+ "accountMenuDivider": "FV0QMq_accountMenuDivider",
12441
+ "gitDiffCtx": "FV0QMq_gitDiffCtx",
12442
+ "editorBinaryNotice": "FV0QMq_editorBinaryNotice",
12443
+ "floatClose": "FV0QMq_floatClose",
12444
+ "editorPdfDragShieldActive": "FV0QMq_editorPdfDragShieldActive",
12445
+ "gitDiffHunkSection": "FV0QMq_gitDiffHunkSection",
12446
+ "editorBanner": "FV0QMq_editorBanner",
12447
+ "chatcodeGateContent": "FV0QMq_chatcodeGateContent",
12448
+ "editorHtmlBlock": "FV0QMq_editorHtmlBlock",
12449
+ "accountItem": "FV0QMq_accountItem",
12336
12450
  "browserBlockedActions": "FV0QMq_browserBlockedActions",
12337
- "tocItem": "FV0QMq_tocItem",
12451
+ "browserMessage": "FV0QMq_browserMessage",
12338
12452
  "dropDown": "FV0QMq_dropDown",
12339
- "releaseNotesButton": "FV0QMq_releaseNotesButton",
12340
- "gitDiffFileOld": "FV0QMq_gitDiffFileOld",
12341
- "tocItemLevel": "FV0QMq_tocItemLevel",
12342
- "gitName": "FV0QMq_gitName",
12343
- "gitWorktreeRow": "FV0QMq_gitWorktreeRow",
12344
- "browserBar": "FV0QMq_browserBar",
12345
- "explorerCopied": "FV0QMq_explorerCopied",
12346
- "editorBody": "FV0QMq_editorBody",
12347
- "updateOk": "FV0QMq_updateOk",
12348
- "bottomResize": "FV0QMq_bottomResize",
12349
- "orphanedType": "FV0QMq_orphanedType",
12350
- "selectionPopup": "FV0QMq_selectionPopup",
12351
- "browserBlocked": "FV0QMq_browserBlocked",
12352
- "explorerError": "FV0QMq_explorerError",
12353
- "floatDropHintLabel": "FV0QMq_floatDropHintLabel",
12354
- "git": "FV0QMq_git",
12355
- "tocPanel": "FV0QMq_tocPanel",
12356
- "editorHeader": "FV0QMq_editorHeader",
12357
- "gitEmpty": "FV0QMq_gitEmpty",
12358
- "editorSearchResult": "FV0QMq_editorSearchResult",
12359
- "releaseNotesContent": "FV0QMq_releaseNotesContent",
12360
- "explorerRoot": "FV0QMq_explorerRoot",
12361
- "gitBadge": "FV0QMq_gitBadge",
12362
- "gitDiffHunk": "FV0QMq_gitDiffHunk",
12363
- "uploadOverlay": "FV0QMq_uploadOverlay",
12364
12453
  "updateSettingsText": "FV0QMq_updateSettingsText",
12365
- "gitDiffHunkHeader": "FV0QMq_gitDiffHunkHeader",
12366
- "explorerRowRevealed": "FV0QMq_explorerRowRevealed",
12367
- "editorTreePanelFull": "FV0QMq_editorTreePanelFull",
12368
- "gitBranchSelect": "FV0QMq_gitBranchSelect",
12369
- "chatcodeGateCard": "FV0QMq_chatcodeGateCard",
12370
- "pinnedSessionsList": "FV0QMq_pinnedSessionsList",
12371
- "updateErrorText": "FV0QMq_updateErrorText",
12372
- "explorerBody": "FV0QMq_explorerBody",
12373
- "gitSection": "FV0QMq_gitSection",
12374
- "splitCol": "FV0QMq_splitCol",
12375
- "gitDiffNum": "FV0QMq_gitDiffNum",
12376
- "accountMenu": "FV0QMq_accountMenu",
12454
+ "paneEmptyCards": "FV0QMq_paneEmptyCards",
12455
+ "updateInline": "FV0QMq_updateInline",
12456
+ "gitHeader": "FV0QMq_gitHeader",
12457
+ "explorerDir": "FV0QMq_explorerDir",
12377
12458
  "dropRight": "FV0QMq_dropRight",
12378
- "terminalDepsBanner": "FV0QMq_terminalDepsBanner",
12379
- "accountName": "FV0QMq_accountName",
12459
+ "gitDiffFileOld": "FV0QMq_gitDiffFileOld",
12380
12460
  "updateVersions": "FV0QMq_updateVersions",
12381
- "tabTitle": "FV0QMq_tabTitle",
12382
- "terminalDepsHint": "FV0QMq_terminalDepsHint",
12383
- "gitDiffTabHeader": "FV0QMq_gitDiffTabHeader",
12384
- "gitDiffLine": "FV0QMq_gitDiffLine",
12385
- "gitCommitButton": "FV0QMq_gitCommitButton",
12386
- "paneCard": "FV0QMq_paneCard",
12387
- "accountMenuDivider": "FV0QMq_accountMenuDivider",
12388
- "uploadOverlayProgressFill": "FV0QMq_uploadOverlayProgressFill",
12389
- "mermaidInfo": "FV0QMq_mermaidInfo",
12390
- "editorTitle": "FV0QMq_editorTitle",
12391
- "gitDiffFilePath": "FV0QMq_gitDiffFilePath",
12392
- "gitDiffFileTag": "FV0QMq_gitDiffFileTag",
12393
- "releaseNotesFooter": "FV0QMq_releaseNotesFooter",
12394
- "tocBar": "FV0QMq_tocBar",
12395
- "explorerHidden": "FV0QMq_explorerHidden",
12396
- "editorSearchInput": "FV0QMq_editorSearchInput",
12397
- "explorerName": "FV0QMq_explorerName",
12398
- "divider": "FV0QMq_divider",
12461
+ "panelResize": "FV0QMq_panelResize",
12462
+ "producedMore": "FV0QMq_producedMore",
12463
+ "toggleClusterNative": "FV0QMq_toggleClusterNative",
12399
12464
  "gitCommit": "FV0QMq_gitCommit",
12400
- "explorerBroken": "FV0QMq_explorerBroken",
12401
- "sandboxStatus": "FV0QMq_sandboxStatus",
12402
- "editorPdfFrame": "FV0QMq_editorPdfFrame",
12403
- "chatcodeGateActions": "FV0QMq_chatcodeGateActions",
12404
- "editorImage": "FV0QMq_editorImage",
12405
- "splitRow": "FV0QMq_splitRow",
12406
- "manualButton": "FV0QMq_manualButton",
12407
- "editorPdfDragShieldActive": "FV0QMq_editorPdfDragShieldActive",
12408
- "editorTreePanel": "FV0QMq_editorTreePanel",
12409
- "terminalDepsNote": "FV0QMq_terminalDepsNote",
12410
- "editorPdfFrameBlocked": "FV0QMq_editorPdfFrameBlocked",
12411
- "dsh-toc-flash": "FV0QMq_dsh-toc-flash",
12412
- "gitDiffCode": "FV0QMq_gitDiffCode",
12413
- "gitDiffMetaText": "FV0QMq_gitDiffMetaText",
12414
- "gitSectionHeader": "FV0QMq_gitSectionHeader",
12415
- "bottomClose": "FV0QMq_bottomClose",
12416
- "browserBlockedDesc": "FV0QMq_browserBlockedDesc",
12465
+ "splitCol": "FV0QMq_splitCol",
12466
+ "editorDownloadLink": "FV0QMq_editorDownloadLink",
12467
+ "sandboxStatusOn": "FV0QMq_sandboxStatusOn",
12468
+ "accountLogoutActions": "FV0QMq_accountLogoutActions",
12417
12469
  "splitChild": "FV0QMq_splitChild",
12418
- "editorTreeSearch": "FV0QMq_editorTreeSearch",
12419
- "gitDiffAdd": "FV0QMq_gitDiffAdd",
12420
- "panelHidden": "FV0QMq_panelHidden",
12421
- "editorPdfStage": "FV0QMq_editorPdfStage",
12422
- "producedMore": "FV0QMq_producedMore",
12423
- "mermaidError": "FV0QMq_mermaidError",
12424
- "terminalBannerUrl": "FV0QMq_terminalBannerUrl",
12425
- "tocFlash": "FV0QMq_tocFlash",
12426
- "chatcodeGate": "FV0QMq_chatcodeGate",
12427
- "openWithName": "FV0QMq_openWithName",
12428
- "tabClose": "FV0QMq_tabClose",
12470
+ "pinnedSessionMore": "FV0QMq_pinnedSessionMore",
12429
12471
  "bottomPanel": "FV0QMq_bottomPanel",
12430
- "floatContent": "FV0QMq_floatContent",
12431
- "uploadOverlayProgress": "FV0QMq_uploadOverlayProgress",
12432
- "explorerDir": "FV0QMq_explorerDir",
12433
- "editorImageWrap": "FV0QMq_editorImageWrap",
12472
+ "browserInput": "FV0QMq_browserInput",
12473
+ "tabBoundaryError": "FV0QMq_tabBoundaryError",
12474
+ "uploadDropZoneText": "FV0QMq_uploadDropZoneText",
12475
+ "editorCmHidden": "FV0QMq_editorCmHidden",
12476
+ "browserBlockedButton": "FV0QMq_browserBlockedButton",
12477
+ "mermaidModal": "FV0QMq_mermaidModal",
12478
+ "gitBranchSelect": "FV0QMq_gitBranchSelect",
12479
+ "gitLogRow": "FV0QMq_gitLogRow",
12480
+ "gitLogMore": "FV0QMq_gitLogMore",
12481
+ "producedLabel": "FV0QMq_producedLabel",
12482
+ "producedChip": "FV0QMq_producedChip",
12483
+ "divider": "FV0QMq_divider",
12484
+ "gitDiffExpand": "FV0QMq_gitDiffExpand",
12485
+ "dsh-toc-flash": "FV0QMq_dsh-toc-flash",
12486
+ "floatDropHintLabel": "FV0QMq_floatDropHintLabel",
12487
+ "updateError": "FV0QMq_updateError",
12488
+ "accountName": "FV0QMq_accountName",
12489
+ "browserBlockedTitle": "FV0QMq_browserBlockedTitle",
12490
+ "pinnedSessionRow": "FV0QMq_pinnedSessionRow",
12491
+ "editorStatusError": "FV0QMq_editorStatusError",
12492
+ "accountDropdownHeader": "FV0QMq_accountDropdownHeader",
12493
+ "terminalBanner": "FV0QMq_terminalBanner",
12494
+ "browserFrame": "FV0QMq_browserFrame",
12495
+ "gitDiffTab": "FV0QMq_gitDiffTab",
12496
+ "browserStart": "FV0QMq_browserStart",
12497
+ "terminalDepsCommandRow": "FV0QMq_terminalDepsCommandRow",
12498
+ "orphanedType": "FV0QMq_orphanedType",
12499
+ "uploadOverlay": "FV0QMq_uploadOverlay",
12500
+ "tocPanel": "FV0QMq_tocPanel",
12501
+ "uploadOverlayTitle": "FV0QMq_uploadOverlayTitle",
12502
+ "tabActive": "FV0QMq_tabActive",
12503
+ "cornerHandle": "FV0QMq_cornerHandle",
12504
+ "updateSettingsTitle": "FV0QMq_updateSettingsTitle",
12505
+ "gitDiffDel": "FV0QMq_gitDiffDel",
12506
+ "terminalDepsActions": "FV0QMq_terminalDepsActions",
12507
+ "gitRowSelected": "FV0QMq_gitRowSelected",
12508
+ "dropUp": "FV0QMq_dropUp",
12509
+ "sandboxStatus": "FV0QMq_sandboxStatus",
12510
+ "editorPlaceholder": "FV0QMq_editorPlaceholder",
12511
+ "editorSearchResult": "FV0QMq_editorSearchResult",
12434
12512
  "editorCm": "FV0QMq_editorCm",
12435
- "floatDropHint": "FV0QMq_floatDropHint",
12436
- "explorer": "FV0QMq_explorer",
12437
- "gitDiffHunkSection": "FV0QMq_gitDiffHunkSection",
12438
- "gitDiffFileChevronExpanded": "FV0QMq_gitDiffFileChevronExpanded",
12439
- "pinnedSessionMenuDivider": "FV0QMq_pinnedSessionMenuDivider",
12440
- "editorSearchHint": "FV0QMq_editorSearchHint",
12441
- "paneEmptyCards": "FV0QMq_paneEmptyCards",
12442
- "pane": "FV0QMq_pane",
12443
- "uploadDropZone": "FV0QMq_uploadDropZone",
12444
- "dropLeft": "FV0QMq_dropLeft",
12445
- "pinnedSessionOpen": "FV0QMq_pinnedSessionOpen",
12446
- "dividerCol": "FV0QMq_dividerCol",
12447
- "explorerHeader": "FV0QMq_explorerHeader",
12448
- "producedLabel": "FV0QMq_producedLabel",
12449
- "tab": "FV0QMq_tab",
12450
- "tabBoundaryError": "FV0QMq_tabBoundaryError",
12451
- "gitDiffTabTitle": "FV0QMq_gitDiffTabTitle",
12452
- "terminalWrap": "FV0QMq_terminalWrap",
12453
- "tabBadge": "FV0QMq_tabBadge"
12513
+ "gitCommitInput": "FV0QMq_gitCommitInput",
12514
+ "openWithName": "FV0QMq_openWithName",
12515
+ "tabBarDrop": "FV0QMq_tabBarDrop",
12516
+ "explorerHidden": "FV0QMq_explorerHidden",
12517
+ "editorModeToggle": "FV0QMq_editorModeToggle",
12518
+ "bottomResize": "FV0QMq_bottomResize",
12519
+ "workbench": "FV0QMq_workbench",
12520
+ "mermaidModalButton": "FV0QMq_mermaidModalButton",
12521
+ "dropOverlay": "FV0QMq_dropOverlay",
12522
+ "releaseNotesOverlay": "FV0QMq_releaseNotesOverlay",
12523
+ "accountLogoutDialog": "FV0QMq_accountLogoutDialog",
12524
+ "gitDiffFile": "FV0QMq_gitDiffFile",
12525
+ "explorerEmpty": "FV0QMq_explorerEmpty",
12526
+ "floatTitle": "FV0QMq_floatTitle",
12527
+ "browser": "FV0QMq_browser",
12528
+ "accountLogoutDescription": "FV0QMq_accountLogoutDescription",
12529
+ "editorPdfFrame": "FV0QMq_editorPdfFrame",
12530
+ "editorPathInput": "FV0QMq_editorPathInput",
12531
+ "releaseNotesIconButton": "FV0QMq_releaseNotesIconButton",
12532
+ "editorSearchInput": "FV0QMq_editorSearchInput",
12533
+ "chatcodeGateActions": "FV0QMq_chatcodeGateActions",
12534
+ "pinnedSessions": "FV0QMq_pinnedSessions",
12535
+ "floatWindow": "FV0QMq_floatWindow"
12454
12536
  };
12455
12537
  //#endregion
12456
12538
  //#region src/client/intercept.tsx
@@ -12713,19 +12795,23 @@ window.__ModuleLoader__.load({
12713
12795
  /** The sidebar API surface (session scope threaded through every call). */
12714
12796
  const api = {
12715
12797
  pluginMarketContext: (scope, signal) => call("plugins.context", scopePayload(scope, {}), signal),
12798
+ pluginProjectPick: (signal) => call("plugins.project.pick", {}, signal),
12799
+ pluginProjectDirectories: (path, signal) => call("plugins.project.directories", { path }, signal),
12716
12800
  pluginMarketplaces: (signal) => call("plugins.marketplaces", {}, signal),
12717
12801
  pluginCatalog: (marketplaceId, signal) => call("plugins.catalog", {
12718
12802
  marketplaceId,
12719
12803
  includeMetadata: true
12720
12804
  }, signal),
12721
- pluginsInstalled: (scope, signal) => call("plugins.installed", scopePayload(scope, {}), signal),
12722
- pluginInstall: (scope, pluginId, installScope) => call("plugins.install", scopePayload(scope, {
12805
+ pluginsInstalled: (scope, signal, projectPath) => call("plugins.installed", scopePayload(scope, { projectPath }), signal),
12806
+ pluginInstall: (scope, pluginId, installScope, projectPath) => call("plugins.install", scopePayload(scope, {
12723
12807
  pluginId,
12724
- scope: installScope
12808
+ scope: installScope,
12809
+ projectPath
12725
12810
  })),
12726
- pluginUninstall: (scope, pluginId, installScope) => call("plugins.uninstall", scopePayload(scope, {
12811
+ pluginUninstall: (scope, pluginId, installScope, projectPath) => call("plugins.uninstall", scopePayload(scope, {
12727
12812
  pluginId,
12728
- scope: installScope
12813
+ scope: installScope,
12814
+ projectPath
12729
12815
  })),
12730
12816
  chatcodeStatus: (signal) => call("chatcode.status", {}, signal),
12731
12817
  chatcodeStart: () => call("chatcode.start", {}),
@@ -15037,72 +15123,72 @@ window.__ModuleLoader__.load({
15037
15123
  document.head.appendChild(tag);
15038
15124
  }
15039
15125
  var SideCardSection_module_css_default = {
15040
- "typedInputNumber": "N4aF0W_typedInputNumber",
15041
- "cardMain": "N4aF0W_cardMain",
15042
- "card": "N4aF0W_card",
15126
+ "section": "N4aF0W_section",
15127
+ "switch": "N4aF0W_switch",
15128
+ "addCard": "N4aF0W_addCard",
15043
15129
  "rowGear": "N4aF0W_rowGear",
15044
- "selectOption": "N4aF0W_selectOption",
15045
- "switchTrack": "N4aF0W_switchTrack",
15046
- "pluginDesc": "N4aF0W_pluginDesc",
15047
- "selectAnchorText": "N4aF0W_selectAnchorText",
15048
- "done": "N4aF0W_done",
15049
- "popupRows": "N4aF0W_popupRows",
15050
- "pluginEntryActions": "N4aF0W_pluginEntryActions",
15051
- "pluginJumpBtn": "N4aF0W_pluginJumpBtn",
15052
- "selectAnchor": "N4aF0W_selectAnchor",
15053
- "group": "N4aF0W_group",
15054
15130
  "error": "N4aF0W_error",
15055
- "pluginTopicBtn": "N4aF0W_pluginTopicBtn",
15056
- "pluginEntries": "N4aF0W_pluginEntries",
15057
- "pluginEntryHead": "N4aF0W_pluginEntryHead",
15058
- "pluginGroupHeading": "N4aF0W_pluginGroupHeading",
15059
- "switchInput": "N4aF0W_switchInput",
15060
- "switchThumb": "N4aF0W_switchThumb",
15061
- "openWithRemove": "N4aF0W_openWithRemove",
15062
- "grid": "N4aF0W_grid",
15063
- "cardDesc": "N4aF0W_cardDesc",
15064
- "openWithEditorInput": "N4aF0W_openWithEditorInput",
15065
- "pluginModal": "N4aF0W_pluginModal",
15066
15131
  "pluginEmpty": "N4aF0W_pluginEmpty",
15067
- "selectAnchorIcon": "N4aF0W_selectAnchorIcon",
15068
- "desc": "N4aF0W_desc",
15069
- "switch": "N4aF0W_switch",
15070
- "intro": "N4aF0W_intro",
15071
- "cardTitle": "N4aF0W_cardTitle",
15072
- "cardSettings": "N4aF0W_cardSettings",
15073
- "cardOn": "N4aF0W_cardOn",
15074
- "groupHeading": "N4aF0W_groupHeading",
15075
- "cardSwitchThumb": "N4aF0W_cardSwitchThumb",
15076
- "openWithEditorTemplate": "N4aF0W_openWithEditorTemplate",
15077
- "pluginInstall": "N4aF0W_pluginInstall",
15078
- "addCard": "N4aF0W_addCard",
15079
- "control": "N4aF0W_control",
15132
+ "count": "N4aF0W_count",
15080
15133
  "rowText": "N4aF0W_rowText",
15134
+ "popupRow": "N4aF0W_popupRow",
15135
+ "pluginList": "N4aF0W_pluginList",
15136
+ "openWithFamily": "N4aF0W_openWithFamily",
15137
+ "selectAnchorIcon": "N4aF0W_selectAnchorIcon",
15138
+ "pluginEntryHead": "N4aF0W_pluginEntryHead",
15081
15139
  "cardTop": "N4aF0W_cardTop",
15082
- "count": "N4aF0W_count",
15083
- "pluginCopyBtn": "N4aF0W_pluginCopyBtn",
15084
- "row": "N4aF0W_row",
15085
- "suffix": "N4aF0W_suffix",
15140
+ "control": "N4aF0W_control",
15141
+ "cardSwitch": "N4aF0W_cardSwitch",
15142
+ "openWithEditorRow": "N4aF0W_openWithEditorRow",
15086
15143
  "pluginEntry": "N4aF0W_pluginEntry",
15087
- "popupRow": "N4aF0W_popupRow",
15088
- "popupDialog": "N4aF0W_popupDialog",
15089
- "cardSwitchTrack": "N4aF0W_cardSwitchTrack",
15144
+ "grid": "N4aF0W_grid",
15090
15145
  "pluginSearch": "N4aF0W_pluginSearch",
15146
+ "card": "N4aF0W_card",
15147
+ "pluginInstall": "N4aF0W_pluginInstall",
15148
+ "percentInput": "N4aF0W_percentInput",
15149
+ "row": "N4aF0W_row",
15150
+ "title": "N4aF0W_title",
15151
+ "selectAnchorText": "N4aF0W_selectAnchorText",
15152
+ "pluginGroup": "N4aF0W_pluginGroup",
15153
+ "desc": "N4aF0W_desc",
15154
+ "openWithRemove": "N4aF0W_openWithRemove",
15091
15155
  "typedInput": "N4aF0W_typedInput",
15092
- "openWithFamily": "N4aF0W_openWithFamily",
15156
+ "selectOptionText": "N4aF0W_selectOptionText",
15157
+ "suffix": "N4aF0W_suffix",
15093
15158
  "cssTextArea": "N4aF0W_cssTextArea",
15094
- "cardSwitch": "N4aF0W_cardSwitch",
15159
+ "pluginDesc": "N4aF0W_pluginDesc",
15160
+ "pluginCopyBtn": "N4aF0W_pluginCopyBtn",
15161
+ "cardSettings": "N4aF0W_cardSettings",
15162
+ "cardTitle": "N4aF0W_cardTitle",
15163
+ "openWithHint": "N4aF0W_openWithHint",
15095
15164
  "cardIconChip": "N4aF0W_cardIconChip",
15165
+ "switchTrack": "N4aF0W_switchTrack",
15166
+ "pluginJumpBtn": "N4aF0W_pluginJumpBtn",
15167
+ "pluginGroupHeading": "N4aF0W_pluginGroupHeading",
15168
+ "pluginEntryActions": "N4aF0W_pluginEntryActions",
15169
+ "selectAnchor": "N4aF0W_selectAnchor",
15170
+ "switchThumb": "N4aF0W_switchThumb",
15171
+ "popupDialog": "N4aF0W_popupDialog",
15096
15172
  "pluginName": "N4aF0W_pluginName",
15097
- "openWithEditorRow": "N4aF0W_openWithEditorRow",
15098
- "openWithHint": "N4aF0W_openWithHint",
15099
- "selectOptionText": "N4aF0W_selectOptionText",
15100
- "percentInput": "N4aF0W_percentInput",
15173
+ "done": "N4aF0W_done",
15174
+ "openWithEditorTemplate": "N4aF0W_openWithEditorTemplate",
15175
+ "cardOn": "N4aF0W_cardOn",
15176
+ "switchInput": "N4aF0W_switchInput",
15177
+ "cardSwitchThumb": "N4aF0W_cardSwitchThumb",
15178
+ "cardDesc": "N4aF0W_cardDesc",
15179
+ "popupRows": "N4aF0W_popupRows",
15180
+ "cardSwitchTrack": "N4aF0W_cardSwitchTrack",
15181
+ "typedInputNumber": "N4aF0W_typedInputNumber",
15101
15182
  "selectOptionIcon": "N4aF0W_selectOptionIcon",
15102
- "pluginGroup": "N4aF0W_pluginGroup",
15103
- "section": "N4aF0W_section",
15104
- "title": "N4aF0W_title",
15105
- "pluginList": "N4aF0W_pluginList"
15183
+ "pluginModal": "N4aF0W_pluginModal",
15184
+ "openWithEditorInput": "N4aF0W_openWithEditorInput",
15185
+ "groupHeading": "N4aF0W_groupHeading",
15186
+ "intro": "N4aF0W_intro",
15187
+ "cardMain": "N4aF0W_cardMain",
15188
+ "pluginEntries": "N4aF0W_pluginEntries",
15189
+ "pluginTopicBtn": "N4aF0W_pluginTopicBtn",
15190
+ "group": "N4aF0W_group",
15191
+ "selectOption": "N4aF0W_selectOption"
15106
15192
  };
15107
15193
  //#endregion
15108
15194
  //#region src/client/open-with-settings.tsx
@@ -17071,7 +17157,7 @@ window.__ModuleLoader__.load({
17071
17157
  }
17072
17158
  //#endregion
17073
17159
  //#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/DSH-better-sidebar/src/client/PluginMarketView.module.css.mjs
17074
- const css$4 = ".wFPghq_root{box-sizing:border-box;height:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-14);padding:4px;overflow:auto}.wFPghq_head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.wFPghq_head>span{box-sizing:border-box;flex:1;min-width:220px;max-width:380px}.wFPghq_title{margin:0;font-size:16px;font-weight:600;line-height:24px}.wFPghq_subtitle,.wFPghq_project,.wFPghq_meta,.wFPghq_state{color:var(--dsw-alias-label-tertiary);margin:2px 0;font-size:12px;line-height:18px}.wFPghq_project{overflow-wrap:anywhere}.wFPghq_toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 12px;display:flex}.wFPghq_tabs{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.wFPghq_tabs button{white-space:nowrap}.wFPghq_tabs button[aria-pressed=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);font-weight:600}.wFPghq_breadcrumb{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;align-items:center;gap:8px;margin:4px 0 12px;display:flex}.wFPghq_breadcrumb button{white-space:nowrap;flex-shrink:0}.wFPghq_breadcrumb>span:last-child{min-width:0}.wFPghq_warning{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);border-radius:8px;margin:10px 0;padding:8px 10px;font-size:12px}.wFPghq_error,.wFPghq_notice{overflow-wrap:anywhere;border-radius:8px;margin:10px 0;padding:8px 10px;font-size:12px}.wFPghq_error{color:var(--dsw-alias-state-danger-primary);background:var(--dsw-alias-state-danger-bg)}.wFPghq_notice{color:var(--dsw-alias-state-success-primary);background:var(--dsw-alias-state-success-bg)}.wFPghq_grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;margin-top:12px;display:grid}.wFPghq_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:10px;flex-direction:column;min-width:0;min-height:150px;padding:12px;display:flex}.wFPghq_cardHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.wFPghq_card h3{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600;line-height:20px}.wFPghq_description{color:var(--dsw-alias-label-secondary);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;margin:8px 0;font-size:12px;line-height:18px;display:-webkit-box;overflow:hidden}.wFPghq_meta{overflow-wrap:anywhere;min-height:18px}.wFPghq_actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.wFPghq_projectInstall.wFPghq_projectInstall{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground)}.wFPghq_projectInstall.wFPghq_projectInstall:hover:not(:disabled){background-color:var(--dsw-alias-button-primary-fill)!important;color:var(--dsw-alias-label-primary-foreground)!important}.wFPghq_marketCard{text-align:left;color:inherit;font:inherit;cursor:pointer;width:100%}.wFPghq_marketCard:hover:not(:disabled){border-color:var(--dsw-alias-border-l1);background:var(--dsw-alias-interactive-bg-hover)}.wFPghq_marketCard:disabled{cursor:not-allowed;opacity:.5}.wFPghq_spinning{animation:1s linear infinite wFPghq_marketRefresh;display:inline-flex}@keyframes wFPghq_marketRefresh{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.wFPghq_spinning{animation:none}}.wFPghq_marketCard:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.wFPghq_enter{color:var(--dsw-alias-label-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12px;line-height:18px;display:flex}@media (width<=640px){.wFPghq_head{flex-direction:column}.wFPghq_head>span{width:100%;min-width:0;max-width:none}}";
17160
+ const css$4 = ".wFPghq_root{box-sizing:border-box;height:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-14);padding:4px;overflow:auto}.wFPghq_head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.wFPghq_head>span{box-sizing:border-box;flex:1;min-width:220px;max-width:380px}.wFPghq_title{margin:0;font-size:16px;font-weight:600;line-height:24px}.wFPghq_subtitle,.wFPghq_project,.wFPghq_meta,.wFPghq_state{color:var(--dsw-alias-label-tertiary);margin:2px 0;font-size:12px;line-height:18px}.wFPghq_project{overflow-wrap:anywhere}.wFPghq_projectRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wFPghq_projectRow>p{flex:1;min-width:min(100%,200px)}.wFPghq_projectRow>button{flex-shrink:0}.wFPghq_installPath{overflow-wrap:anywhere;color:var(--dsw-alias-label-tertiary);margin:4px 0;font-size:12px;line-height:18px}.wFPghq_projectPicker{width:min(620px,100vw - 32px)}.wFPghq_directoryPath{align-items:center;gap:8px;display:flex}.wFPghq_directoryPath>span{flex:1;min-width:0}.wFPghq_directoryCrumbs{flex-wrap:wrap;gap:4px;margin:12px 0;display:flex}.wFPghq_directoryList{min-height:100px;max-height:320px;overflow:auto}.wFPghq_directoryList>button{width:100%;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px;display:flex}.wFPghq_directoryList>button:hover,.wFPghq_directoryList>button:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}.wFPghq_toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 12px;display:flex}.wFPghq_tabs{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.wFPghq_tabs button{white-space:nowrap}.wFPghq_tabs button[aria-pressed=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);font-weight:600}.wFPghq_breadcrumb{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;align-items:center;gap:8px;margin:4px 0 12px;display:flex}.wFPghq_breadcrumb button{white-space:nowrap;flex-shrink:0}.wFPghq_breadcrumb>span:last-child{min-width:0}.wFPghq_operation{z-index:1;border:1px solid var(--dsw-alias-state-business-primary);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-state-business-primary);border-radius:10px;align-items:center;gap:10px;margin:12px 0;padding:16px;font-weight:500;display:flex;position:sticky;top:0}.wFPghq_operation>span:first-child{flex-shrink:0}.wFPghq_operation>span:last-child{overflow-wrap:anywhere;min-width:0}.wFPghq_warning{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);border-radius:8px;margin:10px 0;padding:8px 10px;font-size:12px}.wFPghq_error,.wFPghq_notice{overflow-wrap:anywhere;border-radius:8px;margin:10px 0;padding:8px 10px;font-size:12px}.wFPghq_error{color:var(--dsw-alias-state-danger-primary);background:var(--dsw-alias-state-danger-bg)}.wFPghq_notice{color:var(--dsw-alias-state-success-primary);background:var(--dsw-alias-state-success-bg)}.wFPghq_grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;margin-top:12px;display:grid}.wFPghq_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:10px;flex-direction:column;min-width:0;min-height:150px;padding:12px;display:flex}.wFPghq_cardHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.wFPghq_card h3{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600;line-height:20px}.wFPghq_description{color:var(--dsw-alias-label-secondary);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;margin:8px 0;font-size:12px;line-height:18px;display:-webkit-box;overflow:hidden}.wFPghq_meta{overflow-wrap:anywhere;min-height:18px}.wFPghq_actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.wFPghq_projectInstall.wFPghq_projectInstall{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground)}.wFPghq_projectInstall.wFPghq_projectInstall:hover:not(:disabled){background-color:var(--dsw-alias-button-primary-fill)!important;color:var(--dsw-alias-label-primary-foreground)!important}.wFPghq_marketCard{text-align:left;color:inherit;font:inherit;cursor:pointer;width:100%}.wFPghq_marketCard:hover:not(:disabled){border-color:var(--dsw-alias-border-l1);background:var(--dsw-alias-interactive-bg-hover)}.wFPghq_marketCard:disabled{cursor:not-allowed;opacity:.5}.wFPghq_spinning{animation:1s linear infinite wFPghq_marketRefresh;display:inline-flex}@keyframes wFPghq_marketRefresh{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.wFPghq_spinning{animation:none}}.wFPghq_marketCard:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.wFPghq_enter{color:var(--dsw-alias-label-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12px;line-height:18px;display:flex}@media (width<=640px){.wFPghq_head{flex-direction:column}.wFPghq_head>span{width:100%;min-width:0;max-width:none}}";
17075
17161
  const tagId$4 = "@chatcode/cco-better-sidebar/PluginMarketView.module.css";
17076
17162
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
17077
17163
  const tag = document.createElement("style");
@@ -17081,31 +17167,190 @@ window.__ModuleLoader__.load({
17081
17167
  document.head.appendChild(tag);
17082
17168
  }
17083
17169
  var PluginMarketView_module_css_default = {
17170
+ "projectPicker": "wFPghq_projectPicker",
17171
+ "directoryCrumbs": "wFPghq_directoryCrumbs",
17084
17172
  "meta": "wFPghq_meta",
17085
- "warning": "wFPghq_warning",
17086
- "marketRefresh": "wFPghq_marketRefresh",
17087
- "root": "wFPghq_root",
17088
- "head": "wFPghq_head",
17089
- "error": "wFPghq_error",
17090
- "tabs": "wFPghq_tabs",
17091
- "projectInstall": "wFPghq_projectInstall",
17092
- "enter": "wFPghq_enter",
17093
- "state": "wFPghq_state",
17173
+ "toolbar": "wFPghq_toolbar",
17174
+ "grid": "wFPghq_grid",
17094
17175
  "cardHead": "wFPghq_cardHead",
17176
+ "spinning": "wFPghq_spinning",
17177
+ "operation": "wFPghq_operation",
17178
+ "state": "wFPghq_state",
17179
+ "marketCard": "wFPghq_marketCard",
17095
17180
  "notice": "wFPghq_notice",
17181
+ "directoryList": "wFPghq_directoryList",
17182
+ "head": "wFPghq_head",
17096
17183
  "card": "wFPghq_card",
17184
+ "project": "wFPghq_project",
17185
+ "subtitle": "wFPghq_subtitle",
17186
+ "enter": "wFPghq_enter",
17187
+ "directoryPath": "wFPghq_directoryPath",
17188
+ "marketRefresh": "wFPghq_marketRefresh",
17189
+ "installPath": "wFPghq_installPath",
17190
+ "projectRow": "wFPghq_projectRow",
17191
+ "root": "wFPghq_root",
17192
+ "tabs": "wFPghq_tabs",
17097
17193
  "title": "wFPghq_title",
17098
- "grid": "wFPghq_grid",
17099
- "description": "wFPghq_description",
17194
+ "error": "wFPghq_error",
17195
+ "projectInstall": "wFPghq_projectInstall",
17100
17196
  "actions": "wFPghq_actions",
17101
- "toolbar": "wFPghq_toolbar",
17102
- "subtitle": "wFPghq_subtitle",
17103
- "project": "wFPghq_project",
17104
17197
  "breadcrumb": "wFPghq_breadcrumb",
17105
- "marketCard": "wFPghq_marketCard",
17106
- "spinning": "wFPghq_spinning"
17198
+ "description": "wFPghq_description",
17199
+ "warning": "wFPghq_warning"
17107
17200
  };
17108
17201
  //#endregion
17202
+ //#region src/client/PluginProjectPicker.tsx
17203
+ /** Native chooser first; the host browse backend supplies the remote Web dialog. */
17204
+ function PluginProjectPicker({ request, initialPath, onPicked, onCancel, onError }) {
17205
+ const [browse, setBrowse] = (0, react.useState)(false);
17206
+ const [path, setPath] = (0, react.useState)(initialPath ?? "");
17207
+ const [draft, setDraft] = (0, react.useState)(initialPath ?? "");
17208
+ const [listing, setListing] = (0, react.useState)();
17209
+ const [loading, setLoading] = (0, react.useState)(true);
17210
+ const [error, setError] = (0, react.useState)("");
17211
+ const [revision, setRevision] = (0, react.useState)(0);
17212
+ const callbacks = (0, react.useRef)({
17213
+ onPicked,
17214
+ onCancel,
17215
+ onError
17216
+ });
17217
+ callbacks.current = {
17218
+ onPicked,
17219
+ onCancel,
17220
+ onError
17221
+ };
17222
+ (0, react.useEffect)(() => {
17223
+ let active = true;
17224
+ request.result.then((result) => {
17225
+ if (!active) return;
17226
+ if (result.kind === "browse") setBrowse(true);
17227
+ else if (result.path === null) callbacks.current.onCancel();
17228
+ else callbacks.current.onPicked(result.path);
17229
+ }).catch((cause) => {
17230
+ if (active) callbacks.current.onError(cause instanceof Error ? cause.message : String(cause));
17231
+ });
17232
+ return () => {
17233
+ active = false;
17234
+ };
17235
+ }, [request]);
17236
+ (0, react.useEffect)(() => {
17237
+ if (!browse) return;
17238
+ const controller = new AbortController();
17239
+ let active = true;
17240
+ setLoading(true);
17241
+ setListing(void 0);
17242
+ setError("");
17243
+ api.pluginProjectDirectories(path || void 0, controller.signal).then((value) => {
17244
+ if (active) {
17245
+ setListing(value);
17246
+ setDraft(value.path);
17247
+ setLoading(false);
17248
+ }
17249
+ }).catch((cause) => {
17250
+ if (active) {
17251
+ setError(cause instanceof Error ? cause.message : String(cause));
17252
+ setLoading(false);
17253
+ }
17254
+ });
17255
+ return () => {
17256
+ active = false;
17257
+ controller.abort();
17258
+ };
17259
+ }, [
17260
+ browse,
17261
+ path,
17262
+ revision
17263
+ ]);
17264
+ const navigate = (next) => {
17265
+ setLoading(true);
17266
+ setListing(void 0);
17267
+ setPath(next);
17268
+ setRevision((value) => value + 1);
17269
+ };
17270
+ if (!browse) return null;
17271
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_deepseek_ai_dsh_client_ui_primitives.Modal, {
17272
+ open: true,
17273
+ title: t("pluginMarketChooseProject"),
17274
+ description: t("pluginMarketProjectHint"),
17275
+ closeLabel: t("cancel"),
17276
+ onClose: onCancel,
17277
+ className: PluginMarketView_module_css_default.projectPicker,
17278
+ footer: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
17279
+ variant: "outline",
17280
+ onClick: onCancel,
17281
+ children: t("cancel")
17282
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
17283
+ variant: "primary",
17284
+ disabled: loading || !listing,
17285
+ onClick: () => {
17286
+ if (listing) onPicked(listing.path);
17287
+ },
17288
+ children: t("pluginMarketSelectDirectory")
17289
+ })] }),
17290
+ children: [
17291
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("form", {
17292
+ className: PluginMarketView_module_css_default.directoryPath,
17293
+ onSubmit: (event) => {
17294
+ event.preventDefault();
17295
+ navigate(draft);
17296
+ },
17297
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Input, {
17298
+ "data-modal-autofocus": true,
17299
+ disabled: loading,
17300
+ "aria-label": t("pluginMarketDirectoryPath"),
17301
+ value: draft,
17302
+ onChange: (event) => setDraft(event.target.value)
17303
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
17304
+ type: "submit",
17305
+ variant: "outline",
17306
+ disabled: loading,
17307
+ children: t("pluginMarketOpenDirectory")
17308
+ })]
17309
+ }),
17310
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("nav", {
17311
+ className: PluginMarketView_module_css_default.directoryCrumbs,
17312
+ "aria-label": t("pluginMarketDirectoryPath"),
17313
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
17314
+ size: "sm",
17315
+ variant: "ghost",
17316
+ disabled: loading,
17317
+ onClick: () => navigate(""),
17318
+ children: t("pluginMarketHomeDirectory")
17319
+ }), listing?.crumbs.map((crumb) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
17320
+ size: "sm",
17321
+ variant: "ghost",
17322
+ disabled: loading,
17323
+ onClick: () => navigate(crumb.path),
17324
+ children: crumb.name
17325
+ }, crumb.path))]
17326
+ }),
17327
+ error ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
17328
+ className: PluginMarketView_module_css_default.error,
17329
+ role: "alert",
17330
+ children: error
17331
+ }) : null,
17332
+ loading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
17333
+ className: PluginMarketView_module_css_default.state,
17334
+ role: "status",
17335
+ children: t("pluginMarketLoading")
17336
+ }) : null,
17337
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
17338
+ className: PluginMarketView_module_css_default.directoryList,
17339
+ "aria-busy": loading,
17340
+ children: listing?.entries.map((entry) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
17341
+ type: "button",
17342
+ onClick: () => navigate(entry.path),
17343
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFolderOpen16, {}), entry.name]
17344
+ }, entry.path))
17345
+ }),
17346
+ listing?.truncated ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
17347
+ className: PluginMarketView_module_css_default.state,
17348
+ children: t("pluginMarketDirectoryTruncated")
17349
+ }) : null
17350
+ ]
17351
+ });
17352
+ }
17353
+ //#endregion
17109
17354
  //#region src/client/PluginMarketView.tsx
17110
17355
  /** Two catalog levels with project/user actions directly on plugin cards. */
17111
17356
  function PluginMarketView({ scope, visible, catalog }) {
@@ -17113,24 +17358,31 @@ window.__ModuleLoader__.load({
17113
17358
  const [marketId, setMarketId] = (0, react.useState)(null);
17114
17359
  const [tab, setTab] = (0, react.useState)("markets");
17115
17360
  const [query, setQuery] = (0, react.useState)("");
17116
- const [installed, setInstalled] = (0, react.useState)([]);
17117
- const [recordsReady, setRecordsReady] = (0, react.useState)(false);
17118
- const [recordsError, setRecordsError] = (0, react.useState)("");
17361
+ const [recordState, setRecordState] = (0, react.useState)();
17119
17362
  const [message, setMessage] = (0, react.useState)();
17120
17363
  const [working, setWorking] = (0, react.useState)();
17364
+ const [selection, setSelection] = (0, react.useState)();
17365
+ const [picker, setPicker] = (0, react.useState)();
17366
+ const pickerRef = (0, react.useRef)();
17121
17367
  const [revision, setRevision] = (0, react.useState)(0);
17122
17368
  const pending = (0, react.useRef)(false);
17123
17369
  const breadcrumbNode = (0, react.useRef)(null);
17124
17370
  const mutationVersion = (0, react.useRef)(0);
17125
17371
  const focusBack = (0, react.useRef)(false);
17126
17372
  const scopeKey = `${scope.sessionId}\0${scope.cwd ?? ""}`;
17373
+ const projectPath = selection?.key === scopeKey ? selection.path : scope.cwd;
17374
+ const recordsKey = `${scopeKey}\0${projectPath ?? ""}`;
17375
+ const installed = recordState?.key === recordsKey ? recordState.records : [];
17376
+ const recordsReady = recordState?.key === recordsKey && recordState.ready;
17377
+ const recordsError = recordState?.key === recordsKey ? recordState.error : "";
17127
17378
  const latestScope = (0, react.useRef)(scopeKey);
17128
17379
  latestScope.current = scopeKey;
17129
17380
  const markets = snapshot.markets?.data?.marketplaces ?? [];
17130
17381
  const market = markets.find((item) => item.id === marketId);
17131
17382
  const catalogEntry = tab === "markets" && marketId ? snapshot.plugins[marketId] : snapshot.markets;
17132
17383
  const loading = snapshot.refresh?.status === "loading" || tab === "markets" && (!catalogEntry || catalogEntry.status === "loading");
17133
- const blocked = loading || snapshot.refresh?.status === "error";
17384
+ const operating = !!working && !working.choosing;
17385
+ const blocked = loading || snapshot.refresh?.status === "error" || !!working;
17134
17386
  (0, react.useEffect)(() => {
17135
17387
  if (!visible) return;
17136
17388
  catalog.start();
@@ -17151,11 +17403,12 @@ window.__ModuleLoader__.load({
17151
17403
  }
17152
17404
  }, [marketId]);
17153
17405
  (0, react.useEffect)(() => {
17154
- setInstalled([]);
17155
- setRecordsReady(false);
17156
- setRecordsError("");
17157
17406
  setMessage(void 0);
17158
17407
  }, [scopeKey]);
17408
+ (0, react.useEffect)(() => () => {
17409
+ pickerRef.current?.controller.abort();
17410
+ pickerRef.current?.finish(null);
17411
+ }, []);
17159
17412
  (0, react.useEffect)(() => {
17160
17413
  if (!visible) return;
17161
17414
  const controller = new AbortController();
@@ -17166,14 +17419,20 @@ window.__ModuleLoader__.load({
17166
17419
  reading = true;
17167
17420
  const version = mutationVersion.current;
17168
17421
  try {
17169
- const records = await api.pluginsInstalled(scope, controller.signal);
17170
- if (active && !pending.current && version === mutationVersion.current) {
17171
- setInstalled(records);
17172
- setRecordsReady(true);
17173
- setRecordsError("");
17174
- }
17422
+ const records = await api.pluginsInstalled(scope, controller.signal, projectPath);
17423
+ if (active && !pending.current && version === mutationVersion.current) setRecordState({
17424
+ key: recordsKey,
17425
+ records,
17426
+ ready: true,
17427
+ error: ""
17428
+ });
17175
17429
  } catch (cause) {
17176
- if (active && version === mutationVersion.current) setRecordsError(cause instanceof Error ? cause.message : String(cause));
17430
+ if (active && version === mutationVersion.current) setRecordState((previous) => ({
17431
+ key: recordsKey,
17432
+ records: previous?.key === recordsKey ? previous.records : [],
17433
+ ready: previous?.key === recordsKey && previous.ready,
17434
+ error: cause instanceof Error ? cause.message : String(cause)
17435
+ }));
17177
17436
  } finally {
17178
17437
  reading = false;
17179
17438
  }
@@ -17188,32 +17447,97 @@ window.__ModuleLoader__.load({
17188
17447
  controller.abort();
17189
17448
  };
17190
17449
  }, [
17191
- scopeKey,
17450
+ recordsKey,
17192
17451
  visible,
17193
17452
  revision
17194
17453
  ]);
17454
+ const chooseDirectory = () => new Promise((finish) => {
17455
+ const controller = new AbortController();
17456
+ const request = {
17457
+ result: api.pluginProjectPick(controller.signal),
17458
+ controller,
17459
+ finish
17460
+ };
17461
+ pickerRef.current = request;
17462
+ setPicker(request);
17463
+ });
17464
+ const finishPicker = (path) => {
17465
+ pickerRef.current?.finish(path);
17466
+ pickerRef.current?.controller.abort();
17467
+ pickerRef.current = void 0;
17468
+ setPicker(void 0);
17469
+ };
17470
+ const chooseProject = async () => {
17471
+ if (pending.current || blocked) return;
17472
+ pending.current = true;
17473
+ mutationVersion.current++;
17474
+ setMessage(void 0);
17475
+ const key = scopeKey;
17476
+ try {
17477
+ const path = await chooseDirectory();
17478
+ if (path && latestScope.current === key) setSelection({
17479
+ key,
17480
+ path
17481
+ });
17482
+ } finally {
17483
+ pending.current = false;
17484
+ setRevision((value) => value + 1);
17485
+ }
17486
+ };
17195
17487
  const perform = async (plugin, installScope) => {
17196
17488
  const refreshStatus = catalog.getSnapshot().refresh?.status;
17197
17489
  if (pending.current || !recordsReady || blocked || refreshStatus === "loading" || refreshStatus === "error") return;
17198
17490
  const key = scopeKey;
17199
- const present = installed.some((item) => item.id === plugin.id && item.scope === installScope);
17491
+ const record = installed.find((item) => item.id === plugin.id && item.scope === installScope);
17492
+ const present = !!record;
17200
17493
  pending.current = true;
17201
17494
  mutationVersion.current++;
17202
- setWorking({
17495
+ const operation = {
17203
17496
  id: plugin.id,
17204
- scope: installScope
17497
+ name: plugin.name,
17498
+ scope: installScope,
17499
+ uninstall: present
17500
+ };
17501
+ setWorking({
17502
+ ...operation,
17503
+ choosing: installScope === "project" && !present
17205
17504
  });
17206
17505
  setMessage(void 0);
17207
17506
  try {
17208
- if (present) await api.pluginUninstall(scope, plugin.id, installScope);
17209
- else await api.pluginInstall(scope, plugin.id, installScope);
17210
- const records = await api.pluginsInstalled(scope);
17507
+ let target = record?.scope === "project" ? record.projectPath : projectPath;
17508
+ if (installScope === "project" && !present) {
17509
+ const chosen = await chooseDirectory();
17510
+ if (!chosen || latestScope.current !== key) return;
17511
+ target = chosen;
17512
+ setSelection({
17513
+ key,
17514
+ path: target
17515
+ });
17516
+ setWorking(operation);
17517
+ }
17518
+ let installedPath = "";
17519
+ if (present) await api.pluginUninstall(scope, plugin.id, installScope, target);
17520
+ else {
17521
+ const result = await api.pluginInstall(scope, plugin.id, installScope, target);
17522
+ installedPath = result.installPath;
17523
+ if (installScope === "project") {
17524
+ target = result.projectPath;
17525
+ if (latestScope.current === key) setSelection({
17526
+ key,
17527
+ path: target
17528
+ });
17529
+ }
17530
+ }
17531
+ const records = await api.pluginsInstalled(scope, void 0, target);
17211
17532
  if (latestScope.current === key) {
17212
- setInstalled(records);
17213
- setRecordsReady(true);
17214
- setRecordsError("");
17533
+ setRecordState({
17534
+ key: `${key}\0${target ?? ""}`,
17535
+ records,
17536
+ ready: true,
17537
+ error: ""
17538
+ });
17215
17539
  setMessage({
17216
- text: t(present ? "pluginMarketUninstalled" : "pluginMarketInstalled"),
17540
+ text: present ? t("pluginMarketUninstalled") : t("pluginMarketInstalledAt", { path: installedPath }),
17217
17541
  error: false
17218
17542
  });
17219
17543
  }
@@ -17225,6 +17549,7 @@ window.__ModuleLoader__.load({
17225
17549
  } finally {
17226
17550
  pending.current = false;
17227
17551
  setWorking(void 0);
17552
+ setRevision((value) => value + 1);
17228
17553
  }
17229
17554
  };
17230
17555
  const refresh = () => {
@@ -17244,7 +17569,7 @@ window.__ModuleLoader__.load({
17244
17569
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
17245
17570
  className: PluginMarketView_module_css_default.root,
17246
17571
  "aria-label": t("pluginMarketTitle"),
17247
- "aria-busy": loading,
17572
+ "aria-busy": loading || operating,
17248
17573
  "data-chatcode-plugin-market": true,
17249
17574
  children: [
17250
17575
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
@@ -17263,10 +17588,21 @@ window.__ModuleLoader__.load({
17263
17588
  "aria-label": t("pluginMarketSearch")
17264
17589
  })]
17265
17590
  }),
17266
- scope.cwd ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
17267
- className: PluginMarketView_module_css_default.project,
17268
- children: t("pluginMarketProjectDirectory", { path: scope.cwd })
17269
- }) : null,
17591
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
17592
+ className: PluginMarketView_module_css_default.projectRow,
17593
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
17594
+ className: PluginMarketView_module_css_default.project,
17595
+ children: projectPath ? t("pluginMarketProjectDirectory", { path: projectPath }) : t("pluginMarketProjectHint")
17596
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
17597
+ size: "sm",
17598
+ variant: "outline",
17599
+ disabled: blocked || !!working || !!picker,
17600
+ onClick: () => {
17601
+ chooseProject();
17602
+ },
17603
+ children: t("pluginMarketChooseProject")
17604
+ })]
17605
+ }),
17270
17606
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
17271
17607
  className: PluginMarketView_module_css_default.toolbar,
17272
17608
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -17299,6 +17635,15 @@ window.__ModuleLoader__.load({
17299
17635
  }), t(loading ? "pluginMarketRefreshing" : "pluginMarketRefresh")]
17300
17636
  })]
17301
17637
  }),
17638
+ operating ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
17639
+ className: PluginMarketView_module_css_default.operation,
17640
+ role: "status",
17641
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
17642
+ className: PluginMarketView_module_css_default.spinning,
17643
+ "aria-hidden": "true",
17644
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconRefreshOutline14, {})
17645
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: t(working.uninstall ? "pluginMarketUninstallProgress" : "pluginMarketInstallProgress", { name: working.name }) })]
17646
+ }) : null,
17302
17647
  warning && tab === "markets" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
17303
17648
  className: PluginMarketView_module_css_default.warning,
17304
17649
  role: "status",
@@ -17339,7 +17684,7 @@ window.__ModuleLoader__.load({
17339
17684
  }) : null,
17340
17685
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
17341
17686
  className: PluginMarketView_module_css_default.grid,
17342
- "aria-busy": loading,
17687
+ "aria-busy": loading || operating,
17343
17688
  children: showMarkets ? filteredMarkets.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
17344
17689
  type: "button",
17345
17690
  disabled: blocked,
@@ -17382,6 +17727,13 @@ window.__ModuleLoader__.load({
17382
17727
  className: PluginMarketView_module_css_default.meta,
17383
17728
  children: [marketName, tab === "installed" && records[0]?.version ? ` · ${records[0].version}` : ""]
17384
17729
  }),
17730
+ records.map((record) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
17731
+ className: PluginMarketView_module_css_default.installPath,
17732
+ children: t("pluginMarketInstallPath", {
17733
+ scope: t(record.scope === "project" ? "pluginMarketProject" : "pluginMarketUser"),
17734
+ path: record.installPath
17735
+ })
17736
+ }, record.scope)),
17385
17737
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
17386
17738
  className: PluginMarketView_module_css_default.actions,
17387
17739
  children: ["project", "user"].map((installScope) => {
@@ -17396,7 +17748,12 @@ window.__ModuleLoader__.load({
17396
17748
  perform(item, installScope);
17397
17749
  },
17398
17750
  children: [
17399
- t(busy ? present ? "pluginMarketUninstalling" : "pluginMarketInstalling" : present ? "pluginMarketUninstall" : "pluginMarketInstall"),
17751
+ busy && operating ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
17752
+ className: PluginMarketView_module_css_default.spinning,
17753
+ "aria-hidden": "true",
17754
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconRefreshOutline14, {})
17755
+ }) : null,
17756
+ t(busy ? working?.choosing ? "pluginMarketChoosingDirectory" : working?.uninstall ? "pluginMarketUninstalling" : "pluginMarketInstalling" : present ? "pluginMarketUninstall" : "pluginMarketInstall"),
17400
17757
  " · ",
17401
17758
  t(installScope === "project" ? "pluginMarketProject" : "pluginMarketUser")
17402
17759
  ]
@@ -17410,6 +17767,19 @@ window.__ModuleLoader__.load({
17410
17767
  !loading && hasData && (showMarkets ? filteredMarkets : filteredPlugins).length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
17411
17768
  className: PluginMarketView_module_css_default.state,
17412
17769
  children: t("pluginMarketEmpty")
17770
+ }) : null,
17771
+ picker ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PluginProjectPicker, {
17772
+ request: picker,
17773
+ initialPath: projectPath,
17774
+ onPicked: finishPicker,
17775
+ onCancel: () => finishPicker(null),
17776
+ onError: (text) => {
17777
+ setMessage({
17778
+ text,
17779
+ error: true
17780
+ });
17781
+ finishPicker(null);
17782
+ }
17413
17783
  }) : null
17414
17784
  ]
17415
17785
  });
@@ -19382,6 +19752,62 @@ window.__ModuleLoader__.load({
19382
19752
  location.replace(chatcodeLoginRoute(location));
19383
19753
  }
19384
19754
  //#endregion
19755
+ //#region src/client/LogoutConfirmDialog.tsx
19756
+ /** Native modal supplies an inert background and default Cancel focus until a choice is made. */
19757
+ function LogoutConfirmDialog({ onCancel, onConfirm }) {
19758
+ const ref = (0, react.useRef)(null);
19759
+ const titleId = (0, react.useId)();
19760
+ const descriptionId = (0, react.useId)();
19761
+ (0, react.useEffect)(() => {
19762
+ const dialog = ref.current;
19763
+ dialog?.showModal();
19764
+ return () => {
19765
+ if (dialog?.open) dialog.close();
19766
+ };
19767
+ }, []);
19768
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("dialog", {
19769
+ ref,
19770
+ className: sidebar_module_css_default.accountLogoutDialog,
19771
+ role: "alertdialog",
19772
+ "aria-modal": "true",
19773
+ "aria-labelledby": titleId,
19774
+ "aria-describedby": descriptionId,
19775
+ onCancel: (event) => {
19776
+ event.preventDefault();
19777
+ onCancel();
19778
+ },
19779
+ onKeyDown: (event) => {
19780
+ event.stopPropagation();
19781
+ },
19782
+ children: [
19783
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
19784
+ id: titleId,
19785
+ className: sidebar_module_css_default.accountLogoutTitle,
19786
+ children: t("accountMenuLogoutConfirmTitle")
19787
+ }),
19788
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
19789
+ id: descriptionId,
19790
+ className: sidebar_module_css_default.accountLogoutDescription,
19791
+ children: t("accountMenuLogoutConfirmDescription")
19792
+ }),
19793
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
19794
+ className: sidebar_module_css_default.accountLogoutActions,
19795
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
19796
+ type: "button",
19797
+ autoFocus: true,
19798
+ onClick: onCancel,
19799
+ children: t("cancel")
19800
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
19801
+ type: "button",
19802
+ className: sidebar_module_css_default.accountLogoutConfirm,
19803
+ onClick: onConfirm,
19804
+ children: t("accountMenuLogout")
19805
+ })]
19806
+ })
19807
+ ]
19808
+ });
19809
+ }
19810
+ //#endregion
19385
19811
  //#region src/client/AccountMenu.tsx
19386
19812
  /**
19387
19813
  * Bottom-left account control.
@@ -19473,6 +19899,7 @@ window.__ModuleLoader__.load({
19473
19899
  function AccountMenu() {
19474
19900
  const rootRef = (0, react.useRef)(null);
19475
19901
  const [open, setOpen] = (0, react.useState)(false);
19902
+ const [logoutTarget, setLogoutTarget] = (0, react.useState)();
19476
19903
  const [userName, setUserName] = (0, react.useState)("User");
19477
19904
  const { chatcode, busy, error, loginUrl, startLogin, logout: logoutChatcode } = useChatcodeAccount();
19478
19905
  (0, react.useEffect)(() => {
@@ -19532,106 +19959,123 @@ window.__ModuleLoader__.load({
19532
19959
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
19533
19960
  ref: rootRef,
19534
19961
  className: sidebar_module_css_default.accountMenu,
19535
- children: [open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
19536
- className: sidebar_module_css_default.accountDropdown,
19537
- role: "menu",
19538
- "aria-label": t("accountMenuLabel"),
19539
- children: [
19540
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
19541
- className: sidebar_module_css_default.accountDropdownHeader,
19542
- children: [
19543
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
19544
- className: sidebar_module_css_default.accountAvatar,
19545
- children: chatcodeName.slice(0, 1).toUpperCase()
19546
- }),
19547
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
19548
- className: sidebar_module_css_default.accountName,
19549
- children: chatcodeName
19550
- }),
19551
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
19552
- className: sidebar_module_css_default.accountPresence,
19553
- style: { opacity: signedIn ? 1 : .25 },
19554
- "aria-hidden": "true"
19555
- })
19556
- ]
19557
- }),
19558
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: sidebar_module_css_default.accountMenuDivider }),
19559
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
19560
- type: "button",
19561
- role: "menuitem",
19562
- className: sidebar_module_css_default.accountItem,
19563
- onClick: openSettings,
19564
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SettingsIcon, {}), t("accountMenuSettings")]
19565
- }),
19566
- error === "operation" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
19567
- role: "alert",
19568
- className: sidebar_module_css_default.accountItem,
19569
- children: t("accountMenuChatcodeError")
19570
- }),
19571
- (chatcode?.login?.state === "failed" || chatcode?.login?.state === "timed-out") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
19572
- role: "alert",
19573
- className: sidebar_module_css_default.accountItem,
19574
- children: t("accountMenuChatcodeRetry")
19575
- }),
19576
- loginUrl && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
19577
- "data-dsh-external": "true",
19578
- className: sidebar_module_css_default.accountItem,
19579
- href: loginUrl,
19580
- target: "_blank",
19581
- rel: "noopener noreferrer",
19582
- onClick: (event) => {
19583
- event.stopPropagation();
19584
- },
19585
- children: t("accountMenuChatcodeOpen")
19586
- }),
19587
- chatcode?.available === true && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [canStartChatcodeLogin && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
19588
- type: "button",
19589
- role: "menuitem",
19590
- className: sidebar_module_css_default.accountItem,
19591
- disabled: busy,
19592
- onClick: startLogin,
19593
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutIcon, {}), busy ? t("accountMenuChatcodeStarting") : t("accountMenuChatcodeLogin")]
19594
- }), hasChatcodeAccount && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
19595
- type: "button",
19596
- role: "menuitem",
19597
- className: sidebar_module_css_default.accountItem,
19598
- disabled: busy,
19599
- onClick: logoutChatcode,
19600
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutIcon, {}), t("accountMenuLogout")]
19601
- })] }),
19602
- chatcode?.available === false && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
19603
- type: "button",
19604
- role: "menuitem",
19605
- className: sidebar_module_css_default.accountItem,
19606
- onClick: logout,
19607
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutIcon, {}), t("accountMenuLogout")]
19608
- })
19609
- ]
19610
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
19611
- type: "button",
19612
- className: sidebar_module_css_default.accountTrigger,
19613
- "aria-expanded": open,
19614
- "aria-haspopup": "menu",
19615
- "aria-label": t("accountMenuLabel"),
19616
- onClick: () => {
19617
- setOpen((value) => !value);
19618
- },
19619
- children: [
19620
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
19621
- className: sidebar_module_css_default.accountAvatar,
19622
- children: chatcodeName.slice(0, 1).toUpperCase()
19623
- }),
19624
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
19625
- className: sidebar_module_css_default.accountName,
19626
- children: chatcodeName
19627
- }),
19628
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
19629
- className: sidebar_module_css_default.accountPresence,
19630
- style: { opacity: signedIn ? 1 : .25 },
19631
- "aria-hidden": "true"
19632
- })
19633
- ]
19634
- })]
19962
+ children: [
19963
+ open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
19964
+ className: sidebar_module_css_default.accountDropdown,
19965
+ role: "menu",
19966
+ "aria-label": t("accountMenuLabel"),
19967
+ children: [
19968
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
19969
+ className: sidebar_module_css_default.accountDropdownHeader,
19970
+ children: [
19971
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
19972
+ className: sidebar_module_css_default.accountAvatar,
19973
+ children: chatcodeName.slice(0, 1).toUpperCase()
19974
+ }),
19975
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
19976
+ className: sidebar_module_css_default.accountName,
19977
+ children: chatcodeName
19978
+ }),
19979
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
19980
+ className: sidebar_module_css_default.accountPresence,
19981
+ style: { opacity: signedIn ? 1 : .25 },
19982
+ "aria-hidden": "true"
19983
+ })
19984
+ ]
19985
+ }),
19986
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: sidebar_module_css_default.accountMenuDivider }),
19987
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
19988
+ type: "button",
19989
+ role: "menuitem",
19990
+ className: sidebar_module_css_default.accountItem,
19991
+ onClick: openSettings,
19992
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SettingsIcon, {}), t("accountMenuSettings")]
19993
+ }),
19994
+ error === "operation" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
19995
+ role: "alert",
19996
+ className: sidebar_module_css_default.accountItem,
19997
+ children: t("accountMenuChatcodeError")
19998
+ }),
19999
+ (chatcode?.login?.state === "failed" || chatcode?.login?.state === "timed-out") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
20000
+ role: "alert",
20001
+ className: sidebar_module_css_default.accountItem,
20002
+ children: t("accountMenuChatcodeRetry")
20003
+ }),
20004
+ loginUrl && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
20005
+ "data-dsh-external": "true",
20006
+ className: sidebar_module_css_default.accountItem,
20007
+ href: loginUrl,
20008
+ target: "_blank",
20009
+ rel: "noopener noreferrer",
20010
+ onClick: (event) => {
20011
+ event.stopPropagation();
20012
+ },
20013
+ children: t("accountMenuChatcodeOpen")
20014
+ }),
20015
+ chatcode?.available === true && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [canStartChatcodeLogin && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
20016
+ type: "button",
20017
+ role: "menuitem",
20018
+ className: sidebar_module_css_default.accountItem,
20019
+ disabled: busy,
20020
+ onClick: startLogin,
20021
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutIcon, {}), busy ? t("accountMenuChatcodeStarting") : t("accountMenuChatcodeLogin")]
20022
+ }), hasChatcodeAccount && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
20023
+ type: "button",
20024
+ role: "menuitem",
20025
+ className: sidebar_module_css_default.accountItem,
20026
+ disabled: busy,
20027
+ onClick: () => {
20028
+ setLogoutTarget("chatcode");
20029
+ },
20030
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutIcon, {}), t("accountMenuLogout")]
20031
+ })] }),
20032
+ chatcode?.available === false && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
20033
+ type: "button",
20034
+ role: "menuitem",
20035
+ className: sidebar_module_css_default.accountItem,
20036
+ onClick: () => {
20037
+ setLogoutTarget("browser");
20038
+ },
20039
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutIcon, {}), t("accountMenuLogout")]
20040
+ })
20041
+ ]
20042
+ }),
20043
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
20044
+ type: "button",
20045
+ className: sidebar_module_css_default.accountTrigger,
20046
+ "aria-expanded": open,
20047
+ "aria-haspopup": "menu",
20048
+ "aria-label": t("accountMenuLabel"),
20049
+ onClick: () => {
20050
+ setOpen((value) => !value);
20051
+ },
20052
+ children: [
20053
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20054
+ className: sidebar_module_css_default.accountAvatar,
20055
+ children: chatcodeName.slice(0, 1).toUpperCase()
20056
+ }),
20057
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20058
+ className: sidebar_module_css_default.accountName,
20059
+ children: chatcodeName
20060
+ }),
20061
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20062
+ className: sidebar_module_css_default.accountPresence,
20063
+ style: { opacity: signedIn ? 1 : .25 },
20064
+ "aria-hidden": "true"
20065
+ })
20066
+ ]
20067
+ }),
20068
+ logoutTarget !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutConfirmDialog, {
20069
+ onCancel: () => {
20070
+ setLogoutTarget(void 0);
20071
+ },
20072
+ onConfirm: () => {
20073
+ setLogoutTarget(void 0);
20074
+ if (logoutTarget === "chatcode") logoutChatcode();
20075
+ else logout();
20076
+ }
20077
+ })
20078
+ ]
19635
20079
  });
19636
20080
  }
19637
20081
  //#endregion
@@ -22277,21 +22721,21 @@ window.__ModuleLoader__.load({
22277
22721
  document.head.appendChild(tag);
22278
22722
  }
22279
22723
  var CodingPlanModelsSettings_module_css_default = {
22280
- "status": "kn_HcG_status",
22281
- "modelId": "kn_HcG_modelId",
22724
+ "modelTop": "kn_HcG_modelTop",
22282
22725
  "group": "kn_HcG_group",
22726
+ "modelDescription": "kn_HcG_modelDescription",
22283
22727
  "description": "kn_HcG_description",
22284
- "models": "kn_HcG_models",
22728
+ "headingRow": "kn_HcG_headingRow",
22729
+ "status": "kn_HcG_status",
22285
22730
  "heading": "kn_HcG_heading",
22286
- "modelTop": "kn_HcG_modelTop",
22287
- "modelSelected": "kn_HcG_modelSelected",
22731
+ "selected": "kn_HcG_selected",
22288
22732
  "model": "kn_HcG_model",
22289
- "headingRow": "kn_HcG_headingRow",
22290
- "meta": "kn_HcG_meta",
22291
- "refresh": "kn_HcG_refresh",
22292
- "modelDescription": "kn_HcG_modelDescription",
22733
+ "modelSelected": "kn_HcG_modelSelected",
22293
22734
  "modelName": "kn_HcG_modelName",
22294
- "selected": "kn_HcG_selected"
22735
+ "models": "kn_HcG_models",
22736
+ "meta": "kn_HcG_meta",
22737
+ "modelId": "kn_HcG_modelId",
22738
+ "refresh": "kn_HcG_refresh"
22295
22739
  };
22296
22740
  //#endregion
22297
22741
  //#region src/client/CodingPlanModelsSettings.tsx
@@ -23460,48 +23904,48 @@ window.__ModuleLoader__.load({
23460
23904
  document.head.appendChild(tag);
23461
23905
  }
23462
23906
  var UsageHeatmapSection_module_css_default = {
23463
- "cellToday": "iUwB6a_cellToday",
23907
+ "statLabel": "iUwB6a_statLabel",
23464
23908
  "cell": "iUwB6a_cell",
23465
- "gridBody": "iUwB6a_gridBody",
23466
- "tooltipSplit": "iUwB6a_tooltipSplit",
23467
- "empty": "iUwB6a_empty",
23468
- "stateError": "iUwB6a_stateError",
23469
- "monthNav": "iUwB6a_monthNav",
23470
- "tooltip": "iUwB6a_tooltip",
23471
- "totalNumber": "iUwB6a_totalNumber",
23472
- "weekdays": "iUwB6a_weekdays",
23473
- "todayDot": "iUwB6a_todayDot",
23474
- "dshSidebarUsageSpin": "iUwB6a_dshSidebarUsageSpin",
23475
- "totalValue": "iUwB6a_totalValue",
23476
- "cellFuture": "iUwB6a_cellFuture",
23909
+ "cellToday": "iUwB6a_cellToday",
23910
+ "tooltipDate": "iUwB6a_tooltipDate",
23911
+ "section": "iUwB6a_section",
23912
+ "stat": "iUwB6a_stat",
23477
23913
  "grid": "iUwB6a_grid",
23478
- "state": "iUwB6a_state",
23479
- "headerRow": "iUwB6a_headerRow",
23480
23914
  "monthButton": "iUwB6a_monthButton",
23915
+ "gridBody": "iUwB6a_gridBody",
23916
+ "statValue": "iUwB6a_statValue",
23481
23917
  "cellHover": "iUwB6a_cellHover",
23918
+ "dshSidebarUsageSpin": "iUwB6a_dshSidebarUsageSpin",
23919
+ "refreshButton": "iUwB6a_refreshButton",
23920
+ "state": "iUwB6a_state",
23921
+ "empty": "iUwB6a_empty",
23922
+ "tooltipTokens": "iUwB6a_tooltipTokens",
23923
+ "tooltip": "iUwB6a_tooltip",
23924
+ "cellDay": "iUwB6a_cellDay",
23925
+ "footer": "iUwB6a_footer",
23482
23926
  "monthLabel": "iUwB6a_monthLabel",
23483
- "overview": "iUwB6a_overview",
23484
23927
  "tooltipToday": "iUwB6a_tooltipToday",
23485
- "cellTokens": "iUwB6a_cellTokens",
23486
- "legend": "iUwB6a_legend",
23487
- "group": "iUwB6a_group",
23488
- "footer": "iUwB6a_footer",
23489
- "retry": "iUwB6a_retry",
23490
23928
  "total": "iUwB6a_total",
23491
- "refreshButton": "iUwB6a_refreshButton",
23492
- "todayLabel": "iUwB6a_todayLabel",
23493
- "statValue": "iUwB6a_statValue",
23929
+ "retry": "iUwB6a_retry",
23930
+ "headerRow": "iUwB6a_headerRow",
23931
+ "stateError": "iUwB6a_stateError",
23932
+ "spin": "iUwB6a_spin",
23933
+ "totalUnit": "iUwB6a_totalUnit",
23934
+ "weekdays": "iUwB6a_weekdays",
23494
23935
  "legendSwatch": "iUwB6a_legendSwatch",
23495
- "section": "iUwB6a_section",
23496
- "stats": "iUwB6a_stats",
23497
- "statLabel": "iUwB6a_statLabel",
23498
- "tooltipTokens": "iUwB6a_tooltipTokens",
23499
- "cellDay": "iUwB6a_cellDay",
23936
+ "cellTokens": "iUwB6a_cellTokens",
23500
23937
  "tooltipBelow": "iUwB6a_tooltipBelow",
23501
- "stat": "iUwB6a_stat",
23502
- "totalUnit": "iUwB6a_totalUnit",
23503
- "tooltipDate": "iUwB6a_tooltipDate",
23504
- "spin": "iUwB6a_spin"
23938
+ "totalValue": "iUwB6a_totalValue",
23939
+ "todayLabel": "iUwB6a_todayLabel",
23940
+ "monthNav": "iUwB6a_monthNav",
23941
+ "tooltipSplit": "iUwB6a_tooltipSplit",
23942
+ "legend": "iUwB6a_legend",
23943
+ "overview": "iUwB6a_overview",
23944
+ "todayDot": "iUwB6a_todayDot",
23945
+ "cellFuture": "iUwB6a_cellFuture",
23946
+ "totalNumber": "iUwB6a_totalNumber",
23947
+ "group": "iUwB6a_group",
23948
+ "stats": "iUwB6a_stats"
23505
23949
  };
23506
23950
  //#endregion
23507
23951
  //#region src/client/UsageHeatmapSection.tsx
@@ -23878,33 +24322,33 @@ window.__ModuleLoader__.load({
23878
24322
  }
23879
24323
  var AiRatioSection_module_css_default = {
23880
24324
  "dateCell": "JtMahq_dateCell",
24325
+ "pageInfo": "JtMahq_pageInfo",
24326
+ "aiValue": "JtMahq_aiValue",
24327
+ "ratioBar": "JtMahq_ratioBar",
23881
24328
  "pager": "JtMahq_pager",
24329
+ "primaryButton": "JtMahq_primaryButton",
24330
+ "ratioCardLow": "JtMahq_ratioCardLow",
24331
+ "ratioValue": "JtMahq_ratioValue",
24332
+ "queryRow": "JtMahq_queryRow",
24333
+ "dateInput": "JtMahq_dateInput",
23882
24334
  "section": "JtMahq_section",
24335
+ "adoptedValue": "JtMahq_adoptedValue",
23883
24336
  "tableHeading": "JtMahq_tableHeading",
23884
24337
  "dash": "JtMahq_dash",
24338
+ "overview": "JtMahq_overview",
23885
24339
  "card": "JtMahq_card",
23886
- "adoptedValue": "JtMahq_adoptedValue",
23887
- "ratioCardHigh": "JtMahq_ratioCardHigh",
23888
- "ratioCardLow": "JtMahq_ratioCardLow",
23889
24340
  "state": "JtMahq_state",
23890
24341
  "stateError": "JtMahq_stateError",
23891
- "num": "JtMahq_num",
23892
- "ratioBar": "JtMahq_ratioBar",
23893
- "pageInfo": "JtMahq_pageInfo",
23894
- "queryRow": "JtMahq_queryRow",
23895
- "addedValue": "JtMahq_addedValue",
23896
- "ratioValue": "JtMahq_ratioValue",
23897
- "dateInput": "JtMahq_dateInput",
23898
- "exportButton": "JtMahq_exportButton",
24342
+ "ratioCardHigh": "JtMahq_ratioCardHigh",
24343
+ "cardLabel": "JtMahq_cardLabel",
24344
+ "commitsValue": "JtMahq_commitsValue",
23899
24345
  "cardValue": "JtMahq_cardValue",
23900
24346
  "cardRatio": "JtMahq_cardRatio",
23901
- "primaryButton": "JtMahq_primaryButton",
23902
- "cardLabel": "JtMahq_cardLabel",
24347
+ "tableWrap": "JtMahq_tableWrap",
24348
+ "addedValue": "JtMahq_addedValue",
24349
+ "num": "JtMahq_num",
23903
24350
  "table": "JtMahq_table",
23904
- "overview": "JtMahq_overview",
23905
- "aiValue": "JtMahq_aiValue",
23906
- "commitsValue": "JtMahq_commitsValue",
23907
- "tableWrap": "JtMahq_tableWrap"
24351
+ "exportButton": "JtMahq_exportButton"
23908
24352
  };
23909
24353
  //#endregion
23910
24354
  //#region src/client/AiRatioSection.tsx
@@ -29148,6 +29592,69 @@ to{transform:translateX(-8px)}
29148
29592
  };
29149
29593
  }
29150
29594
  //#endregion
29595
+ //#region src/client/ui-tweaks/sidebar-header.ts
29596
+ /** Compact sidebar chrome; the host retains every button, shortcut and drag surface. */
29597
+ const SIDEBAR_HEADER_CSS = `
29598
+ .dut-sidebar-header{height:44px !important;padding:0 4px !important;margin-bottom:8px !important;gap:8px !important}
29599
+ .dut-sidebar-brand{min-width:0 !important;background:transparent !important;box-shadow:none !important}
29600
+ .dut-sidebar-identity{height:24px !important;gap:8px !important}
29601
+ .dut-sidebar-wordmark{font:var(--dsw-font-s-strong-14) !important;letter-spacing:-.01em !important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
29602
+ .dut-sidebar-toggle{width:28px !important;height:28px !important;border-radius:8px !important;color:var(--dsw-alias-label-secondary) !important}
29603
+ .dut-sidebar-toggle:hover{background:var(--dsw-alias-interactive-bg-hover) !important}
29604
+ /* Reuse the original ChatCode primary-action red, scoped to this marked CTA. */
29605
+ .dut-sidebar-new-session{height:40px !important;justify-content:flex-start !important;gap:8px !important;margin:0 0 10px !important;padding:8px 10px !important;border:1px solid #9B0B09 !important;border-radius:10px !important;background:linear-gradient(135deg,#9B0B09,#b71916) !important;color:#fff !important;font:var(--dsw-font-s-strong-14) !important;font-weight:600 !important;box-shadow:none !important;transform:none !important}
29606
+ .dut-sidebar-new-session:hover{background:linear-gradient(135deg,#b71916,#cf302c) !important}
29607
+ .dut-sidebar-new-session:active{background:#9B0B09 !important}
29608
+ .dut-sidebar-new-session:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}
29609
+ .dut-sidebar-new-session > span:first-child{flex:1;min-width:0;overflow:hidden;mask-image:none !important}
29610
+ .dut-sidebar-new-session > span:first-child > span{width:auto !important;justify-content:flex-start !important;gap:8px !important;min-width:0}
29611
+ .dut-sidebar-new-session > span:first-child > span > svg{width:16px;height:16px;flex:none;color:inherit}
29612
+ .dut-sidebar-new-session > span:first-child > span > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
29613
+ .dut-sidebar-new-session > span + span{opacity:1 !important;flex:none;color:color-mix(in srgb,currentColor 75%,transparent);font:var(--dsw-font-xxs-12)}
29614
+ /* Temporary navigation-only hide. Remove this block to restore Plugins;
29615
+ registrations, settings, installed plugins and other panel entries stay intact. */
29616
+ nav:is([aria-label="全局面板"],[aria-label="Global panels"]) > button:is([aria-label="插件"],[aria-label="Plugins"]),
29617
+ nav:is([aria-label="全局面板"],[aria-label="Global panels"]):has(> button:is([aria-label="插件"],[aria-label="Plugins"]):only-child){display:none !important}
29618
+ `;
29619
+ const HEADER_CLASSES = [
29620
+ "dut-sidebar-header",
29621
+ "dut-sidebar-brand",
29622
+ "dut-sidebar-identity",
29623
+ "dut-sidebar-wordmark",
29624
+ "dut-sidebar-toggle",
29625
+ "dut-sidebar-new-session"
29626
+ ];
29627
+ /** Mark only the expanded brand row and its adjacent native New Session button. */
29628
+ function syncSidebarHeader() {
29629
+ const desired = /* @__PURE__ */ new Map();
29630
+ const mark = (element, className) => {
29631
+ if (!(element instanceof HTMLElement)) return;
29632
+ const classes = desired.get(element) ?? /* @__PURE__ */ new Set();
29633
+ classes.add(className);
29634
+ desired.set(element, classes);
29635
+ };
29636
+ for (const name of document.querySelectorAll(".dut-sidebar-brand-name,.dut-brand-title")) {
29637
+ const row = name.closest("[data-window-drag]");
29638
+ const logo = row?.querySelector(".dut-sidebar-logo,.dut-left-logo");
29639
+ if (!row || !logo) continue;
29640
+ const brand = [...row.children].find((child) => child.contains(name) && child.contains(logo));
29641
+ if (!brand) continue;
29642
+ mark(row, "dut-sidebar-header");
29643
+ mark(brand, "dut-sidebar-brand");
29644
+ mark(logo.closest("[class*=\"brandIdentity\"]"), "dut-sidebar-identity");
29645
+ mark(name, "dut-sidebar-wordmark");
29646
+ for (const button of row.querySelectorAll("button")) if (!brand.contains(button) && button !== brand) mark(button, "dut-sidebar-toggle");
29647
+ const next = row.nextElementSibling;
29648
+ if (next instanceof HTMLButtonElement) mark(next, "dut-sidebar-new-session");
29649
+ }
29650
+ for (const className of HEADER_CLASSES) for (const element of document.querySelectorAll(`.${className}`)) if (!desired.get(element)?.has(className)) element.classList.remove(className);
29651
+ for (const [element, classes] of desired) element.classList.add(...classes);
29652
+ }
29653
+ /** Restore native header styling when the branding effect is disposed. */
29654
+ function clearSidebarHeader() {
29655
+ for (const className of HEADER_CLASSES) for (const element of document.querySelectorAll(`.${className}`)) element.classList.remove(className);
29656
+ }
29657
+ //#endregion
29151
29658
  //#region src/client/ui-tweaks/branding.tsx
29152
29659
  /** Browser URL for the project-owned `assets/logo.svg` file. */
29153
29660
  const PROJECT_LOGO_URL = "/_dsh/ui-tweaks/assets/logo.svg";
@@ -29223,14 +29730,11 @@ body:not([data-ds-dark-theme]) .dut-unicom-primary-action:active{transform:trans
29223
29730
  hovered, the host owns the complete interaction treatment again. */
29224
29731
  body[data-ds-dark-theme] .dut-unicom-primary-action:not(:hover){background:#9B0B09 !important}
29225
29732
  .dut-project-logo{display:block;object-fit:contain}
29226
- .dut-left-logo{width:44px !important;height:44px !important}
29227
- .dut-brand-title{font-size:18px !important;font-weight:600 !important}
29228
- .dut-sidebar-logo{width:44px !important;height:44px !important}
29229
- /* The alpha sidebar keeps its slotted identity at 24px and clips the brand
29230
- button. Give only our expanded identity the full artwork height so the
29231
- 44px knot is not cropped by that host-owned overflow boundary. */
29232
- [class*="brandIdentity"]:has(.dut-sidebar-logo){height:44px !important}
29233
- .dut-sidebar-brand-name{font-size:18px !important;line-height:22px !important;font-weight:600 !important;letter-spacing:0 !important;white-space:nowrap}
29733
+ .dut-left-logo{width:24px !important;height:24px !important}
29734
+ .dut-brand-title{font:var(--dsw-font-s-strong-14) !important}
29735
+ .dut-sidebar-logo{width:24px !important;height:24px !important}
29736
+ .dut-sidebar-brand-name{font:var(--dsw-font-s-strong-14) !important;letter-spacing:-.01em !important;white-space:nowrap}
29737
+ ${SIDEBAR_HEADER_CSS}
29234
29738
  .dut-brand-version{display:none !important}
29235
29739
  .dut-hero-preview{display:none !important}
29236
29740
  .dut-hero-logo{width:60px !important;height:60px !important}
@@ -29241,7 +29745,8 @@ body[data-ds-dark-theme] .dut-unicom-primary-action:not(:hover){background:#9B0B
29241
29745
  function hasPrimaryLabel(button) {
29242
29746
  if (button.closest("[data-chatcode-plugin-market], [data-plugin-module]")) return false;
29243
29747
  const label = `${button.textContent ?? ""} ${button.getAttribute("aria-label") ?? ""} ${button.title}`.trim().toLowerCase();
29244
- return /(?:^|\s)(new session|send|install)(?:\s|$)|新会话|发送|(?:^|\s)安装(?:\s|$)/u.test(label);
29748
+ if (button.classList.contains("dut-sidebar-brand") || button.classList.contains("dut-sidebar-new-session")) return false;
29749
+ return /(?:^|\s)(send|install)(?:\s|$)|发送|(?:^|\s)安装(?:\s|$)/u.test(label);
29245
29750
  }
29246
29751
  /** Replace one host SVG while retaining its generated layout class names. */
29247
29752
  function replaceHostLogo(svg) {
@@ -29342,6 +29847,7 @@ body[data-ds-dark-theme] .dut-unicom-primary-action:not(:hover){background:#9B0B
29342
29847
  const svg = host.matches("svg") ? host : host.querySelector("svg");
29343
29848
  if (svg instanceof SVGElement) replaceHostLogo(svg);
29344
29849
  });
29850
+ syncSidebarHeader();
29345
29851
  document.querySelectorAll("button").forEach((button) => {
29346
29852
  button.classList.toggle("dut-unicom-primary-action", hasPrimaryLabel(button));
29347
29853
  });
@@ -29386,6 +29892,7 @@ body[data-ds-dark-theme] .dut-unicom-primary-action:not(:hover){background:#9B0B
29386
29892
  return () => {
29387
29893
  observer.disconnect();
29388
29894
  if (frame !== void 0) window.cancelAnimationFrame(frame);
29895
+ clearSidebarHeader();
29389
29896
  favicon.remove();
29390
29897
  style.remove();
29391
29898
  };