: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))}@keyframes flowAnimation{to{stroke-dashoffset:-15}}.flowing-edge{animation:flowAnimation .4s linear infinite}@keyframes ripple-expand{0%{transform:translate(-50%,-50%) scale(0);opacity:.5}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}@keyframes wavy-morph{0%,to{border-radius:60% 40% 55% 45%/55% 45% 60% 40%}20%{border-radius:45% 55% 40% 60%/60% 40% 55% 45%}40%{border-radius:55% 45% 60% 40%/45% 55% 40% 60%}60%{border-radius:40% 60% 45% 55%/55% 45% 60% 40%}80%{border-radius:50% 50% 40% 60%/40% 60% 50% 50%}}.ripple-container-back{position:absolute;top:50%;left:0;width:1px;height:1px;pointer-events:none;z-index:0}.ripple-ring{position:absolute;top:0;left:0;width:40px;height:40px;border:1.5px solid currentColor;transform:translate(-50%,-50%) scale(0);opacity:0;animation:ripple-expand 2.2s ease-out infinite,wavy-morph 2.8s ease-in-out infinite}.ripple-ring:nth-child(1){animation-delay:0s,0s}.ripple-ring:nth-child(2){animation-delay:.7s,.4s}.ripple-ring:nth-child(3){animation-delay:1.4s,.8s}.tag-capsule{font:inherit;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}.empty-workspace-state{position:absolute;top:clamp(130px,28vh,260px);left:50%;z-index:5;width:min(440px,calc(100vw - 48px));padding:28px;transform:translate(-50%);border:1px solid var(--border-color);border-radius:20px;background:color-mix(in srgb,var(--bg-secondary) 88%,transparent);box-shadow:var(--shadow-lg);color:var(--text-primary);text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.empty-workspace-state h2{margin:4px 0 10px;font-size:clamp(22px,3vw,30px)}.empty-workspace-state>p:not(.empty-workspace-eyebrow){margin:0;color:var(--text-secondary);line-height:1.55}.empty-workspace-eyebrow{margin:0;color:var(--purple);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.empty-workspace-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.empty-workspace-actions button{padding:10px 16px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;font:inherit;font-weight:650}.empty-workspace-actions button:hover{border-color:var(--purple)}.empty-workspace-actions .empty-workspace-primary{border-color:var(--purple);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}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.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{font-family:inherit;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:none;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{font-size:13px;color:var(--text-secondary);border-left:2px solid transparent;display:flex;align-items:center;gap:4px;padding:0 8px}.saas-cloud-item:hover,.saas-cloud-item:focus-within{background-color:var(--bg-hover);border-left-color:var(--accent-primary)}.saas-cloud-open-btn{min-width:0;flex:1;display:flex;padding:8px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.saas-cloud-item-copy{min-width:0;display:flex;flex-direction:column}.saas-cloud-item-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saas-cloud-open-btn:focus-visible,.saas-cloud-delete-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.saas-cloud-open-btn:disabled,.saas-cloud-delete-btn:disabled{cursor:wait;opacity:.6}.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-close-btn{position:absolute;top:8px;right:8px;border:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:18px}.auth-error{margin:8px 0 0;color:var(--red);font-size:12px}.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{appearance:none;border:0;padding:0;background:transparent;font:inherit;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-list-loading{padding:16px 0;color:var(--text-tertiary);font-size:12px;text-align:center}.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)}.custom-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.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}._daily-board_8za9t_1{position:absolute;left:0;bottom:calc(100% + 58px);width:260px;max-height:min(640px,calc(100vh - 410px));box-sizing:border-box;display:flex;flex-direction:column;padding:16px;overflow:hidden;pointer-events:auto;color:var(--text-primary);background-color:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:20px;box-shadow:0 20px 50px #0000001a;z-index:120}._daily-board_8za9t_1._gantt-expanded_8za9t_23{max-height:min(640px,calc(50vh - 80px))}._daily-board_8za9t_1._collapsed_8za9t_27{width:260px;padding-bottom:16px}._header_8za9t_32{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:12px}._header_8za9t_32 h2{min-width:0;margin:0;overflow:hidden;color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.35;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}._collapse-button_8za9t_53,._date-navigation_8za9t_54 button,._manage-overdue_8za9t_55,._editor-heading_8za9t_56 button,._editor-actions_8za9t_57 button{font:inherit;cursor:pointer}._collapse-button_8za9t_53{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;padding:0;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:50%;transition:color .18s ease,background .18s ease,border-color .18s ease}._collapse-button_8za9t_53:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-color)}._date-navigation_8za9t_54{display:grid;grid-template-columns:28px minmax(0,1fr) auto 28px;align-items:center;gap:4px;margin-top:10px}._date-navigation_8za9t_54>button{height:28px;display:grid;place-items:center;padding:0 7px;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-secondary) 54%,transparent);border:1px solid var(--border-subtle);border-radius:8px;font-size:10px}._date-navigation_8za9t_54>button:hover,._date-navigation_8za9t_54>button._today-active_8za9t_103{color:var(--purple);background:color-mix(in srgb,var(--purple) 10%,transparent);border-color:color-mix(in srgb,var(--purple) 30%,var(--border-subtle))}._date-input_8za9t_109{min-width:0;height:28px;display:flex;align-items:center;gap:4px;padding:0 5px;color:var(--text-tertiary);background:color-mix(in srgb,var(--bg-secondary) 54%,transparent);border:1px solid var(--border-subtle);border-radius:8px}._date-input_8za9t_109 input{width:100%;min-width:0;padding:0;color:var(--text-secondary);background:transparent;border:0;outline:0;font:inherit;font-size:10px;font-variant-numeric:tabular-nums}._date-input_8za9t_109 input::-webkit-calendar-picker-indicator{display:none}._filters_8za9t_139{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:9px;padding:3px;background:color-mix(in srgb,var(--bg-hover) 72%,transparent);border:1px solid var(--border-subtle);border-radius:10px}._filters_8za9t_139 button{min-width:0;height:32px;display:flex;align-items:center;justify-content:center;gap:2px;padding:0 2px;color:var(--text-secondary);background:transparent;border:0;border-radius:7px;cursor:pointer;font-size:10px;transition:color .18s ease,background .18s ease}._filters_8za9t_139 button strong{font-size:10px;font-variant-numeric:tabular-nums}._filters_8za9t_139 button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._filters_8za9t_139 button._active_8za9t_178{color:var(--purple);background:color-mix(in srgb,var(--purple) 13%,transparent)}._secondary-filters_8za9t_183{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}._secondary-filters_8za9t_183 label{min-width:0;display:flex;flex-direction:column;gap:3px}._secondary-filters_8za9t_183 label>span{overflow:hidden;color:var(--text-tertiary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}._secondary-filters_8za9t_183 select{width:100%;min-width:0;height:28px;padding:0 20px 0 7px;overflow:hidden;color:var(--text-secondary);background-color:color-mix(in srgb,var(--bg-secondary) 54%,transparent);border:1px solid var(--border-subtle);border-radius:8px;font:inherit;font-size:10px;text-overflow:ellipsis}._collapse-button_8za9t_53:focus-visible,._date-navigation_8za9t_54 button:focus-visible,._date-input_8za9t_109:focus-within,._filters_8za9t_139 button:focus-visible,._secondary-filters_8za9t_183 select:focus-visible,._task_8za9t_225:focus-visible,._manage-overdue_8za9t_55:focus-visible,._task-editor_8za9t_227 input:focus-visible,._task-editor_8za9t_227 textarea:focus-visible,._task-editor_8za9t_227 button:focus-visible{outline:2px solid var(--purple);outline-offset:2px}._content_8za9t_234{min-height:0;margin:12px -5px -4px 0;padding-right:5px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}._group_8za9t_243+._group_8za9t_243{margin-top:15px}._group-heading_8za9t_247{display:flex;align-items:center;gap:7px;margin-bottom:7px;padding:0 2px}._group-heading_8za9t_247 h3{min-width:0;margin:0;overflow:hidden;color:var(--daily-resource-color);font-size:12px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}._group-heading_8za9t_247>span:not(._load-badge_8za9t_267){color:var(--text-tertiary);font-size:11px;font-variant-numeric:tabular-nums}._load-badge_8za9t_267{min-height:20px;display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:0 6px;color:var(--text-tertiary);background:color-mix(in srgb,var(--bg-hover) 65%,transparent);border-radius:999px;font-size:10px;font-variant-numeric:tabular-nums}._load-badge_8za9t_267._overloaded_8za9t_287{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}._tasks_8za9t_292{overflow:hidden;background:color-mix(in srgb,var(--bg-secondary) 42%,transparent);border:1px solid var(--border-subtle);border-radius:10px}._task-entry_8za9t_299,._task-row_8za9t_303{position:relative}._task-entry_8za9t_299+._task-entry_8za9t_299{border-top:1px solid var(--border-subtle)}._task_8za9t_225{width:100%;min-height:54px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:9px 11px;color:var(--text-primary);text-align:left;background:transparent;border:0;border-left:2px solid transparent;cursor:pointer;transition:background .16s ease,border-color .16s ease}._task_8za9t_225._has-actions_8za9t_328{padding-right:38px}._task_8za9t_225:hover{background:var(--bg-hover);border-left-color:var(--daily-resource-color)}._task_8za9t_225._selected_8za9t_337{background:color-mix(in srgb,var(--purple) 12%,transparent);border-left-color:var(--purple)}._task-topline_8za9t_342,._task-meta_8za9t_343{display:flex;align-items:center;justify-content:space-between;gap:10px}._task-topline_8za9t_342 strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}._task-topline_8za9t_342>span{flex:0 0 auto;font-size:11px;font-weight:650;white-space:nowrap}._status-overdue_8za9t_368{color:var(--red)}._status-today_8za9t_372{color:var(--purple)}._status-early_8za9t_376{color:var(--green)}._task-meta_8za9t_343{color:var(--text-tertiary);font-size:10px;font-variant-numeric:tabular-nums}._blocked-reason_8za9t_386,._overdue-reason_8za9t_387{display:flex;align-items:flex-start;gap:4px;overflow:hidden;font-size:10px;line-height:1.35}._blocked-reason_8za9t_386{color:color-mix(in srgb,var(--red) 80%,#f59e0b)}._blocked-reason_8za9t_386 svg{flex:0 0 auto;margin-top:1px}._blocked-reason_8za9t_386 span,._overdue-reason_8za9t_387{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}._overdue-reason_8za9t_387{color:var(--text-secondary);font-style:italic}._manage-overdue_8za9t_55{position:absolute;top:50%;right:8px;width:24px;height:24px;display:grid;place-items:center;padding:0;color:var(--text-tertiary);background:color-mix(in srgb,var(--bg-panel) 82%,transparent);border:1px solid var(--border-subtle);border-radius:7px;transform:translateY(-50%)}._manage-overdue_8za9t_55:hover,._manage-overdue_8za9t_55[aria-expanded=true]{color:var(--purple);background:color-mix(in srgb,var(--purple) 10%,var(--bg-panel));border-color:color-mix(in srgb,var(--purple) 35%,var(--border-subtle))}._task-editor_8za9t_227{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:9px 8px;padding:11px;background:color-mix(in srgb,var(--purple) 5%,var(--bg-panel));border-top:1px solid var(--border-subtle)}._editor-heading_8za9t_56,._reason-field_8za9t_450,._editor-actions_8za9t_57{grid-column:1 / -1}._editor-heading_8za9t_56{display:flex;align-items:center;justify-content:space-between;gap:8px}._editor-heading_8za9t_56 strong{font-size:11px}._editor-heading_8za9t_56 button{width:24px;height:24px;display:grid;place-items:center;padding:0;color:var(--text-tertiary);background:transparent;border:0;border-radius:6px}._task-editor_8za9t_227 label{min-width:0;display:flex;flex-direction:column;gap:4px;color:var(--text-tertiary);font-size:9px}._task-editor_8za9t_227 input,._task-editor_8za9t_227 textarea{width:100%;box-sizing:border-box;padding:6px 7px;color:var(--text-primary);background:var(--bg-panel);border:1px solid var(--border-color);border-radius:7px;outline:0;font:inherit;font-size:10px}._task-editor_8za9t_227 input{height:30px}._task-editor_8za9t_227 textarea{min-height:48px;resize:vertical}._editor-actions_8za9t_57{display:flex;justify-content:flex-end;gap:6px}._editor-actions_8za9t_57 button{height:28px;padding:0 10px;color:var(--text-secondary);background:transparent;border:1px solid var(--border-color);border-radius:7px;font-size:10px}._editor-actions_8za9t_57 ._save-button_8za9t_526{color:#fff;background:var(--purple);border-color:var(--purple)}._empty_8za9t_532{padding:28px 14px;color:var(--text-tertiary);font-size:12px;line-height:1.5;text-align:center}@media(max-width:900px),(max-height:760px){._daily-board_8za9t_1,._daily-board_8za9t_1._collapsed_8za9t_27{width:min(260px,calc(100vw - 60px));max-height:min(480px,max(210px,calc(100vh - 350px)))}}@media(max-width:480px){._header_8za9t_32{min-height:44px}._collapse-button_8za9t_53,._date-navigation_8za9t_54>button,._manage-overdue_8za9t_55,._editor-heading_8za9t_56 button,._editor-actions_8za9t_57 button{min-width:44px;height:44px}._date-input_8za9t_109,._secondary-filters_8za9t_183 select,._filters_8za9t_139 button{height:44px}._manage-overdue_8za9t_55{right:6px}._task_8za9t_225._has-actions_8za9t_328{padding-right:54px}}@media(prefers-reduced-motion:reduce){._collapse-button_8za9t_53,._filters_8za9t_139 button,._task_8za9t_225{transition:none}}: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;--gantt-selection-color: #ffffff;--gantt-selection-glow: rgba(255, 255, 255, .9)}[data-theme=light]{--gantt-selection-color: var(--purple);--gantt-selection-glow: rgba(168, 85, 247, .8)}._expand-button-container_15ykd_27{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_15ykd_27{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:none}._expand-button_15ykd_27:hover{background:var(--glass-bg);color:var(--text-secondary);border-color:var(--glass-border);box-shadow:none}._expand-button_15ykd_27:active{transform:scale(.9)}._sidebar-container_15ykd_71{position:relative;align-self:flex-end;pointer-events:auto}._overview-header_15ykd_78{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px;margin-bottom:12px}._overview-date-row_15ykd_84{display:flex;justify-content:space-between;align-items:center;gap:8px}._overview-label_15ykd_91{font-size:12px;color:#888;white-space:nowrap}._date-input-wrapper_15ykd_97{width:115px;flex-shrink:0}._overview-stats_15ykd_102{margin-top:12px}._zoom-control_15ykd_107{border-top:1px solid rgba(255,255,255,.08);padding-top:12px;margin-top:12px}._zoom-header_15ykd_113{display:flex;justify-content:space-between;margin-bottom:4px}._zoom-label_15ykd_119{font-size:12px;color:#888}._zoom-value_15ykd_124{font-size:12px;color:var(--text-primary)}._zoom-slider_15ykd_129{width:100%}._svg-text-month_15ykd_134{fill:var(--text-primary);font-size:12px;font-weight:900}._svg-text-day_15ykd_140{fill:#888;font-size:10px;font-weight:700}._svg-text-label_15ykd_146{font-size:10px;font-weight:700}._svg-text-month-year_15ykd_151{font-size:12px;font-weight:900}._gantt-bar_15ykd_157{rx:4;cursor:grab;transition:filter .2s}._gantt-bar_15ykd_157:hover{filter:brightness(1.2)}._gantt-task-group_15ykd_167:focus{outline:none}._gantt-task-group_15ykd_167:focus-visible .gantt-bar-rect{stroke:var(--gantt-selection-color);stroke-width:3px}._date-input-wrapper_15ykd_97{padding:2px 4px}._today-line_15ykd_182{pointer-events:none}._today-label-bg_15ykd_186{fill:#ef4444}._today-label-text_15ykd_190{fill:#fff;font-size:10px;font-weight:700;text-anchor:middle}._drag-overlay_15ykd_198{cursor:grabbing;pointer-events:all}._invalid-date-msg_15ykd_204{padding:20px;color:#666}._swimlane-group_15ykd_210{transition:opacity .3s}._swimlane-rect_15ykd_214{fill-opacity:.05}._gantt-split-wrapper_15ykd_222{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden}._gantt-header-scroller_15ykd_234{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_15ykd_234::-webkit-scrollbar{display:none}._gantt-header-inner_15ykd_251{display:flex;width:max-content}._gantt-header-corner_15ykd_257{width:100px;flex-shrink:0;background-color:var(--panel-bg);position:sticky;left:0;z-index:2}._gantt-header-content_15ykd_267{flex-shrink:0}._gantt-body-split_15ykd_272{display:flex;flex:1;overflow:hidden}._gantt-sidebar-scroller_15ykd_279{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_15ykd_279::-webkit-scrollbar{display:none}._gantt-sidebar-scroller_15ykd_279{scrollbar-width:none;-ms-overflow-style:none}._gantt-h-scrollbar-wrapper_15ykd_299{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_15ykd_299._collapsed_15ykd_311{opacity:0;pointer-events:none}._gantt-h-scrollbar-wrapper_15ykd_299::-webkit-scrollbar{height:6px}._gantt-h-scrollbar-wrapper_15ykd_299::-webkit-scrollbar-track{background:transparent}._gantt-h-scrollbar-wrapper_15ykd_299::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}._gantt-content-scroller_15ykd_327{flex:1;overflow:auto;background-color:var(--panel-bg);overscroll-behavior:none}._gantt-content-scroller_15ykd_327::-webkit-scrollbar{width:6px}._gantt-content-scroller_15ykd_327::-webkit-scrollbar:horizontal{display:none}._gantt-content-scroller_15ykd_327::-webkit-scrollbar-track{background:transparent}._gantt-content-scroller_15ykd_327::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}._safety-box_15ykd_351{pointer-events:none}._todo-empty-state_1uzir_6{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}._todo-empty-description_1uzir_16{font-size:14px;color:var(--text-tertiary);margin-bottom:16px}._todo-enable-btn_1uzir_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_1uzir_22:hover{background:#a855f74d}._todo-container_1uzir_38{flex:1;display:flex;flex-direction:column;overflow:hidden}._todo-input-row_1uzir_46{display:flex;gap:8px;margin-bottom:12px}._todo-input_1uzir_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_1uzir_46:focus{border-color:#a855f780}._todo-add-btn_1uzir_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_1uzir_67._active_1uzir_78{background:#a855f74d;color:var(--text-primary);cursor:pointer}._todo-add-btn_1uzir_67._active_1uzir_78:hover{background:#a855f780}._todo-list_1uzir_89{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px}._todo-empty-msg_1uzir_97{text-align:center;color:var(--text-tertiary);font-size:13px;padding:20px}._todo-item_1uzir_105{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-hover);border-radius:6px;transition:background .2s}._todo-item_1uzir_105:hover{background:var(--bg-tertiary)}._todo-checkbox_1uzir_120{padding:0;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_1uzir_120._checked_1uzir_135{border-color:var(--green);background:transparent}._todo-checkbox-inner_1uzir_140{width:8px;height:8px;border-radius:50%;background:var(--green)}._todo-text_1uzir_148{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:13px;outline:none}._todo-text_1uzir_148._completed_1uzir_157{color:var(--text-tertiary);text-decoration:line-through}._todo-delete-btn_1uzir_163{padding:4px 8px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;font-size:12px;opacity:.6;transition:opacity .2s}._todo-delete-btn_1uzir_163:hover{opacity:1;color:var(--red)}._todo-progress_1uzir_180{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_1uzir_191{color:light-dark(#d97706,#eab308)}._todo-progress-value_1uzir_191._completed_1uzir_157{color:var(--green)}._todo-tabs_1uzir_200{display:flex;gap:4px;margin-top:12px;margin-bottom:8px;padding:4px;background:var(--bg-hover);border-radius:8px}._todo-tab_1uzir_200{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_1uzir_200._active_1uzir_78{background:var(--bg-hover);color:var(--text-primary)}._todo-tab-badge_1uzir_231{font-size:10px;padding:2px 6px;border-radius:10px}._todo-tab-badge_1uzir_231._pending_1uzir_237{background:#eab3084d;color:#eab308}._todo-tab-badge_1uzir_231._completed_1uzir_157{background:#22c55e4d;color:#22c55e}._todo-content_1uzir_248{flex:1;display:flex;flex-direction:column;overflow:hidden}
