@tt-a1i/hive 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/README.en.md +15 -6
- package/README.md +26 -4
- package/dist/src/cli/hive.d.ts +4 -0
- package/dist/src/cli/hive.js +25 -3
- package/dist/src/cli/team.d.ts +8 -1
- package/dist/src/cli/team.js +111 -11
- package/dist/src/server/action-center-summary.d.ts +193 -0
- package/dist/src/server/action-center-summary.js +188 -0
- package/dist/src/server/agent-command-resolver.d.ts +6 -0
- package/dist/src/server/agent-command-resolver.js +16 -0
- package/dist/src/server/agent-manager.js +11 -1
- package/dist/src/server/agent-run-starter.js +47 -6
- package/dist/src/server/agent-runtime-types.d.ts +4 -0
- package/dist/src/server/agent-startup-instructions.d.ts +4 -0
- package/dist/src/server/agent-startup-instructions.js +35 -9
- package/dist/src/server/agent-stdin-dispatcher.js +17 -9
- package/dist/src/server/diagnostics-support-bundle.d.ts +288 -0
- package/dist/src/server/diagnostics-support-bundle.js +179 -0
- package/dist/src/server/dispatch-ledger-store.d.ts +4 -1
- package/dist/src/server/dispatch-ledger-store.js +46 -6
- package/dist/src/server/hive-envelope-escape.d.ts +2 -0
- package/dist/src/server/hive-envelope-escape.js +2 -0
- package/dist/src/server/hive-team-guidance.d.ts +1 -1
- package/dist/src/server/hive-team-guidance.js +67 -25
- package/dist/src/server/message-log-store.d.ts +1 -1
- package/dist/src/server/post-start-input-writer.js +8 -2
- package/dist/src/server/preset-launch-support.d.ts +2 -0
- package/dist/src/server/preset-launch-support.js +65 -2
- package/dist/src/server/protocol-event-stats.d.ts +39 -0
- package/dist/src/server/protocol-event-stats.js +84 -0
- package/dist/src/server/recovery-summary.js +19 -14
- package/dist/src/server/role-template-store.d.ts +1 -1
- package/dist/src/server/role-templates.d.ts +1 -0
- package/dist/src/server/role-templates.js +43 -29
- package/dist/src/server/routes-action-center.d.ts +2 -0
- package/dist/src/server/routes-action-center.js +37 -0
- package/dist/src/server/routes-diagnostics.d.ts +2 -0
- package/dist/src/server/routes-diagnostics.js +17 -0
- package/dist/src/server/routes-scenarios.d.ts +25 -0
- package/dist/src/server/routes-scenarios.js +89 -0
- package/dist/src/server/routes-settings.js +2 -11
- package/dist/src/server/routes-team-memory.js +52 -0
- package/dist/src/server/routes-team.js +40 -20
- package/dist/src/server/routes-workspace-memory-dreams.js +8 -0
- package/dist/src/server/routes-workspace-uploads.d.ts +2 -0
- package/dist/src/server/routes-workspace-uploads.js +154 -0
- package/dist/src/server/routes-workspaces.js +29 -3
- package/dist/src/server/routes.js +8 -0
- package/dist/src/server/runtime-message-builders.d.ts +0 -1
- package/dist/src/server/runtime-message-builders.js +0 -8
- package/dist/src/server/runtime-store-contract.d.ts +15 -0
- package/dist/src/server/runtime-store-dream.d.ts +14 -1
- package/dist/src/server/runtime-store-dream.js +49 -1
- package/dist/src/server/runtime-store-helpers.d.ts +7 -0
- package/dist/src/server/runtime-store-helpers.js +85 -22
- package/dist/src/server/runtime-store-worker-mutations.d.ts +11 -0
- package/dist/src/server/runtime-store-worker-mutations.js +46 -0
- package/dist/src/server/runtime-store-workflows.js +10 -6
- package/dist/src/server/runtime-store.js +34 -42
- package/dist/src/server/scenario-presets.d.ts +25 -0
- package/dist/src/server/scenario-presets.js +35 -0
- package/dist/src/server/sentinel-heartbeat.d.ts +30 -0
- package/dist/src/server/sentinel-heartbeat.js +145 -0
- package/dist/src/server/spawn-cli-resolver.d.ts +37 -0
- package/dist/src/server/spawn-cli-resolver.js +70 -0
- package/dist/src/server/spawn-worker-defaults.d.ts +13 -0
- package/dist/src/server/spawn-worker-defaults.js +45 -0
- package/dist/src/server/sqlite-schema-v32.d.ts +2 -0
- package/dist/src/server/sqlite-schema-v32.js +17 -0
- package/dist/src/server/sqlite-schema-v33.d.ts +3 -0
- package/dist/src/server/sqlite-schema-v33.js +18 -0
- package/dist/src/server/sqlite-schema-v34.d.ts +11 -0
- package/dist/src/server/sqlite-schema-v34.js +19 -0
- package/dist/src/server/sqlite-schema-v35.d.ts +3 -0
- package/dist/src/server/sqlite-schema-v35.js +23 -0
- package/dist/src/server/sqlite-schema.d.ts +1 -1
- package/dist/src/server/sqlite-schema.js +35 -1
- package/dist/src/server/system-message.d.ts +5 -2
- package/dist/src/server/system-message.js +5 -2
- package/dist/src/server/tasks-file-watcher.d.ts +8 -0
- package/dist/src/server/tasks-file-watcher.js +31 -2
- package/dist/src/server/team-authz.d.ts +9 -1
- package/dist/src/server/team-authz.js +24 -0
- package/dist/src/server/team-list-serializer.d.ts +2 -2
- package/dist/src/server/team-list-serializer.js +2 -1
- package/dist/src/server/team-memory-digest.js +4 -4
- package/dist/src/server/team-memory-dream-applier.js +24 -3
- package/dist/src/server/team-memory-dream-prompt.d.ts +13 -0
- package/dist/src/server/team-memory-dream-prompt.js +91 -0
- package/dist/src/server/team-memory-dream-run-store.d.ts +2 -0
- package/dist/src/server/team-memory-dream-run-store.js +14 -4
- package/dist/src/server/team-memory-dream-runner.d.ts +2 -21
- package/dist/src/server/team-memory-dream-runner.js +3 -148
- package/dist/src/server/team-memory-dream-store.d.ts +1 -1
- package/dist/src/server/team-memory-dream-store.js +1 -1
- package/dist/src/server/team-operations.d.ts +18 -2
- package/dist/src/server/team-operations.js +222 -33
- package/dist/src/server/team-recap.d.ts +10 -0
- package/dist/src/server/team-recap.js +73 -0
- package/dist/src/server/terminal-input-profile.js +95 -6
- package/dist/src/server/upload-limits.d.ts +2 -0
- package/dist/src/server/upload-limits.js +2 -0
- package/dist/src/server/workflow-cli-policy.d.ts +7 -2
- package/dist/src/server/workflow-cli-policy.js +15 -3
- package/dist/src/server/workflow-run-store.d.ts +1 -0
- package/dist/src/server/workflow-run-store.js +11 -1
- package/dist/src/server/workflow-runner.d.ts +4 -1
- package/dist/src/server/workflow-runner.js +418 -118
- package/dist/src/server/workflow-script-loader.d.ts +3 -2
- package/dist/src/server/workflow-script-loader.js +161 -0
- package/dist/src/server/workspace-store-contract.d.ts +2 -0
- package/dist/src/server/workspace-store.d.ts +1 -1
- package/dist/src/server/workspace-store.js +40 -30
- package/dist/src/server/workspace-upload-store.d.ts +40 -0
- package/dist/src/server/workspace-upload-store.js +295 -0
- package/dist/src/shared/scenario-presets.d.ts +32 -0
- package/dist/src/shared/scenario-presets.js +69 -0
- package/dist/src/shared/types.d.ts +12 -1
- package/package.json +1 -1
- package/web/dist/assets/AddWorkerDialog-DBLhwb91.js +2 -0
- package/web/dist/assets/AddWorkspaceFlow-cxvhVAsT.js +1 -0
- package/web/dist/assets/FirstRunWizard-DlEPnWWw.js +1 -0
- package/web/dist/assets/{MarketplaceDrawer-BFfGT8hH.js → MarketplaceDrawer-CfSiRi8e.js} +11 -11
- package/web/dist/assets/TaskGraphDrawer-C2JufcPs.js +1 -0
- package/web/dist/assets/WhatsNewDialog-vP7buLos.js +1 -0
- package/web/dist/assets/WorkerModal-CSorwcdP.js +1 -0
- package/web/dist/assets/{WorkflowsDrawer-CiIdHS6_.js → WorkflowsDrawer-BXS3w9Uq.js} +1 -1
- package/web/dist/assets/WorkspaceMemoryDrawer-D71ivohr.js +1 -0
- package/web/dist/assets/{WorkspaceTaskDrawer-CyhhEB1Z.js → WorkspaceTaskDrawer-CGCTSHKa.js} +1 -1
- package/web/dist/assets/index-BcwN8cCw.js +79 -0
- package/web/dist/assets/index-StXTPHls.css +1 -0
- package/web/dist/assets/{search-BtRkkEmS.js → search-BZw4T67h.js} +1 -1
- package/web/dist/assets/{square-terminal-lEeQUWb3.js → square-terminal-B7E57In1.js} +1 -1
- package/web/dist/index.html +2 -2
- package/web/dist/sw.js +1 -1
- package/dist/src/server/env-sync-message.d.ts +0 -9
- package/dist/src/server/env-sync-message.js +0 -29
- package/web/dist/assets/AddWorkerDialog-C86CwNgQ.js +0 -2
- package/web/dist/assets/AddWorkspaceFlow-Bm2Jz34D.js +0 -1
- package/web/dist/assets/FirstRunWizard-XzBoEpA5.js +0 -1
- package/web/dist/assets/TaskGraphDrawer-_uVH_0C1.js +0 -1
- package/web/dist/assets/WhatsNewDialog-DkJHmkMs.js +0 -1
- package/web/dist/assets/WorkerModal-BtMJEOG9.js +0 -1
- package/web/dist/assets/WorkspaceMemoryDrawer-C6sNocl_.js +0 -1
- package/web/dist/assets/index-BAiLYajK.css +0 -1
- package/web/dist/assets/index-K-GG8UwR.js +0 -73
|
@@ -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)}.mx-6{margin-inline:calc(var(--spacing) * 6)}.mx-auto{margin-inline:auto}.-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-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.-mr-1{margin-right:calc(var(--spacing) * -1)}.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-36{max-height:calc(var(--spacing) * 36)}.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-\[420px\]{max-width:420px}.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-\[1\.4\]{flex:1.4}.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)}.pt-6{padding-top:calc(var(--spacing) * 6)}.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-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media(hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}@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\:col-span-2{grid-column:span 2/span 2}.md\:w-\[280px\]{width:280px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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--sentinel{background:var(--status-green)}@supports (color:color-mix(in lab,red,red)){.role-badge--sentinel{background:color-mix(in oklab,var(--status-green) 22%,var(--bg-2))}}.role-badge--sentinel{color:var(--status-green)}.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}.worker-card-shell{--dispatch-pulse-color:var(--accent);--dispatch-pulse-spread:14px}.worker-card-shell[data-role=coder]{--dispatch-pulse-color:var(--status-blue)}.worker-card-shell[data-role=tester]{--dispatch-pulse-color:var(--status-orange)}.worker-card-shell[data-role=reviewer]{--dispatch-pulse-color:var(--status-purple)}@keyframes dispatch-pulse-ring{0%{opacity:1;box-shadow:0 0 color-mix(in oklab,var(--dispatch-pulse-color) 70%,transparent),0 0 color-mix(in oklab,var(--dispatch-pulse-color) 30%,transparent)}60%{opacity:1;box-shadow:0 0 0 var(--dispatch-pulse-spread) color-mix(in oklab,var(--dispatch-pulse-color) 4%,transparent),0 0 22px 6px color-mix(in oklab,var(--dispatch-pulse-color) 24%,transparent)}to{opacity:0;box-shadow:0 0 0 calc(var(--dispatch-pulse-spread) * 1.6) transparent,0 0 0 0 transparent}}.worker-card-shell--dispatch-pulse:before,.worker-card-shell--dispatch-pulse:after{content:"";border-radius:var(--radius-lg);pointer-events:none;z-index:3;animation:.72s ease-out both dispatch-pulse-ring;position:absolute;inset:0}.worker-card-shell--dispatch-pulse:after{animation-delay:.18s}.worker-card-shell[data-mobile=true]{--dispatch-pulse-spread:7px}.worker-card-shell[data-mobile=true].worker-card-shell--dispatch-pulse:after{content:none}@keyframes orch-dispatch-glow{0%{opacity:0;transform:translate(-6%)}25%{opacity:1}to{opacity:0;transform:translate(0)}}.orchestrator-pane--dispatch:after{content:"";pointer-events:none;z-index:30;background:linear-gradient(90deg,transparent 55%,var(--accent) 92%,var(--accent));position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.orchestrator-pane--dispatch:after{background:linear-gradient(90deg,transparent 55%,color-mix(in oklab,var(--accent) 16%,transparent) 92%,color-mix(in oklab,var(--accent) 38%,transparent))}}.orchestrator-pane--dispatch:after{animation:.85s ease-out both orch-dispatch-glow}.mobile-team-pane .orchestrator-pane--dispatch:after{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.mobile-team-pane .orchestrator-pane--dispatch:after{background:color-mix(in oklab,var(--accent) 8%,transparent)}}.mobile-team-pane .orchestrator-pane--dispatch:after{animation-name:orch-dispatch-glow-mobile;transform:none}@keyframes orch-dispatch-glow-mobile{0%{opacity:0}25%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.worker-card-shell--dispatch-pulse:before,.worker-card-shell--dispatch-pulse:after,.orchestrator-pane--dispatch:after{content:none;animation:none}}.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}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c}from"./index-
|
|
1
|
+
import{c}from"./index-BcwN8cCw.js";const e=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],o=c("search",e);export{o as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./index-
|
|
1
|
+
import{c as e}from"./index-BcwN8cCw.js";const r=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],a=e("square-terminal",r);export{a as S};
|
package/web/dist/index.html
CHANGED
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=DM+Mono:wght@400;500&display=swap"
|
|
33
33
|
rel="stylesheet"
|
|
34
34
|
/>
|
|
35
|
-
<script type="module" crossorigin src="/assets/index-
|
|
36
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
35
|
+
<script type="module" crossorigin src="/assets/index-BcwN8cCw.js"></script>
|
|
36
|
+
<link rel="stylesheet" crossorigin href="/assets/index-StXTPHls.css">
|
|
37
37
|
</head>
|
|
38
38
|
<body>
|
|
39
39
|
<div id="root"></div>
|
package/web/dist/sw.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
// generation must be able to resolve its lazy-loaded hashed chunks, and
|
|
8
8
|
// storage growth is bounded by Hive's release cadence.
|
|
9
9
|
|
|
10
|
-
const VERSION = '2.0
|
|
10
|
+
const VERSION = '2.1.0'
|
|
11
11
|
const SHELL_CACHE = `hive-cache-v${VERSION}-shell`
|
|
12
12
|
const ASSETS_CACHE = `hive-cache-v${VERSION}-assets`
|
|
13
13
|
const STATIC_CACHE = `hive-cache-v${VERSION}-static`
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { AgentSummary, WorkspaceSummary } from '../shared/types.js';
|
|
2
|
-
import type { RecoveryMessage } from './message-log-store.js';
|
|
3
|
-
export declare const buildEnvSyncMessage: ({ agent, tasksContent, workers, workspace, restartWindowMessages, }: {
|
|
4
|
-
agent: AgentSummary;
|
|
5
|
-
tasksContent: string;
|
|
6
|
-
workers: AgentSummary[];
|
|
7
|
-
workspace: WorkspaceSummary;
|
|
8
|
-
restartWindowMessages: RecoveryMessage[];
|
|
9
|
-
}) => string;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { getHiveTeamRules } from './hive-team-guidance.js';
|
|
2
|
-
import { wrapSystemMessage } from './system-message.js';
|
|
3
|
-
import { TASKS_RELATIVE_PATH } from './tasks-file.js';
|
|
4
|
-
const TASKS_HEAD_LIMIT = 1024;
|
|
5
|
-
const formatWorkers = (workers) => {
|
|
6
|
-
if (workers.length === 0)
|
|
7
|
-
return ['- (no other workers)'];
|
|
8
|
-
return workers.map((worker) => `- ${worker.name} (${worker.role}, ${worker.status}, pending_task_count: ${worker.pendingTaskCount})`);
|
|
9
|
-
};
|
|
10
|
-
const formatRestartWindow = (messages) => {
|
|
11
|
-
const sends = messages.filter((message) => {
|
|
12
|
-
return message.type === 'send';
|
|
13
|
-
});
|
|
14
|
-
if (sends.length === 0)
|
|
15
|
-
return ['- no new dispatches during the restart'];
|
|
16
|
-
return sends.slice(-5).map((message) => `- send -> ${message.to}: ${message.text}`);
|
|
17
|
-
};
|
|
18
|
-
export const buildEnvSyncMessage = ({ agent, tasksContent, workers, workspace, restartWindowMessages, }) => wrapSystemMessage([
|
|
19
|
-
'Hive just restarted you. Environment changes during the restart:',
|
|
20
|
-
`- Current workspace: ${workspace.name}`,
|
|
21
|
-
'- Existing workers:',
|
|
22
|
-
...formatWorkers(workers),
|
|
23
|
-
`- Current ${TASKS_RELATIVE_PATH} contents:`,
|
|
24
|
-
tasksContent.slice(0, TASKS_HEAD_LIMIT) || '(empty)',
|
|
25
|
-
...formatRestartWindow(restartWindowMessages),
|
|
26
|
-
agent.role === 'orchestrator' ? '- Hive worker dispatch rules:' : '- Hive worker boundaries:',
|
|
27
|
-
...getHiveTeamRules(agent).map((rule) => ` - ${rule}`),
|
|
28
|
-
`Continue. If unsure, run team list / Read ${TASKS_RELATIVE_PATH} to self-check, or ask the user.`,
|
|
29
|
-
].join('\n'));
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MarketplaceDrawer-BFfGT8hH.js","assets/index-K-GG8UwR.js","assets/index-BAiLYajK.css","assets/search-BtRkkEmS.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{c as z,j as e,u as j,r as d,C as M,x as L,t as U,J as Y,Q as Z,ac as ee,ad as te,e as ae,i as re,R as se,P as ne,O as oe,k as le,m as ie,$ as de,z as ce,X as me,T as xe,ae as ue}from"./index-K-GG8UwR.js";import{S as pe}from"./search-BtRkkEmS.js";import{S as he}from"./square-terminal-lEeQUWb3.js";const fe=[["path",{d:"M12 7v6",key:"lw1j43"}],["path",{d:"M15 10H9",key:"o6yqo3"}],["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]],be=z("bookmark-plus",fe);const ge=[["rect",{width:"12",height:"12",x:"2",y:"10",rx:"2",ry:"2",key:"6agr2n"}],["path",{d:"m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6",key:"1o487t"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 14h.01",key:"ssrbsk"}],["path",{d:"M15 6h.01",key:"cblpky"}],["path",{d:"M18 9h.01",key:"2061c0"}]],ve=z("dices",ge);const ke=[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]],je=z("store",ke),ye=[{value:"coder"},{value:"reviewer"},{value:"tester"},{value:"custom",dashed:!0}],I=t=>`role.${t}`,S=({children:t})=>e.jsx("span",{className:"text-sm font-medium text-sec",children:t}),Ne=({active:t,spec:a,onSelect:n})=>{const{t:s}=j();return e.jsxs("button",{type:"button",onClick:n,"aria-pressed":t,"data-testid":`role-card-${a.value}`,className:`selectable-card${a.dashed?" selectable-card--dashed":""} flex items-center gap-3 px-3 py-2`,children:[e.jsx(ee,{role:a.value,size:20}),e.jsx("span",{className:"flex-1 text-left text-base font-medium text-pri",children:s(I(a.value))}),t?e.jsx(L,{size:14,className:"shrink-0 text-accent","aria-hidden":!0}):null]})},Ce=({onRoleChange:t,workerRole:a})=>{const{t:n}=j();return e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(S,{children:n("addWorker.role")}),e.jsx("div",{className:"grid grid-cols-2 gap-2",children:ye.map(s=>e.jsx(Ne,{active:a===s.value,spec:s,onSelect:()=>t(s.value)},s.value))})]})},we=({customTemplates:t,disabledReason:a,onDeleteTemplate:n,onSelect:s,selectedTemplateId:c})=>{const{t:o}=j(),[b,x]=d.useState(!1),[m,u]=d.useState(""),[g,k]=d.useState(null),y=d.useRef(null),N=d.useMemo(()=>t.find(r=>r.id===c)??null,[t,c]),v=d.useMemo(()=>{const r=m.trim().toLowerCase();return r?t.filter(p=>p.name.toLowerCase().includes(r)||p.description.toLowerCase().includes(r)):t},[t,m]);return d.useEffect(()=>{if(!b)return;const r=h=>{h.key==="Escape"&&x(!1)},p=h=>{const l=y.current;l&&!l.contains(h.target)&&x(!1)};return document.addEventListener("keydown",r),document.addEventListener("pointerdown",p),()=>{document.removeEventListener("keydown",r),document.removeEventListener("pointerdown",p)}},[b]),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(S,{children:o("addWorker.template")}),e.jsxs("div",{ref:y,className:"relative",children:[e.jsxs("button",{type:"button","aria-haspopup":"listbox","aria-expanded":b,"data-testid":"role-template-picker-trigger",onClick:()=>x(r=>!r),className:"flex w-full items-center justify-between gap-2 rounded border px-3 py-2 text-left text-sm transition-colors hover:bg-3",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[e.jsx("span",{className:"min-w-0 flex-1 truncate text-pri",children:N?N.name:o("addWorker.templatePickPlaceholder")}),e.jsx(M,{size:14,className:"shrink-0 text-ter","aria-hidden":!0})]}),b?e.jsxs("div",{role:"listbox","aria-label":o("addWorker.template"),"data-testid":"role-template-picker-menu",className:"elev-2 absolute left-0 right-0 top-full z-30 mt-1 flex max-h-72 flex-col overflow-hidden rounded border",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[e.jsxs("div",{className:"flex items-center gap-2 border-b px-2 py-1.5",style:{borderColor:"var(--border)"},children:[e.jsx(pe,{size:14,className:"text-ter","aria-hidden":!0}),e.jsx("input",{value:m,onChange:r=>u(r.currentTarget.value),placeholder:o("addWorker.templateSearchPlaceholder"),"data-testid":"role-template-search-input",className:"w-full bg-transparent text-sm text-pri outline-none placeholder:text-ter",spellCheck:!1})]}),e.jsx("div",{className:"flex-1 overflow-y-auto py-1",children:t.length===0?e.jsx("div",{"data-testid":"role-template-empty-state",className:"px-3 py-3 text-center text-sm text-ter",children:o("addWorker.templateEmpty")}):v.length===0?e.jsx("div",{className:"px-3 py-3 text-center text-sm text-ter",children:o("addWorker.templateNoMatch")}):v.map(r=>{const p=r.id===c;return e.jsxs("div",{className:"relative",children:[e.jsxs("button",{type:"button",role:"option","aria-selected":p,"data-testid":`role-template-option-${r.id}`,onClick:()=>{s(r.id),x(!1),u("")},className:"flex w-full items-center gap-2 px-3 py-1.5 pr-9 text-left text-sm text-pri hover:bg-3",style:p?{background:"var(--bg-3)"}:void 0,children:[e.jsx("span",{className:"min-w-0 flex-1 truncate",children:r.name}),p?e.jsx(L,{size:14,className:"shrink-0 text-accent","aria-hidden":!0}):null]}),e.jsx("button",{type:"button","aria-label":o("addWorker.templateDeleteAria",{name:r.name}),"data-testid":`role-template-delete-${r.id}`,disabled:!!a,title:a??void 0,onClick:h=>{h.preventDefault(),h.stopPropagation(),!a&&k(r)},className:"absolute right-1 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded text-ter transition-colors hover:bg-3 hover:text-pri",children:e.jsx(U,{size:14,"aria-hidden":!0})})]},r.id)})}),c!==null?e.jsx("button",{type:"button","data-testid":"role-template-clear",onClick:()=>{s(null),x(!1),u("")},className:"border-t px-3 py-1.5 text-left text-sm text-ter transition-colors hover:bg-3 hover:text-pri",style:{borderColor:"var(--border)"},children:o("addWorker.templateClear")}):null]}):null]}),e.jsx(Y,{open:g!==null,onOpenChange:r=>{r||k(null)},title:o("addWorker.templateDeleteTitle"),description:g?o("addWorker.templateDeleteConfirm",{name:g.name}):"",confirmLabel:o("addWorker.templateDeleteConfirmLabel"),confirmKind:"danger",onConfirm:()=>{if(!g||a)return;const r=g.id;k(null),n(r)}})]})},We=({canSaveAsTemplate:t,modified:a,onChange:n,onReset:s,onSaveAsTemplate:c,roleDescription:o,templateBusy:b,workerRole:x,writeDisabledReason:m})=>{const{t:u,language:g}=j(),[k,y]=d.useState(!1),[N,v]=d.useState(!1),[r,p]=d.useState("");d.useEffect(()=>{(x==="custom"||a)&&y(!0)},[a,x]),d.useEffect(()=>{t||(v(!1),p(""))},[t]);const h=g==="zh"?"点击展开":"Click to expand";return e.jsxs("details",{open:k,onToggle:l=>y(l.currentTarget.open),className:"group flex flex-col gap-2",children:[e.jsxs("summary",{className:"flex cursor-pointer select-none items-center justify-between gap-2 list-none rounded-lg p-2 -mx-2 hover:bg-3/50 transition-colors group/summary",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded bg-3 border border-bright/30 text-ter transition-colors group-hover/summary:text-pri group-hover/summary:border-accent/40",children:e.jsx(M,{size:12,"aria-hidden":!0,className:"-rotate-90 transition-transform duration-150 group-open:rotate-0"})}),e.jsx("span",{className:"text-sm font-semibold text-pri transition-colors group-hover/summary:text-accent",children:u("addWorker.roleInstructions")}),a?e.jsxs("span",{className:"text-xs text-ter",children:["· ",u("addWorker.modifiedFrom",{role:u(I(x))})]}):null]}),e.jsxs("div",{className:"flex items-center gap-2",children:[k?null:e.jsx("span",{className:"text-[10px] text-ter font-semibold tracking-wider uppercase opacity-60 group-hover/summary:opacity-100 group-hover/summary:text-accent transition-all pr-1",children:h}),t&&!N?e.jsxs("button",{type:"button","data-testid":"role-template-save",disabled:!!m,title:m??void 0,onClick:l=>{l.preventDefault(),l.stopPropagation(),v(!0)},className:"flex items-center gap-1 rounded px-2 py-0.5 text-xs font-medium transition-colors hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50",style:{color:"var(--accent)",background:"color-mix(in oklab, var(--accent) 14%, transparent)"},children:[e.jsx(be,{size:12,"aria-hidden":!0}),u("addWorker.saveAsTemplate")]}):null,a?e.jsxs("button",{type:"button",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-ter transition-colors hover:bg-3 hover:text-sec",onClick:l=>{l.preventDefault(),l.stopPropagation(),s()},children:[e.jsx(Z,{size:12,"aria-hidden":!0}),u("addWorker.reset")]}):null]})]}),e.jsx("textarea",{"aria-label":"Role instructions",id:"add-worker-role-instructions",value:o,rows:5,onChange:l=>n(l.currentTarget.value),placeholder:x==="custom"?u("addWorker.customPlaceholder"):void 0,title:u("addWorker.roleInstructionsTitle"),className:"input mono resize-y text-sm",style:{minHeight:150},"data-testid":"role-instructions-textarea"}),t&&N?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{autoFocus:!0,value:r,onChange:l=>p(l.currentTarget.value),placeholder:u("addWorker.templateNamePlaceholder"),"data-testid":"role-template-save-name",className:"input flex-1 text-sm"}),e.jsx("button",{type:"button",disabled:b||!r.trim()||!!m,title:m??void 0,"data-testid":"role-template-save-confirm",onClick:async()=>{if(m)return;const l=r.trim();if(l)try{await c(l),v(!1),p("")}catch{}},className:"icon-btn icon-btn--primary text-xs",children:u("addWorker.templateSaveConfirm")}),e.jsx("button",{type:"button","data-testid":"role-template-save-cancel",onClick:()=>{v(!1),p("")},className:"icon-btn text-xs",children:u("common.cancel")})]}):null]})},D=({active:t,command:a,displayName:n,logoPresetId:s,notFound:c=!1,testId:o,onSelect:b})=>{const{t:x}=j(),m=e.jsx("span",{className:"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded border border-border bg-surface-1 text-ter","data-testid":`${o}-generic-icon`,"aria-hidden":!0,children:e.jsx(he,{size:13})});return e.jsxs("button",{type:"button",onClick:b,"aria-pressed":t,"data-testid":o,className:"selectable-card flex items-center justify-between gap-3 px-3 py-2",children:[e.jsxs("span",{className:"flex min-w-0 items-center gap-3",children:[e.jsx(te,{commandPresetId:s,fallback:m,size:22}),e.jsxs("span",{className:"flex min-w-0 flex-col items-start gap-0.5",children:[e.jsx("span",{className:"truncate text-base font-medium text-pri",children:n}),e.jsxs("span",{className:"mono truncate text-xs text-ter",children:[a,c?` · ${x("addWorker.agentNotFound")}`:""]})]})]}),t?e.jsx(L,{size:14,className:"shrink-0 text-accent","aria-hidden":!0}):null]})},Se=({active:t,preset:a,onSelect:n})=>e.jsx(D,{active:t,command:a.command,displayName:a.displayName,logoPresetId:a.id,notFound:a.available===!1,testId:`agent-radio-${a.id}`,onSelect:n}),ze=({commandPresetId:t,commandPresets:a,onPresetChange:n})=>{const{t:s}=j();return e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(S,{children:s("addWorker.agentCli")}),a.length===0?e.jsx("div",{className:"text-sm text-ter",children:s("addWorker.loadingPresets")}):e.jsxs("div",{className:"grid grid-cols-2 gap-2 max-md:grid-cols-1",children:[a.map(c=>e.jsx(Se,{active:t===c.id,preset:c,onSelect:()=>n(c.id)},c.id)),e.jsx(D,{active:t==="",command:s("addWorker.genericCommand"),displayName:s("addWorker.genericAgent"),testId:"agent-radio-generic",onSelect:()=>n("")})]})]})},Me=({onChange:t,value:a})=>{const{t:n,language:s}=j(),[c,o]=d.useState(!1),b=a.trim(),x=s==="zh"?"点击展开":"Click to expand";return e.jsxs("details",{onToggle:m=>o(m.currentTarget.open),className:"group flex flex-col gap-2",children:[e.jsxs("summary",{className:"flex cursor-pointer select-none items-center justify-between gap-2 list-none rounded-lg p-2 -mx-2 hover:bg-3/50 transition-colors group/summary",children:[e.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded bg-3 border border-bright/30 text-ter transition-colors group-hover/summary:text-pri group-hover/summary:border-accent/40",children:e.jsx(M,{size:12,"aria-hidden":!0,className:"-rotate-90 transition-transform duration-150 group-open:rotate-0"})}),e.jsx("span",{className:"text-sm font-semibold text-pri transition-colors group-hover/summary:text-accent",children:n("addWorker.startupCommand")}),b?e.jsxs("span",{className:"truncate text-xs text-ter",children:["· ",n("addWorker.startupOverrides")]}):null]}),c?null:e.jsx("span",{className:"text-[10px] text-ter font-semibold tracking-wider uppercase opacity-60 group-hover/summary:opacity-100 group-hover/summary:text-accent transition-all pr-1",children:x})]}),e.jsxs("div",{className:"flex flex-col gap-2 rounded border bg-2 p-3",style:{borderColor:"var(--border)"},children:[e.jsx("input",{"aria-label":"Startup command",value:a,onChange:m=>t(m.currentTarget.value),placeholder:"qwen --model qwen3-coder",className:"input mono text-sm",spellCheck:!1}),e.jsx("p",{className:"text-sm leading-5 text-ter",children:n("addWorker.startupHelp",{example:"claude --resume <session-id>"})})]})]})},Le=d.lazy(()=>ue(()=>import("./MarketplaceDrawer-BFfGT8hH.js"),__vite__mapDeps([0,1,2,3])).then(t=>({default:t.MarketplaceDrawer}))),_e=({commandPresets:t,commandPresetId:a,creating:n=!1,customTemplates:s,onApplyMarketplaceImport:c,onClose:o,onDeleteTemplate:b,onNameChange:x,onPresetChange:m,onRandomName:u,onRoleDescriptionChange:g,onRoleDescriptionReset:k,onRoleChange:y,onSaveAsTemplate:N,onStartupCommandChange:v,onSubmit:r,onTemplateChange:p,roleDescription:h,roleDescriptionDefault:l,selectedTemplateId:P,startupCommand:E,templateBusy:B,workerName:O,workerRole:W,writeDisabledReason:w})=>{const{t:i}=j(),_=ae(),C=re(),[q,$]=d.useState(!1),[H,K]=d.useState(!1),V=d.useMemo(()=>new Set(s.map(f=>f.name)),[s]),Q=f=>{c(f),_.show({kind:"success",message:i("marketplace.imported",{name:f.name})})},J=f=>{f||o()},X=h!==l,A=t.find(f=>f.id===a),T=E.trim(),G=()=>w||(O.trim()?!a&&!T?i("addWorker.pickCliOrStartup"):A?.available===!1&&!T?i("addWorker.unavailable",{name:A.displayName}):h.trim()?null:i("addWorker.emptyInstructions"):i("addWorker.enterName")),R=f=>{const F=G();if(F){f.preventDefault(),_.show({kind:"warning",message:F});return}r(f)};return e.jsxs(se,{open:!0,onOpenChange:J,children:[e.jsxs(ne,{children:[e.jsx(oe,{"data-testid":"add-worker-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 max-md:items-end max-md:p-0",children:e.jsx(le,{"data-testid":"add-worker-content","data-mobile":C||void 0,className:`${C?"dialog-slide-up add-worker-sheet":"dialog-scale-pop"} elev-2 pointer-events-auto flex max-h-[calc(100vh-32px)] w-[560px] max-w-full flex-col overflow-hidden rounded-lg border pointer-coarse:max-h-[85dvh] max-md:w-full max-md:rounded-b-none max-md:rounded-t-xl`,style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)",...C?{height:"85dvh"}:{}},children:e.jsxs("form",{onSubmit:R,"aria-label":i("addWorker.title"),className:"flex min-h-0 flex-1 flex-col overflow-hidden max-h-full",children:[e.jsxs("div",{className:"flex shrink-0 items-start justify-between gap-3 border-b px-5 py-4 max-md:px-4",style:{borderColor:"var(--border)"},children:[e.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[e.jsx(ie,{className:"text-lg font-semibold text-pri",children:i("addWorker.title")}),e.jsx(de,{className:"text-sm text-ter",children:i("addWorker.description",{command:"team send"})})]}),C?e.jsx(ce,{asChild:!0,children:e.jsx("button",{type:"button","aria-label":i("common.closeDialog"),"data-testid":"add-worker-close",className:"-mr-1 flex h-10 w-10 shrink-0 items-center justify-center rounded-md text-sec",style:{background:"var(--bg-2)"},children:e.jsx(me,{size:18,"aria-hidden":!0})})}):null]}),e.jsxs("div",{className:"flex flex-1 min-h-0 flex-col gap-4 overflow-y-auto px-5 py-4 max-md:gap-5 max-md:px-4",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(S,{children:i("addWorker.name")}),e.jsxs("div",{className:"relative flex items-center",children:[e.jsx("input",{autoFocus:!C,value:O,onChange:f=>x(f.target.value),placeholder:i("addWorker.namePlaceholder"),className:"input w-full pr-24",style:{borderRadius:"10px"}}),e.jsx("div",{className:"absolute right-1.5 top-1/2 -translate-y-1/2",children:e.jsx(xe,{label:i("addWorker.randomTooltip"),children:e.jsxs("button",{type:"button","aria-label":i("addWorker.randomAria"),className:"flex h-7 items-center gap-1.5 rounded-lg border border-bright/10 bg-3 px-2.5 text-xs font-semibold text-sec hover:text-pri hover:bg-4 active:scale-95 transition-all outline-none",onClick:u,"data-testid":"random-worker-name",children:[e.jsx(ve,{size:13,"aria-hidden":!0}),e.jsx("span",{children:i("addWorker.random")})]})})})]})]}),e.jsx(Ce,{workerRole:W,onRoleChange:y}),e.jsxs("button",{type:"button",onClick:()=>{K(!0),$(!0)},"data-testid":"open-marketplace",className:"marketplace-browse-btn flex cursor-pointer items-center gap-2 self-start rounded-lg border px-3 py-2 text-xs font-semibold text-sec outline-none transition-all duration-200 hover:text-pri hover:-translate-y-0.5 active:scale-98 shadow-sm hover:shadow-md",style:{background:"linear-gradient(to bottom, var(--bg-1), var(--bg-0))",borderColor:"var(--border-bright)","--tw-ring-color":"color-mix(in oklab, var(--accent) 45%, transparent)"},children:[e.jsx(je,{size:14,"aria-hidden":!0,className:"text-accent"}),e.jsx("span",{children:i("marketplace.openFromAddWorker")})]}),W==="custom"?e.jsx(we,{customTemplates:s,disabledReason:w,onDeleteTemplate:b,onSelect:p,selectedTemplateId:P}):null,e.jsx(We,{canSaveAsTemplate:W==="custom"&&!P&&h.trim().length>0,modified:X,onChange:g,onReset:k,onSaveAsTemplate:N,roleDescription:h,templateBusy:B,workerRole:W,writeDisabledReason:w}),e.jsx(ze,{commandPresetId:a,commandPresets:t,onPresetChange:m}),e.jsx(Me,{value:E,onChange:v})]}),e.jsxs("div",{className:"flex shrink-0 items-center justify-end gap-2 border-t px-5 py-3 max-md:px-4 max-md:pb-[max(12px,env(safe-area-inset-bottom))]",style:{borderColor:"var(--border)",background:"var(--bg-2)"},children:[e.jsx("button",{type:"button",onClick:o,className:`icon-btn border border-bright/20 rounded-lg hover:bg-3 hover:text-pri transition-all active:scale-95 ${C?"flex-1":""}`,"data-testid":"add-worker-cancel",children:i("addWorker.cancel")}),e.jsx("button",{type:"submit",disabled:n||!!w,title:w??void 0,className:`icon-btn icon-btn--primary rounded-lg font-bold shadow-md hover:shadow-lg transition-all active:scale-[0.97] hover:-translate-y-0.5 ${C?"flex-[2]":""}`,"data-testid":"add-worker-submit",children:i(n?"addWorker.creating":"addWorker.create")})]})]})})})]}),H?e.jsx(d.Suspense,{fallback:null,children:e.jsx(Le,{open:q,onClose:()=>$(!1),onImport:Q,importedNames:V})}):null]})};export{_e as AddWorkerDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as I,u as R,r as c,j as e,C as W,x as oe,_ as pe,R as H,P as Z,O as G,k as K,m as X,$ as te,b as B,a0 as Ne,a1 as Ce,i as _e,z as Pe,X as Se,a2 as ue,a3 as Ee,a4 as ze,a5 as Re}from"./index-K-GG8UwR.js";const $e=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Me=I("arrow-up",$e);const De=[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]],Le=I("folder-search",De);const Ie=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],Y=I("folder",Ie);const Ae=[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]],me=I("git-branch",Ae);const Oe=[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]],Fe=I("hard-drive",Oe);const Be=[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]],J=I("sliders-vertical",Be),xe=t=>{const s=t.trim();if(s.length<2)return s;const n=s[0],r=s[s.length-1];return(n==='"'||n==="'")&&n===r?s.slice(1,-1):s},We={claude:"/cli-icons/claude.png",codex:"/cli-icons/codex.png",opencode:"/cli-icons/opencode.svg",gemini:"/cli-icons/gemini.png",hermes:"/cli-icons/hermes.png",qwen:"/cli-icons/qwen.png",agy:"/cli-icons/agy.png",cursor:"/cli-icons/cursor.ico",grok:"/cli-icons/grok.ico"},ce=({id:t,className:s})=>{const[n,r]=c.useState(!1),l=We[t];return l&&!n?e.jsx("img",{src:l,alt:"",onError:()=>r(!0),className:`${s} object-contain rounded-xs ${t==="opencode"?"bg-[#ebebeb] p-[1px]":""}`}):e.jsx(pe,{size:14,className:s})},he=({error:t,onChange:s,presets:n,value:r})=>{const{t:l}=R(),[i,o]=c.useState(!1),u=c.useRef(null),h=n.find(p=>p.id===r),a=r==="",g=h?[h.command,...h.args].join(" ").trim():l(a?"workspace.preset.genericPreview":"workspace.preset.loading"),d=h?.displayName??(a?l("workspace.preset.generic"):"Claude Code (CC)"),k=n.length===0&&!a;return c.useEffect(()=>{if(!i)return;const p=x=>{u.current?.contains(x.target)||o(!1)},m=x=>{x.key==="Escape"&&o(!1)};return document.addEventListener("mousedown",p),document.addEventListener("keydown",m),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",m)}},[i]),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-ter",children:l("workspace.preset.label")}),e.jsxs("div",{ref:u,className:"cli-select group relative",children:[e.jsx(ce,{id:r,className:"cli-select__leading w-3.5 h-3.5"}),e.jsx("button",{type:"button","aria-haspopup":"listbox","aria-expanded":i,"aria-disabled":k||void 0,className:"cli-select__field cli-select__field--button text-left","data-testid":"workspace-command-preset","data-value":r,disabled:k,onClick:()=>o(p=>!p),children:d}),e.jsx(W,{size:14,"aria-hidden":!0,className:"cli-select__trailing"}),i&&n.length>0?e.jsxs("div",{role:"listbox","aria-label":l("workspace.preset.optionsAria"),className:"cli-select__menu","data-testid":"workspace-command-preset-menu",children:[n.map(p=>{const m=p.id===r,x=p.available===!1;return e.jsxs("button",{type:"button",role:"option","aria-selected":m,"data-testid":`workspace-command-preset-option-${p.id}`,className:"cli-select__option",onClick:()=>{s(p.id),o(!1)},children:[e.jsx(oe,{size:12,"aria-hidden":!0,className:"cli-select__check",style:{opacity:m?1:0}}),e.jsx(ce,{id:p.id,className:"w-3.5 h-3.5 text-ter shrink-0"}),e.jsxs("span",{children:[p.displayName,x?l("workspace.preset.notFoundSuffix"):""]})]},p.id)}),e.jsxs("button",{type:"button",role:"option","aria-selected":a,"data-testid":"workspace-command-preset-option-generic",className:"cli-select__option",onClick:()=>{s(""),o(!1)},children:[e.jsx(oe,{size:12,"aria-hidden":!0,className:"cli-select__check",style:{opacity:a?1:0}}),e.jsx(pe,{size:14,className:"text-ter shrink-0"}),e.jsx("span",{children:l("workspace.preset.generic")})]})]}):null]}),e.jsxs("div",{className:"mono flex items-center gap-1.5 truncate text-xs text-ter",title:g,children:[e.jsx("span",{className:"text-sec",children:"$"}),e.jsx("span",{className:"truncate",children:g})]}),t?e.jsx("span",{className:"text-xs",style:{color:"var(--status-red)"},children:t}):null]})},V=t=>(t.split(/[\\/]/).filter(Boolean).pop()??"").replace(/:$/u,""),U=({children:t})=>e.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-ter",children:t}),Te=({probe:t,pasteFallbackDefault:s=!1,commandPresetError:n,commandPresetId:r,commandPresets:l,onCancel:i,onCommandPresetChange:o,onCreate:u,onOpenServerBrowse:h})=>{const{t:a}=R(),g=t?.path??"",d=t?.suggested_name??V(g),[k,p]=c.useState(d),[m,x]=c.useState(""),[w,C]=c.useState(s),[N,_]=c.useState(!1),[E,b]=c.useState("");c.useEffect(()=>{p(t?.suggested_name??V(t?.path??""))},[t?.path,t?.suggested_name]);const j=xe(m),f=V(j),P=w&&j.length>0?j:t?.path??"",S=E.trim(),A=l.find(y=>y.id===r),z=l.length===0&&!n,O=!r&&S.length===0,D=A?.available===!1&&S.length===0,Q=O?a("workspace.preset.genericRequiresStartup"):D?a("workspace.preset.notInstalled",{name:A.displayName}):null,F=k.trim().length>0&&P.length>0&&!z&&!O&&!D,ee=()=>{F&&u({commandPresetId:r||null,name:k.trim(),path:P,...S?{startupCommand:S}:{}})};return c.useEffect(()=>{w&&j.length>0&&p(f)},[w,j,f]),e.jsx(H,{open:!0,onOpenChange:y=>!y&&i(),children:e.jsxs(Z,{children:[e.jsx(G,{"data-testid":"confirm-workspace-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(K,{"data-testid":"confirm-workspace-dialog",className:"dialog-scale-pop elev-2 pointer-events-auto flex w-[480px] max-w-full flex-col rounded-lg border",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[e.jsxs("div",{className:"flex items-center gap-3 border-b px-5 py-4",style:{borderColor:"var(--border)"},children:[e.jsx("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded",style:{background:"color-mix(in oklab, var(--accent) 12%, transparent)",color:"var(--accent)"},children:e.jsx(Y,{size:18,"aria-hidden":!0})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx(X,{className:"text-lg font-semibold text-pri",children:a("workspace.confirm.title")}),e.jsx(te,{className:"text-xs text-ter",children:a("workspace.confirm.description")})]})]}),e.jsxs("div",{className:"flex flex-col gap-4 px-5 py-4",children:[e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsx(U,{children:a("workspace.field.path")}),e.jsx("input",{type:"hidden",value:t?.path??"","data-testid":"confirm-workspace-path",readOnly:!0}),e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-lg border p-3 transition-all",style:{background:"var(--bg-2)",borderColor:"var(--border)"},children:[e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx("span",{className:"block truncate font-mono text-sm text-pri",title:t?.path??"",children:t?.path||a("workspace.field.pathEmptyPlaceholder")})}),t?.is_git_repository?e.jsxs("div",{className:"shrink-0 flex items-center gap-1.5 rounded px-2 py-0.5 text-xs font-medium",style:{background:"color-mix(in oklab, var(--status-blue) 12%, transparent)",color:"var(--status-blue)",border:"1px solid color-mix(in oklab, var(--status-blue) 25%, transparent)"},"data-testid":"confirm-workspace-git-badge",children:[e.jsx(me,{size:12,"aria-hidden":!0}),e.jsx("span",{className:"truncate max-w-[90px]",children:t.current_branch??a("workspace.git.detached")})]}):null]}),t?.ok&&!t?.is_git_repository&&e.jsx("span",{className:"text-xs text-ter pl-1",children:a("workspace.git.none")})]}),e.jsxs("label",{className:"flex flex-col gap-2",children:[e.jsx(U,{children:a("workspace.field.name")}),e.jsx("input",{value:k,onChange:y=>p(y.target.value),placeholder:V(t?.path??"")||a("workspace.field.nameDefaultPlaceholder"),className:"input","data-testid":"confirm-workspace-name"})]}),e.jsx(he,{error:n??Q,onChange:o,presets:l,value:r}),e.jsxs("div",{className:"mt-2 rounded-lg border overflow-hidden transition-all",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[e.jsxs("button",{type:"button",onClick:()=>_(y=>!y),className:"flex w-full items-center justify-between px-3.5 py-2.5 text-left text-xs font-semibold uppercase tracking-wider text-sec hover:bg-3 transition-colors cursor-pointer","data-testid":"confirm-workspace-startup-toggle",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(J,{size:12,"aria-hidden":!0,className:"text-ter"}),a("workspace.advanced.startup")]}),N?e.jsx(W,{size:14,"aria-hidden":!0}):e.jsx(B,{size:14,"aria-hidden":!0})]}),N?e.jsxs("div",{className:"flex flex-col gap-2 border-t p-3.5 transition-all",style:{background:"var(--bg-2)",borderColor:"var(--border)"},children:[e.jsx(U,{children:a("workspace.field.startup")}),e.jsx("input",{type:"text",value:E,onChange:y=>b(y.target.value),placeholder:a("workspace.field.startupPlaceholder"),className:"input mono text-sm","data-testid":"confirm-workspace-startup-command"}),e.jsx("span",{className:"text-[11px] text-ter normal-case tracking-normal leading-relaxed",children:a("workspace.startup.hint")})]}):null]}),e.jsxs("div",{className:"rounded-lg border overflow-hidden transition-all",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[e.jsxs("button",{type:"button",onClick:()=>C(y=>!y),className:"flex w-full items-center justify-between px-3.5 py-2.5 text-left text-xs font-semibold uppercase tracking-wider text-sec hover:bg-3 transition-colors cursor-pointer","data-testid":"confirm-workspace-paste-toggle",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(J,{size:12,"aria-hidden":!0,className:"text-ter"}),a("workspace.advanced.pastePath")]}),w?e.jsx(W,{size:14,"aria-hidden":!0}):e.jsx(B,{size:14,"aria-hidden":!0})]}),w?e.jsxs("div",{className:"flex flex-col gap-2 border-t p-3.5 transition-all",style:{background:"var(--bg-2)",borderColor:"var(--border)"},children:[e.jsx(U,{children:a("workspace.field.absolutePath")}),e.jsx("input",{type:"text",value:m,onChange:y=>x(y.target.value),placeholder:a("workspace.field.absolutePathPlaceholder"),className:"input mono text-sm","data-testid":"confirm-workspace-paste-path"})]}):null]}),e.jsxs("button",{type:"button",onClick:h,className:"flex items-center justify-between w-full rounded-lg border border-dashed px-3.5 py-2.5 text-left text-xs font-semibold uppercase tracking-wider text-sec hover:bg-3 hover:text-pri transition-all cursor-pointer",style:{borderColor:"var(--border)"},"data-testid":"confirm-workspace-browse-toggle",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(Y,{size:12,"aria-hidden":!0,className:"text-ter"}),a("workspace.advanced.browse")]}),e.jsx(B,{size:14,"aria-hidden":!0})]})]}),e.jsxs("div",{className:"flex items-center justify-end gap-2 border-t px-5 py-3",style:{borderColor:"var(--border)"},children:[e.jsx("button",{type:"button",onClick:i,className:"icon-btn",children:a("common.cancel")}),e.jsx("button",{type:"button",onClick:ee,disabled:!F,"data-testid":"confirm-workspace-create",className:"icon-btn icon-btn--primary",children:a("workspace.confirm.create")})]})]})})]})})},L="hive://windows-drives",qe=({entries:t,error:s,loading:n,onNavigate:r,onSelect:l,selected:i})=>{const{t:o}=R();return e.jsx("div",{className:"scroll-y min-h-[200px] flex-1 border-t border-b",style:{borderColor:"var(--border)"},"data-testid":"fs-entry-list",children:n?e.jsx("p",{className:"p-4 text-center text-xs text-ter",children:o("common.loading")}):s?e.jsx("p",{className:"p-4 text-center text-xs",style:{color:"var(--status-red)"},"data-testid":"fs-browse-error",children:s}):t.length===0?e.jsx("p",{className:"p-4 text-center text-xs text-ter",children:o("workspace.browse.empty")}):e.jsx("ul",{children:t.map(u=>{const h=i===u.path;return e.jsxs("li",{className:"flex items-center gap-0",children:[e.jsxs("button",{type:"button","data-testid":`fs-entry-${u.name}`,onClick:()=>l(u.path),onDoubleClick:()=>r(u.path),className:"flex flex-1 items-center gap-2 px-3 py-2 text-left text-xs hover:bg-3",style:h?{background:"var(--bg-3)",color:"var(--text-primary)"}:{color:"var(--text-primary)"},children:[e.jsx("span",{"aria-hidden":!0,className:"inline-flex items-center text-sec",children:u.is_git_repository?e.jsx(me,{size:14}):e.jsx(Y,{size:14})}),e.jsx("span",{className:"mono flex-1 truncate",children:u.name}),u.is_git_repository?e.jsx("span",{className:"text-xs uppercase tracking-wider",style:{color:"var(--accent)"},children:o("workspace.browse.gitBadge")}):null]}),e.jsx("button",{type:"button","data-testid":`fs-entry-open-${u.name}`,onClick:()=>r(u.path),"aria-label":o("workspace.browse.openAria",{name:u.name}),className:"px-3 py-2 text-xs text-ter hover:text-pri",children:"→"})]},u.path)})})})},Ve=({probe:t,suggestedName:s,onSuggestedNameChange:n})=>{const{t:r}=R(),l=!!t&&t.ok&&t.is_dir;return e.jsxs("div",{className:"flex flex-col gap-2 rounded border p-3 text-xs",style:{background:"var(--bg-1)",borderColor:"var(--border)"},"data-testid":"fs-selection-preview",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-ter uppercase tracking-wider text-xs",children:r("workspace.browse.selected")}),t?.is_git_repository?e.jsx("span",{className:"role-badge role-badge--coder","data-testid":"fs-preview-git-badge",children:r("workspace.git.short",{branch:t.current_branch??r("workspace.git.detached")})}):l?e.jsx("span",{className:"text-ter text-xs",children:r("workspace.git.noneShort")}):null]}),e.jsx("span",{className:"mono truncate text-pri","data-testid":"fs-preview-path",children:t?.path??"—"}),e.jsxs("label",{className:"mt-1 flex flex-col gap-1 text-ter",children:[e.jsx("span",{className:"text-xs uppercase tracking-wider",children:r("workspace.field.name")}),e.jsx("input",{type:"text",value:s,onChange:i=>n(i.target.value),disabled:!l,autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,className:"mono rounded border px-2 py-1 text-sm text-pri disabled:opacity-50 max-md:text-base",style:{background:"var(--bg-0)",borderColor:"var(--border)"},"data-testid":"fs-preview-name-input"})]})]})},fe=t=>{const s=t.lastIndexOf("\\"),n=t.lastIndexOf("/");return s>=0&&s>n?"\\":n>=0?"/":/^[A-Za-z]:/u.test(t)?"\\":"/"},Ue=(t,s)=>{if(t===L)return s;const r=t.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean),l=r[r.length-1];return l?`~ (${l})`:t},T=t=>t.replace(/[\\/]+$/u,"")||t,le=t=>/^[A-Za-z]:($|[\\/])/u.test(t),ie=t=>/^\\\\[^\\/]+[\\/][^\\/]+/u.test(t),be=(t,s)=>le(t)&&le(s)||ie(t)&&ie(s),He=t=>{const s=/^(?:\\\\|\/\/)(?<server>[^\\/]+)[\\/](?<share>[^\\/]+)[\\/]*(?<rest>.*)$/u.exec(t);if(!s?.groups)return null;const{server:n,share:r,rest:l}=s.groups,i=`\\\\${n}\\${r}\\`;return{label:`\\\\${n}\\${r}`,rest:l,root:i}},Ze=(t,s)=>{const n=T(t),r=T(s);return be(n,r)?n.toLowerCase()===r.toLowerCase():n===r},Ge=(t,s)=>{const n=T(t),r=T(s);if(r==="/"||r==="\\")return n.startsWith(r);const l=be(n,r),i=l?n.toLowerCase():n,o=l?r.toLowerCase():r;if(i===o)return!0;if(!i.startsWith(o))return!1;const u=i[o.length];return u==="/"||u==="\\"},Ke=(t,s,n="This PC")=>{if(!s||!t)return[];const r=[{label:Ue(s,n),path:s}];if(Ze(t,s))return r;if(s===L){const a=He(t);if(a){r.push({label:a.label,path:a.root});const x=a.rest.split(/[\\/]/).filter(Boolean);let w=a.root.replace(/[\\/]+$/,"");for(const C of x)w=`${w}\\${C}`,r.push({label:C,path:w});return r}const g=/^(?<drive>[A-Za-z]:)[\\/]*(?<rest>.*)$/u.exec(t),d=g?.groups?.drive;if(!d)return r;const k=`${d}\\`;r.push({label:d,path:k});const p=(g.groups?.rest??"").split(/[\\/]/).filter(Boolean);let m=k.replace(/[\\/]+$/,"");for(const x of p)m=`${m}\\${x}`,r.push({label:x,path:m});return r}const l=T(s),i=Ge(t,l)?t.slice(l.length).replace(/^[\\/]+/,""):"";if(!i)return r;const o=fe(l),u=i.split(/[\\/]/).filter(Boolean);let h=l;for(const a of u)h=`${h}${o}${a}`,r.push({label:a,path:h});return r},de={current_path:"",entries:[],error:null,ok:!1,parent_path:null,root_path:""},Xe=t=>{const[s,n]=c.useState(de),[r,l]=c.useState(!1),[i,o]=c.useState(null),[u,h]=c.useState(null),a=c.useRef(0),g=c.useRef(0),d=c.useCallback(()=>{g.current++,o(null),h(null)},[]),k=c.useCallback(async m=>{const x=++a.current;l(!0);try{const w=await Ne(m);if(a.current!==x)return;n(w),w.ok?o(w.current_path):d()}catch{}finally{a.current===x&&l(!1)}},[d]);c.useEffect(()=>{if(!t){a.current++,n(de),d();return}k("")},[d,t,k]),c.useEffect(()=>{if(!i){h(null);return}const m=++g.current;Ce(i).then(x=>{g.current===m&&h(x)}).catch(x=>{console.debug("[hive] discarded:fsBrowser.probe (likely stale token)",x)})},[i]);const p=c.useCallback(m=>{o(m)},[]);return{browse:s,loading:r,navigate:k,probe:u,selectEntry:p,selected:i}},Ye=t=>(t.split(/[\\/]/).filter(Boolean).pop()??"").replace(/:$/u,""),ge=({commandPresetError:t,commandPresetId:s,commandPresets:n,onClose:r,onCommandPresetChange:l,onCreate:i,open:o,initialAdvanced:u=!1,manualHint:h})=>{const{t:a}=R(),g=_e(),{browse:d,loading:k,navigate:p,probe:m,selectEntry:x,selected:w}=Xe(o),[C,N]=c.useState(""),[_,E]=c.useState(u),[b,j]=c.useState(""),[f,P]=c.useState(!1),[S,A]=c.useState(""),z=xe(b),O=Ye(z);if(c.useEffect(()=>{o||(N(""),E(u),j(""),P(!1),A(""))},[o,u]),c.useEffect(()=>{m?.suggested_name&&N(m.suggested_name)},[m?.suggested_name]),c.useEffect(()=>{_&&z.length>0&&N(O)},[_,O,z]),!o)return null;const D=a("workspace.browse.drivesRoot"),Q=d.root_path===L?D:d.root_path,F=Ke(d.current_path,d.root_path,D),ee=d.root_path===L&&d.current_path!==L,y=fe(d.current_path||d.root_path),se=n.find(v=>v.id===s),q=S.trim(),ke=n.length===0&&!t,re=!s&&q.length===0,ae=se?.available===!1&&q.length===0,ve=re?a("workspace.preset.genericRequiresStartup"):ae?a("workspace.preset.notInstalled",{name:se.displayName}):null,we=C.trim().length>0&&(m?.is_dir===!0||_&&z.length>0)&&!ke&&!re&&!ae,je=()=>{const v=_&&z.length>0?z:m?.path??"";v&&i({commandPresetId:s||null,name:C.trim(),path:v,...q?{startupCommand:q}:{}})};return e.jsx(H,{open:!0,onOpenChange:v=>!v&&r(),children:e.jsxs(Z,{children:[e.jsx(G,{"data-testid":"server-browse-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 max-md:items-end max-md:p-0 p-4",children:e.jsxs(K,{"data-testid":"add-workspace-dialog","data-mobile":g||void 0,className:`${g?"dialog-slide-up":"dialog-scale-pop"} elev-2 pointer-events-auto flex w-[760px] max-w-[calc(100vw-32px)] flex-col rounded-lg border max-md:w-full max-md:max-w-full max-md:rounded-b-none max-md:rounded-t-xl`,style:{height:g?"85dvh":"min(600px, calc(100vh - 64px))",background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[e.jsxs("div",{className:"flex shrink-0 items-center gap-3 border-b px-5 py-4",style:{borderColor:"var(--border)"},children:[e.jsx("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded",style:{background:"color-mix(in oklab, var(--accent) 12%, transparent)",color:"var(--accent)"},children:e.jsx(Y,{size:18,"aria-hidden":!0})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx(X,{className:"text-lg font-semibold text-pri",children:a("workspace.browse.title")}),e.jsx(te,{className:"mono truncate text-xs text-ter","data-testid":"fs-root-path",children:d.root_path?a("workspace.browse.root",{path:Q}):a("workspace.browse.rootLoading")})]}),e.jsx(Pe,{asChild:!0,children:e.jsx("button",{type:"button","aria-label":a("common.closeDialog"),className:"flex h-7 w-7 items-center justify-center rounded text-sec hover:bg-3 hover:text-pri",children:e.jsx(Se,{size:14,"aria-hidden":!0})})})]}),e.jsxs("nav",{className:"flex shrink-0 items-center gap-1 border-b px-4 py-2 text-xs",style:{borderColor:"var(--border)"},"aria-label":a("workspace.browse.breadcrumb"),"data-testid":"fs-breadcrumb",children:[e.jsxs("button",{type:"button",onClick:()=>d.parent_path?p(d.parent_path):null,disabled:!d.parent_path,"aria-label":a("workspace.browse.parentAria"),className:"flex items-center gap-1 rounded px-2 py-0.5 text-sec hover:bg-3 hover:text-pri disabled:opacity-40",children:[e.jsx(Me,{size:12,"aria-hidden":!0})," ",a("workspace.browse.up")]}),ee?e.jsxs("button",{type:"button",onClick:()=>p(L),"aria-label":a("workspace.browse.drivesAria"),"data-testid":"fs-browse-drives",className:"flex items-center gap-1 rounded px-2 py-0.5 text-sec hover:bg-3 hover:text-pri",children:[e.jsx(Fe,{size:12,"aria-hidden":!0})," ",D]}):null,e.jsx("div",{className:"mx-2 h-4 w-px",style:{background:"var(--border)"}}),F.map((v,ne)=>{const ye=ne===F.length-1;return e.jsxs("span",{className:"flex items-center gap-0.5",children:[ne>0?e.jsx("span",{className:"text-ter",children:y}):null,ye?e.jsx("span",{className:"px-1 py-0.5 font-medium text-pri",children:v.label}):e.jsx("button",{type:"button",onClick:()=>p(v.path),className:"rounded px-1 py-0.5 text-sec hover:bg-3 hover:text-pri",children:v.label})]},v.path)})]}),e.jsxs("div",{className:"flex min-h-0 flex-1 max-md:flex-col",children:[e.jsx("div",{className:"flex min-h-0 flex-1 flex-col max-md:min-h-[40%]",children:e.jsx(qe,{entries:d.entries,error:d.ok?null:d.error,loading:k,onNavigate:p,onSelect:x,selected:w})}),e.jsxs("div",{className:"flex w-[280px] shrink-0 flex-col gap-3 border-l p-4 max-md:w-full max-md:border-l-0 max-md:border-t max-md:max-h-[45%] max-md:overflow-y-auto",style:{borderColor:"var(--border)"},children:[e.jsx(Ve,{onSuggestedNameChange:N,probe:m,suggestedName:C}),e.jsx(he,{error:t??ve,onChange:l,presets:n,value:s}),e.jsxs("div",{className:"rounded-lg border overflow-hidden transition-all",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[e.jsxs("button",{type:"button",onClick:()=>P(v=>!v),className:"flex w-full items-center justify-between px-3 py-2 text-left text-xs font-semibold uppercase tracking-wider text-sec hover:bg-3 transition-colors cursor-pointer",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(J,{size:12,"aria-hidden":!0,className:"text-ter"}),a("workspace.advanced.startup")]}),f?e.jsx(W,{size:14,"aria-hidden":!0}):e.jsx(B,{size:14,"aria-hidden":!0})]}),f?e.jsxs("div",{className:"flex flex-col gap-2 border-t p-3 transition-all",style:{background:"var(--bg-2)",borderColor:"var(--border)"},children:[e.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-ter",children:a("workspace.field.startup")}),e.jsx("input",{type:"text",value:S,onChange:v=>A(v.target.value),placeholder:a("workspace.field.startupPlaceholder"),className:"input mono text-sm max-md:text-base",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,inputMode:"text","data-testid":"fs-startup-command"}),e.jsx("span",{className:"text-xs normal-case tracking-normal text-ter leading-relaxed",children:a("workspace.startup.hintShort")})]}):null]}),e.jsxs("div",{className:"rounded-lg border overflow-hidden transition-all",style:{borderColor:"var(--border)",background:"var(--bg-1)"},children:[e.jsxs("button",{type:"button",onClick:()=>E(v=>!v),className:"flex w-full items-center justify-between px-3 py-2 text-left text-xs font-semibold uppercase tracking-wider text-sec hover:bg-3 transition-colors cursor-pointer",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(J,{size:12,"aria-hidden":!0,className:"text-ter"}),a("workspace.advanced.pastePath")]}),_?e.jsx(W,{size:14,"aria-hidden":!0}):e.jsx(B,{size:14,"aria-hidden":!0})]}),_?e.jsxs("div",{className:"flex flex-col gap-2 border-t p-3 transition-all",style:{background:"var(--bg-2)",borderColor:"var(--border)"},children:[e.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-ter",children:a("workspace.field.absolutePath")}),h?e.jsx("span",{"data-testid":"fs-manual-hint",className:"text-xs normal-case tracking-normal text-ter leading-relaxed",children:h}):null,e.jsx("input",{type:"text",value:b,onChange:v=>j(v.target.value),placeholder:a("workspace.field.absolutePathPlaceholder"),className:"input mono text-sm max-md:text-base",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,inputMode:"url","data-testid":"fs-manual-path"})]}):null]})]})]}),e.jsxs("div",{className:"flex shrink-0 items-center justify-end gap-2 border-t px-5 py-3",style:{borderColor:"var(--border)"},children:[e.jsx("button",{type:"button",onClick:r,className:"icon-btn",children:a("common.cancel")}),e.jsx("button",{type:"button",onClick:je,disabled:!we,"data-testid":"add-workspace-create",className:"icon-btn icon-btn--primary",children:a("workspace.confirm.create")})]})]})})]})})},$="claude",Je=t=>t.some(s=>s.id===$&&s.available)?$:t.find(s=>s.available)?.id??t[0]?.id??$,Qe=(t=typeof navigator>"u"?void 0:navigator)=>{if(!t)return!1;const s=[t.userAgentData?.platform,t.platform,t.userAgent].filter(n=>typeof n=="string"&&n.length>0).join(" ");return/\bWindows?\b|\bWin(?:32|64|CE)\b|Windows NT/i.test(s)},et=({trigger:t,onClose:s,onCreate:n})=>{const{t:r}=R(),l=c.useRef(r);c.useEffect(()=>{l.current=r},[r]);const[i,o]=c.useState({kind:"idle"}),[u,h]=c.useState([]),[a,g]=c.useState($),[d,k]=c.useState(null),p=c.useRef({error:null,id:$,presets:[]}),m=c.useRef(s);c.useEffect(()=>{m.current=s},[s]),c.useEffect(()=>{if(t===0)return;let b=!1;k(null);const j=ue().then(f=>{if(b)return;const P=f.some(S=>S.id===p.current.id&&S.available)?p.current.id:Je(f);p.current={error:null,id:P,presets:f},h(f),g(P)}).catch(()=>{if(b)return;const f=l.current("workspace.preset.loadFailed");p.current={error:f,id:$,presets:[]},h([]),g($),k(f)});return Qe()?(o({kind:"browse"}),()=>{b=!0}):(o({kind:"picking"}),Ee().then(async f=>{if(await j,!b){if(f.canceled){if(f.error){o({kind:"error",message:f.error});return}o({kind:"idle"}),m.current();return}if(!f.supported){o({kind:"confirm",probe:null,pasteDefault:!0});return}if(!f.probe?.ok||!f.probe.is_dir){o({kind:"error",message:f.error??l.current("workspace.error.outsideSandbox")});return}o({kind:"confirm",probe:f.probe,pasteDefault:!1})}}).catch(f=>{if(b)return;const P=f instanceof Error?f.message:l.current("workspace.error.pickerFailed");o({kind:"error",message:P})}),()=>{b=!0})},[t]);const x=()=>{o({kind:"idle"}),s()},w=b=>{Promise.resolve(n(b)).then(()=>o({kind:"idle"})).catch(j=>{const f=j instanceof Error?j.message:r("workspace.error.createFailed");o({kind:"error",title:r("workspace.error.createTitle"),message:f})})},C=b=>{p.current={...p.current,id:b},g(b)},N=u.length>0||d?u:p.current.presets,_=a===""?"":N.length>0&&!N.some(b=>b.id===a&&b.available)?p.current.id:a,E=d??p.current.error;if(i.kind==="idle")return null;if(i.kind==="picking"){const b=()=>o({kind:"idle"});return e.jsx(H,{open:!0,onOpenChange:j=>!j&&b(),children:e.jsxs(Z,{children:[e.jsx(G,{className:"app-overlay fixed inset-0 z-40"}),e.jsxs(K,{"data-testid":"add-workspace-picking","aria-describedby":void 0,className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[e.jsx(X,{className:"sr-only",children:r("workspace.picking.title")}),e.jsxs("div",{"data-testid":"add-workspace-picking-panel",className:"dialog-scale-pop elev-2 flex items-center gap-3 rounded-lg border px-5 py-4",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[e.jsx(Le,{size:18,"aria-hidden":!0,className:"animate-pulse",style:{color:"var(--accent)"}}),e.jsx("span",{className:"text-sm text-pri",children:r("workspace.picking.message")})]})]})]})})}return i.kind==="error"?e.jsx(H,{open:!0,onOpenChange:b=>!b&&x(),children:e.jsxs(Z,{children:[e.jsx(G,{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(K,{"data-testid":"add-workspace-error",className:"dialog-scale-pop elev-2 pointer-events-auto w-[440px] max-w-[calc(100vw-32px)] rounded-lg border p-5",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded",style:{background:"color-mix(in oklab, var(--status-red) 14%, transparent)",color:"var(--status-red)"},children:e.jsx(ze,{size:18,"aria-hidden":!0})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx(X,{className:"text-lg font-semibold text-pri",children:i.title??r("workspace.error.pickerFailed")}),e.jsx(te,{className:"mt-1.5 break-words text-sm text-ter",children:i.message})]})]}),e.jsxs("div",{className:"mt-5 flex justify-end gap-2",children:[e.jsx("button",{type:"button",onClick:x,className:"icon-btn",children:r("common.close")}),e.jsx("button",{type:"button",onClick:()=>o({kind:"confirm",probe:null,pasteDefault:!0}),className:"icon-btn icon-btn--primary",children:r("workspace.error.pastePathInstead")})]})]})})]})}):i.kind==="browse"?e.jsx(ge,{commandPresetError:E,commandPresetId:_,commandPresets:N,onClose:x,onCommandPresetChange:C,onCreate:w,open:!0}):e.jsx(Te,{commandPresetError:E,commandPresetId:_,commandPresets:N,pasteFallbackDefault:i.pasteDefault,probe:i.probe,onCancel:x,onCommandPresetChange:C,onCreate:w,onOpenServerBrowse:()=>o({kind:"browse"})})},M="claude",tt=t=>t.some(s=>s.id===M&&s.available)?M:t.find(s=>s.available)?.id??t[0]?.id??M,st=t=>{const{t:s}=R(),n=c.useRef(s);c.useEffect(()=>{n.current=s},[s]);const[r,l]=c.useState([]),[i,o]=c.useState(M),[u,h]=c.useState(null),a=c.useRef(M);return c.useEffect(()=>{if(!t)return;let d=!1;return h(null),ue().then(k=>{if(d)return;const m=k.some(x=>x.id===a.current&&x.available)?a.current:tt(k);a.current=m,l(k),o(m)}).catch(()=>{d||(a.current=M,l([]),o(M),h(n.current("workspace.preset.loadFailed")))}),()=>{d=!0}},[t]),{commandPresets:r,commandPresetId:i,commandPresetError:u,onCommandPresetChange:d=>{a.current=d,o(d)}}},rt=({trigger:t,onClose:s,onCreate:n})=>{const{t:r}=R(),[l,i]=c.useState(!1),o=c.useRef(0);c.useEffect(()=>{t>0&&t!==o.current&&i(!0)},[t]);const u=st(l),h=()=>{o.current=t,i(!1),s()},a=g=>{Promise.resolve(n(g)).then(()=>{o.current=t,i(!1)})};return l?e.jsx(ge,{open:!0,initialAdvanced:!0,manualHint:r("workspace.add.manualHint"),commandPresetError:u.commandPresetError,commandPresetId:u.commandPresetId,commandPresets:u.commandPresets,onClose:h,onCommandPresetChange:u.onCommandPresetChange,onCreate:a}):null},nt=({trigger:t,onClose:s,onCreate:n})=>{const{mode:r}=Re();return r==="mobile"?e.jsx(rt,{trigger:t,onClose:s,onCreate:n}):e.jsx(et,{trigger:t,onClose:s,onCreate:n})};export{nt as AddWorkspaceFlow};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as f,r as h,j as e,R as j,P as b,O as N,k as v,$ as g,m as c}from"./index-K-GG8UwR.js";const y=({open:o,onClose:r,onAddWorkspace:d,onTryDemo:x})=>{const{t:s}=f(),[l,n]=h.useState(0),m=t=>{t||(n(0),r())},i=(t=!0)=>{n(0),r(t)},a=l===2;return e.jsx(j,{open:o,onOpenChange:m,children:e.jsxs(b,{children:[e.jsx(N,{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(v,{"aria-label":s("firstRun.title"),className:"dialog-scale-pop elev-2 pointer-events-auto w-[480px] max-w-[calc(100vw-32px)] rounded-lg border p-6",style:{background:"var(--bg-elevated)",borderColor:"var(--border-bright)"},children:[e.jsx(g,{className:"sr-only",children:s("firstRun.step",{current:l+1,total:3})}),e.jsxs("div",{className:"min-h-[200px]",children:[l===0&&e.jsxs("div",{className:"flex flex-col items-center gap-4 py-4 text-center",children:[e.jsx("div",{"aria-hidden":!0,className:"flex h-14 w-14 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("img",{alt:"",className:"h-10 w-10 object-contain","data-testid":"first-run-logo",draggable:!1,src:"/logo.png"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(c,{className:"text-xl font-semibold text-pri",children:s("firstRun.title")}),e.jsx("p",{className:"text-sm text-sec",children:s("firstRun.desc")}),e.jsx("p",{className:"text-xs text-ter",children:s("firstRun.subtitle")})]})]}),l>0&&e.jsx(c,{className:"sr-only",children:s("firstRun.title")}),l===1&&e.jsxs("div",{className:"flex flex-col gap-4 py-2",children:[e.jsx("h2",{className:"text-lg font-semibold text-pri",children:s("firstRun.howItWorks")}),e.jsx("ol",{className:"flex flex-col gap-3",children:[{n:1,title:s("firstRun.slide1Title"),desc:s("firstRun.slide1Desc")},{n:2,title:s("firstRun.slide2Title"),desc:s("firstRun.slide2Desc")},{n:3,title:s("firstRun.slide3Title"),desc:s("firstRun.slide3Desc")}].map(({n:t,title:u,desc:p})=>e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-xs font-medium",style:{background:"var(--bg-elevated)",border:"1px solid var(--border-bright)",color:"var(--accent)"},children:t}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium text-pri",children:u}),e.jsx("div",{className:"text-xs text-sec",children:p})]})]},t))})]}),l===2&&e.jsxs("div",{className:"flex flex-col gap-3 py-2",children:[e.jsx("h2",{className:"text-lg font-semibold text-pri",children:s("firstRun.getStarted")}),e.jsx("p",{className:"text-sm text-sec",children:s("firstRun.optionDesc")}),e.jsxs("div",{className:"mt-2 flex flex-col gap-2",children:[e.jsx("button",{type:"button",onClick:()=>{d(),i(!1)},className:"icon-btn icon-btn--primary w-full justify-center",children:s("firstRun.addWorkspace")}),e.jsx("button",{type:"button",onClick:()=>{x(),i(!0)},className:"icon-btn w-full justify-center",children:s("firstRun.tryDemo")}),e.jsx("button",{type:"button",onClick:()=>i(),className:"text-xs text-sec underline hover:text-pri mt-1",children:s("firstRun.skipForNow")})]})]})]}),e.jsxs("div",{className:"mt-5 flex items-center justify-between",children:[e.jsx("span",{className:"text-xs text-ter",children:s("firstRun.step",{current:l+1,total:3})}),e.jsxs("div",{className:"flex items-center gap-2",children:[l>0&&!a&&e.jsx("button",{type:"button",onClick:()=>n(t=>t-1),className:"icon-btn",children:s("firstRun.back")}),!a&&e.jsx("button",{type:"button",onClick:()=>n(t=>t+1),className:"icon-btn icon-btn--primary",children:s("firstRun.next")}),e.jsx("button",{type:"button",onClick:()=>i(),className:"text-xs text-ter underline hover:text-sec",children:s("firstRun.skip")})]})]})]})})]})})};export{y as FirstRunWizard};
|