@tt-a1i/hive 1.7.0 → 2.0.2
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/CHANGELOG.md +60 -0
- package/README.en.md +73 -11
- package/README.md +41 -8
- package/dist/src/cli/hive-remote.d.ts +46 -0
- package/dist/src/cli/hive-remote.js +257 -0
- package/dist/src/cli/hive-update.js +7 -2
- package/dist/src/cli/hive.d.ts +6 -0
- package/dist/src/cli/hive.js +64 -0
- package/dist/src/cli/team.d.ts +22 -0
- package/dist/src/cli/team.js +255 -5
- package/dist/src/server/agent-command-resolver.js +10 -3
- package/dist/src/server/agent-exit-classification.d.ts +6 -0
- package/dist/src/server/agent-exit-classification.js +6 -0
- package/dist/src/server/agent-manager-support.d.ts +2 -1
- package/dist/src/server/agent-manager-support.js +59 -15
- package/dist/src/server/agent-manager.d.ts +3 -0
- package/dist/src/server/agent-manager.js +22 -7
- package/dist/src/server/agent-run-bootstrap.d.ts +14 -0
- package/dist/src/server/agent-run-bootstrap.js +11 -4
- package/dist/src/server/agent-run-exit-handler.js +14 -8
- package/dist/src/server/agent-run-starter.d.ts +3 -1
- package/dist/src/server/agent-run-starter.js +22 -5
- package/dist/src/server/agent-run-sync.js +13 -5
- package/dist/src/server/agent-runtime-types.d.ts +1 -0
- package/dist/src/server/agent-runtime.d.ts +2 -1
- package/dist/src/server/agent-runtime.js +9 -2
- package/dist/src/server/agent-startup-instructions.d.ts +2 -1
- package/dist/src/server/agent-startup-instructions.js +8 -4
- package/dist/src/server/agent-stdin-dispatcher.d.ts +4 -2
- package/dist/src/server/agent-stdin-dispatcher.js +35 -3
- package/dist/src/server/command-preset-defaults.d.ts +6 -1
- package/dist/src/server/command-preset-defaults.js +56 -0
- package/dist/src/server/fs-browse.d.ts +2 -0
- package/dist/src/server/fs-browse.js +165 -31
- package/dist/src/server/fs-pick-folder.js +6 -69
- package/dist/src/server/fs-sandbox.d.ts +5 -3
- package/dist/src/server/fs-sandbox.js +5 -3
- package/dist/src/server/hive-team-guidance.js +18 -6
- package/dist/src/server/machine-name.d.ts +2 -0
- package/dist/src/server/machine-name.js +13 -0
- package/dist/src/server/open-target-commands.d.ts +1 -0
- package/dist/src/server/open-target-commands.js +4 -1
- package/dist/src/server/orchestrator-autostart.js +1 -1
- package/dist/src/server/platform-path.d.ts +1 -0
- package/dist/src/server/platform-path.js +14 -1
- package/dist/src/server/post-start-input-writer.js +50 -13
- package/dist/src/server/preset-launch-support.js +1 -0
- package/dist/src/server/recovery-summary.d.ts +2 -1
- package/dist/src/server/recovery-summary.js +2 -1
- package/dist/src/server/remote-audit-store.d.ts +51 -0
- package/dist/src/server/remote-audit-store.js +108 -0
- package/dist/src/server/remote-config-keys.d.ts +17 -0
- package/dist/src/server/remote-config-keys.js +27 -0
- package/dist/src/server/remote-control-constants.d.ts +30 -0
- package/dist/src/server/remote-control-constants.js +29 -0
- package/dist/src/server/remote-device-session.d.ts +40 -0
- package/dist/src/server/remote-device-session.js +22 -0
- package/dist/src/server/remote-device-store.d.ts +36 -0
- package/dist/src/server/remote-device-store.js +67 -0
- package/dist/src/server/remote-frame-bridge.d.ts +102 -0
- package/dist/src/server/remote-frame-bridge.js +791 -0
- package/dist/src/server/remote-gateway-client.d.ts +14 -0
- package/dist/src/server/remote-gateway-client.js +36 -0
- package/dist/src/server/remote-loopback-auth.d.ts +6 -0
- package/dist/src/server/remote-loopback-auth.js +112 -0
- package/dist/src/server/remote-pairing-tunnel.d.ts +59 -0
- package/dist/src/server/remote-pairing-tunnel.js +146 -0
- package/dist/src/server/remote-pairing.d.ts +58 -0
- package/dist/src/server/remote-pairing.js +237 -0
- package/dist/src/server/remote-tunnel.d.ts +113 -0
- package/dist/src/server/remote-tunnel.js +514 -0
- package/dist/src/server/restart-policy-support.d.ts +4 -1
- package/dist/src/server/restart-policy-support.js +3 -1
- package/dist/src/server/restart-policy.d.ts +1 -1
- package/dist/src/server/restart-policy.js +19 -3
- package/dist/src/server/route-types.d.ts +1 -1
- package/dist/src/server/routes-dispatches.js +1 -1
- package/dist/src/server/routes-fs.js +3 -3
- package/dist/src/server/routes-marketplace.js +2 -2
- package/dist/src/server/routes-open-workspace.js +1 -1
- package/dist/src/server/routes-remote.d.ts +2 -0
- package/dist/src/server/routes-remote.js +166 -0
- package/dist/src/server/routes-runtime.js +6 -6
- package/dist/src/server/routes-settings.js +16 -16
- package/dist/src/server/routes-tasks.js +2 -2
- package/dist/src/server/routes-team-memory.d.ts +2 -0
- package/dist/src/server/routes-team-memory.js +154 -0
- package/dist/src/server/routes-team-recall.d.ts +2 -0
- package/dist/src/server/routes-team-recall.js +119 -0
- package/dist/src/server/routes-team.js +31 -9
- package/dist/src/server/routes-ui.js +11 -1
- package/dist/src/server/routes-workflow-schedules.js +3 -3
- package/dist/src/server/routes-workflows.js +5 -5
- package/dist/src/server/routes-workspace-memory-dreams.d.ts +2 -0
- package/dist/src/server/routes-workspace-memory-dreams.js +105 -0
- package/dist/src/server/routes-workspace-memory.d.ts +2 -0
- package/dist/src/server/routes-workspace-memory.js +215 -0
- package/dist/src/server/routes-workspaces.js +9 -9
- package/dist/src/server/routes.js +10 -0
- package/dist/src/server/runtime-database.d.ts +1 -0
- package/dist/src/server/runtime-database.js +27 -2
- package/dist/src/server/runtime-restart-policy.d.ts +3 -1
- package/dist/src/server/runtime-restart-policy.js +2 -1
- package/dist/src/server/runtime-store-contract.d.ts +37 -0
- package/dist/src/server/runtime-store-dream.d.ts +23 -0
- package/dist/src/server/runtime-store-dream.js +16 -0
- package/dist/src/server/runtime-store-helpers.d.ts +20 -0
- package/dist/src/server/runtime-store-helpers.js +81 -7
- package/dist/src/server/runtime-store-memory.d.ts +33 -0
- package/dist/src/server/runtime-store-memory.js +37 -0
- package/dist/src/server/runtime-store-remote.d.ts +5 -0
- package/dist/src/server/runtime-store-remote.js +45 -0
- package/dist/src/server/runtime-store-workflows.js +2 -0
- package/dist/src/server/runtime-store.js +14 -3
- package/dist/src/server/session-capture-claude.d.ts +1 -1
- package/dist/src/server/session-capture-claude.js +7 -4
- package/dist/src/server/session-capture-codex.js +4 -5
- package/dist/src/server/session-capture-gemini.js +4 -5
- package/dist/src/server/session-capture-opencode.d.ts +4 -4
- package/dist/src/server/session-capture-opencode.js +20 -12
- package/dist/src/server/session-capture-qwen.d.ts +5 -0
- package/dist/src/server/session-capture-qwen.js +104 -0
- package/dist/src/server/session-capture.d.ts +17 -0
- package/dist/src/server/session-capture.js +16 -0
- package/dist/src/server/sqlite-schema-v23.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v23.js +43 -0
- package/dist/src/server/sqlite-schema-v24.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v24.js +34 -0
- package/dist/src/server/sqlite-schema-v25.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v25.js +127 -0
- package/dist/src/server/sqlite-schema-v26.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v26.js +56 -0
- package/dist/src/server/sqlite-schema-v27.d.ts +6 -0
- package/dist/src/server/sqlite-schema-v27.js +92 -0
- package/dist/src/server/sqlite-schema-v28.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v28.js +19 -0
- package/dist/src/server/sqlite-schema-v29.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v29.js +27 -0
- package/dist/src/server/sqlite-schema-v30.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v30.js +27 -0
- package/dist/src/server/sqlite-schema-v31.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v31.js +30 -0
- package/dist/src/server/sqlite-schema.d.ts +1 -1
- package/dist/src/server/sqlite-schema.js +49 -1
- package/dist/src/server/startup-command-parser.js +5 -1
- package/dist/src/server/tasks-file-watcher.d.ts +2 -0
- package/dist/src/server/tasks-file-watcher.js +15 -6
- package/dist/src/server/tasks-file.js +30 -5
- package/dist/src/server/tasks-websocket-server.js +4 -0
- package/dist/src/server/team-authz.d.ts +1 -1
- package/dist/src/server/team-authz.js +13 -1
- package/dist/src/server/team-list-enrichment.js +3 -1
- package/dist/src/server/team-memory-digest.d.ts +52 -0
- package/dist/src/server/team-memory-digest.js +200 -0
- package/dist/src/server/team-memory-dream-applier.d.ts +5 -0
- package/dist/src/server/team-memory-dream-applier.js +234 -0
- package/dist/src/server/team-memory-dream-http-serializers.d.ts +13 -0
- package/dist/src/server/team-memory-dream-http-serializers.js +12 -0
- package/dist/src/server/team-memory-dream-ops.d.ts +40 -0
- package/dist/src/server/team-memory-dream-ops.js +153 -0
- package/dist/src/server/team-memory-dream-reverter.d.ts +22 -0
- package/dist/src/server/team-memory-dream-reverter.js +221 -0
- package/dist/src/server/team-memory-dream-run-store.d.ts +23 -0
- package/dist/src/server/team-memory-dream-run-store.js +211 -0
- package/dist/src/server/team-memory-dream-runner.d.ts +37 -0
- package/dist/src/server/team-memory-dream-runner.js +178 -0
- package/dist/src/server/team-memory-dream-scheduler.d.ts +32 -0
- package/dist/src/server/team-memory-dream-scheduler.js +115 -0
- package/dist/src/server/team-memory-dream-store.d.ts +19 -0
- package/dist/src/server/team-memory-dream-store.js +16 -0
- package/dist/src/server/team-memory-dream-types.d.ts +104 -0
- package/dist/src/server/team-memory-dream-types.js +23 -0
- package/dist/src/server/team-memory-export.d.ts +22 -0
- package/dist/src/server/team-memory-export.js +220 -0
- package/dist/src/server/team-memory-feature.d.ts +12 -0
- package/dist/src/server/team-memory-feature.js +12 -0
- package/dist/src/server/team-memory-http-serializers.d.ts +102 -0
- package/dist/src/server/team-memory-http-serializers.js +46 -0
- package/dist/src/server/team-memory-injection.d.ts +31 -0
- package/dist/src/server/team-memory-injection.js +49 -0
- package/dist/src/server/team-memory-store.d.ts +116 -0
- package/dist/src/server/team-memory-store.js +513 -0
- package/dist/src/server/team-operations.d.ts +5 -1
- package/dist/src/server/team-operations.js +46 -16
- package/dist/src/server/team-recall-store.d.ts +38 -0
- package/dist/src/server/team-recall-store.js +205 -0
- package/dist/src/server/terminal-input-profile.d.ts +1 -1
- package/dist/src/server/terminal-input-profile.js +18 -0
- package/dist/src/server/terminal-ws-server.js +6 -0
- package/dist/src/server/ui-auth-helpers.d.ts +1 -1
- package/dist/src/server/ui-auth-helpers.js +7 -1
- package/dist/src/server/ui-auth.d.ts +3 -0
- package/dist/src/server/ui-auth.js +21 -1
- package/dist/src/server/workflow-cli-policy.d.ts +2 -3
- package/dist/src/server/workflow-cli-policy.js +3 -3
- package/dist/src/server/workflow-runner.d.ts +1 -0
- package/dist/src/server/workflow-runner.js +9 -4
- package/dist/src/server/workspace-path-validation.js +6 -2
- package/dist/src/server/workspace-store.d.ts +1 -1
- package/dist/src/server/workspace-store.js +35 -9
- package/dist/src/shared/fs-browse.d.ts +1 -0
- package/dist/src/shared/fs-browse.js +1 -0
- package/dist/src/shared/path-input.d.ts +12 -0
- package/dist/src/shared/path-input.js +22 -0
- package/dist/src/shared/remote-bridge-routing.d.ts +19 -0
- package/dist/src/shared/remote-bridge-routing.js +141 -0
- package/dist/src/shared/remote-crypto.d.ts +138 -0
- package/dist/src/shared/remote-crypto.js +427 -0
- package/dist/src/shared/remote-pairing-code.d.ts +7 -0
- package/dist/src/shared/remote-pairing-code.js +47 -0
- package/dist/src/shared/remote-protocol.d.ts +160 -0
- package/dist/src/shared/remote-protocol.js +526 -0
- package/dist/src/shared/team-memory.d.ts +11 -0
- package/dist/src/shared/team-memory.js +10 -0
- package/dist/src/shared/team-recall.d.ts +1 -0
- package/dist/src/shared/team-recall.js +1 -0
- package/dist/src/shared/types.d.ts +4 -5
- package/package.json +12 -5
- package/scripts/postinstall-native-artifacts.mjs +113 -0
- package/web/dist/assets/AddWorkerDialog-CbV75qUX.js +2 -0
- package/web/dist/assets/AddWorkspaceFlow-CwV-7wPx.js +1 -0
- package/web/dist/assets/FirstRunWizard-a6PWIK3x.js +1 -0
- package/web/dist/assets/MarketplaceDrawer-Dd8WIA8T.js +67 -0
- package/web/dist/assets/TaskGraphDrawer-Bk5WFIk_.js +1 -0
- package/web/dist/assets/{WhatsNewDialog-CHkZeINH.js → WhatsNewDialog-C2VZaip0.js} +1 -1
- package/web/dist/assets/WorkerModal-DucW-9YT.js +1 -0
- package/web/dist/assets/WorkflowsDrawer-Bjf4olbR.js +1 -0
- package/web/dist/assets/WorkspaceMemoryDrawer-DglCy_5f.js +1 -0
- package/web/dist/assets/WorkspaceTaskDrawer-BIWwISvA.js +1 -0
- package/web/dist/assets/index-BAiLYajK.css +1 -0
- package/web/dist/assets/index-BV2k9Dts.js +73 -0
- package/web/dist/assets/search-Bk2HQvO7.js +1 -0
- package/web/dist/assets/square-terminal-D93m9hfY.js +1 -0
- package/web/dist/cli-icons/agy.png +0 -0
- package/web/dist/cli-icons/cursor.ico +0 -0
- package/web/dist/cli-icons/grok.ico +0 -0
- package/web/dist/cli-icons/qwen.png +0 -0
- package/web/dist/index.html +8 -3
- package/web/dist/sw.js +1 -1
- package/scripts/fix-runtime-artifacts.mjs +0 -33
- package/web/dist/assets/AddWorkerDialog-BRUxpa3f.js +0 -2
- package/web/dist/assets/AddWorkspaceDialog-D56x5JCb.js +0 -1
- package/web/dist/assets/FirstRunWizard-BFVaMIsE.js +0 -1
- package/web/dist/assets/MarketplaceDrawer-DeEZ35dN.js +0 -76
- package/web/dist/assets/WorkerModal-BBCuMLIa.js +0 -1
- package/web/dist/assets/WorkspaceTaskDrawer-CpZHAcj1.js +0 -1
- package/web/dist/assets/WorkspaceTerminalPanels-7If2mDyp.js +0 -1
- package/web/dist/assets/WorkspaceTerminalPanels-DDGTF8rc.css +0 -1
- package/web/dist/assets/index-5zh61jMg.css +0 -1
- package/web/dist/assets/index-CxNL0O-C.js +0 -73
- package/web/dist/assets/path-join-7MR1s7b1.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as E,j as e,u as L,a4 as le,a6 as re,i as ie,R as oe,P as ce,O as de,k as ue,r as f,a7 as pe,a8 as he,T as S,X as xe,E as me,C as Q,b as W,a9 as F,d as ke,aa as fe,x as ge,y as be,ab as je,t as ye}from"./index-BV2k9Dts.js";const we=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]],I=E("at-sign",we);const ve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ne=E("circle",ve);const _e=[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]],U=E("corner-down-right",_e);const Te=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],Ce=E("file-code",Te);const $e=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],ee=E("file-text",$e);const ze=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Se=E("save",ze),H=t=>{const n=[];let l="",a=0;const c=()=>{l&&(n.push(l),l="")};let r=0;for(;r<t.length;){const i=t.slice(r),o=i.match(/^\*\*([^*]+?)\*\*/);if(o?.[1]){c(),n.push(e.jsx("strong",{children:H(o[1])},a++)),r+=o[0].length;continue}const s=i.match(/^`([^`]+?)`/);if(s?.[1]){c(),n.push(e.jsx("code",{className:"mono",children:s[1]},a++)),r+=s[0].length;continue}const u=i.match(/^\*([^*]+?)\*/);if(u?.[1]){c(),n.push(e.jsx("em",{children:H(u[1])},a++)),r+=u[0].length;continue}l+=t[r],r+=1}return c(),n},Ee=({content:t,hasConflict:n,onContentChange:l,onKeepLocal:a,onReload:c,onSave:r})=>{const{t:i}=L(),o=s=>{s.preventDefault(),r()};return e.jsxs("form",{onSubmit:o,className:"flex h-full flex-col gap-3",children:[e.jsxs("label",{className:"flex min-h-0 flex-1 flex-col gap-2 text-xs text-sec",children:[e.jsxs("span",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:"font-medium text-sec",children:i("tasks.raw.label")}),e.jsx("span",{className:"mono text-xs text-ter",children:i("tasks.raw.lineCount",{count:t.split(/\r?\n/).length})})]}),e.jsx("textarea",{"aria-label":i("tasks.raw.label"),value:t,onChange:s=>l(s.target.value),className:"mono min-h-[360px] flex-1 resize-none rounded border p-3 text-sm text-pri outline-none focus:border-[var(--accent)]",style:{background:"var(--bg-0)",borderColor:"var(--border)"}})]}),n?e.jsxs("div",{className:"flex items-start gap-2 rounded border p-3 text-xs",style:{borderColor:"var(--status-orange)",color:"var(--status-orange)"},children:[e.jsx(le,{className:"mt-0.5 shrink-0",size:16}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"font-medium",children:i("tasks.raw.conflictTitle")}),e.jsx("p",{className:"mt-1 text-ter",children:i("tasks.raw.conflictDescription")})]}),e.jsxs("div",{className:"flex shrink-0 gap-2",children:[e.jsxs("button",{type:"button",onClick:c,className:"icon-btn",children:[e.jsx(re,{size:14}),i("tasks.raw.reload")]}),e.jsx("button",{type:"button",onClick:a,className:"icon-btn",children:i("tasks.raw.keepLocal")})]})]}):null,e.jsx("div",{className:"flex justify-end border-t pt-3",style:{borderColor:"var(--border)"},children:e.jsxs("button",{type:"submit",className:"icon-btn icon-btn--primary",children:[e.jsx(Se,{size:14}),i("tasks.raw.save")]})})]})},O=["#a78bfa","#60a5fa","#5eead4","#86efac","#fde047","#fb923c","#f9a8d4","#fca5a5"],te=t=>{let n=0;for(let l=0;l<t.length;l+=1)n=n*31+t.charCodeAt(l)>>>0;return O[n%O.length]??O[0]},Me=[{pattern:/^(done|completed?|finished?|ok|success|完成|已完成|搞定)$/i,tone:"green"},{pattern:/^(working|running|in[-_ ]?progress|dispatching|dispatched|进行中|派单中?|执行中|处理中)$/i,tone:"orange"},{pattern:/^(blocked|failed|error|errored|阻塞|失败|出错)$/i,tone:"red"},{pattern:/^(queued|waiting|pending|todo|open|idle|待办|等待中?|队列中|未开始)$/i,tone:"neutral"}],q=new Set(["owner","assignee","负责","负责人","执行人"]),G=new Set(["status","状态"]),X=new Set(["报告","report","文件","file","path","日志","log","产物"]),De=/^(.*?)\s*\(([^()]+)\)\s*$/,Re=/\s*[·,,;;]\s*/,Le=/^([^::]+)[::]\s*(.+)$/,Ae=t=>{for(const{pattern:n,tone:l}of Me)if(n.test(t))return l;return"neutral"},Pe=t=>t.includes("/")||/^[A-Za-z]:\\/.test(t)||(t.match(/\\/g)?.length??0)>=2?!0:/^[A-Za-z0-9._-]+\.[A-Za-z0-9]+$/.test(t),Ie=t=>{const n=t.match(De);if(!n)return{title:t,meta:[]};const[,l="",a=""]=n;if(!a.trim())return{title:t,meta:[]};const c=a.split(Re).filter(Boolean),r=[];for(const i of c){const o=i.match(Le);if(!o){r.push({kind:"note",value:i.trim()});continue}const s=(o[1]??"").trim(),u=(o[2]??"").trim(),d=s.toLowerCase();q.has(d)||q.has(s)?r.push({kind:"owner",value:u}):G.has(d)||G.has(s)?r.push({kind:"status",value:u,tone:Ae(u)}):X.has(d)||X.has(s)||Pe(u)?r.push({kind:"path",label:s,value:u}):r.push({kind:"note",value:`${s}: ${u}`})}return{title:l.trim(),meta:r}},Y=3,Ke=({item:t,handlers:n})=>{if(t.kind==="status")return e.jsx("span",{className:`pill pill--${t.tone}`,"data-testid":"task-meta-status",children:t.value});if(t.kind==="owner"){const a={"--owner-tone":te(t.value)};return n.onSelectOwner?e.jsxs("button",{type:"button",className:"task-owner task-owner--clickable","data-testid":"task-meta-owner","data-owner":t.value,onClick:c=>{c.stopPropagation(),n.onSelectOwner?.(t.value)},style:a,children:[e.jsx(I,{size:10,"aria-hidden":!0}),t.value]}):e.jsxs("span",{className:"task-owner","data-testid":"task-meta-owner","data-owner":t.value,style:a,children:[e.jsx(I,{size:10,"aria-hidden":!0}),t.value]})}return t.kind==="path"?e.jsxs("span",{className:"pill pill--neutral mono inline-flex items-center gap-1","data-testid":"task-meta-path",title:`${t.label}: ${t.value}`,children:[e.jsx(ee,{size:10,"aria-hidden":!0}),t.value]}):e.jsx("span",{className:"text-xs text-ter","data-testid":"task-meta-note",children:t.value})},Z=({initial:t,onSubmit:n,onCancel:l,placeholder:a})=>{const[c,r]=f.useState(t),i=()=>{const s=c.trim();if(!s){l();return}n(s)},o=s=>{s.key==="Enter"?(s.preventDefault(),i()):s.key==="Escape"&&(s.preventDefault(),l())};return e.jsx("input",{type:"text",autoFocus:!0,value:c,placeholder:a,onChange:s=>r(s.target.value),onKeyDown:o,onBlur:i,"data-testid":"task-inline-input",className:"task-row__input"})},V=({task:t,handlers:n,depth:l})=>{const{t:a}=L(),c=t.checked?ke:Ne,{title:r,meta:i}=Ie(t.text),[o,s]=f.useState(!1),[u,d]=f.useState(!1),[g,M]=f.useState(!1),[y,v]=f.useState(!1),m=f.useRef(null);f.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const{onToggle:p,onUpdateText:w,onDelete:_,onAppendSubtask:D,onCopyLine:T,onSelectOwner:k,writeDisabled:b=!1}=n,C=!!w&&!b,N=!!_&&!b,A=!!D&&!b,$=!!T,R=!o&&!u&&(C||N||A||$),z=t.children.length,x=fe(t),P=l+1>=Y,K=z>0,se=g?a("tasks.aria.expandSubtasks",{count:z}):a("tasks.aria.collapseSubtasks",{count:z}),ae=k?{onSelectOwner:k}:{};return e.jsxs("li",{className:"task-node","data-testid":`task-line-${t.line}`,children:[e.jsxs("div",{className:"task-row group",children:[l>=Y?e.jsx("span",{"aria-hidden":!0,className:"task-row__deep-marker",children:"▸"}):null,e.jsxs("label",{className:"task-row__checkbox-cell",children:[e.jsx("input",{type:"checkbox",checked:t.checked,disabled:b,onChange:()=>{b||p(t.line)},className:"sr-only","data-testid":`task-checkbox-${t.line}`,"aria-label":t.text||`task-line-${t.line}`}),e.jsx("span",{className:`task-row__indicator ${t.checked?"task-status-done":"task-status-open"}`,"aria-hidden":!0,children:e.jsx(c,{size:14})})]}),e.jsx("span",{className:"min-w-0 flex-1",children:o?e.jsx(Z,{initial:t.text,placeholder:a("tasks.placeholder.editTask"),onSubmit:h=>{s(!1),w?.(t.line,h)},onCancel:()=>s(!1)}):e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"flex min-w-0 items-start gap-2",children:[e.jsx("span",{className:`task-row__title min-w-0 flex-1 ${t.checked?"text-ter line-through":"text-pri"}`,children:H(r)}),K?e.jsx("button",{type:"button",className:"task-row__collapse",onClick:h=>{h.stopPropagation(),M(j=>!j)},"data-testid":`task-collapse-${t.line}`,"aria-expanded":!g,"aria-label":se,children:g?e.jsx(W,{size:12,"aria-hidden":!0}):e.jsx(Q,{size:12,"aria-hidden":!0})}):null,x?e.jsxs("span",{className:"task-child-count mono","data-testid":`task-progress-${t.line}`,title:a("tasks.progress.subtaskTitle",{done:x.done,total:x.total}),children:[x.done,"/",x.total]}):null]}),i.length>0||t.mentions.length>0?e.jsxs("span",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:[i.map(h=>e.jsx(Ke,{item:h,handlers:ae},`${t.line}-meta-${h.kind}-${"label"in h?h.label:""}-${h.value}`)),t.mentions.map(h=>{const j=h.replace(/^@/,""),B={"--owner-tone":te(j)};return k?e.jsxs("button",{type:"button",className:"task-owner task-owner--clickable","data-testid":`task-mention-${j}`,"data-owner":j,onClick:ne=>{ne.stopPropagation(),k(j)},style:B,children:[e.jsx(I,{size:10,"aria-hidden":!0}),j]},`${t.line}-mention-${h}`):e.jsxs("span",{className:"task-owner","data-testid":`task-mention-${j}`,"data-owner":j,style:B,children:[e.jsx(I,{size:10,"aria-hidden":!0}),j]},`${t.line}-mention-${h}`)})]}):null]})}),R?e.jsxs("div",{className:"task-row__actions pointer-coarse:opacity-100",children:[$?e.jsx(S,{label:a(y?"tasks.action.copied":"tasks.action.copyLine"),children:e.jsx("button",{type:"button",className:"task-row__action pointer-coarse:h-10 pointer-coarse:w-10",onClick:()=>{T?.(t.line),v(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{v(!1),m.current=null},1500)},"data-testid":`task-copy-${t.line}`,"aria-label":a(y?"tasks.aria.copiedTaskLine":"tasks.aria.copyTaskLine"),children:y?e.jsx(ge,{size:12}):e.jsx(be,{size:12})})}):null,C?e.jsx(S,{label:a("tasks.action.edit"),children:e.jsx("button",{type:"button",className:"task-row__action pointer-coarse:h-10 pointer-coarse:w-10",onClick:()=>s(!0),"data-testid":`task-edit-${t.line}`,"aria-label":a("tasks.aria.editTask"),children:e.jsx(je,{size:12})})}):null,A?e.jsx(S,{label:a("tasks.action.addSubtask"),children:e.jsx("button",{type:"button",className:"task-row__action pointer-coarse:h-10 pointer-coarse:w-10",onClick:()=>{M(!1),d(!0)},"data-testid":`task-add-subtask-${t.line}`,"aria-label":a("tasks.aria.addSubtask"),children:e.jsx(U,{size:12})})}):null,N?e.jsx(S,{label:a("tasks.action.delete"),children:e.jsx("button",{type:"button",className:"task-row__action task-row__action--danger pointer-coarse:h-10 pointer-coarse:w-10",onClick:()=>_?.(t.line),"data-testid":`task-delete-${t.line}`,"aria-label":a("tasks.aria.deleteTask"),children:e.jsx(ye,{size:12})})}):null]}):null]}),z>0&&!g||u?e.jsxs("ul",{className:`task-children${P?" task-children--deep":""}`,"data-testid":`task-children-${t.line}`,children:[g?null:t.children.map(h=>e.jsx(V,{depth:l+1,handlers:n,task:h},h.line)),u?e.jsx("li",{className:"task-node",children:e.jsxs("div",{className:"task-row task-row--child-input",children:[e.jsx("span",{"aria-hidden":!0,className:"task-row__indicator task-status-open",children:e.jsx(U,{size:12})}),e.jsx(Z,{initial:"",placeholder:a("tasks.placeholder.newSubtask"),onSubmit:h=>{d(!1),D?.(t.line,h)},onCancel:()=>d(!1)})]})}):null]}):null]})},J=({onSubmit:t,disabled:n=!1,variant:l="ghost"})=>{const{t:a}=L(),[c,r]=f.useState(!1),[i,o]=f.useState(""),s=()=>{const d=i.trim();if(!d){r(!1);return}t(d),o("")},u=d=>{d.key==="Enter"?(d.preventDefault(),s()):d.key==="Escape"&&(d.preventDefault(),o(""),r(!1))};return c?e.jsxs("div",{className:"task-add-input",children:[e.jsx("span",{"aria-hidden":!0,className:"task-add-input__icon",children:e.jsx(F,{size:12})}),e.jsx("input",{type:"text",autoFocus:!0,value:i,placeholder:a("tasks.placeholder.newTask"),onChange:d=>o(d.target.value),onKeyDown:u,onBlur:s,"data-testid":"task-add-input",className:"task-add-input__field"})]}):e.jsxs("button",{type:"button",onClick:()=>r(!0),disabled:n,"data-testid":"task-add-toggle",className:`task-add-toggle${l==="primary"?" task-add-toggle--primary":""}`,children:[e.jsx("span",{"aria-hidden":!0,className:"task-add-toggle__icon",children:e.jsx(F,{size:12})}),e.jsx("span",{children:a("tasks.button.addTask")})]})},Oe=t=>{let n=0,l=0;const a=[],c=[],r=o=>{n+=1,o.checked&&(l+=1);for(const s of o.children)r(s)};for(const o of t)o.checked?c.push(o):a.push(o),r(o);const i=n===0?0:Math.round(l/n*100);return{completedTasks:l,completionPercent:i,doneRoots:c,openRoots:a,totalTasks:n}},He=({content:t,hasConflict:n,onClose:l,onContentChange:a,onKeepLocal:c,onReload:r,onSave:i,onToggleTaskLine:o,onAppendTask:s,onAppendSubtask:u,onUpdateTaskText:d,onDeleteTask:g,workspacePath:M,knownWorkerNames:y,onSelectOwner:v,connectionStale:m=!1})=>{const{t:p}=L(),[w,_]=f.useState(!1),T={onToggle:o,onCopyLine:x=>{const P=t.split(/\r?\n/)[x];typeof P=="string"&&navigator.clipboard?.writeText(P).catch(K=>{console.error("[hive] swallowed:tasks.copyLine",K)})},...d&&!m?{onUpdateText:d}:{},...g&&!m?{onDelete:g}:{},...u&&!m?{onAppendSubtask:u}:{},...v?{onSelectOwner:v}:{},...m?{writeDisabled:!0}:{}},k=f.useMemo(()=>pe(t,y?{knownWorkerNames:y}:{}),[t,y]),{completedTasks:b,completionPercent:C,doneRoots:N,openRoots:A,totalTasks:$}=f.useMemo(()=>Oe(k),[k]),[R,z]=f.useState(N.length<=3);return e.jsxs("div",{className:"flex h-full min-h-0 flex-col","data-testid":"task-graph-content",children:[e.jsxs("header",{className:"task-drawer__header",children:[e.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)",color:"var(--accent)"},children:e.jsx(he,{size:16,"aria-hidden":!0})}),e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[e.jsx("span",{className:"text-[13px] font-semibold text-pri leading-tight",children:p("tasks.title.todo")}),$>0?e.jsx("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-medium tabular-nums",style:{background:C===100?"color-mix(in oklab, var(--status-green) 18%, transparent)":"var(--bg-3)",color:C===100?"var(--status-green)":"var(--text-secondary)"},"data-testid":"task-graph-summary",children:e.jsxs("span",{"data-testid":"task-progress-text",children:[b,"/",$]})}):null]}),e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[e.jsx(S,{label:p(w?"tasks.action.backToList":"tasks.action.viewSource"),children:e.jsx("button",{type:"button",onClick:()=>_(x=>!x),"data-testid":"task-raw-toggle",className:"icon-btn pointer-coarse:min-h-10","aria-label":p(w?"tasks.action.backToList":"tasks.action.viewSource"),children:e.jsx(Ce,{size:14})})}),l?e.jsx(S,{label:p("tasks.action.closeTodo"),children:e.jsx("button",{type:"button",onClick:l,"aria-label":p("tasks.action.closeTodo"),className:"icon-btn pointer-coarse:min-h-10",children:e.jsx(xe,{size:14})})}):null]})]}),!w&&$>0?e.jsx("div",{"aria-label":p("tasks.aria.progress"),"aria-valuemax":100,"aria-valuemin":0,"aria-valuenow":C,className:"task-progress-thin task-drawer__progress","data-testid":"task-progress-bar",role:"progressbar",children:e.jsx("span",{style:{width:`${C}%`}})}):null,e.jsx("div",{className:"scroll-y flex-1 px-3 py-2.5 text-sm",children:w?e.jsx(Ee,{content:t,hasConflict:n,onContentChange:a,onKeepLocal:c,onReload:r,onSave:i}):k.length===0?e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(me,{icon:e.jsx(ee,{size:20}),title:p("tasks.empty.title"),description:p("tasks.empty.description"),...s?{action:e.jsx(J,{variant:"primary",disabled:m,onSubmit:s})}:{}})}):e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("ul",{className:"task-list","data-testid":"task-graph-list",children:[A.map(x=>e.jsx(V,{depth:0,handlers:T,task:x},x.line)),s?e.jsx("li",{children:e.jsx(J,{disabled:m,onSubmit:s})}):null]}),N.length>0?e.jsxs("div",{className:"mt-2",children:[e.jsxs("button",{type:"button",onClick:()=>z(x=>!x),"aria-expanded":R,"data-testid":"task-completed-toggle",className:"task-completed-toggle pointer-coarse:min-h-10",children:[R?e.jsx(Q,{size:11,"aria-hidden":!0}):e.jsx(W,{size:11,"aria-hidden":!0}),e.jsx("span",{children:p("tasks.completed.toggle",{count:N.length})}),e.jsx("span",{className:"ml-auto rounded-full px-1.5 py-0.5 text-[9px] tabular-nums",style:{background:"var(--bg-3)",color:"var(--text-tertiary)"},children:N.length})]}),R?e.jsx("ul",{className:"task-list mt-1","data-testid":"task-completed-list",children:N.map(x=>e.jsx(V,{depth:0,handlers:T,task:x},x.line))}):null]}):null]})})]})},Be=({content:t,hasConflict:n,onClose:l,onContentChange:a,onKeepLocal:c,onReload:r,onSave:i,onToggleTaskLine:o,onAppendTask:s,onAppendSubtask:u,onUpdateTaskText:d,onDeleteTask:g,open:M,workspacePath:y,knownWorkerNames:v,onSelectOwner:m,connectionStale:p=!1})=>{const{t:w}=L(),_=ie(),D=k=>{if(k.key!=="Escape")return;const b=k.target?.tagName;b==="INPUT"||b==="TEXTAREA"||(k.preventDefault(),l())},T=`dialog-scale-pop elev-2 task-dialog__content pointer-events-auto flex flex-col rounded-lg border${p?" task-dialog--stale":""}`;return e.jsx(oe,{open:M,onOpenChange:k=>!k&&l(),children:e.jsxs(ce,{children:[e.jsx(de,{"data-testid":"task-graph-overlay",className:"app-overlay fixed inset-0 z-40"}),e.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center p-4",children:e.jsx(ue,{"aria-label":w("tasks.aria.drawer"),"data-testid":"task-graph-drawer","data-connection-stale":p||void 0,"data-mobile":_||void 0,onEscapeKeyDown:k=>k.preventDefault(),onKeyDown:D,className:T,style:_?{background:"var(--bg-1)",borderColor:"var(--border-bright)"}:{background:"var(--bg-1)",borderColor:"var(--border-bright)",height:"min(720px, calc(100vh - 64px))",width:"min(640px, calc(100vw - 48px))"},children:e.jsx(He,{content:t,hasConflict:n,onClose:l,onContentChange:a,onKeepLocal:c,onReload:r,onSave:i,onToggleTaskLine:o,workspacePath:y,...s?{onAppendTask:s}:{},...u?{onAppendSubtask:u}:{},...d?{onUpdateTaskText:d}:{},...g?{onDeleteTask:g}:{},...v?{knownWorkerNames:v}:{},...m?{onSelectOwner:m}:{},...p?{connectionStale:p}:{}})})})]})})};export{He as TaskGraphContent,Be as TaskGraphDrawer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as x,j as e,
|
|
1
|
+
import{u as x,j as e,R as d,P as m,O as p,k as h,H as j,m as v,$ as f}from"./index-BV2k9Dts.js";const N=({open:n,entries:r,onClose:t})=>{const{t:a,language:i}=x(),c=s=>{s||t()};return e.jsx(d,{open:n,onOpenChange:c,children:e.jsxs(m,{children:[e.jsx(p,{className:"app-overlay fixed inset-0 z-40"}),e.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center p-4",children:e.jsxs(h,{"aria-label":a("whatsNew.title"),className:"dialog-scale-pop elev-2 pointer-events-auto flex max-h-[calc(100vh-64px)] w-[480px] max-w-[calc(100vw-32px)] flex-col rounded-lg border p-6",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{"aria-hidden":!0,className:"flex h-10 w-10 items-center justify-center rounded-lg",style:{background:"color-mix(in oklab, var(--accent) 15%, transparent)",color:"var(--accent)",border:"1px solid color-mix(in oklab, var(--accent) 30%, transparent)"},children:e.jsx(j,{size:20})}),e.jsxs("div",{children:[e.jsx(v,{className:"text-lg font-semibold text-pri",children:a("whatsNew.title")}),e.jsx(f,{className:"text-xs text-ter",children:a("whatsNew.subtitle")})]})]}),e.jsx("div",{className:"-mr-2 mt-4 flex flex-col gap-5 overflow-y-auto pr-2",children:r.map(s=>{const o=i==="zh"?s.zh:s.en;return e.jsxs("section",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-sm font-medium text-pri",children:a("whatsNew.versionLabel",{version:s.version})}),e.jsx("span",{className:"text-xs text-ter",children:s.date})]}),e.jsx("ul",{className:"flex flex-col gap-1.5",children:o.map(l=>e.jsxs("li",{className:"flex items-start gap-2 text-sm text-sec",children:[e.jsx("span",{"aria-hidden":!0,className:"mt-1.5 h-1 w-1 shrink-0 rounded-full bg-accent"}),e.jsx("span",{children:l})]},l))})]},s.version)})}),e.jsx("div",{className:"mt-5 flex justify-end",children:e.jsx("button",{type:"button",onClick:t,className:"icon-btn icon-btn--primary justify-center",children:a("whatsNew.gotIt")})})]})})]})})};export{N as WhatsNewDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as d,u as j,i as k,af as f,j as e,R,P as N,O as M,k as C,m as E,$ as S,a4 as L,T as D,z as I,X as O,ag as W,q as A,ah as T,ai as P}from"./index-BV2k9Dts.js";const _=t=>{switch(t){case"coder":return{badgeClass:"role-badge--coder",label:"Coder"};case"tester":return{badgeClass:"role-badge--tester",label:"Tester"};case"reviewer":return{badgeClass:"role-badge--reviewer",label:"Reviewer"};case"custom":return{badgeClass:"role-badge--custom",label:"Custom"};default:return{badgeClass:"role-badge--custom",label:String(t)}}},y="hive.worker-modal.width",u=480,$=.5,x=t=>{const n=typeof window<"u"?window.innerWidth-24:1200;return Math.min(Math.max(t,u),Math.max(u,n))},g=()=>typeof window>"u"?u:x(Math.round(window.innerWidth*$)),F=()=>{try{const t=localStorage.getItem(y);if(!t)return g();const n=Number.parseInt(t,10);return Number.isFinite(n)?x(n):g()}catch{return g()}},K=()=>{const[t,n]=d.useState(()=>F()),[m,c]=d.useState(!1);d.useEffect(()=>{try{localStorage.setItem(y,String(Math.round(t)))}catch{}},[t]),d.useEffect(()=>{const a=()=>{n(r=>x(r))};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]);const h=d.useCallback(a=>r=>{r.preventDefault();const s=r.clientX,p=t;c(!0);const b=document.body.style.cursor,v=document.body.style.userSelect;document.body.style.cursor="col-resize",document.body.style.userSelect="none";const o=i=>{const w=i.clientX-s,z=a==="left"?p-2*w:p+2*w;n(x(z))},l=()=>{c(!1),document.body.style.cursor=b,document.body.style.userSelect=v,document.removeEventListener("pointermove",o),document.removeEventListener("pointerup",l),document.removeEventListener("pointercancel",l)};document.addEventListener("pointermove",o),document.addEventListener("pointerup",l),document.addEventListener("pointercancel",l)},[t]);return{width:t,resizing:m,beginResize:h}},U=({onClose:t,onStart:n,runId:m,startError:c,starting:h,worker:a})=>{const{t:r}=j(),s=k(),p=_(a.role),b=!!m,v=T(b),o=K();d.useLayoutEffect(()=>{if(!s)return;const i=P();return f(!0),()=>f(i)},[s]);const l=i=>{i||t()};return e.jsx(R,{open:!0,onOpenChange:l,children:e.jsxs(N,{children:[e.jsx(M,{"data-testid":"worker-modal-overlay",className:"app-overlay fixed inset-0 z-40"}),e.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center",children:e.jsxs(C,{"data-testid":"worker-modal","aria-label":r("worker.detail",{name:a.name}),className:"dialog-scale-pop pointer-events-auto relative flex h-screen max-h-screen max-w-full flex-col overflow-hidden","data-mobile":s||void 0,onEscapeKeyDown:i=>i.preventDefault(),style:s?{background:"var(--bg-1)"}:{background:"var(--bg-1)",width:`${o.width}px`},children:[s?null:e.jsxs(e.Fragment,{children:[e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":r("worker.widthResize"),"aria-valuemin":u,"aria-valuenow":Math.round(o.width),className:"modal-resize-handle modal-resize-handle--left",tabIndex:-1,"data-resizing":o.resizing||void 0,onPointerDown:o.beginResize("left")}),e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":r("worker.widthResize"),"aria-valuemin":u,"aria-valuenow":Math.round(o.width),className:"modal-resize-handle modal-resize-handle--right",tabIndex:-1,"data-resizing":o.resizing||void 0,onPointerDown:o.beginResize("right")})]}),e.jsx(E,{className:"sr-only",children:a.name}),e.jsxs(S,{className:"sr-only",children:[p.label," agent — status ",v.label]}),c?e.jsxs("div",{role:"alert",className:"flex shrink-0 items-center gap-2 border-b px-4 py-2 text-xs",style:{background:"color-mix(in oklab, var(--status-red) 10%, transparent)",borderColor:"color-mix(in oklab, var(--status-red) 30%, var(--border))",color:"var(--status-red)"},children:[e.jsx(L,{size:12,"aria-hidden":!0}),e.jsx("span",{className:"break-words",children:c})]}):null,e.jsxs("div",{className:`relative flex min-h-0 flex-1 flex-col${s?"":" p-3"}`,"data-testid":"worker-modal-terminal-slot",children:[e.jsx(D,{label:r("common.close"),children:e.jsx(I,{asChild:!0,children:e.jsx("button",{type:"button","aria-label":"Close worker detail","data-testid":"worker-modal-close",className:`float-action absolute z-10 ${s?"top-2 right-2":"top-4 right-4"}`,style:s?{minHeight:44,minWidth:44}:void 0,children:e.jsx(O,{size:s?16:14,"aria-hidden":!0})})})}),e.jsx("div",{className:`flex min-h-0 flex-1${s?"":" rounded-lg border"}`,style:{background:"var(--bg-crust)",borderColor:"var(--border)"},children:b?e.jsx("div",{id:`worker-pty-${m}`,className:"flex h-full w-full","data-pty-slot":"worker"}):e.jsxs("div",{className:"m-auto flex max-w-[400px] flex-col items-center gap-3 px-6 text-center",children:[e.jsx(W,{commandPresetId:a.commandPresetId,workerRole:a.role,size:48}),e.jsx("div",{className:"text-sm text-pri",children:a.name}),e.jsxs("div",{className:"text-xs text-ter",children:[a.status==="stopped"?r("worker.terminalStopped"):r("worker.terminalNotStarted"),r("worker.startAgent")]}),e.jsxs("button",{type:"button",onClick:()=>n(a),disabled:h,className:"icon-btn icon-btn--primary","data-testid":"worker-start-empty",children:[e.jsx(A,{size:12,"aria-hidden":!0})," ",r(h?"common.starting":"common.start")]})]})})]})]})})]})})};export{U as WorkerModal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as T,r as d,l as se,a as te,u as z,g as le,j as e,C as L,b as O,d as M,L as P,S as ae,s as ne,e as re,W as A,I as ie,T as S,X as V,A as oe,E as ce,f as I,h as de,i as ue,R as X,P as G,O as J,k as Q,m as K,n as Y,o as fe,p as me,q as pe,t as he,v as we,w as xe,x as D,y as W,M as je,z as ge,B as be}from"./index-BV2k9Dts.js";import{S as Z}from"./square-terminal-D93m9hfY.js";const ye=[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]],ee=T("calendar-clock",ye);const Ne=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]],q=T("circle-minus",Ne);const ke=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],_e=T("octagon-x",ke);const ve=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Se=T("pause",ve),F=2e3,Ce=({workspaceId:s,enabled:l})=>{const[t,a]=d.useState([]),[i,n]=d.useState([]),[c,m]=d.useState(null),[b,j]=d.useState(!1),f=d.useRef(!1),x=d.useRef(null),y=d.useCallback(async()=>{if(s)try{const r=await se(s);f.current||a(r)}catch(r){f.current||m(r instanceof Error?r.message:String(r))}},[s]),h=d.useCallback(async()=>{if(s)try{const r=await te(s);f.current||n(r)}catch(r){f.current||m(r instanceof Error?r.message:String(r))}},[s]),w=d.useCallback(async()=>{if(!(!s||!l)){j(!0);try{await Promise.all([y(),h()])}finally{f.current||j(!1)}}},[s,l,y,h]),u=d.useCallback(async()=>{await h()},[h]);return d.useEffect(()=>{if(f.current=!1,!s)return()=>{f.current=!0,x.current&&(clearTimeout(x.current),x.current=null)};m(null),j(!0),Promise.all([y(),h()]).finally(()=>{f.current||j(!1)});const r=async()=>{f.current||(await y(),!f.current&&(x.current=setTimeout(r,F)))};return x.current=setTimeout(r,F),()=>{f.current=!0,x.current&&(clearTimeout(x.current),x.current=null)}},[l,s,y,h]),{runs:t,schedules:i,error:c,loading:b,refresh:w,refreshSchedules:u}},ze={agy:"Antigravity CLI",claude:"Claude Code",codex:"Codex",cursor:"Cursor CLI",gemini:"Gemini",grok:"Grok Build",hermes:"Hermes",opencode:"OpenCode",qwen:"Qwen Code"},$e={agy:"/cli-icons/agy.png",claude:"/cli-icons/claude.png",codex:"/cli-icons/codex.png",cursor:"/cli-icons/cursor.ico",gemini:"/cli-icons/gemini.png",grok:"/cli-icons/grok.ico",hermes:"/cli-icons/hermes.png",opencode:"/cli-icons/opencode.svg",qwen:"/cli-icons/qwen.png"},E=({cli:s})=>{const l=$e[s];return l?e.jsx("img",{src:l,alt:"","aria-hidden":!0,className:"wf-cli-option__icon"}):e.jsx(Z,{size:13,"aria-hidden":!0,className:"wf-cli-option__fallback-icon"})},U=s=>s.map(l=>({cli:l,label:ze[l]??l})),Te=()=>{const{t:s}=z(),[l,t]=d.useState([]),[a,i]=d.useState([]),[n,c]=d.useState("claude"),[m,b]=d.useState(!1),[j,f]=d.useState(!1),[x,y]=d.useState(null),[h,w]=d.useState(!0);d.useEffect(()=>{let o=!1;return le().then(g=>{if(o)return;const k=U(g.supported),v=k.map(R=>R.cli),C=v.filter(R=>g.allowed.includes(R));t(k),i(C.length>0?C:v),c(v.includes(g.default)?g.default:v[0]??"claude"),b(!0)}).catch(()=>b(!0)),()=>{o=!0}},[]);const u=o=>{y(null),i(g=>{const k=g.includes(o)?g.filter(v=>v!==o):[...g,o];return!k.includes(n)&&k.length>0&&c(k[0]),k})},r=o=>{y(null),c(o),a.includes(o)||i(g=>[...g,o])},N=!j&&a.length>0&&a.includes(n),p=l.find(o=>o.cli===n)?.label??n,_=async()=>{if(N){f(!0),y(null);try{const o=await ne({default:n,allowed:a}),g=U(o.supported),k=g.map(C=>C.cli),v=k.filter(C=>o.allowed.includes(C));t(g),i(v),c(k.includes(o.default)?o.default:k[0]??"claude"),y("saved")}catch{y("error")}finally{f(!1)}}};return e.jsxs("section",{className:"wf-cli-policy","data-testid":"workflow-cli-policy",children:[e.jsxs("button",{type:"button",className:"wf-cli-policy__toggle","aria-expanded":h,onClick:()=>w(o=>!o),children:[e.jsxs("div",{className:"wf-cli-policy__hero",children:[e.jsx("div",{className:"wf-cli-policy__hero-icon",children:e.jsx(Z,{size:16})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"wf-cli-policy__title",children:s("workflows.cli.title")}),e.jsx("p",{className:"wf-cli-policy__desc",children:s("workflows.cli.desc")})]})]}),e.jsxs("div",{className:"wf-cli-policy__summary",children:[e.jsxs("div",{className:"wf-cli-policy__summary-card",children:[e.jsx("span",{className:"wf-cli-policy__summary-label",children:s("workflows.cli.default")}),e.jsxs("span",{className:"wf-cli-policy__summary-value",children:[e.jsx(E,{cli:n}),p]})]}),e.jsxs("div",{className:"wf-cli-policy__summary-card",children:[e.jsx("span",{className:"wf-cli-policy__summary-label",children:s("workflows.cli.allowed")}),e.jsx("span",{className:"wf-cli-policy__summary-value",children:a.length})]})]}),e.jsx("div",{className:"wf-cli-policy__toggle-icon","aria-hidden":!0,children:h?e.jsx(L,{size:16}):e.jsx(O,{size:16})})]}),h?e.jsxs("div",{className:"wf-cli-policy__body",children:[e.jsxs("fieldset",{className:"wf-cli-policy__fieldset wf-cli-policy__group",children:[e.jsx("legend",{className:"wf-cli-policy__legend",children:s("workflows.cli.default")}),e.jsx("div",{className:"wf-cli-policy__options",children:l.map(o=>e.jsxs("label",{className:`wf-cli-option${n===o.cli?" wf-cli-option--active":""}`,children:[e.jsx("input",{type:"radio",name:"workflow-default-cli",checked:n===o.cli,onChange:()=>r(o.cli),className:"sr-only"}),e.jsx(E,{cli:o.cli}),o.label]},o.cli))})]}),e.jsxs("fieldset",{className:"wf-cli-policy__fieldset wf-cli-policy__group",children:[e.jsx("legend",{className:"wf-cli-policy__legend",children:s("workflows.cli.allowed")}),e.jsx("div",{className:"wf-cli-policy__options",children:l.map(o=>{const g=a.includes(o.cli);return e.jsxs("label",{className:`wf-cli-option${g?" wf-cli-option--active":""}`,children:[e.jsx("input",{type:"checkbox",checked:g,onChange:()=>u(o.cli),className:"sr-only"}),e.jsx(E,{cli:o.cli}),o.label,g?e.jsx(M,{size:12,"aria-hidden":!0,className:"ml-0.5"}):null]},o.cli)})})]}),e.jsxs("div",{className:"wf-cli-policy__footer",children:[e.jsxs("div",{className:"wf-cli-policy__footer-status",children:[x==="saved"?e.jsxs("span",{className:"wf-cli-policy__status wf-cli-policy__status--saved",children:[e.jsx(M,{size:12}),s("workflows.cli.saved")]}):null,x==="error"?e.jsx("span",{className:"wf-cli-policy__status wf-cli-policy__status--error",children:s("workflows.cli.failed")}):null,!N&&a.length===0?e.jsx("span",{className:"wf-cli-policy__status wf-cli-policy__status--error",children:s("workflows.cli.pickOne")}):null,m?null:e.jsxs("span",{className:"wf-cli-policy__status",children:[e.jsx(P,{size:12,className:"animate-spin"}),s("workflows.loading")]})]}),e.jsxs("button",{type:"button",className:"drawer-action-btn wf-cli-policy__save pointer-coarse:min-h-9",onClick:_,disabled:!N,children:[e.jsx(ae,{size:14}),s(j?"workflows.cli.saving":"workflows.cli.save")]})]})]}):null]})},Re=s=>({running:e.jsx(P,{size:14,className:"animate-spin text-accent","aria-label":s("workflows.status.running")}),completed:e.jsx(M,{size:14,className:"text-status-green","aria-label":s("workflows.status.completed")}),failed:e.jsx(Y,{size:14,className:"text-status-red","aria-label":s("workflows.status.failed")}),interrupted:e.jsx(q,{size:14,className:"text-status-orange","aria-label":s("workflows.status.interrupted")}),stopped:e.jsx(q,{size:14,className:"text-ter","aria-label":s("workflows.status.stopped")})}),Ae={running:"drawer-status-badge--running",completed:"drawer-status-badge--completed",failed:"drawer-status-badge--failed",interrupted:"drawer-status-badge--interrupted",stopped:"drawer-status-badge--stopped"},Ee=s=>{const l=s.split(/[\\/]/);return l[l.length-1]??s},B=(s,l)=>{const t=Math.floor((Date.now()-s)/1e3);return t<60?l("common.time.sAgo",{count:t}):t<3600?l("common.time.mAgo",{count:Math.floor(t/60)}):t<86400?l("common.time.hAgo",{count:Math.floor(t/3600)}):l("common.time.dAgo",{count:Math.floor(t/86400)})},$=(s,l=80)=>{if(!s)return"";const t=s.trim();return t.length<=l?t:`${t.slice(0,l-1)}…`},Me=(s,l)=>{const t=(l??Date.now())-s;if(t<1e3)return`${t}ms`;const a=Math.floor(t/1e3);if(a<60)return`${a}s`;if(a<3600){const c=Math.floor(a/60),m=a%60;return m===0?`${c}m`:`${c}m${m}s`}const i=Math.floor(a/3600),n=Math.floor(a%3600/60);return n===0?`${i}h`:`${i}h${n}m`},Le=s=>{if(s==null)return null;if(typeof s=="string")return s;try{return JSON.stringify(s)}catch{return null}},Oe=s=>typeof s=="string"?s:JSON.stringify(s,null,2),Pe=s=>{const l=new Map,t=[];for(const n of s)if(n.parentRunId){const c=l.get(n.parentRunId)??[];c.push(n),l.set(n.parentRunId,c)}else t.push(n);const a=[];for(const n of t){a.push({run:n,depth:0});const c=l.get(n.id)??[];for(const m of c)a.push({run:m,depth:1})}const i=new Set(a.map(n=>n.run.id));for(const n of s)i.has(n.id)||a.push({run:n,depth:0});return a},Ie={queued:{mark:"○",tone:"text-ter"},submitted:{mark:"◐",tone:"text-accent"},reported:{mark:"●",tone:"text-status-green"},cancelled:{mark:"⊘",tone:"text-status-red"}},De=(s,l)=>l(`workflows.dispatchStatus.${s}`),We=({dispatch:s})=>{const[l,t]=d.useState(!1),[a,i]=d.useState(null),[n,c]=d.useState(null),{t:m}=z(),b=Ie[s.status],j=s.label??`step-${s.stepIndex??"?"}`,f=s.reportText?$(s.reportText,80):null,x=s.status==="submitted"&&s.lastPtyLine?$(s.lastPtyLine,80):null,y=s.status==="submitted"?x?null:m("workflows.dispatchStatus.awaitingReport"):s.status==="cancelled"?m("workflows.dispatchStatus.cancelled"):s.status==="queued"?m("workflows.dispatchStatus.queued"):null;return d.useEffect(()=>{if(i(null),c(null),!l)return;let h=!1;return be(s.workspaceId,s.id).then(w=>{h||i(w)}).catch(w=>{h||c(w instanceof Error?w.message:String(w))}),()=>{h=!0}},[s.id,s.workspaceId,l]),e.jsxs("div",{className:"wf-dispatch-item rounded-md text-xs","data-testid":`workflow-dispatch-row-${s.id}`,"data-dispatch-status":s.status,children:[e.jsxs("button",{type:"button",onClick:()=>t(h=>!h),className:"wf-dispatch-header","aria-expanded":l,children:[e.jsx("span",{className:`wf-dispatch-mark ${b.tone}`,"aria-hidden":!0,children:b.mark}),e.jsxs("span",{className:"wf-dispatch-step",title:`step ${s.stepIndex??"?"}`,children:["#",s.stepIndex??"?"]}),e.jsxs("span",{className:"min-w-0 flex-1",children:[e.jsx("span",{className:"wf-dispatch-title",children:j}),e.jsx("span",{className:`wf-dispatch-status wf-dispatch-status--${s.status}`,children:De(s.status,m)}),f?e.jsxs("span",{className:"wf-dispatch-summary",children:["↳ ",f]}):x?e.jsxs("span",{className:"wf-dispatch-summary",title:s.lastPtyLine,"data-testid":`workflow-dispatch-pty-${s.id}`,children:[e.jsx("span",{className:"text-accent",children:"⟶"}),e.jsx("span",{className:"font-mono",children:x})]}):y?e.jsx("span",{className:"wf-dispatch-summary italic",children:y}):null]})]}),l?e.jsxs("div",{className:"wf-dispatch-detail","data-testid":`workflow-dispatch-detail-${s.id}`,children:[s.text?e.jsxs("div",{children:[e.jsx("div",{className:"wf-dispatch-detail__label",children:"prompt"}),e.jsx("div",{className:"whitespace-pre-wrap text-pri",children:s.text})]}):null,s.reportText?e.jsxs("div",{children:[e.jsx("div",{className:"wf-dispatch-detail__label",children:"report"}),e.jsx("div",{className:"whitespace-pre-wrap text-pri",children:s.reportText})]}):null,a&&a.length>0?e.jsxs("div",{children:[e.jsx("div",{className:"wf-dispatch-detail__label",children:"memory injected"}),e.jsx("ul",{className:"space-y-1",children:a.map(h=>e.jsxs("li",{className:"break-words text-sec",children:[e.jsx("span",{className:"drawer-kind-badge",style:{marginRight:4},children:h.memory.kind})," ",$(h.memory.body,120)]},h.id))})]}):null,n?e.jsxs("div",{className:"drawer-card__error",children:["Memory: ",n]}):null]}):null]})},qe=s=>{const l=[],t=new Map;for(const a of s){const i=a.phase??"—";let n=t.get(i);n||(n={title:i,dispatches:[]},t.set(i,n),l.push(n)),n.dispatches.push(a)}return l},Fe=({group:s,runStatus:l,defaultOpen:t})=>{const[a,i]=d.useState(t),n=s.dispatches.filter(f=>f.status==="reported"||f.status==="cancelled").length,c=s.dispatches.length,m=n===c,b=!m&&l==="running",j=c>0?Math.round(n/c*100):0;return e.jsxs("div",{className:"wf-phase-strip","data-testid":`workflow-phase-${s.title}`,children:[e.jsxs("button",{type:"button",onClick:()=>i(f=>!f),className:"wf-phase-strip__toggle pointer-coarse:min-h-10","aria-expanded":a,children:[e.jsx("span",{className:"wf-phase-strip__chevron",children:a?e.jsx(L,{size:11}):e.jsx(O,{size:11})}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-[11px] font-semibold text-sec",children:s.title==="—"?"(no phase)":s.title}),e.jsxs("span",{className:`wf-phase-strip__badge ${m?"wf-phase-strip__badge--done":b?"wf-phase-strip__badge--running":""}`,children:[n,"/",c,b?" ⟳":m?" ✓":""]})]}),e.jsx("div",{className:"wf-phase-strip__bar",children:e.jsx("span",{style:{width:`${j}%`},className:m?"wf-phase-strip__bar-fill--done":b?"wf-phase-strip__bar-fill--running":"wf-phase-strip__bar-fill"})}),a?e.jsx("div",{className:"wf-phase-body","data-testid":`workflow-phase-body-${s.title}`,children:s.dispatches.map(f=>e.jsx(We,{dispatch:f},f.id))}):null]})},Ue=({runId:s,result:l})=>{const[t,a]=d.useState(!1),[i,n]=d.useState(!1),c=Oe(l),m=async()=>{try{await navigator.clipboard.writeText(c),n(!0),setTimeout(()=>n(!1),1200)}catch{}};return e.jsxs("div",{className:"wf-result mb-2","data-testid":`workflow-run-result-${s}`,children:[e.jsxs("div",{className:"wf-result__header",children:[e.jsx("div",{className:"wf-result__label",children:"Result"}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(S,{label:i?"Copied!":"Copy result",children:e.jsx("button",{type:"button",onClick:m,"aria-label":"Copy result",className:"icon-btn pointer-coarse:min-h-11 pointer-coarse:min-w-11","data-testid":`workflow-run-result-copy-${s}`,children:i?e.jsx(D,{size:11,className:"text-status-green"}):e.jsx(W,{size:11})})}),e.jsx(S,{label:"Expand",children:e.jsx("button",{type:"button",onClick:()=>a(!0),"aria-label":"Expand result",className:"icon-btn pointer-coarse:min-h-11 pointer-coarse:min-w-11","data-testid":`workflow-run-result-expand-${s}`,children:e.jsx(je,{size:11})})})]})]}),e.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-xs text-pri",children:c}),t?e.jsx(X,{open:t,onOpenChange:b=>a(b),children:e.jsxs(G,{children:[e.jsx(J,{className:"fixed inset-0 z-40 bg-black/60"}),e.jsxs(Q,{className:"fixed inset-4 z-50 flex flex-col rounded-lg border bg-[var(--bg-1)] p-4 shadow-xl md:inset-8 lg:inset-16",style:{borderColor:"var(--border-bright)"},"data-testid":`workflow-run-result-modal-${s}`,children:[e.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[e.jsx(K,{className:"text-sm font-semibold",children:"Workflow result"}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(S,{label:i?"Copied!":"Copy",children:e.jsx("button",{type:"button",onClick:m,"aria-label":"Copy",className:"icon-btn pointer-coarse:min-h-11 pointer-coarse:min-w-11",children:i?e.jsx(D,{size:14,className:"text-status-green"}):e.jsx(W,{size:14})})}),e.jsx(ge,{asChild:!0,children:e.jsx("button",{type:"button","aria-label":"Close",className:"icon-btn pointer-coarse:min-h-11 pointer-coarse:min-w-11",children:e.jsx(V,{size:14})})})]})]}),e.jsx("textarea",{readOnly:!0,value:c,className:"min-h-0 flex-1 resize-none rounded border bg-[var(--bg-0)] p-2 font-mono text-xs",style:{borderColor:"var(--border)"}})]})]})}):null]})},H=({run:s,onStop:l})=>{const[t,a]=d.useState(!1),[i,n]=d.useState(null),[c,m]=d.useState(null),[b,j]=d.useState(!1),[f,x]=d.useState(null),[y,h]=d.useState(!1),{t:w}=z(),u=[];s.phase&&u.push({key:"phase",text:`phase: ${s.phase}`}),s.agentCount>0&&u.push({key:"agentCount",text:`${s.agentCount} agent${s.agentCount===1?"":"s"}`}),s.status!=="running"&&u.push({key:"duration",text:Me(s.startedAt,s.finishedAt)});const r=Le(s.args),N=r?$(r,60):null;return d.useEffect(()=>{if(!t)return;let p=!1;return j(!0),x(null),Promise.all([fe(s.id),me(s.id)]).then(([_,o])=>{p||(n(_),m(o))}).catch(_=>{p||x(_ instanceof Error?_.message:String(_))}).finally(()=>{p||j(!1)}),()=>{p=!0}},[t,s.id,s.status]),e.jsxs("div",{className:"drawer-card text-xs","data-testid":`workflow-run-row-${s.id}`,"data-run-status":s.status,children:[e.jsxs("div",{className:"wf-run-summary-row",children:[e.jsxs("button",{type:"button",onClick:()=>a(p=>!p),className:"wf-run-toggle","aria-expanded":t,"data-testid":`workflow-run-toggle-${s.id}`,children:[e.jsx("span",{className:"wf-run-toggle__chevron",children:t?e.jsx(L,{size:11}):e.jsx(O,{size:11})}),e.jsx("span",{className:"wf-run-toggle__icon",children:Re(w)[s.status]}),e.jsxs("span",{className:"wf-run-toggle__main",children:[e.jsx("span",{className:"wf-run-toggle__name",children:s.name}),e.jsxs("span",{className:"wf-run-toggle__meta",children:[e.jsx("span",{className:`drawer-status-badge ${Ae[s.status]}`,children:w(`workflows.status.${s.status}`)}),s.status==="running"?B(s.startedAt,w):B(s.finishedAt??s.startedAt,w)]})]})]}),s.status==="running"?e.jsx("div",{className:"drawer-card__actions pr-1 wf-run-stop-area",children:e.jsx(S,{label:w("workflows.stopTooltip"),children:e.jsx("button",{type:"button",onClick:async()=>{h(!0);try{await l()}finally{h(!1)}},disabled:y,"aria-label":w("workflows.stopTooltip"),className:"wf-run-stop-btn icon-btn icon-btn--danger mr-1 disabled:opacity-50 pointer-coarse:min-h-11 pointer-coarse:min-w-11","data-testid":`workflow-run-stop-${s.id}`,children:e.jsx(_e,{size:12})})})}):null]}),u.length>0||N?e.jsxs("div",{className:"wf-run-meta","data-testid":`workflow-run-meta-${s.id}`,children:[u.length>0?u.map(p=>e.jsx("span",{className:"wf-run-meta__item",children:p.text},p.key)):null,N?e.jsxs("span",{className:"wf-run-meta__item wf-run-meta__args",title:r??void 0,children:["args: ",N]}):null]}):null,t?e.jsxs("div",{className:"wf-run-detail","data-testid":`workflow-run-detail-${s.id}`,children:[s.result!==null&&s.result!==void 0?e.jsx(Ue,{runId:s.id,result:s.result}):null,f?e.jsx("div",{className:"text-error",children:f}):b&&i===null?e.jsx("div",{className:"text-ter",children:w("workflows.loading")}):i&&i.length>0?(()=>{const p=qe(i),_=p.length-1;return e.jsx("div",{className:"space-y-1.5",children:p.map((o,g)=>e.jsx(Fe,{group:o,runStatus:s.status,defaultOpen:p.length===1||g===_},o.title))})})():e.jsx("div",{className:"text-ter italic",children:w("workflows.noAgents")}),c&&c.length>0?e.jsxs("div",{className:"wf-logs-panel","data-testid":`workflow-run-logs-${s.id}`,children:[e.jsx("div",{className:"wf-logs-panel__title",children:c.length===1?w("workflows.narratorOne"):w("workflows.narrator",{count:c.length})}),e.jsx("ul",{className:"space-y-0.5 font-mono text-[11px]",children:c.map(p=>e.jsx("li",{className:"text-sec",children:p.message},p.id))})]}):null,s.error?e.jsx("div",{className:"text-error",children:w("workflows.runError",{error:s.error})}):null]}):null]})},Be=({schedule:s,onToggle:l,onDelete:t})=>{const{t:a}=z();return e.jsxs("div",{className:"drawer-card wf-schedule-row flex items-center gap-3","data-testid":`workflow-schedule-row-${s.id}`,"data-schedule-enabled":s.enabled?"true":"false",children:[e.jsx("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md",style:{background:s.enabled?"color-mix(in oklab, var(--accent) 12%, transparent)":"var(--bg-3)",color:s.enabled?"var(--accent)":"var(--text-tertiary)"},children:e.jsx(ee,{size:13})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate text-[12.5px] font-medium text-pri",children:Ee(s.scriptPath)}),e.jsx("div",{className:"truncate font-mono text-[10.5px] text-ter mt-0.5",children:s.cron})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[e.jsx(S,{label:s.enabled?a("workflows.pauseTooltip"):a("workflows.resumeTooltip"),children:e.jsx("button",{type:"button",onClick:()=>{l(!s.enabled)},"aria-label":s.enabled?a("workflows.pauseTooltip"):a("workflows.resumeTooltip"),className:"icon-btn pointer-coarse:min-h-11 pointer-coarse:min-w-11","data-testid":`workflow-schedule-toggle-${s.id}`,children:s.enabled?e.jsx(Se,{size:12}):e.jsx(pe,{size:12})})}),e.jsx(S,{label:a("workflows.deleteScheduleTooltip"),children:e.jsx("button",{type:"button",onClick:()=>{t()},"aria-label":a("workflows.deleteScheduleTooltip"),className:"icon-btn icon-btn--danger pointer-coarse:min-h-11 pointer-coarse:min-w-11","data-testid":`workflow-schedule-delete-${s.id}`,children:e.jsx(he,{size:12})})})]})]})},He=({workspaceId:s,onClose:l})=>{const{t}=z(),a=re(),{runs:i,schedules:n,error:c,refresh:m,refreshSchedules:b}=Ce({workspaceId:s,enabled:!0}),[j,f]=d.useState("all"),x=i.filter(u=>u.status==="running").length,y=i.filter(u=>u.status==="failed"||u.status==="stopped"||u.status==="interrupted").length,h=async(u,r)=>{try{await xe(u,{enabled:r})}catch(N){a.show({kind:"error",message:N instanceof Error?N.message:String(N)})}finally{await b()}},w=async u=>{try{await we(u)}catch(r){a.show({kind:"error",message:r instanceof Error?r.message:String(r)})}finally{await b()}};return e.jsxs("div",{className:"workflows-content flex h-full min-h-0 flex-col","data-testid":"workflows-content",children:[e.jsxs("header",{className:"wf-panel-header border-b px-4 py-3",style:{borderColor:"var(--border)"},children:[e.jsxs("div",{className:"wf-panel-header__main",children:[e.jsx("div",{className:"wf-panel-header__icon",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)",color:"var(--accent)"},children:e.jsx(A,{size:15,"aria-hidden":!0})}),e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[e.jsx("span",{className:"text-[13px] font-semibold text-pri leading-tight",children:t("workflows.title")}),e.jsxs("div",{className:"relative group inline-block cursor-help shrink-0",children:[e.jsx(ie,{size:12,className:"text-ter hover:text-sec transition-colors"}),e.jsx("div",{className:"absolute hidden group-hover:block left-0 top-full mt-1.5 w-72 p-3 bg-[var(--bg-2)] border border-border rounded-xl shadow-2xl text-[11px] text-sec leading-relaxed z-50 pointer-events-none",children:t("workflows.description")})]}),e.jsx("span",{className:"wf-panel-count","data-testid":"workflows-summary-count",children:i.length})]})]}),l?e.jsx(S,{label:t("common.close"),children:e.jsx("button",{type:"button",onClick:l,"aria-label":t("common.close"),className:"icon-btn pointer-coarse:min-h-11 pointer-coarse:min-w-11",children:e.jsx(V,{size:14})})}):null]}),e.jsxs("div",{className:"scroll-y flex-1 px-4 py-3",children:[c?e.jsx("div",{className:"mb-3 rounded-md border px-3 py-2 text-xs",style:{borderColor:"color-mix(in oklab, var(--status-red) 30%, var(--border))",color:"var(--text-error)",background:"color-mix(in oklab, var(--status-red) 8%, transparent)"},"data-testid":"workflows-error",children:c}):null,e.jsxs("div",{className:"flex flex-col md:flex-row gap-5 items-start",children:[e.jsxs("div",{className:"flex-1 min-w-0 w-full space-y-4",children:[e.jsxs("section",{className:"wf-content-section mb-0",children:[e.jsxs("div",{className:"drawer-section__header mb-2",children:[e.jsxs("div",{className:"wf-section-title",children:[e.jsx(oe,{size:14,"aria-hidden":!0,className:"text-sec"}),e.jsxs("div",{children:[e.jsx("h3",{className:"drawer-section-label wf-section-label-tight",children:t("workflows.recentRuns")}),e.jsx("p",{className:"wf-section-subtitle",children:x>0?`${x} ${t("workflows.filterRunning")}`:t("workflows.emptyRunsDesc")})]})]}),i.length>0?(()=>{const u=({id:r,label:N,count:p})=>e.jsxs("button",{type:"button",onClick:()=>f(r),"aria-pressed":j===r,"data-testid":`workflow-runs-filter-${r}`,className:`wf-run-filter-pill pointer-coarse:min-h-9 pointer-coarse:text-xs ${j===r?"wf-run-filter-pill--active":""}`,children:[r==="all"?e.jsx(A,{size:11,"aria-hidden":!0}):r==="running"?e.jsx(P,{size:11,"aria-hidden":!0,className:"animate-spin"}):e.jsx(Y,{size:11,"aria-hidden":!0}),e.jsx("span",{children:N}),e.jsx("span",{className:"wf-run-filter-pill__count",children:p})]});return e.jsxs("div",{className:"wf-run-filters",children:[e.jsx(u,{id:"all",label:t("workflows.filterAll"),count:i.length}),e.jsx(u,{id:"running",label:t("workflows.filterRunning"),count:x}),e.jsx(u,{id:"failed",label:t("workflows.filterFailed"),count:y})]})})():null]}),i.length===0?e.jsx("div",{className:"wf-empty-surface",children:e.jsx(ce,{icon:e.jsx(A,{size:18}),title:t("workflows.emptyRuns"),description:t("workflows.emptyRunsDesc")})}):(()=>{const u=j==="all"?i:j==="running"?i.filter(r=>r.status==="running"):i.filter(r=>r.status==="failed"||r.status==="stopped"||r.status==="interrupted");return u.length===0?e.jsx("div",{className:"wf-empty-inline","data-testid":"workflow-runs-empty-filter",children:t("workflows.emptyFilter")}):e.jsx("ul",{className:"space-y-2",children:Pe(u.slice(0,20)).map(({run:r,depth:N})=>e.jsx("li",{className:`wf-run-tree-item ${N>0?"wf-run-tree-item--child":""}`,"data-testid":`workflow-run-tree-${r.id}`,"data-depth":N,children:N>0?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"wf-tree-connector","aria-hidden":"true"}),e.jsx("div",{className:"wf-run-tree-item__content",children:e.jsx(H,{run:r,onStop:async()=>{try{await I(r.id)}catch(p){a.show({kind:"error",message:p instanceof Error?p.message:String(p)})}finally{await m()}}})})]}):e.jsx("div",{className:"wf-run-tree-item__content",children:e.jsx(H,{run:r,onStop:async()=>{try{await I(r.id)}catch(p){a.show({kind:"error",message:p instanceof Error?p.message:String(p)})}finally{await m()}}})})},r.id))})})()]}),n.length>0?e.jsxs("section",{className:"wf-content-section mb-0","data-testid":"workflows-schedules-section",children:[e.jsx("div",{className:"drawer-section__header mb-2",children:e.jsxs("div",{className:"wf-section-title",children:[e.jsx(ee,{size:14,"aria-hidden":!0,className:"text-sec"}),e.jsxs("div",{children:[e.jsx("h3",{className:"drawer-section-label wf-section-label-tight",children:t("workflows.schedules")}),e.jsxs("p",{className:"wf-section-subtitle",children:[n.length," ",t("workflows.schedules")]})]})]})}),e.jsx("ul",{className:"space-y-1.5",children:n.map(u=>e.jsx("li",{children:e.jsx(Be,{schedule:u,onToggle:r=>h(u.id,r),onDelete:()=>w(u.id)})},u.id))})]}):null]}),e.jsx("div",{className:"w-full md:w-[280px] shrink-0 wf-sidebar-settings",children:e.jsxs("section",{className:"drawer-section",children:[e.jsx("div",{className:"drawer-section__header mb-2",children:e.jsxs("div",{className:"wf-section-title",children:[e.jsx(de,{size:14,"aria-hidden":!0,className:"text-sec"}),e.jsx("h3",{className:"drawer-section-label wf-section-label-tight",children:t("workflows.cli.title")})]})}),e.jsx(Te,{})]})})]})]})]})},Ge=({open:s,onClose:l,workspaceId:t})=>{const a=ue(),{t:i}=z();return e.jsx(X,{open:s,onOpenChange:n=>!n&&l(),children:e.jsxs(G,{children:[e.jsx(J,{"data-testid":"workflows-overlay",className:"app-overlay fixed inset-0 z-40"}),e.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center p-4",children:e.jsxs(Q,{"data-testid":"workflows-drawer","aria-label":i("workflows.title"),"data-mobile":a||void 0,className:"dialog-scale-pop elev-2 pointer-events-auto flex flex-col rounded-lg border",style:a?{background:"var(--bg-1)",borderColor:"var(--border-bright)"}:{background:"var(--bg-1)",borderColor:"var(--border-bright)",height:"min(720px, calc(100vh - 48px))",width:"min(780px, calc(100vw - 48px))"},children:[e.jsx(K,{className:"sr-only",children:i("workflows.title")}),e.jsx(He,{workspaceId:t,onClose:l})]})})]})})};export{He as WorkflowsContent,Ge as WorkflowsDrawer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as b,i as te,u as W,r as c,D as ae,F as re,G as ne,j as e,R as ie,P as le,O as oe,k as ce,m as de,T as g,X as me,L as k,H as V,E as H,J as K,K as pe,N as xe,Q as he,U as ue,V as Q,Y as be}from"./index-BV2k9Dts.js";import{S as fe}from"./search-Bk2HQvO7.js";const ye=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],ge=b("archive",ye);const je=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],ve=b("eye-off",je);const Ne=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],we=b("eye",Ne);const ke=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]],Se=b("pin-off",ke);const Ce=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]],$e=b("pin",Ce);const Me=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],Te=b("settings-2",Me),G={decision:"memory.kind.decision",fact:"memory.kind.fact",pitfall:"memory.kind.pitfall",preference:"memory.kind.preference",procedure_ref:"memory.kind.procedure_ref"},_e=new Intl.DateTimeFormat(void 0,{day:"2-digit",hour:"2-digit",minute:"2-digit",month:"short"}),S=(r,s)=>r?_e.format(new Date(r)):s("common.never"),I=(r,s=140)=>{const a=r.trim();return a.length<=s?a:`${a.slice(0,s-1)}…`},Ee=r=>{const s=r.sources[0];return s?.actorNameSnapshot?`${r.source} · ${s.actorNameSnapshot}`:r.source},ze=r=>r==="dreams"?null:r,De=({busy:r,memory:s,onArchive:a,onToggleDisabled:p,onTogglePinned:n})=>{const[i,d]=c.useState(!1),{t:o}=W();return e.jsxs("li",{className:"drawer-card p-3","data-testid":`memory-row-${s.id}`,"data-pinned":s.pinned,"data-disabled":s.disabled,children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsxs("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":i,className:"min-w-0 flex-1 text-left focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-[var(--accent)]",children:[e.jsxs("div",{className:"mb-1.5 flex flex-wrap items-center gap-2 text-[11px]",children:[e.jsx("span",{className:`drawer-kind-badge drawer-kind-badge--${s.kind}`,children:o(G[s.kind])}),s.pinned?e.jsx("span",{className:"font-medium text-accent",children:o("memory.pinned")}):null,s.disabled?e.jsx("span",{className:"text-ter",children:o("memory.disabled")}):null,e.jsx("span",{className:"text-ter",children:Ee(s)})]}),e.jsx("p",{className:"break-words text-sm text-pri leading-snug",children:i?s.body:I(s.body)}),e.jsxs("div",{className:"mt-2 flex flex-wrap gap-1 text-[11px] text-ter",children:[s.tags.map(m=>e.jsx("span",{className:"rounded border px-1.5 py-0.5",style:{borderColor:"var(--border)"},children:m},m)),e.jsx("span",{children:o("memory.updated",{time:S(s.updatedAt,o)})}),e.jsx("span",{children:o("memory.injected",{time:S(s.lastInjectedAt,o)})})]})]}),e.jsx("div",{className:"flex shrink-0 items-center gap-1 drawer-card__actions",children:s.status==="active"?e.jsxs(e.Fragment,{children:[e.jsx(g,{label:s.pinned?o("memory.unpinTooltip"):o("memory.pinTooltip"),children:e.jsx("button",{type:"button",disabled:r,onClick:()=>n(s),"aria-label":s.pinned?o("memory.unpinTooltip"):o("memory.pinTooltip"),className:"icon-btn pointer-coarse:min-h-10 pointer-coarse:min-w-10",children:s.pinned?e.jsx(Se,{size:13}):e.jsx($e,{size:13})})}),e.jsx(g,{label:s.disabled?o("memory.enableTooltip"):o("memory.disableTooltip"),children:e.jsx("button",{type:"button",disabled:r,onClick:()=>p(s),"aria-label":s.disabled?o("memory.enableTooltip"):o("memory.disableTooltip"),className:"icon-btn pointer-coarse:min-h-10 pointer-coarse:min-w-10",children:s.disabled?e.jsx(we,{size:13}):e.jsx(ve,{size:13})})}),e.jsx(g,{label:o("memory.archiveButton"),children:e.jsx("button",{type:"button",disabled:r,onClick:()=>a(s),"aria-label":o("memory.archiveButton"),className:"icon-btn icon-btn--danger pointer-coarse:min-h-10 pointer-coarse:min-w-10",children:e.jsx(ge,{size:13})})})]}):null})]}),i?e.jsxs("div",{className:"drawer-card__expanded",children:[e.jsx("h4",{className:"drawer-section-label",children:o("memory.sources")}),s.sources.length===0?e.jsx("p",{className:"text-ter",children:o("memory.noSources")}):e.jsx("ul",{className:"space-y-2",children:s.sources.map(m=>e.jsxs("li",{className:"break-words",children:[e.jsxs("div",{className:"text-ter",children:[m.sourceType,m.actorNameSnapshot?` · ${m.actorNameSnapshot}`:"",m.actorRoleSnapshot?` · ${m.actorRoleSnapshot}`:""]}),m.excerpt?e.jsx("p",{className:"mt-0.5",children:m.excerpt}):null]},m.id))})]}):null]})},U=({label:r,checked:s,disabled:a,onChange:p})=>e.jsxs("label",{className:"drawer-settings-row",children:[e.jsx("span",{className:"text-sec",children:r}),e.jsx("input",{type:"checkbox",checked:s,disabled:a,onChange:n=>p(n.currentTarget.checked),className:"h-4 w-4 accent-[var(--accent)]"})]}),Re=(r,s)=>r.report?[`${r.report.added.length} ${s("memory.reportAdded")}`,`${r.report.rewritten.length} ${s("memory.reportRewritten")}`,`${r.report.archived.length} ${s("memory.reportArchived")}`,`${r.report.merged.length} ${s("memory.reportMerged")}`].join(" · "):r.error?`${s("common.error")} · ${I(r.error,90)}`:s("memory.noReport"),Ae=(r,s)=>r.inputSeqFrom===null||r.inputSeqTo===null?s("memory.noInput"):`${s("memory.seq")} ${r.inputSeqFrom}-${r.inputSeqTo}`,Pe=({busy:r,onRevert:s,run:a})=>{const[p,n]=c.useState(!1),{t:i}=W();return e.jsxs("li",{className:"drawer-card p-3","data-testid":`dream-run-${a.id}`,"data-dream-status":a.status,children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsxs("button",{type:"button",onClick:()=>n(d=>!d),"aria-expanded":p,className:"min-w-0 flex-1 text-left focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-[var(--accent)]",children:[e.jsxs("div",{className:"mb-1.5 flex flex-wrap items-center gap-2 text-[11px]",children:[e.jsx("span",{className:`drawer-status-badge drawer-status-badge--${a.status}`,children:i(`memory.status.${a.status}`)}),e.jsx("span",{className:"text-ter",children:i(`memory.trigger.${a.trigger}`)}),e.jsx("span",{className:"text-ter",children:Ae(a,i)}),e.jsx("span",{className:"text-ter",children:i("memory.started",{time:S(a.startedAt,i)})})]}),e.jsx("p",{className:"break-words text-sm text-pri leading-snug",children:Re(a,i)}),a.finishedAt?e.jsx("p",{className:"mt-1 text-[11px] text-ter",children:i("memory.finished",{time:S(a.finishedAt,i)})}):null]}),a.status==="completed"?e.jsx("div",{className:"drawer-card__actions",children:e.jsx(g,{label:i("memory.revertButton"),children:e.jsx("button",{type:"button",disabled:r,onClick:()=>s(a),"aria-label":i("memory.revertTooltip"),className:"icon-btn icon-btn--danger pointer-coarse:min-h-10 pointer-coarse:min-w-10",children:r?e.jsx(k,{size:13,className:"animate-spin"}):e.jsx(he,{size:13})})})}):null]}),p&&a.report?e.jsxs("div",{className:"drawer-card__expanded space-y-3",children:[a.report.added.length>0?e.jsxs("div",{className:"dream-diff-block border-l-2 border-l-status-green",children:[e.jsxs("h4",{className:"dream-diff-title dream-diff-added flex items-center gap-1.5 font-semibold",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-status-green"}),i("memory.diff.added")]}),e.jsx("ul",{className:"space-y-1.5 mt-1.5",children:a.report.added.map(d=>e.jsxs("li",{className:"break-words text-[11px] text-pri flex items-start gap-1",children:[e.jsx("span",{className:"text-status-green select-none font-semibold mr-1",children:"+"}),e.jsxs("span",{className:"flex-1",children:[e.jsx("span",{className:`drawer-kind-badge drawer-kind-badge--${d.kind} scale-90 origin-left inline-block mr-1`,children:i(G[d.kind])}),d.body]})]},d.id))})]}):null,a.report.rewritten.length>0?e.jsxs("div",{className:"dream-diff-block border-l-2 border-l-[#f59e0b]",children:[e.jsxs("h4",{className:"dream-diff-title dream-diff-rewritten flex items-center gap-1.5 font-semibold",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-[#f59e0b]"}),i("memory.diff.rewritten")]}),e.jsx("p",{className:"mt-1.5 text-[11px] text-sec leading-relaxed pl-3 break-all",children:a.report.rewritten.map(d=>d.id).join(", ")})]}):null,a.report.archived.length>0?e.jsxs("div",{className:"dream-diff-block border-l-2 border-l-status-red",children:[e.jsxs("h4",{className:"dream-diff-title dream-diff-archived flex items-center gap-1.5 font-semibold",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-status-red"}),i("memory.diff.archived")]}),e.jsx("p",{className:"mt-1.5 text-[11px] text-sec leading-relaxed pl-3 break-all",children:a.report.archived.map(d=>d.id).join(", ")})]}):null,a.report.merged.length>0?e.jsxs("div",{className:"dream-diff-block border-l-2 border-l-purple-500",children:[e.jsxs("h4",{className:"dream-diff-title dream-diff-merged flex items-center gap-1.5 font-semibold",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-purple-500"}),i("memory.diff.merged")]}),e.jsx("p",{className:"mt-1.5 text-[11px] text-sec leading-relaxed pl-3 break-all",children:a.report.merged.map(d=>d.into).join(", ")})]}):null]}):null,p&&a.error?e.jsx("p",{className:"drawer-card__error",children:a.error}):null]})},Le=({open:r,onClose:s,workspaceId:a})=>{const p=te(),{t:n}=W(),[i,d]=c.useState("active"),[o,m]=c.useState(""),[j,C]=c.useState([]),[v,$]=c.useState([]),[M,N]=c.useState(null),[q,T]=c.useState(!1),[L,x]=c.useState(null),[J,B]=c.useState(null),[_,w]=c.useState(null),[E,z]=c.useState(null),[D,R]=c.useState(null),[A,F]=c.useState(!1),f=c.useRef(0),X=c.useMemo(()=>[{id:"active",label:n("memory.tabActive")},{id:"archived",label:n("memory.tabArchived")},{id:"dreams",label:n("memory.tabDreams")}],[n]),u=ze(i),y=c.useCallback(async()=>{const t=f.current+1;if(f.current=t,!a||!r){C([]),$([]),N(null),T(!1);return}T(!0),x(null),C([]),$([]),N(null);try{const[l,h,se]=await Promise.all([ae(a),u?re(a,{query:o,status:u}):Promise.resolve([]),u?Promise.resolve([]):ne(a,{limit:20})]);if(f.current!==t)return;N(l),C(h),$(se)}catch(l){f.current===t&&x(l instanceof Error?l.message:String(l))}finally{f.current===t&&T(!1)}},[r,o,u,a]);c.useEffect(()=>{y()},[y]);const P=async(t,l)=>{if(a){B(t.id),x(null);try{await l(a),await y()}catch(h){x(h instanceof Error?h.message:String(h))}finally{B(null)}}},Y=c.useMemo(()=>({current:u?j.length:v.length}),[v.length,j.length,u]),O=async t=>{if(!(!a||A)){F(!0),x(null);try{N(await xe(a,t))}catch(l){x(l instanceof Error?l.message:String(l))}finally{F(!1)}}},Z=async()=>{if(a){w("run-now"),x(null);try{await pe(a),await y()}catch(t){x(t instanceof Error?t.message:String(t))}finally{w(null)}}},ee=async t=>{if(a){w(t.id),x(null);try{await ue(a,t.id),await y()}catch(l){x(l instanceof Error?l.message:String(l))}finally{w(null)}}};return e.jsxs(e.Fragment,{children:[e.jsx(ie,{open:r,onOpenChange:t=>!t&&s(),children:e.jsxs(le,{children:[e.jsx(oe,{"data-testid":"memory-overlay",className:"app-overlay fixed inset-0 z-40"}),e.jsx("div",{className:"pointer-events-none fixed inset-0 z-50 grid place-items-center p-4",children:e.jsxs(ce,{"data-testid":"memory-drawer","aria-label":n("memory.title"),"data-mobile":p||void 0,className:"dialog-scale-pop elev-2 pointer-events-auto flex flex-col rounded-lg border",style:p?{background:"var(--bg-1)",borderColor:"var(--border-bright)"}:{background:"var(--bg-1)",borderColor:"var(--border-bright)",height:"min(720px, calc(100vh - 48px))",width:"min(780px, calc(100vw - 48px))"},children:[e.jsxs("header",{className:"flex items-center justify-between border-b px-4 py-2",style:{borderColor:"var(--border)"},children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(de,{className:"text-base font-semibold text-pri",children:n("memory.title")}),e.jsx("p",{className:"text-xs text-ter",children:n("memory.subtitle")})]}),e.jsx(g,{label:n("common.close"),children:e.jsx("button",{type:"button",onClick:s,"aria-label":n("common.close"),className:"icon-btn pointer-coarse:min-h-11 pointer-coarse:min-w-11",children:e.jsx(me,{size:14})})})]}),e.jsxs("div",{className:`flex gap-2 border-b px-4 py-2 ${p?"flex-col items-stretch":"items-center gap-2"}`,style:{borderColor:"var(--border)"},children:[e.jsx("div",{className:"drawer-tabs",style:p?{width:"100%",justifyContent:"flex-start"}:void 0,children:X.map(t=>e.jsx("button",{type:"button",onClick:()=>d(t.id),"aria-pressed":i===t.id,className:`drawer-tab pointer-coarse:min-h-10 ${i===t.id?"drawer-tab--active":""}`,children:t.label},t.id))}),u?e.jsxs("label",{className:"drawer-search",style:p?{width:"100%",maxWidth:"none"}:{marginLeft:"auto"},children:[e.jsx("span",{className:"sr-only",children:n("memory.searchPlaceholder")}),e.jsx(fe,{size:14,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-ter"}),e.jsx("input",{value:o,onChange:t=>m(t.currentTarget.value),placeholder:n("memory.searchPlaceholder"),name:"memory-search",autoComplete:"off",className:"h-8 w-full rounded-md border bg-transparent pl-8 pr-3 text-xs text-pri outline-none transition-colors placeholder:text-ter focus-visible:border-[var(--accent)]",style:{borderColor:"var(--border-bright)"}})]}):null]}),e.jsxs("div",{className:"scroll-y min-h-0 flex-1 px-4 py-3",children:[L?e.jsx("div",{className:"mb-3 rounded-md border px-3 py-2 text-xs",style:{borderColor:"color-mix(in oklab, var(--status-red) 30%, var(--border))",color:"var(--text-error)",background:"color-mix(in oklab, var(--status-red) 8%, transparent)"},children:L}):null,e.jsxs("section",{className:"drawer-section",children:[e.jsxs("div",{className:"drawer-section__header",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Te,{size:14,className:"text-sec"}),e.jsxs("span",{className:"font-medium text-sec",children:[Y.current," ",n(u?"memory.entries":"memory.runs")]})]}),i==="dreams"?e.jsxs("button",{type:"button",onClick:Z,disabled:_!==null,className:"drawer-action-btn pointer-coarse:min-h-10",children:[_==="run-now"?e.jsx(k,{size:14,className:"animate-spin"}):e.jsx(V,{size:14}),n("memory.runNow")]}):null]}),M?e.jsxs("div",{className:"mt-2 grid gap-2 sm:grid-cols-2",children:[e.jsx(U,{label:n("memory.injection"),checked:M.enabled,disabled:A,onChange:t=>O({enabled:t})}),e.jsx(U,{label:n("memory.dreamProcessing"),checked:M.dreamEnabled,disabled:A,onChange:t=>O({dreamEnabled:t})})]}):null]}),i==="dreams"?q?e.jsxs("div",{className:"flex h-[320px] items-center justify-center text-ter",children:[e.jsx(k,{size:18,className:"animate-spin"}),e.jsx("span",{className:"ml-2 text-sm",children:n("common.loading")})]}):v.length===0?e.jsx("div",{className:"flex h-[320px] items-center justify-center",children:e.jsx(H,{icon:e.jsx(V,{size:20}),title:n("memory.emptyDreams"),description:n("memory.emptyDreamsDesc")})}):e.jsx("ul",{className:"space-y-2",children:v.map(t=>e.jsx(Pe,{run:t,busy:_===t.id,onRevert:R},t.id))}):q?e.jsxs("div",{className:"flex h-[320px] items-center justify-center text-ter",children:[e.jsx(k,{size:18,className:"animate-spin"}),e.jsx("span",{className:"ml-2 text-sm",children:n("common.loading")})]}):j.length===0?e.jsx("div",{className:"flex h-[320px] items-center justify-center",children:e.jsx(H,{title:n("memory.emptyActive"),description:n("memory.emptyActiveDesc")})}):e.jsx("ul",{className:"space-y-2",children:j.map(t=>e.jsx(De,{memory:t,busy:J===t.id,onArchive:z,onToggleDisabled:l=>P(l,h=>Q(h,l.id,{disabled:!l.disabled})),onTogglePinned:l=>P(l,h=>Q(h,l.id,{pinned:!l.pinned}))},t.id))})]})]})})]})}),e.jsx(K,{open:E!==null,onOpenChange:t=>{t||z(null)},title:n("memory.archiveTitle"),description:n("memory.archiveDesc"),confirmLabel:n("memory.archiveButton"),confirmKind:"danger",onConfirm:()=>{if(!E)return;const t=E;z(null),P(t,l=>be(l,t.id))}}),e.jsx(K,{open:D!==null,onOpenChange:t=>{t||R(null)},title:n("memory.revertTitle"),description:n("memory.revertDesc"),confirmLabel:n("memory.revertButton"),confirmKind:"danger",onConfirm:()=>{if(!D)return;const t=D;R(null),ee(t)}})]})};export{Le as WorkspaceMemoryDrawer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as k,j as h,Z as e}from"./index-BV2k9Dts.js";import{TaskGraphDrawer as g}from"./TaskGraphDrawer-Bk5WFIk_.js";const u=({tasksFile:a,workspacePath:T,open:c,onClose:r,workers:n,onSelectOwner:p,connectionStale:d})=>{const s=k.useMemo(()=>n?.length?n.map(o=>o.name):void 0,[n]);return h.jsx(g,{content:a.content,hasConflict:a.hasConflict,onClose:r,onContentChange:a.onChange,onKeepLocal:a.onKeepLocal,onReload:a.onReload,onSave:a.onSave,onToggleTaskLine:o=>{a.toggleTaskAtLine(o).catch(e("tasks.toggleTaskAtLine"))},onAppendTask:o=>{a.appendTask(o).catch(e("tasks.appendTask"))},onAppendSubtask:(o,t)=>{a.appendSubtask(o,t).catch(e("tasks.appendSubtask"))},onUpdateTaskText:(o,t)=>{a.updateTaskText(o,t).catch(e("tasks.updateTaskText"))},onDeleteTask:o=>{a.deleteTask(o).catch(e("tasks.deleteTask"))},open:c,workspacePath:T,...s?{knownWorkerNames:s}:{},...p?{onSelectOwner:p}:{},...d!==void 0?{connectionStale:d}:{}})};export{u as WorkspaceTaskDrawer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-5xl:64rem;--text-xs:11px;--text-xs--line-height:calc(1 / .75);--text-sm:12px;--text-sm--line-height:calc(1.25 / .875);--text-base:13px;--text-base--line-height: 1.5 ;--text-lg:16px;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:20px;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:24px;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-border:#1d1d1d;--color-accent:#3358d4;--color-status-green:#54a271;--color-status-orange:#e67333;--color-status-red:#d4544f}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-4{inset:calc(var(--spacing) * 4)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-8{top:calc(var(--spacing) * 8)}.top-20{top:calc(var(--spacing) * 20)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-\[calc\(50\%-18px\)\]{right:calc(50% - 18px)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-8{bottom:calc(var(--spacing) * 8)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[2\]{z-index:2}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-1{margin-right:calc(var(--spacing) * 1)}.\!mb-0{margin-bottom:calc(var(--spacing) * 0)!important}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-video{aspect-ratio:var(--aspect-video)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[320px\]{height:320px}.h-dvh{height:100dvh}.h-full{height:100%}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[70dvh\]{max-height:70dvh}.max-h-\[160px\]{max-height:160px}.max-h-\[calc\(100vh-32px\)\]{max-height:calc(100vh - 32px)}.max-h-\[calc\(100vh-64px\)\]{max-height:calc(100vh - 64px)}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-\[78px\]{min-height:78px}.min-h-\[200px\]{min-height:200px}.min-h-\[360px\]{min-height:360px}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing) * 5)}.w-5\/6{width:83.3333%}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-72{width:calc(var(--spacing) * 72)}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[200px\]{width:200px}.w-\[280px\]{width:280px}.w-\[380px\]{width:380px}.w-\[440px\]{width:440px}.w-\[480px\]{width:480px}.w-\[560px\]{width:560px}.w-\[760px\]{width:760px}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[90px\]{max-width:90px}.max-w-\[100vw\]{max-width:100vw}.max-w-\[200px\]{max-width:200px}.max-w-\[280px\]{max-width:280px}.max-w-\[320px\]{max-width:320px}.max-w-\[380px\]{max-width:380px}.max-w-\[400px\]{max-width:400px}.max-w-\[480px\]{max-width:480px}.max-w-\[calc\(100vw-32px\)\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[16px\]{min-width:16px}.min-w-\[18px\]{min-width:18px}.min-w-\[260px\]{min-width:260px}.min-w-\[480px\]{min-width:480px}.flex-1{flex:1}.flex-\[2\]{flex:2}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-help{cursor:help}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--border-bright\)\]{border-color:var(--border-bright)}.border-accent\/30{border-color:#3358d44d}@supports (color:color-mix(in lab,red,red)){.border-accent\/30{border-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.border-border{border-color:var(--color-border)}.border-l-\[\#f59e0b\]{border-left-color:#f59e0b}.border-l-purple-500{border-left-color:var(--color-purple-500)}.border-l-status-green{border-left-color:var(--color-status-green)}.border-l-status-red{border-left-color:var(--color-status-red)}.bg-\[\#ebebeb\]{background-color:#ebebeb}.bg-\[\#f59e0b\]{background-color:#f59e0b}.bg-\[var\(--bg-0\)\]{background-color:var(--bg-0)}.bg-\[var\(--bg-1\)\]{background-color:var(--bg-1)}.bg-\[var\(--bg-2\)\]{background-color:var(--bg-2)}.bg-accent{background-color:var(--color-accent)}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-purple-500{background-color:var(--color-purple-500)}.bg-status-green{background-color:var(--color-status-green)}.bg-status-red{background-color:var(--color-status-red)}.bg-transparent{background-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent\/20{--tw-gradient-from:#3358d433}@supports (color:color-mix(in lab,red,red)){.from-accent\/20{--tw-gradient-from:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.from-accent\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-accent\/5{--tw-gradient-to:#3358d40d}@supports (color:color-mix(in lab,red,red)){.to-accent\/5{--tw-gradient-to:color-mix(in oklab, var(--color-accent) 5%, transparent)}}.to-accent\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[1px\]{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pr-24{padding-right:calc(var(--spacing) * 24)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-\[max\(8px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(8px,env(safe-area-inset-bottom))}.pb-\[max\(12px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(12px,env(safe-area-inset-bottom))}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.4em\]{--tw-tracking:.4em;letter-spacing:.4em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--color-accent)}.text-status-green{color:var(--color-status-green)}.text-status-orange{color:var(--color-status-orange)}.text-status-red{color:var(--color-status-red)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-\[var\(--accent\)\]{accent-color:var(--accent)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_28px_90px_-42px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:0 28px 90px -42px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_1px_1px_rgba\(255\,255\,255\,0\.1\)\]{--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,#ffffff1a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-open\:rotate-0:is(:where(.group):is([open],:popover-open,:open) *){rotate:0deg}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}.group-focus-within\:text-accent:is(:where(.group):focus-within *){color:var(--color-accent)}@media(hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/summary\:border-accent\/40:is(:where(.group\/summary):hover *){border-color:#3358d466}@supports (color:color-mix(in lab,red,red)){.group-hover\/summary\:border-accent\/40:is(:where(.group\/summary):hover *){border-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.group-hover\/summary\:text-accent:is(:where(.group\/summary):hover *){color:var(--color-accent)}.group-hover\/summary\:opacity-100:is(:where(.group\/summary):hover *){opacity:1}}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-\[var\(--ring-focus\)\]:focus-within{--tw-ring-color:var(--ring-focus)}.focus-within\:outline-none:focus-within{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:text-status-red:hover{color:var(--color-status-red)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-\[var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:opacity-100:focus{opacity:1}.focus-visible\:border-\[var\(--accent\)\]:focus-visible{border-color:var(--accent)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline:focus-visible,.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--accent\)\]:focus-visible{outline-color:var(--accent)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-98:active{--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.97\]:active{scale:.97}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media not all and (min-width:48rem){.max-md\:h-10{height:calc(var(--spacing) * 10)}.max-md\:max-h-\[45\%\]{max-height:45%}.max-md\:min-h-\[40\%\]{min-height:40%}.max-md\:w-10{width:calc(var(--spacing) * 10)}.max-md\:w-full{width:100%}.max-md\:max-w-full{max-width:100%}.max-md\:min-w-11{min-width:calc(var(--spacing) * 11)}.max-md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-md\:flex-col{flex-direction:column}.max-md\:items-end{align-items:flex-end}.max-md\:gap-5{gap:calc(var(--spacing) * 5)}.max-md\:overflow-y-auto{overflow-y:auto}.max-md\:rounded-md{border-radius:var(--radius-md)}.max-md\:rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.max-md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.max-md\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.max-md\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.max-md\:p-0{padding:calc(var(--spacing) * 0)}.max-md\:px-4{padding-inline:calc(var(--spacing) * 4)}.max-md\:py-3{padding-block:calc(var(--spacing) * 3)}.max-md\:pb-\[max\(12px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(12px,env(safe-area-inset-bottom))}.max-md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media not all and (min-width:40rem){.max-sm\:hidden{display:none}}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\:inset-8{inset:calc(var(--spacing) * 8)}.md\:w-\[280px\]{width:280px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}}@media(min-width:64rem){.lg\:inset-16{inset:calc(var(--spacing) * 16)}}@media(pointer:coarse){.pointer-coarse\:h-8{height:calc(var(--spacing) * 8)}.pointer-coarse\:h-10{height:calc(var(--spacing) * 10)}.pointer-coarse\:h-12{height:calc(var(--spacing) * 12)}.pointer-coarse\:max-h-\[85dvh\]{max-height:85dvh}.pointer-coarse\:min-h-9{min-height:calc(var(--spacing) * 9)}.pointer-coarse\:min-h-10{min-height:calc(var(--spacing) * 10)}.pointer-coarse\:min-h-11{min-height:calc(var(--spacing) * 11)}.pointer-coarse\:min-h-12{min-height:calc(var(--spacing) * 12)}.pointer-coarse\:w-8{width:calc(var(--spacing) * 8)}.pointer-coarse\:w-10{width:calc(var(--spacing) * 10)}.pointer-coarse\:min-w-10{min-width:calc(var(--spacing) * 10)}.pointer-coarse\:min-w-11{min-width:calc(var(--spacing) * 11)}.pointer-coarse\:p-2{padding:calc(var(--spacing) * 2)}.pointer-coarse\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.pointer-coarse\:opacity-100{opacity:1}}}:root{--bg-0:#171717;--bg-1:#1b1b1b;--bg-2:#1d1d1d;--bg-3:#222;--bg-crust:#0e0e0e;--bg-overlay:#000000b8;--bg-elevated:#222;--charcoal-775:#1c1e21;--charcoal-750:#212327;--charcoal-700:#272a2e;--charcoal-650:#2c3034;--charcoal-600:#3b3e45;--background-dimmed:var(--bg-1);--background-bright:var(--bg-2);--grid-dimmed:var(--border);--grid-bright:var(--border-bright);--border:#1d1d1d;--border-bright:#484848;--text-primary:#ebebeb;--text-secondary:#b3b3b3;--text-tertiary:#9c9c9c;--text-light:#9c9c9c;--text-extra-light:#6f6f6f;--text-inverted:#1b1b1b;--text-danger:var(--status-red);--accent:#3358d4;--accent-hover:#5072dd;--status-green:#54a271;--status-orange:#e67333;--status-red:#d4544f;--status-blue:#3358d4;--status-purple:#8551c0;--status-gold:#ffeb38;--icon-xs:12px;--icon-sm:14px;--icon-md:16px;--icon-lg:20px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-modal:cubic-bezier(.32, .72, 0, 1);--ease-overshoot:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.1s;--dur-base:.15s;--dur-slow:.28s;--ring-focus:#5e6ad273;--shadow-tint:41 47 61;--shadow-elev-2:0 4px 12px rgba(var(--shadow-tint), .4), 0 1px 2px rgba(var(--shadow-tint), .3);--shadow-card:0 0 0 1px rgba(var(--shadow-tint), .12);--shadow-card-hover:0 0 0 1px var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--shadow-card-hover:0 0 0 1px color-mix(in oklab, var(--accent) 35%, transparent)}}:root{color-scheme:dark}::selection{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in oklab,var(--accent) 22%,transparent)}}::selection{color:var(--text-primary)}html,body{background:var(--bg-0);height:100%;color:var(--text-primary);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;caret-color:var(--accent);margin:0;padding:0;font-family:Inter,sans-serif;font-size:13px;line-height:1.5;display:block;overflow:hidden}#root{width:100%;height:100%;display:block}.mono{font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.bg-0{background:var(--bg-0)}.bg-1{background:var(--bg-1)}.bg-2{background:var(--bg-2)}.bg-3{background:var(--bg-3)}.bg-crust{background:var(--bg-crust)}.text-pri{color:var(--text-primary)}.text-sec{color:var(--text-secondary)}.text-ter{color:var(--text-tertiary)}.border-d{border-color:var(--border)}.border-b1{border-color:var(--border-bright)}.accent{color:var(--accent)}.bg-accent{background:var(--accent)}.scroll-y{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.scroll-y::-webkit-scrollbar{width:8px;height:8px}.input::-webkit-scrollbar{width:8px;height:8px}.xterm-viewport::-webkit-scrollbar{width:8px;height:8px}.scroll-y::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:4px}.input::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:4px}.xterm-viewport::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:4px}.scroll-y::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}.input::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}.xterm-viewport::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}.scroll-y::-webkit-scrollbar-track{background:0 0}.input::-webkit-scrollbar-track{background:0 0}.xterm-viewport::-webkit-scrollbar-track{background:0 0}.scroll-y,.input,.xterm-viewport{scrollbar-width:thin;scrollbar-color:var(--bg-3) transparent}.xterm.focus{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab,red,red)){.xterm.focus{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 35%,transparent)}}.ws-row{border-radius:var(--radius-md);transition:background var(--dur-fast) ease,color var(--dur-fast) ease;cursor:pointer;margin:2px 8px;position:relative}.ws-row:before{content:"";background:var(--accent);width:3px;height:16px;transition:transform var(--dur-fast) var(--ease-out),height var(--dur-fast) var(--ease-out);transform-origin:0;border-radius:0 3px 3px 0;position:absolute;top:50%;left:-8px;transform:translateY(-50%)scaleY(0)}.ws-row:hover:before{height:16px;transform:translateY(-50%)scaleY(.5)}.ws-row.active:before{height:16px;transform:translateY(-50%)scaleY(1)}.ws-row:hover{background:#ffffff0a}.ws-row.active{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.ws-row.active{background:color-mix(in oklab,var(--accent) 8%,transparent)}}.ws-row.active{color:var(--text-primary)}.ws-row.active:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.ws-row.active:hover{background:color-mix(in oklab,var(--accent) 12%,transparent)}}.ws-row-delete{border-radius:4px}.ws-row-delete:hover{background:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.ws-row-delete:hover{background:color-mix(in oklab,var(--status-red) 18%,transparent)}}.ws-row-delete:hover{box-shadow:inset 0 0 0 1px var(--status-red)}@supports (color:color-mix(in lab,red,red)){.ws-row-delete:hover{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--status-red) 50%,var(--border-bright))}}.ws-add{width:calc(100% - 16px);transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) ease;background:0 0;margin:6px 8px}.ws-add:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.ws-add:hover{background:color-mix(in oklab,var(--accent) 6%,transparent)}}.ws-add:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.ws-add:hover{border-color:color-mix(in oklab,var(--accent) 50%,var(--border-bright))}}.ws-add:hover{color:var(--text-primary)}.ws-add:active{transform:scale(.98)}.workspace-sidebar{container:ws-sidebar/inline-size}@container ws-sidebar (max-width:140px){.ws-add__label{display:none}.ws-add{padding-left:8px;padding-right:8px}}@container ws-sidebar (max-width:96px){.ws-row{display:none}.ws-avatar-cell{display:flex}.ws-sidebar-title__text,.ws-sidebar-count,.ws-row-delete{display:none}.ws-empty{flex-direction:column;justify-content:flex-start;align-items:center;padding-left:0;padding-right:0;display:flex}.ws-empty__wide{display:none}.ws-empty .ws-empty__compact{width:32px;height:32px;padding:0;display:flex}.ws-add--inline{border-radius:4px;width:32px;height:32px;margin-top:6px;margin-left:auto;margin-right:auto;padding:0}}.ws-sidebar-footer{background:0 0;border:none;margin:auto 8px 8px;overflow:hidden}.ws-sidebar-footer__link{border-radius:var(--radius-md);transition:background var(--dur-fast) ease}.ws-sidebar-footer__link:hover{background:#ffffff0a}.ws-sidebar-footer__link+.ws-sidebar-footer__link{margin-top:2px}.ws-sidebar-footer__dismiss{transition:background var(--dur-fast) ease,color var(--dur-fast) ease,opacity var(--dur-fast) ease}@container ws-sidebar (max-width:140px){.ws-sidebar-footer__label{display:none}}@container ws-sidebar (max-width:96px){.ws-sidebar-footer{background:0 0;border:none;border-radius:8px;margin:auto 4px 8px}.ws-sidebar-footer__link{justify-content:center;padding-left:0;padding-right:0}.ws-sidebar-footer__link:hover{background:0 0}.ws-sidebar-footer__link+.ws-sidebar-footer__link{border-top:none}.ws-sidebar-footer__dismiss{display:none}}.ws-collapse-toggle{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ws-collapse-toggle:hover{background:var(--bg-2);color:var(--text-primary)}@container ws-sidebar (max-width:96px){.ws-sidebar-header{justify-content:center;padding-left:0;padding-right:0}.ws-sidebar-title{display:none}.ws-collapse-toggle{border-color:var(--border);background:var(--bg-1);border-radius:8px;width:32px;height:32px}.ws-collapse-toggle:hover{background:var(--bg-2);border-color:var(--border-bright);color:var(--text-primary)}}.workspace-sidebar-resizer{z-index:20;cursor:col-resize;touch-action:none;border:0;outline:none;width:8px;height:100%;margin:0;position:absolute;top:0;right:-4px}.workspace-sidebar-resizer:before{content:"";width:1px;transition:background var(--dur-fast) ease,box-shadow var(--dur-fast) ease;background:0 0;position:absolute;top:0;bottom:0;left:3px}.workspace-sidebar-resizer:hover:before,.workspace-sidebar-resizer:focus-visible:before,.workspace-sidebar-resizer[data-resizing=true]:before{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.workspace-sidebar-resizer:hover:before,.workspace-sidebar-resizer:focus-visible:before,.workspace-sidebar-resizer[data-resizing=true]:before{background:color-mix(in oklab,var(--accent) 68%,var(--border-bright))}}.workspace-sidebar-resizer:hover:before,.workspace-sidebar-resizer:focus-visible:before,.workspace-sidebar-resizer[data-resizing=true]:before{box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.workspace-sidebar-resizer:hover:before,.workspace-sidebar-resizer:focus-visible:before,.workspace-sidebar-resizer[data-resizing=true]:before{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 12%,transparent)}}.workspace-sidebar-resizer:after{content:"";background:var(--border-bright);opacity:.35;pointer-events:none;width:4px;height:24px;transition:opacity var(--dur-fast) ease,background var(--dur-fast) ease,height var(--dur-fast) ease,width var(--dur-fast) ease,left var(--dur-fast) ease,box-shadow var(--dur-fast) ease;border-radius:2px;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.workspace-sidebar-resizer:hover:after,.workspace-sidebar-resizer:active:after,.workspace-sidebar-resizer:focus-visible:after,.workspace-sidebar-resizer[data-resizing=true]:after{opacity:1;background:var(--accent);width:6px;height:36px;box-shadow:0 0 8px var(--accent);left:1px}@supports (color:color-mix(in lab,red,red)){.workspace-sidebar-resizer:hover:after,.workspace-sidebar-resizer:active:after,.workspace-sidebar-resizer:focus-visible:after,.workspace-sidebar-resizer[data-resizing=true]:after{box-shadow:0 0 8px color-mix(in oklab,var(--accent) 40%,transparent)}}.dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;display:inline-block}.pulse-green{background:var(--status-green);animation:1.6s ease-in-out infinite hive-pulse}.pulse-orange{background:var(--status-orange);animation:1.6s ease-in-out infinite hive-pulse}@keyframes hive-pulse{0%,to{opacity:1}50%{opacity:.45}}.status-dot{vertical-align:middle;width:8px;height:8px;transition:background var(--dur-base) ease;border-radius:50%;flex-shrink:0;display:inline-block}.status-dot--working{background:var(--status-green);animation:1.8s ease-in-out infinite hive-ripple-green}.status-dot--idle{background:var(--text-tertiary);box-shadow:0 0 0 2px var(--text-tertiary)}@supports (color:color-mix(in lab,red,red)){.status-dot--idle{box-shadow:0 0 0 2px color-mix(in oklab,var(--text-tertiary) 18%,transparent)}}.status-dot--queued{background:var(--status-orange);animation:1.8s ease-in-out infinite hive-ripple-orange}.status-dot--stopped{background:var(--status-red);box-shadow:0 0 0 2px var(--status-red)}@supports (color:color-mix(in lab,red,red)){.status-dot--stopped{box-shadow:0 0 0 2px color-mix(in oklab,var(--status-red) 22%,transparent)}}.status-dot--stopped{opacity:.85}@keyframes hive-ripple-green{0%,to{box-shadow:0 0 0 3px color-mix(in oklab,var(--status-green) 22%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in oklab,var(--status-green) 6%,transparent)}}@keyframes hive-ripple-orange{0%,to{box-shadow:0 0 0 3px color-mix(in oklab,var(--status-orange) 22%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in oklab,var(--status-orange) 6%,transparent)}}@media(prefers-reduced-motion:reduce){.status-dot--working,.status-dot--queued{animation:none}}.pill{letter-spacing:.1px;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.pill--green{color:var(--status-green)}@supports (color:color-mix(in lab,red,red)){.pill--green{color:color-mix(in oklab,var(--status-green) 55%,white)}}.pill--green{background:var(--status-green)}@supports (color:color-mix(in lab,red,red)){.pill--green{background:color-mix(in oklab,var(--status-green) 14%,transparent)}}.pill--green{border-color:var(--status-green)}@supports (color:color-mix(in lab,red,red)){.pill--green{border-color:color-mix(in oklab,var(--status-green) 28%,transparent)}}.pill--orange{color:var(--status-orange)}@supports (color:color-mix(in lab,red,red)){.pill--orange{color:color-mix(in oklab,var(--status-orange) 65%,white)}}.pill--orange{background:var(--status-orange)}@supports (color:color-mix(in lab,red,red)){.pill--orange{background:color-mix(in oklab,var(--status-orange) 12%,transparent)}}.pill--orange{border-color:var(--status-orange)}@supports (color:color-mix(in lab,red,red)){.pill--orange{border-color:color-mix(in oklab,var(--status-orange) 28%,transparent)}}.pill--red{color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.pill--red{color:color-mix(in oklab,var(--status-red) 50%,white)}}.pill--red{background:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.pill--red{background:color-mix(in oklab,var(--status-red) 14%,transparent)}}.pill--red{border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.pill--red{border-color:color-mix(in oklab,var(--status-red) 30%,transparent)}}.pill--neutral{color:var(--text-secondary);background:var(--bg-3);border-color:var(--border)}.pill--ghost{color:var(--text-tertiary);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.icon-btn{height:28px;color:var(--text-secondary);border:1px solid var(--border-bright);background:var(--bg-2);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;transition:background .1s,border-color .1s,color .1s;display:inline-flex}.icon-btn:hover{background:var(--bg-3);color:var(--text-primary)}.icon-btn:active{background:var(--bg-3)}.icon-btn:focus-visible{box-shadow:0 0 0 3px var(--accent);outline:none}@supports (color:color-mix(in lab,red,red)){.icon-btn:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 30%,transparent)}}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.icon-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.icon-btn--danger{color:var(--status-red);border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.icon-btn--danger{border-color:color-mix(in oklab,var(--status-red) 30%,var(--border-bright))}}.icon-btn--danger:hover{background:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.icon-btn--danger:hover{background:color-mix(in oklab,var(--status-red) 14%,transparent)}}.icon-btn--danger:hover{border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.icon-btn--danger:hover{border-color:color-mix(in oklab,var(--status-red) 40%,transparent)}}.icon-btn--danger:hover{color:var(--status-red)}.icon-btn--danger-solid{background:var(--status-red);color:#fff;border-color:var(--status-red)}.icon-btn--danger-solid:hover{background:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.icon-btn--danger-solid:hover{background:color-mix(in oklab,var(--status-red) 88%,#000)}}.icon-btn--danger-solid:hover{border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.icon-btn--danger-solid:hover{border-color:color-mix(in oklab,var(--status-red) 88%,#000)}}.icon-btn--danger-solid:hover{color:#fff}.icon-btn--tertiary{background:var(--charcoal-700);border-color:#0000}.icon-btn--tertiary:hover{background:var(--charcoal-600);border-color:#0000}.icon-btn--ghost{box-shadow:none;color:var(--text-tertiary);background:0 0;border-color:#0000}.icon-btn--ghost:hover{background:var(--charcoal-700);color:var(--text-primary);box-shadow:none;border-color:#0000}.icon-btn--link{box-shadow:none;color:var(--text-secondary);background:0 0;border-color:#0000;padding-left:2px;padding-right:2px}.icon-btn--link:hover{color:var(--text-primary);text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;transition:border-color .1s,background .1s;position:relative}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--border-bright)}.selectable-card{background:var(--bg-2);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:12px;transition:all .2s cubic-bezier(.2,.8,.2,1);position:relative;box-shadow:0 1px 2px #0000000d}.selectable-card--dashed{border-style:dashed;border-color:var(--border-bright)}.selectable-card:hover:not([aria-pressed=true]){border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.selectable-card:hover:not([aria-pressed=true]){border-color:color-mix(in oklab,var(--accent) 30%,var(--border-bright))}}.selectable-card:hover:not([aria-pressed=true]){background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.selectable-card:hover:not([aria-pressed=true]){background:color-mix(in oklab,var(--accent) 3%,var(--bg-3))}}.selectable-card:hover:not([aria-pressed=true]){transform:translateY(-1.5px);box-shadow:0 4px 12px #00000040}.selectable-card:active{transform:translateY(0)scale(.98)}.selectable-card:focus-visible{box-shadow:0 0 0 3px var(--accent);outline:none}@supports (color:color-mix(in lab,red,red)){.selectable-card:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 30%,transparent)}}.selectable-card[aria-pressed=true]{border-color:var(--accent);background:linear-gradient(135deg,var(--accent),var(--accent))}@supports (color:color-mix(in lab,red,red)){.selectable-card[aria-pressed=true]{background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 12%,var(--bg-2)),color-mix(in oklab,var(--accent) 3%,var(--bg-2)))}}.selectable-card[aria-pressed=true]{box-shadow:0 0 12px var(--accent),0 4px 12px #00000026}@supports (color:color-mix(in lab,red,red)){.selectable-card[aria-pressed=true]{box-shadow:0 0 12px color-mix(in oklab,var(--accent) 16%,transparent),0 4px 12px #00000026}}.role-badge{letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:500;display:inline-block}.role-badge--coder{background:var(--status-blue)}@supports (color:color-mix(in lab,red,red)){.role-badge--coder{background:color-mix(in oklab,var(--status-blue) 22%,var(--bg-2))}}.role-badge--coder{color:var(--status-blue)}.role-badge--tester{background:var(--status-orange)}@supports (color:color-mix(in lab,red,red)){.role-badge--tester{background:color-mix(in oklab,var(--status-orange) 22%,var(--bg-2))}}.role-badge--tester{color:var(--status-orange)}.role-badge--reviewer{background:var(--status-purple)}@supports (color:color-mix(in lab,red,red)){.role-badge--reviewer{background:color-mix(in oklab,var(--status-purple) 22%,var(--bg-2))}}.role-badge--reviewer{color:var(--status-purple)}.role-badge--orch,.role-badge--custom{background:var(--bg-3);color:var(--text-secondary)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.drawer-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-1);transition:border-color var(--dur-base) ease,background-color var(--dur-base) ease,box-shadow var(--dur-base) ease,transform var(--dur-base) ease;animation:slideUpFade var(--dur-slow) var(--ease-modal) forwards}@keyframes slideUpFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.drawer-card:hover{border-color:var(--border-bright);background:var(--bg-2);transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.drawer-card[data-run-status=running],.drawer-card[data-dream-status=running]{border-left:3px solid var(--accent)}.drawer-card[data-run-status=completed],.drawer-card[data-dream-status=completed]{border-left:3px solid var(--status-green)}.drawer-card[data-run-status=failed],.drawer-card[data-dream-status=failed]{border-left:3px solid var(--status-red)}.drawer-card[data-run-status=stopped],.drawer-card[data-run-status=interrupted]{border-left:3px solid var(--text-tertiary)}.drawer-card[data-dream-status=reverted],.drawer-card[data-pinned=true]{border-left:3px solid var(--status-orange)}.drawer-card[data-disabled=true]{opacity:.6;border-left:3px solid var(--text-extra-light)}@media(hover:hover){.drawer-card__actions{opacity:0;transition:opacity var(--dur-fast) ease,transform var(--dur-fast) ease;transform:translate(4px)}.drawer-card:hover .drawer-card__actions{opacity:1;transform:translate(0)}}.drawer-card__expanded{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:12px;padding-top:12px;font-size:12px}.drawer-card__error{border-top:1px solid var(--status-red);margin-top:12px;padding-top:12px}@supports (color:color-mix(in lab,red,red)){.drawer-card__error{border-top:1px solid color-mix(in oklab,var(--status-red) 25%,var(--border))}}.drawer-card__error{word-break:break-word;color:var(--status-red);font-size:12px}.drawer-kind-badge{border-radius:var(--radius-md);color:var(--text-secondary);background:var(--bg-3);border:1px solid var(--border-bright);align-items:center;padding:1px 7px;font-size:11px;font-weight:500;display:inline-flex}.drawer-status-badge{border-radius:var(--radius-md);color:var(--text-tertiary);background:var(--bg-3);border:1px solid var(--border);align-items:center;padding:1px 7px;font-size:11px;font-weight:500;display:inline-flex}.drawer-status-badge--completed{color:var(--status-green);background:var(--status-green)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--completed{background:color-mix(in oklab,var(--status-green) 12%,transparent)}}.drawer-status-badge--completed{border-color:var(--status-green)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--completed{border-color:color-mix(in oklab,var(--status-green) 25%,transparent)}}.drawer-status-badge--failed,.drawer-status-badge--error{color:var(--status-red);background:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--failed,.drawer-status-badge--error{background:color-mix(in oklab,var(--status-red) 10%,transparent)}}.drawer-status-badge--failed,.drawer-status-badge--error{border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--failed,.drawer-status-badge--error{border-color:color-mix(in oklab,var(--status-red) 25%,transparent)}}.drawer-status-badge--running{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--running{background:color-mix(in oklab,var(--accent) 10%,transparent)}}.drawer-status-badge--running{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--running{border-color:color-mix(in oklab,var(--accent) 25%,transparent)}}.drawer-status-badge--interrupted{color:var(--status-orange);background:var(--status-orange)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--interrupted{background:color-mix(in oklab,var(--status-orange) 10%,transparent)}}.drawer-status-badge--interrupted{border-color:var(--status-orange)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--interrupted{border-color:color-mix(in oklab,var(--status-orange) 25%,transparent)}}.drawer-status-badge--stopped{color:var(--text-tertiary);background:var(--text-tertiary)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--stopped{background:color-mix(in oklab,var(--text-tertiary) 10%,transparent)}}.drawer-status-badge--stopped{border-color:var(--text-tertiary)}@supports (color:color-mix(in lab,red,red)){.drawer-status-badge--stopped{border-color:color-mix(in oklab,var(--text-tertiary) 30%,transparent)}}.drawer-tag{border-radius:var(--radius-md);color:var(--text-tertiary);background:var(--bg-3);border:1px solid var(--border);align-items:center;padding:1px 6px;font-size:11px;display:inline-flex}.drawer-tabs{flex:1;align-items:center;gap:2px;min-width:0;display:flex}.drawer-tab{border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-fast) ease,background var(--dur-fast) ease;white-space:nowrap;background:0 0;border:none;padding:4px 10px;font-size:12px;font-weight:500;position:relative}.drawer-tab:hover{color:var(--text-primary);background:var(--bg-3)}.drawer-tab--active{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.drawer-tab--active{background:color-mix(in oklab,var(--accent) 10%,transparent)}}.drawer-tab--active:hover{color:var(--accent-hover);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.drawer-tab--active:hover{background:color-mix(in oklab,var(--accent) 14%,transparent)}}.drawer-section{margin-bottom:16px}.drawer-section__header{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.drawer-section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:6px;font-size:11px;font-weight:600}.drawer-settings-row{border-radius:var(--radius-lg);border:1px solid var(--border-bright);background:var(--bg-2);cursor:pointer;transition:border-color var(--dur-fast) ease;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}@supports (color:color-mix(in lab,red,red)){.drawer-settings-row:hover{border-color:color-mix(in oklab,var(--accent) 30%,var(--border-bright))}}.drawer-settings-row span{color:var(--text-secondary)}.drawer-search{width:200px;max-width:38vw;display:block;position:relative}.drawer-action-btn{border-radius:var(--radius-lg);border:1px solid var(--border-bright);height:30px;color:var(--text-primary);background:var(--bg-2);cursor:pointer;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.drawer-action-btn:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.drawer-action-btn:hover{border-color:color-mix(in oklab,var(--accent) 45%,var(--border-bright))}}.drawer-action-btn:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.drawer-action-btn:hover{background:color-mix(in oklab,var(--accent) 8%,var(--bg-2))}}.drawer-action-btn:disabled{opacity:.5;cursor:not-allowed}.wf-run-filters{border:1px solid var(--border);background:var(--bg-0);border-radius:999px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin-top:2px;margin-bottom:2px;padding:4px;display:inline-flex}.wf-run-filter-pill{border:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease,background var(--dur-fast) ease;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-flex}.wf-run-filter-pill:hover{color:var(--text-secondary)}.wf-run-filter-pill--active{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.wf-run-filter-pill--active{background:color-mix(in oklab,var(--accent) 8%,transparent)}}.wf-run-filter-pill--active:hover{color:var(--accent-hover)}.wf-run-filter-pill__count{text-align:center;background:var(--bg-3);min-width:16px;color:var(--text-tertiary);border-radius:999px;padding:0 4px;font-size:9px}.wf-run-filter-pill--active .wf-run-filter-pill__count{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.wf-run-filter-pill--active .wf-run-filter-pill__count{background:color-mix(in oklab,var(--accent) 18%,transparent)}}.wf-run-filter-pill--active .wf-run-filter-pill__count{color:var(--accent)}.wf-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.wf-panel-header__main{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.wf-panel-header__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.wf-panel-count{font-variant-numeric:tabular-nums;background:var(--bg-3);min-width:20px;height:18px;color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex}.wf-content-section{margin-bottom:16px}[data-testid=workflows-drawer]:not([data-mobile]) .workflows-content>.scroll-y{display:block}[data-testid=workflows-drawer]:not([data-mobile]) .workflows-content>.scroll-y>.mb-4,[data-testid=workflows-drawer]:not([data-mobile]) .workflows-content>.scroll-y>.wf-cli-policy{margin-bottom:0}.wf-section-title{align-items:flex-start;gap:8px;min-width:0;display:flex}.wf-section-label-tight{margin-bottom:2px}.wf-section-subtitle{color:var(--text-tertiary);font-size:11px;line-height:1.45}.wf-empty-surface{justify-content:center;align-items:center;min-height:320px;display:flex}.wf-empty-inline{border:1px dashed var(--border-bright);border-radius:14px}@supports (color:color-mix(in lab,red,red)){.wf-empty-inline{border:1px dashed color-mix(in oklab,var(--border-bright) 75%,transparent)}}.wf-empty-inline{text-align:center;color:var(--text-tertiary);background:var(--bg-0);padding:18px 16px;font-size:12px}@supports (color:color-mix(in lab,red,red)){.wf-empty-inline{background:color-mix(in oklab,var(--bg-0) 72%,transparent)}}.wf-cli-policy{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-1);color:var(--text-tertiary);margin-bottom:0;padding:10px 12px;font-size:11px;line-height:1.5}.wf-cli-policy__toggle{text-align:left;align-items:center;gap:10px;width:100%;display:flex}.wf-cli-policy__hero{flex:1;align-items:center;gap:8px;min-width:0;margin-bottom:0;display:flex}.wf-cli-policy__hero-icon{border-radius:var(--radius-md);width:26px;height:26px;color:var(--accent);background:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.wf-cli-policy__hero-icon{background:color-mix(in oklab,var(--accent) 12%,transparent)}}.wf-cli-policy__title{color:var(--text-primary);margin-bottom:1px;font-size:12px;font-weight:600;line-height:1.2}.wf-cli-policy__desc{max-width:48ch;color:var(--text-tertiary);margin:0;font-size:11px;line-height:1.35}.wf-cli-policy__summary{flex:0 0 210px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:0;display:grid}.wf-cli-policy__summary-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-2);justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:5px 7px;display:flex}.wf-cli-policy__summary-label{color:var(--text-tertiary);font-size:10px}.wf-cli-policy__summary-value{min-width:0;color:var(--text-secondary);align-items:center;gap:5px;font-size:11px;font-weight:600;line-height:1.2;display:inline-flex}.wf-cli-policy__toggle-icon{width:24px;height:24px;color:var(--text-secondary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wf-cli-policy__body{margin-top:10px}.wf-cli-policy__fieldset{border:none;margin:0 0 10px;padding:0}.wf-cli-policy__group{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-2);padding:10px}.wf-cli-policy__legend{letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px;font-size:10px;font-weight:600}.wf-cli-policy__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.wf-cli-option{border-radius:var(--radius-md);border:1px solid var(--border);width:100%;min-height:28px;color:var(--text-tertiary);background:var(--bg-1);cursor:pointer;transition:border-color var(--dur-fast) ease,color var(--dur-fast) ease,background var(--dur-fast) ease;justify-content:flex-start;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:500;display:inline-flex}.wf-cli-option:hover{color:var(--text-secondary);border-color:var(--border-bright)}.wf-cli-option--active{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.wf-cli-option--active{border-color:color-mix(in oklab,var(--accent) 35%,transparent)}}.wf-cli-option--active{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.wf-cli-option--active{background:color-mix(in oklab,var(--accent) 10%,transparent)}}.wf-cli-policy__footer{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.wf-cli-policy__footer-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wf-cli-policy__status{color:var(--text-tertiary);align-items:center;gap:5px;font-size:11px;display:inline-flex}.wf-cli-policy__status--saved{color:var(--status-green)}.wf-cli-policy__status--error{color:var(--text-error)}.wf-cli-policy__save{justify-content:center;gap:7px;min-width:92px}.wf-cli-option__icon{object-fit:contain;border-radius:3px;flex-shrink:0;width:14px;height:14px}.wf-cli-option__fallback-icon{color:var(--text-tertiary);flex-shrink:0}.wf-phase-strip{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-1);transition:border-color var(--dur-fast) ease;overflow:hidden}.wf-phase-strip:hover{border-color:var(--border-bright)}.wf-phase-strip__toggle{text-align:left;cursor:pointer;width:100%;transition:background-color var(--dur-fast) ease;align-items:center;gap:6px;padding:6px 10px;display:flex}.wf-phase-strip__toggle:hover{background:var(--bg-0)}.wf-phase-strip__chevron{color:var(--text-tertiary);flex-shrink:0;display:inline-flex}.wf-phase-strip__badge{tabular-nums:all;color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px;font-weight:600}.wf-phase-strip__badge--done{color:var(--status-green)}.wf-phase-strip__badge--running{color:var(--accent)}.wf-phase-strip__bar{background:var(--bg-3);height:2px;overflow:hidden}.wf-phase-strip__bar>span{height:100%;transition:width .3s;display:block}.wf-phase-strip__bar-fill{background:var(--border-bright)}.wf-phase-strip__bar-fill--running{background:var(--accent)}.wf-phase-strip__bar-fill--done{background:var(--status-green)}.wf-phase-body{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:4px 6px 6px;display:flex}.wf-dispatch-item{border:1px solid var(--border);background:var(--bg-2);overflow:hidden}.wf-dispatch-item[data-dispatch-status=queued]{border-left:3px solid var(--text-tertiary)}.wf-dispatch-item[data-dispatch-status=submitted]{border-left:3px solid var(--accent)}.wf-dispatch-item[data-dispatch-status=cancelled]{border-left:3px solid var(--status-red)}.wf-dispatch-item[data-dispatch-status=submitted]:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-item[data-dispatch-status=submitted]:hover{border-color:color-mix(in oklab,var(--accent) 24%,var(--border))}}.wf-dispatch-header{text-align:left;border-radius:var(--radius-md);cursor:pointer;width:100%;min-height:44px;transition:background-color var(--dur-fast) ease;align-items:flex-start;gap:7px;padding:7px 8px;display:flex}.wf-dispatch-header:hover{background:var(--bg-0)}.wf-dispatch-mark{text-align:center;width:16px;margin-top:1px;line-height:1}.wf-dispatch-step{width:34px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;margin-top:1px;font-size:10px}.wf-dispatch-title{color:var(--text-primary);font-size:11px;line-height:1.35;display:block}.wf-dispatch-summary{color:var(--text-tertiary);word-break:break-word;flex-wrap:wrap;align-items:center;gap:4px;max-width:100%;margin-top:3px;font-size:10px;line-height:1.35;display:inline-flex}.wf-dispatch-status{border:1px solid var(--border);height:16px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;margin-top:3px;padding:0 6px;font-size:9px;line-height:1;display:inline-flex}.wf-dispatch-status--reported{color:var(--status-green);border-color:var(--status-green)}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-status--reported{border-color:color-mix(in oklab,var(--status-green) 32%,var(--border))}}.wf-dispatch-status--reported{background:var(--status-green)}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-status--reported{background:color-mix(in oklab,var(--status-green) 10%,transparent)}}.wf-dispatch-status--submitted{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-status--submitted{border-color:color-mix(in oklab,var(--accent) 32%,var(--border))}}.wf-dispatch-status--submitted{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-status--submitted{background:color-mix(in oklab,var(--accent) 10%,transparent)}}.wf-dispatch-status--queued{color:var(--text-tertiary);border-color:var(--text-tertiary)}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-status--queued{border-color:color-mix(in oklab,var(--text-tertiary) 28%,var(--border))}}.wf-dispatch-status--queued{background:var(--text-tertiary)}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-status--queued{background:color-mix(in oklab,var(--text-tertiary) 10%,transparent)}}.wf-dispatch-status--cancelled{color:var(--status-red);border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-status--cancelled{border-color:color-mix(in oklab,var(--status-red) 32%,var(--border))}}.wf-dispatch-status--cancelled{background:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-status--cancelled{background:color-mix(in oklab,var(--status-red) 10%,transparent)}}.wf-run-summary-row{align-items:stretch;display:flex}.wf-run-toggle{text-align:left;cursor:pointer;min-width:0;min-height:44px;transition:background-color var(--dur-fast) ease;flex:1;align-items:flex-start;gap:7px;padding:9px 10px;display:flex}.wf-run-toggle:hover{background:var(--bg-0)}.wf-run-toggle__chevron{color:var(--text-tertiary);flex-shrink:0;margin-top:1px}.wf-run-toggle__icon{flex-shrink:0;margin-top:1px}.wf-run-toggle__main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.wf-run-toggle__name{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;line-height:1.25;display:block;overflow:hidden}.wf-run-toggle__meta{color:var(--text-tertiary);letter-spacing:0;flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;display:inline-flex}.wf-run-stop-area{align-items:center;display:flex}.wf-run-stop-btn{border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.wf-run-stop-btn{border-color:color-mix(in oklab,var(--status-red) 30%,var(--border))}}.wf-run-meta{border-top:1px solid var(--border);color:var(--text-tertiary);background:var(--bg-0);flex-wrap:wrap;align-items:center;gap:2px 8px;padding:3px 12px 4px;font-size:10px;display:flex}.wf-run-meta__item{border:1px solid var(--border);border-radius:999px;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.wf-run-meta__item{border:1px solid color-mix(in oklab,var(--border) 80%,var(--text-tertiary))}}.wf-run-meta__item{color:var(--text-tertiary);padding:1px 8px;font-size:10px;line-height:1.2}.wf-run-meta__args{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.wf-run-detail{border-top:1px solid var(--border);background:var(--bg-0);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.wf-dispatch-detail{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-2);margin:4px 8px 6px 52px;padding:6px 8px;font-size:11px}.wf-dispatch-detail>div+div{margin-top:8px}.wf-dispatch-detail__label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:2px;font-size:10px;font-weight:600}.wf-logs-panel{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-2);margin-top:4px;padding:6px 8px}.wf-logs-panel ul{border-radius:var(--radius-sm);max-height:168px;margin:0;padding-right:2px;overflow:auto}.wf-logs-panel__title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px;font-size:10px;font-weight:600}.wf-result{border-radius:var(--radius-lg);border:1px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.wf-result{border:1px solid color-mix(in oklab,var(--accent) 40%,transparent)}}.wf-result{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.wf-result{background:color-mix(in oklab,var(--accent) 6%,transparent)}}.wf-result{padding:8px 10px}.wf-result__header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.wf-result__label{letter-spacing:.03em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}.wf-run-tree-item{list-style:none}.wf-run-tree-item__content{min-width:0}.wf-tree-connector{flex-shrink:0;width:14px;height:44px;margin-top:10px;display:inline-block;position:relative}.wf-run-tree-item--child{align-items:flex-start;gap:4px;display:flex}.wf-run-tree-item--child .wf-tree-connector:before{content:"";border-left:1px dashed var(--border);position:absolute;top:-10px;bottom:12px;left:7px}@supports (color:color-mix(in lab,red,red)){.wf-run-tree-item--child .wf-tree-connector:before{border-left:1px dashed color-mix(in oklab,var(--border) 70%,transparent)}}.wf-run-tree-item--child .wf-tree-connector:after{content:"";border-top:1px dashed var(--border);width:14px;position:absolute;top:50%;left:7px;transform:translateY(-50%)}@supports (color:color-mix(in lab,red,red)){.wf-run-tree-item--child .wf-tree-connector:after{border-top:1px dashed color-mix(in oklab,var(--border) 70%,transparent)}}.wf-run-tree-item--child .wf-run-tree-item__content>.drawer-card{background:var(--bg-2)}@supports (color:color-mix(in lab,red,red)){.wf-run-tree-item--child .wf-run-tree-item__content>.drawer-card{background:color-mix(in oklab,var(--bg-2) 72%,var(--bg-1))}}@media(max-width:767px){[data-testid=workflows-drawer][data-mobile=true] .wf-panel-header,[data-testid=workflows-drawer][data-mobile=true] .wf-panel-header__main{gap:10px}[data-testid=workflows-drawer][data-mobile=true] .wf-panel-header__icon{border-radius:10px;width:36px;height:36px}[data-testid=workflows-drawer][data-mobile=true] .wf-panel-header__title{font-size:15px}[data-testid=workflows-drawer][data-mobile=true] .wf-panel-header__meta{gap:6px}[data-testid=workflows-drawer][data-mobile=true] .wf-panel-stat{padding:3px 8px}[data-testid=workflows-drawer][data-mobile=true] .wf-content-section{border-radius:16px;padding:12px}[data-testid=workflows-drawer][data-mobile=true] .wf-empty-surface{min-height:220px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy{border-radius:16px;padding:12px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__toggle{flex-wrap:wrap;align-items:flex-start;gap:10px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__hero{gap:10px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__hero-icon{width:30px;height:30px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__title{font-size:14px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__desc{font-size:11px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__summary{flex:100%;grid-template-columns:1fr 1fr;gap:8px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__toggle-icon{order:-1;margin-left:auto}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__group{padding:10px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__options{gap:6px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-option{min-height:32px;padding:0 10px;font-size:11px}[data-testid=workflows-drawer][data-mobile=true] .wf-cli-policy__footer{flex-direction:column;align-items:flex-start}[data-testid=workflows-drawer][data-mobile=true] .drawer-section__header{flex-wrap:wrap;align-items:flex-start;gap:6px}[data-testid=workflows-drawer][data-mobile=true] .wf-run-filters{width:100%}[data-testid=workflows-drawer][data-mobile=true] .wf-run-filter-pill{min-height:30px;padding:2px 6px;font-size:9px}[data-testid=workflows-drawer][data-mobile=true] .wf-run-filter-pill__count{min-width:14px;padding:0 3px;font-size:8px}[data-testid=workflows-drawer][data-mobile=true] .wf-run-toggle{padding-top:7px;padding-bottom:7px}[data-testid=workflows-drawer][data-mobile=true] .wf-run-toggle__name{font-size:11px}[data-testid=workflows-drawer][data-mobile=true] .wf-run-toggle__meta{gap:2px 4px}[data-testid=workflows-drawer][data-mobile=true] .wf-run-meta{gap:6px;padding-top:2px;padding-bottom:3px}[data-testid=workflows-drawer][data-mobile=true] .wf-run-meta__item{padding:1px 6px;font-size:9px}[data-testid=workflows-drawer][data-mobile=true] .wf-dispatch-header{min-height:38px;padding:7px 8px}[data-testid=workflows-drawer][data-mobile=true] .wf-dispatch-mark,[data-testid=workflows-drawer][data-mobile=true] .wf-dispatch-step{margin-top:0}[data-testid=workflows-drawer][data-mobile=true] .wf-dispatch-title{font-size:10px}[data-testid=workflows-drawer][data-mobile=true] .wf-dispatch-summary{font-size:9px}[data-testid=workflows-drawer][data-mobile=true] .wf-dispatch-detail,[data-testid=workflows-drawer][data-mobile=true] .wf-logs-panel,[data-testid=workflows-drawer][data-mobile=true] .wf-result{padding:6px 7px}[data-testid=workflows-drawer][data-mobile=true] .wf-run-detail{gap:8px;padding:8px}[data-testid=workflows-drawer][data-mobile=true] .wf-tree-connector{height:44px;margin-top:8px}[data-testid=workflows-drawer][data-mobile=true] .wf-run-tree-item--child .wf-tree-connector:before{top:-8px;bottom:10px}}@media(min-width:768px){[data-testid=workflows-drawer]:not([data-mobile]) .wf-run-tree-item{margin-top:4px}[data-testid=workflows-drawer]:not([data-mobile]) .wf-run-tree-item:first-child{margin-top:0}}.drawer{transition:transform .25s ease-out;transform:translate(100%)}.drawer.open{transform:translate(0)}.task-dialog__content{box-shadow:0 0 0 1px #ffffff0a inset,0 24px 48px rgba(var(--shadow-tint),.55),0 8px 16px rgba(var(--shadow-tint),.38);overflow:hidden}.task-progress-thin{background:var(--bg-3);border-radius:999px;height:2px;overflow:hidden}.task-progress-thin>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .15s;display:block}.task-drawer__header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.task-drawer__header:has(+.task-drawer__progress){border-bottom-color:#0000}.task-drawer__progress{border-radius:0;flex-shrink:0;height:3px;margin:0}.task-drawer__progress>span{border-radius:0;transition:width .3s cubic-bezier(.4,0,.2,1)}.task-list{flex-direction:column;gap:1px;display:flex}.task-node{position:relative}.task-row{min-width:0;transition:background-color var(--dur-fast) ease;border-radius:5px;align-items:flex-start;gap:10px;padding:7px 8px 7px 10px;display:flex;position:relative}.task-row:before{content:"";width:2px;transition:background-color var(--dur-fast) ease;background:0 0;border-radius:999px;position:absolute;top:8px;bottom:8px;left:0}.task-row:hover{background:var(--bg-2)}.task-row:has(input:checked){opacity:.5;transition:opacity var(--dur-fast) ease}.task-row:has(input:checked):hover{opacity:.85;background:var(--bg-2)}.task-row:hover:before,.task-row:focus-within:before{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.task-row:hover:before,.task-row:focus-within:before{background:color-mix(in oklab,var(--accent) 55%,transparent)}}.task-row__indicator{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;display:inline-flex}.task-row__title{word-break:break-word;font-size:13.5px;line-height:1.45}.task-row__checkbox-cell{cursor:pointer;flex-shrink:0;align-items:flex-start;display:inline-flex}.task-row__input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;padding:0;font-family:inherit;font-size:14px;line-height:1.4}.task-row__input::placeholder{color:var(--text-tertiary)}.task-row__actions{opacity:0;transition:opacity var(--dur-fast) ease;align-items:center;gap:2px;margin-left:4px;display:inline-flex}.task-row:hover .task-row__actions,.task-row:focus-within .task-row__actions{opacity:1}.task-row__action{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.task-row__action:hover{background:var(--bg-3);color:var(--text-primary)}.task-row__action--danger:hover{background:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.task-row__action--danger:hover{background:color-mix(in oklab,var(--status-red) 18%,transparent)}}.task-row__action--danger:hover{color:var(--status-red)}.task-row--child-input{cursor:default}.task-row--child-input:hover{background:var(--bg-2)}.task-children{margin-left:18px;padding-left:12px;position:relative}.task-children:before{content:"";background:linear-gradient(to bottom,var(--border-bright),var(--border-bright));width:1.5px;position:absolute;top:4px;bottom:8px;left:0}@supports (color:color-mix(in lab,red,red)){.task-children:before{background:linear-gradient(to bottom,color-mix(in oklab,var(--border-bright) 80%,transparent),color-mix(in oklab,var(--border-bright) 30%,transparent))}}.task-children:before{border-radius:999px}.task-status-open{color:var(--text-tertiary);background:var(--bg-3)}.task-status-done{color:var(--status-green);background:var(--status-green)}@supports (color:color-mix(in lab,red,red)){.task-status-done{background:color-mix(in oklab,var(--status-green) 13%,transparent)}}.task-owner{height:20px;color:var(--owner-tone,var(--status-blue));border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.task-owner{color:color-mix(in oklab,var(--owner-tone,var(--status-blue)) 35%,white)}}.task-owner{background:var(--owner-tone,var(--status-blue))}@supports (color:color-mix(in lab,red,red)){.task-owner{background:color-mix(in oklab,var(--owner-tone,var(--status-blue)) 16%,transparent)}}.task-owner{border:1px solid var(--owner-tone,var(--status-blue))}@supports (color:color-mix(in lab,red,red)){.task-owner{border:1px solid color-mix(in oklab,var(--owner-tone,var(--status-blue)) 30%,transparent)}}.task-mention{border:1px solid var(--status-blue);align-items:center;height:20px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.task-mention{border:1px solid color-mix(in oklab,var(--status-blue) 28%,transparent)}}.task-mention{color:var(--status-blue);border-radius:999px;padding:0 8px}@supports (color:color-mix(in lab,red,red)){.task-mention{color:color-mix(in oklab,var(--status-blue) 30%,white)}}.task-mention{background:var(--status-blue)}@supports (color:color-mix(in lab,red,red)){.task-mention{background:color-mix(in oklab,var(--status-blue) 14%,transparent)}}.task-mention{font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.task-child-count{height:18px;color:var(--text-tertiary);background:var(--bg-3);border-radius:999px;align-items:center;gap:1px;padding:0 6px 0 4px;font-size:11px;display:inline-flex}.task-add-toggle{text-align:left;width:100%;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease;border-radius:6px;align-items:center;gap:12px;padding:8px 10px 8px 12px;font-size:13px;display:flex}.task-add-toggle:hover{background:var(--bg-2);color:var(--text-secondary)}.task-add-toggle__icon{border:1px dashed var(--border-bright);width:20px;height:20px;color:var(--text-tertiary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.task-add-toggle--primary{background:var(--bg-2);border:1px solid var(--border-bright);width:auto;min-width:200px;color:var(--text-primary);justify-content:center;padding:9px 16px}.task-add-toggle--primary:hover{background:var(--bg-3);color:var(--text-primary);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.task-add-toggle--primary:hover{border-color:color-mix(in oklab,var(--accent) 55%,var(--border-bright))}}.task-add-toggle--primary .task-add-toggle__icon{border-style:solid;border-color:var(--accent);width:18px;height:18px}@supports (color:color-mix(in lab,red,red)){.task-add-toggle--primary .task-add-toggle__icon{border-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.task-add-toggle--primary .task-add-toggle__icon{color:var(--accent)}.task-add-input{background:var(--bg-2);border-radius:6px;align-items:center;gap:12px;padding:8px 10px 8px 12px;display:flex}.task-add-input__icon{background:var(--bg-3);width:20px;height:20px;color:var(--text-secondary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.task-add-input__field{min-width:0;color:var(--text-primary);background:0 0;outline:none;flex:1;font-size:14px}.task-add-input__field::placeholder{color:var(--text-tertiary)}.task-completed-toggle{text-align:left;text-transform:uppercase;letter-spacing:.06em;width:100%;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease;border-radius:5px;align-items:center;gap:6px;margin-top:6px;padding:5px 10px;font-size:10.5px;font-weight:600;display:flex}.task-completed-toggle:before{content:"";background:var(--border);flex:1;order:-1;height:1px}.task-completed-toggle:hover,.task-completed-toggle[aria-expanded=true]{color:var(--text-secondary)}.task-row__deep-marker{text-align:center;width:16px;color:var(--text-tertiary);flex-shrink:0;font-size:12px;line-height:20px}.task-children--deep{margin-left:0;padding-left:8px}.task-children--deep:before{display:none}.task-row__collapse{width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.task-row__collapse:hover{background:var(--bg-3);color:var(--text-secondary)}.task-owner--clickable{cursor:pointer;font:inherit;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.task-owner--clickable:hover{filter:brightness(1.1)}.task-owner--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@keyframes worker-card-highlight{0%{box-shadow:0 0 0 2px var(--accent),0 0 18px 4px color-mix(in oklab,var(--accent) 40%,transparent)}to{box-shadow:0 0 #0000,0 0 #0000}}.worker-card-shell--highlight{animation:1s ease-out worker-card-highlight}.drawer--stale,.task-dialog--stale{filter:saturate(.35)brightness(.85)}.drawer--stale .task-status-done,.drawer--stale .task-status-open,.task-dialog--stale .task-status-done,.task-dialog--stale .task-status-open{filter:saturate(1.6)brightness(1.15)}.modal-backdrop,.app-overlay{background:var(--bg-overlay)}.elev-1{box-shadow:0 2px 6px rgba(var(--shadow-tint),.36)}.elev-2{box-shadow:0 12px 28px rgba(var(--shadow-tint),.46),0 4px 10px rgba(var(--shadow-tint),.36)}.input{width:100%;color:var(--text-primary);background:var(--bg-1);border:1px solid var(--border);border-radius:4px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .1s,box-shadow .1s;display:block}.input::placeholder{color:var(--text-tertiary);font-weight:500}.input:hover:not(:focus){border-color:var(--border-bright)}.input:focus-visible{border-color:var(--accent);box-shadow:none}.input--readonly{background:var(--bg-0);color:var(--text-secondary);cursor:default}.input--error{border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.input--error{border-color:color-mix(in oklab,var(--status-red) 50%,var(--border-bright))}}.input--error:hover:not(:focus){border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.input--error:hover:not(:focus){border-color:color-mix(in oklab,var(--status-red) 65%,var(--border-bright))}}.input--error:focus-visible{border-color:var(--status-red);box-shadow:none}@keyframes dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-pop-in{0%{opacity:0;transform:translate(-50%,-50%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes dialog-pop-out{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-50%)}}@keyframes dialog-scale-pop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-scale-pop-out{0%{opacity:1}to{opacity:0}}@keyframes drawer-pop-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes drawer-pop-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}.app-overlay[data-state=open]{animation:dialog-overlay-in .18s var(--ease-out)}.app-overlay[data-state=closed]{animation:dialog-overlay-out .14s var(--ease-in)}.dialog-pop[data-state=open]{animation:dialog-pop-in .3s var(--ease-out) both}.dialog-pop[data-state=closed]{animation:dialog-pop-out .14s var(--ease-in) both}.dialog-scale-pop[data-state=open]{animation:dialog-scale-pop-in .3s var(--ease-out) both}.dialog-scale-pop[data-state=closed]{animation:dialog-scale-pop-out .14s var(--ease-in) both}.drawer-pop[data-state=open]{animation:drawer-pop-in .22s var(--ease-modal) both}.drawer-pop[data-state=closed]{animation:drawer-pop-out .16s var(--ease-in) both}@media(prefers-reduced-motion:reduce){.app-overlay[data-state=open],.app-overlay[data-state=closed],.dialog-pop[data-state=open],.dialog-pop[data-state=closed],.dialog-scale-pop[data-state=open],.dialog-scale-pop[data-state=closed],.drawer-pop[data-state=open],.drawer-pop[data-state=closed]{animation:none}}.tooltip{z-index:70;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-bright);box-shadow:var(--shadow-elev-2);border-radius:4px;max-width:260px;padding:4px 8px;font-size:11px;font-weight:500;line-height:1.4;animation:.1s dialog-overlay-in}.toast-progress-bar{opacity:.5;transform-origin:0;pointer-events:none;height:2px;animation:linear forwards toast-progress;position:absolute;bottom:0;left:0;right:0}.toast:hover .toast-progress-bar{animation-play-state:paused}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.toast-progress-bar{opacity:0;animation:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-pop{animation:toast-in .32s var(--ease-overshoot)}@media(prefers-reduced-motion:reduce){.toast-pop{animation:none}}.float-action{border:1px solid var(--border-bright);background:var(--bg-1);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.float-action:hover{background:var(--bg-2)}@supports (color:color-mix(in lab,red,red)){.float-action:hover{background:color-mix(in oklab,var(--bg-2) 85%,transparent)}}.float-action:hover{border-color:var(--border-bright);color:var(--text-primary)}.float-action:active{background:var(--bg-3)}@supports (color:color-mix(in lab,red,red)){.float-action:active{background:color-mix(in oklab,var(--bg-3) 90%,transparent)}}.float-action:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent);outline:none}@supports (color:color-mix(in lab,red,red)){.float-action:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 30%,transparent)}}.float-action:disabled{opacity:.5;cursor:not-allowed}.float-action[data-variant=primary]{background:var(--accent);color:#fff;border-color:var(--accent)}.float-action[data-variant=primary]:hover{background:var(--accent-hover)}.float-action[data-variant=danger]{color:var(--status-red)}.float-action[data-variant=danger]:hover{background:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.float-action[data-variant=danger]:hover{background:color-mix(in oklab,var(--status-red) 18%,transparent)}}.float-action[data-variant=danger]:hover{border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.float-action[data-variant=danger]:hover{border-color:color-mix(in oklab,var(--status-red) 50%,var(--border-bright))}}.float-action[data-variant=danger]:hover{color:var(--status-red)}.float-action-divider{background:var(--border-bright);width:1px;height:18px;margin:0 4px}@supports (color:color-mix(in lab,red,red)){.float-action-divider{background:color-mix(in oklab,var(--border-bright) 80%,transparent)}}.worker-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:12px;display:grid}.worker-card-shell{position:relative}.worker-card-shell:not([data-mobile=true]) .worker-card{background:var(--bg-1);border:1px solid var(--border-bright);border-radius:var(--radius-lg);transition:all .22s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000040,inset 0 1px #ffffff0d;padding:16px!important}.worker-card-shell:not([data-mobile=true])[data-status=working] .worker-card{background:linear-gradient(180deg,var(--bg-1) 0%,var(--status-green) 100%);border-color:#54a27140}@supports (color:color-mix(in lab,red,red)){.worker-card-shell:not([data-mobile=true])[data-status=working] .worker-card{background:linear-gradient(180deg,var(--bg-1) 0%,color-mix(in oklab,var(--status-green) 1.5%,var(--bg-1)) 100%)}}.worker-card-shell:not([data-mobile=true])[data-status=working]:hover .worker-card,.worker-card-shell:not([data-mobile=true])[data-status=working]:focus-within .worker-card{background:linear-gradient(180deg,var(--bg-1) 0%,var(--status-green) 100%);border-color:#54a2718c}@supports (color:color-mix(in lab,red,red)){.worker-card-shell:not([data-mobile=true])[data-status=working]:hover .worker-card,.worker-card-shell:not([data-mobile=true])[data-status=working]:focus-within .worker-card{background:linear-gradient(180deg,var(--bg-1) 0%,color-mix(in oklab,var(--status-green) 3.5%,var(--bg-1)) 100%)}}.worker-card-shell:not([data-mobile=true])[data-status=working]:hover .worker-card,.worker-card-shell:not([data-mobile=true])[data-status=working]:focus-within .worker-card{box-shadow:0 8px 24px -6px #54a27129,0 0 0 1px #54a27140,0 4px 16px #0000004d}.worker-card-shell:not([data-mobile=true])[data-status=idle] .worker-card{border-color:var(--border-bright)}.worker-card-shell:not([data-mobile=true])[data-status=idle]:hover .worker-card,.worker-card-shell:not([data-mobile=true])[data-status=idle]:focus-within .worker-card{border-color:var(--text-secondary);box-shadow:0 8px 24px -6px #00000073,0 0 0 1px var(--text-secondary)}.worker-card-shell:not([data-mobile=true])[data-status=stopped] .worker-card{opacity:.55;filter:saturate(.55);background:var(--bg-crust);border-color:#ffffff05}.worker-card-shell:not([data-mobile=true])[data-status=stopped]:hover .worker-card,.worker-card-shell:not([data-mobile=true])[data-status=stopped]:focus-within .worker-card{opacity:1;filter:none;background:linear-gradient(180deg,var(--bg-crust) 0%,var(--status-red) 100%);border-color:#d4544f66}@supports (color:color-mix(in lab,red,red)){.worker-card-shell:not([data-mobile=true])[data-status=stopped]:hover .worker-card,.worker-card-shell:not([data-mobile=true])[data-status=stopped]:focus-within .worker-card{background:linear-gradient(180deg,var(--bg-crust) 0%,color-mix(in oklab,var(--status-red) 1.8%,var(--bg-crust)) 100%)}}.worker-card-shell:not([data-mobile=true])[data-status=stopped]:hover .worker-card,.worker-card-shell:not([data-mobile=true])[data-status=stopped]:focus-within .worker-card{box-shadow:0 8px 24px -6px #d4544f14,0 0 0 1px #d4544f33,0 4px 16px #0000004d}.worker-card__role-tag{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;font-weight:500;display:block;overflow:hidden}.worker-card-name-input{background:var(--bg-1);border:1px solid var(--accent);color:var(--text-primary);font-family:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;box-sizing:border-box;border-radius:4px;width:100%;margin:-2px -5px;padding:1px 4px}.worker-card-name-input:focus{box-shadow:0 0 0 2px var(--accent);outline:none}@supports (color:color-mix(in lab,red,red)){.worker-card-name-input:focus{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 30%,transparent)}}.worker-card-shell:hover [data-testid=worker-card-ephemeral-badge]{opacity:0;pointer-events:none}[data-testid=worker-card-ephemeral-badge]{transition:opacity .15s}@keyframes avatar-pulse{0%{box-shadow:0 0 0 2px var(--bg-1),0 0 0 3px #54a27180}50%{box-shadow:0 0 0 2px var(--bg-1),0 0 0 5px #54a27133}to{box-shadow:0 0 0 2px var(--bg-1),0 0 0 3px #54a27180}}.worker-card-shell:not([data-mobile=true])[data-status=working] [data-status-ring=working]{animation:2.2s ease-in-out infinite avatar-pulse!important}.worker-card__status{align-self:flex-start}.worker-card-shell:hover .worker-card__actions,.worker-card-shell:focus-within .worker-card__actions,.worker-card-shell[data-mobile=true] .worker-card__actions{opacity:1;pointer-events:auto;transform:translateY(0)}.worker-card-shell[data-mobile=true] .worker-card__action{width:44px;height:44px}.orchestrator-pty-slot:has([data-terminal-host-run-id]) .orchestrator-pty-placeholder{display:none}.worker-card__actions{opacity:0;pointer-events:none;z-index:2;align-items:center;gap:4px;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:10px;right:10px;transform:translateY(-2px);-webkit-backdrop-filter:blur(8px)!important;border:1px solid var(--border-bright)!important;background:#17171780!important;border-radius:8px!important;padding:3px!important;box-shadow:0 4px 12px #00000040!important}.worker-card__action{border:1px solid var(--border-bright);background:var(--bg-2);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.worker-card__action:hover{background:var(--bg-3);border-color:var(--text-tertiary);color:var(--text-primary)}.worker-card__action:active{background:var(--charcoal-700)}.worker-card__action:disabled{opacity:.5;cursor:not-allowed}.worker-card__action[data-variant=primary]{background:var(--accent);border-color:var(--accent);color:#fff}.worker-card__action[data-variant=primary]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.worker-card__action[data-variant=danger]:hover{background:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.worker-card__action[data-variant=danger]:hover{background:color-mix(in oklab,var(--status-red) 14%,transparent)}}.worker-card__action[data-variant=danger]:hover{border-color:var(--status-red)}@supports (color:color-mix(in lab,red,red)){.worker-card__action[data-variant=danger]:hover{border-color:color-mix(in oklab,var(--status-red) 40%,var(--border-bright))}}.worker-card__action[data-variant=danger]:hover{color:var(--status-red)}.modal-resize-handle{cursor:ew-resize;z-index:6;-webkit-user-select:none;user-select:none;touch-action:none;outline:none;width:8px;position:absolute;top:0;bottom:0}.modal-resize-handle--left{left:-4px}.modal-resize-handle--right{right:-4px}.modal-resize-handle:before{content:"";width:1px;transition:background var(--dur-fast) ease,box-shadow var(--dur-fast) ease;background:0 0;position:absolute;top:0;bottom:0}.modal-resize-handle--left:before{left:4px}.modal-resize-handle--right:before{right:4px}.modal-resize-handle:hover:before,.modal-resize-handle[data-resizing]:before{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.modal-resize-handle:hover:before,.modal-resize-handle[data-resizing]:before{background:color-mix(in oklab,var(--accent) 68%,var(--border-bright))}}.modal-resize-handle:hover:before,.modal-resize-handle[data-resizing]:before{box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.modal-resize-handle:hover:before,.modal-resize-handle[data-resizing]:before{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 12%,transparent)}}.pane-splitter{cursor:col-resize;z-index:5;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;outline:none;width:8px;position:absolute;top:0;bottom:0}.pane-splitter:before{content:"";width:1px;transition:background var(--dur-fast) ease,box-shadow var(--dur-fast) ease;background:0 0;position:absolute;top:0;bottom:0;left:3px}.pane-splitter:hover:before,.pane-splitter:focus-visible:before,.pane-splitter[data-dragging]:before{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.pane-splitter:hover:before,.pane-splitter:focus-visible:before,.pane-splitter[data-dragging]:before{background:color-mix(in oklab,var(--accent) 68%,var(--border-bright))}}.pane-splitter:hover:before,.pane-splitter:focus-visible:before,.pane-splitter[data-dragging]:before{box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.pane-splitter:hover:before,.pane-splitter:focus-visible:before,.pane-splitter[data-dragging]:before{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 12%,transparent)}}.pane-splitter:after{content:"";background:var(--border-bright);opacity:.35;pointer-events:none;width:4px;height:24px;transition:opacity var(--dur-fast) ease,background var(--dur-fast) ease,height var(--dur-fast) ease,width var(--dur-fast) ease,left var(--dur-fast) ease,box-shadow var(--dur-fast) ease;border-radius:2px;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.pane-splitter:hover:after,.pane-splitter:active:after,.pane-splitter:focus-visible:after,.pane-splitter[data-dragging]:after{opacity:1;background:var(--accent);width:6px;height:36px;box-shadow:0 0 8px var(--accent);left:1px}@supports (color:color-mix(in lab,red,red)){.pane-splitter:hover:after,.pane-splitter:active:after,.pane-splitter:focus-visible:after,.pane-splitter[data-dragging]:after{box-shadow:0 0 8px color-mix(in oklab,var(--accent) 40%,transparent)}}@media(hover:none){.workspace-sidebar-resizer:after,.pane-splitter:after{opacity:.6;background:var(--text-secondary);width:5px}}.cli-select{background:var(--bg-1);border:1px solid var(--border);border-radius:4px;align-items:center;transition:border-color .1s,box-shadow .1s;display:flex;position:relative}.cli-select:hover{border-color:var(--border-bright)}.cli-select:focus-within{border-color:var(--accent);box-shadow:none}.cli-select__leading{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.cli-select__trailing{color:var(--text-secondary);pointer-events:none;transition:transform var(--dur-fast) ease;position:absolute;right:10px}.cli-select:focus-within .cli-select__trailing{transform:translateY(1px)}.cli-select__field{appearance:none;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:0;outline:none;padding:8px 32px;font-family:inherit;font-size:13px;font-weight:500}.cli-select__field:disabled{color:var(--text-tertiary);cursor:not-allowed}.cli-select__field option{background:var(--bg-elevated);color:var(--text-primary)}.cli-select__field--button{cursor:pointer;justify-content:flex-start;align-items:center;display:inline-flex}.cli-select__menu{z-index:60;background:var(--bg-elevated);border:1px solid var(--border-bright);box-shadow:var(--shadow-elev-2);max-height:240px;animation:dialog-scale-pop-in .12s var(--ease-out) both;transform-origin:top;border-radius:4px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.cli-select__option{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--dur-fast) ease;background:0 0;border-radius:4px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.cli-select__option:hover,.cli-select__option:focus-visible{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.cli-select__option:hover,.cli-select__option:focus-visible{background:color-mix(in oklab,var(--accent) 16%,transparent)}}.cli-select__option:hover,.cli-select__option:focus-visible{outline:none}.cli-select__option[aria-selected=true]{color:var(--accent)}.cli-select__check{color:var(--accent);flex-shrink:0}.open-workspace{--open-workspace-radius:7px}.open-workspace__main,.open-workspace__chevron{border:1px solid var(--border);background:linear-gradient(180deg,oklab(100% 0 5.96046e-8/.03),transparent),var(--bg-1);height:28px;color:var(--text-secondary);transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) ease}.open-workspace__main{border-radius:var(--open-workspace-radius) 0 0 var(--open-workspace-radius);border-right:0;align-items:center;gap:7px;min-width:82px;padding:0 9px 0 8px;font-size:12px;font-weight:600;display:flex}.open-workspace__chevron{border-radius:0 var(--open-workspace-radius) var(--open-workspace-radius) 0;width:28px;box-shadow:inset 1px 0 0 var(--border);justify-content:center;align-items:center;padding:0;display:flex}.open-workspace__main:hover:not(:disabled),.open-workspace__chevron:hover:not(:disabled),.open-workspace__main[aria-expanded=true],.open-workspace__chevron[aria-expanded=true]{background:linear-gradient(180deg,oklab(100% 0 5.96046e-8/.05),transparent),var(--accent)}@supports (color:color-mix(in lab,red,red)){.open-workspace__main:hover:not(:disabled),.open-workspace__chevron:hover:not(:disabled),.open-workspace__main[aria-expanded=true],.open-workspace__chevron[aria-expanded=true]{background:linear-gradient(180deg,oklab(100% 0 5.96046e-8/.05),transparent),color-mix(in oklab,var(--accent) 8%,var(--bg-1))}}.open-workspace__main:hover:not(:disabled),.open-workspace__chevron:hover:not(:disabled),.open-workspace__main[aria-expanded=true],.open-workspace__chevron[aria-expanded=true]{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.open-workspace__main:hover:not(:disabled),.open-workspace__chevron:hover:not(:disabled),.open-workspace__main[aria-expanded=true],.open-workspace__chevron[aria-expanded=true]{border-color:color-mix(in oklab,var(--accent) 38%,var(--border))}}.open-workspace__main:hover:not(:disabled),.open-workspace__chevron:hover:not(:disabled),.open-workspace__main[aria-expanded=true],.open-workspace__chevron[aria-expanded=true]{color:var(--text-primary)}.open-workspace__main:active:not(:disabled),.open-workspace__chevron:active:not(:disabled){transform:translateY(1px)}.open-workspace__main:focus-visible,.open-workspace__chevron:focus-visible{z-index:1;outline:1px solid var(--accent);outline-offset:2px}.open-workspace__main:disabled,.open-workspace__chevron:disabled{cursor:not-allowed;opacity:.48}.open-workspace__trigger-icon{flex:0 0 16px;place-items:center;width:16px;height:16px;display:grid}.open-workspace__trigger-img{object-fit:contain;transform-origin:50%;width:15px;height:15px}.open-workspace__menu{z-index:50;border:1px solid var(--border-bright);background:linear-gradient(180deg,oklab(100% 0 5.96046e-8/.03),transparent 48px),var(--bg-elevated);transform-origin:100% 0;width:244px;max-height:min(360px,100vh - 72px);animation:dialog-scale-pop-in .12s var(--ease-out) both;border-radius:9px;padding:6px;position:absolute;top:34px;right:0;overflow-y:auto}.open-workspace__option{cursor:pointer;width:100%;min-height:38px;color:var(--text-primary);text-align:left;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;font-weight:500;line-height:1.2;display:flex}.open-workspace__option:hover,.open-workspace__option:focus-visible{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.open-workspace__option:hover,.open-workspace__option:focus-visible{background:color-mix(in oklab,var(--accent) 8%,var(--bg-2))}}.open-workspace__option:hover,.open-workspace__option:focus-visible{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.open-workspace__option:hover,.open-workspace__option:focus-visible{border-color:color-mix(in oklab,var(--accent) 26%,transparent)}}.open-workspace__option:hover,.open-workspace__option:focus-visible{outline:none}.open-workspace__option[data-selected=true]{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.open-workspace__option[data-selected=true]{background:color-mix(in oklab,var(--accent) 12%,var(--bg-2))}}.open-workspace__option[data-selected=true]{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.open-workspace__option[data-selected=true]{border-color:color-mix(in oklab,var(--accent) 48%,var(--border-bright))}}.open-workspace__option[data-selected=true]{color:var(--text-primary)}.open-workspace__option-icon{background:linear-gradient(180deg,oklab(100% 0 5.96046e-8/.05),transparent),var(--bg-0);border-radius:6px;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}@supports (color:color-mix(in lab,red,red)){.open-workspace__option-icon{background:linear-gradient(180deg,oklab(100% 0 5.96046e-8/.05),transparent),color-mix(in oklab,var(--bg-0) 60%,var(--bg-2))}}.open-workspace__option-icon{box-shadow:inset 0 0 0 1px var(--border)}@supports (color:color-mix(in lab,red,red)){.open-workspace__option-icon{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--border) 70%,transparent)}}.open-workspace__option-img{object-fit:contain;transform-origin:50%;width:17px;height:17px}.open-workspace__check{width:18px;height:18px;color:var(--accent);flex:0 0 18px;place-items:center;display:grid}.marketplace-browse-btn:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.marketplace-browse-btn:hover{background:color-mix(in oklab,var(--accent) 12%,var(--bg-0))}}.marketplace-browse-btn:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.marketplace-browse-btn:hover{border-color:color-mix(in oklab,var(--accent) 50%,var(--border-bright))}}.marketplace-browse-btn:hover{color:var(--text-primary)}.marketplace-card{background:var(--bg-2);border-color:var(--border-bright);box-shadow:0 1px 2px #0000000d}.marketplace-card[data-selected=true]{background:linear-gradient(135deg,var(--accent),var(--accent))!important}@supports (color:color-mix(in lab,red,red)){.marketplace-card[data-selected=true]{background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 12%,var(--bg-2)),color-mix(in oklab,var(--accent) 3%,var(--bg-2)))!important}}.marketplace-card[data-selected=true]{border-color:var(--accent)!important;box-shadow:0 0 12px var(--accent),0 4px 12px #00000026!important}@supports (color:color-mix(in lab,red,red)){.marketplace-card[data-selected=true]{box-shadow:0 0 12px color-mix(in oklab,var(--accent) 18%,transparent),0 4px 12px #00000026!important}}.marketplace-card:not([data-selected=true]):hover{background:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.marketplace-card:not([data-selected=true]):hover{background:color-mix(in oklab,var(--accent) 4%,var(--bg-3))!important}}.marketplace-card:not([data-selected=true]):hover{border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.marketplace-card:not([data-selected=true]):hover{border-color:color-mix(in oklab,var(--accent) 30%,var(--border-bright))!important}}.marketplace-card:not([data-selected=true]):hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.marketplace-card:not([data-selected=true]):active{background:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.marketplace-card:not([data-selected=true]):active{background:color-mix(in oklab,var(--accent) 8%,var(--bg-3))!important}}.marketplace-card:not([data-selected=true]):active{transform:translateY(0)}.marketplace-category-row{background:0 0;position:relative}.marketplace-category-row:hover{background:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.marketplace-category-row:hover{background:color-mix(in oklab,var(--accent) 6%,transparent)!important}}.marketplace-category-row[data-active=true]{background:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.marketplace-category-row[data-active=true]{background:color-mix(in oklab,var(--accent) 12%,var(--bg-3))!important}}.marketplace-category-row[data-active=true]{color:var(--text-primary)!important}.marketplace-category-row[data-active=true]:before{content:"";background:var(--accent);border-radius:4px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.marketplace-toggle-row{border-radius:8px}.marketplace-toggle-row:hover{background:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.marketplace-toggle-row:hover{background:color-mix(in oklab,var(--accent) 6%,transparent)!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.animate-slide-in-right{animation:.28s cubic-bezier(.16,1,.3,1) forwards slideInRight}.marketplace-prose{color:var(--text-primary);font-size:13px;line-height:1.7}.marketplace-prose>*+*{margin-top:10px}.marketplace-prose h1,.marketplace-prose h2,.marketplace-prose h3,.marketplace-prose h4{color:var(--text-primary);font-weight:600;line-height:1.4}.marketplace-prose h1{margin-top:14px;font-size:16px}.marketplace-prose h2{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:12px;font-size:14px}.marketplace-prose h3{color:var(--text-secondary);margin-top:12px;font-size:13px}.marketplace-prose h4{color:var(--text-secondary);font-size:13px}.marketplace-prose p{color:var(--text-primary)}.marketplace-prose ul,.marketplace-prose ol{padding-left:20px}.marketplace-prose ul{list-style:outside}.marketplace-prose ol{list-style:decimal}.marketplace-prose li+li{margin-top:4px}.marketplace-prose li{color:var(--text-primary)}.marketplace-prose strong{color:var(--text-primary);font-weight:600}.marketplace-prose em{color:var(--text-secondary);font-style:italic}.marketplace-prose code{background:var(--bg-3);color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:2px 5px;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}@supports (color:color-mix(in lab,red,red)){.marketplace-prose code{border:1px solid color-mix(in oklab,var(--accent) 15%,transparent)}}.marketplace-prose pre{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow-x:auto}.marketplace-prose pre code{color:var(--text-primary);background:0 0;border:none;padding:0}.marketplace-prose blockquote{border-left:3px solid var(--accent);background:var(--accent);margin:12px 0;padding:8px 12px}@supports (color:color-mix(in lab,red,red)){.marketplace-prose blockquote{background:color-mix(in oklab,var(--accent) 5%,transparent)}}.marketplace-prose blockquote{color:var(--text-secondary);border-radius:0 8px 8px 0}.marketplace-prose a{color:var(--accent);border-bottom:1px dashed var(--accent);text-decoration:none;transition:all .2s}.marketplace-prose a:hover{color:var(--accent-hover);border-bottom-style:solid}.marketplace-prose hr{border:none;border-top:1px solid var(--border);margin:14px 0}.marketplace-prose table{border-collapse:collapse;font-size:11px}.marketplace-prose th,.marketplace-prose td{border:1px solid var(--border);padding:4px 8px}.marketplace-prose th{background:var(--bg-2);color:var(--text-secondary)}:root{--mobile-nav-h:56px}.mobile-topbar{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.mobile-bottom-nav{z-index:60;box-sizing:border-box;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);position:relative}.mobile-bottom-nav__tab{-webkit-tap-highlight-color:transparent;min-height:44px}.mobile-bottom-nav__tab[data-active=true]{font-weight:600}.mobile-shell{inline-size:100%;max-inline-size:100vw;overflow-x:hidden}.mobile-shell main,.mobile-shell [data-mobile-section=team],.mobile-shell [data-testid=workspace-detail-panes],.mobile-shell [data-testid=mobile-team-panel]{min-width:0;max-width:100%}.mobile-team-pane{contain:layout paint;block-size:100%;inline-size:100%;position:absolute;inset:0;overflow:hidden}.mobile-team-pane[data-active=false]{visibility:hidden;pointer-events:none}.mobile-team-pane[data-active=true]{visibility:visible;pointer-events:auto}.mobile-shell .workers-pane-body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;contain:layout paint;will-change:scroll-position}.mobile-shell .worker-card-grid{grid-template-columns:minmax(0,1fr)}.mobile-shell .worker-card-grid>li{content-visibility:auto;contain-intrinsic-size:132px}.mobile-shell .workers-pane-body .status-dot--working,.mobile-shell .workers-pane-body .status-dot--queued{animation:none}.mobile-shell [data-testid^=terminal-]{overscroll-behavior:contain;touch-action:none}.mobile-shell .xterm,.mobile-shell .xterm-screen,.mobile-shell .xterm-viewport{touch-action:none}.mobile-shell .xterm-viewport{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;will-change:scroll-position}.mobile-terminal-jump-button{z-index:40;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-width:44px;min-height:44px}.mobile-shell .mobile-topbar a,.mobile-shell .mobile-topbar button{min-height:44px}[data-pty-slot]{min-width:0;overflow:hidden}@media(max-width:767px){html,body{overscroll-behavior-y:none}.mobile-shell main{overscroll-behavior:contain}}@media(hover:none){.ws-row-delete,.ws-sidebar-footer__dismiss{opacity:1}.worker-card-shell[data-status=stopped] .worker-card{opacity:1;filter:none}}[data-testid=task-graph-drawer][data-mobile=true],[data-testid=workflows-drawer][data-mobile=true]{inset:0;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));border-radius:0;width:100vw;max-width:none;height:auto;max-height:none;position:fixed}[data-testid=worker-modal][data-mobile=true]{width:100vw;max-width:none;height:auto;max-height:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:0;position:fixed;inset:0}.settings-switch{background:var(--charcoal-600);cursor:pointer;width:36px;height:20px;transition:background var(--dur-base) ease;border:none;border-radius:999px;flex-shrink:0;align-items:center;padding:0;display:inline-flex;position:relative}.settings-switch[data-checked]{background:var(--accent)}.settings-switch:disabled{opacity:.4;cursor:not-allowed}.settings-switch:focus-visible{box-shadow:0 0 0 3px var(--accent);outline:none}@supports (color:color-mix(in lab,red,red)){.settings-switch:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 30%,transparent)}}.settings-switch__thumb{width:16px;height:16px;transition:transform var(--dur-base) ease;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.settings-switch[data-checked] .settings-switch__thumb{transform:translate(16px)}@media(pointer:coarse){.settings-switch{width:44px;height:24px}.settings-switch__thumb{width:20px;height:20px}.settings-switch[data-checked] .settings-switch__thumb{transform:translate(20px)}}.settings-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-1);transition:border-color var(--dur-fast) ease;padding:12px}.settings-section+.settings-section{margin-top:10px}.settings-details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-1);transition:border-color var(--dur-fast) ease}.settings-details+.settings-details,.settings-details+.settings-section,.settings-section+.settings-details{margin-top:10px}.settings-details__summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px;list-style:none;display:flex}.settings-details__summary::-webkit-details-marker{display:none}.settings-details__summary:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--radius-md);outline:none}.settings-details__content{border-top:1px dashed var(--border);padding:12px}.settings-section__heading{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);align-items:center;gap:6px;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}@media(max-width:767px){.settings-section__heading{font-size:12px}}.settings-toggle-row{width:100%;font:inherit;color:inherit;border-radius:var(--radius-sm);transition:background var(--dur-fast) ease;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px;display:flex}.settings-toggle-row:hover{background:#ffffff08}.settings-toggle-row:focus-visible{box-shadow:0 0 0 3px var(--accent);outline:none}@supports (color:color-mix(in lab,red,red)){.settings-toggle-row:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 30%,transparent)}}.settings-toggle-row+.settings-toggle-row{margin-top:2px}@keyframes settings-pop-in{0%{opacity:0;transform:scale(.96)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.settings-popover{animation:settings-pop-in .15s var(--ease-out) both;transform-origin:100% 0}.settings-sheet[data-mobile=true]{height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.toaster[data-mobile=true],.update-toast[data-mobile=true]{bottom:calc(72px + env(safe-area-inset-bottom,0px))}@media(max-width:767px){.input{font-size:16px}}@keyframes dialog-slide-left{0%{transform:translate(-100%)}to{transform:translate(0)}}.dialog-slide-left{animation:.18s ease-out dialog-slide-left}@media(prefers-reduced-motion:reduce){.dialog-slide-left{animation:none}}@keyframes dialog-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dialog-slide-up{animation:.2s ease-out dialog-slide-up}@media(prefers-reduced-motion:reduce){.dialog-slide-up{animation:none}}.mobile-shell button,.mobile-shell a,.connect-screen button{-webkit-tap-highlight-color:transparent}.add-worker-sheet .selectable-card,.add-worker-sheet .marketplace-browse-btn,.add-worker-sheet [data-testid=role-template-picker-trigger]{min-height:48px}.add-worker-sheet .icon-btn{min-height:44px}.add-worker-sheet [data-testid=random-worker-name],.add-worker-sheet summary button{min-height:36px;padding-inline:10px}.add-worker-sheet summary{min-height:40px}.add-worker-sheet [role=option]{min-height:44px}.add-worker-sheet [data-testid^=role-template-delete]{width:36px;height:36px}.marketplace-sheet .icon-btn{min-height:44px}.mobile-shell--focus{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media(max-width:767px){[data-testid=workers-pane] .icon-btn{min-height:44px}.mobile-shell .worker-card-grid>li{contain-intrinsic-size:68px}}.mobile-shell [data-pty-slot],[data-testid=worker-modal][data-mobile=true] [data-pty-slot]{contain:layout paint}[data-testid=worker-modal][data-mobile=true] [data-testid^=terminal-],[data-testid=worker-modal][data-mobile=true] .xterm,[data-testid=worker-modal][data-mobile=true] .xterm-screen,[data-testid=worker-modal][data-mobile=true] .xterm-viewport{touch-action:none}[data-testid=worker-modal][data-mobile=true] [data-testid^=terminal-]{overscroll-behavior:contain}[data-testid=worker-modal][data-mobile=true] .xterm-viewport{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;will-change:scroll-position}@media(min-width:768px)and (max-height:768px){[data-testid=add-worker-content]{max-height:calc(100vh - 16px)!important}[data-testid=add-worker-content] header,[data-testid=add-worker-content] .border-b{padding-top:10px!important;padding-bottom:10px!important}[data-testid=add-worker-content] .border-t{padding-top:8px!important;padding-bottom:8px!important}[data-testid=add-worker-content] .overflow-y-auto{gap:12px!important;padding-top:12px!important;padding-bottom:12px!important}[data-testid=add-worker-content] .selectable-card{padding-top:6px!important;padding-bottom:6px!important}}[data-testid=memory-drawer],[data-testid=workflows-drawer]{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;border-radius:var(--radius-xl,16px)!important;background:var(--bg-1)!important;box-shadow:0 24px 48px -12px #00000073,0 0 1px 1px #ffffff14!important}@supports (color:color-mix(in lab,red,red)){[data-testid=memory-drawer],[data-testid=workflows-drawer]{background:color-mix(in oklab,var(--bg-1) 85%,transparent)!important}}[data-testid=memory-drawer],[data-testid=workflows-drawer]{transition:all .3s cubic-bezier(.16,1,.3,1)}[data-testid=memory-overlay],[data-testid=workflows-overlay]{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080!important}[data-testid=memory-drawer] header,.wf-panel-header{background:var(--bg-1)!important}@supports (color:color-mix(in lab,red,red)){[data-testid=memory-drawer] header,.wf-panel-header{background:color-mix(in oklab,var(--bg-1) 40%,transparent)!important}}[data-testid=memory-drawer] header,.wf-panel-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)!important;padding:16px 20px!important}.drawer-tabs{align-items:center;background:var(--bg-2)!important;border:1px solid var(--border)!important;border-radius:99px!important;flex:none!important;gap:2px!important;padding:3px!important;display:flex!important}.drawer-tabs .drawer-tab{cursor:pointer;color:var(--text-tertiary)!important;background:0 0!important;border:none!important;border-radius:99px!important;flex:none!important;height:26px!important;min-height:26px!important;padding:5px 12px!important;font-size:11.5px!important;font-weight:600!important;line-height:1!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important}.drawer-tabs .drawer-tab:hover{color:var(--text-secondary)!important}.drawer-tabs .drawer-tab--active{background:var(--bg-1)!important;color:var(--accent)!important;box-shadow:0 2px 8px -2px #0003,0 0 0 1px #ffffff0a!important}.drawer-search input{background:var(--bg-2)!important;border:1px solid var(--border)!important;border-radius:99px!important;padding-left:28px!important;font-size:11.5px!important;transition:all .2s!important}.drawer-search input:focus{border-color:var(--accent)!important;background:var(--bg-1)!important;box-shadow:0 0 0 2px var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.drawer-search input:focus{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 15%,transparent)!important}}.drawer-card{position:relative;overflow:hidden;border:1px solid var(--border)!important;background:var(--bg-2)!important;border-radius:12px!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}.drawer-card:hover{transform:translateY(-1.5px);border-color:var(--border-bright)!important;box-shadow:0 8px 24px -8px #00000059!important}.drawer-kind-badge{letter-spacing:.02em;text-transform:uppercase;display:inline-block;border:1px solid #0000!important;border-radius:6px!important;padding:1px 7px!important;font-size:9.5px!important;font-weight:700!important}.drawer-kind-badge--decision{color:#f59e0b!important;background:#f59e0b14!important;border-color:#f59e0b33!important}.drawer-kind-badge--fact{color:#60a5fa!important;background:#3b82f614!important;border-color:#3b82f633!important}.drawer-kind-badge--pitfall{color:#f87171!important;background:#ef444414!important;border-color:#ef444433!important}.drawer-kind-badge--preference{color:#34d399!important;background:#10b98114!important;border-color:#10b98133!important}.drawer-kind-badge--procedure_ref{color:#a78bfa!important;background:#8b5cf614!important;border-color:#8b5cf633!important}.drawer-card[data-pinned=true]{background:linear-gradient(to right,#eab308,var(--bg-2))!important;border-color:#eab30859!important}@supports (color:color-mix(in lab,red,red)){.drawer-card[data-pinned=true]{background:linear-gradient(to right,color-mix(in oklab,#eab308 4%,var(--bg-2)),var(--bg-2))!important}}.drawer-card[data-pinned=true]:hover{border-color:#eab3088c!important}.drawer-card[data-disabled=true]{opacity:.5;filter:grayscale(40%)}.drawer-card__expanded{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px;animation:.25s cubic-bezier(.16,1,.3,1) forwards slide-down-fade}@keyframes slide-down-fade{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.drawer-settings-row{cursor:pointer;font-weight:500;border:1px solid var(--border)!important;background:var(--bg-2)!important;border-radius:12px!important;padding:10px 14px!important;transition:all .2s!important;position:relative!important}.drawer-settings-row:hover{border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.drawer-settings-row:hover{border-color:color-mix(in oklab,var(--accent) 30%,var(--border-bright))!important}}.drawer-settings-row:hover{background:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.drawer-settings-row:hover{background:color-mix(in oklab,var(--accent) 2%,var(--bg-2))!important}}.drawer-settings-row input[type=checkbox]{appearance:none!important;background:var(--bg-3)!important;cursor:pointer!important;border:1px solid var(--border)!important;border-radius:99px!important;outline:none!important;width:36px!important;height:20px!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;position:absolute!important;top:50%!important;right:14px!important;transform:translateY(-50%)!important}.drawer-settings-row input[type=checkbox]:after{content:""!important;background:var(--text-tertiary)!important;border-radius:50%!important;width:14px!important;height:14px!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important;position:absolute!important;top:2px!important;left:2px!important}.drawer-settings-row input[type=checkbox]:checked{background:var(--accent)!important;border-color:var(--accent)!important}.drawer-settings-row input[type=checkbox]:checked:after{background:#fff!important;transform:translate(16px)!important}.drawer-settings-row input[type=checkbox]:disabled{opacity:.5!important;cursor:not-allowed!important}.drawer-action-btn{border-color:var(--border-bright)!important;border-radius:99px!important;height:30px!important;padding:0 16px!important;font-weight:600!important}button.drawer-action-btn:has(svg.animate-spin),button.drawer-action-btn:hover:has(svg){background:linear-gradient(135deg,var(--accent) 0%,#a855f7 100%)!important;color:#fff!important;border-color:#0000!important;box-shadow:0 4px 12px #a855f759!important}button.drawer-action-btn svg{transition:transform .2s}button.drawer-action-btn:hover svg{transform:scale(1.1)rotate(10deg)}.drawer-card[data-dream-status=running]{background:linear-gradient(135deg,#a855f7,var(--bg-2))!important;border-color:#a855f766!important}@supports (color:color-mix(in lab,red,red)){.drawer-card[data-dream-status=running]{background:linear-gradient(135deg,color-mix(in oklab,#a855f7 8%,var(--bg-2)),var(--bg-2))!important}}.drawer-card[data-dream-status=running]{animation:2s ease-in-out infinite dream-running-pulse;box-shadow:inset 0 0 12px #a855f714!important}.drawer-card[data-dream-status=completed]{border-color:#22c55e26!important}.drawer-card[data-dream-status=failed]{border-color:#ef444433!important}@keyframes dream-running-pulse{0%,to{border-color:#a855f759}50%{border-color:#a855f7a6;box-shadow:0 0 8px #a855f726,inset 0 0 12px #a855f71f!important}}.drawer-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:99px!important;padding:1px 6px!important;font-size:9px!important;font-weight:700!important}.drawer-status-badge--completed{color:#22c55e!important;background:#22c55e14!important;border:1px solid #22c55e2e!important}.drawer-status-badge--running{color:#c084fc!important;background:#a855f714!important;border:1px solid #a855f72e!important}.drawer-status-badge--pending,.drawer-status-badge--queued{background:var(--bg-3)!important;color:var(--text-secondary)!important;border:1px solid var(--border)!important}.drawer-status-badge--failed{color:#ef4444!important;background:#ef444414!important;border:1px solid #ef44442e!important}.dream-diff-block{background:var(--bg-0);border:1px solid var(--border);border-radius:8px;margin-top:8px;padding:10px 12px}.dream-diff-title{text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:10px;font-weight:700}.dream-diff-added{color:#22c55e}.dream-diff-rewritten{color:#f59e0b}.dream-diff-archived{color:#ef4444}.dream-diff-merged{color:#a855f7}.drawer-card[data-run-status=running]{background:linear-gradient(to right,var(--accent),var(--bg-2))!important;border-color:#3b82f666!important}@supports (color:color-mix(in lab,red,red)){.drawer-card[data-run-status=running]{background:linear-gradient(to right,color-mix(in oklab,var(--accent) 3%,var(--bg-2)),var(--bg-2))!important}}.drawer-card[data-run-status=running]{animation:2.5s ease-in-out infinite wf-running-glow;box-shadow:0 4px 20px -6px #3b82f626!important}.drawer-card[data-run-status=running]:before{content:"";background:linear-gradient(to bottom,var(--accent),#a855f7,var(--accent));background-size:100% 200%;width:3px;animation:3s linear infinite flowing-gradient;position:absolute;top:0;bottom:0;left:0}@keyframes wf-running-glow{0%,to{border-color:#3b82f640}50%{border-color:#3b82f68c}}@keyframes flowing-gradient{0%{background-position:0 0}to{background-position:0 200%}}.wf-run-summary-row{padding:12px 14px!important}.wf-run-toggle__name{font-size:13px!important;font-weight:600!important}.wf-run-meta{border-bottom:none!important;margin-top:-4px!important;padding:0 14px 12px!important}.wf-run-meta__item{background:var(--bg-3)!important;border-radius:6px!important;padding:2px 8px!important}.wf-run-tree-item{position:relative}.wf-tree-connector{width:1px;position:absolute;top:-12px;bottom:14px;left:14px;background:0 0!important;border-left:1px dashed #3b82f64d!important}.wf-run-tree-item--child{padding-left:28px!important}.wf-run-tree-item--child:before{content:"";border-top:1px dashed #3b82f64d;width:12px;height:1px;position:absolute;top:14px;left:14px}.wf-dispatch-item{margin-bottom:4px;transition:all .2s;border:1px solid var(--border)!important;background:var(--bg-1)!important;border-radius:8px!important}.wf-dispatch-item:hover{border-color:var(--border-bright)!important;background:var(--bg-2)!important}.wf-dispatch-item[data-dispatch-status=submitted]{border-left:3px solid var(--accent)!important;background:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.wf-dispatch-item[data-dispatch-status=submitted]{background:color-mix(in oklab,var(--accent) 1.5%,var(--bg-1))!important}}.wf-dispatch-item[data-dispatch-status=reported]{border-left:3px solid var(--status-green)!important}.wf-dispatch-header{min-height:38px!important;padding:8px 12px!important}.wf-dispatch-summary font-mono,.wf-dispatch-summary .font-mono{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden;color:#22c55e!important;background:#090d16!important;border:1px solid #22c55e33!important;border-radius:4px!important;padding:2px 6px!important;font-size:10px!important;box-shadow:0 0 6px #22c55e14!important}.wf-dispatch-summary .text-accent{animation:1.2s steps(2,start) infinite cursor-pulse}@keyframes cursor-pulse{0%,to{opacity:.2}50%{opacity:1}}.wf-result{margin-top:8px;overflow:hidden;border:1px solid var(--border)!important;background:#090d16!important;border-radius:10px!important}.wf-result__header{background:#121824!important;border-bottom:1px solid #1e293b!important;padding:6px 12px!important}.wf-result__label{letter-spacing:.02em;color:var(--text-secondary)!important;font-weight:600!important}.wf-result pre{max-height:240px;overflow-y:auto;color:#e2e8f0!important;padding:12px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important}.wf-logs-panel{border:1px solid var(--border)!important;background:var(--bg-0)!important;border-radius:8px!important;margin-top:10px!important;padding:10px 14px!important}.wf-logs-panel__title{align-items:center;gap:6px;display:flex;color:var(--text-secondary)!important;margin-bottom:6px!important;font-size:11px!important;font-weight:600!important}.wf-logs-panel__title:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.wf-logs-panel ul{max-height:120px;overflow-y:auto}.wf-schedule-row{padding:10px 14px!important}.wf-cli-policy{transition:all .2s;background:var(--bg-2)!important;border:1px solid var(--border)!important;border-radius:12px!important}.wf-cli-policy__toggle:hover{background:0 0!important}.wf-cli-policy__group{background:var(--bg-1)!important;border:1px solid var(--border)!important;border-radius:10px!important}.wf-cli-option{border-radius:8px!important}@media(min-width:768px){.wf-sidebar-settings .wf-cli-policy{padding:14px 12px!important}.wf-sidebar-settings .wf-cli-policy__toggle{flex-direction:column!important;align-items:stretch!important;gap:12px!important;position:relative!important}.wf-sidebar-settings .wf-cli-policy__hero{align-items:flex-start!important;margin-right:20px!important}.wf-sidebar-settings .wf-cli-policy__summary{flex:none!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}.wf-sidebar-settings .wf-cli-policy__toggle-icon{position:absolute!important;top:0!important;right:0!important}.wf-sidebar-settings .wf-cli-policy__desc{max-width:100%!important}.wf-sidebar-settings .wf-cli-policy__body{margin-top:12px!important}.wf-sidebar-settings .wf-cli-policy__group{padding:8px 10px!important}.wf-sidebar-settings .wf-cli-policy__options{gap:4px!important}.wf-sidebar-settings .wf-cli-option{min-height:24px!important;padding:0 6px!important;font-size:10.5px!important}.wf-sidebar-settings .wf-cli-policy__footer{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.wf-sidebar-settings .wf-cli-policy__save{width:100%!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}
|