*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit}:root{--breakpoint-md:640px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--page-padding:16px;--section-gap:12px;--font-h1:20px;--font-h2:19px;--font-h3:17px;--font-body:16px;--font-small:12px;--font-code:14px;--color-primary:#078185;--color-primary-dark:#065f62;--color-primary-light:#e0f5f5;--color-secondary:#e2b090;--color-secondary-dark:#c8946f;--color-secondary-light:#faf0e8;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-text-on-primary:#fff;--color-background:#f7fafa;--color-background-rgb:247,250,250;--color-surface:#fff;--color-surface-hover:#eef7f7;--color-border:#e5e7eb;--color-border-focus:#078185;--color-sidebar-bg:#d1e8e8;--color-sidebar-text:#04444a;--color-sidebar-text-active:#04444a;--color-sidebar-item-hover:#a8d1d1;--color-sidebar-item-active:#a8d1d1;--color-success:#10b981;--color-success-light:#d1fae5;--color-error:#ef4444;--color-error-light:#fee2e2;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-info:#2563eb;--color-info-light:#dbeafe;--color-skeleton:#e5e7eb;--color-overlay:rgba(0,0,0,.4);--color-btn-pri-active:#054b4d;--color-btn-pri-disabled:#e5e7eb;--color-pending:#6366f1;--color-stopped:#6b7280;--progress-done-soft:#86c98a;--progress-pending-review-soft:#b5a3cc;--progress-in-progress-soft:#7fbcd4;--progress-todo-soft:#d1d5db;--color-tooltip-bg:rgba(30,30,30,.9);--color-group-bg:#f3f4f6}@media(min-width:640px){:root{--page-padding:20px;--section-gap:14px;--font-h1:22px;--font-h2:20px;--font-h3:18px}}@media(min-width:1024px){:root{--page-padding:24px;--section-gap:16px;--font-h1:24px;--font-h2:22px;--font-h3:18px}}[data-theme=dark]{--color-primary:#26d0d6;--color-primary-dark:#078185;--color-primary-light:#114446;--color-secondary:#f1c9af;--color-secondary-dark:#e2b090;--color-secondary-light:#3b2e25;--color-text-primary:#f9fafb;--color-text-on-primary:#0b0e14;--color-background:#0b0e14;--color-background-rgb:11,14,20;--color-surface:#1f2937;--color-surface-hover:#2d3748;--color-sidebar-bg:#111827;--color-sidebar-text:#e0f5f5;--color-sidebar-text-active:#e0f5f5;--color-sidebar-item-hover:#1f3839;--color-sidebar-item-active:#1f3839;--color-success:#34d399;--color-error:#f87171;--color-info:#60a5fa;--color-skeleton:#2d3748;--color-overlay:rgba(0,0,0,.6);--color-btn-pri-active:#1fbac0;--color-btn-pri-disabled:#374151;--color-pending:#818cf8;--color-stopped:#9ca3af;--progress-done-soft:#4f9e5a;--progress-pending-review-soft:#7c6a99;--progress-in-progress-soft:#4e8ca6;--progress-todo-soft:#4b5563;--color-tooltip-bg:rgba(0,0,0,.85);--color-group-bg:#1f2937}.text-h1,h1{font-size:var(--font-h1);font-weight:700;line-height:1.5}.text-h2,h2{font-size:var(--font-h2)}.text-h2,.text-h3,h2,h3{font-weight:600;line-height:1.5}.text-h3,h3{font-size:var(--font-h3)}.text-body,body{font-size:var(--font-body);line-height:1.5}.text-small,small{font-size:var(--font-small);line-height:1.5}.text-code,code{font-size:var(--font-code);line-height:1.5}@media(hover:none){a:active,button:active{opacity:.7;transition:opacity .1s}}.btn{align-items:center;border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:6px;justify-content:center;line-height:1.5;padding:8px 16px;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-sm{border-radius:6px;font-size:13px;padding:6px 14px}.btn-lg{border-radius:8px;font-size:15px;padding:10px 20px}.btn-primary{background-color:var(--color-primary);color:var(--color-text-on-primary);font-weight:600}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-text-tertiary)}.btn-danger{background-color:var(--color-error);color:var(--color-text-on-primary);font-weight:600}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-ghost{background:transparent;color:var(--color-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-allow{background-color:var(--color-success);color:var(--color-text-on-primary);font-weight:600}.btn-allow:hover:not(:disabled){background-color:#15803d}.btn-icon-only{border-radius:8px;height:36px;padding:0;width:36px}.btn-sm.btn-icon-only{border-radius:6px;height:28px;width:28px}.btn-fab{align-items:center;background:var(--color-primary);border:none;border-radius:50%;box-shadow:0 4px 12px #0781854d;color:var(--color-text-on-primary);cursor:pointer;display:flex;height:52px;justify-content:center;transition:background-color .15s;width:52px}.btn-fab:hover{background-color:var(--color-primary-dark)}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;min-height:44px;padding:8px 16px;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--color-text-primary)}.tab-btn.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.tab-btn.tab-pill{background:var(--color-surface);border-bottom:none;border:1px solid var(--color-border);border-radius:6px;font-size:13px;margin-bottom:0;padding:6px 14px}.tab-btn.tab-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.tab-btn.tab-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.fade-enter-active{transition:opacity .2s ease}.fade-leave-active{transition:opacity .15s ease}.fade-enter-from,.fade-leave-to{opacity:0}@keyframes name-highlight{0%{color:var(--color-text-primary)}30%{color:var(--color-primary)}to{color:var(--color-text-primary)}}.switcher-name-highlight{animation:name-highlight .6s ease}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.vue-flow{direction:ltr;height:100%;overflow:hidden;position:relative;width:100%;z-index:0}.vue-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{pointer-events:none;transform-origin:0 0;z-index:2}.vue-flow__viewport{overflow:clip;z-index:4}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{overflow:visible;pointer-events:none}.vue-flow__connection-path,.vue-flow__edge-path{fill:none;stroke:#b1b1b7;stroke-width:1}.vue-flow__edge{cursor:pointer;pointer-events:visibleStroke}.vue-flow__edge.animated path{animation:dashdraw .5s linear infinite;stroke-dasharray:5}.vue-flow__edge.animated path.vue-flow__edge-interaction{animation:none;stroke-dasharray:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{animation:dashdraw .5s linear infinite;stroke-dasharray:5}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.vue-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{min-height:5px;min-width:5px;pointer-events:none;position:absolute}.vue-flow__handle.connectable{cursor:crosshair;pointer-events:all}.vue-flow__handle-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.vue-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{margin:15px;position:absolute;z-index:5}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg:#fff;--vf-node-text:#222;--vf-connection-path:#b1b1b7;--vf-handle:#555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{background-color:var(--vf-node-bg);border-color:var(--vf-node-color);border-radius:3px;border-style:solid;border-width:1px;color:var(--vf-node-text);font-size:12px;padding:10px;text-align:center;width:150px}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid #555;outline:none}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color:var(--vf-node-color,#0041d0);--vf-handle:var(--vf-node-color,#0041d0);--vf-box-shadow:var(--vf-node-color,#0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color,#0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{border:1px solid var(--vf-node-color,#0041d0);outline:none}.vue-flow__node-default{--vf-handle:var(--vf-node-color,#1a192b);--vf-box-shadow:var(--vf-node-color,#1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color,#1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{border:1px solid var(--vf-node-color,#1a192b);outline:none}.vue-flow__node-output{--vf-handle:var(--vf-node-color,#ff0072);--vf-box-shadow:var(--vf-node-color,#ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color,#ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{border:1px solid var(--vf-node-color,#ff0072);outline:none}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{background:var(--vf-handle);border:1px solid #fff;border-radius:100%;height:6px;width:6px}.vue-flow__controls{box-shadow:0 0 2px 1px #00000014}.vue-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:16px}.vue-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.vue-flow__controls-button:hover{background:#f4f4f4}.vue-flow__controls-button:disabled{pointer-events:none}.vue-flow__controls-button:disabled svg{fill-opacity:.4}.agent-fab[data-v-106a69ec]{align-items:center;border:none;border-radius:50%;bottom:12px;color:var(--color-text-on-primary);cursor:pointer;display:flex;height:40px;justify-content:center;position:fixed;right:12px;touch-action:none;transition:background .15s ease,opacity .15s ease,transform .2s,box-shadow .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:40px;z-index:200}.agent-fab[data-v-106a69ec],.fab--idle[data-v-106a69ec]{background:transparent}.fab--idle[data-v-106a69ec]{color:var(--color-text-tertiary);opacity:.55}@media(hover:hover){.fab--idle[data-v-106a69ec]:hover{background:var(--color-primary);color:var(--color-text-on-primary);opacity:1}}.fab--hover[data-v-106a69ec],.fab--running[data-v-106a69ec]{background:var(--color-primary);color:var(--color-text-on-primary)}.fab--running[data-v-106a69ec]{animation:fab-running-pulse-106a69ec 2s ease-in-out infinite}@keyframes fab-running-pulse-106a69ec{0%,to{box-shadow:0 0 0 0 var(--color-primary-light)}50%{box-shadow:0 0 0 6px var(--color-primary-light)}}.fab--question[data-v-106a69ec]{background:var(--color-secondary)}.fab--done[data-v-106a69ec],.fab--question[data-v-106a69ec]{color:var(--color-text-on-primary)}.fab--done[data-v-106a69ec]{background:var(--color-success);box-shadow:0 0 0 2px var(--color-success-light)}.fab--error[data-v-106a69ec]{background:var(--color-error)}.fab--drag-locked[data-v-106a69ec],.fab--error[data-v-106a69ec]{color:var(--color-text-on-primary)}.fab--drag-locked[data-v-106a69ec]{background:var(--color-primary)}.fab-badge[data-v-106a69ec]{align-items:center;background:var(--color-warning);border-radius:50%;box-sizing:border-box;color:var(--color-text-on-primary);display:flex;font-size:10px;font-weight:700;height:14px;justify-content:center;line-height:14px;min-width:14px;padding:0 3px;position:absolute;right:-2px;text-align:center;top:-2px}.fab-icon[data-v-106a69ec]{font-size:20px}@media(max-width:639px){.agent-fab[data-v-106a69ec]{bottom:8px;padding:2px;right:8px}}.agent-bubble[data-v-672adc42]{background:var(--color-surface);border:1px solid var(--color-primary-light);border-radius:12px;box-shadow:0 4px 12px #00000014;color:var(--color-text-primary);display:flex;flex-direction:column;font-size:12px;gap:6px;line-height:1.4;padding:12px 16px;position:relative}.bubble--push[data-v-672adc42]{max-width:420px;min-width:200px;width:-moz-max-content;width:max-content}.bubble--expand[data-v-672adc42]{max-height:800px;overflow-y:auto;width:420px}.bubble--need_confirm[data-v-672adc42]{background:var(--color-secondary-light);border-color:var(--color-secondary-light);color:var(--color-text-primary)}@media(max-width:639px){.agent-bubble[data-v-672adc42]{max-width:calc(100vw - 16px);width:calc(100vw - 16px)}.bubble--expand[data-v-672adc42]{max-height:80vh}}.bubble-content[data-v-672adc42]{display:flex;flex-direction:column;gap:4px}.bubble-text[data-v-672adc42]{display:-webkit-box;font-size:12px;-webkit-line-clamp:2;margin:0;-webkit-box-orient:vertical;overflow:hidden}.bubble-cta[data-v-672adc42]{align-self:flex-start;background:transparent;border:none;color:var(--color-primary);cursor:pointer;font-size:12px;font-weight:500;min-height:32px;min-width:32px;padding:4px 0}.bubble-cta[data-v-672adc42]:hover{color:var(--color-primary-dark)}.bubble-empty[data-v-672adc42]{color:var(--color-text-tertiary);font-size:12px}.bubble-active[data-v-672adc42]{gap:12px}.bubble-active[data-v-672adc42],.execution-card[data-v-672adc42]{display:flex;flex-direction:column}.execution-card[data-v-672adc42]{border:1px solid var(--color-border);border-radius:6px;gap:6px;padding:8px}.execution-title[data-v-672adc42]{color:var(--color-text-primary);font-size:12px;font-weight:600}.progress-track[data-v-672adc42]{background:var(--color-surface-hover);border-radius:2px;height:4px;overflow:hidden}.progress-bar[data-v-672adc42]{background:var(--color-primary);border-radius:2px;height:100%}.step-indicator[data-v-672adc42]{color:var(--color-text-secondary);font-size:12px}.open-plan-btn[data-v-672adc42]{align-self:flex-start;background:var(--color-primary);border:none;border-radius:6px;color:var(--color-text-on-primary);cursor:pointer;font-size:12px;padding:4px 10px}.agent-stream[data-v-672adc42]{display:flex;flex-direction:column;font-size:12px;gap:4px}.stream-event[data-v-672adc42]{color:var(--color-text-secondary);font-size:12px}.pending-request[data-v-672adc42]{display:flex;flex-wrap:wrap;font-size:12px;gap:6px}.ask-question[data-v-672adc42],.bash-command[data-v-672adc42]{font-size:12px;margin:0;width:100%}.ask-option[data-v-672adc42],.bash-approve[data-v-672adc42],.bash-reject[data-v-672adc42]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:12px;padding:4px 10px}.bash-approve[data-v-672adc42]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.bubble-tail[data-v-672adc42]{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--color-primary-light);bottom:-8px;height:0;position:absolute;right:0;width:0}.bubble--need_confirm .bubble-tail[data-v-672adc42]{border-top-color:var(--color-secondary-light)}.agent-bubble-enter-active[data-v-672adc42]{transition:opacity .25s ease-out,transform .25s ease-out}.agent-bubble-leave-active[data-v-672adc42]{transition:opacity .15s ease-in}.agent-bubble-enter-from[data-v-672adc42]{opacity:0;transform:scale(.85) translateY(4px)}.agent-bubble-enter-to[data-v-672adc42]{opacity:1;transform:scale(1) translateY(0)}.agent-bubble-leave-from[data-v-672adc42]{opacity:1}.agent-bubble-leave-to[data-v-672adc42]{opacity:0}.toast-container[data-v-59ba2b72]{display:flex;flex-direction:column;gap:8px;pointer-events:none;position:fixed;right:16px;top:16px;z-index:9999}.toast-item[data-v-59ba2b72]{align-items:center;border-radius:8px;box-shadow:0 4px 16px #0000001f;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;max-width:360px;min-width:200px;padding:10px 16px;pointer-events:auto}.toast-success[data-v-59ba2b72]{background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success)}.toast-error[data-v-59ba2b72]{background:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error)}.toast-info[data-v-59ba2b72]{background:var(--color-info-light);border:1px solid var(--color-info);color:var(--color-info)}.toast-warning[data-v-59ba2b72]{background:var(--color-warning-light);border:1px solid var(--color-warning);color:var(--color-warning)}.toast-icon[data-v-59ba2b72]{flex-shrink:0;font-size:14px}.toast-message[data-v-59ba2b72]{line-height:1.4}.toast-action[data-v-59ba2b72]{color:inherit;flex-shrink:0;font-weight:600;margin-left:4px;text-decoration:underline}.toast-action-btn[data-v-59ba2b72]{background:none;border:none;cursor:pointer;font-size:inherit;padding:0}.toast-enter-active[data-v-59ba2b72]{transition:all .3s ease-out}.toast-leave-active[data-v-59ba2b72]{transition:all .2s ease-in}.toast-enter-from[data-v-59ba2b72],.toast-leave-to[data-v-59ba2b72]{opacity:0;transform:translate(40px)}.toast-move[data-v-59ba2b72]{transition:transform .2s ease}.confirm-overlay[data-v-db4e3491]{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:9000}.confirm-dialog[data-v-db4e3491]{background:var(--color-surface);border-radius:12px;box-shadow:0 20px 60px #00000026;max-width:90vw;padding:24px;width:400px}.confirm-title[data-v-db4e3491]{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 8px}.confirm-message[data-v-db4e3491]{color:var(--color-text-secondary);font-size:14px;line-height:1.5;margin:0 0 20px;word-break:break-all}.confirm-actions[data-v-db4e3491]{display:flex;gap:8px;justify-content:flex-end}.agent-bubble-anchor{pointer-events:auto;z-index:199}
