.task-dependency-edge[data-v-6fc6bba3]{cursor:default}.task-dependency-edge[data-v-6fc6bba3]:not(.task-dependency-edge--readonly){cursor:pointer}.task-dependency-edge__path[data-v-6fc6bba3]{transition:stroke .15s,stroke-width .15s}.task-dependency-edge__hitarea[data-v-6fc6bba3]{cursor:pointer}.task-dependency-edge__delete[data-v-6fc6bba3]{cursor:pointer;pointer-events:all}.task-dependency-edge__delete:hover .task-dependency-edge__delete-bg[data-v-6fc6bba3]{fill:var(--danger,#ef4444)}.task-dependency-edge__delete:hover .task-dependency-edge__delete-icon[data-v-6fc6bba3]{fill:#fff}.task-dependency-edge__delete-bg[data-v-6fc6bba3]{fill:var(--surface,#fff);stroke:var(--danger,#ef4444);stroke-width:1.5;transition:fill .15s}.task-dependency-edge__delete-icon[data-v-6fc6bba3]{fill:var(--danger,#ef4444);font-size:14px;font-weight:700;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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}.tdg[data-v-cbc68ede]{display:flex;flex-direction:column;gap:0;height:100%;min-height:400px}.tdg--fullscreen[data-v-cbc68ede]{height:100%;min-height:0}.tdg__body[data-v-cbc68ede]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex:1;gap:0;min-height:0;overflow:hidden}.tdg__main[data-v-cbc68ede]{display:flex;flex:1;flex-direction:column;min-width:0}.tdg__toolbar[data-v-cbc68ede]{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:var(--s-2);padding:var(--s-2) var(--s-3)}.tdg__toolbar-spacer[data-v-cbc68ede]{flex:1}.tdg__zoom-controls[data-v-cbc68ede]{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);display:flex;gap:2px;overflow:hidden}.tdg__zoom-btn[data-v-cbc68ede]{align-items:center;background:transparent;border:none;color:var(--text-2);cursor:pointer;display:flex;height:28px;justify-content:center;transition:background .1s,color .1s;width:32px}.tdg__zoom-btn[data-v-cbc68ede]:hover{background:var(--bg);color:var(--text)}.tdg__zoom-btn i[data-v-cbc68ede]{font-size:.875rem}.tdg__canvas[data-v-cbc68ede]{background:radial-gradient(circle,var(--border) 1px,transparent 1px);background-size:20px 20px;flex:1;min-height:0;opacity:0;position:relative;transition:opacity .15s ease}.tdg__canvas--ready[data-v-cbc68ede]{opacity:1}.tdg__empty[data-v-cbc68ede]{align-items:center;color:var(--text-3);display:flex;flex-direction:column;gap:var(--s-3);height:100%;justify-content:center;min-height:300px}.tdg__empty>i[data-v-cbc68ede]{font-size:2rem;opacity:.4}.tdg__empty p[data-v-cbc68ede]{font-size:var(--text-sm);margin:0}.tdg__sidebar[data-v-cbc68ede]{background:var(--bg-subtle);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:var(--s-3);overflow-y:auto;padding:var(--s-3);width:230px}.tdg__sidebar-title[data-v-cbc68ede]{color:var(--text-3);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.05em;margin:0;padding:0 var(--s-1);text-transform:uppercase}.tdg__help-list[data-v-cbc68ede]{display:flex;flex-direction:column;gap:var(--s-2);list-style:none;margin:0;padding:0}.tdg__help-card[data-v-cbc68ede]{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);display:flex;gap:var(--s-2);padding:var(--s-2)}.tdg__help-icon[data-v-cbc68ede]{align-items:center;background:var(--bg-subtle);border-radius:var(--r-sm);color:var(--text-3);display:flex;flex-shrink:0;height:26px;justify-content:center;width:26px}.tdg__help-icon i[data-v-cbc68ede]{font-size:.7rem}.tdg__help-icon--success[data-v-cbc68ede]{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.tdg__help-icon--danger[data-v-cbc68ede]{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.tdg__help-icon--info[data-v-cbc68ede]{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info)}.tdg__help-text[data-v-cbc68ede]{display:flex;flex-direction:column;gap:2px;min-width:0}.tdg__help-text strong[data-v-cbc68ede]{color:var(--text);font-size:var(--text-xs);font-weight:var(--fw-semibold);line-height:1.3}.tdg__help-text p[data-v-cbc68ede]{color:var(--text-2);font-size:.675rem;line-height:1.4;margin:0}.task-node[data-v-cbc68ede]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 1px 3px #0000000a;box-sizing:border-box;position:relative;transition:border-color .15s,box-shadow .15s;width:280px}.task-node[data-v-cbc68ede]:hover{border-color:var(--text-3);box-shadow:0 2px 8px #00000014}.task-node--readonly[data-v-cbc68ede]{cursor:default}.task-node__body[data-v-cbc68ede]{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);position:relative}.task-node__title[data-v-cbc68ede]{color:var(--text);font-size:var(--text-sm);font-weight:var(--fw-medium);line-height:1.3;padding-right:var(--s-6);word-break:break-word}.task-node__meta[data-v-cbc68ede]{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.task-node__badge[data-v-cbc68ede]{border:1px solid var(--border);color:var(--text-2);font-size:.65rem;font-weight:var(--fw-medium);padding:1px 6px}.task-node__badge[data-v-cbc68ede],.task-node__skill[data-v-cbc68ede]{align-items:center;background:var(--bg-subtle);border-radius:var(--r-sm);display:inline-flex}.task-node__skill[data-v-cbc68ede]{color:var(--text-3);font-size:.6rem;padding:1px 5px}.task-node__edit-btn[data-v-cbc68ede]{align-items:center;background:transparent;border:none;border-radius:var(--r-sm);color:var(--text-3);cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;position:absolute;right:var(--s-2);top:var(--s-2);transition:opacity .15s,background .1s,color .1s;width:24px}.task-node:hover .task-node__edit-btn[data-v-cbc68ede]{opacity:1}.task-node__edit-btn[data-v-cbc68ede]:hover{background:var(--bg-subtle);color:var(--text)}.task-node__edit-btn i[data-v-cbc68ede]{font-size:.75rem}[data-v-cbc68ede] .vue-flow{height:100%;width:100%}[data-v-cbc68ede] .vue-flow__handle{background:var(--surface,#fff);border:2px solid var(--text-3,#9ca3af);border-radius:50%;height:14px;transition:border-color .15s,box-shadow .15s,background .15s;width:14px}[data-v-cbc68ede] .vue-flow__handle:hover{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 20%,transparent)}[data-v-cbc68ede] .vue-flow__handle.task-node__handle--target{background:color-mix(in srgb,var(--info,#3b82f6) 10%,var(--surface,#fff));border-color:var(--info,#3b82f6)}[data-v-cbc68ede] .vue-flow__handle.task-node__handle--target:hover{background:color-mix(in srgb,var(--info,#3b82f6) 20%,var(--surface,#fff));box-shadow:0 0 0 5px color-mix(in srgb,var(--info,#3b82f6) 25%,transparent)}[data-v-cbc68ede] .vue-flow__handle.task-node__handle--source{background:color-mix(in srgb,var(--success,#22c55e) 10%,var(--surface,#fff));border-color:var(--success,#22c55e)}[data-v-cbc68ede] .vue-flow__handle.task-node__handle--source:hover{background:color-mix(in srgb,var(--success,#22c55e) 20%,var(--surface,#fff));box-shadow:0 0 0 5px color-mix(in srgb,var(--success,#22c55e) 25%,transparent)}[data-v-cbc68ede] .vue-flow__node.selected .task-node{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent)}[data-v-cbc68ede] .vue-flow__background{opacity:.4}[data-v-cbc68ede] .vue-flow__edge-interaction{stroke-width:20px}.task-dependency-graph-dialog__content[data-v-3f9fcdbd]{display:flex;flex:1;flex-direction:column;min-height:0}
