:root{--accent-primary: #a855f7;--accent-secondary: #7c3aed;--accent-hover: rgba(168, 85, 247, .1);--accent-active: rgba(168, 85, 247, .2);--purple: #a855f7;--green: #22c55e;--red: #ef4444;--status-waiting: light-dark(#9ca3af, #666666);--status-doing: light-dark(#f59e0b, #eab308);--status-done: light-dark(#10b981, #22c55e);--status-error: light-dark(#ef4444, #ef4444);--gantt-bar-waiting: light-dark(#9ca3af, #666666);--gantt-bar-doing: light-dark(#f59e0b, #eab308);--gantt-bar-done: light-dark(#10b981, #22c55e)}:root{color-scheme:light dark}@supports (color: light-dark(black,white)){:root{--bg-primary: light-dark(#f5f5f5, #000000);--bg-secondary: light-dark(#ffffff, #1a1a1a);--bg-tertiary: light-dark(#e8e8e8, #2a2a2a);--bg-elevated: light-dark(#ffffff, #252525);--bg-node: light-dark(#ffffff, #1e1e1e);--bg-input: light-dark(#f5f5f5, #2a2a2a);--bg-hover: light-dark(rgba(0,0,0,.05), rgba(255,255,255,.05));--bg-panel: light-dark(rgba(255,255,255,.1), rgba(30,30,30,.1));--bg-modal: light-dark(rgba(255,255,255,.95), rgba(0,0,0,.1));--glass-bg: light-dark(rgba(255,255,255,.85), rgba(30,30,30,.45));--glass-border: light-dark(rgba(0,0,0,.1), rgba(255,255,255,.1));--glass-shadow: light-dark(0 8px 32px rgba(0,0,0,.1), 0 8px 32px rgba(0,0,0,.3));--overlay-bg: light-dark(rgba(255,255,255,.7), rgba(0,0,0,.7));--text-primary: light-dark(#1a1a1a, #ffffff);--text-secondary: light-dark(#666666, #888888);--text-tertiary: light-dark(#999999, #666666);--text-disabled: light-dark(#cccccc, #444444);--text-placeholder: light-dark(#999999, #666666);--text-muted: light-dark(rgba(0,0,0,.2), rgba(255,255,255,.2));--border-color: light-dark(#e0e0e0, #333333);--border-subtle: light-dark(#f0f0f0, #2a2a2a);--border-node: light-dark(#e0e0e0, rgba(255,255,255,.12));--border-focus: light-dark(#a855f7, #a855f7);--border: var(--border-color);--shadow-sm: light-dark(0 1px 2px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.3));--shadow-md: light-dark(0 4px 6px rgba(0,0,0,.05), 0 4px 6px rgba(0,0,0,.4));--shadow-lg: light-dark(0 10px 15px rgba(0,0,0,.1), 0 10px 15px rgba(0,0,0,.5));--shadow-xl: light-dark(0 16px 48px rgba(0,0,0,.12), 0 16px 48px rgba(0,0,0,.6));--shadow-node: light-dark(0 2px 8px rgba(0,0,0,.1), 0 0 10px rgba(0,0,0,.3));--gantt-bg: light-dark(#f5f5f5, transparent);--gantt-grid: light-dark(#e0e0e0, #333333);--gantt-color-weekend: light-dark(rgba(0,0,0,.1), rgba(255,255,255,.1));--gantt-today: light-dark(#ef4444, #ef4444);--gantt-text: light-dark(#666666, #888888);--gantt-track-bg: light-dark(#d0d0d0, #2a2a2a);--gantt-sticky-bg: light-dark(rgba(255,255,255,.5), rgba(20,20,20,.75));--scrollbar-thumb: light-dark(#cccccc, #444444);--scrollbar-track: light-dark(#f0f0f0, transparent)}}@supports not (color: light-dark(black,white)){:root{--bg-primary: #000000;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--bg-elevated: #252525;--bg-node: #1e1e1e;--bg-input: #2a2a2a;--bg-hover: rgba(255,255,255,.05);--bg-panel: rgba(30,30,30,.1);--bg-modal: rgba(0,0,0,.1);--glass-bg: rgba(30,30,30,.45);--glass-border: rgba(255,255,255,.1);--glass-shadow: 0 8px 32px rgba(0,0,0,.3);--overlay-bg: rgba(0,0,0,.7);--text-primary: #ffffff;--text-secondary: #888888;--text-tertiary: #666666;--text-disabled: #444444;--text-placeholder: #666666;--text-muted: rgba(255,255,255,.2);--border-color: #333333;--border-subtle: #2a2a2a;--border-node: rgba(255,255,255,.12);--border-focus: #a855f7;--border: var(--border-color);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px rgba(0,0,0,.4);--shadow-lg: 0 10px 15px rgba(0,0,0,.5);--shadow-xl: 0 16px 48px rgba(0,0,0,.6);--shadow-node: 0 0 10px rgba(0,0,0,.3);--gantt-bg: transparent;--gantt-grid: #333333;--gantt-color-weekend: rgba(255,255,255,.1);--gantt-today: #ef4444;--gantt-text: #888888;--gantt-track-bg: #2a2a2a;--scrollbar-thumb: #444444;--scrollbar-track: transparent}@media(prefers-color-scheme:light){:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #e8e8e8;--bg-elevated: #ffffff;--bg-node: #ffffff;--bg-input: #f5f5f5;--bg-hover: rgba(0,0,0,.05);--bg-panel: rgba(255,255,255,.1);--bg-modal: rgba(255,255,255,.95);--glass-bg: rgba(255,255,255,.85);--glass-border: rgba(0,0,0,.1);--glass-shadow: 0 8px 32px rgba(0,0,0,.1);--overlay-bg: rgba(255,255,255,.7);--text-primary: #1a1a1a;--text-secondary: #666666;--text-tertiary: #999999;--text-disabled: #cccccc;--text-placeholder: #999999;--text-muted: rgba(0,0,0,.2);--border-color: #e0e0e0;--border-subtle: #f0f0f0;--border-node: #e0e0e0;--border-focus: #a855f7;--border: var(--border-color);--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--shadow-xl: 0 16px 48px rgba(0,0,0,.12);--shadow-node: 0 2px 8px rgba(0,0,0,.1);--gantt-bg: #f5f5f5;--gantt-grid: #e0e0e0;--gantt-color-weekend: rgba(0,0,0,.3);--gantt-today: #ef4444;--gantt-text: #666666;--gantt-track-bg: #d0d0d0;--scrollbar-thumb: #cccccc;--scrollbar-track: #f0f0f0}}}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}[data-theme=dark]{--bg-primary: #000000;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--bg-elevated: #252525;--bg-node: #1e1e1e;--bg-input: #2a2a2a;--bg-hover: rgba(255,255,255,.05);--bg-panel: rgba(30,30,30,.1);--bg-modal: rgba(0,0,0,.1);--glass-bg: rgba(30,30,30,.45);--glass-border: rgba(255,255,255,.1);--glass-shadow: 0 8px 32px rgba(0,0,0,.3);--overlay-bg: rgba(0,0,0,.7);--text-primary: #ffffff;--text-secondary: #888888;--text-tertiary: #666666;--text-disabled: #444444;--text-placeholder: #666666;--text-muted: rgba(255,255,255,.2);--border-color: #333333;--border-subtle: #2a2a2a;--border-node: rgba(255,255,255,.12);--border: var(--border-color);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px rgba(0,0,0,.4);--shadow-lg: 0 10px 15px rgba(0,0,0,.5);--shadow-xl: 0 16px 48px rgba(0,0,0,.6);--shadow-node: 0 0 10px rgba(0,0,0,.3);--gantt-bg: transparent;--gantt-grid: #333333;--gantt-color-weekend: rgba(255,255,255,.1);--gantt-text: #888888;--gantt-track-bg: #2a2a2a;--gantt-sticky-bg: rgba(20,20,20,.75);--scrollbar-thumb: #444444;--scrollbar-track: transparent}[data-theme=light]{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #e8e8e8;--bg-elevated: #ffffff;--bg-node: #ffffff;--bg-input: #f5f5f5;--bg-hover: rgba(0,0,0,.05);--bg-panel: rgba(255,255,255,.1);--bg-modal: rgba(255,255,255,.95);--glass-bg: rgba(255,255,255,.85);--glass-border: rgba(0,0,0,.1);--glass-shadow: 0 8px 32px rgba(0,0,0,.1);--overlay-bg: rgba(255,255,255,.7);--text-primary: #1a1a1a;--text-secondary: #666666;--text-tertiary: #999999;--text-disabled: #cccccc;--text-placeholder: #999999;--text-muted: rgba(0,0,0,.2);--border-color: #e0e0e0;--border-subtle: #f0f0f0;--border-node: #e0e0e0;--border: var(--border-color);--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--shadow-xl: 0 16px 48px rgba(0,0,0,.12);--shadow-node: 0 2px 8px rgba(0,0,0,.1);--gantt-bg: #f5f5f5;--gantt-grid: #e0e0e0;--gantt-color-weekend: rgba(0,0,0,.1);--gantt-text: #666666;--gantt-track-bg: #d0d0d0;--gantt-sticky-bg: rgba(255,255,255,.5);--scrollbar-thumb: #cccccc;--scrollbar-track: #f0f0f0}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,fill .3s ease,stroke .3s ease}.gantt-bar-rect,.react-flow__edge-path,.react-flow__connection-path,.react-flow__node{transition:none}*,*:before,*:after{box-sizing:border-box}input,button,textarea,select{-webkit-appearance:none;appearance:none;font-family:inherit;border:none;background:transparent;outline:none}*:focus{outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}:root{font-family:Inter,system-ui,sans-serif;--purple: #a855f7;--green: #22c55e;--yellow: #eab308;--red: #ef4444;--blue: #3b82f6}body{margin:0;width:100vw;height:100vh;background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden}#root{width:100%;height:100%}.my-handle,.my-handle-nested{width:12px!important;height:12px!important;border:1px solid var(--border-subtle)!important;border-radius:50%;z-index:50!important;background:#fff;transition:border-color .2s}.handle-purple{background:var(--purple)!important}.handle-yellow{background:var(--yellow)!important}.handle-pos-left{left:-6px!important;top:50%!important;transform:translateY(-50%)!important}.handle-pos-right{right:-6px!important;left:auto!important;top:50%!important;transform:translateY(-50%)!important}.handle-pos-bottom{bottom:-8px!important;top:auto!important;left:50%!important;transform:translate(-50%)!important}.my-handle-nested{position:absolute;left:-14px!important;top:50%;transform:translateY(-50%)!important}.my-handle:hover,.my-handle-nested:hover{cursor:crosshair;border-color:#fff!important;box-shadow:0 0 15px 2px #fff9!important;transition:all .2s ease}.custom-node-shell{transition:border-color .2s,box-shadow .2s}.react-flow__node.selected .custom-node-shell{border-color:var(--text-primary)!important;box-shadow:0 0 15px #a855f74d}.custom-textarea:focus,.custom-input:focus{border-color:var(--purple)!important;box-shadow:0 0 0 1px var(--purple)}.resource-node-shell{width:100%;height:100%;border-radius:16px;background:var(--bg-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-primary);border:2px solid transparent;box-sizing:border-box;position:relative;transition:all .3s ease}.resource-progress-bar{position:absolute;bottom:0;left:0;height:100%;width:100%;background:#3b82f626;border-radius:14px;pointer-events:none;transition:height .5s ease;z-index:0}.resource-glow{border-color:var(--blue);box-shadow:0 0 10px #3b82f64d}.react-flow__edge-path{transition:stroke-width .2s}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--purple)!important;stroke-width:3px;filter:drop-shadow(0 0 4px rgba(168,85,247,.6))}.tag-capsule{font-size:10px;color:var(--text-primary);padding:2px 6px;border-radius:4px;font-weight:600;display:inline-flex;align-items:center;margin-right:4px;margin-bottom:4px;cursor:pointer;z-index:20;position:relative;transition:all .2s;border:1px solid transparent}.tag-capsule.selected{border-color:var(--text-primary);box-shadow:0 0 4px #fffc;transform:scale(1.05)}.react-flow__edge.selected .react-flow__edge-path{stroke:#a855f7cc!important;stroke-width:3!important}.gantt-container{position:absolute;bottom:30px;left:30px;right:30px;display:flex;align-items:stretch;gap:16px;z-index:50;pointer-events:none}.gantt-overview{pointer-events:auto;width:260px;background-color:var(--bg-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:24px;box-shadow:0 20px 50px #0000001a;display:flex;flex-direction:column;gap:16px;flex-shrink:0;position:relative}.gantt-chart-wrapper{pointer-events:auto;flex:1;background-color:var(--bg-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:20px;box-shadow:0 20px 50px #0000001a;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:all .6s cubic-bezier(.34,1.56,.64,1);transform-origin:bottom left;opacity:1;transform:translate(0) scale(1)}:root{--bg-panel: rgba(255,255,255,.1)}[data-theme=dark]{--bg-panel: rgba(30,30,30,.1)}[data-theme=light]{--bg-panel: rgba(255,255,255,.1)}.gantt-chart-wrapper.collapsed{flex:0;width:0;opacity:0;transform:translate(-5px) scale(1);pointer-events:none;border:none;margin-left:-16px}.grid-line{stroke:var(--border-color);stroke-dasharray:4 4;stroke-width:1px;opacity:.5;pointer-events:none}.stat-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.stat-val{font-size:16px;font-weight:700;color:var(--text-primary);font-family:Menlo,monospace}.date-input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:6px 10px;border-radius:8px;font-size:12px;width:100%;box-sizing:border-box;margin-top:6px}.progress-track{width:100%;height:6px;background:var(--gantt-track-bg, var(--border-subtle));border-radius:3px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:var(--green);transition:width .6s ease;box-shadow:0 0 8px #22c55e66}.gantt-bar-rect{rx:4;cursor:grab;transition:filter .2s}.gantt-bar-rect:hover{filter:brightness(1.2)}.gantt-text{font-size:11px;fill:#fff;font-weight:600;pointer-events:none}.gantt-slack{stroke:var(--red);stroke-width:1.5;stroke-dasharray:4;fill:#ef44441a;rx:4}.swimlane-header-text{font-size:12px;font-weight:700;fill:var(--text-tertiary);text-anchor:start;alignment-baseline:hanging}.swimlane-line{stroke:var(--border-color);stroke-width:1;stroke-dasharray:4}.context-menu{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:8px;padding:4px;position:absolute;z-index:2000;min-width:140px}.context-menu button{display:block;width:100%;padding:10px 12px;text-align:left;background:transparent;border:none;color:var(--text-primary);cursor:pointer;border-radius:4px;font-size:13px;font-weight:500;transition:all .2s}.context-menu button:hover{background:var(--purple);color:#fff}input[type=range]{-webkit-appearance:none;background:transparent}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:14px;width:14px;border-radius:50%;background:var(--purple);cursor:pointer;margin-top:-5px}input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;background:var(--gantt-track-bg, var(--border-subtle));border-radius:2px}.spotlight-dim{opacity:.1!important;filter:grayscale(100%);pointer-events:none}.spotlight-active{opacity:1!important;z-index:1000;transform:scale(1.05)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.react-flow__node{backface-visibility:hidden;transform-origin:center center}.custom-node-shell,.resource-node-shell{transition:border-color .2s ease,box-shadow .2s ease}.my-handle,.my-handle-nested{transform-origin:center center;backface-visibility:hidden;z-index:50}.editor-container{width:100%;min-height:80px;background:var(--bg-input);border-radius:8px;border:1px solid var(--border-color);padding:12px;cursor:text;transition:border-color .2s;color:var(--text-primary)}.editor-container:focus-within{border-color:var(--purple);box-shadow:0 0 0 1px var(--purple)}.ProseMirror p{margin:6px 0;font-size:13px;line-height:1.6}.ProseMirror h1{font-size:1.4em;margin-top:.6em;margin-bottom:.3em;font-weight:700;color:var(--text-primary)}.ProseMirror h2{font-size:1.2em;margin-top:.5em;margin-bottom:.3em;font-weight:700;color:var(--text-primary)}.ProseMirror ul,.ProseMirror ol{padding-left:1.2em;margin:4px 0}.bubble-menu,.floating-menu{display:flex;background-color:var(--bg-panel);padding:4px;border-radius:6px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg);gap:4px}.bubble-menu button,.floating-menu button{border:none;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;padding:6px 10px;border-radius:4px;cursor:pointer}.bubble-menu button:hover,.floating-menu button:hover,.bubble-menu button.is-active,.floating-menu button.is-active{color:var(--text-primary);background-color:var(--purple)}.ProseMirror{outline:none;min-height:60px;word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap}.ProseMirror p{margin:.5em 0}.ProseMirror h1{font-size:1.4em;font-weight:700;color:var(--text-primary);margin:.5em 0}.ProseMirror h2{font-size:1.2em;font-weight:700;color:var(--text-primary);margin:.5em 0}.ProseMirror ul{padding-left:1.2em}.ProseMirror li{color:var(--text-secondary)}.ProseMirror p.is-editor-empty:first-child:before{color:var(--text-tertiary);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.bubble-menu,.floating-menu{display:flex;background-color:var(--bg-secondary);padding:4px;border-radius:6px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg);pointer-events:auto!important;z-index:999999!important}.bubble-menu button,.floating-menu button{pointer-events:auto!important;background:transparent;border:none;color:var(--text-secondary);font-weight:700;padding:6px 10px;cursor:pointer;border-radius:4px;margin:0 2px}.bubble-menu button:hover,.floating-menu button:hover{background:var(--purple);color:#fff}.react-flow.react-flow--connecting *{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important}.project-title-watermark{position:absolute;top:12px;left:50%;transform:translate(-50%);color:var(--text-muted);font-weight:900;font-size:14px;pointer-events:none;z-index:0;letter-spacing:1px}.glass-menu-bar{display:flex;gap:8px;align-items:center;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:6px 8px;border-radius:14px;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px #ffffff0d}.glass-menu-btn{padding:6px 14px;background:transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:6px}.glass-menu-btn:hover,.glass-menu-btn.active{background:var(--bg-hover);color:var(--text-primary)}.glass-menu-btn.primary{background:#a855f733;color:light-dark(#a855f7,#e9d5ff);border:1px solid rgba(168,85,247,.3)}.glass-menu-btn.primary:hover{background:#a855f766;color:#fff}.glass-menu-btn.warning{background:#eab30826;color:light-dark(#eab308,#fde047);border:1px solid rgba(234,179,8,.3)}.glass-menu-btn.warning:hover{background:#eab3084d;color:#fff}.glass-menu-btn.danger{background:#ffffff0d;color:var(--text-secondary)}.glass-menu-btn.danger:hover{background:#ef44444d;color:#fff;border-color:#ef444480}.glass-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:12px;display:flex;flex-direction:column;min-width:160px;z-index:1000;box-shadow:var(--shadow-xl),inset 0 1px #ffffff14;padding:6px;overflow:hidden}.glass-dropdown-scroll{max-height:240px;overflow-y:auto;display:flex;flex-direction:column}.glass-dropdown-item{width:100%;padding:8px 12px;background:transparent;color:var(--text-secondary);border:none;border-radius:6px;cursor:pointer;font-size:13px;text-align:left;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center}.glass-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.glass-dropdown-item.active-text{color:var(--green);font-weight:700}.glass-divider{height:1px;background:var(--border-subtle);margin:4px 0}.glass-v-divider{width:1px;height:16px;background:var(--border-subtle);margin:0 4px}.glass-icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-primary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .2s ease}.glass-icon-btn:hover{background:var(--bg-hover);transform:scale(1.05)}.floating-tools-container{display:flex;gap:8px;align-items:center;position:relative;z-index:20}.resource-tag-trigger{position:relative}.resource-tag-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:100;min-width:180px;max-width:260px;max-height:320px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg)}.resource-tag-btn{padding:6px 12px;border-radius:20px;border:none;cursor:pointer;font-weight:600;color:#fff;font-size:12px;transition:all .2s ease;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}.resource-tag-btn:hover{transform:scale(1.03)}.resource-tag-btn.active{transform:scale(1.05)}.resource-tag-btn.dimmed{opacity:.3}.glass-node-shell{background:var(--bg-node);border-radius:20px;min-width:360px;min-height:100%;padding:17px;display:flex;flex-direction:column;box-sizing:border-box;position:relative;transition:background-color .2s,border-color .2s}.glass-title-input{background:transparent;border:none;color:var(--text-primary);font-size:18px;font-weight:800;width:100%;outline:none;margin-bottom:16px;letter-spacing:.5px}.glass-title-input::placeholder{color:var(--text-muted)}.glass-inner-panel{background:transparent;box-shadow:none;border-radius:0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);border-left:none;border-right:none;padding:16px 0;margin:4px 0 12px;display:flex;flex-direction:column;gap:12px}.glass-status-pill{padding:6px 14px;border-radius:100px;font-size:10px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .1s ease,background-color .1s ease;border:1px solid transparent}.glass-status-pill:hover{color:var(--text-primary)!important}.glass-small-input{background:var(--bg-input);border:1px solid var(--bg-input);border-radius:999px;color:var(--text-primary);padding:4px 10px;font-size:10px;outline:none;transition:background-color .2s,color .2s,border-color .2s}.glass-small-input:focus{border-color:#a855f780;background:var(--bg-input)}.glass-deadline-btn{background:#ffffff0d;border:1px dashed var(--border-color);color:var(--text-secondary);border-radius:999px;padding:4px 8px;font-size:10px;cursor:pointer;transition:all .2s}.glass-deadline-btn:hover{background:#ef44441a;border-color:#ef444480;color:var(--red)}.stepper-pill-container{display:flex;align-items:center;background:var(--bg-input);border-radius:999px;padding:4px 6px;border:1px solid var(--bg-input)}.stepper-pill-container:focus-within{border-color:#a855f780}.stepper-input{background:transparent;border:none;color:var(--text-primary);font-size:10px;width:36px;text-align:center;outline:none;font-weight:600;padding:0;-moz-appearance:textfield}.stepper-input::-webkit-outer-spin-button,.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-btn{background:transparent;border:none;color:var(--text-primary);font-size:12px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.2,.8,.2,1);border-radius:50%}.stepper-btn:hover{background:var(--bg-hover);color:var(--purple)}.stepper-btn:active{transform:none}.glass-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.glass-modal-content{background:var(--bg-modal);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--border-color);border-radius:16px;padding:24px;width:320px;box-shadow:var(--shadow-xl),inset 0 1px 1px #ffffff0d;display:flex;flex-direction:column;gap:12px;animation:scaleUp .2s cubic-bezier(.16,1,.3,1)}.glass-modal-content h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.glass-modal-content p{margin:0 0 12px;color:var(--text-secondary);font-size:14px;line-height:1.5}.glass-modal-actions{display:flex;justify-content:flex-end;gap:12px}.glass-modal-btn-cancel{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.glass-modal-btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.glass-modal-btn-danger{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:var(--red);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}.glass-modal-btn-danger:hover{background:#ef44444d;box-shadow:0 0 12px #ef444466}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.toggle-btn{width:60px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--border-color);color:var(--text-primary);box-shadow:0 0 8px #a855f74d;font-size:14px;cursor:pointer;position:absolute;top:-37px;left:200px;transition:all .2s cubic-bezier(.2,.8,.2,1);padding:0}.toggle-btn:hover{background:var(--glass-bg);color:var(--text-secondary);border-color:var(--glass-border);box-shadow:none}.toggle-btn:active{transform:scale(.9)}.saas-toolbar{position:absolute;top:15px;right:20px;z-index:100;display:flex;gap:12px;align-items:center}.saas-btn{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent;font-family:inherit}.saas-btn-primary{background:#a855f733;color:#e9d5ff;border:1px solid rgba(168,85,247,.3);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);color:#fff}.saas-btn-primary:hover{background:#ffffff14;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.saas-btn-secondary{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.saas-btn-secondary:hover{background-color:var(--bg-hover);color:var(--text-primary)}.saas-status-badge{background-color:#22c55e1a;color:var(--green);border:1px solid rgba(34,197,94,.2);padding:6px 12px;border-radius:6px;font-size:12px;display:flex;align-items:center;gap:6px}.saas-auth-panel{position:absolute;top:50px;right:0;background:var(--glass-bg);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);padding:24px;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg);width:280px;display:flex;flex-direction:column;gap:16px}.saas-auth-panel h3{margin:0;font-size:16px;color:var(--text-primary)}.saas-auth-input{width:100%;padding:10px;background-color:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;box-sizing:border-box;font-family:inherit}.saas-auth-input:focus{border-color:var(--accent-primary);outline:none}.saas-auth-toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;text-align:center}.saas-auth-toggle:hover{color:var(--text-primary)}.saas-sync-indicator{display:flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:12px;background-color:var(--bg-tertiary);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--border-color);color:var(--text-secondary);transition:all .3s ease}@keyframes pulseGlow{0%{opacity:.6}50%{opacity:1;color:var(--accent-primary)}to{opacity:.6}}.saas-sync-saving{animation:pulseGlow 1.5s infinite;border-color:#a855f766}.saas-sync-success{color:var(--green);border-color:#22c55e33}.saas-sync-error{color:var(--red);border-color:#ef444466}.saas-sync-dot{width:6px;height:6px;border-radius:50%;background-color:currentColor}.saas-account-container{position:relative}.saas-account-btn{background-color:#22c55e1a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--green);border:1px solid rgba(34,197,94,.2);padding:6px 12px;border-radius:6px;font-size:12px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s}.saas-account-btn:hover{background-color:#22c55e33}.saas-account-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background-color:var(--glass-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-color);border-radius:8px;width:240px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;z-index:1000}.saas-dropdown-header{padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:12px;color:var(--text-secondary)}.saas-cloud-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;padding:8px 0}.saas-cloud-item{padding:8px 16px;font-size:13px;color:var(--text-secondary);cursor:pointer;border-left:2px solid transparent;display:flex;justify-content:space-between;align-items:center}.saas-cloud-item:hover{background-color:var(--bg-hover);border-left-color:var(--accent-primary)}.saas-cloud-item .time{font-size:10px;color:var(--text-tertiary)}.saas-dropdown-footer{padding:8px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.saas-dropdown-footer button{width:100%;padding:8px;background:transparent;color:var(--red);border:none;border-radius:4px;cursor:pointer;font-size:12px}.saas-dropdown-footer button:hover{background:#ef44441a}.auth-dropdown-wrapper{position:relative}.auth-dropdown-panel{position:absolute;top:100%;right:0;margin-top:8px;background-color:var(--glass-bg);border:1px solid var(--border-color);border-radius:8px;width:280px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding:16px;z-index:1000}.auth-header{margin-top:0;margin-bottom:16px;color:var(--text-primary);font-size:16px;font-weight:700}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-input{padding:10px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);outline:none;width:100%;box-sizing:border-box;font-size:13px}.auth-input:focus{border-color:var(--accent-primary)}.auth-btn{padding:10px;border-radius:6px;border:none;background:var(--accent-primary);color:#fff;font-weight:700;cursor:pointer;margin-top:8px;transition:background .2s}.auth-btn:hover:not(:disabled){background:var(--accent-secondary)}.auth-btn.success-btn{background:var(--green)}.auth-btn.success-btn:hover:not(:disabled){background:#16a34a}.auth-btn:disabled{cursor:not-allowed;opacity:.7}.auth-toggle-text{margin-top:16px;font-size:12px;color:var(--text-secondary);text-align:center}.auth-toggle-link{color:var(--accent-primary);cursor:pointer;text-decoration:underline}.auth-success-box{text-align:center;padding:20px 0}.auth-success-icon{font-size:40px;margin-bottom:12px}.paywall-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--overlay-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99999;animation:fadeIn .3s ease}.paywall-card{background-color:var(--bg-modal);border:1px solid var(--border-color);width:420px;padding:40px;border-radius:20px;text-align:center;box-shadow:var(--shadow-xl)}.paywall-icon{font-size:48px;margin-bottom:20px}.paywall-card h2{color:var(--text-primary);font-size:24px;margin-bottom:16px}.paywall-card p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:32px}.paywall-upgrade-btn{width:100%;padding:14px;background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-bottom:12px}.paywall-upgrade-btn:hover{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-color:transparent;color:#fff}.paywall-close-btn{background:transparent;color:var(--text-tertiary);border:none;font-size:13px;cursor:pointer}.paywall-close-btn:hover{color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.account-plan-info{display:flex;align-items:center;gap:12px;margin-left:4px}.plan-tag{font-size:13px;font-weight:600;padding:4px 10px;border-radius:6px;letter-spacing:.5px}.plan-tag.free{color:var(--text-tertiary);background:#a1a1aa1a;border:1px solid rgba(161,161,170,.2)}.plan-tag.lifetime{color:#eab308;background:#eab3081a;border:1px solid rgba(234,179,8,.3);box-shadow:0 0 8px #eab3081a}.plan-tag.active-sub{color:var(--green);background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.manage-account-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.manage-account-btn:hover{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}.project-title-center{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:10;width:280px;text-align:center;outline:none;font-family:inherit;background:transparent;border:1px solid transparent;border-radius:8px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:6px 16px;color:var(--text-secondary);font-size:16px;font-weight:600;cursor:text;transition:all .2s ease}.project-title-center:hover,.project-title-center:focus{color:var(--text-primary);background:var(--bg-hover)}.saas-btn-share{padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;background:#a855f726;color:light-dark(#a855f7,#e9d5ff);border:1px solid rgba(168,85,247,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;gap:6px}.saas-btn-share:hover{background:#a855f74d;color:#fff;box-shadow:0 0 12px #a855f733}.share-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.share-modal-content{background:var(--bg-modal);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:20px;width:480px;max-height:80vh;overflow:auto;border:1px solid var(--glass-border);box-shadow:var(--shadow-xl),inset 0 1px 1px #ffffff0d;animation:scaleUp .2s cubic-bezier(.16,1,.3,1)}.share-modal-header{padding:20px 24px;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.share-modal-header h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.share-modal-body{padding:24px}.share-modal-footer{padding:16px 24px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary)}.share-modal-footer p{margin:0;color:var(--text-tertiary);font-size:12px}.share-modal-close{background:transparent;border:none;color:var(--text-tertiary);font-size:24px;cursor:pointer;transition:all .2s}.share-modal-close:hover{color:var(--text-primary);transform:scale(1.1)}.share-password-input,.share-link-row input{width:100%;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);outline:none;transition:all .2s;box-sizing:border-box}.share-password-input{padding:12px;font-size:18px;text-align:center;letter-spacing:8px;margin-bottom:16px}.share-link-row input{padding:10px;font-size:13px}.share-password-input:focus,.share-link-row input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 1px #a855f74d}.share-create-btn{width:100%;padding:12px;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%)}.share-create-btn:hover:not(:disabled){box-shadow:0 0 16px #a855f766}.share-create-btn:disabled{background:var(--border-subtle);color:var(--text-tertiary);cursor:not-allowed}.share-link-row{display:flex;gap:10px;align-items:center}.share-link-row input{flex:1;min-width:0}.share-link-row button{padding:10px 16px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:13px;transition:all .2s}.share-link-row button:hover{background:var(--bg-tertiary)}.share-link-row button.copied{background:#22c55e33;color:var(--green);border-color:#22c55e4d}.share-link-created{margin-top:8px}.share-link-label{color:var(--green);font-size:13px;margin-bottom:10px;font-weight:500}.share-list-item{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;padding:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.share-list-token{color:var(--text-primary);font-size:13px;font-family:monospace}.share-list-meta{color:var(--text-tertiary);font-size:11px;margin-top:4px}.share-close-btn{padding:6px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--red);font-size:12px;cursor:pointer;transition:all .2s}.share-close-btn:hover{background:#ef444433;box-shadow:0 0 8px #ef444466}.share-view-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:100;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(168,85,247,.4);border-radius:999px;padding:8px 24px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-lg)}.share-setting-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:16px}.share-setting-label{display:flex;flex-direction:column;gap:4px}.setting-title{color:var(--text-primary);font-size:14px;font-weight:500}.setting-desc{color:var(--text-tertiary);font-size:11px}.custom-toggle{width:44px;height:24px;background:var(--border-subtle);border-radius:100px;position:relative;cursor:pointer;transition:background .3s ease;box-shadow:inset 0 2px 4px #0000004d}.custom-toggle.active{background:var(--accent-primary)}.toggle-knob{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 2px 5px #0003}.custom-toggle.active .toggle-knob{transform:translate(20px)}.password-input-wrapper{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .3s ease,margin-bottom .3s ease}.password-input-wrapper.expanded{max-height:80px;opacity:1;margin-bottom:16px}.share-password-input{margin-bottom:0!important}.readonly-task-node{width:350px;background:var(--bg-node);border:1px solid var(--border-node);border-radius:12px;padding:16px;color:var(--text-primary);font-size:14px;pointer-events:none;-webkit-user-select:none;user-select:none}.readonly-resource-node{width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-primary);font-weight:700;font-size:14px;pointer-events:none;-webkit-user-select:none;user-select:none}.share-view-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:100;background:var(--glass-bg);border:1px solid rgba(168,85,247,.3);border-radius:24px;padding:10px 20px;display:flex;align-items:center;gap:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.share-view-banner a{color:var(--accent-primary);text-decoration:none;font-size:14px;margin-left:8px;padding:4px 12px;border:1px solid rgba(168,85,247,.5);border-radius:12px;transition:all .2s}.share-view-banner a:hover{background:#a855f71a}@keyframes share-spin{to{transform:rotate(360deg)}}.share-loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:share-spin 1s linear infinite}.share-watermark{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;pointer-events:none;-webkit-user-select:none;user-select:none}.share-watermark span,.share-watermark a{display:inline-block;padding:8px 16px;background:var(--glass-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--glass-border);border-radius:20px;color:var(--text-tertiary);font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.share-watermark a{pointer-events:auto;cursor:pointer;text-decoration:none;transition:color .2s ease}.share-watermark a:hover{color:var(--text-primary)}.pro-badge-mini{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.5px}.share-setting-row.disabled{opacity:.5}.share-setting-row.disabled .custom-toggle{cursor:not-allowed}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast-item{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:12px;padding:14px 20px;color:var(--text-primary);font-size:14px;min-width:280px;max-width:400px;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:space-between;pointer-events:auto;animation:toastSlideIn .3s ease-out}.toast-item.success{border-left:3px solid var(--green)}.toast-item.error{border-left:3px solid var(--red)}.toast-message{flex:1;line-height:1.4}.toast-close{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;font-size:18px;margin-left:12px;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color .2s}.toast-close:hover{color:var(--text-primary)}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastFadeOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-item.exiting{animation:toastFadeOut .3s ease-in forwards}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--gantt-color-done: #5ac983;--gantt-color-doing: #ffaf2d;--gantt-color-waiting: #7c7780;--gantt-color-red: #ef4444;--gantt-color-holiday-text: #ef4444;--gantt-color-work-text: #eab308;--gantt-color-panel-bg: rgba(20, 20, 20, .6);--gantt-color-white: #ffffff;--gantt-color-gray: #666666;--gantt-color-border: #333333}._expand-button-container_1v2v8_20{position:absolute;top:-37px;left:292px;right:16px;height:30px;display:flex;justify-content:center;align-items:flex-end;pointer-events:none;z-index:100}._expand-button_1v2v8_20{pointer-events:auto;width:60px;height:30px;border-radius:999px;background:var(--bg-hover);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 8px #a855f74d}._expand-button_1v2v8_20:hover{background:var(--glass-bg);color:var(--text-secondary);border-color:var(--glass-border);box-shadow:var(--glass-shadow)}._expand-button_1v2v8_20:active{transform:scale(.9)}._sidebar-container_1v2v8_64{position:relative;align-self:flex-end;pointer-events:auto}._overview-header_1v2v8_71{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px;margin-bottom:12px}._overview-date-row_1v2v8_77{display:flex;justify-content:space-between;align-items:center;gap:8px}._overview-label_1v2v8_84{font-size:12px;color:#888;white-space:nowrap}._date-input-wrapper_1v2v8_90{width:115px;flex-shrink:0}._overview-stats_1v2v8_95{margin-top:12px}._zoom-control_1v2v8_100{border-top:1px solid rgba(255,255,255,.08);padding-top:12px;margin-top:12px}._zoom-header_1v2v8_106{display:flex;justify-content:space-between;margin-bottom:4px}._zoom-label_1v2v8_112{font-size:12px;color:#888}._zoom-value_1v2v8_117{font-size:12px;color:var(--text-primary)}._zoom-slider_1v2v8_122{width:100%}._svg-text-month_1v2v8_127{fill:var(--text-primary);font-size:12px;font-weight:900}._svg-text-day_1v2v8_133{fill:#888;font-size:10px;font-weight:700}._svg-text-label_1v2v8_139{font-size:10px;font-weight:700}._svg-text-month-year_1v2v8_144{font-size:12px;font-weight:900}._gantt-bar_1v2v8_150{rx:4;cursor:grab;transition:filter .2s}._gantt-bar_1v2v8_150:hover{filter:brightness(1.2)}._date-input-wrapper_1v2v8_90{padding:2px 4px}._today-line_1v2v8_166{pointer-events:none}._today-label-bg_1v2v8_170{fill:#ef4444}._today-label-text_1v2v8_174{fill:#fff;font-size:10px;font-weight:700;text-anchor:middle}._drag-overlay_1v2v8_182{cursor:grabbing;pointer-events:all}._invalid-date-msg_1v2v8_188{padding:20px;color:#666}._swimlane-group_1v2v8_194{transition:opacity .3s}._swimlane-rect_1v2v8_198{fill-opacity:.05}._gantt-split-wrapper_1v2v8_206{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden}._gantt-header-scroller_1v2v8_218{height:57px;overflow-x:auto;overflow-y:hidden;flex-shrink:0;background-color:var(--panel-bg);border-bottom:1px solid var(--border-color);overscroll-behavior-x:none}._gantt-header-scroller_1v2v8_218::-webkit-scrollbar{display:none}._gantt-header-inner_1v2v8_235{display:flex;width:max-content}._gantt-header-corner_1v2v8_241{width:100px;flex-shrink:0;background-color:var(--panel-bg);position:sticky;left:0;z-index:2}._gantt-header-content_1v2v8_251{flex-shrink:0}._gantt-body-split_1v2v8_256{display:flex;flex:1;overflow:hidden}._gantt-sidebar-scroller_1v2v8_263{width:100px;flex-shrink:0;overflow-y:auto;overflow-x:hidden;background-color:var(--panel-bg);border-right:1px solid var(--border-color);overscroll-behavior-y:none}._gantt-sidebar-scroller_1v2v8_263::-webkit-scrollbar{display:none}._gantt-sidebar-scroller_1v2v8_263{scrollbar-width:none;-ms-overflow-style:none}._gantt-h-scrollbar-wrapper_1v2v8_283{position:absolute;bottom:-10px;left:276px;right:30px;height:10px;overflow-x:auto;overflow-y:hidden;background-color:transparent;transition:opacity .2s ease;pointer-events:auto}._gantt-h-scrollbar-wrapper_1v2v8_283._collapsed_1v2v8_295{opacity:0;pointer-events:none}._gantt-h-scrollbar-wrapper_1v2v8_283::-webkit-scrollbar{height:6px}._gantt-h-scrollbar-wrapper_1v2v8_283::-webkit-scrollbar-track{background:transparent}._gantt-h-scrollbar-wrapper_1v2v8_283::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}._gantt-content-scroller_1v2v8_311{flex:1;overflow:auto;background-color:var(--panel-bg);overscroll-behavior:none}._gantt-content-scroller_1v2v8_311::-webkit-scrollbar{width:6px}._gantt-content-scroller_1v2v8_311::-webkit-scrollbar:horizontal{display:none}._gantt-content-scroller_1v2v8_311::-webkit-scrollbar-track{background:transparent}._gantt-content-scroller_1v2v8_311::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}._safety-box_1v2v8_335{pointer-events:none}._todo-empty-state_1rms8_6{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}._todo-empty-description_1rms8_16{font-size:14px;color:var(--text-tertiary);margin-bottom:16px}._todo-enable-btn_1rms8_22{padding:8px 16px;background:#a855f733;border:1px solid rgba(168,85,247,.5);border-radius:8px;color:var(--accent-primary);cursor:pointer;font-size:13px;transition:all .2s}._todo-enable-btn_1rms8_22:hover{background:#a855f74d}._todo-container_1rms8_38{flex:1;display:flex;flex-direction:column;overflow:hidden}._todo-input-row_1rms8_46{display:flex;gap:8px;margin-bottom:12px}._todo-input_1rms8_46{flex:1;padding:8px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:13px;outline:none}._todo-input_1rms8_46:focus{border-color:#a855f780}._todo-add-btn_1rms8_67{padding:8px 12px;background:var(--bg-hover);border:none;border-radius:6px;color:var(--text-tertiary);cursor:not-allowed;font-size:13px;transition:all .2s}._todo-add-btn_1rms8_67._active_1rms8_78{background:#a855f74d;color:var(--text-primary);cursor:pointer}._todo-add-btn_1rms8_67._active_1rms8_78:hover{background:#a855f780}._todo-list_1rms8_89{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px}._todo-empty-msg_1rms8_97{text-align:center;color:var(--text-tertiary);font-size:13px;padding:20px}._todo-item_1rms8_105{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-hover);border-radius:6px;transition:background .2s}._todo-item_1rms8_105:hover{background:var(--bg-tertiary)}._todo-checkbox_1rms8_120{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-color);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}._todo-checkbox_1rms8_120._checked_1rms8_134{border-color:var(--green);background:transparent}._todo-checkbox-inner_1rms8_139{width:8px;height:8px;border-radius:50%;background:var(--green)}._todo-text_1rms8_147{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:13px;outline:none}._todo-text_1rms8_147._completed_1rms8_156{color:var(--text-tertiary);text-decoration:line-through}._todo-delete-btn_1rms8_162{padding:4px 8px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;font-size:12px;opacity:.6;transition:opacity .2s}._todo-delete-btn_1rms8_162:hover{opacity:1;color:var(--red)}._todo-progress_1rms8_179{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle);font-size:12px;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center}._todo-progress-value_1rms8_190{color:light-dark(#d97706,#eab308)}._todo-progress-value_1rms8_190._completed_1rms8_156{color:var(--green)}._todo-tabs_1rms8_199{display:flex;gap:4px;margin-top:12px;margin-bottom:8px;padding:4px;background:var(--bg-hover);border-radius:8px}._todo-tab_1rms8_199{flex:1;padding:6px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:4px}._todo-tab_1rms8_199._active_1rms8_78{background:var(--bg-hover);color:var(--text-primary)}._todo-tab-badge_1rms8_230{font-size:10px;padding:2px 6px;border-radius:10px}._todo-tab-badge_1rms8_230._pending_1rms8_236{background:#eab3084d;color:#eab308}._todo-tab-badge_1rms8_230._completed_1rms8_156{background:#22c55e4d;color:#22c55e}._todo-content_1rms8_247{flex:1;display:flex;flex-direction:column;overflow:hidden}
