@jingyi0605/codingns 0.7.4 → 0.8.0
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/README.md +6 -0
- package/bin/codingns.mjs +747 -28
- package/bin/office-mcp-server.mjs +620 -0
- package/dist/public/assets/{AdaptiveButlerPage-CgBX49t-.js → AdaptiveButlerPage-BsgVNRAa.js} +1 -1
- package/dist/public/assets/{App-tXOqoHNl.js → App-tPcbyRdS.js} +3 -3
- package/dist/public/assets/{BootstrapPage-DoRMz87R.js → BootstrapPage--MDOigQi.js} +1 -1
- package/dist/public/assets/{ConversationPage-DXR6Hp4O.js → ConversationPage-BBss5ED8.js} +6 -6
- package/dist/public/assets/{DesktopDetachPreviewPage-Cyk-ZYCk.js → DesktopDetachPreviewPage-CB8DoqwU.js} +1 -1
- package/dist/public/assets/{DesktopWindowPage-DNVNK3hs.js → DesktopWindowPage-GtIx5m8K.js} +1 -1
- package/dist/public/assets/FileContextPanel-BcM7AIT4.js +1 -0
- package/dist/public/assets/{GitSidebar-Cr3Z9OUI.js → GitSidebar-CMtkaxuI.js} +2 -2
- package/dist/public/assets/{MobileCreateSessionSheet-DMW0V6GJ.js → MobileCreateSessionSheet-CrFY41_8.js} +1 -1
- package/dist/public/assets/{MobileTopHeaderFrame-CkdnZ_MU.js → MobileTopHeaderFrame-DGVOzXyg.js} +1 -1
- package/dist/public/assets/{MobileWorkspaceSwitcherHeader-KIbqBYJN.js → MobileWorkspaceSwitcherHeader-DLkACTnQ.js} +1 -1
- package/dist/public/assets/{RelayConnectEntryPage-DIRBH3hw.js → RelayConnectEntryPage-0MPPjxtQ.js} +1 -1
- package/dist/public/assets/{ServerSettingsModal-C-9RxdWP.js → ServerSettingsModal-vgOhwus4.js} +1 -1
- package/dist/public/assets/{SessionIndexPage-bRlIydRA.js → SessionIndexPage-KK626Ra9.js} +1 -1
- package/dist/public/assets/{SettingsPage-CMEt4ua9.js → SettingsPage-B3edBJIo.js} +2 -2
- package/dist/public/assets/{TerminalManagerPanel-2bi9wVhT.js → TerminalManagerPanel-BxlhZp8c.js} +1 -1
- package/dist/public/assets/{TerminalPage-DayZz2Tf.js → TerminalPage-B6Rdhylx.js} +1 -1
- package/dist/public/assets/{TerminalRuntimeFallbackModal-DgwYcp-Y.js → TerminalRuntimeFallbackModal-BVLfrpSa.js} +1 -1
- package/dist/public/assets/{ToolFilesPage-YvnP_FXW.js → ToolFilesPage-N_gwwUjD.js} +1 -1
- package/dist/public/assets/{ToolGitPage-GMcQKtV9.js → ToolGitPage-DOcuuWM1.js} +1 -1
- package/dist/public/assets/{ToolProcessesPage-DFIQ7BCd.js → ToolProcessesPage-D-FfJ7Re.js} +1 -1
- package/dist/public/assets/{ToolsHomePage-CSilFzXR.js → ToolsHomePage-CHfPxd20.js} +1 -1
- package/dist/public/assets/{WorkbenchLandingPage-1VtToSz9.js → WorkbenchLandingPage-CTTnfovY.js} +1 -1
- package/dist/public/assets/WorkbenchLayout-CbpJg0g1.js +244 -0
- package/dist/public/assets/{WorkbenchModal-BWXYSXmC.js → WorkbenchModal-Bt_1fYmM.js} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-B4XB8SwG.css +1 -0
- package/dist/public/assets/WorkbenchShellRoute-DyaMnPfS.js +1 -0
- package/dist/public/assets/{WorkspaceDebugDetailPage-Ux8_Q7la.js → WorkspaceDebugDetailPage-s7yuDIxR.js} +1 -1
- package/dist/public/assets/{WorkspaceDetailPage-B402p99m.js → WorkspaceDetailPage-Cf-gVpqK.js} +1 -1
- package/dist/public/assets/{WorkspaceHomePage-D2pob6HI.js → WorkspaceHomePage-COf6I8sT.js} +1 -1
- package/dist/public/assets/{client-runtime-manager-C5D76ewj.js → client-runtime-manager-DGdKvYzx.js} +1 -1
- package/dist/public/assets/file-tree-icon-BeHqeru9.js +590 -0
- package/dist/public/assets/index-CcaQt50x.css +1 -0
- package/dist/public/assets/index-CuzMc7q2.js +42 -0
- package/dist/public/assets/{login-direct-candidate-resolver-wXSaB0i7.js → login-direct-candidate-resolver-DEP_xCmR.js} +1 -1
- package/dist/public/assets/{model-switch-api-CPtou49j.js → model-switch-api-c6kcbBGm.js} +1 -1
- package/dist/public/assets/{preferences-service-CdaK7zA8.js → preferences-service-CV6Ih0BG.js} +1 -1
- package/dist/public/assets/{realtime-client-BjQazYsK.js → realtime-client-CRCx5xBt.js} +1 -1
- package/dist/public/assets/{relay-entry-BwE5nw0l.js → relay-entry-C751A-Sm.js} +1 -1
- package/dist/public/assets/{terminal-runtime-meta-C-Lbyx2i.js → terminal-runtime-meta-CRAVR-8G.js} +1 -1
- package/dist/public/assets/{useRegisteredDebugTemplates-BM7-c-gx.js → useRegisteredDebugTemplates-D6YtNS0r.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.d.ts +3 -0
- package/dist/server/config/env.js +67 -1
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/config/opencode-base-url-resolver.d.ts +3 -2
- package/dist/server/config/opencode-base-url-resolver.js +64 -24
- package/dist/server/config/opencode-base-url-resolver.js.map +1 -1
- package/dist/server/middlewares/auth-guard.js +4 -0
- package/dist/server/middlewares/auth-guard.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +168 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js +205 -4
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +296 -2
- package/dist/server/modules/assistant-capability/assistant-capability-service.js +872 -3
- package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
- package/dist/server/modules/auth/auth-service.d.ts +21 -1
- package/dist/server/modules/auth/auth-service.js +64 -0
- package/dist/server/modules/auth/auth-service.js.map +1 -1
- package/dist/server/modules/browser-runtime/browser-profile-service.d.ts +26 -0
- package/dist/server/modules/browser-runtime/browser-profile-service.js +85 -0
- package/dist/server/modules/browser-runtime/browser-profile-service.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-runtime-controller.d.ts +69 -0
- package/dist/server/modules/browser-runtime/browser-runtime-controller.js +83 -0
- package/dist/server/modules/browser-runtime/browser-runtime-controller.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-runtime-service.d.ts +56 -0
- package/dist/server/modules/browser-runtime/browser-runtime-service.js +215 -0
- package/dist/server/modules/browser-runtime/browser-runtime-service.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-task-execution-support.d.ts +65 -0
- package/dist/server/modules/browser-runtime/browser-task-execution-support.js +432 -0
- package/dist/server/modules/browser-runtime/browser-task-execution-support.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-task-executor-registry.d.ts +7 -0
- package/dist/server/modules/browser-runtime/browser-task-executor-registry.js +21 -0
- package/dist/server/modules/browser-runtime/browser-task-executor-registry.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-task-executor.d.ts +55 -0
- package/dist/server/modules/browser-runtime/browser-task-executor.js +2 -0
- package/dist/server/modules/browser-runtime/browser-task-executor.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-task-payload.d.ts +31 -0
- package/dist/server/modules/browser-runtime/browser-task-payload.js +55 -0
- package/dist/server/modules/browser-runtime/browser-task-payload.js.map +1 -0
- package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.d.ts +19 -0
- package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js +219 -0
- package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js.map +1 -0
- package/dist/server/modules/browser-runtime/opencli-browser-bridge-service.d.ts +15 -0
- package/dist/server/modules/browser-runtime/opencli-browser-bridge-service.js +33 -0
- package/dist/server/modules/browser-runtime/opencli-browser-bridge-service.js.map +1 -0
- package/dist/server/modules/browser-runtime/playwright-browser-executor.d.ts +16 -0
- package/dist/server/modules/browser-runtime/playwright-browser-executor.js +272 -0
- package/dist/server/modules/browser-runtime/playwright-browser-executor.js.map +1 -0
- package/dist/server/modules/butler/butler-auth-service.js +4 -0
- package/dist/server/modules/butler/butler-auth-service.js.map +1 -1
- package/dist/server/modules/butler/butler-inbox-instruction-adapter.js +1 -0
- package/dist/server/modules/butler/butler-inbox-instruction-adapter.js.map +1 -1
- package/dist/server/modules/butler/butler-session-summary-service.d.ts +1 -0
- package/dist/server/modules/butler/butler-session-summary-service.js +5 -3
- package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
- package/dist/server/modules/butler/butler-workspace-context.js +23 -0
- package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
- package/dist/server/modules/debug-target/debug-target-service.d.ts +2 -0
- package/dist/server/modules/debug-target/debug-target-service.js +14 -0
- package/dist/server/modules/debug-target/debug-target-service.js.map +1 -1
- package/dist/server/modules/document-runtime/document-docx-fallback-renderer.py +139 -0
- package/dist/server/modules/document-runtime/document-export-executor.d.ts +50 -0
- package/dist/server/modules/document-runtime/document-export-executor.js +827 -0
- package/dist/server/modules/document-runtime/document-export-executor.js.map +1 -0
- package/dist/server/modules/document-runtime/document-runtime-controller.d.ts +127 -0
- package/dist/server/modules/document-runtime/document-runtime-controller.js +131 -0
- package/dist/server/modules/document-runtime/document-runtime-controller.js.map +1 -0
- package/dist/server/modules/document-runtime/document-runtime-service.d.ts +125 -0
- package/dist/server/modules/document-runtime/document-runtime-service.js +706 -0
- package/dist/server/modules/document-runtime/document-runtime-service.js.map +1 -0
- package/dist/server/modules/office/office-controller.d.ts +77 -0
- package/dist/server/modules/office/office-controller.js +174 -0
- package/dist/server/modules/office/office-controller.js.map +1 -0
- package/dist/server/modules/office/office-preview-link-service.d.ts +27 -0
- package/dist/server/modules/office/office-preview-link-service.js +121 -0
- package/dist/server/modules/office/office-preview-link-service.js.map +1 -0
- package/dist/server/modules/office/office-service.d.ts +67 -0
- package/dist/server/modules/office/office-service.js +359 -0
- package/dist/server/modules/office/office-service.js.map +1 -0
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js +38 -14
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js.map +1 -1
- package/dist/server/modules/opencli/opencli-install-discovery.d.ts +4 -0
- package/dist/server/modules/opencli/opencli-install-discovery.js +94 -0
- package/dist/server/modules/opencli/opencli-install-discovery.js.map +1 -1
- package/dist/server/modules/opencli/opencli-runtime-builder.js +29 -0
- package/dist/server/modules/opencli/opencli-runtime-builder.js.map +1 -1
- package/dist/server/modules/opencli/opencli-runtime-guard.d.ts +2 -0
- package/dist/server/modules/opencli/opencli-runtime-guard.js +5 -0
- package/dist/server/modules/opencli/opencli-runtime-guard.js.map +1 -0
- package/dist/server/modules/ops-runtime/ops-runtime-controller.d.ts +70 -0
- package/dist/server/modules/ops-runtime/ops-runtime-controller.js +83 -0
- package/dist/server/modules/ops-runtime/ops-runtime-controller.js.map +1 -0
- package/dist/server/modules/ops-runtime/ops-runtime-service.d.ts +80 -0
- package/dist/server/modules/ops-runtime/ops-runtime-service.js +327 -0
- package/dist/server/modules/ops-runtime/ops-runtime-service.js.map +1 -0
- package/dist/server/modules/ops-runtime/ssh-ops-executor.d.ts +41 -0
- package/dist/server/modules/ops-runtime/ssh-ops-executor.js +478 -0
- package/dist/server/modules/ops-runtime/ssh-ops-executor.js.map +1 -0
- package/dist/server/modules/presentation/presentation-controller.d.ts +22 -0
- package/dist/server/modules/presentation/presentation-controller.js +59 -0
- package/dist/server/modules/presentation/presentation-controller.js.map +1 -0
- package/dist/server/modules/presentation/presentation-export-task-service.d.ts +24 -0
- package/dist/server/modules/presentation/presentation-export-task-service.js +137 -0
- package/dist/server/modules/presentation/presentation-export-task-service.js.map +1 -0
- package/dist/server/modules/presentation/presentation-export-types.d.ts +12 -0
- package/dist/server/modules/presentation/presentation-export-types.js +2 -0
- package/dist/server/modules/presentation/presentation-export-types.js.map +1 -0
- package/dist/server/modules/presentation/presentation-pdf-export-service.d.ts +20 -0
- package/dist/server/modules/presentation/presentation-pdf-export-service.js +29 -0
- package/dist/server/modules/presentation/presentation-pdf-export-service.js.map +1 -0
- package/dist/server/modules/presentation/presentation-pptx-export-service.d.ts +20 -0
- package/dist/server/modules/presentation/presentation-pptx-export-service.js +64 -0
- package/dist/server/modules/presentation/presentation-pptx-export-service.js.map +1 -0
- package/dist/server/modules/presentation/presentation-renderer.d.ts +21 -0
- package/dist/server/modules/presentation/presentation-renderer.js +208 -0
- package/dist/server/modules/presentation/presentation-renderer.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +3 -3
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +6 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -1
- package/dist/server/modules/sessions/codex-app-server-helper-process.js +2 -1
- package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
- package/dist/server/modules/sessions/session-controller.d.ts +1 -0
- package/dist/server/modules/sessions/session-controller.js +59 -4
- package/dist/server/modules/sessions/session-controller.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.js +17 -5
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +5 -1
- package/dist/server/modules/sessions/session-live-runtime-service.js +86 -8
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-config-service.d.ts +25 -1
- package/dist/server/modules/sessions/session-provider-config-service.js +54 -5
- package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -1
- package/dist/server/modules/sessions/workspace-office-mcp-config.d.ts +14 -0
- package/dist/server/modules/sessions/workspace-office-mcp-config.js +54 -0
- package/dist/server/modules/sessions/workspace-office-mcp-config.js.map +1 -0
- package/dist/server/modules/sessions/workspace-session-auth-service.d.ts +27 -0
- package/dist/server/modules/sessions/workspace-session-auth-service.js +109 -0
- package/dist/server/modules/sessions/workspace-session-auth-service.js.map +1 -0
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.d.ts +50 -0
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.js +332 -0
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.js.map +1 -0
- package/dist/server/modules/skills/assistant-runtime-skill-catalog.js +5 -0
- package/dist/server/modules/skills/assistant-runtime-skill-catalog.js.map +1 -1
- package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/SKILL.md +67 -0
- package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/agents/openai.yaml +4 -0
- package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/references/cli-workflow.md +133 -0
- package/dist/server/modules/skills/skill-controller.d.ts +7 -0
- package/dist/server/modules/skills/skill-controller.js +7 -0
- package/dist/server/modules/skills/skill-controller.js.map +1 -1
- package/dist/server/modules/skills/skill-manager-service.d.ts +61 -0
- package/dist/server/modules/skills/skill-manager-service.js +218 -0
- package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
- package/dist/server/modules/skills/skill-name-policy.js +2 -1
- package/dist/server/modules/skills/skill-name-policy.js.map +1 -1
- package/dist/server/modules/tasks/task-helper-client.d.ts +1 -0
- package/dist/server/modules/tasks/task-helper-client.js +45 -9
- package/dist/server/modules/tasks/task-helper-client.js.map +1 -1
- package/dist/server/modules/tasks/task-types.d.ts +5 -0
- package/dist/server/modules/tasks/task-types.js +6 -1
- package/dist/server/modules/tasks/task-types.js.map +1 -1
- package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js +2 -1
- package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js.map +1 -1
- package/dist/server/modules/terminal/runtime/node-pty-loader.d.ts +5 -0
- package/dist/server/modules/terminal/runtime/node-pty-loader.js +68 -0
- package/dist/server/modules/terminal/runtime/node-pty-loader.js.map +1 -0
- package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js +2 -1
- package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js.map +1 -1
- package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js +6 -9
- package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js.map +1 -1
- package/dist/server/modules/terminal/runtime/pty-runtime-manager.js +6 -9
- package/dist/server/modules/terminal/runtime/pty-runtime-manager.js.map +1 -1
- package/dist/server/routes/assistant.d.ts +2 -1
- package/dist/server/routes/assistant.js +20 -1
- package/dist/server/routes/assistant.js.map +1 -1
- package/dist/server/routes/browser-runtime.d.ts +3 -0
- package/dist/server/routes/browser-runtime.js +14 -0
- package/dist/server/routes/browser-runtime.js.map +1 -0
- package/dist/server/routes/document-runtime.d.ts +3 -0
- package/dist/server/routes/document-runtime.js +18 -0
- package/dist/server/routes/document-runtime.js.map +1 -0
- package/dist/server/routes/office.d.ts +3 -0
- package/dist/server/routes/office.js +16 -0
- package/dist/server/routes/office.js.map +1 -0
- package/dist/server/routes/ops-runtime.d.ts +3 -0
- package/dist/server/routes/ops-runtime.js +13 -0
- package/dist/server/routes/ops-runtime.js.map +1 -0
- package/dist/server/routes/presentation.d.ts +3 -0
- package/dist/server/routes/presentation.js +5 -0
- package/dist/server/routes/presentation.js.map +1 -0
- package/dist/server/routes/skills.js +1 -0
- package/dist/server/routes/skills.js.map +1 -1
- package/dist/server/server/create-server.d.ts +36 -0
- package/dist/server/server/create-server.js +215 -4
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/server/release-manifest-sync.d.ts +1 -0
- package/dist/server/server/release-manifest-sync.js +2 -2
- package/dist/server/server/release-manifest-sync.js.map +1 -1
- package/dist/server/server/start-host.js +1 -1
- package/dist/server/server/start-host.js.map +1 -1
- package/dist/server/storage/repositories/auth-token-repository.js +22 -6
- package/dist/server/storage/repositories/auth-token-repository.js.map +1 -1
- package/dist/server/storage/repositories/browser-profile-repository.d.ts +18 -0
- package/dist/server/storage/repositories/browser-profile-repository.js +134 -0
- package/dist/server/storage/repositories/browser-profile-repository.js.map +1 -0
- package/dist/server/storage/repositories/document-comment-repository.d.ts +10 -0
- package/dist/server/storage/repositories/document-comment-repository.js +118 -0
- package/dist/server/storage/repositories/document-comment-repository.js.map +1 -0
- package/dist/server/storage/repositories/document-repository.d.ts +16 -0
- package/dist/server/storage/repositories/document-repository.js +109 -0
- package/dist/server/storage/repositories/document-repository.js.map +1 -0
- package/dist/server/storage/repositories/document-revision-repository.d.ts +10 -0
- package/dist/server/storage/repositories/document-revision-repository.js +79 -0
- package/dist/server/storage/repositories/document-revision-repository.js.map +1 -0
- package/dist/server/storage/repositories/document-template-repository.d.ts +13 -0
- package/dist/server/storage/repositories/document-template-repository.js +244 -0
- package/dist/server/storage/repositories/document-template-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-approval-repository.d.ts +11 -0
- package/dist/server/storage/repositories/office-approval-repository.js +109 -0
- package/dist/server/storage/repositories/office-approval-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-artifact-repository.d.ts +10 -0
- package/dist/server/storage/repositories/office-artifact-repository.js +89 -0
- package/dist/server/storage/repositories/office-artifact-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-audit-event-repository.d.ts +8 -0
- package/dist/server/storage/repositories/office-audit-event-repository.js +54 -0
- package/dist/server/storage/repositories/office-audit-event-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-connector-repository.d.ts +10 -0
- package/dist/server/storage/repositories/office-connector-repository.js +97 -0
- package/dist/server/storage/repositories/office-connector-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-receipt-repository.d.ts +8 -0
- package/dist/server/storage/repositories/office-receipt-repository.js +48 -0
- package/dist/server/storage/repositories/office-receipt-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-rollback-record-repository.d.ts +8 -0
- package/dist/server/storage/repositories/office-rollback-record-repository.js +60 -0
- package/dist/server/storage/repositories/office-rollback-record-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-task-repository.d.ts +19 -0
- package/dist/server/storage/repositories/office-task-repository.js +199 -0
- package/dist/server/storage/repositories/office-task-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-task-step-repository.d.ts +10 -0
- package/dist/server/storage/repositories/office-task-step-repository.js +110 -0
- package/dist/server/storage/repositories/office-task-step-repository.js.map +1 -0
- package/dist/server/storage/repositories/ops-target-repository.d.ts +16 -0
- package/dist/server/storage/repositories/ops-target-repository.js +119 -0
- package/dist/server/storage/repositories/ops-target-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-binding-repository.d.ts +4 -0
- package/dist/server/storage/repositories/session-binding-repository.js +70 -69
- package/dist/server/storage/repositories/session-binding-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-changed-file-repository.d.ts +6 -0
- package/dist/server/storage/repositories/session-changed-file-repository.js +44 -43
- package/dist/server/storage/repositories/session-changed-file-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-fork-repository.d.ts +2 -0
- package/dist/server/storage/repositories/session-fork-repository.js +42 -41
- package/dist/server/storage/repositories/session-fork-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-index-repository.d.ts +5 -0
- package/dist/server/storage/repositories/session-index-repository.js +153 -152
- package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-message-attachment-repository.d.ts +7 -0
- package/dist/server/storage/repositories/session-message-attachment-repository.js +91 -90
- package/dist/server/storage/repositories/session-message-attachment-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-message-origin-repository.d.ts +2 -0
- package/dist/server/storage/repositories/session-message-origin-repository.js +25 -24
- package/dist/server/storage/repositories/session-message-origin-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-state-repository.d.ts +2 -0
- package/dist/server/storage/repositories/session-state-repository.js +35 -34
- package/dist/server/storage/repositories/session-state-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-status-snapshot-repository.d.ts +2 -0
- package/dist/server/storage/repositories/session-status-snapshot-repository.js +25 -24
- package/dist/server/storage/repositories/session-status-snapshot-repository.js.map +1 -1
- package/dist/server/storage/sqlite/client.js +123 -1
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +300 -1
- package/dist/server/types/domain.d.ts +205 -1
- package/package.json +14 -7
- package/scripts/postinstall.mjs +159 -7
- package/dist/public/assets/FileContextPanel-xGTYDclT.js +0 -1
- package/dist/public/assets/WorkbenchLayout-DScHaza9.js +0 -244
- package/dist/public/assets/WorkbenchShellRoute-DN6LdrqC.js +0 -1
- package/dist/public/assets/WorkbenchShellRoute-DhQo_0vu.css +0 -1
- package/dist/public/assets/file-tree-icon-lfU9Ag77.js +0 -3
- package/dist/public/assets/index-CFYXCsyx.css +0 -1
- package/dist/public/assets/index-NGxWr8Ix.js +0 -42
- package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.d.ts +0 -42
- package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js +0 -346
- package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.d.ts +0 -1
- package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js +0 -80
- package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/index.d.ts +0 -18
- package/node_modules/@codingns/session-sync-core/dist/index.js +0 -19
- package/node_modules/@codingns/session-sync-core/dist/index.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.d.ts +0 -18
- package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.js +0 -659
- package/node_modules/@codingns/session-sync-core/dist/kimi-message-normalizer.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/kimi-shared.d.ts +0 -11
- package/node_modules/@codingns/session-sync-core/dist/kimi-shared.js +0 -72
- package/node_modules/@codingns/session-sync-core/dist/kimi-shared.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +0 -67
- package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +0 -752
- package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +0 -48
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +0 -1184
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.d.ts +0 -11
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js +0 -105
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +0 -84
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +0 -2436
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.d.ts +0 -47
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +0 -1480
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/kimi.d.ts +0 -33
- package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js +0 -684
- package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.d.ts +0 -9
- package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.js +0 -17
- package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.d.ts +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js +0 -8
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.d.ts +0 -48
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js +0 -373
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +0 -61
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +0 -1191
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.d.ts +0 -27
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.js +0 -415
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/registry.d.ts +0 -7
- package/node_modules/@codingns/session-sync-core/dist/registry.js +0 -22
- package/node_modules/@codingns/session-sync-core/dist/registry.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +0 -24
- package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +0 -329
- package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +0 -30
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +0 -939
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.d.ts +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js +0 -16
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +0 -70
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +0 -2571
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.d.ts +0 -21
- package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js +0 -561
- package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.d.ts +0 -38
- package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.js +0 -911
- package/node_modules/@codingns/session-sync-core/dist/runtime/kimi-runtime.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.d.ts +0 -15
- package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js +0 -16
- package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +0 -37
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +0 -963
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +0 -21
- package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +0 -168
- package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +0 -152
- package/node_modules/@codingns/session-sync-core/dist/runtime/types.js +0 -2
- package/node_modules/@codingns/session-sync-core/dist/runtime/types.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/services.d.ts +0 -28
- package/node_modules/@codingns/session-sync-core/dist/services.js +0 -148
- package/node_modules/@codingns/session-sync-core/dist/services.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.d.ts +0 -6
- package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.js +0 -9
- package/node_modules/@codingns/session-sync-core/dist/sqlite/node-sqlite.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/dist/types.d.ts +0 -198
- package/node_modules/@codingns/session-sync-core/dist/types.js +0 -2
- package/node_modules/@codingns/session-sync-core/dist/types.js.map +0 -1
- package/node_modules/@codingns/session-sync-core/package.json +0 -33
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as t}from"./index-NGxWr8Ix.js";import{a as e}from"./WorkbenchLayout-DScHaza9.js";import{e as m,r as s}from"./App-tXOqoHNl.js";import"./model-switch-api-CPtou49j.js";import"./window-BVUB8gMK.js";import"./event-DvH9tcej.js";import"./WorkbenchModal-BWXYSXmC.js";import"./relay-entry-BwE5nw0l.js";function u(){const o=m(),r=s(o);return t.jsx(e,{shellMode:r})}export{u as WorkbenchShellRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 12px;--space-6: 14px;--space-7: 16px;--space-8: 18px;--window-toolbar-height: 54px;--window-toolbar-gap: var(--space-5);--window-toolbar-padding-x: var(--space-5);--page-padding: var(--space-4);--panel-padding: var(--space-4);--panel-padding-lg: var(--space-5);--section-gap: var(--space-4);--section-gap-tight: var(--space-3);--list-item-padding-x: var(--space-4);--list-item-padding-y: var(--space-3);--header-padding-x: var(--space-6);--header-padding-y: var(--space-5);--message-padding-x: var(--space-6);--message-padding-y: var(--space-6);--tool-row-padding-x: var(--space-5);--tool-row-padding-y: var(--space-1);--tool-card-header-padding-x: var(--space-3);--tool-card-section-padding-x: var(--space-3);--tool-card-section-padding-y: var(--space-1);--tool-card-gap: var(--space-1);--control-height-sm: 28px;--control-height-md: 32px;--control-height-lg: 34px;--toolbar-button-height: 30px;--app-bg: #ececeb;--panel-bg: rgba(248, 248, 247, .92);--panel-bg-strong: rgba(255, 255, 255, .96);--panel-border: rgba(24, 24, 27, .08);--panel-border-strong: rgba(24, 24, 27, .12);--panel-separator: rgba(24, 24, 27, .06);--panel-hover: rgba(24, 24, 27, .035);--panel-active: rgba(0, 122, 255, .09);--panel-shadow: 0 10px 26px rgba(15, 23, 42, .06);--radius-panel: 14px;--radius-control: 10px;--radius-pill: 999px;--sidebar-surface: rgba(245, 245, 244, .94);--inspector-surface: rgba(249, 249, 248, .95);--content-surface: rgba(252, 252, 251, .92)}[data-theme=dark]{--app-bg: #171717;--panel-bg: rgba(29, 29, 29, .92);--panel-bg-strong: rgba(38, 38, 38, .96);--panel-border: rgba(255, 255, 255, .07);--panel-border-strong: rgba(255, 255, 255, .12);--panel-separator: rgba(255, 255, 255, .06);--panel-hover: rgba(255, 255, 255, .04);--panel-active: rgba(10, 132, 255, .18);--panel-shadow: 0 16px 34px rgba(0, 0, 0, .24);--sidebar-surface: rgba(25, 25, 25, .94);--inspector-surface: rgba(30, 30, 30, .95);--content-surface: rgba(24, 24, 24, .92)}[data-theme=sky-blue]{--app-bg: #040814;--panel-bg: rgba(8, 14, 35, .84);--panel-bg-strong: rgba(12, 20, 48, .92);--panel-border: rgba(0, 240, 255, .16);--panel-border-strong: rgba(255, 60, 247, .24);--panel-separator: rgba(0, 240, 255, .1);--panel-hover: rgba(0, 240, 255, .08);--panel-active: rgba(255, 60, 247, .16);--panel-shadow: 0 18px 42px rgba(1, 4, 18, .56);--sidebar-surface: rgba(6, 12, 31, .9);--inspector-surface: rgba(8, 15, 36, .92);--content-surface: rgba(10, 18, 43, .88)}[data-runtime-platform=desktop][data-os-family=macos]{--font-sans: "SF Pro Text", "SF Pro SC", "PingFang SC", "Helvetica Neue", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "SF Mono", "SFMono-Regular", "Menlo", "Consolas", monospace;--window-toolbar-height: 56px}[data-runtime-platform=desktop][data-os-family=windows]{--font-sans: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "Cascadia Mono", "Consolas", "Courier New", monospace}[data-runtime-platform=web]{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", "Cascadia Mono", "Consolas", monospace}html,body,#root{background:var(--app-bg)}html[data-workbench-macos-vibrancy=true],body[data-workbench-macos-vibrancy=true],body[data-workbench-macos-vibrancy=true] #root{background:transparent}body{color:var(--text-primary)}.surface-card{background:var(--panel-bg-strong);border:1px solid var(--panel-border);box-shadow:none}[data-theme=sky-blue] .surface-card{background:linear-gradient(180deg,#0f183af0,#070c1ff5),#0a122beb;box-shadow:0 22px 48px #0204107a,inset 0 1px #ffffff0a}.workbench-shell{display:flex;flex-direction:column;gap:0;padding:var(--page-padding);background:radial-gradient(circle at top left,rgba(255,255,255,.46),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.28),transparent 18%),var(--app-bg)}[data-theme=sky-blue] .workbench-shell{background:radial-gradient(circle at 8% 0%,rgba(0,240,255,.24),transparent 28%),radial-gradient(circle at 92% 12%,rgba(255,60,247,.18),transparent 24%),linear-gradient(135deg,#060c1ffa,#030818fa 42%,#0a0626fa)}.workbench-shell,.workbench-shell *{-webkit-user-select:none;user-select:none}.workbench-titlebar-context,.workbench-titlebar-context *,.workbench-shell .message-timeline,.workbench-shell .message-list,.workbench-shell .message-item,.workbench-shell .message-content-wrapper,.workbench-shell .thinking-message-content,.workbench-shell .message-attachments,.workbench-shell .message-origin-detail-popover,.workbench-shell .tool-call-item,.workbench-shell .rules-message-summary,.workbench-shell .rules-message-hint,.workbench-shell .rules-message-body,.workbench-shell .rules-message-body *,.workbench-shell .message-content,.workbench-shell .message-content *,.workbench-shell input,.workbench-shell textarea,.workbench-shell select,.workbench-shell .terminal-xterm,.workbench-shell .terminal-xterm *,.workbench-shell [contenteditable=true],.workbench-shell [contenteditable=true] *{-webkit-user-select:text;user-select:text}.workbench-shell .message-metadata-action,.workbench-shell .retry-button,.workbench-shell .rules-message-toggle,.workbench-shell .message-origin-badge-button{-webkit-user-select:none;user-select:none}html[data-workbench-panel-resizing],body[data-workbench-panel-resizing]{cursor:col-resize!important}html[data-workbench-panel-resizing] .workbench-shell,html[data-workbench-panel-resizing] .workbench-shell *{-webkit-user-select:none!important;user-select:none!important}html[data-workbench-panel-resizing] .workbench-nav,html[data-workbench-panel-resizing] .workbench-auxiliary,html[data-workbench-panel-resizing] .workbench-side-resizer,html[data-workbench-panel-resizing] .workbench-nav>*,html[data-workbench-panel-resizing] .workbench-auxiliary>*{transition:none!important}html[data-workbench-window-resizing] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell,html[data-workbench-window-resizing] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.workbench-page,html[data-workbench-window-resizing] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.conversation-page-shell,html[data-workbench-window-resizing] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.terminal-layout,html[data-workbench-window-resizing] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-page-shell,html[data-workbench-window-resizing] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-shell{contain:paint;isolation:isolate;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.workbench-shell .git-sidebar,.workbench-shell .git-sidebar *{-webkit-user-select:none;user-select:none}.workbench-shell .git-sidebar .git-editor-row textarea,.workbench-shell .git-sidebar .git-editor-row input{-webkit-user-select:text;user-select:text}.workbench-body-shell{display:flex;flex:1;min-height:0;gap:0}.workbench-desktop-titlebar{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(220px,1fr) minmax(320px,1.4fr);align-items:center;gap:var(--window-toolbar-gap);min-height:var(--window-toolbar-height);padding:0 var(--window-toolbar-padding-x);border-radius:16px 16px 0 0;border-bottom:1px solid var(--panel-separator);background:color-mix(in srgb,var(--panel-bg-strong) 90%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workbench-shell.with-desktop-titlebar{gap:0}.workbench-shell.with-desktop-titlebar .workbench-body-shell{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.workbench-titlebar-leading,.workbench-titlebar-center,.workbench-titlebar-trailing{min-width:0}.workbench-titlebar-leading{display:flex;align-items:center;gap:var(--section-gap)}.workbench-titlebar-leading.traffic-lights-offset{padding-left:78px}.workbench-titlebar-brand{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;margin-right:8px}.workbench-titlebar-logo{width:24px;height:24px;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(0,122,255,.4));transition:filter .2s ease}.workbench-titlebar-logo:hover{filter:drop-shadow(0 0 10px rgba(0,212,255,.6))}[data-theme=sky-blue] .workbench-titlebar-logo{filter:drop-shadow(0 0 10px rgba(0,240,255,.8)) drop-shadow(0 0 20px rgba(255,60,247,.36))}[data-theme=sky-blue] .workbench-titlebar-logo:hover{filter:drop-shadow(0 0 14px rgba(0,240,255,.92)) drop-shadow(0 0 28px rgba(255,60,247,.52))}.workbench-titlebar-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.workbench-titlebar-brand-text strong{font-size:13px;font-weight:700;letter-spacing:.02em}.workbench-titlebar-brand-text span,.workbench-titlebar-stats{font-size:11px;color:var(--text-tertiary)}.workbench-titlebar-context{display:flex;align-items:center;gap:var(--section-gap-tight);min-width:0}.workbench-titlebar-pill{display:inline-flex;align-items:center;max-width:220px;min-height:24px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--panel-border);background:var(--panel-bg);font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-titlebar-title{margin:0;min-width:0;font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-titlebar-center{display:flex;justify-content:center}.workbench-desktop-segment{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel-bg)}.workbench-titlebar-trailing{display:flex;align-items:center;justify-content:flex-end;gap:var(--section-gap)}.workbench-titlebar-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.workbench-toolbar-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:34px;height:var(--toolbar-button-height);padding:0 var(--space-4);border-radius:9px;border:1px solid var(--panel-border);background:transparent;color:var(--text-secondary);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.workbench-toolbar-button:hover,.workbench-toolbar-button[aria-pressed=true]{background:var(--panel-hover);border-color:var(--panel-border-strong);color:var(--text-primary)}.workbench-toolbar-glyph{flex:0 0 auto}.workbench-toolbar-label{font-size:12px;font-weight:600}.workbench-window-controls{display:inline-flex;align-items:center;margin-left:2px}.workbench-window-control{display:inline-flex;align-items:center;justify-content:center;width:40px;height:32px;border-radius:8px;color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.workbench-window-control:hover{background:var(--panel-hover);color:var(--text-primary)}.workbench-window-control.close:hover{background:#ff3b3029;color:#ff453a}.workbench-nav,.workbench-auxiliary,.workbench-main-shell{min-height:0;height:auto}.workbench-nav,.workbench-auxiliary{margin-top:0;border-radius:0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.workbench-nav{background:var(--sidebar-surface);border-right:1px solid var(--panel-border);border-top:none;border-bottom:1px solid var(--panel-border);border-left:1px solid var(--panel-border);border-radius:0 0 0 16px}.workbench-main-shell{position:relative;background:var(--content-surface);border-top:none;border-bottom:1px solid var(--panel-border);min-width:0}.workbench-auxiliary{background:var(--inspector-surface);border-top:none;border-right:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);border-left:1px solid var(--panel-border);border-radius:0 0 16px}.workbench-side-resizer{width:6px;flex:0 0 6px;background:transparent;position:relative}.workbench-side-resizer:after{content:"";position:absolute;top:10px;bottom:10px;left:50%;width:1px;transform:translate(-50%);background:var(--panel-separator)}.workbench-side-resizer:hover:after{background:color-mix(in srgb,var(--accent) 42%,var(--panel-separator))}.workbench-nav-header,.workbench-auxiliary-header,.workbench-main-topbar,.conversation-header,.composer-panel{background:transparent}.workbench-nav-header,.workbench-auxiliary-header,.conversation-header,.composer-panel{border-color:var(--panel-separator)}.workbench-nav-header{min-height:52px;padding:var(--header-padding-y) var(--header-padding-x) var(--panel-padding)}.workbench-nav-header h1{font-size:15px;letter-spacing:0}.workbench-nav-header p{font-size:12px}.workbench-nav-body,.workbench-auxiliary-body{padding:var(--panel-padding);gap:var(--section-gap)}.workbench-import-card.minimal,.workbench-section-block,.workbench-archive-folder,.terminal-manager-section,.terminal-manager-card,.settings-card,.conversation-header,.composer-input-wrapper{border-radius:12px;border:1px solid var(--panel-border);background:var(--panel-bg-strong);box-shadow:none}.workbench-section-block{padding:var(--panel-padding)}.workbench-import-card.minimal{overflow:visible}.workbench-import-toggle,.workbench-workspace-toggle,.workbench-session-link,.workbench-archive-folder,.settings-entry-button,.theme-card,.workbench-provider-option,.workbench-session-menu-item,.workbench-info-tab,.workbench-topbar-tab{transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.workbench-import-toggle,.workbench-workspace-toggle{min-height:var(--control-height-lg);border-radius:10px}.workbench-import-form{gap:var(--section-gap-tight);padding:var(--panel-padding)}.workbench-import-form input,.terminal-manager-panel select,.settings-text-input,.settings-select,.composer-select{min-height:var(--control-height-lg);border-radius:10px;border:1px solid var(--panel-border);background:var(--panel-bg)}.workbench-import-hint{margin:0;font-size:12px;line-height:1.55;color:var(--text-secondary)}.workbench-nav-stats{padding:0 4px;gap:var(--space-5);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.workbench-section-heading,.workbench-workspace-header.minimal{display:flex;align-items:center;justify-content:space-between;gap:8px}.workbench-workspace-header.minimal{padding:0;margin-bottom:var(--space-2);min-width:0}.workbench-workspace-toggle{display:inline-flex;align-items:center;gap:4px;flex:1 1 auto;padding:var(--list-item-padding-y) var(--list-item-padding-x);min-width:0;overflow:hidden;text-align:left;color:var(--text-primary)}.workbench-workspace-toggle strong{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workbench-workspace-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.workbench-workspace-icon-button,.workbench-workspace-create{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height-md);width:var(--control-height-md);padding:0;border-radius:999px;border:1px solid var(--panel-border);background:transparent;color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.workbench-workspace-icon-button[aria-pressed=true]{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 92%,white 8%),var(--accent));color:var(--text-inverse);border-color:color-mix(in srgb,var(--accent) 72%,white 28%)}.workbench-workspace-batch-toolbar{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.workbench-workspace-batch-label{font-size:11px;color:var(--text-tertiary)}.workbench-workspace-batch-counter{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--panel-hover);color:var(--text-primary);font-size:11px;font-weight:600}.workbench-workspace-batch-action{min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--panel-border);background:transparent;color:var(--text-secondary);font-size:11px}.workbench-workspace-batch-action.primary{background:color-mix(in srgb,var(--accent) 12%,var(--panel-bg));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 26%,var(--panel-border))}.workbench-workspace-batch-action.danger{background:color-mix(in srgb,var(--status-danger) 10%,var(--panel-bg));color:var(--status-danger);border-color:color-mix(in srgb,var(--status-danger) 28%,var(--panel-border))}.workbench-workspace-batch-action.danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger) 14%,var(--panel-bg));color:var(--status-danger);border-color:color-mix(in srgb,var(--status-danger) 40%,var(--panel-border))}.workbench-workspace-batch-action:disabled{opacity:.45;cursor:not-allowed}.workbench-workspace-icon-button:hover,.workbench-workspace-create:hover,.settings-entry-button:hover,.theme-card:hover,.workbench-info-tab:hover,.workbench-topbar-tab:hover,.workbench-workspace-batch-action:hover,.workbench-session-menu-item:hover{background:var(--panel-hover);border-color:var(--panel-border-strong);color:var(--text-primary);transform:translateY(-1px)}.workbench-workspace-icon-button[aria-pressed=true]:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-hover) 88%,white 12%),var(--accent-hover));color:var(--text-inverse);border-color:color-mix(in srgb,var(--accent-hover) 78%,white 22%)}.workbench-session-list,.workbench-subsession-list,.workbench-archive-list,.settings-release-card{gap:2px}.workbench-subsession-list{--workbench-session-tree-guide-width: 16px;--workbench-session-tree-line-color: color-mix(in srgb, var(--text-secondary) 54%, var(--app-bg))}.workbench-session-tree-row{--workbench-session-tree-line-color: color-mix(in srgb, var(--text-secondary) 54%, var(--app-bg));--workbench-session-indicator-center-x: calc(var(--workbench-sidebar-icon-inset) + (var(--workbench-sidebar-icon-slot-size) / 2));--workbench-session-indicator-center-y: 50%;--workbench-session-tree-guide-width: var(--workbench-session-indicator-center-x);--workbench-session-tree-line-offset: var(--workbench-session-tree-guide-width)}.workbench-session-card{position:relative;border-radius:10px;border:1px solid transparent;background:transparent}.workbench-session-card:hover,.workbench-session-card[data-active=true]{background:var(--panel-hover);border-color:color-mix(in srgb,var(--accent) 20%,var(--panel-border))}.workbench-session-link{align-items:stretch;padding:5px 9px;border-radius:9px}.workbench-session-link.is-selecting{flex-direction:row;align-items:center;gap:7px;padding:5px 10px 5px 9px}.workbench-session-link-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px;min-height:28px}.workbench-session-selection-indicator{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:8px;background:var(--panel-bg);color:var(--text-tertiary)}.workbench-session-selection-indicator[data-selected=true]{background:color-mix(in srgb,var(--accent) 14%,var(--panel-bg));color:var(--accent)}.workbench-session-card[data-selecting=true][data-selected=true]{background:color-mix(in srgb,var(--accent) 10%,var(--panel-bg));border-color:color-mix(in srgb,var(--accent) 22%,var(--panel-border))}.session-title{display:block;min-width:0;flex:1 1 auto;font-size:13px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta{font-size:11px}.session-title-row,.session-meta-row{gap:5px}.session-provider-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:var(--radius-pill);border:1px solid var(--panel-border);background:var(--panel-bg);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.session-runtime-origin-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:var(--radius-pill);border:1px solid rgba(217,119,6,.18);background:#f59e0b1f;color:#b45309;font-size:10px;font-weight:700;letter-spacing:.04em}.workbench-session-actions{position:absolute;top:4px;right:4px}.workbench-session-menu-trigger,.file-toolbar-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px solid transparent;color:var(--text-tertiary)}.workbench-session-menu-trigger:hover,.file-toolbar-button:hover{background:var(--panel-hover);color:var(--text-primary);border-color:var(--panel-border)}.workbench-session-menu{position:fixed;min-width:156px;padding:6px;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel-bg-strong);box-shadow:var(--panel-shadow);z-index:3200;overflow-y:auto;overscroll-behavior:contain}.workbench-session-menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-height-md);padding:0 var(--space-4);border-radius:8px;text-align:left}.workbench-archive-folder{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:0 var(--panel-padding-lg)}.workbench-archive-folder-main{display:inline-flex;align-items:center;gap:8px}.workbench-manage-list{display:flex;flex-direction:column;gap:var(--space-3)}.workbench-manage-item{border-radius:14px;border:1px solid var(--panel-border);background:var(--panel-bg-strong)}.workbench-manage-item[data-workspace-tone=worktree]{border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 32%,var(--panel-border));background:linear-gradient(180deg,color-mix(in srgb,var(--panel-bg-strong) 96%,transparent),color-mix(in srgb,var(--panel-bg) 84%,transparent)),var(--panel-bg-strong)}.workbench-manage-item-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px 14px;color:var(--text-primary);text-align:left;border:1px solid transparent;border-radius:13px;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.workbench-manage-item[data-workspace-tone=worktree] .workbench-manage-item-toggle{border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 24%,var(--panel-border));background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 7%,var(--panel-bg));box-shadow:inset 0 1px #ffffff61}.workbench-manage-item[data-workspace-tone=worktree] .workbench-manage-item-toggle:hover{border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 34%,var(--panel-border));background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 11%,var(--panel-bg))}.workbench-manage-item-heading{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.workbench-manage-item-heading-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.workbench-manage-item-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workbench-manage-item-tree-path{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-manage-item-body{display:flex;flex-direction:column;gap:var(--space-3);padding:0 14px 14px}.workbench-manage-detail-block{display:flex;flex-direction:column;gap:var(--space-2);padding:10px 12px;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel-bg)}.workbench-manage-item[data-workspace-tone=worktree] .workbench-manage-detail-block{border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 24%,var(--panel-border));background:color-mix(in srgb,var(--panel-bg) 94%,transparent)}.workbench-manage-detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.workbench-manage-detail-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.workbench-manage-detail-value{margin:0;font-size:12px;line-height:1.6;color:var(--text-primary);word-break:break-all}.workbench-manage-detail-accent{color:var(--accent);font-size:18px;line-height:1}.workbench-manage-item[data-workspace-tone=worktree] .workbench-manage-detail-accent{color:var(--text-primary)}.workbench-manage-kv-list,.workbench-manage-type-list{display:flex;flex-direction:column;gap:var(--space-2)}.workbench-manage-type-chart{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.workbench-manage-type-chart-ring{--workbench-manage-chart-background: conic-gradient( color-mix(in srgb, var(--border-primary) 78%, transparent) 0% 100% );width:132px;height:132px;flex:0 0 132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:50%;background:radial-gradient(circle at center,var(--panel-bg-strong) 57%,transparent 58%),var(--workbench-manage-chart-background);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-primary) 78%,transparent)}.workbench-manage-type-chart-total{font-size:24px;line-height:1;color:var(--text-primary)}.workbench-manage-type-chart-caption{font-size:11px;line-height:1;color:var(--text-secondary)}.workbench-manage-type-list{flex:1 1 220px;min-width:min(100%,220px)}.workbench-manage-kv-item,.workbench-manage-type-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:12px;line-height:1.6}.workbench-manage-type-meta{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.workbench-manage-type-swatch{width:10px;height:10px;flex:0 0 10px;border-radius:999px}.workbench-manage-type-name{min-width:0;word-break:break-word}.workbench-manage-kv-item>span:last-child,.workbench-manage-type-item>span:last-child{color:var(--text-secondary);text-align:right;word-break:break-all}.workbench-manage-status,.workbench-manage-hint{margin:0;font-size:12px;line-height:1.6}.workbench-manage-hint{color:var(--text-tertiary)}.debug-readiness-page-shell{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.debug-readiness-page{display:flex;flex-direction:column;gap:12px;flex:0 0 auto}.debug-readiness-hero,.debug-readiness-section{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--border-primary);background:var(--bg-surface);box-shadow:none}.debug-readiness-hero{padding:16px;background:var(--bg-surface)}.debug-readiness-hero-header,.debug-readiness-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.debug-readiness-hero-copy,.debug-readiness-section-header>div{display:flex;flex-direction:column;gap:4px}.debug-readiness-eyebrow{display:none}.debug-readiness-hero-copy h2,.debug-readiness-section-header h3{margin:0;font-size:16px;line-height:1.2;letter-spacing:-.02em}.debug-readiness-hero-copy p,.debug-readiness-section-header p{margin:0;font-size:12px;line-height:1.5;color:var(--text-secondary)}.debug-readiness-hero-actions{display:inline-flex;flex-wrap:wrap;gap:10px}.debug-readiness-hero-toolbar{display:flex;flex-direction:column;gap:8px;margin-top:12px}.debug-readiness-hero-toolbar .workbench-modal-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;width:100%}.debug-readiness-hero-toolbar .workbench-modal-actions>.secondary-button,.debug-readiness-hero-toolbar .workbench-modal-actions>.primary-button{width:100%;min-width:0;margin:0}.debug-readiness-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:8px;margin-top:12px}.debug-readiness-summary-grid-hero{grid-template-columns:repeat(4,minmax(0,1fr))}.debug-readiness-summary-card{display:flex;flex-direction:column;gap:4px;min-height:0;padding:12px;border-radius:12px;border:1px solid var(--border-primary);background:var(--bg-elevated)}.debug-readiness-summary-card[data-tone=success]{border-color:var(--success)}.debug-readiness-summary-card[data-tone=warn]{border-color:var(--warning)}.debug-readiness-summary-card[data-tone=danger]{border-color:var(--danger)}.debug-readiness-summary-card>span{font-size:10px;font-weight:600;color:var(--text-secondary)}.debug-readiness-summary-card>strong{font-size:16px;line-height:1.25}.debug-readiness-summary-card>small{display:block;font-size:11px;line-height:1.4;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-readiness-chip-row,.debug-readiness-hero-meta{display:none}.debug-readiness-hero-meta>span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary)}.debug-readiness-hero-meta>strong{font-size:13px;line-height:1.7;word-break:break-all}.debug-readiness-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--border-primary);background:var(--bg-elevated);font-size:11px;font-weight:600;color:var(--text-secondary)}.debug-readiness-chip[data-tone=success]{border-color:var(--success);color:var(--success)}.debug-readiness-chip[data-tone=warn]{border-color:var(--warning);color:var(--warning)}.debug-readiness-chip[data-tone=danger]{border-color:var(--danger);color:var(--danger)}.debug-readiness-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);gap:18px}.debug-readiness-section{padding:14px}.debug-readiness-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.debug-readiness-runtime-list,.debug-readiness-matrix-list,.debug-readiness-sidebar{display:flex;flex-direction:column;gap:8px}.debug-readiness-service-card,.debug-readiness-runtime-item,.debug-readiness-matrix-item{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;border:1px solid var(--border-primary);background:var(--bg-elevated)}.debug-readiness-service-card-header,.debug-readiness-runtime-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.debug-readiness-service-card-header>div,.debug-readiness-runtime-item-header>strong,.debug-readiness-runtime-item-header>span{min-width:0}.debug-readiness-service-card-header strong,.debug-readiness-runtime-item-header strong,.debug-readiness-matrix-item strong{font-size:13px;line-height:1.3}.debug-readiness-service-card-header p,.debug-readiness-runtime-item>p{margin:2px 0 0;font-size:11px;line-height:1.4;color:var(--text-secondary);word-break:break-all}.debug-readiness-runtime-item-header>span{display:block;max-width:50%;font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.debug-readiness-service-card-grid,.debug-readiness-runtime-item-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.debug-readiness-service-card-grid>div,.debug-readiness-runtime-item-grid>div,.debug-readiness-service-card-list>p{display:flex;flex-direction:column;gap:4px;margin:0}.debug-readiness-service-card-grid span,.debug-readiness-runtime-item-grid span,.debug-readiness-service-card-list span{font-size:10px;font-weight:600;color:var(--text-secondary)}.debug-readiness-service-card-grid strong,.debug-readiness-runtime-item-grid strong,.debug-readiness-service-card-list strong{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere;color:var(--text-primary)}.debug-readiness-service-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:8px;border-top:1px solid var(--border-primary)}.debug-readiness-runtime-item-grid{font-size:11px;line-height:1.4;color:var(--text-secondary)}.debug-readiness-runtime-item>.workbench-manage-hint{overflow-wrap:anywhere}.debug-readiness-matrix-item{gap:6px}.debug-readiness-matrix-item>span{font-size:12px;line-height:1.5;color:var(--text-secondary)}@media(max-width:1100px){.debug-readiness-layout,.debug-readiness-service-grid{grid-template-columns:1fr}.debug-readiness-hero-toolbar .workbench-modal-actions>.secondary-button,.debug-readiness-hero-toolbar .workbench-modal-actions>.primary-button{flex:1 1 auto}}@media(max-width:720px){.debug-readiness-hero,.debug-readiness-section{padding:12px;border-radius:12px}.debug-readiness-summary-grid,.debug-readiness-service-card-grid,.debug-readiness-runtime-item-grid,.debug-readiness-service-card-list{grid-template-columns:1fr}.debug-readiness-summary-grid-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.debug-readiness-hero-toolbar .workbench-modal-actions{grid-template-columns:1fr}.debug-readiness-hero-toolbar .workbench-modal-actions>.secondary-button,.debug-readiness-hero-toolbar .workbench-modal-actions>.primary-button{width:100%;min-width:0;flex:1 1 auto}}.workbench-manage-item[data-workspace-tone=worktree] .workbench-section-counter{border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 28%,var(--panel-border));background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 12%,var(--panel-bg));color:color-mix(in srgb,var(--text-primary) 84%,var(--workspace-tone-color, var(--success)) 16%)}.workbench-manage-color-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);width:100%}.workbench-manage-color-palette{display:grid;grid-template-columns:repeat(9,36px);gap:var(--space-2);width:auto;max-width:100%}.workbench-manage-color-swatch{position:relative;width:36px;aspect-ratio:1;border:none;border-radius:9px;box-shadow:inset 0 1px #fff6,0 4px 8px #0f172a14}.workbench-manage-color-swatch[data-selected=true]:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid rgba(15,23,42,.18);border-radius:11px}.workbench-manage-color-swatch:disabled{opacity:.6;cursor:not-allowed}.workbench-manage-item[data-workspace-tone=worktree] .ghost-button:not(.workbench-danger-button),.workbench-manage-item[data-workspace-tone=worktree] .secondary-button:not(.workbench-danger-button){border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 28%,var(--panel-border));background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 10%,var(--panel-bg));color:color-mix(in srgb,var(--text-primary) 84%,var(--workspace-tone-color, var(--success)) 16%)}.workbench-manage-item[data-workspace-tone=worktree] .ghost-button:not(.workbench-danger-button):hover:not(:disabled),.workbench-manage-item[data-workspace-tone=worktree] .secondary-button:not(.workbench-danger-button):hover:not(:disabled){border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 36%,var(--panel-border));background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 14%,var(--panel-bg-strong));color:color-mix(in srgb,var(--text-primary) 78%,var(--workspace-tone-color, var(--success)) 22%)}.workbench-manage-item[data-workspace-tone=worktree] .workbench-danger-button,.workbench-manage-item[data-workspace-tone=worktree] .workbench-danger-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--status-danger) 42%,var(--panel-border));background:color-mix(in srgb,var(--status-danger) 10%,var(--panel-bg));color:var(--status-danger)}.workbench-manage-children{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);margin-left:18px;padding-left:14px;border-left:1px solid color-mix(in srgb,var(--panel-border) 82%,transparent)}.workbench-danger-button{border-color:color-mix(in srgb,var(--status-danger) 34%,var(--panel-border));color:var(--status-danger)}.workbench-danger-button:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger) 12%,var(--panel-bg));border-color:color-mix(in srgb,var(--status-danger) 48%,var(--panel-border));color:var(--status-danger)}.workbench-nav-footer.minimal{padding:12px;border-top:1px solid var(--panel-separator)}.workbench-footer-top,.workbench-footer-bottom{gap:10px}.workbench-footer-bottom{margin-top:10px}.settings-entry-button{min-height:36px;padding:0 12px;border-radius:10px;background:transparent;border:1px solid var(--panel-border)}.logout-button{min-height:30px;border-radius:8px}.workbench-page{position:relative;padding:var(--panel-padding-lg);gap:var(--section-gap);background:transparent}.workbench-center-placeholder{position:relative;z-index:1;justify-content:center;align-items:center;padding:var(--space-7)}.workbench-empty-guide{border-radius:20px;border-color:var(--panel-border);background:var(--panel-bg-strong);box-shadow:none}.workbench-empty-steps{border-left-color:var(--panel-border);background:var(--panel-bg)}.workbench-empty-step+.workbench-empty-step{border-top-color:var(--panel-border)}.workbench-empty-step-index{border-color:var(--panel-border);background:var(--panel-bg-strong)}.workbench-empty-tip{border-top-color:var(--panel-border);color:var(--text-secondary)}.conversation-page-shell{border-left:1px solid var(--panel-separator);border-right:1px solid var(--panel-separator)}.conversation-header{margin:0 0 2px;padding:var(--header-padding-y) var(--space-8)}.conversation-header h1{font-size:18px;letter-spacing:-.01em}.message-list{gap:0}.message-item,.tool-message-row{padding:var(--message-padding-y) var(--message-padding-x);border-bottom-color:var(--panel-separator)}.tool-message-row{padding:var(--tool-row-padding-y) var(--tool-row-padding-x)}.tool-message-row+.tool-message-row{padding-top:0}.user-message,.assistant-message,.system-message{background:transparent}.assistant-message .message-avatar{width:30px;height:30px;border-radius:10px}.markdown-content pre,.tool-call-output,.system-message pre{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px}.tool-calls{margin-top:var(--space-1);gap:var(--tool-card-gap)}.tool-message-row .tool-call-item{width:min(640px,100%)}.tool-call-item{border-radius:10px}.tool-call-header{min-height:26px;gap:var(--tool-card-gap);padding:0 var(--tool-card-header-padding-x);font-size:11px}.tool-call-info{gap:var(--tool-card-gap)}.tool-call-name{font-size:11px;line-height:1}.tool-call-input-preview{font-size:11px;line-height:1.25}.tool-call-meta{gap:var(--space-1)}.tool-call-output{gap:0;padding:0}.tool-call-section{gap:0}.tool-call-section+.tool-call-section{border-top:1px solid color-mix(in srgb,var(--panel-border) 84%,transparent)}.tool-call-section-label{padding:var(--tool-card-section-padding-y) var(--tool-card-section-padding-x) 2px;font-size:10px;letter-spacing:.03em}.tool-call-output pre{padding:0 var(--tool-card-section-padding-x) var(--tool-card-section-padding-y);font-size:11px;line-height:1.28}.composer-panel{padding:var(--panel-padding) var(--header-padding-x) var(--panel-padding-lg)}.composer-form{gap:var(--section-gap-tight)}.composer-input-wrapper{align-items:flex-start;padding:var(--panel-padding) var(--panel-padding-lg);background:var(--panel-bg)}.composer-input-wrapper:focus-within{border-color:var(--panel-border);box-shadow:none}.workbench-shell textarea.composer-input:focus-visible,.composer-input:focus-visible{outline:none;outline-offset:0}.composer-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--section-gap-tight);margin-top:var(--section-gap-tight)}.composer-controls-left{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);min-width:0}.composer-input-actions{display:flex;flex:0 0 auto;align-items:flex-end;justify-content:center;width:44px}.composer-quick-phrase-group{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:44px}.composer-slash-btn,.composer-attach-btn,.composer-select-wrapper{border-radius:9px}.composer-slash-btn,.composer-attach-btn{min-height:var(--control-height-md);border:1px solid var(--panel-border);background:var(--panel-bg-strong)}.composer-send{width:42px;height:42px;border-radius:14px}.workbench-info-tab,.workbench-topbar-tab{height:var(--control-height-sm);padding:0 var(--panel-padding-lg);border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text-secondary)}.workbench-info-tab.active,.workbench-topbar-tab.active{background:var(--panel-bg-strong);border-color:var(--panel-border);color:var(--text-primary);box-shadow:inset 0 0 0 1px #ffffff47}.workbench-auxiliary-header{min-height:52px;padding:var(--panel-padding) var(--header-padding-x)}.conversation-panel,.terminal-manager-section,.terminal-manager-card,.settings-card,.theme-card,.settings-release-notes{background:var(--panel-bg-strong)}.settings-page{padding:14px 18px 22px;background:transparent}.settings-container{max-width:780px}.settings-title{margin-bottom:16px;font-size:20px;letter-spacing:-.02em}.settings-section-title{margin-bottom:8px;font-size:12px;color:var(--text-tertiary)}.settings-card{border-radius:12px;overflow:hidden}.settings-row{gap:14px;padding:12px 16px;border-bottom-color:var(--panel-separator)}.settings-row-theme{gap:10px}.settings-row-theme .settings-row-control{width:100%}.settings-inline-form{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.settings-inline-form .settings-text-input{flex:1 1 auto;min-width:0}.settings-inline-form .settings-button{flex-shrink:0;white-space:nowrap}.theme-selector{gap:8px}.settings-release-notes{border-radius:10px;border:1px solid var(--panel-border)}.settings-tailscale-panel{width:100%}.settings-tailscale-status-indicator{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-size:13px;font-weight:600}.settings-tailscale-status-dot{width:8px;height:8px;border-radius:999px;background:#8e8e93eb;box-shadow:0 0 0 3px #8e8e9329}.settings-tailscale-status-indicator[data-tone=green] .settings-tailscale-status-dot{background:#30d158fa;box-shadow:0 0 0 3px #30d1582e}.settings-tailscale-status-indicator[data-tone=yellow] .settings-tailscale-status-dot{background:#ffd60afa;box-shadow:0 0 0 3px #ffd60a2e}.settings-remote-access-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-remote-access-metric-card{display:flex;min-width:0;flex-direction:column;gap:6px;min-height:84px;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--border-subtle) 74%,transparent);background:var(--settings-model-summary-bg);box-shadow:var(--settings-overview-metric-card-shadow)}.settings-remote-access-metric-label{color:var(--text-secondary);font-size:12px;line-height:1.45}.settings-remote-access-metric-value{color:var(--text-primary);font-size:15px;line-height:1.45;word-break:break-word}.settings-remote-access-switch{display:inline-flex;align-items:center;gap:10px}.settings-remote-access-switch-label{color:var(--text-secondary);font-size:12px;font-weight:600;white-space:nowrap}.settings-remote-access-panel-note{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.6}.settings-relay-tunnel-inline-stack{display:grid;gap:4px}.settings-tailscale-summary-value{display:inline-block;max-width:min(36ch,100%);color:var(--text-primary);font-size:12px;font-weight:700;line-height:1.45;text-align:right;word-break:break-word}.settings-tailscale-summary-value .settings-tailscale-link{max-width:100%;white-space:normal;overflow-wrap:anywhere}.settings-tailscale-form{display:grid;gap:12px}.settings-tailscale-link{color:var(--accent);text-decoration:underline;word-break:break-all}.settings-tailscale-modal{width:min(520px,calc(100vw - 32px))}.settings-tailscale-modal .workbench-modal-body{display:grid}.settings-tailscale-modal-body{display:grid;gap:14px}.settings-tailscale-modal-actions{display:flex;justify-content:flex-end;gap:8px}.settings-tailscale-login-url{margin:0;font-size:12px;line-height:1.5}.theme-card{min-width:0;min-height:44px;border-width:1px;border-radius:10px}.theme-card.active{border-color:color-mix(in srgb,var(--accent) 40%,var(--panel-border))}.primary-button,.secondary-button,.ghost-button,.settings-button{min-height:34px;border-radius:10px}.primary-button{background:color-mix(in srgb,var(--accent) 92%,white 8%)}.secondary-button,.settings-button{background:transparent;border:1px solid var(--panel-border)}.secondary-button:hover:not(:disabled),.settings-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){background:var(--panel-hover)}.workbench-shell button:focus-visible,.workbench-shell input:focus-visible,.workbench-shell textarea:focus-visible,.workbench-shell select:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 52%,transparent);outline-offset:1px}@media(max-width:1080px){.workbench-desktop-titlebar{grid-template-columns:minmax(0,1fr);gap:10px;padding-top:10px;padding-bottom:10px}.workbench-titlebar-center,.workbench-titlebar-trailing{justify-content:flex-start}.workbench-titlebar-trailing{flex-wrap:wrap}}@media(max-width:720px){.workbench-shell{padding:0}.workbench-desktop-titlebar{border-radius:0;border-left:none;border-right:none}.workbench-nav,.workbench-auxiliary{border-radius:0}.workbench-titlebar-leading.traffic-lights-offset{padding-left:0}.workbench-titlebar-actions,.workbench-titlebar-stats{width:100%}.workbench-titlebar-actions{flex-wrap:wrap}}.workbench-shell{height:100vh;padding:10px;box-sizing:border-box;background:linear-gradient(180deg,#ffffff70,#ffffff14),var(--app-bg)}.workbench-shell[data-runtime-platform=ios]{height:100dvh;padding-top:calc(10px + env(safe-area-inset-top,0px))}.workbench-body-shell{min-height:0;border-radius:18px;overflow:hidden;border:1px solid var(--panel-border);background:color-mix(in srgb,var(--panel-bg-strong) 82%,transparent);box-shadow:0 22px 54px #0f172a14}.workbench-nav,.workbench-main-shell,.workbench-auxiliary{height:100%;border:none;border-radius:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.workbench-nav{background:color-mix(in srgb,var(--sidebar-surface) 96%,white 4%)}.workbench-main-shell{background:color-mix(in srgb,var(--content-surface) 96%,white 4%)}.workbench-auxiliary{background:color-mix(in srgb,var(--inspector-surface) 97%,white 3%)}.workbench-side-resizer{width:1px;flex:0 0 1px;background:var(--panel-separator)}.workbench-side-resizer:after,.workbench-side-resizer:before{display:none}.workbench-nav-header,.workbench-auxiliary-header,.conversation-header{position:relative;min-height:var(--workbench-header-min-height);margin:0;padding:var(--workbench-header-padding-top) var(--workbench-header-padding-inline) var(--workbench-header-padding-bottom);border-bottom:1px solid var(--panel-separator);border-radius:0;background:color-mix(in srgb,var(--panel-bg-strong) 84%,transparent)}.workbench-nav-header{align-items:center}.workbench-nav-toolbar{display:flex;align-items:center;width:100%;min-width:0;gap:var(--workbench-toolbar-control-gap)}.workbench-window-drag-spacer{flex:1 1 auto;min-width:24px;min-height:30px}.workbench-window-drag-spacer.auxiliary{flex:0 0 24px;min-width:24px}.workbench-window-drag-spacer.collapsed{flex:0 0 44px;min-width:44px;min-height:30px}.workbench-nav-toolbar-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;border:1px solid transparent;color:var(--text-secondary);background:transparent;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.workbench-nav-toolbar-button:hover{background:var(--panel-hover);border-color:var(--panel-border);color:var(--text-primary)}.workbench-notification-anchor{position:relative;display:inline-flex}.workbench-host-switcher-anchor{position:relative;display:inline-flex;min-width:0}.workbench-host-switcher-anchor>.workbench-nav-toolbar-button>svg,.workbench-host-switcher-item-trailing svg,.workbench-host-switcher-item-action svg,.workbench-host-switcher-add svg{width:14px;height:14px;flex-shrink:0}.workbench-host-switcher-item-copy{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;align-items:flex-start}.workbench-host-switcher-item-title{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap}.workbench-host-switcher-item-meta{max-width:100%;overflow:hidden;font-size:11px;color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap}.workbench-host-switcher-item-badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:999px;background:var(--panel-active);color:var(--accent);font-size:10px;font-weight:700}.workbench-host-switcher-item-badge[data-tone=discovered]{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-strong, var(--accent))}.workbench-host-switcher-menu{position:fixed;z-index:2401;width:min(320px,calc(100vw - 32px));overflow:hidden;border:1px solid var(--panel-border);border-radius:14px;background:var(--panel-bg-strong);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workbench-host-switcher-menu-header{padding:12px 14px 10px;border-bottom:1px solid var(--panel-separator);font-size:12px;color:var(--text-secondary)}.workbench-host-switcher-list{display:flex;flex-direction:column}.workbench-host-switcher-section-label{padding:10px 14px 6px;border-top:1px solid var(--panel-separator);font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em}.workbench-host-switcher-list>.workbench-host-switcher-section-label:first-child{border-top:0}.workbench-host-switcher-item{display:flex;align-items:stretch}.workbench-host-switcher-item-main,.workbench-host-switcher-add{display:flex;flex:1 1 auto;align-items:center;gap:10px;width:100%;padding:12px 14px;border:0;background:transparent;color:inherit;text-align:left}.workbench-host-switcher-item+.workbench-host-switcher-item,.workbench-host-switcher-form,.workbench-host-switcher-add{border-top:1px solid var(--panel-separator)}.workbench-host-switcher-item-main:hover,.workbench-host-switcher-item-action:hover,.workbench-host-switcher-add:hover{background:var(--panel-hover)}.workbench-host-switcher-item[data-active=true]>.workbench-host-switcher-item-main{background:var(--panel-active)}.workbench-host-switcher-item-trailing{display:inline-flex;align-items:center;justify-content:flex-end;min-width:44px;color:var(--text-secondary);font-size:11px;font-weight:600}.workbench-host-switcher-item-action{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;padding:0 10px;border:0;border-left:1px solid var(--panel-separator);background:transparent;color:var(--text-tertiary);font-size:11px;font-weight:600}.workbench-host-switcher-item-action:hover{color:#ef4444}.workbench-host-switcher-item-action[data-confirming=true]{width:auto;min-width:76px;color:#ef4444;background:color-mix(in srgb,#ef4444 10%,transparent)}.workbench-host-switcher-item-action[data-tone=detail]{width:auto;min-width:60px;color:var(--accent);font-weight:700}.workbench-host-switcher-item-action[data-tone=detail]:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.workbench-host-switcher-form{display:flex;flex-direction:column;gap:10px;padding:14px}.workbench-host-switcher-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.workbench-host-switcher-field input{height:34px;padding:0 10px;border:1px solid var(--panel-border);border-radius:10px;background:color-mix(in srgb,var(--panel-bg) 92%,transparent);color:var(--text-primary)}.workbench-host-switcher-form-actions{display:flex;justify-content:flex-end;gap:8px}.workbench-host-switcher-state-row{padding:10px 14px 14px;border-top:1px solid var(--panel-separator);font-size:12px;color:var(--text-tertiary)}.workbench-host-switcher-state-row[data-tone=error]{color:#ef4444}.workbench-host-switcher-detail-popover{z-index:2501;overflow:hidden;border:1px solid var(--panel-border);border-radius:14px;background:var(--panel-bg-strong);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workbench-host-switcher-detail-header{padding:12px 14px 10px;border-bottom:1px solid var(--panel-separator);font-size:12px;color:var(--text-secondary)}.workbench-host-switcher-detail-grid{display:flex;flex-direction:column;padding:6px 14px 12px}.workbench-host-switcher-detail-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:8px 0}.workbench-host-switcher-detail-row+.workbench-host-switcher-detail-row{border-top:1px solid color-mix(in srgb,var(--panel-separator) 84%,transparent)}.workbench-host-switcher-detail-label{color:var(--text-tertiary);font-size:12px}.workbench-host-switcher-detail-value{color:var(--text-primary);font-size:12px;font-weight:600;word-break:break-word}.workbench-host-switcher-detail-value[data-multiline=true]{line-height:1.45}.workbench-notification-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;line-height:16px;font-weight:700;text-align:center;box-shadow:0 0 0 2px var(--bg-surface, #fff)}.workbench-notification-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:min(340px,calc(100vw - 32px));max-height:min(70vh,520px);overflow:auto;padding:14px;border:1px solid var(--panel-border);border-radius:14px;background:var(--bg-surface);box-shadow:0 18px 36px #0f172a24}.workbench-notification-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.workbench-notification-panel-header strong{display:block;font-size:14px}.workbench-notification-panel-header p,.workbench-notification-empty,.workbench-notification-item p,.workbench-notification-item time,.workbench-notification-item-kind{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.workbench-notification-list{display:flex;flex-direction:column;gap:6px}.workbench-notification-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;padding:8px 12px;border:1px solid var(--panel-border);border-radius:12px;background:var(--bg-surface);color:var(--text-primary);text-align:left}.workbench-notification-item:hover{background:var(--panel-hover)}.workbench-notification-item-content{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;align-items:flex-start;gap:3px;padding:0;border:none;background:transparent;color:inherit;text-align:left}.workbench-notification-item-kind{font-weight:600}.workbench-notification-item strong{font-size:13px;line-height:1.4}.workbench-notification-item-side{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:6px}.workbench-notification-item time{white-space:nowrap}.workbench-notification-item-action-button.secondary-button{min-height:28px;padding:0 10px;border-radius:9px;font-size:12px}@media(max-width:720px){.workbench-notification-item{gap:10px;padding:8px 10px}.workbench-notification-item-side{gap:4px}.workbench-notification-item-action-button.secondary-button{min-height:26px;padding:0 8px}}.workbench-nav-body{padding:12px 10px 10px;gap:12px}.workbench-nav-segment,.workbench-nav-segment-tabs{display:flex;flex-direction:column;gap:4px}.workbench-nav-segment-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.workbench-nav-segment-button{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;min-height:38px;padding:0 14px;border-radius:14px;color:#3a3a3ce6;font-size:13px;font-weight:400;letter-spacing:0;line-height:1.2;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.workbench-nav-segment-button[data-layout=paired]{justify-content:center;padding:0 10px;text-align:center}.workbench-nav-segment-button svg{width:17px;height:17px;flex:0 0 auto}.workbench-nav-segment-button.active,.workbench-nav-segment-button[data-open=true]{background:#7878801f;color:#111}.workbench-nav-segment-button:hover{background:#78788012;color:#111}.workbench-nav-segment-button:active{transform:scale(.995)}[data-theme=dark] .workbench-nav-segment{gap:4px}[data-theme=dark] .workbench-nav-segment-button.active{background:#76768033;color:#f5f5f7}[data-theme=dark] .workbench-nav-segment-button{color:#ebebf5d1}[data-theme=dark] .workbench-nav-segment-button:hover{background:#76768024;color:#f5f5f7}.workbench-section-block{padding:10px;border-radius:14px;background:color-mix(in srgb,var(--panel-bg-strong) 82%,transparent)}.workbench-section-heading{min-height:28px;margin-bottom:8px}.workbench-section-heading-main{font-size:12px;font-weight:700;color:var(--text-secondary)}.workbench-section-actions{display:grid;grid-template-columns:repeat(4,28px);align-items:center;justify-content:end;justify-items:end;gap:4px;width:124px;margin-left:auto;flex-shrink:0}.workbench-workspace-section{display:flex;flex-direction:column;gap:10px}.workbench-workspace-group{position:relative;gap:8px;padding:10px;border-radius:12px;background:#ffffff80;border:1px solid var(--panel-border);transition:transform .16s ease,opacity .16s ease,border-color .16s ease,background .16s ease}.workbench-workspace-group[data-dragging=true]{opacity:.72;transform:scale(.985);border-color:color-mix(in srgb,var(--accent-primary) 42%,var(--panel-border));background:color-mix(in srgb,var(--accent-primary) 10%,rgba(255,255,255,.5))}[data-theme=dark] .workbench-workspace-group{background:#ffffff08}.workbench-workspace-header.minimal{align-items:center;margin-bottom:0}.workbench-workspace-toggle[data-reorder-enabled=true]{cursor:grab}.workbench-workspace-toggle[data-reorder-enabled=true]:active{cursor:grabbing}.workbench-workspace-toggle{min-height:30px;padding:0 6px 0 2px;gap:4px;border-radius:8px}.workbench-workspace-toggle strong{font-size:13px;font-weight:600}.workbench-workspace-actions{display:grid;grid-template-columns:repeat(3,28px);align-items:center;justify-content:end;justify-items:end;gap:4px;width:92px;flex:0 0 92px;margin-left:auto}.workbench-workspace-icon-button,.workbench-workspace-create{width:28px;min-height:28px;border-radius:8px;background:transparent}.workbench-session-list{gap:6px}.workbench-session-card{border-radius:10px;border-color:transparent}.workbench-session-card:hover,.workbench-session-card[data-active=true]{background:#00000008;border-color:#0000000d}[data-theme=dark] .workbench-session-card:hover,[data-theme=dark] .workbench-session-card[data-active=true]{background:#ffffff0d;border-color:#ffffff14}.workbench-session-link{padding:7px 9px;border-radius:9px}.session-title{font-size:12px;font-weight:600}.session-meta-row{align-items:center}.session-provider-badge{min-height:18px;padding:0 6px;border-radius:999px;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.workbench-nav-footer.minimal{padding:10px;border-top:1px solid var(--panel-separator);background:color-mix(in srgb,var(--panel-bg-strong) 86%,transparent)}.workbench-nav-settings-button{display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center;min-height:34px}.workbench-nav-settings-button svg{width:15px;height:15px}.workbench-main-shell{padding:0}.workbench-main-shell>.workbench-page,.workbench-main-shell>.conversation-page-shell{padding:0}.workbench-main-shell>.debug-readiness-page-shell,.workbench-shell .workbench-main-shell>.debug-readiness-page-shell{min-height:0;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}.conversation-page-shell{gap:0;border:none}.conversation-header{position:sticky;top:0;z-index:2}.conversation-header-main{gap:4px}.conversation-header h1{font-size:16px;font-weight:700;letter-spacing:-.01em}.message-timeline{padding:0}.message-list{padding:10px 0 20px}.message-item{padding:10px 18px;border-bottom:none}.message-item.user-message{justify-content:flex-end}.assistant-message .message-avatar{display:none}.assistant-message .message-content-wrapper,.system-message .message-content-wrapper{width:min(100%,860px);padding:0;background:transparent;border:none}.assistant-message .message-text,.system-message .message-text{padding:0;background:transparent;border:none;box-shadow:none}.user-message .message-content-wrapper{width:fit-content;max-width:min(78%,720px);min-width:0;margin-left:0;padding:14px 16px 10px;border-radius:18px;background:#8e8e9324;border:1px solid rgba(60,60,67,.08)}[data-theme=dark] .user-message .message-content-wrapper{background:#76768038;border-color:#ffffff14}.user-message .message-time{order:-1;margin-top:8px;font-size:11px;color:var(--text-tertiary)}.queued-message-list,.composer-panel{padding-left:18px;padding-right:18px}.composer-panel{padding-top:8px;padding-bottom:16px;border-top:1px solid var(--panel-separator);background:color-mix(in srgb,var(--panel-bg-strong) 88%,transparent)}.composer-input-wrapper{background:#ffffffc7}[data-theme=dark] .composer-input-wrapper{background:#ffffff0a}.workbench-auxiliary-header{display:flex;align-items:center;gap:10px}.workbench-info-tabs{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border-radius:12px;background:#7878801f}.workbench-info-tab{display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:30px;padding:0 8px;border-radius:9px;font-size:12px;font-weight:600;line-height:1.1;white-space:nowrap}.workbench-info-tab.active{background:#ffffffe6;box-shadow:0 1px 2px #0f172a14}[data-theme=dark] .workbench-info-tab.active{background:#3a3a3ceb}.workbench-auxiliary-body{padding:12px 10px 10px}.workbench-search-modal{display:flex;flex-direction:column;gap:14px}.workbench-search-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border-radius:12px;background:#7878801f}.workbench-search-mode-button{min-height:32px;padding:0 12px;border-radius:9px;color:var(--text-secondary);font-size:12px;font-weight:600}.workbench-search-mode-button.active{background:#ffffffeb;color:var(--text-primary);box-shadow:0 1px 2px #0f172a14}[data-theme=dark] .workbench-search-mode-button.active{background:#3a3a3ceb}.workbench-search-code-form{display:flex;flex-direction:column;gap:10px}.workbench-search-results{display:flex;flex-direction:column;gap:8px;min-height:160px;max-height:360px;overflow-y:auto}.workbench-search-result-item{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border-radius:10px;border:1px solid var(--panel-border);background:var(--panel-bg);text-align:left;transition:background var(--transition-fast),border-color var(--transition-fast)}.workbench-search-result-item:hover{background:var(--panel-hover);border-color:var(--panel-border-strong)}.workbench-search-result-item.static{cursor:default}.workbench-search-result-item.static:hover{background:var(--panel-bg);border-color:var(--panel-border)}.workbench-search-result-title{display:block;min-width:0;font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-search-result-meta{font-size:12px;line-height:1.5;color:var(--text-secondary);word-break:break-all}.workbench-search-empty{margin:0;padding:18px 12px;border-radius:10px;background:var(--panel-bg);color:var(--text-secondary);font-size:12px;line-height:1.6}@media(max-width:720px){.workbench-shell{padding:0}.workbench-body-shell{border-radius:0;border:none;box-shadow:none}.workbench-nav,.workbench-main-shell,.workbench-auxiliary{-webkit-backdrop-filter:none;backdrop-filter:none}.workbench-nav-segment,.workbench-info-tabs{grid-template-columns:1fr}.user-message .message-content-wrapper{width:fit-content;max-width:100%;min-width:0}}.workbench-shell{--workbench-sidebar-icon-inset: 18px;--workbench-sidebar-item-padding-end: 12px;--workbench-sidebar-icon-slot-size: 16px;padding:0;background:linear-gradient(180deg,#ffffff85,#ffffff1f),#eef1f4}.workbench-body-shell{border:1px solid rgba(15,23,42,.04);background:#fcfcfdeb;box-shadow:0 14px 36px #0f172a0f}.workbench-nav{width:var(--workbench-left-width, 290px);background:#f2f2f4}.workbench-main-shell{--conversation-content-gutter: clamp(72px, 12%, 196px);background:#fffffff5}.workbench-auxiliary{width:var(--workbench-right-width, 300px);background:#f2f2f4}.workbench-nav-header,.workbench-auxiliary-header,.conversation-header{position:relative;background:transparent;border-bottom:1px solid rgba(15,23,42,.05)}.workbench-nav-toolbar{position:relative;z-index:1;gap:8px}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-macos-drag-strip{position:absolute;inset:0 0 auto 0;height:var(--desktop-macos-titlebar-height, 28px);z-index:0;pointer-events:none}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-header,[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary-header,[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-header{min-height:var(--workbench-header-min-height);padding-top:var(--workbench-macos-titlebar-padding-top, 4px);padding-bottom:var(--workbench-macos-titlebar-padding-bottom, 5px)}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-toolbar{min-height:28px;padding-left:var(--workbench-titlebar-leading-inset)}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-macos-traffic-light-spacer{flex:0 0 var(--workbench-titlebar-leading-inset);height:28px}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-toolbar,[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-info-tabs,[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-header-main,[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-header-actions,[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-tabbar-main{position:relative;z-index:1}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary-header>.workbench-nav-toolbar-button{transform:translateY(var(--workbench-auxiliary-toolbar-button-live-shift-y))}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-toolbar{transform:translateY(var(--workbench-nav-toolbar-live-shift-y))}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-info-tabs{transform:translateY(var(--workbench-info-tabs-live-shift-y))}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-header-main{transform:translateY(var(--workbench-conversation-header-main-live-shift-y))}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-header-actions{transform:translateY(var(--workbench-conversation-header-actions-live-shift-y))}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-tabbar-main{transform:translateY(var(--workbench-terminal-tabbar-live-shift-y))}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-tabbar{min-height:var(--workbench-header-min-height);height:auto;padding-top:var(--workbench-macos-titlebar-padding-top, 4px);padding-bottom:var(--workbench-macos-titlebar-padding-bottom, 5px)}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-tab-control,[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-toolbar-toggle-tool{width:var(--workbench-macos-titlebar-control-size, 26px);min-width:var(--workbench-macos-titlebar-control-size, 26px);height:var(--workbench-macos-titlebar-control-size, 26px);border-radius:8px}[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-tab-control{padding:0}.macos-traffic-lights{display:inline-flex;align-items:center;gap:8px;margin-right:10px}.macos-traffic-light{width:12px;height:12px;border-radius:999px;box-shadow:inset 0 0 0 .5px #0000001f}.macos-traffic-light.close{background:#ff5f57}.macos-traffic-light.minimize{background:#febb2e}.macos-traffic-light.maximize{background:#28c840}.workbench-nav-toolbar-button{position:relative;z-index:1;width:26px;height:26px;border-radius:7px;color:#3c3c43b8}.workbench-info-tabs,.conversation-header-main{position:relative;z-index:1}.workbench-nav-toolbar-button:hover{background:#3c3c4314;border-color:transparent;color:#1c1c1eeb}.workbench-nav-body{padding:10px 0 8px;gap:12px}.workbench-nav-segment,.workbench-nav-segment-tabs,.workbench-nav-segment-pair{gap:2px}.workbench-nav-segment-button{gap:7px;min-height:34px;padding:0 var(--workbench-sidebar-item-padding-end) 0 var(--workbench-sidebar-icon-inset);border-radius:11px;color:#1c1c1ed6;font-size:13px;font-weight:400;line-height:1.2}.workbench-nav-segment-button[data-layout=paired]{padding:0 10px}.workbench-nav-segment-button svg{width:16px;height:16px;stroke-width:1.85}.workbench-nav-segment-button.active,.workbench-nav-segment-button[data-open=true]{background:#7878801f;border:none;box-shadow:none}.workbench-nav-segment-button:hover{background:#7878800f}.workbench-section-block,.workbench-workspace-group,.workbench-archive-folder,.conversation-header,.composer-input-wrapper,.workbench-search-result-item,.workbench-search-empty,.workbench-search-mode-switch{border:none;box-shadow:none}.workbench-section-block{padding:0;border-radius:0;background:transparent}.workbench-section-heading{--workbench-sidebar-actions-offset: max(3px, var(--workbench-sidebar-item-padding-end));margin-bottom:4px;padding:0 var(--workbench-sidebar-actions-offset) 0 var(--workbench-sidebar-icon-inset)}.workbench-section-heading-button{width:100%;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.workbench-section-heading-main{font-size:13px;font-weight:700;color:#3c3c4399;letter-spacing:0}.workbench-favorite-heading-icon{width:14px;height:14px;flex:0 0 14px}.workbench-section-counter{min-width:auto;height:auto;padding:0;border:none;background:transparent;color:#3c3c4399;font-size:12px;font-weight:500}.workbench-section-actions{display:grid;grid-template-columns:repeat(3,26px);align-items:center;justify-content:end;justify-items:end;gap:4px;width:86px;margin-left:auto;flex-shrink:0}.workbench-favorite-section{--workbench-nav-base-inset: var(--workbench-sidebar-icon-inset);--workbench-nav-leading-slot: var(--workbench-sidebar-icon-slot-size);--workbench-nav-leading-gap: 4px;--workbench-nav-label-start: calc( var(--workbench-nav-base-inset) + var(--workbench-nav-leading-slot) + var(--workbench-nav-leading-gap) )}.workbench-workspace-section{--workbench-workspace-row-height: 38px;--workbench-nav-base-inset: var(--workbench-sidebar-icon-inset);--workbench-nav-leading-slot: 16px;--workbench-nav-leading-gap: 4px;--workbench-nav-label-start: calc( var(--workbench-nav-base-inset) + var(--workbench-nav-leading-slot) + var(--workbench-nav-leading-gap) );gap:0}.workbench-workspace-group{padding:0;border-radius:0;background:transparent}.workbench-workspace-header.minimal{--workbench-sidebar-actions-offset: max(3px, var(--workbench-sidebar-item-padding-end));min-height:var(--workbench-workspace-row-height);padding:0 var(--workbench-sidebar-actions-offset) 0 0}.workbench-workspace-group+.workbench-workspace-group{margin-top:0;border-top:1px solid color-mix(in srgb,var(--panel-border) 80%,transparent)}.workbench-workspace-group[data-workspace-tone=worktree]{background:linear-gradient(180deg,color-mix(in srgb,var(--workspace-tone-color, var(--success)) 4%,transparent),color-mix(in srgb,var(--accent) 4%,transparent))}.conversation-page-shell[data-workspace-tone=worktree] .composer-input-wrapper{background:color-mix(in srgb,var(--panel-bg-strong) 94%,transparent);border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 24%,transparent)}.conversation-page-shell[data-workspace-tone=worktree] .composer-input-container{border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 28%,var(--panel-border));box-shadow:0 10px 22px #0f172a0d,0 0 0 1px color-mix(in srgb,var(--workspace-tone-color, var(--success)) 10%,transparent)}.conversation-page-shell[data-workspace-tone=worktree] .composer-mac-select-trigger,.conversation-page-shell[data-workspace-tone=worktree] .composer-slash-btn,.conversation-page-shell[data-workspace-tone=worktree] .composer-attach-btn,.conversation-page-shell[data-workspace-tone=worktree] .composer-quick-phrase-trigger{border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 26%,var(--panel-border));background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 8%,var(--panel-bg-strong));color:color-mix(in srgb,rgba(60,60,67,.88) 82%,var(--workspace-tone-color, var(--success)) 18%)}.conversation-page-shell[data-workspace-tone=worktree] .composer-mac-select-trigger:hover,.conversation-page-shell[data-workspace-tone=worktree] .composer-mac-select[data-open=true] .composer-mac-select-trigger,.conversation-page-shell[data-workspace-tone=worktree] .composer-slash-btn:hover,.conversation-page-shell[data-workspace-tone=worktree] .composer-attach-btn:hover,.conversation-page-shell[data-workspace-tone=worktree] .composer-quick-phrase-trigger:hover{border-color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 36%,var(--panel-border));background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 12%,var(--panel-bg));color:color-mix(in srgb,rgba(28,28,30,.92) 76%,var(--workspace-tone-color, var(--success)) 24%)}.conversation-page-shell[data-workspace-tone=worktree] .slash-icon,.conversation-page-shell[data-workspace-tone=worktree] .composer-mac-select-chevron{color:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 72%,rgba(120,120,128,.68))}.conversation-page-shell[data-workspace-tone=worktree] .composer-context-ring{--context-usage-tone: color-mix(in srgb, var(--workspace-tone-color, var(--success)) 82%, #0f766e 18%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--workspace-tone-color, var(--success)) 24%,transparent)}.conversation-page-shell[data-workspace-tone=worktree] .composer-send{background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 88%,white 8%);color:#fff}.conversation-page-shell[data-workspace-tone=worktree] .composer-send:hover:not(:disabled){background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 94%,black 4%)}.conversation-page-shell[data-workspace-tone=worktree] .composer-send:disabled{background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 28%,rgba(120,120,128,.12));color:#ffffffe0}.conversation-page-shell[data-workspace-tone=worktree] .composer-mac-select-option.is-selected{background:linear-gradient(180deg,color-mix(in srgb,var(--workspace-tone-color, var(--success)) 82%,white 8%),color-mix(in srgb,var(--workspace-tone-color, var(--success)) 92%,transparent));color:#fff}.workbench-auxiliary-header[data-workspace-tone=worktree] .workbench-info-tab{background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 10%,rgba(120,120,128,.12));color:color-mix(in srgb,rgba(60,60,67,.88) 82%,var(--workspace-tone-color, var(--success)) 18%)}.workbench-auxiliary-header[data-workspace-tone=worktree] .workbench-info-tab.active{background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 18%,rgba(255,255,255,.9));box-shadow:0 1px 2px #0f172a14}.workbench-workspace-toggle{display:grid;grid-template-columns:var(--workbench-nav-leading-slot) minmax(0,1fr);column-gap:var(--workbench-nav-leading-gap);min-height:var(--workbench-workspace-row-height);padding:0 var(--workbench-sidebar-item-padding-end) 0 var(--workbench-nav-base-inset);border-radius:8px}.workbench-workspace-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--workbench-nav-leading-slot);height:16px}.workbench-workspace-toggle strong{grid-column:2;font-size:13px;font-weight:600;color:#3c3c43f5}.workbench-workspace-actions{display:grid;grid-template-columns:repeat(3,26px);align-items:center;min-height:var(--workbench-workspace-row-height);justify-content:end;justify-items:end;gap:4px;width:86px;flex:0 0 86px;margin-left:auto}.workbench-workspace-icon-button,.workbench-workspace-create{width:26px;min-height:26px;border-radius:7px;border:none;background:transparent;color:#3c3c43b8}.workbench-workspace-icon-button svg,.workbench-workspace-create svg{width:15px;height:15px}.workbench-workspace-icon-button:hover,.workbench-workspace-create:hover,.workbench-session-menu-item:hover,.workbench-info-tab:hover,.workbench-workspace-batch-action:hover{background:#7878801a;border-color:transparent;transform:none}.workbench-workspace-icon-button[aria-pressed=true]{background:#007aff24;color:#007aff;border:none}.workbench-session-list{gap:1px}.workbench-session-tree-row{--workbench-session-indicator-center-x: calc( var(--workbench-nav-base-inset) + (var(--workbench-nav-leading-slot) / 2) )}.workbench-session-card,.workbench-session-card[data-depth="1"]{border-radius:10px;background:transparent;border:none}.workbench-session-card[data-depth="2"],.workbench-session-card[data-depth="3"]{border-radius:9px;background:transparent;border:none}.workbench-session-card:hover,.workbench-session-card[data-active=true]{background:#7878801a;border-color:transparent}.workbench-session-card[data-selecting=true][data-selected=true]{background:#007aff14;border:none}.workbench-session-main{position:relative;width:100%;min-width:0}.workbench-session-card[data-selecting=true] .workbench-session-main{display:flex;align-items:center;gap:7px;padding:4px var(--workbench-sidebar-item-padding-end) 4px 8px}.workbench-session-link,.workbench-session-card[data-depth="1"] .workbench-session-link{padding:4px var(--workbench-sidebar-item-padding-end) 4px var(--workbench-nav-label-start);border-radius:9px}.workbench-session-card[data-depth="2"] .workbench-session-link,.workbench-session-card[data-depth="3"] .workbench-session-link{padding:4px var(--workbench-sidebar-item-padding-end) 4px var(--workbench-nav-label-start);border-radius:8px}.workbench-session-card[data-selecting=true] .workbench-session-link,.workbench-session-card[data-depth="1"][data-selecting=true] .workbench-session-link,.workbench-session-card[data-depth="2"][data-selecting=true] .workbench-session-link,.workbench-session-card[data-depth="3"][data-selecting=true] .workbench-session-link{padding:0 var(--workbench-sidebar-item-padding-end) 0 0}.workbench-session-link:hover,.workbench-session-link[data-active=true]{background:transparent}.workbench-session-link-copy{min-height:22px;gap:1px;padding-left:0}.session-title{font-size:12px;font-weight:500;line-height:1.35}.session-meta{color:#3c3c4380;font-size:10px;line-height:1.2}.session-state-indicator{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--workbench-sidebar-icon-slot-size);height:var(--workbench-sidebar-icon-slot-size);flex:0 0 var(--workbench-sidebar-icon-slot-size);background:transparent;border:none;box-shadow:none;animation:none}.workbench-session-main>.session-state-indicator,.workbench-session-main>.workbench-session-subagent-toggle{position:absolute;left:var(--workbench-sidebar-icon-inset);top:50%;transform:translateY(-50%)}.workbench-session-subagent-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--workbench-sidebar-icon-slot-size);min-width:var(--workbench-sidebar-icon-slot-size);height:var(--workbench-sidebar-icon-slot-size);padding:0;border:0;background:transparent;color:#34c759;border-radius:999px;cursor:pointer;box-shadow:none}.workbench-session-subagent-toggle .session-state-indicator,.workbench-session-subagent-toggle .workbench-session-subagent-toggle-icon{transition:opacity var(--transition-fast),transform var(--transition-fast)}.workbench-session-subagent-toggle-icon{position:absolute;top:2px;right:2px;bottom:2px;left:2px;display:inline-flex;align-items:center;justify-content:center;opacity:1;transform:none}.workbench-session-subagent-toggle-icon svg{width:8px;height:8px}.workbench-session-subagent-toggle .session-state-indicator,.workbench-session-subagent-toggle:hover .session-state-indicator,.workbench-session-subagent-toggle:focus-visible .session-state-indicator,.workbench-session-card[data-has-subagents=true]:focus-within .workbench-session-subagent-toggle .session-state-indicator{opacity:1;transform:none}.workbench-session-subagent-toggle:hover .workbench-session-subagent-toggle-icon,.workbench-session-subagent-toggle:focus-visible .workbench-session-subagent-toggle-icon,.workbench-session-card[data-has-subagents=true]:focus-within .workbench-session-subagent-toggle-icon{opacity:1;transform:none}.workbench-session-subagent-toggle[data-indicator-variant=subagent-unread]{background:transparent;box-shadow:none}.workbench-session-subagent-toggle[data-indicator-variant=subagent-running]{background:transparent}.session-state-indicator.is-idle,.session-state-indicator.is-unread,.session-state-indicator.is-subagent,.session-state-indicator.is-subagent-unread,.session-state-indicator.is-running,.session-state-indicator.is-subagent-running,.session-state-indicator.is-running-inferred,.session-state-indicator.is-error{background:transparent;border:none;box-shadow:none;animation:none}.session-state-indicator:before{content:"";display:block;width:6px;height:6px;border-radius:999px;background:transparent;box-sizing:border-box}.session-state-indicator.is-idle:before{width:7px;height:7px;border:2px solid color-mix(in srgb,var(--text-secondary) 34%,var(--panel-border))}.session-state-indicator.is-unread:before{background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.session-state-indicator.is-subagent:before{width:7px;height:7px;background:#34c759;box-shadow:0 0 0 2px color-mix(in srgb,#34c759 18%,transparent)}.session-state-indicator.is-subagent-unread:before{width:7px;height:7px;background:#34c759;box-shadow:0 0 0 3px color-mix(in srgb,#34c759 20%,transparent)}.session-state-indicator.is-running:before{width:7px;height:7px;border:1.5px solid color-mix(in srgb,var(--accent) 22%,transparent);border-top-color:var(--accent);animation:session-running-spin .8s linear infinite}.session-state-indicator.is-subagent-running:before{width:7px;height:7px;border:1.5px solid color-mix(in srgb,#34c759 26%,transparent);border-top-color:#34c759;animation:session-running-spin .8s linear infinite}.session-state-indicator.is-running-inferred:before{width:7px;height:7px;border:1.5px solid color-mix(in srgb,var(--warning) 28%,transparent);border-top-color:var(--warning);animation:session-running-spin .8s linear infinite}.session-state-indicator.is-stale:before{width:7px;height:7px;border:1.5px solid color-mix(in srgb,var(--warning) 34%,transparent);border-top-color:color-mix(in srgb,var(--warning) 70%,#8a4b00);animation:session-running-spin 1.4s linear infinite}.session-state-indicator.is-unknown:before{width:7px;height:7px;border:1.5px dashed color-mix(in srgb,var(--text-muted) 44%,transparent);background:color-mix(in srgb,var(--surface-muted) 82%,transparent)}.session-state-indicator.is-error:before{width:7px;height:7px;background:#ff3b30;box-shadow:0 0 0 2px #ff3b3029}.session-activity-badge{display:inline-flex;align-items:center;min-height:15px;padding:0 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.02em;line-height:1.35}.session-activity-badge.is-stale{background:#ff9f0a1f;color:#a66a00}.session-activity-badge.is-unknown{background:#7878801f;color:#6f7076}.session-error-row{margin-top:2px}.session-error-text{display:block;color:#c9342d;font-size:10px;line-height:1.3;word-break:break-word}.session-provider-badge{min-height:15px;padding:0 6px;border:none;background:#ff9f0a1a;color:#b46800;font-size:9px;font-weight:700;letter-spacing:.04em}.session-provider-badge.codex{background:#ff69001a;color:#c65a12}.session-provider-badge.claude-code{background:#ffbe2e1f;color:#a26b12}.workbench-session-menu-trigger,.file-toolbar-button{width:24px;height:24px;border:none;background:transparent}.workbench-session-menu{border:1px solid var(--panel-border);background:var(--panel-bg-strong);box-shadow:var(--panel-shadow)}.workbench-session-menu-item{border-radius:8px;color:var(--text-secondary)}.workbench-session-menu-item:hover{color:var(--text-primary);background:color-mix(in srgb,var(--bg-hover) 86%,transparent)}.workbench-archive-folder{justify-content:flex-start;gap:6px;min-height:26px;padding:2px var(--workbench-sidebar-item-padding-end) 2px var(--workbench-sidebar-icon-inset);border-radius:10px;background:transparent;color:#3c3c43c7}.workbench-archive-folder-main{gap:6px;font-size:12px;font-weight:500}.workbench-archive-folder .workbench-section-counter{font-size:11px}.workbench-archive-folder:hover{background:#78788014}.workbench-session-list[data-workspace-tone=worktree] .workbench-session-empty{color:color-mix(in srgb,rgba(60,60,67,.78) 76%,var(--workspace-tone-color, var(--success)) 24%)}.workbench-archive-folder[data-workspace-tone=worktree]{background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 8%,transparent);color:color-mix(in srgb,rgba(60,60,67,.78) 80%,var(--workspace-tone-color, var(--success)) 20%)}.workbench-archive-folder[data-workspace-tone=worktree]:hover{background:color-mix(in srgb,var(--workspace-tone-color, var(--success)) 12%,rgba(120,120,128,.08));color:color-mix(in srgb,rgba(28,28,30,.92) 80%,var(--workspace-tone-color, var(--success)) 20%)}.workbench-archive-folder[data-workspace-tone=worktree] .workbench-section-counter{color:color-mix(in srgb,rgba(28,28,30,.92) 82%,var(--workspace-tone-color, var(--success)) 18%)}.workbench-nav-footer.minimal{padding:6px 0 10px;border-top:none;background:transparent}.workbench-nav-footer-actions{display:flex;align-items:center;gap:8px}.workbench-nav-footer-actions .workbench-nav-settings-button{flex:1 1 auto;width:auto}.workbench-nav-settings-button{justify-content:flex-start;min-height:32px;padding:0 var(--workbench-sidebar-item-padding-end) 0 var(--workbench-sidebar-icon-inset);border-radius:9px;border:none;background:transparent;color:#3c3c43db}.workbench-nav-settings-host-badge{display:inline-flex;align-items:center;min-width:0;max-width:min(148px,calc(100% - 68px));height:20px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-strong, var(--accent));font-size:11px;font-weight:600;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workbench-nav-settings-button:hover{background:#7878801a}.workbench-nav-update-badge{flex:0 0 auto;min-height:28px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 28%,rgba(120,120,128,.24));border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,rgba(255,255,255,.78));color:var(--accent);cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.workbench-nav-update-badge:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 42%,rgba(120,120,128,.28));background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.88))}.workbench-nav-update-badge-label{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;line-height:1;white-space:nowrap}.workbench-auxiliary-header{gap:6px;min-height:var(--workbench-header-min-height);padding:var(--workbench-header-padding-top) var(--workbench-header-padding-inline) var(--workbench-header-padding-bottom)}.workbench-info-tabs{gap:2px;padding:0;border-radius:0;background:transparent}.workbench-info-tab{min-height:26px;border-radius:7px;background:transparent;color:#3c3c43c2;font-size:11px;font-weight:600}.workbench-info-tab.active{background:#7878801a;color:#1c1c1eeb;box-shadow:none}.workbench-auxiliary-body{padding:12px}.file-panel-section,.git-card,.terminal-manager-card,.settings-card,.conversation-panel,.settings-release-notes,.theme-card,.terminal-manager-section{border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.workbench-auxiliary .file-tree{padding:4px 0;border:none;border-radius:0;background:transparent;box-shadow:none}.workbench-auxiliary .file-tree-item,.workbench-auxiliary .file-session-list-button{padding:0 var(--workbench-sidebar-item-padding-end) 0 var(--workbench-sidebar-icon-inset);border-radius:10px;transition:background var(--transition-fast),color var(--transition-fast)}.workbench-auxiliary .file-tree-item:hover,.workbench-auxiliary .file-session-list-button:hover{background:#ffffffd1}.workbench-auxiliary .file-tree-item[data-selected=true],.workbench-auxiliary .file-session-list-button[data-selected=true]{background:#ffffffe0}.workbench-auxiliary .file-tree-item[data-active=true],.workbench-auxiliary .file-session-list-button[data-active=true]{background:#fffffff0}.workbench-auxiliary .terminal-manager-panel{gap:12px}.workbench-auxiliary .terminal-manager-desktop-header{gap:12px;padding:2px 0 6px}.workbench-auxiliary .terminal-manager-panel-heading{gap:5px}.workbench-auxiliary .terminal-manager-panel-heading h2{font-size:17px;font-weight:650;letter-spacing:-.02em}.workbench-auxiliary .terminal-manager-panel-heading p{color:#3c3c43a8}.workbench-auxiliary .terminal-manager-overview{gap:8px}.workbench-auxiliary .terminal-manager-overview-card{gap:4px;padding:10px 12px;border:1px solid rgba(15,23,42,.06);border-radius:12px;background:transparent;box-shadow:none}.workbench-auxiliary .terminal-manager-overview-card span{color:#3c3c439e;font-size:11px}.workbench-auxiliary .terminal-manager-overview-card strong{font-size:24px;font-weight:650}.workbench-auxiliary .terminal-manager-toolbar{justify-content:flex-start;gap:8px}.workbench-auxiliary .terminal-manager-toolbar .ghost-button,.workbench-auxiliary .terminal-manager-actions .secondary-button,.workbench-auxiliary .terminal-manager-actions .primary-button{min-height:30px;padding:0 12px;border-radius:9px;border:none;box-shadow:none;font-size:12px;font-weight:600}.workbench-auxiliary .terminal-manager-toolbar .ghost-button,.workbench-auxiliary .terminal-manager-actions .secondary-button{background:#78788014;color:#1c1c1ee0}.workbench-auxiliary .terminal-manager-toolbar .ghost-button:hover:not(:disabled),.workbench-auxiliary .terminal-manager-actions .secondary-button:hover:not(:disabled){background:#78788024}.workbench-auxiliary .terminal-manager-actions .primary-button{background:#007aff1f;color:#007aff}.workbench-auxiliary .terminal-manager-actions .primary-button:hover:not(:disabled){background:#007aff29}.workbench-auxiliary .terminal-manager-section-header h3{font-size:13px;font-weight:650}.workbench-auxiliary .terminal-manager-section-header p{color:#3c3c439e}.workbench-auxiliary .terminal-manager-list{gap:12px}.workbench-auxiliary .terminal-manager-card{gap:10px;padding:0 0 12px;border-radius:0!important;background:transparent;box-shadow:none}.workbench-auxiliary .terminal-manager-card+.terminal-manager-card{border-top:1px solid rgba(15,23,42,.06)!important;padding-top:12px}.workbench-auxiliary .terminal-manager-card-header{align-items:flex-start}.workbench-auxiliary .terminal-manager-card-title strong{font-size:14px;font-weight:650}.workbench-auxiliary .terminal-manager-card-indicator{width:8px;height:8px;margin-top:5px;box-shadow:none}.workbench-auxiliary .terminal-manager-card-tools{gap:5px;flex-wrap:wrap}.workbench-auxiliary .terminal-runtime-badge,.workbench-auxiliary .terminal-manager-card .badge,.workbench-auxiliary .terminal-manager-stat-pill{min-height:20px;padding:0 7px;border:none;border-radius:999px;background:#7878801a;color:#3c3c43d1;font-size:10px;font-weight:600;box-shadow:none}.workbench-auxiliary .terminal-manager-status-panel{padding:10px 12px;border:1px solid rgba(15,23,42,.06);border-radius:12px;background:transparent}.workbench-auxiliary .terminal-manager-status-title{font-size:13px;font-weight:650}.workbench-auxiliary .terminal-manager-status-copy .status-text,.workbench-auxiliary .terminal-manager-status-copy p:last-child{color:#3c3c43a8}.workbench-auxiliary .terminal-manager-status-badges{gap:5px}.workbench-auxiliary .terminal-manager-detail-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:8px;background:#78788014;color:#3c3c43d1}.workbench-auxiliary .terminal-manager-detail-toggle:hover{background:#78788024;color:#1c1c1eeb}.workbench-auxiliary .terminal-manager-detail-toggle svg{width:12px;height:12px;transition:transform var(--transition-fast)}.workbench-auxiliary .terminal-manager-detail-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.workbench-auxiliary .terminal-manager-details{padding-top:0;border-top:none}.workbench-auxiliary .terminal-manager-detail-grid{gap:6px}.workbench-auxiliary .terminal-manager-detail-item{padding:9px 10px;border-radius:10px;border:1px solid rgba(15,23,42,.05);background:transparent}.workbench-auxiliary .terminal-manager-detail-item span{color:#3c3c4394;font-size:10px}.workbench-auxiliary .terminal-manager-detail-item strong{font-size:12px;font-weight:600;line-height:1.5}.file-panel-section+.file-panel-section,.git-card+.git-card{margin-top:18px;padding-top:18px;border-top:1px solid rgba(15,23,42,.05)!important}.conversation-header{min-height:var(--workbench-header-min-height);padding:var(--workbench-header-padding-top) var(--conversation-content-gutter) var(--workbench-header-padding-bottom)}.conversation-header h1{font-size:15px;font-weight:650}.message-list{padding:8px 0 18px}.message-item{padding:8px var(--conversation-content-gutter)}.conversation-inherited-context-banner{width:auto;margin:0 var(--conversation-content-gutter) 6px;padding:0}.conversation-inherited-context-copy p{font-size:12px}.assistant-message .message-content-wrapper,.system-message .message-content-wrapper{border:none;border-radius:0;background:transparent;box-shadow:none}.assistant-message .message-text,.system-message .message-text{background:transparent;box-shadow:none}.assistant-message .message-text,.user-message .message-text{color:var(--text-primary);font-weight:500}.markdown-content p,.markdown-content li,.markdown-content blockquote,.markdown-content td{font-weight:500}.queued-message-list{padding-left:var(--conversation-content-gutter);padding-right:var(--conversation-content-gutter)}.user-message .message-content-wrapper{padding:12px 14px 9px;border:none;background:#78788024}.composer-panel{padding:8px var(--conversation-content-gutter) 14px;border-top:1px solid rgba(15,23,42,.05);background:transparent}.composer-input-wrapper{border-radius:12px;background:#7878800f;padding:10px 12px}.composer-form{gap:8px}.composer-controls{margin-top:4px}.composer-slash-btn,.composer-attach-btn,.composer-select-wrapper,.secondary-button,.settings-button,.primary-button{border:none;box-shadow:none}.secondary-button,.settings-button{background:#78788014}.primary-button{background:#007aff1a;color:#007aff}.composer-slash-btn,.composer-attach-btn,.composer-select-wrapper,.composer-select{background:transparent}.composer-send{width:42px;height:42px;border-radius:14px;background:#007aff1a;color:#007aff}.composer-quick-phrase-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:12px;border:1px solid var(--conversation-chip-border);background:var(--conversation-chip-bg);box-shadow:var(--conversation-chip-shadow);color:var(--conversation-chip-muted-text);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.composer-quick-phrase-modal{width:min(680px,100%)}.composer-quick-phrase-create-modal{width:min(520px,100%)}.composer-quick-phrase-modal-body{display:flex;flex-direction:column;gap:10px}.composer-quick-phrase-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.composer-quick-phrase-toolbar-copy{display:flex;min-width:0;align-items:center;color:var(--text-secondary);font-size:12px;font-weight:600}.composer-quick-phrase-textarea{width:100%;min-height:96px;border:1px solid rgba(120,120,128,.18);border-radius:12px;padding:10px 12px;background:#78788014;color:var(--text-primary);font:inherit;line-height:1.5;resize:vertical}.composer-quick-phrase-list{display:flex;flex-direction:column;gap:8px}.composer-quick-phrase-empty{padding:12px 14px;border-radius:12px;border:1px dashed rgba(120,120,128,.22);color:var(--text-secondary);background:#7878800f;font-size:13px;line-height:1.5}.composer-quick-phrase-item{display:flex;align-items:stretch;gap:8px;padding:8px 10px;border-radius:12px;background:#78788014}.composer-quick-phrase-select{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.composer-quick-phrase-order{font-size:11px;font-weight:700;color:#007aff;line-height:1.2}.composer-quick-phrase-text{color:var(--text-secondary);font-size:13px;line-height:1.45;word-break:break-word}.composer-quick-phrase-actions{display:inline-flex;align-items:center;gap:4px}.composer-quick-phrase-action{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:#fffc;color:var(--text-secondary);font-size:13px;font-weight:700}.composer-quick-phrase-action.is-danger{color:#dc2626}.composer-quick-phrase-action:disabled{opacity:.35}.workbench-search-mode-switch{padding:0;background:transparent}.workbench-search-mode-button{border-radius:8px}.workbench-search-mode-button.active{background:#7878801f;box-shadow:none}.workbench-search-result-item,.workbench-search-empty{padding:10px 0;border-radius:0;background:transparent}.workbench-search-result-item+.workbench-search-result-item{border-top:1px solid rgba(15,23,42,.05)}.workbench-search-empty{color:#3c3c439e}@media(max-width:1080px){.workbench-main-shell{--conversation-content-gutter: clamp(32px, 6vw, 72px)}}@media(max-width:720px){.workbench-main-shell{--conversation-content-gutter: 18px}}[data-theme=dark] .workbench-shell{background:linear-gradient(180deg,#ffffff0f,#ffffff05),#1b1b1d}[data-theme=dark] .workbench-body-shell{border-color:#ffffff0f;background:#1c1c1ef0;box-shadow:0 16px 36px #0000003d}[data-theme=dark] .workbench-nav,[data-theme=dark] .workbench-main-shell,[data-theme=dark] .workbench-auxiliary{background:#1c1c1ec7}[data-theme=dark] .workbench-nav-toolbar-button,[data-theme=dark] .workbench-workspace-icon-button,[data-theme=dark] .workbench-workspace-create,[data-theme=dark] .workbench-nav-settings-button,[data-theme=dark] .workbench-info-tab{color:#ebebf5c7}[data-theme=dark] .workbench-section-heading-main,[data-theme=dark] .workbench-section-counter,[data-theme=dark] .workbench-archive-folder,[data-theme=dark] .workbench-archive-folder .workbench-section-counter,[data-theme=dark] .session-meta{color:#ebebf59e}[data-theme=dark] .workbench-session-card:hover,[data-theme=dark] .workbench-session-card[data-active=true],[data-theme=dark] .workbench-nav-segment-button.active,[data-theme=dark] .workbench-nav-segment-button[data-open=true],[data-theme=dark] .workbench-info-tab.active,[data-theme=dark] .workbench-nav-settings-button:hover,[data-theme=dark] .workbench-archive-folder:hover,[data-theme=dark] .composer-input-wrapper,[data-theme=dark] .secondary-button,[data-theme=dark] .settings-button{background:#7676802e}[data-theme=dark] .session-provider-badge.codex{background:#ff690029;color:#ffb184}[data-theme=dark] .workbench-auxiliary .file-tree-item:hover,[data-theme=dark] .workbench-auxiliary .file-session-list-button:hover{background:#ffffff17}[data-theme=sky-blue] .workbench-shell{box-shadow:inset 0 1px #ffffff0a,0 0 0 1px #00f0ff0f}[data-theme=sky-blue] .workbench-body-shell{border-color:#00f0ff1f;background:linear-gradient(180deg,#0a122bf0,#050a1cf5);box-shadow:0 20px 48px #01030e70,0 0 32px #00f0ff0f}[data-theme=sky-blue] .workbench-nav,[data-theme=sky-blue] .workbench-main-shell,[data-theme=sky-blue] .workbench-auxiliary{background:linear-gradient(180deg,#0e183af0,#060c1fe6)}[data-theme=sky-blue] .workbench-nav-toolbar-button,[data-theme=sky-blue] .workbench-workspace-icon-button,[data-theme=sky-blue] .workbench-workspace-create,[data-theme=sky-blue] .workbench-nav-settings-button,[data-theme=sky-blue] .workbench-info-tab{color:#eef5ffcc}[data-theme=sky-blue] .workbench-session-card:hover,[data-theme=sky-blue] .workbench-session-card[data-active=true],[data-theme=sky-blue] .workbench-nav-segment-button.active,[data-theme=sky-blue] .workbench-nav-segment-button[data-open=true],[data-theme=sky-blue] .workbench-info-tab.active,[data-theme=sky-blue] .workbench-nav-settings-button:hover,[data-theme=sky-blue] .workbench-archive-folder:hover,[data-theme=sky-blue] .composer-input-wrapper,[data-theme=sky-blue] .secondary-button,[data-theme=sky-blue] .settings-button{background:#00f0ff1a}[data-theme=sky-blue] .workbench-auxiliary .file-tree-item:hover,[data-theme=sky-blue] .workbench-auxiliary .file-session-list-button:hover{background:#00f0ff14}[data-theme=dark] .workbench-auxiliary .file-tree-item[data-active=true],[data-theme=dark] .workbench-auxiliary .file-session-list-button[data-active=true]{background:#ffffff24}[data-theme=dark] .workbench-auxiliary .terminal-manager-panel-heading p,[data-theme=dark] .workbench-auxiliary .terminal-manager-section-header p,[data-theme=dark] .workbench-auxiliary .terminal-manager-status-copy .status-text,[data-theme=dark] .workbench-auxiliary .terminal-manager-status-copy p:last-child{color:#ebebf59e}[data-theme=dark] .workbench-auxiliary .terminal-manager-overview-card span{color:#ffffffb8}[data-theme=dark] .workbench-auxiliary .terminal-manager-overview-card strong{color:#fffffff5}[data-theme=dark] .workbench-auxiliary .terminal-manager-overview-card,[data-theme=dark] .workbench-auxiliary .terminal-manager-status-panel,[data-theme=dark] .workbench-auxiliary .terminal-manager-detail-item{background:#ffffff12;box-shadow:none}[data-theme=dark] .workbench-auxiliary .terminal-manager-toolbar .ghost-button,[data-theme=dark] .workbench-auxiliary .terminal-manager-actions .secondary-button,[data-theme=dark] .workbench-auxiliary .terminal-runtime-badge,[data-theme=dark] .workbench-auxiliary .terminal-manager-card .badge,[data-theme=dark] .workbench-auxiliary .terminal-manager-stat-pill,[data-theme=dark] .workbench-auxiliary .terminal-manager-detail-toggle{background:#ffffff1a;color:#ebebf5d6}[data-theme=dark] .workbench-auxiliary .terminal-manager-actions .primary-button{background:#0a84ff2e;color:#6cb6ff}[data-theme=dark] .workbench-auxiliary .terminal-manager-card+.terminal-manager-card{border-top-color:#ffffff14!important}[data-theme=dark] .session-provider-badge.claude-code{background:#ffbe2e29;color:#ffd88e}.workbench-shell .terminal-layout{padding:0;border-radius:0;background:transparent;border:none;box-shadow:none;overflow:hidden}.workbench-shell .workbench-main-shell>.workbench-page,.workbench-shell .workbench-main-shell>.conversation-page-shell,.workbench-shell .workbench-main-shell>.terminal-layout{border:none;border-radius:0;background:transparent;box-shadow:none}.workbench-shell .conversation-page-shell{position:relative;gap:0;border:none;border-radius:0;background:transparent;box-shadow:none}.workbench-shell .conversation-page-shell:before{display:none}.workbench-shell .conversation-header{border-radius:0;box-shadow:none}.workbench-shell .terminal-shell{background:transparent}.workbench-shell .terminal-tabbar{position:relative;z-index:30;box-sizing:border-box;height:var(--workbench-header-min-height);min-height:var(--workbench-header-min-height);padding:var(--workbench-header-padding-top) calc(10px + var(--workbench-collapsed-right-content-inset)) var(--workbench-header-padding-bottom);padding-left:calc(10px + var(--workbench-collapsed-left-content-inset));border-bottom:1px solid var(--panel-separator);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-bg-strong) 90%,var(--panel-bg) 10%),color-mix(in srgb,var(--panel-bg) 94%,transparent));box-shadow:none;-webkit-backdrop-filter:blur(20px) saturate(145%);backdrop-filter:blur(20px) saturate(145%);border-radius:0;transition:padding-left .22s cubic-bezier(.2,.9,.2,1),padding-right .22s cubic-bezier(.2,.9,.2,1)}.workbench-shell .terminal-tabbar [data-window-drag=ignore]{-webkit-app-region:no-drag;app-region:no-drag}.workbench-shell .terminal-tabbar-main{gap:8px}.workbench-shell .terminal-tabbar-scroll{gap:6px;padding:0}.workbench-shell .terminal-tab-shell{max-width:220px;padding:2px;border:1px solid transparent;border-radius:14px;background:transparent;box-shadow:none;overflow:visible}.workbench-shell .terminal-tab-shell[data-active=true]{border-color:var(--panel-border-strong);background:color-mix(in srgb,var(--panel-bg-strong) 84%,var(--panel-active) 16%);box-shadow:inset 0 1px color-mix(in srgb,var(--panel-border-strong) 42%,transparent),0 10px 24px color-mix(in srgb,#000 12%,transparent)}.workbench-shell .terminal-tab-shell[data-assigned=true]:not([data-active=true]){border-color:var(--panel-border);background:color-mix(in srgb,var(--panel-bg) 84%,var(--panel-hover) 16%)}.workbench-shell .terminal-tab{max-width:186px;min-height:28px;padding:0 8px 0 10px;border-radius:11px;color:var(--text-secondary)}.workbench-shell .terminal-tab:hover{background:var(--panel-hover)}.workbench-shell .terminal-tab[data-active=true]{color:var(--text-primary)}.workbench-shell .terminal-tab-name{font-size:13px}.workbench-shell .terminal-tab-runtime{min-height:18px;padding:0 6px;border:1px solid var(--panel-border);background:color-mix(in srgb,var(--panel-bg-strong) 84%,var(--panel-hover) 16%)}.workbench-shell .terminal-tab-operation{min-height:18px;padding:0 6px;border-radius:999px;background:#0a84ff1f;color:#0a84ff;font-size:10px;font-weight:700;letter-spacing:.03em}.workbench-shell .terminal-tab-operation[data-operation=deleting]{background:#ff9f0a24;color:#c26b00}.workbench-shell .terminal-tab-control,.workbench-shell .terminal-toolbar-toggle{min-width:28px;height:28px;padding:0 6px;border:1px solid var(--panel-border);border-radius:9px;background:color-mix(in srgb,var(--panel-bg-strong) 90%,var(--panel-bg) 10%);color:var(--text-secondary);box-shadow:inset 0 1px color-mix(in srgb,var(--panel-border-strong) 32%,transparent)}.workbench-shell .terminal-tab-control:hover,.workbench-shell .terminal-toolbar-toggle:hover,.workbench-shell .terminal-tab-inline-action:hover{background:var(--panel-hover);border-color:var(--panel-border-strong);color:var(--text-primary)}.workbench-shell .terminal-toolbar-toggle[data-open=true]{background:color-mix(in srgb,var(--panel-bg-strong) 70%,var(--panel-active) 30%);border-color:var(--panel-border-strong);color:var(--text-primary);box-shadow:inset 0 1px color-mix(in srgb,var(--panel-border-strong) 42%,transparent),0 10px 24px color-mix(in srgb,#000 14%,transparent)}.workbench-shell .terminal-toolbar-toggle-tool{width:26px;min-width:26px;height:26px;padding:0;border-color:var(--panel-border);border-radius:8px;background:color-mix(in srgb,var(--panel-bg-strong) 90%,var(--panel-bg) 10%);color:var(--text-secondary);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.workbench-shell .terminal-toolbar-toggle-tool:hover{background:var(--panel-hover);border-color:var(--panel-border-strong);color:var(--text-primary);box-shadow:none;transform:none}.workbench-shell .terminal-toolbar-toggle-tool:active{background:color-mix(in srgb,var(--panel-bg-strong) 60%,var(--panel-active) 40%)}.workbench-shell .terminal-toolbar-toggle-tool[data-open=true]{background:color-mix(in srgb,var(--panel-bg-strong) 60%,var(--panel-active) 40%);border-color:var(--panel-border-strong);color:var(--text-primary);box-shadow:none}.workbench-shell .terminal-toolbar-icon-tool{width:15px;height:15px}.workbench-shell .terminal-toolbar-icon-tool svg{width:15px;height:15px;fill:none}.workbench-shell .terminal-tab-inline-action{width:24px;height:24px;border-radius:8px;border:1px solid transparent;background:transparent;opacity:.56}.workbench-shell .terminal-tab-shell:hover .terminal-tab-inline-action,.workbench-shell .terminal-tab-inline-action[data-open=true]{opacity:1;border-color:var(--panel-border);background:var(--panel-hover);color:var(--text-primary)}.workbench-shell .terminal-toolbar-inline{top:calc(100% + 8px);right:0;z-index:120;max-width:min(780px,calc(100vw - 320px));padding:4px;border:1px solid var(--panel-border-strong);border-radius:14px;background:color-mix(in srgb,var(--panel-bg-strong) 96%,var(--panel-bg) 4%);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(28px) saturate(165%);backdrop-filter:blur(28px) saturate(165%);transform:translate3d(0,-4px,0) scale(.98)}.workbench-shell .terminal-toolbar-inline[data-open=true]{transform:translateZ(0) scale(1)}.workbench-shell .terminal-toolbar-cluster{gap:6px}.workbench-shell .terminal-layout-button,.workbench-shell .terminal-toolbar-menu-action,.workbench-shell .terminal-toolbar-save{border:1px solid var(--panel-border);background:color-mix(in srgb,var(--panel-bg-strong) 92%,var(--panel-bg) 8%)}.workbench-shell .terminal-toolbar-section{min-height:30px;padding:3px 5px 3px 8px;border:1px solid var(--panel-border);border-radius:11px;background:color-mix(in srgb,var(--panel-bg-strong) 88%,var(--panel-bg) 12%);box-shadow:inset 0 1px color-mix(in srgb,var(--panel-border-strong) 28%,transparent)}.workbench-shell .terminal-runtime-select{height:28px;border:1px solid var(--panel-border);border-radius:9px;background:color-mix(in srgb,var(--panel-bg-strong) 88%,var(--panel-bg) 12%)}.workbench-shell .terminal-zoom-group,.workbench-shell .terminal-layout-switcher{padding:2px;border:1px solid var(--panel-border);border-radius:11px;background:color-mix(in srgb,var(--panel-bg-strong) 92%,var(--panel-bg) 8%)}.workbench-shell .terminal-zoom-button,.workbench-shell .terminal-zoom-value,.workbench-shell .terminal-layout-button,.workbench-shell .terminal-toolbar-save{border-radius:9px}.workbench-shell .terminal-layout-button[data-active=true]{border-color:color-mix(in srgb,var(--accent) 24%,var(--panel-border));background:color-mix(in srgb,var(--panel-active) 72%,var(--panel-bg-strong))}.workbench-shell .terminal-layout-button:hover,.workbench-shell .terminal-toolbar-menu-action:hover,.workbench-shell .terminal-toolbar-save:hover:not(:disabled){background:var(--panel-hover);border-color:var(--panel-border-strong)}.workbench-shell .terminal-stage-surface{padding:0;background:var(--terminal-theme-background)}.workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-xterm{padding:0}.workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-xterm .xterm{box-sizing:border-box;width:100%;height:100%;padding:5px 5px max(var(--terminal-bottom-gap),env(safe-area-inset-bottom,0px))}.workbench-shell{--workbench-header-min-height: 44px;--workbench-header-padding-top: 7px;--workbench-header-padding-bottom: 7px;--workbench-header-padding-inline: 14px;--workbench-toolbar-control-size: 30px;--workbench-toolbar-control-gap: 8px;--workbench-titlebar-leading-inset: 0px;--workbench-titlebar-content-shift-y: 0px;--workbench-titlebar-live-content-shift-y: var(--workbench-titlebar-content-shift-y);--workbench-nav-toolbar-shift-y: 0px;--workbench-nav-toolbar-live-shift-y: var(--workbench-nav-toolbar-shift-y);--workbench-info-tabs-live-shift-y: var(--workbench-titlebar-live-content-shift-y);--workbench-auxiliary-toolbar-button-live-shift-y: var(--workbench-titlebar-live-content-shift-y);--workbench-conversation-header-main-live-shift-y: var(--workbench-titlebar-live-content-shift-y);--workbench-conversation-header-actions-live-shift-y: var(--workbench-titlebar-live-content-shift-y);--workbench-terminal-tabbar-live-shift-y: var(--workbench-titlebar-live-content-shift-y);--workbench-collapsed-controls-shift-y: 0px;--workbench-collapsed-controls-live-shift-y: var(--workbench-collapsed-controls-shift-y);--workbench-collapsed-left-controls-live-shift-y: var(--workbench-collapsed-controls-live-shift-y);--workbench-collapsed-right-controls-live-shift-y: var(--workbench-collapsed-controls-live-shift-y);--workbench-macos-traffic-light-safe-zone: 0px;--workbench-collapsed-left-controls-width: 0px;--workbench-collapsed-right-controls-width: 0px;--workbench-collapsed-left-content-inset: 0px;--workbench-collapsed-right-content-inset: 0px;--workbench-macos-titlebar-layout-center-y: calc( var(--workbench-header-padding-top) + var(--workbench-header-min-height) / 2 )}.workbench-shell[data-left-collapsed=true]{--workbench-collapsed-left-controls-width: calc( 5 * var(--workbench-toolbar-control-size) + 4 * var(--workbench-toolbar-control-gap) );--workbench-collapsed-left-content-inset: calc( var(--workbench-titlebar-leading-inset) + var(--workbench-collapsed-left-controls-width) + var(--workbench-header-padding-inline) )}.workbench-shell[data-right-collapsed=true]{--workbench-collapsed-right-controls-width: var(--workbench-toolbar-control-size);--workbench-collapsed-right-content-inset: calc( var(--workbench-collapsed-right-controls-width) + var(--workbench-header-padding-inline) )}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true]{--workbench-header-min-height: 40px;--workbench-header-padding-top: 4px;--workbench-header-padding-bottom: 5px;--workbench-macos-traffic-light-safe-zone: var(--desktop-macos-traffic-light-safe-zone-width, 86px);--workbench-titlebar-leading-inset: var(--desktop-macos-traffic-light-leading-inset, 78px);--workbench-titlebar-content-shift-y: calc( var(--desktop-macos-traffic-light-center-y, 14px) - var(--workbench-macos-titlebar-layout-center-y) );--workbench-nav-toolbar-shift-y: var(--workbench-titlebar-content-shift-y);--workbench-collapsed-controls-shift-y: var(--workbench-titlebar-content-shift-y);--workbench-macos-titlebar-control-size: 26px;--workbench-macos-titlebar-padding-top: 4px;--workbench-macos-titlebar-padding-bottom: 5px;--sidebar-surface: transparent;--inspector-surface: transparent;--content-surface: rgba(252, 252, 252, .98);--panel-bg: rgba(255, 255, 255, .68);--panel-bg-strong: rgba(255, 255, 255, .9);--panel-border: rgba(15, 23, 42, .08);--panel-border-strong: rgba(15, 23, 42, .12);--panel-separator: rgba(15, 23, 42, .08);background:transparent}[data-theme=dark] .workbench-shell[data-os-family=macos][data-overlay-titlebar=true]{--sidebar-surface: transparent;--inspector-surface: transparent;--content-surface: rgba(24, 26, 31, .98);--panel-bg: rgba(43, 50, 58, .48);--panel-bg-strong: rgba(49, 57, 66, .64);--panel-border: rgba(255, 255, 255, .08);--panel-border-strong: rgba(255, 255, 255, .12);--panel-separator: rgba(255, 255, 255, .1)}[data-theme=sky-blue] .workbench-shell[data-os-family=macos][data-overlay-titlebar=true]{--sidebar-surface: transparent;--inspector-surface: transparent;--content-surface: rgba(7, 14, 34, .96);--panel-bg: rgba(12, 24, 56, .62);--panel-bg-strong: rgba(12, 24, 56, .84);--panel-border: rgba(140, 210, 255, .16);--panel-border-strong: rgba(170, 226, 255, .26);--panel-separator: rgba(140, 210, 255, .18)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true]{background:transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-body-shell{border-color:transparent;background:transparent;box-shadow:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary{background:transparent;border:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell{backdrop-filter:none;-webkit-backdrop-filter:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-desktop-titlebar,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-tabbar{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-import-card.minimal,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-section-block,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-archive-folder,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-manager-section,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-manager-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .settings-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .conversation-header,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .composer-input-wrapper{background:color-mix(in srgb,var(--panel-bg-strong) 88%,transparent);border-color:color-mix(in srgb,var(--panel-border-strong) 82%,transparent)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav{background:transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell{background:color-mix(in srgb,var(--content-surface) 98%,white 2%)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary{background:transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-side-resizer{width:1px;flex:0 0 1px;position:relative;background:transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-side-resizer:after,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-side-resizer:before{display:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.workbench-page,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.conversation-page-shell,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.terminal-layout,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .conversation-page-shell,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-shell{background:color-mix(in srgb,var(--content-surface) 98%,white 2%)}.workbench-nav{width:var(--workbench-left-current-width, var(--workbench-left-width, 290px));flex:0 0 var(--workbench-left-current-width, var(--workbench-left-width, 290px));min-width:0;overflow:hidden;transition:width .22s cubic-bezier(.2,.9,.2,1),flex-basis .22s cubic-bezier(.2,.9,.2,1)}.workbench-auxiliary{width:var(--workbench-right-current-width, var(--workbench-right-width, 300px));flex:0 0 var(--workbench-right-current-width, var(--workbench-right-width, 300px));min-width:0;overflow:hidden;transition:width var(--workbench-right-sidebar-duration, .22s) cubic-bezier(.2,.9,.2,1),flex-basis var(--workbench-right-sidebar-duration, .22s) cubic-bezier(.2,.9,.2,1)}.workbench-nav>*{min-width:0;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.9,.2,1)}.workbench-auxiliary>*{min-width:0;transition:opacity var(--workbench-right-sidebar-content-duration, .16s) ease,transform var(--workbench-right-sidebar-content-duration, .22s) cubic-bezier(.2,.9,.2,1)}.workbench-nav[data-collapsed=true]>*{opacity:0;transform:translate(-14px);pointer-events:none}.workbench-auxiliary[data-collapsed=true]>*{opacity:0;transform:translate(14px);pointer-events:none}.workbench-side-resizer{transition:width .22s cubic-bezier(.2,.9,.2,1),flex-basis .22s cubic-bezier(.2,.9,.2,1),opacity .18s ease}.workbench-side-resizer[data-side=right]{transition:width var(--workbench-right-sidebar-duration, .22s) cubic-bezier(.2,.9,.2,1),flex-basis var(--workbench-right-sidebar-duration, .22s) cubic-bezier(.2,.9,.2,1),opacity var(--workbench-right-sidebar-content-duration, .18s) ease}.workbench-side-resizer[data-collapsed=true]{width:0;flex:0 0 0;opacity:0;pointer-events:none}.workbench-collapsed-rail{position:absolute;top:0;right:0;left:0;z-index:36;display:flex;align-items:center;justify-content:space-between;min-height:var(--workbench-header-min-height);padding:var(--workbench-header-padding-top) var(--workbench-header-padding-inline) var(--workbench-header-padding-bottom);box-sizing:border-box;pointer-events:none}.workbench-collapsed-controls{display:inline-flex;align-items:center;gap:var(--workbench-toolbar-control-gap);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.9,.2,1),visibility .18s ease}.workbench-collapsed-controls.left{margin-left:var(--workbench-titlebar-leading-inset);transform:translate3d(-6px,var(--workbench-collapsed-left-controls-live-shift-y),0)}.workbench-collapsed-controls.right{transform:translate3d(8px,var(--workbench-collapsed-right-controls-live-shift-y),0)}.workbench-collapsed-controls[data-visible=true]{pointer-events:auto;opacity:1;visibility:visible;transform:translate3d(0,var(--workbench-collapsed-controls-live-shift-y),0)}.workbench-collapsed-controls.left[data-visible=true]{transform:translate3d(0,var(--workbench-collapsed-left-controls-live-shift-y),0)}.workbench-collapsed-controls.right[data-visible=true]{transform:translate3d(0,var(--workbench-collapsed-right-controls-live-shift-y),0)}.workbench-main-drag-strip{position:absolute;top:0;right:0;left:0;height:24px;z-index:20}.conversation-header-main{padding-left:var(--workbench-collapsed-left-content-inset);padding-right:var(--workbench-collapsed-right-content-inset);transition:padding-left .22s cubic-bezier(.2,.9,.2,1),padding-right .22s cubic-bezier(.2,.9,.2,1)}[data-theme=sky-blue] .workbench-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;border-radius:0;filter:none;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 14px,rgba(0,240,255,.04) 14px 15px),linear-gradient(180deg,rgba(255,255,255,.04),transparent 16%);opacity:.72;mix-blend-mode:normal}[data-theme=sky-blue] .workbench-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;border-radius:0;filter:none;pointer-events:none;background:radial-gradient(circle at 12% 14%,rgba(0,240,255,.24) 0 1.5px,transparent 2.4px),radial-gradient(circle at 84% 22%,rgba(255,60,247,.18) 0 1.3px,transparent 2.2px),radial-gradient(circle at 66% 78%,rgba(255,191,60,.16) 0 1.1px,transparent 2px);opacity:.6;mix-blend-mode:normal}[data-theme=sky-blue] .workbench-titlebar-pill,[data-theme=sky-blue] .workbench-desktop-segment,[data-theme=sky-blue] .workbench-toolbar-button{border-color:#00f0ff2e;color:#eef5ffdb;background:linear-gradient(135deg,#00f0ff14,#ff3cf70f),#060c1fa3;box-shadow:inset 0 1px #ffffff0a,0 0 20px #00f0ff0f}[data-theme=sky-blue] .workbench-toolbar-button:hover,[data-theme=sky-blue] .workbench-toolbar-button[aria-pressed=true]{color:#f7fbff;border-color:#00f0ff42;background:linear-gradient(135deg,#00f0ff24,#ff3cf714),#080f24c7;box-shadow:0 0 24px #00f0ff29,0 0 40px #ff3cf70f}[data-theme=sky-blue] .workbench-nav,[data-theme=sky-blue] .workbench-main-shell,[data-theme=sky-blue] .workbench-auxiliary{position:relative;isolation:isolate}[data-theme=sky-blue] .workbench-nav:before,[data-theme=sky-blue] .workbench-main-shell:before,[data-theme=sky-blue] .workbench-auxiliary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 18%),repeating-linear-gradient(180deg,transparent 0 18px,rgba(0,240,255,.04) 18px 19px),repeating-linear-gradient(90deg,transparent 0 28px,rgba(255,60,247,.03) 28px 29px);opacity:.58;mix-blend-mode:normal}[data-theme=sky-blue] .workbench-nav>*,[data-theme=sky-blue] .workbench-main-shell>*,[data-theme=sky-blue] .workbench-auxiliary>*{position:relative;z-index:1}[data-theme=sky-blue] .workbench-nav-header h1,[data-theme=sky-blue] .workbench-section-heading-main,[data-theme=sky-blue] .settings-title,[data-theme=sky-blue] .settings-row-title{color:#f7fbff;text-shadow:0 0 18px rgba(0,240,255,.08)}[data-theme=sky-blue] .workbench-nav-header p,[data-theme=sky-blue] .settings-row-description,[data-theme=sky-blue] .workbench-nav-stats,[data-theme=sky-blue] .workbench-nav-stats span{color:#ced8ffd1}[data-theme=sky-blue] .workbench-nav-segment-button{border:1px solid transparent;color:#e2f0ffe0;text-shadow:0 0 12px rgba(0,240,255,.08)}[data-theme=sky-blue] .workbench-nav-segment-button.active,[data-theme=sky-blue] .workbench-nav-segment-button[data-open=true]{background:linear-gradient(135deg,#00f0ff2e,#ff3cf724),#09122bb8;border-color:#00f0ff3d;box-shadow:inset 0 1px #ffffff0a,0 0 28px #00f0ff2e,0 0 48px #ff3cf714;color:#fff}[data-theme=sky-blue] .workbench-nav-segment-button:hover{background:linear-gradient(135deg,#00f0ff1a,#ff3cf714),#09122b8f;border-color:#00f0ff29;color:#f8fbff}[data-theme=sky-blue] .workbench-section-block,[data-theme=sky-blue] .workbench-workspace-group,[data-theme=sky-blue] .workbench-archive-folder,[data-theme=sky-blue] .conversation-header,[data-theme=sky-blue] .composer-input-wrapper,[data-theme=sky-blue] .workbench-search-result-item,[data-theme=sky-blue] .workbench-search-empty,[data-theme=sky-blue] .workbench-search-mode-switch,[data-theme=sky-blue] .settings-card,[data-theme=sky-blue] .theme-card,[data-theme=sky-blue] .settings-release-notes{border:1px solid rgba(0,240,255,.16);box-shadow:inset 0 1px #ffffff0a,0 14px 32px #01041257}[data-theme=sky-blue] .workbench-workspace-group{background:linear-gradient(180deg,#0c1636f0,#070c1fe0),#060c1fd1;border-color:#00f0ff2e}[data-theme=sky-blue] .workbench-session-card,[data-theme=sky-blue] .workbench-session-card[data-depth="1"]{border:1px solid rgba(0,240,255,.04);background:linear-gradient(180deg,#0a122b57,#0a122b24)}[data-theme=sky-blue] .workbench-session-card[data-depth="2"],[data-theme=sky-blue] .workbench-session-card[data-depth="3"]{border:1px solid rgba(0,240,255,.04);background:linear-gradient(180deg,#0a122b47,#0a122b1f)}[data-theme=sky-blue] .workbench-session-card:hover,[data-theme=sky-blue] .workbench-session-card[data-active=true]{border-color:#00f0ff33}[data-theme=sky-blue] .workbench-session-link{border-radius:11px}[data-theme=sky-blue] .session-title{color:#f8fbff;font-weight:600}[data-theme=sky-blue] .session-meta{color:#ced8ffbd}[data-theme=sky-blue] .workbench-nav-settings-button:hover,[data-theme=sky-blue] .workbench-workspace-icon-button:hover,[data-theme=sky-blue] .workbench-workspace-create:hover,[data-theme=sky-blue] .workbench-nav-toolbar-button:hover,[data-theme=sky-blue] .workbench-shell .terminal-tab-control:hover,[data-theme=sky-blue] .workbench-shell .terminal-toolbar-toggle:hover,[data-theme=sky-blue] .workbench-shell .terminal-toolbar-toggle-tool:hover,[data-theme=sky-blue] .workbench-shell .terminal-toolbar-toggle[data-open=true],[data-theme=sky-blue] .workbench-shell .terminal-toolbar-toggle-tool[data-open=true]{border-color:#00f0ff2e;box-shadow:0 0 18px #00f0ff24,0 0 32px #ff3cf70d}.desktop-window-page{display:flex;flex-direction:column;min-height:100vh;overflow:hidden;position:relative}.desktop-window-drag-header{display:flex;align-items:center;min-height:38px;padding:8px 12px;border-bottom:1px solid var(--surface-border, rgba(255, 255, 255, .16));background:var(--surface-elevated, rgba(10, 18, 40, .88));-webkit-user-select:none;user-select:none;position:relative;z-index:40;flex:0 0 auto;pointer-events:auto;-webkit-app-region:drag;app-region:drag}.desktop-window-drag-header strong{font-size:.86rem;font-weight:600;color:var(--text-primary, rgba(244, 248, 255, .92));pointer-events:none}.desktop-window-drag-header button,.desktop-window-drag-header [data-window-drag=ignore]{-webkit-app-region:no-drag;app-region:no-drag}.desktop-window-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;overflow:auto;position:relative;z-index:1}.desktop-detach-preview-page{display:flex;width:100%;height:100vh;padding:0;align-items:stretch;justify-content:stretch;background:transparent}.desktop-detach-preview-card{display:flex;flex:1;flex-direction:column;overflow:hidden;border-radius:16px;border:1px solid rgba(15,23,42,.12);background:#fffffff5;box-shadow:0 20px 40px #0f172a33,0 8px 18px #0f172a24}.desktop-detach-preview-bar{display:flex;align-items:center;min-height:34px;padding:0 12px;border-bottom:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#f8fafcfa,#f1f5f9eb)}.desktop-detach-preview-title{font-size:12px;font-weight:700;color:#0f172acc}.desktop-detach-preview-body{position:relative;display:flex;flex:1;min-height:0;align-items:center;justify-content:center;background:radial-gradient(circle at 28% 22%,rgba(59,130,246,.18),transparent 38%),linear-gradient(180deg,#f8fafcfa,#e2e8f0d1)}.desktop-detach-preview-badge{width:72px;height:44px;border-radius:12px;border:1px solid rgba(59,130,246,.12);background:linear-gradient(180deg,#fffffff5,#f1f5f9eb);box-shadow:0 10px 20px #0f172a14,inset 0 0 0 1px #ffffff8c}.desktop-window-detach-animation{position:fixed;width:220px;height:138px;border-radius:16px;border:1px solid rgba(128,170,255,.24);background:#0e162ce6;box-shadow:0 24px 40px #03081a8f,0 8px 20px #03081a6b;pointer-events:none;z-index:9999;opacity:.92;transform:translate(-34%,-32%) scale(var(--detach-preview-scale, .78));transition:left 24ms linear,top 24ms linear,transform .14s cubic-bezier(.24,.78,.26,1),opacity .14s ease-out}.desktop-window-detach-animation[data-state=preview]{opacity:.94}.desktop-window-detach-animation[data-state=complete]{animation:desktop-window-detach-finish .18s cubic-bezier(.2,.85,.25,1) forwards}.desktop-window-detach-animation-bar{display:flex;align-items:center;min-height:34px;padding:0 10px;border-bottom:1px solid rgba(128,170,255,.22);background:#18223eeb}.desktop-window-detach-animation-title{font-size:12px;font-weight:600;color:#e5eeffe6}.desktop-window-detach-animation-body{height:calc(100% - 34px);background:linear-gradient(155deg,#22325ec2,#141e38d6)}@keyframes desktop-window-detach-finish{0%{opacity:.94;transform:translate(-34%,-32%) scale(var(--detach-preview-scale, 1))}to{opacity:0;transform:translate(-44%,-40%) scale(1.12)}}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true]{--sidebar-surface: transparent;--inspector-surface: transparent;--panel-bg: rgba(255, 255, 255, .24);--panel-bg-strong: rgba(255, 255, 255, .42);--panel-border: rgba(15, 23, 42, .035);--panel-border-strong: rgba(15, 23, 42, .052);--panel-separator: rgba(15, 23, 42, .04);padding:0;background:transparent;font-family:SF Pro Text,SF Pro SC,PingFang SC,Helvetica Neue,-apple-system,BlinkMacSystemFont,sans-serif;text-rendering:optimizeLegibility;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;font-family:var(--font-sans);font-weight:400;letter-spacing:-.011em}.workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true]{background:transparent!important;background-image:none!important}.workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true]:before,.workbench-shell[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true]:after{content:none!important;background:none!important;background-image:none!important}[data-theme=dark] .workbench-shell[data-os-family=macos][data-overlay-titlebar=true]{--sidebar-surface: transparent;--inspector-surface: transparent;--panel-bg: rgba(43, 50, 58, .34);--panel-bg-strong: rgba(49, 57, 66, .5)}[data-theme=sky-blue] .workbench-shell[data-os-family=macos][data-overlay-titlebar=true]{--sidebar-surface: transparent;--inspector-surface: transparent;--panel-bg: rgba(12, 24, 56, .4);--panel-bg-strong: rgba(12, 24, 56, .62)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:none!important;outline:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary{background:transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-body-shell{border:none;border-radius:0;background:transparent;box-shadow:none;outline:none;overflow:hidden}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-header,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-body,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-footer.minimal,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary-header,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary-body,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-info-tabs{background:transparent;border-color:transparent!important;box-shadow:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-section-block,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-workspace-group,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-archive-folder,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-panel-section,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-manager-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-manager-section,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-manager-overview-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-manager-status-panel,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-manager-detail-item,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .settings-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .theme-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .settings-release-notes,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-search-mode-switch,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-search-result-item,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-search-empty{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-workspace-group[data-dragging=true]{background:color-mix(in srgb,var(--panel-separator) 16%,transparent)!important;border-color:transparent!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-info-tab{background:transparent;border:none;border-bottom:1px solid transparent;border-radius:0;color:color-mix(in srgb,var(--text-secondary) 92%,transparent)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-info-tab.active{background:transparent;border-bottom-color:color-mix(in srgb,var(--accent) 54%,transparent);color:var(--text-primary)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-panel-tab,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-toolbar-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-primary-actions .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-primary-actions .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-tree-file-icon,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-status-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-session-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-panel-tab-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .session-provider-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .session-runtime-origin-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-runtime-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-card .badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-stat-pill,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-status-panel,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-detail-item,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-toolbar .ghost-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-actions .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-actions .primary-button{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-panel-tab.active,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-panel-tab[aria-pressed=true],.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-toolbar-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-toolbar-button[data-active=true],.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-primary-actions .primary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-primary-actions .secondary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-tree-trigger:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-tree-file-button:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-toolbar .ghost-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-actions .secondary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-actions .primary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-detail-toggle:hover{background:#3c3c431f!important;border-color:transparent!important;box-shadow:none!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .butler-sandbox-file-context-panel .file-panel-tab,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .butler-sandbox-file-context-panel .file-panel-tab:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .butler-sandbox-file-context-panel .file-panel-tab.active{background:transparent!important;border-radius:0!important;box-shadow:none!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .butler-sandbox-file-context-panel .file-panel-tab.active{border-bottom-color:color-mix(in srgb,var(--accent) 54%,transparent)!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-panel-tab-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .file-session-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-status-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .session-provider-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .session-runtime-origin-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-tree-file-icon,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-runtime-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-card .badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-stat-pill{padding-inline:0;min-width:auto}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-segment-button.active,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-segment-button[data-open=true],.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-session-card:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-session-card[data-active=true],.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-archive-folder:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-workspace-icon-button:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-workspace-create:hover{background:color-mix(in srgb,var(--panel-separator) 22%,transparent);border-color:transparent;box-shadow:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-tree-item:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-session-list-button:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-tree-trigger:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-tree-file-button:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-menu-item:hover:not(:disabled){background:#3c3c431f;border-color:transparent;box-shadow:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-tree-item[data-selected=true],.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-session-list-button[data-selected=true],.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-tree-item[data-active=true],.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-session-list-button[data-active=true],.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-tree-file-button[data-active=true],.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .git-tree-row[data-active=true]{background:#3c3c432e;border-color:transparent;box-shadow:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.workbench-page,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.conversation-page-shell,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.terminal-layout,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .conversation-page-shell,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-shell{border:none;box-shadow:none;outline:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-side-resizer{width:6px;flex:0 0 6px;margin-left:-3px;margin-right:-3px;position:relative;z-index:8;background:transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-side-resizer:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:color-mix(in srgb,var(--panel-border-strong) 42%,transparent);opacity:0;transform:translate(-50%);transition:opacity .14s ease}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-side-resizer:active:after,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-side-resizer:hover:after{opacity:.3}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-body,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary-body,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary[data-custom-panel=true] .butler-side-content,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary-custom-panel .butler-side-content,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell>.debug-readiness-page-shell,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .message-timeline,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-tree{scrollbar-width:thin;scrollbar-color:transparent transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary[data-custom-panel=true] .butler-side-content,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary-custom-panel .butler-side-content{overflow-x:hidden}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] [data-scrollbar-autohide=true]::-webkit-scrollbar{width:14px;height:14px}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] [data-scrollbar-autohide=true][data-scrolling=true]{scrollbar-color:color-mix(in srgb,var(--text-primary) 60%,transparent) transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] [data-scrollbar-autohide=true]::-webkit-scrollbar-track{background:transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] [data-scrollbar-autohide=true]::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid transparent;background-clip:padding-box;background:transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] [data-scrollbar-autohide=true][data-scrolling=true]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-primary) 60%,transparent)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] [data-scrollbar-autohide=true][data-scrolling=true]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-primary) 74%,transparent)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-desktop-titlebar,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-tabbar,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .conversation-header,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .composer-panel{border:none!important;border-color:transparent!important;box-shadow:none!important;outline:none}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-desktop-titlebar,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .terminal-tabbar{background:transparent}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-header h1,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary-header h1,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .settings-title,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-titlebar-brand-text strong{font-family:SF Pro Display,SF Pro SC,PingFang SC,Helvetica Neue,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:560;letter-spacing:-.022em}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .settings-row-title,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .settings-section-title,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-workspace-toggle strong,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .session-title,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-info-tab,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-segment-button{font-weight:510;letter-spacing:-.015em}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .settings-row-description,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .session-meta,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .settings-section-title{color:color-mix(in srgb,var(--text-secondary) 84%,rgba(60,60,67,.58));font-weight:400;letter-spacing:-.008em}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-main-shell{font-family:var(--font-sans)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .conversation-header h1{font-size:15px;font-weight:580;letter-spacing:-.022em}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-workspace-toggle strong{font-size:12.5px}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .session-title{font-size:12px;font-weight:500;letter-spacing:-.012em}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .session-meta,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-header p,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .status-text{font-weight:400}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .message-text,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .message-text p,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .markdown-content p,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .markdown-content li,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .markdown-content blockquote,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .markdown-content td,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .composer-input{font-weight:400;letter-spacing:-.01em}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .composer-input{line-height:1.65}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-view-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-session-actions .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-session-actions .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-primary-actions .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-primary-actions .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .ghost-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-nav-settings-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .ghost-button{font-weight:510;letter-spacing:-.01em}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-view-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-session-actions .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-session-actions .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-editor-row textarea,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-commit-inline input,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-primary-actions .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-primary-actions .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-icon-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-sidebar .badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-history-kind-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-history-ref-pill,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-history-entry-menu,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-operations-menu,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-selection-menu,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-remote-auth-banner,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-section,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-desktop-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-details,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-overview-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-list,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-status-panel,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-detail-item,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-runtime-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-stat-pill,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .ghost-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-toolbar .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-detail-toggle,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .workbench-section-counter{background:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-view-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-session-actions .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-session-actions .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-primary-actions .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-primary-actions .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-icon-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .ghost-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .secondary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-toolbar .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-detail-toggle{color:color-mix(in srgb,var(--text-secondary) 90%,rgba(28,28,30,.88))}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-view-button:hover,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-session-actions .secondary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-session-actions .primary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-primary-actions .secondary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-primary-actions .primary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-icon-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .ghost-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .secondary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .primary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-toolbar .primary-button:hover:not(:disabled),.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-detail-toggle:hover{background:color-mix(in srgb,var(--panel-separator) 18%,transparent)!important;color:var(--text-primary)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-view-button.active,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-primary-actions .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-session-actions .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .primary-button,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-toolbar .primary-button{background:transparent!important;color:var(--accent)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-editor-row textarea,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-commit-inline input{box-shadow:none!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-editor-row textarea::placeholder,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-commit-inline input::placeholder{color:color-mix(in srgb,var(--text-secondary) 72%,rgba(60,60,67,.56))}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-sidebar .badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-history-kind-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-history-ref-pill,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-session-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .file-panel-tab-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-runtime-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-stat-pill,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .workbench-section-counter{min-width:auto;height:auto;min-height:0;padding:0;border:none!important;border-radius:0}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-sidebar .badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-history-kind-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-history-ref-pill,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-runtime-badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-panel .badge,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-stat-pill,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .workbench-section-counter{font-weight:500}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-history-entry-menu,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-operations-menu,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .git-selection-menu{backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-section{background:transparent!important;background-image:none!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-desktop-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-overview-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-status-panel,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-detail-item,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .workbench-empty-state.minimal{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-overview-card,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-status-panel,.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-detail-item{border-color:#ffffff24!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-card+.terminal-manager-card{border-top-color:#ffffff1f!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true][data-theme=dark] .workbench-auxiliary .terminal-manager-overview-card span,[data-theme=dark] .workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-overview-card span{color:#ffffffc7!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true][data-theme=dark] .workbench-auxiliary .terminal-manager-overview-card strong,[data-theme=dark] .workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .terminal-manager-overview-card strong{color:#fffffffa!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .butler-todo-card{background:transparent!important;border:1px solid color-mix(in srgb,var(--panel-border-strong) 72%,transparent)!important;box-shadow:none!important}.workbench-shell[data-os-family=macos][data-overlay-titlebar=true] .workbench-auxiliary .butler-todo-prompt-preview pre{background:transparent!important;border:1px solid color-mix(in srgb,var(--panel-border-strong) 68%,transparent);box-shadow:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos]{background:transparent!important;background-image:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos]:before,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos]:after{content:none!important;background:none!important;background-image:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-body-shell{background:transparent!important;border:none!important;box-shadow:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-nav,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-auxiliary{background:transparent!important;background-image:none!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-nav:before,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-nav:after,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-auxiliary:before,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-auxiliary:after,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-main-shell:before,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-main-shell:after{content:none!important;background:none!important;background-image:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-main-shell{background:var(--content-surface)!important;background-image:none!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-nav-header,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-auxiliary-header{background:transparent!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-workspace-group[data-workspace-tone=worktree],html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-manage-item[data-workspace-tone=worktree],html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-archive-folder[data-workspace-tone=worktree],html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-auxiliary-header[data-workspace-tone=worktree] .workbench-info-tab,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-auxiliary-header[data-workspace-tone=worktree] .workbench-info-tab.active{background:transparent!important;background-image:none!important;box-shadow:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .conversation-header,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-main-topbar,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .composer-panel{background:var(--content-surface)!important;background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-main-shell>.workbench-page,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-main-shell>.conversation-page-shell,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-main-shell>.terminal-layout,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .conversation-page-shell,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .terminal-shell,html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .settings-card{background:var(--content-surface)!important;background-image:none!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-side-resizer{width:1px!important;flex:0 0 1px!important;background:transparent!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-side-resizer:after{opacity:0;background:#3c3c432e!important}html[data-workbench-macos-vibrancy=true] .workbench-shell[data-runtime-platform=desktop][data-os-family=macos] .workbench-side-resizer:hover:after{opacity:1}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true]{--mac-overlay-border: color-mix(in srgb, rgba(255, 255, 255, .66) 54%, var(--border-primary));--mac-overlay-divider: color-mix(in srgb, rgba(255, 255, 255, .26) 46%, var(--border-primary));--mac-overlay-surface: linear-gradient( 180deg, color-mix(in srgb, var(--bg-surface) 70%, rgba(255, 255, 255, .3)), color-mix(in srgb, var(--bg-elevated) 78%, rgba(255, 255, 255, .16)) );--mac-overlay-surface-strong: linear-gradient( 180deg, color-mix(in srgb, var(--bg-surface) 84%, rgba(255, 255, 255, .52)), color-mix(in srgb, var(--bg-elevated) 74%, rgba(255, 255, 255, .12)) );--mac-overlay-shadow: 0 30px 80px rgba(15, 23, 42, .26), 0 12px 28px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255, 255, 255, .4);--mac-overlay-shadow-soft: 0 20px 48px rgba(15, 23, 42, .18), 0 8px 18px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .36);--mac-overlay-hover: linear-gradient( 180deg, color-mix(in srgb, var(--accent) 10%, rgba(255, 255, 255, .42)), color-mix(in srgb, var(--accent) 8%, rgba(255, 255, 255, .08)) );--mac-overlay-hover-danger: linear-gradient( 180deg, color-mix(in srgb, var(--danger) 14%, rgba(255, 255, 255, .36)), color-mix(in srgb, var(--danger) 10%, rgba(255, 255, 255, .08)) );--modal-backdrop-bg: radial-gradient(circle at 20% 18%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 28%), radial-gradient(circle at 84% 22%, color-mix(in srgb, white 18%, transparent), transparent 24%), rgba(8, 12, 24, .34);--modal-backdrop-blur: 18px;--modal-frame-border: var(--mac-overlay-border);--modal-frame-surface: radial-gradient(circle at top, rgba(255, 255, 255, .2), transparent 46%), var(--mac-overlay-surface-strong);--modal-frame-shadow: var(--mac-overlay-shadow);--modal-header-divider: var(--mac-overlay-divider);--modal-close-border: color-mix(in srgb, rgba(255, 255, 255, .52) 48%, var(--border-primary));--modal-close-surface: linear-gradient(180deg, rgba(255, 255, 255, .48), rgba(255, 255, 255, .16)), color-mix(in srgb, var(--bg-elevated) 78%, transparent);--modal-close-surface-hover: linear-gradient(180deg, color-mix(in srgb, white 24%, var(--danger)), color-mix(in srgb, var(--danger) 88%, #d93025));--modal-close-color: color-mix(in srgb, var(--text-secondary) 90%, rgba(28, 28, 30, .88));--modal-close-color-hover: #fff;--modal-control-border: var(--mac-overlay-border);--modal-control-surface-hover: linear-gradient(180deg, rgba(255, 255, 255, .48), rgba(255, 255, 255, .18)), color-mix(in srgb, var(--bg-elevated) 84%, transparent);--modal-control-shadow: inset 0 1px 0 rgba(255, 255, 255, .38), 0 1px 2px rgba(15, 23, 42, .04);--modal-control-border-hover: color-mix(in srgb, var(--accent) 24%, var(--mac-overlay-border));--modal-control-border-focus: color-mix(in srgb, var(--accent) 32%, var(--mac-overlay-border));--modal-control-focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);--modal-button-secondary-bg: rgba(120, 120, 128, .1);--modal-button-secondary-bg-hover: rgba(120, 120, 128, .16);--modal-button-secondary-color: color-mix(in srgb, var(--text-secondary) 92%, rgba(28, 28, 30, .88));--modal-button-primary-bg: rgba(0, 122, 255, .12);--modal-button-primary-bg-hover: rgba(0, 122, 255, .18);--modal-button-primary-color: var(--accent);--modal-button-ghost-bg: transparent;--modal-button-ghost-bg-hover: rgba(120, 120, 128, .16);--modal-button-ghost-color: var(--accent);--modal-button-danger-bg-hover: var(--mac-overlay-hover-danger);--modal-button-danger-border: color-mix(in srgb, var(--status-danger) 34%, var(--mac-overlay-border));--modal-button-danger-border-hover: color-mix(in srgb, var(--status-danger) 48%, var(--mac-overlay-border))}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-layer{padding:clamp(20px,3vw,40px)}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-backdrop{background:radial-gradient(circle at 20% 18%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 28%),radial-gradient(circle at 84% 22%,color-mix(in srgb,white 18%,transparent),transparent 24%),#080c1857;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-dialog{border:1px solid var(--mac-overlay-border);background:radial-gradient(circle at top,rgba(255,255,255,.2),transparent 46%),var(--mac-overlay-surface-strong);box-shadow:var(--mac-overlay-shadow);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%)}html[data-theme=dark] body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true]{--mac-overlay-surface: color-mix(in srgb, var(--bg-surface) 84%, rgba(255, 255, 255, .1));--mac-overlay-surface-strong: color-mix(in srgb, var(--bg-elevated) 88%, rgba(255, 255, 255, .14));--modal-frame-surface: var(--mac-overlay-surface-strong)}html[data-theme=dark] body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card,html[data-theme=dark] body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-dialog{background:var(--mac-overlay-surface-strong)}html[data-theme=dark] body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field input,html[data-theme=dark] body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field select,html[data-theme=dark] body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field textarea{background:color-mix(in srgb,var(--bg-elevated) 90%,rgba(255,255,255,.08))}html[data-theme=dark] body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field input:hover,html[data-theme=dark] body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field select:hover,html[data-theme=dark] body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field textarea:hover{background:color-mix(in srgb,var(--bg-elevated) 86%,rgba(255,255,255,.12))}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-tree-pane{border-color:transparent;background:transparent}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-header,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-tree-pane-header{padding-bottom:14px;border-bottom:1px solid var(--mac-overlay-divider)}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-title-wrap h2,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-tree-pane-header h3{font-size:17px;font-weight:600;letter-spacing:-.02em}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-title-wrap p,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-tree-pane-header p{color:color-mix(in srgb,var(--text-secondary) 88%,rgba(60,60,67,.72))}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-close,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-preview-close{border-radius:999px;border-color:color-mix(in srgb,rgba(255,255,255,.52) 48%,var(--border-primary));background:linear-gradient(180deg,#ffffff7a,#ffffff29),color-mix(in srgb,var(--bg-elevated) 78%,transparent);box-shadow:inset 0 1px #ffffff70,0 6px 14px #0f172a14}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-close:hover,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-preview-close:hover{border-color:color-mix(in srgb,var(--danger) 46%,rgba(255,255,255,.34));background:linear-gradient(180deg,color-mix(in srgb,white 24%,var(--danger)),color-mix(in srgb,var(--danger) 88%,#d93025));color:#fff}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field input,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field select,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field textarea{border-color:var(--mac-overlay-border);background:linear-gradient(180deg,#fff6,#ffffff1f),color-mix(in srgb,var(--bg-elevated) 84%,transparent);box-shadow:inset 0 1px #ffffff61,0 1px 2px #0f172a0a}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field input:hover,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field select:hover,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field textarea:hover{border-color:color-mix(in srgb,var(--accent) 24%,var(--mac-overlay-border))}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field input:focus,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field select:focus,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-field textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent);outline-offset:1px;border-color:color-mix(in srgb,var(--accent) 32%,var(--mac-overlay-border))}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .secondary-button,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .ghost-button,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-dialog .secondary-button,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-dialog .ghost-button{border:none;background:#7878801a;color:color-mix(in srgb,var(--text-secondary) 92%,rgba(28,28,30,.88));box-shadow:none}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .primary-button,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-dialog .primary-button{border:none;background:#007aff1f;color:var(--accent);box-shadow:none}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .secondary-button:hover:not(:disabled),body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .ghost-button:hover:not(:disabled),body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .primary-button:hover:not(:disabled),body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-dialog .secondary-button:hover:not(:disabled),body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-dialog .ghost-button:hover:not(:disabled),body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-dialog .primary-button:hover:not(:disabled){background:#78788029;color:var(--text-primary)}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-modal-card .primary-button:hover:not(:disabled),body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-dialog .primary-button:hover:not(:disabled){background:#007aff2e;color:var(--accent)}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-session-menu,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .git-operations-menu,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .git-history-entry-menu,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .git-selection-menu,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .file-toolbar-menu,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .file-web-context-menu,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-tab-menu,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-host-switcher-menu,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-host-switcher-detail-popover,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .composer-slash-menu,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .create-session-worktree-combobox-popover,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .conversation-branch-preview-popover{border-color:var(--mac-overlay-border);background:radial-gradient(circle at top,rgba(255,255,255,.18),transparent 44%),var(--mac-overlay-surface);box-shadow:var(--mac-overlay-shadow-soft);backdrop-filter:blur(26px) saturate(175%);-webkit-backdrop-filter:blur(26px) saturate(175%)}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-host-switcher-menu-header,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-host-switcher-detail-header,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .git-menu-section+.git-menu-section{border-color:var(--mac-overlay-divider)}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-session-menu-item,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .git-menu-item,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .file-toolbar-menu-item,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .file-web-context-menu-item,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-tab-menu-item{border-radius:10px}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .workbench-session-menu-item:hover,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .git-menu-item:hover:not(:disabled),body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .file-toolbar-menu-item:hover,body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .file-web-context-menu-item:hover:not(:disabled),body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .terminal-tab-menu-item:hover:not(:disabled){background:var(--mac-overlay-hover);color:var(--text-primary)}body[data-runtime-platform=desktop][data-os-family=macos][data-overlay-titlebar=true] .file-web-context-menu-item.danger:hover:not(:disabled){background:var(--mac-overlay-hover-danger)}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{b as d,j as a,t as u,J as Ze,H as Be,D as Ge,A as qe}from"./index-NGxWr8Ix.js";import{D as Ye}from"./WorkbenchModal-BWXYSXmC.js";import{f as ve,e as ke}from"./App-tXOqoHNl.js";import{bH as ne,bI as Je,bJ as Xe,bK as Ke}from"./WorkbenchLayout-DScHaza9.js";const Z="allow-forms allow-modals allow-scripts",Qe=`${Z} allow-same-origin`,et=new Set(["abstract","as","async","await","break","case","catch","class","const","continue","default","delete","do","else","enum","export","extends","false","finally","for","from","function","if","implements","import","in","instanceof","interface","let","new","null","package","private","protected","public","readonly","return","static","super","switch","this","throw","true","try","type","typeof","undefined","var","void","while","with","yield"]),tt=new Set(["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","False","finally","for","from","global","if","import","in","is","lambda","None","nonlocal","not","or","pass","raise","return","True","try","while","with","yield"]),nt=new Set(["case","do","done","elif","else","esac","export","fi","for","function","if","in","local","readonly","return","then","until","while"]),rt=new Set(["add","alter","and","as","asc","between","by","create","delete","desc","drop","from","group","having","insert","into","join","left","like","limit","not","null","offset","on","or","order","right","select","set","table","union","update","values","where"]),it=new Set(["add","arg","cmd","copy","entrypoint","env","expose","from","healthcheck","label","maintainer","onbuild","run","shell","stopsignal","user","volume","workdir","as"]),st=new Set(["trace","debug","info","warn","warning","error","fatal"]);function on({workspaceId:e,filePath:t,open:n,onClose:r,onSaved:i,diffContent:s}){var ge,we;const[o,l]=d.useState(null),[c,f]=d.useState(""),[h,m]=d.useState(!1),[v,k]=d.useState(!1),[g,w]=d.useState("preview"),[R,V]=d.useState("regular"),[b,y]=d.useState(0),[D,j]=d.useState("fit"),[de,W]=d.useState(1),[Y,E]=d.useState(1),[J,T]=d.useState(110),[X,z]=d.useState(!0),{showToast:S}=ve(),M=ke(),fe=d.useRef(r),he=d.useRef(S),O=d.useMemo(()=>ce(t),[t]),C=d.useMemo(()=>Kt(s),[s]),A=d.useMemo(()=>Qt(c,C),[c,C]),N=(o==null?void 0:o.kind)??null,F=!!((ge=o==null?void 0:o.capabilities)!=null&&ge.canEdit),Re=!!((we=o==null?void 0:o.capabilities)!=null&&we.canRefresh),Ve=dt(N,O),L=d.useMemo(()=>ft(o,M.isDesktop),[M.isDesktop,o]),K=d.useMemo(()=>ht(o,M.isDesktop),[M.isDesktop,o]),We=d.useMemo(()=>oe(L,b),[L,b]),Ee=d.useMemo(()=>pt(L,b,Y,J,X),[L,b,Y,J,X]),Te=d.useMemo(()=>oe(L,b),[L,b]),ze=(o==null?void 0:o.content)??"",Ae=d.useDeferredValue(c),Q=F&&c!==ze,Fe=Ne(N),Ue=se(N),Ie=at(N,O),$=M.isMobile,me=$?"full":R;if(d.useEffect(()=>{fe.current=r},[r]),d.useEffect(()=>{he.current=S},[S]),d.useEffect(()=>{if(!n){l(null),f(""),m(!1),k(!1),w(be(t,null)),ye({setResourceRefreshVersion:y,setImageScale:W,setImageScaleMode:j,setPdfPage:E,setPdfScale:T,setPdfFitWidth:z}),V("regular");return}if(!e||!t)return;const p=e,H=t;let _=!1;async function _e(){m(!0);try{const te=await ne(p,H);_||re(te,H,{preserveMode:!1,setPreview:l,setEditorContent:f,setMode:w,setResourceRefreshVersion:y,setImageScale:W,setImageScaleMode:j,setPdfPage:E,setPdfScale:T,setPdfFitWidth:z})}catch(te){_||(he.current({title:ie(te,u("conversation.filePanelOpenFailed")),tone:"error"}),fe.current())}finally{_||m(!1)}}return _e(),()=>{_=!0}},[t,n,e]),!n||!t)return null;const P=t,U=e;async function De(){if(!(!U||!(o!=null&&o.version)||!F)){k(!0);try{await Je(U,P,c,o.version);const p=await ne(U,P);re(p,P,{preserveMode:!1,setPreview:l,setEditorContent:f,setMode:w,setResourceRefreshVersion:y,setImageScale:W,setImageScaleMode:j,setPdfPage:E,setPdfScale:T,setPdfFitWidth:z}),await i(P),S({title:u("conversation.filePanelSaveSuccess"),tone:"success"})}catch(p){S({title:ie(p,u("conversation.filePanelSaveFailed")),tone:"error"})}finally{k(!1)}}}async function Oe(){if(!(!U||!Re||Q)){m(!0);try{const p=await ne(U,P);re(p,P,{preserveMode:!0,setPreview:l,setEditorContent:f,setMode:w,setResourceRefreshVersion:y,setImageScale:W,setImageScaleMode:j,setPdfPage:E,setPdfScale:T,setPdfFitWidth:z}),y(H=>H+1)}catch(p){S({title:ie(p,u("conversation.fileViewerRefreshFailed")),tone:"error"})}finally{m(!1)}}}async function $e(){if(!K)return;const p=await M.bridge.openExternal(K);p.ok||S({title:p.detail??u("conversation.fileViewerOpenExternalFailed"),tone:"error"})}const ee=lt({canShowPreviewTab:Fe,canShowCodeTab:Ue,canEdit:F}),pe=ct({preview:o,canOpenExternal:!!K,isDirty:Q,handleRefreshPreview:Oe,handleOpenExternal:$e,imageScaleMode:D,imageScale:de,setImageScale:W,setImageScaleMode:j,pdfPage:Y,setPdfPage:E,pdfScale:J,setPdfScale:T,pdfFitWidth:X,setPdfFitWidth:z}),He=$?pe.filter(ut):pe;return a.jsxs(Ye,{open:n,title:t,size:me,layout:"viewer",className:`file-viewer-modal${M.isDesktop&&me!=="full"?" is-resizable":""}`,bodyClassName:"file-viewer-modal-body",onClose:r,children:[a.jsxs("div",{className:"file-viewer-toolbar",children:[a.jsxs("div",{className:"file-viewer-toolbar-start",children:[a.jsxs("div",{className:"file-viewer-tabs",role:"tablist","aria-label":u("conversation.fileViewerModeLabel"),children:[ee.includes("preview")?a.jsx("button",{type:"button",className:"file-viewer-tab","data-active":g==="preview",role:"tab","aria-selected":g==="preview",onClick:()=>w("preview"),children:u("conversation.fileViewerPreview")}):null,ee.includes("code")?a.jsx("button",{type:"button",className:"file-viewer-tab","data-active":g==="code",role:"tab","aria-selected":g==="code",onClick:()=>w("code"),children:u("conversation.fileViewerCode")}):null,ee.includes("edit")?a.jsx("button",{type:"button",className:"file-viewer-tab","data-active":g==="edit",role:"tab","aria-selected":g==="edit",onClick:()=>w("edit"),disabled:!F,children:u("conversation.fileViewerEdit")}):null]}),$?null:a.jsx("span",{className:"file-viewer-language",children:Ve})]}),a.jsxs("div",{className:"file-viewer-toolbar-end",children:[$?null:a.jsxs("div",{className:"file-viewer-size-group",role:"group","aria-label":u("conversation.fileViewerSizeLabel"),children:[a.jsx("button",{type:"button",className:"secondary-button file-viewer-action-button","data-active":R==="regular",onClick:()=>V("regular"),children:u("conversation.fileViewerSizeDefault")}),a.jsx("button",{type:"button",className:"secondary-button file-viewer-action-button","data-active":R==="full",onClick:()=>V("full"),children:u("conversation.fileViewerSizeFull")})]}),a.jsx("div",{className:"file-viewer-actions",children:He.map(p=>a.jsx("button",{type:"button",className:"secondary-button file-viewer-action-button","data-active":p.active?"true":void 0,onClick:()=>void p.onClick(),disabled:p.disabled,children:p.label},p.id))}),F?a.jsx("button",{type:"button",className:"primary-button",onClick:()=>void De(),disabled:!Q||v,children:v?u("conversation.filePanelSaving"):u("conversation.filePanelSave")}):null]})]}),a.jsx("div",{className:"file-viewer-body",children:h?a.jsx("p",{className:"status-text",children:u("common.loading")}):(o==null?void 0:o.supported)===!1?a.jsx("p",{className:"status-text",children:o.reason??u("conversation.filePanelUnsupported")}):g==="edit"?a.jsx(vt,{content:c,deferredContent:Ae,language:O,useInlineRenderedEditor:Ie,onContentChange:f}):g==="preview"&&N==="html"?a.jsx(wt,{src:Te,filePath:t,overviewMarkers:C,overviewTotalLines:A}):g==="preview"&&N==="image"?a.jsx(yt,{src:We,filePath:t,scale:de,scaleMode:D,overviewMarkers:C,overviewTotalLines:A}):g==="preview"&&N==="pdf"?a.jsx(Nt,{src:Ee,filePath:t,overviewMarkers:C,overviewTotalLines:A}):g==="preview"&&N==="markdown"?a.jsx(jt,{content:c,overviewMarkers:C,overviewTotalLines:A}):a.jsx(Lt,{content:c,language:O,overviewMarkers:C,overviewTotalLines:A})})]})}function be(e,t){return t==="markdown"||t==="html"||t==="image"||t==="pdf"||qt(e??"")||Yt(e??"")?"preview":"code"}function re(e,t,n){n.setPreview(e),n.setEditorContent(e.content??""),n.setMode(r=>n.preserveMode&&ot(r,e.kind)?r:be(t,e.kind)),ye(n)}function ye(e){e.setResourceRefreshVersion(0),e.setImageScale(1),e.setImageScaleMode("fit"),e.setPdfPage(1),e.setPdfScale(110),e.setPdfFitWidth(!0)}function Ne(e){return e==="markdown"||e==="html"||e==="image"||e==="pdf"}function se(e){return e==="text"||e==="markdown"||e==="html"}function ot(e,t){return e==="preview"?Ne(t):se(t)}function at(e,t){return e==="text"&&Gt(t)}function lt(e){const t=[];return e.canShowPreviewTab&&t.push("preview"),e.canShowCodeTab?(t.push("code"),t.push("edit")):e.canEdit&&t.push("edit"),t}function ct(e){var r,i;if(!((r=e.preview)!=null&&r.supported))return[];const t=[],n=!((i=e.preview.capabilities)!=null&&i.canRefresh)||e.isDirty;return e.preview.kind==="image"&&t.push({id:"image-zoom-out",label:u("conversation.fileViewerZoomOut"),onClick:()=>{e.setImageScaleMode("custom"),e.setImageScale(s=>Math.max(.25,xe(s-.25)))}},{id:"image-zoom-in",label:u("conversation.fileViewerZoomIn"),onClick:()=>{e.setImageScaleMode("custom"),e.setImageScale(s=>Math.min(4,xe(s+.25)))}},{id:"image-fit",label:u("conversation.fileViewerFit"),active:e.imageScaleMode==="fit",onClick:()=>{e.setImageScaleMode("fit"),e.setImageScale(1)}},{id:"image-actual",label:u("conversation.fileViewerActualSize"),active:e.imageScaleMode==="actual",onClick:()=>{e.setImageScaleMode("actual"),e.setImageScale(1)}},{id:"image-refresh",label:u("conversation.fileViewerRefreshPreview"),disabled:n,onClick:e.handleRefreshPreview}),e.preview.kind==="pdf"&&t.push({id:"pdf-prev-page",label:u("conversation.fileViewerPreviousPage"),disabled:e.pdfPage<=1,onClick:()=>e.setPdfPage(s=>Math.max(1,s-1))},{id:"pdf-page-indicator",label:u("conversation.fileViewerPageIndicator").replace("{page}",String(e.pdfPage)),disabled:!0,onClick:()=>{}},{id:"pdf-next-page",label:u("conversation.fileViewerNextPage"),onClick:()=>e.setPdfPage(s=>s+1)},{id:"pdf-zoom-out",label:u("conversation.fileViewerZoomOut"),onClick:()=>{e.setPdfFitWidth(!1),e.setPdfScale(s=>Math.max(50,Math.round(s-10)))}},{id:"pdf-zoom-in",label:u("conversation.fileViewerZoomIn"),onClick:()=>{e.setPdfFitWidth(!1),e.setPdfScale(s=>Math.min(300,Math.round(s+10)))}},{id:"pdf-fit-width",label:u("conversation.fileViewerFitWidth"),active:e.pdfFitWidth,onClick:()=>e.setPdfFitWidth(!0)},{id:"pdf-refresh",label:u("conversation.fileViewerRefreshPreview"),disabled:n,onClick:e.handleRefreshPreview}),(e.preview.kind==="html"||e.preview.kind==="markdown"||e.preview.kind==="text")&&t.push({id:"text-refresh",label:u("conversation.fileViewerRefreshPreview"),disabled:n,onClick:e.handleRefreshPreview}),e.canOpenExternal&&t.push({id:"open-external",label:u("conversation.fileViewerOpenExternal"),onClick:e.handleOpenExternal}),t}function ut(e){return e.id.endsWith("-refresh")||e.id==="text-refresh"}function dt(e,t){switch(e){case"image":return u("conversation.fileViewerImage");case"pdf":return u("conversation.fileViewerPdf");case"html":return"HTML";case"markdown":return"Markdown";default:return ue(t)}}function oe(e,t){if(!e)return null;const n=new URL(e,window.location.origin);return n.searchParams.set("_preview",String(t)),n.hash="",n.toString()}function ft(e,t){var n;return e?!t&&e.previewPath&&typeof window<"u"&&((n=window.location)!=null&&n.origin)?new URL(e.previewPath,window.location.origin).toString():e.previewUrl??null:null}function ht(e,t){var n;if(!e)return null;if(e.previewPath){if(!t&&typeof window<"u"&&((n=window.location)!=null&&n.origin))return new URL(e.previewPath,window.location.origin).toString();if(t){const r=mt(e.previewPath);if(r)return r}}return e.previewUrl??null}function mt(e){try{const t=Ze(Be()).baseUrl;return Ge(e,t)}catch{return null}}function pt(e,t,n,r,i){const s=oe(e,t);if(!s)return null;const o=new URL(s,window.location.origin),l=new URLSearchParams;return l.set("page",String(n)),l.set("zoom",i?"page-width":String(r)),o.hash=l.toString(),o.toString()}function gt(e){var t;if(typeof window>"u"||!((t=window.location)!=null&&t.origin))return Z;try{if(new URL(e,window.location.origin).origin!==window.location.origin)return Qe}catch{return Z}return Z}function xe(e){return Math.round(e*100)/100}function wt({src:e,filePath:t,overviewMarkers:n,overviewTotalLines:r}){const i=d.useRef(null);if(!e)return a.jsx("p",{className:"status-text",children:u("conversation.fileViewerHtmlPreviewUnavailable")});const s=gt(e);return a.jsx(B,{overviewMarkers:n,overviewTotalLines:r,scrollContainerRef:i,children:a.jsx("div",{className:"file-viewer-html-frame-shell",ref:i,children:a.jsx("iframe",{className:"file-viewer-html-frame","data-testid":"file-viewer-html-preview",title:t,src:e,sandbox:s},e)})})}function B({children:e,overviewMarkers:t,overviewTotalLines:n,scrollContainerRef:r}){const i=xt(t);return a.jsxs("div",{className:"file-viewer-preview-overview-shell",children:[e,i?a.jsx("div",{className:"file-viewer-preview-diff-badge","data-kind":i,children:i==="modify"?u("conversation.fileViewerDiffModified"):u("conversation.fileViewerDiffAdded")}):null,a.jsx(Pe,{markers:t,totalLines:n,scrollContainerRef:r,hideWithoutMarkers:!0})]})}function xt(e){return e.some(t=>t.kind==="modify")?"modify":e.some(t=>t.kind==="add")?"add":null}function vt(e){return e.useInlineRenderedEditor?a.jsx(kt,{content:e.content,deferredContent:e.deferredContent,language:e.language,onContentChange:e.onContentChange}):a.jsx("textarea",{className:"file-viewer-editor","data-testid":"file-viewer-editor",value:e.content,onChange:t=>e.onContentChange(t.target.value),spellCheck:!1})}function kt(e){const t=d.useRef(null);function n(r){const i=t.current;i&&(i.scrollTop=r.currentTarget.scrollTop,i.scrollLeft=r.currentTarget.scrollLeft)}return a.jsxs("div",{className:"file-viewer-inline-editor-shell",children:[a.jsx("div",{ref:t,className:"file-viewer-inline-editor-render","data-testid":"file-viewer-inline-render","aria-hidden":"true",children:a.jsx(bt,{content:e.deferredContent,language:e.language})}),a.jsx("textarea",{className:"file-viewer-editor file-viewer-editor-input","data-testid":"file-viewer-editor",value:e.content,onChange:r=>e.onContentChange(r.target.value),onScroll:n,spellCheck:!1})]})}function bt({content:e,language:t}){const n=e.split(/\r?\n/);return a.jsx("div",{className:"file-viewer-inline-editor-content",children:n.map((r,i)=>{const s=Ce(r,t);return a.jsx("div",{className:"file-viewer-inline-editor-line",children:a.jsx("code",{className:"file-viewer-inline-editor-code",children:s.length?s.map((o,l)=>a.jsx("span",{className:`code-token ${o.kind}`,children:o.text},`${i}-${l}-${o.text}`)):a.jsx("span",{className:"code-token plain",children:" "})})},`${i}-${r}`)})})}function yt({src:e,filePath:t,scale:n,scaleMode:r,overviewMarkers:i,overviewTotalLines:s}){const o=d.useRef(null);return e?a.jsx(B,{overviewMarkers:i,overviewTotalLines:s,scrollContainerRef:o,children:a.jsx("div",{className:"file-viewer-media-shell","data-mode":r,ref:o,children:a.jsx("div",{className:"file-viewer-image-stage",children:a.jsx("img",{className:"file-viewer-image","data-testid":"file-viewer-image-preview","data-mode":r,src:e,alt:t,style:r==="fit"?void 0:{transform:`scale(${n})`}})})})}):a.jsx("p",{className:"status-text",children:u("conversation.fileViewerImageUnavailable")})}function Nt({src:e,filePath:t,overviewMarkers:n,overviewTotalLines:r}){const i=d.useRef(null);return e?a.jsx(B,{overviewMarkers:n,overviewTotalLines:r,scrollContainerRef:i,children:a.jsx("div",{className:"file-viewer-pdf-shell",ref:i,children:a.jsx("iframe",{className:"file-viewer-pdf-frame","data-testid":"file-viewer-pdf-preview",title:t,src:e},e)})}):a.jsx("p",{className:"status-text",children:u("conversation.fileViewerPdfUnavailable")})}function jt({content:e,overviewMarkers:t,overviewTotalLines:n}){const r=d.useRef(null),i=d.useMemo(()=>St(t),[t]),s=d.useMemo(()=>Mt(i),[i]);return a.jsx(B,{overviewMarkers:t,overviewTotalLines:n,scrollContainerRef:r,children:a.jsx("div",{className:"markdown-content file-viewer-markdown",ref:r,children:a.jsx(Xe,{remarkPlugins:[Ke],components:s,children:e})})})}function St(e){return{ranges:e.map(t=>({start:t.line,end:t.line+t.span-1,kind:t.kind})).sort((t,n)=>t.start-n.start)}}function Mt(e){return{h1(t){const{node:n,className:r,...i}=t;return a.jsx("h1",{...i,className:x(r,n,e)})},h2(t){const{node:n,className:r,...i}=t;return a.jsx("h2",{...i,className:x(r,n,e)})},h3(t){const{node:n,className:r,...i}=t;return a.jsx("h3",{...i,className:x(r,n,e)})},h4(t){const{node:n,className:r,...i}=t;return a.jsx("h4",{...i,className:x(r,n,e)})},h5(t){const{node:n,className:r,...i}=t;return a.jsx("h5",{...i,className:x(r,n,e)})},h6(t){const{node:n,className:r,...i}=t;return a.jsx("h6",{...i,className:x(r,n,e)})},p(t){const{node:n,className:r,...i}=t;return a.jsx("p",{...i,className:x(r,n,e)})},li(t){const{node:n,className:r,...i}=t;return a.jsx("li",{...i,className:x(r,n,e)})},blockquote(t){const{node:n,className:r,...i}=t;return a.jsx("blockquote",{...i,className:x(r,n,e)})},table(t){const{node:n,className:r,...i}=t;return a.jsx("table",{...i,className:x(r,n,e)})},pre(t){const{node:n,className:r}=t,i=Rt(t.children);return i?a.jsx(Pt,{content:i.content,language:i.language,codeClassName:i.codeClassName,changeKind:je(n,e)}):a.jsx("pre",{className:x(r,n,e),children:t.children})},code(t){const n=typeof t.className=="string"?t.className:"";return a.jsx("code",{className:n||void 0,children:t.children})}}}function x(e,t,n){const r=typeof e=="string"?e:"",i=je(t,n);return Se(r,i?"markdown-diff-block":null,i?`diff-block-${i}`:null)}function je(e,t){var o,l,c,f;const n=(l=(o=e==null?void 0:e.position)==null?void 0:o.start)==null?void 0:l.line,r=(f=(c=e==null?void 0:e.position)==null?void 0:c.end)==null?void 0:f.line;if(!n||!r)return null;let i=!1;const s=Ct(t.ranges,n);for(let h=s;h<t.ranges.length;h+=1){const m=t.ranges[h];if(!m||m.start>r)break;if(m.end>=n){if(m.kind==="modify")return"modify";i=!0}}return i?"add":null}function Ct(e,t){let n=0,r=e.length;for(;n<r;){const i=Math.floor((n+r)/2),s=e[i];s&&s.end<t?n=i+1:r=i}return n}function Lt({content:e,language:t,overviewMarkers:n=[],overviewTotalLines:r}){const i=e.split(/\r?\n/),s=d.useRef(null),o=d.useMemo(()=>{const l=new Map;for(const c of n)for(let f=0;f<c.span;f++)l.set(c.line+f,c.kind);return l},[n]);return a.jsxs("div",{className:"file-viewer-code-block",children:[a.jsxs("div",{className:"file-viewer-code-header",children:[a.jsx("span",{className:"file-viewer-code-header-label",children:ue(t)}),a.jsx(Me,{content:e})]}),a.jsxs("div",{className:"file-viewer-scroll-shell",children:[a.jsx("div",{className:"file-viewer-code-body",ref:s,children:i.map((l,c)=>{const f=Ce(l,t),h=c+1,m=o.get(h);return a.jsxs("div",{className:`file-viewer-code-line${m?` diff-line-${m}`:""}`,children:[a.jsx("span",{className:"file-viewer-code-gutter",children:h}),a.jsx("code",{className:"file-viewer-code-content",children:f.length?f.map((v,k)=>a.jsx("span",{className:`code-token ${v.kind}`,children:v.text},`${c}-${k}-${v.text}`)):a.jsx("span",{className:"code-token plain",children:" "})})]},`${c}-${l}`)})}),a.jsx(Pe,{markers:n,totalLines:r,scrollContainerRef:s})]})]})}function Pt({content:e,language:t,codeClassName:n,changeKind:r=null}){const i=t?q(t):null;return a.jsxs("div",{className:Se("file-viewer-markdown-copy-block",r?"markdown-diff-block":null,r?`diff-block-${r}`:null),children:[a.jsxs("div",{className:"file-viewer-markdown-copy-header",children:[a.jsx("span",{className:"file-viewer-markdown-copy-label",children:i?ue(i):u("conversation.fileViewerPlainText")}),a.jsx(Me,{content:e})]}),a.jsx("pre",{className:n,children:a.jsx("code",{children:e})})]})}function Se(...e){return e.filter(Boolean).join(" ")||void 0}function Me({content:e}){const{showToast:t}=ve(),n=ke(),[r,i]=d.useState(!1);if(!e.trim())return null;async function s(){if(!r){i(!0);try{await Wt(e,n),t({title:u("conversation.copyContentSuccess"),tone:"success"})}catch(o){t({title:o instanceof Error?o.message:u("conversation.copyContentFailed"),tone:"error"})}finally{i(!1)}}}return a.jsx("button",{type:"button",className:"file-viewer-copy-button","aria-label":u("conversation.copyAction"),title:u("conversation.copyAction"),onClick:()=>void s(),disabled:r,children:a.jsx(Jt,{})})}function ae(e){var t;return typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(n=>ae(n)).join(""):d.isValidElement(e)?ae(((t=e.props)==null?void 0:t.children)??""):""}function Rt(e){const t=Array.isArray(e)?e[0]:e;if(!d.isValidElement(t))return null;const n=t.props,r=typeof n.className=="string"?n.className:"",i=/language-([^\s]+)/.exec(r);return{content:ae(n.children).replace(/\n$/,""),codeClassName:r||void 0,language:(i==null?void 0:i[1])??null}}function Vt(e){if(typeof document>"u"||typeof document.execCommand!="function")return!1;const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","true"),t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t),t.focus(),t.select();try{return document.execCommand("copy")}catch{return!1}finally{document.body.removeChild(t)}}async function Wt(e,t){var n;if(!(t.isDesktop&&(await t.bridge.writeClipboardText(e)).ok)){if(typeof navigator<"u"&&((n=navigator.clipboard)!=null&&n.writeText))try{await navigator.clipboard.writeText(e);return}catch{}if(!Vt(e))throw new Error(u("conversation.copyContentFailed"))}}function Ce(e,t){const n=q(t);return n==="json"?Et(e):n==="yaml"?Ft(e):n==="toml"?Ut(e):n==="ini"?Le(e):n==="env"?It(e):n==="properties"?Dt(e):n==="conf"?Ot(e):n==="editorconfig"?$t(e):n==="dockerfile"?Ht(e):n==="gitignore"?_t(e):n==="log"?Zt(e):n==="python"?I(e,tt,"#"):n==="shell"?I(e,nt,"#"):n==="sql"?At(e):n==="html"||n==="xml"?Tt(e):n==="css"?zt(e):n==="markdown"?[{text:e,kind:"plain"}]:I(e,et,"//")}function I(e,t,n){const r=[];let i=0;for(;i<e.length;){const s=e.slice(i);if(s.startsWith(n)){r.push({text:s,kind:"comment"});break}const o=/^(?:'[^'\\]*(?:\\.[^'\\]*)*'|"[^"\\]*(?:\\.[^"\\]*)*"|`[^`\\]*(?:\\.[^`\\]*)*`)/.exec(s);if(o){r.push({text:o[0],kind:"string"}),i+=o[0].length;continue}const l=/^(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/.exec(s);if(l){r.push({text:l[0],kind:"number"}),i+=l[0].length;continue}const c=/^[A-Za-z_][\w$-]*/.exec(s);if(c){const h=c[0],m=h.toLowerCase();h==="true"||h==="false"||m==="true"||m==="false"?r.push({text:h,kind:"boolean"}):h==="null"||h==="None"||m==="none"?r.push({text:h,kind:"null"}):t.has(h)||t.has(m)?r.push({text:h,kind:"keyword"}):r.push({text:h,kind:"plain"}),i+=h.length;continue}const f=/^(?:===|!==|==|!=|<=|>=|=>|&&|\|\||[+\-*/%=<>!?:|&^~]+)/.exec(s);if(f){r.push({text:f[0],kind:"operator"}),i+=f[0].length;continue}r.push({text:s[0]??"",kind:"plain"}),i+=1}return r}function Et(e){const t=[];let n=0;for(;n<e.length;){const r=e.slice(n),i=/^"(?:[^"\\]|\\.)*"/.exec(r);if(i){const c=e.slice(n+i[0].length).trimStart()[0];t.push({text:i[0],kind:c===":"?"attr":"string"}),n+=i[0].length;continue}const s=/^(?:-?\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i.exec(r);if(s){t.push({text:s[0],kind:"number"}),n+=s[0].length;continue}const o=/^(?:true|false|null)\b/.exec(r);if(o){const c=o[0]==="null"?"null":"boolean";t.push({text:o[0],kind:c}),n+=o[0].length;continue}const l=/^(?::|,|\{|\}|\[|\])/.exec(r);if(l){t.push({text:l[0],kind:"operator"}),n+=l[0].length;continue}t.push({text:r[0]??"",kind:"plain"}),n+=1}return t}function Tt(e){const t=[];let n=0;for(;n<e.length;){const r=e.slice(n);if(r.startsWith("<!--")){t.push({text:r,kind:"comment"});break}const i=/^(<\/?[\w:-]+)/.exec(r);if(i){t.push({text:i[0],kind:"tag"}),n+=i[0].length;continue}const s=/^([\w:-]+)(=)/.exec(r);if(s){t.push({text:s[1]??"",kind:"attr"}),t.push({text:s[2]??"",kind:"operator"}),n+=s[0].length;continue}const o=/^(?:'[^']*'|"[^"]*")/.exec(r);if(o){t.push({text:o[0],kind:"string"}),n+=o[0].length;continue}const l=/^(?:\/?>)/.exec(r);if(l){t.push({text:l[0],kind:"operator"}),n+=l[0].length;continue}t.push({text:r[0]??"",kind:"plain"}),n+=1}return t}function zt(e){const t=[];let n=0;for(;n<e.length;){const r=e.slice(n);if(r.startsWith("/*")){t.push({text:r,kind:"comment"});break}const i=/^(?:'[^']*'|"[^"]*")/.exec(r);if(i){t.push({text:i[0],kind:"string"}),n+=i[0].length;continue}const s=/^([A-Za-z-]+)(\s*:)/.exec(r);if(s){t.push({text:s[1]??"",kind:"attr"}),t.push({text:s[2]??"",kind:"operator"}),n+=s[0].length;continue}const o=/^(?:#(?:[\da-fA-F]{3,8})|\d+(?:\.\d+)?(?:px|rem|em|vh|vw|%)?)/.exec(r);if(o){t.push({text:o[0],kind:"number"}),n+=o[0].length;continue}const l=/^(?:@media|@supports|@import|@keyframes)\b/.exec(r);if(l){t.push({text:l[0],kind:"keyword"}),n+=l[0].length;continue}const c=/^(?:[{}:;(),.>])/.exec(r);if(c){t.push({text:c[0],kind:"operator"}),n+=c[0].length;continue}t.push({text:r[0]??"",kind:"plain"}),n+=1}return t}function At(e){return I(e,rt,"--")}function Ft(e){const t=[];let n=0;for(;n<e.length;){const r=e.slice(n);if(r.startsWith("#")){t.push({text:r,kind:"comment"});break}const i=/^([A-Za-z0-9_.-]+)(\s*:)/.exec(r);if(i){t.push({text:i[1]??"",kind:"attr"}),t.push({text:i[2]??"",kind:"operator"}),n+=i[0].length;continue}const s=/^(?:'[^']*'|"[^"]*")/.exec(r);if(s){t.push({text:s[0],kind:"string"}),n+=s[0].length;continue}const o=/^(?:-?\d+(?:\.\d+)?)/.exec(r);if(o){t.push({text:o[0],kind:"number"}),n+=o[0].length;continue}const l=/^(?:true|false|yes|no|null|~)\b/i.exec(r);if(l){const f=l[0].toLowerCase(),h=f==="null"||f==="~"?"null":"boolean";t.push({text:l[0],kind:h}),n+=l[0].length;continue}const c=/^(?:[-?:,[\]{}|>])/.exec(r);if(c){t.push({text:c[0],kind:"operator"}),n+=c[0].length;continue}t.push({text:r[0]??"",kind:"plain"}),n+=1}return t}function Ut(e){const t=[];let n=0;for(;n<e.length;){const r=e.slice(n);if(r.startsWith("#")){t.push({text:r,kind:"comment"});break}const i=/^(\[\[?[^\]]+\]?\])/.exec(r);if(i){t.push({text:i[0],kind:"tag"}),n+=i[0].length;continue}const s=/^([A-Za-z0-9_.-]+)(\s*=)/.exec(r);if(s){t.push({text:s[1]??"",kind:"attr"}),t.push({text:s[2]??"",kind:"operator"}),n+=s[0].length;continue}const o=G(r,{trueValues:["true"],falseValues:["false"],nullValues:[]});if(o){t.push(...o.tokens),n+=o.length;continue}const l=/^(?:[,[\]{}])/.exec(r);if(l){t.push({text:l[0],kind:"operator"}),n+=l[0].length;continue}t.push({text:r[0]??"",kind:"plain"}),n+=1}return t}function Le(e){const t=[];let n=0;for(;n<e.length;){const r=e.slice(n),i=r.trimStart();if(i.startsWith(";")||i.startsWith("#")){t.push({text:r,kind:"comment"});break}const s=/^(\[[^\]]+\])/.exec(r);if(s){t.push({text:s[0],kind:"tag"}),n+=s[0].length;continue}const o=/^([A-Za-z0-9_.-]+)(\s*[=:])/.exec(r);if(o){t.push({text:o[1]??"",kind:"attr"}),t.push({text:o[2]??"",kind:"operator"}),n+=o[0].length;continue}const l=G(r,{trueValues:["true","yes","on"],falseValues:["false","no","off"],nullValues:["null"]});if(l){t.push(...l.tokens),n+=l.length;continue}t.push({text:r[0]??"",kind:"plain"}),n+=1}return t}function It(e){if(e.trimStart().startsWith("#"))return[{text:e,kind:"comment"}];const n=/^(\s*)(export)(\s+)/.exec(e),r=n?n[0].length:0,i=[];n&&(i.push({text:n[1]??"",kind:"plain"}),i.push({text:n[2]??"",kind:"keyword"}),i.push({text:n[3]??"",kind:"plain"}));const s=e.slice(r),o=/^([A-Za-z_][A-Za-z0-9_]*)(=)/.exec(s);if(!o)return Le(e);i.push({text:o[1]??"",kind:"attr"}),i.push({text:o[2]??"",kind:"operator"});const l=s.slice(o[0].length),c=G(l,{trueValues:["true"],falseValues:["false"],nullValues:["null"]});return c?(i.push(...c.tokens),i):(i.push({text:l,kind:"plain"}),i)}function Dt(e){return le(e,{commentPrefixes:["#","!"],allowSection:!1,delimiters:["=",":"]})}function Ot(e){return le(e,{commentPrefixes:["#",";"],allowSection:!0,delimiters:["=",":"]})}function $t(e){return le(e,{commentPrefixes:["#",";"],allowSection:!0,delimiters:["="]})}function Ht(e){return I(e,it,"#")}function _t(e){const t=e.trimStart();if(!t)return[];if(t.startsWith("#"))return[{text:e,kind:"comment"}];if(t.startsWith("!")){const n=e.length-t.length,r=e.slice(0,n),i=t.slice(1);return[{text:r,kind:"plain"},{text:"!",kind:"operator"},{text:i,kind:"string"}]}return[{text:e,kind:"string"}]}function Zt(e){const t=[];let n=0;for(;n<e.length;){const r=e.slice(n);if(r.startsWith("#")){t.push({text:r,kind:"comment"});break}const i=/^(?:\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}:\d{2}(?:[.,]\d{3,6})?(?:Z|[+-]\d{2}:\d{2})?)/.exec(r);if(i){t.push({text:i[0],kind:"tag"}),n+=i[0].length;continue}const s=/^(?:\[(TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL)\])/.exec(r);if(s){t.push({text:r.slice(0,s[0].length),kind:"keyword"}),n+=s[0].length;continue}const o=/^[A-Za-z_][\w-]*/.exec(r);if(o){const c=o[0];st.has(c.toLowerCase())?t.push({text:c,kind:"keyword"}):t.push({text:c,kind:"plain"}),n+=c.length;continue}const l=/^(?:\d+(?:\.\d+)?)/.exec(r);if(l){t.push({text:l[0],kind:"number"}),n+=l[0].length;continue}t.push({text:r[0]??"",kind:"plain"}),n+=1}return t}function le(e,t){const n=e.trimStart();if(t.commentPrefixes.some(c=>n.startsWith(c)))return[{text:e,kind:"comment"}];if(t.allowSection){const c=/^(\[[^\]]+\])/.exec(e);if(c)return[{text:c[0],kind:"tag"}]}const r=/^([A-Za-z0-9_.\-*?]+)(\s*(?:=|:))/.exec(e);if(!r)return[{text:e,kind:"plain"}];const i=(r[2]??"").trim();if(!t.delimiters.includes(i))return[{text:e,kind:"plain"}];const s=[{text:r[1]??"",kind:"attr"},{text:r[2]??"",kind:"operator"}],o=e.slice(r[0].length),l=Bt(o);return l.length&&s.push(...l),s}function Bt(e){if(!e)return[];const t=[];let n=0;for(;n<e.length;){const r=e.slice(n),i=G(r,{trueValues:["true","yes","on"],falseValues:["false","no","off"],nullValues:["null"]});if(i){t.push(...i.tokens),n+=i.length;continue}if(r.startsWith("#")||r.startsWith(";")){t.push({text:r,kind:"comment"});break}t.push({text:r[0]??"",kind:"plain"}),n+=1}return t}function G(e,t){const n=/^(?:'[^']*'|"[^"]*")/.exec(e);if(n)return{tokens:[{text:n[0],kind:"string"}],length:n[0].length};const r=/^(?:-?\d+(?:\.\d+)?)/.exec(e);if(r)return{tokens:[{text:r[0],kind:"number"}],length:r[0].length};const i=/^[A-Za-z0-9_.:+/-]+/.exec(e);if(!i)return null;const s=i[0],o=s.toLowerCase();return t.trueValues.includes(o)?{tokens:[{text:s,kind:"boolean"}],length:s.length}:t.falseValues.includes(o)?{tokens:[{text:s,kind:"boolean"}],length:s.length}:t.nullValues.includes(o)?{tokens:[{text:s,kind:"null"}],length:s.length}:{tokens:[{text:s,kind:"plain"}],length:s.length}}function ce(e){var r,i;if(!e)return"plain";const t=((r=e.split(/[\\/]/).pop())==null?void 0:r.toLowerCase())??"";if(t===".env"||t.startsWith(".env."))return"env";if(t===".editorconfig")return"editorconfig";if(t==="dockerfile"||t.endsWith(".dockerfile"))return"dockerfile";if(t===".gitignore")return"gitignore";switch(((i=e.split(".").pop())==null?void 0:i.toLowerCase())??""){case"md":case"markdown":return"markdown";case"ts":case"tsx":return"typescript";case"js":case"jsx":case"mjs":case"cjs":return"javascript";case"json":return"json";case"log":return"log";case"properties":return"properties";case"toml":return"toml";case"ini":return"ini";case"conf":return"conf";case"dockerfile":return"dockerfile";case"css":case"scss":case"less":return"css";case"html":case"htm":return"html";case"xml":case"svg":return"xml";case"py":return"python";case"sh":case"bash":case"zsh":return"shell";case"sql":return"sql";case"yml":case"yaml":return"yaml";case"rs":return"rust";case"go":return"go";case"java":return"java";case"c":case"h":case"cpp":case"cc":case"hpp":return"cpp";default:return"plain"}}function q(e){const t=e.toLowerCase();switch(t){case"ts":case"tsx":case"typescript":return"typescript";case"js":case"jsx":case"javascript":return"javascript";case"bash":case"shell":case"sh":case"zsh":return"shell";case"md":case"markdown":return"markdown";case"properties":return"properties";case"toml":return"toml";case"ini":return"ini";case"env":return"env";case"conf":return"conf";case"editorconfig":return"editorconfig";case"dockerfile":return"dockerfile";case"gitignore":return"gitignore";case"log":return"log";default:return t}}function Gt(e){const t=q(e);return t==="json"||t==="yaml"||t==="toml"||t==="ini"||t==="env"||t==="properties"||t==="conf"||t==="editorconfig"||t==="dockerfile"||t==="gitignore"}function ue(e){switch(q(e)){case"typescript":return"TypeScript";case"javascript":return"JavaScript";case"markdown":return"Markdown";case"json":return"JSON";case"properties":return"Properties";case"toml":return"TOML";case"ini":return"INI";case"env":return"ENV";case"conf":return"CONF";case"editorconfig":return"EditorConfig";case"dockerfile":return"Dockerfile";case"gitignore":return"GitIgnore";case"log":return"Log";case"css":return"CSS";case"html":return"HTML";case"xml":return"XML";case"python":return"Python";case"shell":return"Shell";case"sql":return"SQL";case"yaml":return"YAML";case"rust":return"Rust";case"go":return"Go";case"java":return"Java";case"cpp":return"C/C++";default:return u("conversation.fileViewerPlainText")}}function qt(e){return ce(e)==="markdown"}function Yt(e){return ce(e)==="html"}function Jt(){return a.jsxs("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[a.jsx("path",{d:"M5 2.5h7.5v9H5z",fill:"none",stroke:"currentColor",strokeWidth:"1.2"}),a.jsx("path",{d:"M3.5 5H2.4V13.5H10V12.4",fill:"none",stroke:"currentColor",strokeWidth:"1.2"})]})}function ie(e,t){return e instanceof qe?e.message:t}function Xt(e){const t=[],n=e.replace(/\r\n/g,`
|
|
2
|
-
`).split(`
|
|
3
|
-
`);let r=0,i=0;for(const s of n){if(s.startsWith("diff --git")||s.startsWith("index ")||s.startsWith("--- ")||s.startsWith("+++ ")){t.push({kind:"meta",text:s,oldLineNo:null,newLineNo:null});continue}const o=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(s);if(o){r=parseInt(o[1],10),i=parseInt(o[2],10),t.push({kind:"hunk",text:s,oldLineNo:null,newLineNo:null});continue}if(s.startsWith(" ")||s===""){t.push({kind:"context",text:s.slice(1),oldLineNo:r,newLineNo:i}),r++,i++;continue}if(s.startsWith("+")){t.push({kind:"add",text:s.slice(1),oldLineNo:null,newLineNo:i}),i++;continue}if(s.startsWith("-")){t.push({kind:"remove",text:s.slice(1),oldLineNo:r,newLineNo:null}),r++;continue}t.push({kind:"meta",text:s,oldLineNo:null,newLineNo:null})}return t}function Kt(e){if(!(e!=null&&e.trim()))return[];const t=Xt(e),n=[];let r=0,i=[];function s(){if(i.length===0){r=0;return}const o=r>0?"modify":"add";en(n,i,o),r=0,i=[]}for(const o of t){if(o.kind==="remove"){r+=1;continue}if(o.kind==="add"){o.newLineNo!==null&&i.push(o.newLineNo);continue}s()}return s(),n}function Qt(e,t){const n=e?e.split(/\r?\n/).length:1,r=t.reduce((i,s)=>Math.max(i,s.line+s.span-1),0);return Math.max(n,r,1)}function en(e,t,n){const r=t.filter(o=>o>0);if(r.length===0)return;let i=r[0]??1,s=i;for(let o=1;o<r.length;o+=1){const l=r[o]??s;if(l===s+1){s=l;continue}e.push({line:i,span:s-i+1,kind:n}),i=l,s=l}e.push({line:i,span:s-i+1,kind:n})}function Pe({markers:e,totalLines:t,scrollContainerRef:n,hideWithoutMarkers:r=!1}){const i=d.useRef(null),s=!r||e.length>0;if(d.useEffect(()=>{const l=n.current,c=i.current;if(!l||!c||!s)return;const f=l,h=c;let m=null;function v(){m=null;const{clientHeight:g,scrollHeight:w,scrollTop:R}=f;if(w<=0||g<=0||w<=g){h.style.display="none";return}const V=g/w,b=Math.min(100,Math.max(12,V*100)),y=w-g,D=Math.max(0,100-b),j=y<=0?0:R/y*D;h.style.display="block",h.style.top=`${j}%`,h.style.height=`${b}%`}function k(){m===null&&(m=window.requestAnimationFrame(v))}return v(),f.addEventListener("scroll",k,{passive:!0}),window.addEventListener("resize",k),()=>{m!==null&&window.cancelAnimationFrame(m),f.removeEventListener("scroll",k),window.removeEventListener("resize",k)}},[n,s]),r&&e.length===0)return null;const o=Math.max(t,1);return a.jsxs("div",{className:"file-overview-ruler","data-testid":"file-overview-ruler","aria-hidden":"true",children:[e.map(l=>{const c=(l.line-1)/o*100,f=Math.max(2,l.span/o*100);return a.jsx("div",{className:`file-overview-marker is-${l.kind}`,"data-kind":l.kind,style:{top:`${c}%`,height:`${f}%`}},`${l.kind}-${l.line}-${l.span}`)}),s?a.jsx("div",{ref:i,className:"file-overview-viewport"}):null]})}function an(e){const t=e.toLowerCase();if(t===".env"||t.startsWith(".env."))return"ENV";if(t.endsWith(".d.ts"))return"DTS";switch(t.includes(".")?t.slice(t.lastIndexOf(".")+1):""){case"ts":return"TS";case"tsx":return"TSX";case"js":return"JS";case"jsx":return"JSX";case"json":return"{}";case"md":return"MD";case"css":return"CSS";case"scss":return"SASS";case"html":return"HTML";case"yml":case"yaml":return"YAML";case"png":case"jpg":case"jpeg":case"gif":case"svg":case"webp":return"IMG";case"txt":return"TXT";default:return"FILE"}}function ln(e){const t=e.toLowerCase();return t===".env"||t.startsWith(".env.")?"env":t.endsWith(".md")?"md":t.endsWith(".css")||t.endsWith(".scss")?"style":t.endsWith(".png")||t.endsWith(".jpg")||t.endsWith(".jpeg")||t.endsWith(".gif")||t.endsWith(".svg")||t.endsWith(".webp")?"image":t.endsWith(".ts")||t.endsWith(".tsx")||t.endsWith(".js")||t.endsWith(".jsx")?"code":t.endsWith(".json")||t.endsWith(".yml")||t.endsWith(".yaml")?"data":"default"}export{on as F,ln as a,an as r};
|