.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-timeline{min-width:900px;--task-label-width:200px}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-days{margin-left:var(--task-label-width);z-index:10;background:#242423;isolation:isolate;border-radius:0}.app.app[data-theme=light][data-view=gantt] .focused-schedule .gantt-days{background:#e6e4de}.app.app[data-theme][data-view=gantt] .focused-schedule .dependency-timeline{margin-left:var(--task-label-width);isolation:isolate;z-index:0}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-dependencies{z-index:3;overflow:visible}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-label{position:absolute;left:calc(-1 * var(--task-label-width));width:var(--task-label-width);height:40px;display:flex;align-items:center;gap:8px;padding:0 16px 0 4px;background:none;border:0;border-radius:0;box-shadow:none;text-align:left;color:inherit;cursor:pointer}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-label small{color:#b6ad85;flex-shrink:0}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-label[aria-pressed=true]{color:#f1d064}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-bar{position:absolute;height:24px;min-width:0;padding:0 10px;display:flex;align-items:center;justify-content:flex-end;border:0;border-radius:7px;box-shadow:none;background:linear-gradient(110deg,color-mix(in srgb,var(--milestone-color) 75%,transparent),color-mix(in srgb,var(--milestone-color) 40%,transparent));color:#fff;z-index:2;cursor:pointer;transition:opacity .18s ease,filter .18s ease}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-bar:hover{filter:brightness(1.2)}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-bar.is-focused{outline:2px solid var(--milestone-color);outline-offset:3px}.app.app[data-theme][data-view=gantt] .focused-schedule .is-dimmed{opacity:.25}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-status{font-size:12px;line-height:1;text-shadow:0 1px 2px #000}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-tools{flex-wrap:wrap;gap:8px}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-tools button[aria-pressed=true]{color:#f1d064}.app.app[data-theme][data-view=gantt] .focused-schedule .dependency-path.done{stroke:#8e8044;stroke-width:1}.app.app[data-theme][data-view=gantt] .focused-schedule .dependency-energy{stroke-dasharray:4 8;animation:schedule-energy .8s linear infinite}@keyframes schedule-energy{to{stroke-dashoffset:-12}}@media(prefers-reduced-motion:reduce){.app.app[data-theme][data-view=gantt] .focused-schedule .dependency-energy{animation:none}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-bar{transition:none}}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-days:before{content:"任务";position:absolute;right:100%;top:0;bottom:0;width:var(--task-label-width);box-sizing:border-box;padding:12px;background:#242423;color:#aaa89f;font-size:12px}.app.app[data-theme=light][data-view=gantt] .focused-schedule .gantt-days:before{background:#e6e4de;color:#68665e}.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-label:focus-visible,.app.app[data-theme][data-view=gantt] .focused-schedule .schedule-bar:focus-visible{outline:2px solid #f1d064;outline-offset:2px}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-days>div{padding:10px 2px;gap:4px;min-height:40px;box-sizing:border-box}.gantt-date-line{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-date-line em{font-size:10px;line-height:1}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-date-add{position:absolute;right:0;top:8px;opacity:0;min-height:20px;padding:0 3px}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-days>div:hover .gantt-date-add,.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-date-add:focus-visible{opacity:1}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-task-item{padding:10px 4px;gap:4px;display:grid;grid-template-columns:1fr auto}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-task-item>div{grid-column:2;grid-row:1}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-task-item>b{grid-column:1;grid-row:1}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-task-item>small{grid-column:1 / -1}.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-task-item[aria-pressed=true]{color:#e8c64a;background:#e8c64a0f}.gantt-jump-notice{margin:0 14px 10px;font-size:12px;color:var(--g-muted)}.gantt-search{position:relative;display:flex;align-items:center;flex-shrink:0;max-width:100%}.gantt-search svg{position:absolute;left:12px;width:16px;height:16px;color:var(--g-muted);pointer-events:none}.app.app[data-theme][data-view=gantt] .gantt-search input{padding-left:36px;box-sizing:border-box}.app.app[data-theme][data-view=gantt] .gantt-project-list button.active :is(small,span){color:#242219;opacity:1}.app.app.app[data-theme][data-view=gantt] .focused-schedule .gantt-days .today,.app.app.app[data-theme][data-view=gantt] .gantt-day-background .today{background:transparent}.app.app.app[data-theme][data-view=gantt] .gantt-project-list button{position:relative;padding-right:42px}.app.app.app[data-theme][data-view=gantt] .project-pending-count{position:absolute;right:10px;top:12px;display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:transparent;color:#242219;font-size:11px;font-weight:700;font-style:normal;box-shadow:none;isolation:isolate}.app.app.app[data-theme][data-view=gantt] .project-pending-count:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--selection-gradient);filter:blur(1.5px);pointer-events:none}.gantt-milestone-guide{position:absolute;top:0;bottom:0;width:1px;background:var(--milestone-color);opacity:.65;pointer-events:none;z-index:4}.schedule-resize{position:absolute;top:0;bottom:0;width:12px;cursor:ew-resize;touch-action:none;z-index:6}.schedule-resize.resize-start{left:0}.schedule-resize.resize-end{right:0}.schedule-resize:after{content:"";position:absolute;top:25%;bottom:25%;left:5px;width:2px;border-radius:2px;background:#fff9;opacity:0}.schedule-bar:hover .schedule-resize:after,.schedule-bar.is-focused .schedule-resize:after{opacity:1}.app.app.app[data-theme] .schedule-bar{overflow:visible}.schedule-resize-dates{position:absolute;bottom:calc(100% + 4px);left:0;white-space:nowrap;background:#252525;color:#fff;padding:4px 7px;border-radius:5px;pointer-events:none;font-size:11px;z-index:8}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray: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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.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:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{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:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.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.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@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;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.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:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.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-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.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:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));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:var(--xy-resize-background-color, var(--xy-resize-background-color-default));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%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;color:#2f2f2f;background:#f7f8fa;font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;background:#fff;border:1px solid #e1e1e1;border-radius:6px;color:#414141;padding:8px 12px;white-space:nowrap}button:hover{background:#f4f4f4;border-color:#c1c1c1}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6b6b6b;outline-offset:2px}input,textarea,select{width:100%;min-width:0;border:1px solid #e1e1e1;border-radius:6px;padding:9px 10px;background:#fff;color:#2f2f2f}input::placeholder,textarea::placeholder{color:#787878}textarea{resize:vertical;min-height:70px;line-height:1.6}.app{height:100dvh;display:flex;flex-direction:column}header{min-height:65px;display:flex;justify-content:space-between;align-items:center;padding:0 28px;border-bottom:1px solid #e6e6e6;background:#fff;gap:16px}.brand,.actions{display:flex;align-items:center;gap:10px}.brand b{font-size:17px}.logo{font-size:25px;background:#5a5a5a;color:#fff;width:32px;height:32px;display:grid;place-items:center;border-radius:8px}.divider{color:#a9a9a9;margin:0 5px}.demo{font-size:11px;background:#f3f3f3;border-radius:4px;padding:4px 7px;color:#6a6a6a}.saved{font-size:12px;color:#52715d;margin-right:12px}.heading{display:flex;align-items:center;justify-content:space-between;padding:25px 30px 23px;background:#fff}h1{font-size:25px;letter-spacing:-.6px;margin:0 0 8px}.heading p{margin:0;color:#727272;font-size:13px}.primary{background:#5a5a5a;color:#fff;border-color:#5a5a5a;padding:11px 17px}.primary:hover{background:#4b4b4b;color:#fff}nav{padding:0 28px 13px;display:flex;justify-content:space-between;gap:12px;background:#fff;border-bottom:1px solid #e1e1e1}.tabs{display:flex;gap:4px;align-items:center}.tabs button{border-color:transparent;background:transparent;font-size:13px;padding:8px 10px}.tabs .active{background:#f2f2f2;color:#4d4d4d}.tabs b{margin-left:5px;font-weight:500}.tabs i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#427353}.tabs i.blocked{background:#b87427}.tabs i.doing{background:#696969}.tabs i.done{background:#949494}nav input{width:175px;font-size:12px}main{display:flex;flex:1;min-height:0}.canvas{position:relative;flex:1;min-width:0;background:#fff}.canvas-note{position:absolute;top:19px;left:22px;z-index:4;font-size:12px;color:#707070;background:#fff;padding:5px}.canvas-help{position:absolute;bottom:21px;left:66px;font-size:11px;color:#707070;pointer-events:none;background:#fff;padding:5px}.task{width:240px;border:1px solid #d3d3d3;border-radius:9px;background:#fff;padding:16px}.task.selected{outline:2px solid #6f6f6f;outline-offset:3px}.task-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#6f6f6f;margin-bottom:14px}.badge{display:inline-block;font-size:11px;border-radius:4px;padding:4px 7px;white-space:nowrap}.badge.ready{background:#edf6ef;color:#3f6f4c}.badge.doing{background:#f2f2f2;color:#585858}.badge.blocked{background:#fff2df;color:#906024}.badge.done{background:#f0f0f0;color:#6a6a6a}.task strong{font-size:15px;display:block;overflow-wrap:anywhere}.task p{font-size:11px;color:#727272;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px;margin:9px 0 14px}.task footer{display:flex;justify-content:space-between;border-top:1px solid #f0f0f0;padding-top:11px;font-size:10px;color:#6f6f6f}.task.blocked{border-color:#d8bc92}.react-flow__handle{width:10px;height:10px;background:#959595;border:2px solid white}.react-flow__minimap{width:130px!important;height:85px!important}.react-flow__attribution{font-size:9px}aside{width:322px;flex-shrink:0;padding:23px 22px;overflow-y:auto;border-left:1px solid #e1e1e1;background:#fff}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}h2{font-size:15px;margin:0}label{display:block;font-size:12px;color:#606060;margin:0 0 15px}label input,label select,label textarea{margin-top:7px}.form-row{display:flex;gap:12px}.form-row label{width:50%}.hint{font-size:11px;color:#767676;line-height:1.7;margin:0 0 16px}.section-title{border-top:1px solid #ebebeb;padding-top:17px;margin-top:20px;margin-bottom:10px;font-size:12px;font-weight:600}.section-title span{float:right;color:#767676}.relation{display:flex;justify-content:space-between;gap:4px}.relation button{border:0;padding:8px 3px;font-size:12px;text-align:left;white-space:normal}.relation button:first-child{flex:1}.relation span{color:#64815a}.dependency{display:flex;gap:7px;margin-top:9px}.dependency select{font-size:12px}.downstream{margin-bottom:19px}.downstream button{font-size:12px;border:0;text-align:left;display:block;width:100%;white-space:normal;padding-left:0}.danger{color:#ab4242;font-size:12px;border-color:#e9d7d7}.statusbar{height:32px;border-top:1px solid #e1e1e1;display:flex;align-items:center;justify-content:space-between;padding:0 23px;font-size:10px;color:#707070;background:#fff}.toast{position:fixed;bottom:48px;left:50%;transform:translate(-50%);background:#2f2f2f;color:#fff;padding:12px 20px;border-radius:8px;z-index:10;font-size:13px}.empty p{font-size:13px;line-height:1.7;color:#707070}@media(max-width:1050px){header{padding:0 16px}.saved,.demo{display:none}nav{flex-wrap:wrap;padding:0 16px 12px}.heading{padding:20px 18px}aside{width:285px;padding:18px}h1{font-size:22px}.canvas-help{display:none}}@media(max-width:700px){header{flex-wrap:wrap;padding:12px;gap:8px}.brand{font-size:12px}.brand b{font-size:15px}.heading p{max-width:230px;line-height:1.6}h1{font-size:19px}.tabs{flex-wrap:wrap}.tabs button{padding:6px;font-size:12px}main{flex-direction:column;overflow:auto}.canvas{min-height:430px;flex-shrink:0}aside{width:100%;overflow:visible;border-left:0;border-top:1px solid #e1e1e1}.statusbar span:last-child{display:none}.react-flow__minimap{display:none}}header{min-height:52px;padding:0 20px}.heading{padding:10px 20px}.heading h1{font-size:18px;margin:0}.heading p{display:none}.heading .primary{padding:8px 14px}nav{padding:0 20px 9px}.statusbar{height:25px;flex-shrink:0}aside[hidden]{display:none}.actions{flex-wrap:wrap}html[data-theme=dark]{color-scheme:dark;background:#191919}.app[data-theme=dark]{color:#e6e6e6;background:#191919}.app[data-theme=dark] :is(header,.heading,nav,aside,.statusbar){background:#212121;border-color:#3d3d3d}.app[data-theme=dark] :is(.canvas,.canvas-note,.canvas-help){background:#191919;color:#b6b6b6}.app[data-theme=dark] :is(button,input,textarea,select){background:#2d2d2d;color:#e6e6e6;border-color:#4d4d4d}.app[data-theme=dark] button:hover{background:#3d3d3d}.app[data-theme=dark] :is(input,textarea)::placeholder{color:#b0b0b0}.app[data-theme=dark] :is(.task){background:#2a2a2a;border-color:#616161}.app[data-theme=dark] .task.blocked{border-color:#927440}.app[data-theme=dark] :is(.task p,.task footer,.task-top,label,.hint,.section-title span,.heading p,.statusbar,.empty p){color:#bdbdbd}.app[data-theme=dark] :is(.task footer,.section-title){border-color:#474747}.app[data-theme=dark] .demo{background:#343434;color:#c8c8c8}.app[data-theme=dark] .saved{color:#a3cdb1}.app[data-theme=dark] .tabs button{background:transparent;border-color:transparent;color:#d1d1d1}.app[data-theme=dark] .tabs .active{background:#434343;color:#ebebeb}.app[data-theme=dark] .primary{background:#6a6a6a;border-color:#6a6a6a;color:#fff}.app[data-theme=dark] .badge.ready{background:#284635;color:#b8e3c3}.app[data-theme=dark] .badge.doing{background:#414141;color:#d4d4d4}.app[data-theme=dark] .badge.blocked{background:#513f25;color:#f0d095}.app[data-theme=dark] .badge.done{background:#454545;color:#dadada}.app[data-theme=dark] .danger{color:#ffb7b7;border-color:#785357}.app[data-theme=dark] .relation span{color:#b7d5b6}.app[data-theme=dark] .react-flow__handle{background:#b4b4b4;border-color:#2a2a2a}.app[data-theme=dark] .react-flow__attribution{background:#212121;color:#bdbdbd}.app[data-theme=dark] .react-flow__attribution a{color:#bdbdbd}.app[data-theme=dark] .react-flow__controls button{fill:#e6e6e6}.app[data-theme=dark] .toast{background:#e5e5e5;color:#212121}@media(max-width:1100px){nav{flex-wrap:wrap}}@media(max-width:700px){header{padding:10px 12px}.heading{padding:10px 12px}nav{padding:0 12px 10px}.brand .divider,.brand .divider+span{display:none}}.app .task{background-color:#fff;background-image:radial-gradient(ellipse at 0% 0%,var(--state-tint) 0%,transparent 66%)}.app .task.blocked{--state-tint:rgba(240,88,131,.25);border-color:#dfa5b5}.app .task.done{--state-tint:rgba(58,181,117,.24);border-color:#99c7ad}.app .task.doing{--state-tint:rgba(235,190,51,.27);border-color:#d8c28b}.app .task.ready{--state-tint:rgba(145,145,145,.18);border-color:#c2c2c2}.app[data-theme] .badge.blocked{background:linear-gradient(135deg,#f058833b,#f058830f);color:#a92c51}.app[data-theme] .badge.done{background:linear-gradient(135deg,#3ab57540,#3ab5750f);color:#256a43}.app[data-theme] .badge.doing{background:linear-gradient(135deg,#ebbe334d,#ebbe3312);color:#76590c}.app[data-theme] .badge.ready{background:linear-gradient(135deg,#9191913b,#9191910f);color:#5e5e5e}.app .tabs i.blocked{background:#df527f}.app .tabs i.done{background:#3dab72}.app .tabs i.doing{background:#d4a923}.app .tabs i.ready{background:#959595}.app[data-theme=dark] .task{background-color:#2a2a2a}.app[data-theme=dark] .task.blocked{--state-tint:rgba(240,88,131,.3);border-color:#8a5069}.app[data-theme=dark] .task.done{--state-tint:rgba(58,181,117,.28);border-color:#426f5b}.app[data-theme=dark] .task.doing{--state-tint:rgba(235,190,51,.27);border-color:#807047}.app[data-theme=dark] .task.ready{--state-tint:rgba(169,169,169,.17);border-color:#5e5e5e}.app[data-theme=dark] .badge.blocked{color:#ffafc7}.app[data-theme=dark] .badge.done{color:#a2e5ba}.app[data-theme=dark] .badge.doing{color:#f4d878}.app[data-theme=dark] .badge.ready{color:#cacaca}.app[data-theme] .task{background-image:radial-gradient(ellipse at 0% 0%,var(--state-tint) 0%,transparent 66%)}.app[data-theme] .task{border-color:#c2c2c2;background-image:radial-gradient(ellipse at left top,var(--state-tint) 0%,transparent 72%)}.app[data-theme=dark] .task{border-color:#5e5e5e}.app[data-theme] .task.blocked{--state-tint:rgba(240,88,131,.38)}.app[data-theme] .task.done{--state-tint:rgba(58,181,117,.36)}.app[data-theme] .task.doing{--state-tint:rgba(235,190,51,.38)}.app[data-theme] .task.ready{--state-tint:rgba(169,169,169,.22)}.app[data-theme] .task:is(.blocked,.waiting,.done,.doing,.ready){border-color:#c2c2c2}.app[data-theme=dark] .task:is(.blocked,.waiting,.done,.doing,.ready){border-color:#5e5e5e}:root{--font-0:10.24px;--font-1:12.8px;--font-2:16px;--font-3:20px;--font-4:25px;--space-1:4px;--space-2:16px;--space-3:64px;font-size:var(--font-2)}.app{font-size:var(--font-2);--card-shadow:rgba(38,38,38,.16)}.app[data-theme=dark]{--card-shadow:rgba(0,0,0,.4)}.app header{min-height:var(--space-3);padding:var(--space-1) var(--space-2);gap:var(--space-2)}.app .brand,.app .actions{gap:var(--space-1)}.app .brand b{font-size:var(--font-3)}.app .brand{font-size:var(--font-2)}.app .logo{font-size:var(--font-4)}.app .divider{margin:0 var(--space-1)}.app :is(button,input,textarea,select){font-size:var(--font-1);padding:var(--space-1) var(--space-2);min-height:36px;line-height:1.5}.app nav{padding:var(--space-1) var(--space-2);gap:var(--space-2);align-items:center}.app .tabs{gap:var(--space-1)}.app .tabs button{font-size:var(--font-1);padding:var(--space-1) var(--space-2)}.app .tabs b{margin-left:var(--space-1)}.app .tabs i{margin-right:var(--space-1)}.app .demo{font-size:var(--font-0);padding:var(--space-1)}.app .saved{font-size:var(--font-1);margin-right:var(--space-2)}.app aside{padding:var(--space-2);width:336px}.sidebar-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-1);padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid #e1e1e1}.app[data-theme=dark] .sidebar-actions{border-color:#3d3d3d}.app .sidebar-actions .primary{font-size:var(--font-2);padding:var(--space-1) var(--space-2)}.app .panel-title{margin-bottom:var(--space-2);gap:var(--space-1)}.app h2{font-size:var(--font-3)}.app label{font-size:var(--font-1);margin:0 0 var(--space-2)}.app label :is(input,select,textarea){margin-top:var(--space-1)}.app .form-row{gap:var(--space-2)}.app textarea{min-height:var(--space-3)}.app .hint{font-size:var(--font-1);line-height:1.5;margin:0 0 var(--space-2)}.app .section-title{font-size:var(--font-1);padding-top:var(--space-2);margin-top:var(--space-2);margin-bottom:var(--space-1)}.app .relation{gap:var(--space-1)}.app .relation button{font-size:var(--font-1);padding:var(--space-1)}.app .dependency{gap:var(--space-1);margin-top:var(--space-1)}.app .dependency select{font-size:var(--font-1)}.app .downstream{margin-bottom:var(--space-2)}.app .downstream button{font-size:var(--font-1);padding:var(--space-1)}.app .badge{font-size:var(--font-0);padding:var(--space-1)}.app[data-theme] .task:is(.blocked,.waiting,.done,.doing,.ready){border:0;box-shadow:0 4px 16px var(--card-shadow);padding:var(--space-2)}.app[data-theme] .task.selected{outline:2px solid #6b6b6b;outline-offset:0}.app[data-theme=dark] .task.selected{outline-color:#a5a5a5}.app .task strong{font-size:var(--font-2);line-height:1.5}.app .task-top{font-size:var(--font-0);margin-bottom:var(--space-2)}.app .task p{font-size:var(--font-1);line-height:1.5;min-height:38.4px;margin:var(--space-1) 0 var(--space-2)}.app .task footer{font-size:var(--font-0);padding-top:var(--space-2)}.app .canvas-note{font-size:var(--font-1);top:var(--space-2);left:var(--space-2);padding:var(--space-1)}.app .canvas-help{font-size:var(--font-0);bottom:var(--space-2);left:var(--space-3);padding:var(--space-1)}.app .statusbar{font-size:var(--font-0);padding:var(--space-1) var(--space-2);height:auto}.app .toast{font-size:var(--font-1);padding:var(--space-2)}.app .empty p{font-size:var(--font-1)}.app .react-flow__controls button{padding:var(--space-1);min-height:0}@media(max-width:700px){.app aside{width:100%}.app header{padding:var(--space-1) var(--space-2)}.app .brand b{font-size:var(--font-2)}.app nav{gap:var(--space-1)}.app .tabs button{padding:var(--space-1)}.app .actions{gap:var(--space-1)}}.app[data-theme] .task{border-radius:16px}.app[data-theme=dark]{--card-shadow:rgba(210,210,210,.18)}@supports (corner-shape: superellipse(2)){.app[data-theme] .task{border-radius:24px;corner-shape:superellipse(2)}}.app[data-theme] .task{border-radius:24px}@supports (corner-shape: superellipse(2)){.app[data-theme] .task{border-radius:40px;corner-shape:superellipse(2)}}.app[data-theme] header{background:#f0f0f0;border-bottom:1px solid #dadada;min-height:56px}.app[data-theme] header .actions>button{background:transparent;border-color:transparent;color:#5e5e5e}.app[data-theme] header .actions>button:hover{background:#e2e2e2;color:#2f2f2f}.app[data-theme] header .brand b{font-size:var(--font-2)}.app[data-theme] header .brand .divider+span{color:#6f6f6f;font-size:var(--font-1)}.app[data-theme] nav{background:#fff;border-bottom:1px solid #d3d3d3;min-height:52px}.app[data-theme] nav .tabs button{border-radius:0;background:transparent;border:0;border-bottom:2px solid transparent}.app[data-theme] nav .tabs .active{border-bottom-color:#6a6a6a;color:#4b4b4b;background:transparent}.app[data-theme] aside{background:#f5f5f5;border-left:1px solid #cfcfcf}.app[data-theme] aside :is(input,textarea,select){background:#fff;border-color:#d4d4d4}.app[data-theme] .sidebar-actions{justify-content:space-between;padding-bottom:var(--space-1);margin-bottom:var(--space-2);border:0}.app[data-theme] .sidebar-actions>span{font-size:var(--font-1);color:#747474}.app[data-theme] .sidebar-actions>button{border:0;background:transparent;min-height:0;padding:var(--space-1)}.app[data-theme] .panel-title{padding-bottom:var(--space-2);border-bottom:1px solid #dbdbdb}.app[data-theme=dark] header{background:#151515;border-color:#323232}.app[data-theme=dark] header .actions>button{color:#bababa}.app[data-theme=dark] header .actions>button:hover{background:#2d2d2d;color:#f3f3f3}.app[data-theme=dark] header .brand .divider+span{color:#a5a5a5}.app[data-theme=dark] nav{background:#232323;border-color:#464646}.app[data-theme=dark] nav .tabs .active{color:#e3e3e3;border-bottom-color:#adadad}.app[data-theme=dark] aside{background:#2d2d2d;border-left-color:#545454}.app[data-theme=dark] aside :is(input,textarea,select){background:#202020;border-color:#505050}.app[data-theme=dark] .sidebar-actions>span{color:#b7b7b7}.app[data-theme=dark] .panel-title{border-bottom-color:#4f4f4f}.app[data-theme=dark]>header{background-color:#151515}.app[data-theme=dark]>nav{background-color:#232323}.app[data-theme=dark]>main>aside{background-color:#333}.app[data-theme=light]>header{background-color:#f0f0f0}.app[data-theme=light]>nav{background-color:#fff}.app[data-theme=light]>main>aside{background-color:#f3f3f3}.app.app[data-theme=dark]>header{background:#141414;border-color:#303030}.app.app[data-theme=dark]>nav{background:#2a2a2a;border-color:#525252}.app.app[data-theme=light]>header{background:#ebebeb;border-color:#d2d2d2}.app.app[data-theme=light]>nav{background:#fff;border-color:#d3d3d3}.app>main{position:relative}.app #task-details{position:absolute;z-index:6;right:var(--space-2);top:var(--space-2);bottom:var(--space-2);width:336px;border-radius:28px;corner-shape:superellipse(2);border:1px solid rgba(255,255,255,.38);background:linear-gradient(135deg,#fff9,#f7f7f74d 45%,#e8e8e866);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);box-shadow:inset 0 1px #fffc,inset 1px 0 #ffffff73,0 12px 40px #2929292e;padding:var(--space-2)}.app[data-theme=dark] #task-details{background:linear-gradient(135deg,#84848461,#323232a3 42%,#4848487a);border-color:#e7e7e747;box-shadow:inset 0 1px #f8f8f866,inset 1px 0 #f1f1f129,0 12px 40px #00000052;color:#f4f4f4}.app #task-details :is(input,textarea,select){background:#ffffff8c;border-color:#74747440;border-radius:12px}.app[data-theme=dark] #task-details :is(input,textarea,select){background:#13131366;border-color:#d2d2d233;color:#f3f3f3}.app[data-theme=dark] #task-details :is(label,.hint,.sidebar-actions>span){color:#dbdbdb}.app #task-details .relation button,.app #task-details .downstream button{background:transparent}.app #task-details .panel-title,.app #task-details .section-title{border-color:#a3a3a347}.app #task-details select option{background:#f1f1f1;color:#2f2f2f}.app[data-theme=dark] #task-details select option{background:#313131;color:#f3f3f3}@media(max-width:700px){.app #task-details{position:relative;top:auto;right:auto;bottom:auto;width:calc(100% - 32px);margin:var(--space-2);flex-shrink:0;max-height:65dvh;overflow:auto}}@media(prefers-reduced-transparency:reduce){.app #task-details{background:#f2f2f2}.app[data-theme=dark] #task-details{background:#3a3a3a}}.app{position:relative}.app>main{position:absolute;inset:0;min-height:0}.app.app[data-theme]>header,.app.app[data-theme]>nav{position:absolute;left:var(--space-2);right:var(--space-2);z-index:8;background:transparent;border:0;min-height:0;padding:0;pointer-events:none}.app.app[data-theme]>header{top:var(--space-2);align-items:flex-start}.app.app[data-theme]>nav{top:80px;align-items:flex-start;gap:var(--space-2)}.app>header>.brand,.app>header>.actions,.app>nav>.tabs,.app>nav>.actions{pointer-events:auto;padding:var(--space-1);border-radius:16px;corner-shape:superellipse(2);background:linear-gradient(135deg,#ffffffd1,#ededed9e);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px #ffffffe6,0 4px 16px #38383824}.app[data-theme=dark]>header>.brand,.app[data-theme=dark]>header>.actions,.app[data-theme=dark]>nav>.tabs,.app[data-theme=dark]>nav>.actions{background:linear-gradient(135deg,#6e6e6e73,#222222a8);border-color:#e7e7e73b;box-shadow:inset 0 1px #f8f8f84d,0 4px 16px #0003}.app>header>.brand{padding:var(--space-1) var(--space-2);min-height:46px;gap:var(--space-1)}.app>header>.actions .saved{padding-left:var(--space-1)}.app.app[data-theme]>nav .tabs button{border:0;border-radius:12px}.app.app[data-theme]>nav .tabs button.active{background:#72727233}.app.app[data-theme]>nav>.actions>button:not(.primary){background:transparent;border-color:transparent}.app>nav>.actions>input{background:#fff6}.app[data-theme=dark]>nav>.actions>input{background:#1111114d}.app .canvas-note{top:144px;background:transparent;pointer-events:none}.app #task-details{top:144px;bottom:48px}.app>.statusbar{position:absolute;bottom:var(--space-1);left:var(--space-3);right:var(--space-2);z-index:5;background:transparent!important;border:0;pointer-events:none}.app .canvas-help{bottom:32px;background:transparent!important}.app .react-flow__controls{bottom:var(--space-2)}.app[data-theme] .task:is(.blocked,.waiting,.done,.doing,.ready){background-color:#fafafa8c;background-image:radial-gradient(ellipse at left top,var(--state-tint) 0%,transparent 72%),linear-gradient(135deg,#ffffff73,#ffffff0a);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);box-shadow:inset 0 1px #ffffffbf,0 4px 16px var(--card-shadow)}.app[data-theme=dark] .task:is(.blocked,.waiting,.done,.doing,.ready){background-color:#2a2a2a8c;background-image:radial-gradient(ellipse at left top,var(--state-tint) 0%,transparent 72%),linear-gradient(135deg,#cacaca1f,#cacaca05);box-shadow:inset 0 1px #f1f1f133,0 4px 16px var(--card-shadow)}@media(max-width:1200px){.app>header .saved{display:none}.app.app[data-theme]>nav{flex-wrap:wrap}.app.app[data-theme]>nav>.actions{margin-left:auto}.app #task-details,.app .canvas-note{top:192px}}@media(max-width:700px){.app>main{position:relative;flex:1;margin-top:224px}.app.app[data-theme]>header{left:var(--space-1);right:var(--space-1);flex-wrap:wrap;gap:var(--space-1)}.app>header>.actions{margin-left:auto}.app.app[data-theme]>nav{top:120px;left:var(--space-1);right:var(--space-1);gap:var(--space-1)}.app>nav>.actions{justify-content:flex-end}.app>nav>.actions>input{width:140px}.app #task-details{position:relative;top:auto;bottom:auto}.app .canvas-note{top:var(--space-2)}.app>.statusbar{display:none}}.app.app[data-theme]>header>.brand,.app.app[data-theme]>header>.actions,.app.app[data-theme]>nav>.tabs{background:none;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app.app[data-theme]>header .demo{background:none;padding:0;color:#747474}.app.app[data-theme=dark]>header .demo{color:#afafaf}.app.app[data-theme]>nav>.tabs button{background:none;border-radius:0;border-bottom:2px solid transparent}.app.app[data-theme]>nav>.tabs button.active{background:none;border-bottom-color:#6a6a6a;color:#4b4b4b}.app.app[data-theme=dark]>nav>.tabs button.active{border-bottom-color:#b7b7b7;color:#e9e9e9}.app.app[data-theme]>nav>.tabs button:hover{background:#8787871a}.app.app[data-theme]>header .saved{background:none;border:0;box-shadow:none}.app.app[data-theme] .brand .project-name{background:transparent;border:0;padding:var(--space-1);font-size:var(--font-1);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.app.app[data-theme] .brand .project-name:hover{background:#95959526}.project-name span{opacity:.6;margin-left:var(--space-1)}.app .brand .project-name-input{width:200px;max-width:40vw;font-size:var(--font-1)}@media(max-width:700px){.app .brand .project-name{max-width:150px}}.app .canvas-tools-toggle{position:absolute;left:16px;bottom:16px;z-index:5;border-radius:12px;box-shadow:0 4px 16px #0000001f}.app .react-flow__controls{bottom:64px;left:16px;margin:0}.app .task{width:256px}.app .task-deliverable{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;margin:0 0 12px;padding:9px 10px;border-radius:12px;background:#7171711a;font-size:var(--font-0);color:#737373}.app .task-deliverable b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#404040;font-size:var(--font-1);font-weight:600}.app .task footer{align-items:center;gap:8px}.app .task-dates{display:grid;gap:2px;text-align:right}.app .task-dates i{font-style:normal;white-space:nowrap}.app[data-theme=dark] .task-deliverable{background:#bcbcbc1a;color:#aaa}.app[data-theme=dark] .task-deliverable b{color:#e8e8e8}.react-flow__edge-path.edge-base{transition:stroke .2s cubic-bezier(.25,1,.5,1),stroke-width .2s cubic-bezier(.25,1,.5,1)}.energy-flow{fill:none;stroke:#aeaeae;stroke-width:4;stroke-linecap:round;stroke-dasharray:3 22;animation:energy-travel .9s linear infinite;filter:drop-shadow(0 0 4px rgba(138,138,138,.9));pointer-events:none}@keyframes energy-travel{to{stroke-dashoffset:-25}}.edge-deliverable{position:absolute;z-index:2;max-width:154px;padding:5px 9px;border:1px solid rgba(126,126,126,.32);border-radius:999px;background:#f8f8f8eb;box-shadow:0 3px 12px #2d2d2d1f;color:#6b6b6b;font-size:10px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.edge-deliverable.connected{border-color:#8a8a8a80;background:#f2f2f2f5;color:#626262;box-shadow:0 0 14px #8a8a8a33}.app[data-theme=dark] .edge-deliverable{background:#242424ed;border-color:#b5b5b547;color:#bfbfbf;box-shadow:0 3px 12px #00000040}.app[data-theme=dark] .edge-deliverable.connected{background:#323232f2;border-color:#a2a2a28c;color:#d2d2d2}.relation-block{margin:0 0 12px;padding:8px;border:1px solid rgba(149,149,149,.22);border-radius:14px;background:#ffffff29}.relation-block .relation{margin:0 0 8px}.edge-deliverable-field{margin:0!important;color:#777!important;font-size:var(--font-0)!important}.edge-deliverable-field input{min-height:32px!important;margin-top:4px!important;padding:4px 9px!important;font-size:var(--font-1)!important}.app[data-theme=dark] .relation-block{border-color:#cfcfcf29;background:#1515151f}.app[data-theme=dark] .edge-deliverable-field{color:#c2c2c2!important}@media(prefers-reduced-motion:reduce){.energy-flow{animation:none;stroke-dasharray:none;opacity:.75}}.app.app[data-theme]>nav{justify-content:flex-start;column-gap:var(--space-1)}.app.app[data-theme]>nav>.actions{margin-left:auto}.app.app[data-theme]>nav>.filter-toggle{pointer-events:auto;align-self:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border:1px solid rgba(149,149,149,.22);border-radius:10px;background:#ffffff57;color:#737373;box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app.app[data-theme]>nav>.filter-toggle:hover{background:#74747424;color:#4b4b4b}.app[data-theme=dark]>nav>.filter-toggle{background:#26262659;border-color:#d2d2d22e;color:#c4c4c4}.app.app[data-theme]>nav>.panel-toggle{position:absolute;pointer-events:auto;right:0;top:56px;display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:14px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(135deg,#fffc,#eaeaea94);box-shadow:inset 0 1px #ffffffe0,0 4px 16px #38383824;font-size:24px;color:#5a5a5a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.app[data-theme=dark]>nav>.panel-toggle{background:linear-gradient(135deg,#6e6e6e73,#222222b3);border-color:#e7e7e73b;box-shadow:inset 0 1px #f8f8f840,0 4px 16px #0000003d;color:#e9e9e9}.app #task-details{scrollbar-width:none;-ms-overflow-style:none}.app #task-details::-webkit-scrollbar{width:0;height:0;display:none}.edge-blocked-mark{position:absolute;z-index:3;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ffeff6f2;box-shadow:0 0 0 3px #161616b8;color:#df527f;font-size:18px;font-weight:700;line-height:1;pointer-events:none}.app[data-theme=light] .edge-blocked-mark{box-shadow:0 0 0 3px #ffffffe0}.react-flow__edge-path.edge-base.selected{filter:drop-shadow(0 0 5px rgba(149,149,149,.9))}.edge-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-bottom:18px}.edge-route>button{min-width:0;padding:12px;text-align:left;border-radius:14px;background:#ffffff52}.edge-route>button span{display:block;margin-bottom:4px;color:#7e7e7e;font-size:var(--font-0)}.edge-route>button b{display:block;overflow:hidden;text-overflow:ellipsis;color:inherit;font-size:var(--font-1);white-space:nowrap}.edge-route>i{font-style:normal;color:#888;font-size:18px}.app[data-theme=dark] .edge-route>button{background:#13131338;border-color:#d2d2d22e}.app .relation .edge-edit{flex:0 0 auto;color:#888;font-size:16px}@media(max-width:700px){.app.app[data-theme]>nav>.panel-toggle{top:92px}.app.app[data-theme]>nav>.filter-toggle{align-self:flex-start}}.app[data-theme] .task.waiting{--state-tint:rgba(130,130,130,.28)}.app[data-theme] .badge.waiting{background:linear-gradient(135deg,#82828240,#8282820f);color:#616161}.app .tabs i.waiting{background:#8d8d8d}.app[data-theme=dark] .task.waiting{--state-tint:rgba(140,140,140,.24)}.app[data-theme=dark] .badge.waiting{color:#cecece}.app .task{width:280px;min-height:0;display:flex;flex-direction:column}.app .task-top{justify-content:space-between;margin-bottom:var(--space-2)}.app .task strong{font-size:17px;line-height:1.35;letter-spacing:-.15px}.app .task-owner{display:flex;align-items:baseline;gap:7px;margin-top:5px;color:#757575;font-size:10px}.app .task-owner b{color:#a6a6a6;font-size:11px;font-weight:600}.app .task-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:3px;color:#898989;font-size:10px;text-align:left}.app .task p{min-height:30px;margin:7px 0 9px;font-size:12px;line-height:1.4}.app .task-deliverable{margin-top:0;margin-bottom:0;padding:8px 10px;border-radius:14px}.app .task-deliverable b{font-size:12px}.app .task footer{justify-content:flex-start;min-height:26px;padding-top:8px;font-size:10.5px}.app .task-dates{column-gap:8px;row-gap:3px;line-height:1.35}.app[data-theme=light] .task-owner b{color:#525252}.app[data-theme=dark] .task-owner{color:#9b9b9b}.app[data-theme=dark] .task-owner b{color:#dfdfdf}.app.app[data-theme] .brand .project-switcher{width:auto;min-width:160px;max-width:240px;min-height:32px;padding:var(--space-1) 28px var(--space-1) var(--space-1);border:1px solid transparent;border-radius:10px;background-color:transparent;color:inherit;font-size:var(--font-1);font-weight:600;text-overflow:ellipsis}.app.app[data-theme] .brand .project-switcher:hover{border-color:#9292923d;background-color:#9595951f}.app.app[data-theme] .brand .project-action{display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;border-color:transparent;background:transparent;color:inherit;font-size:var(--font-1)}.app.app[data-theme] .brand .project-action:hover{background:#95959526}.app[data-theme=dark] .brand .project-switcher option{background:#2a2a2a;color:#e6e6e6}@media(max-width:700px){.app.app[data-theme] .brand .project-switcher{min-width:120px;max-width:160px}.app.app[data-theme] .brand .demo{display:none}}.app.app[data-theme]>nav>.tabs,.app.app[data-theme]>nav>.actions,.app.app[data-theme] #task-details{border:0;border-radius:24px;background-color:#fafafa8c;background-image:radial-gradient(ellipse at left top,rgba(128,128,128,.16) 0%,transparent 72%),linear-gradient(135deg,#ffffff73,#ffffff0a);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);box-shadow:inset 0 1px #ffffffbf,0 4px 16px var(--card-shadow)}.app.app[data-theme=dark]>nav>.tabs,.app.app[data-theme=dark]>nav>.actions,.app.app[data-theme=dark] #task-details{background-color:#2a2a2a8c;background-image:radial-gradient(ellipse at left top,rgba(147,147,147,.18) 0%,transparent 72%),linear-gradient(135deg,#cacaca1f,#cacaca05);box-shadow:inset 0 1px #f1f1f133,0 4px 16px var(--card-shadow)}@supports (corner-shape:superellipse(2)){.app.app[data-theme]>nav>.tabs,.app.app[data-theme]>nav>.actions,.app.app[data-theme] #task-details{border-radius:40px;corner-shape:superellipse(2)}}@media(prefers-reduced-transparency:reduce){.app.app[data-theme]>nav>.tabs,.app.app[data-theme]>nav>.actions,.app.app[data-theme] #task-details{background:#f2f2f2}.app.app[data-theme=dark]>nav>.tabs,.app.app[data-theme=dark]>nav>.actions,.app.app[data-theme=dark] #task-details{background:#3a3a3a}}.app .canvas-tools{position:absolute;left:var(--space-2);bottom:var(--space-2);z-index:7;display:flex;align-items:center;gap:var(--space-1)}.app .canvas-tools .canvas-tools-toggle{position:static;box-shadow:0 4px 16px #0000001f}.app .canvas-tools-menu{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);border-radius:16px;background-color:#fafafab8;background-image:radial-gradient(ellipse at left top,rgba(128,128,128,.16),transparent 72%),linear-gradient(135deg,#ffffff73,#ffffff0a);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);box-shadow:inset 0 1px #ffffffbf,0 4px 16px var(--card-shadow)}.app[data-theme=dark] .canvas-tools-menu{background-color:#2a2a2ab8;background-image:radial-gradient(ellipse at left top,rgba(147,147,147,.18),transparent 72%),linear-gradient(135deg,#cacaca1f,#cacaca05);box-shadow:inset 0 1px #f1f1f133,0 4px 16px var(--card-shadow)}.app .canvas-tools-menu button{min-height:32px;padding:var(--space-1) var(--space-2);border-color:transparent;background:transparent;font-size:var(--font-1)}.app .canvas-tools-menu button.active{background:#6b6b6b2e;color:#4b4b4b}.app[data-theme=dark] .canvas-tools-menu button.active{background:#97979738;color:#ebebeb}.app .canvas.mode-select .react-flow__pane{cursor:crosshair}.app .canvas.mode-select .react-flow__node-section{pointer-events:none}.app .react-flow__selection{border:1px solid #9b9b9b;background:#8888881f}.app .react-flow__node-section{z-index:0!important}.app .react-flow__node-task{z-index:1!important}.app .color-blue{--section-hue:250;--section-chroma:.1;--section-soft:.05}.app .color-teal{--section-hue:175;--section-chroma:.085;--section-soft:.045}.app .color-amber{--section-hue:82;--section-chroma:.1;--section-soft:.05}.app .color-coral{--section-hue:28;--section-chroma:.1;--section-soft:.05}.app .color-violet{--section-hue:305;--section-chroma:.09;--section-soft:.045}.app .color-slate{--section-hue:250;--section-chroma:.025;--section-soft:.015}.app .section-frame{width:100%;height:100%;border:1px solid oklch(64% var(--section-chroma) var(--section-hue)/.55);border-radius:24px;background:oklch(72% var(--section-chroma) var(--section-hue)/.085);box-shadow:inset 0 1px #ffffff1f;transition:border-color .18s cubic-bezier(.25,1,.5,1),background .18s cubic-bezier(.25,1,.5,1)}.app[data-theme=dark] .section-frame{border-color:oklch(78% var(--section-chroma) var(--section-hue)/.5);background:oklch(64% var(--section-chroma) var(--section-hue)/.12)}.app .section-frame.selected{border-color:oklch(62% calc(var(--section-chroma) + .04) var(--section-hue));background:oklch(70% var(--section-chroma) var(--section-hue)/.14);box-shadow:0 0 0 1px oklch(65% var(--section-chroma) var(--section-hue)/.22),inset 0 1px #ffffff2e}.app[data-theme=dark] .section-frame.selected{border-color:oklch(82% calc(var(--section-chroma) + .02) var(--section-hue));background:oklch(66% var(--section-chroma) var(--section-hue)/.18)}.app .section-frame.drop-target{border-width:2px;border-color:oklch(60% calc(var(--section-chroma) + .05) var(--section-hue));background:oklch(70% var(--section-chroma) var(--section-hue)/.2);box-shadow:0 0 0 4px oklch(68% var(--section-chroma) var(--section-hue)/.12),inset 0 1px #fff3}.app[data-theme=dark] .section-frame.drop-target{border-color:oklch(84% calc(var(--section-chroma) + .025) var(--section-hue));background:oklch(66% var(--section-chroma) var(--section-hue)/.24);box-shadow:0 0 0 4px oklch(76% var(--section-chroma) var(--section-hue)/.12),inset 0 1px #fff3}.app .section-frame.drop-target .section-frame-title i{font-weight:700}.app .section-frame-title{position:absolute;top:var(--space-2);left:var(--space-2);right:var(--space-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:oklch(43% var(--section-chroma) var(--section-hue));font-size:var(--font-1);font-weight:700;pointer-events:none}.app .section-frame-title i{color:oklch(52% var(--section-soft) var(--section-hue));font-size:var(--font-0);font-style:normal;font-weight:500}.app[data-theme=dark] .section-frame-title{color:oklch(88% var(--section-soft) var(--section-hue))}.app[data-theme=dark] .section-frame-title i{color:oklch(72% var(--section-soft) var(--section-hue))}.app .section-frame .react-flow__resize-control.line{border-color:oklch(62% calc(var(--section-chroma) + .04) var(--section-hue))}.app .section-frame .react-flow__resize-control.handle{width:10px;height:10px;border-color:oklch(62% calc(var(--section-chroma) + .04) var(--section-hue));border-radius:3px;background:oklch(92% var(--section-soft) var(--section-hue))}.app .section-count{color:#828282;font-size:var(--font-1)}.app .section-color-field{margin:0 0 var(--space-2);color:#606060;font-size:var(--font-1)}.app .section-color-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);margin-top:var(--space-1)}.app .section-color-choice{display:flex;align-items:center;gap:var(--space-1);min-width:0;padding:var(--space-1);border:1px solid transparent;background:transparent;color:inherit;font-size:var(--font-0)}.app .section-color-choice:hover{background:#8787871a}.app .section-color-choice.active{border-color:oklch(62% calc(var(--section-chroma) + .03) var(--section-hue)/.65);background:oklch(72% var(--section-chroma) var(--section-hue)/.12)}.app .section-color-choice i{width:16px;height:16px;flex:0 0 16px;border:1px solid oklch(62% var(--section-chroma) var(--section-hue)/.7);border-radius:50%;background:oklch(72% var(--section-chroma) var(--section-hue)/.5)}.app .section-color-choice b{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:500}.app[data-theme=dark] .section-color-field{color:#dbdbdb}.app[data-theme=dark] .section-color-choice.active{border-color:oklch(80% var(--section-chroma) var(--section-hue)/.65);background:oklch(62% var(--section-chroma) var(--section-hue)/.18)}.app[data-theme=dark] .section-color-choice i{border-color:oklch(82% var(--section-chroma) var(--section-hue)/.72);background:oklch(68% var(--section-chroma) var(--section-hue)/.62)}@supports (corner-shape:superellipse(2)){.app .section-frame{border-radius:40px;corner-shape:superellipse(2)}}@media(max-width:700px){.app .canvas-tools{left:var(--space-1);bottom:var(--space-1);align-items:flex-end}.app .canvas-tools-menu{flex-direction:column;align-items:stretch}.app .canvas-tools-menu button{padding:var(--space-1)}}.app .view-switcher{pointer-events:auto;display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:16px;background:#fafafab8;box-shadow:inset 0 1px #ffffffbf,0 4px 16px var(--card-shadow);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}.app[data-theme=dark] .view-switcher{background:#2a2a2ab8;box-shadow:inset 0 1px #f1f1f133,0 4px 16px var(--card-shadow)}.app .view-switcher button{min-height:32px;padding:var(--space-1) 10px;border:0;border-radius:10px;background:transparent;color:#737373;font-size:var(--font-1)}.app .view-switcher button:hover{background:#7070701f;color:#4b4b4b}.app .view-switcher button.active{background:#6a6a6a;color:#fff}.app[data-theme=dark] .view-switcher button{color:#c5c5c5}.app[data-theme=dark] .view-switcher button:hover{background:#b0b0b021;color:#f4f4f4}.app[data-theme=dark] .view-switcher button.active{background:#858585;color:#fff}.app .workspace-view{position:relative;flex:1;min-width:0;height:100%;padding:160px var(--space-2) var(--space-2);overflow:auto;background-color:#f7f7f7;background-image:radial-gradient(circle at 1px 1px,rgba(103,103,103,.16) 1px,transparent 1.2px);background-size:24px 24px;color:#353535}.app main.panel-open .workspace-view{padding-right:368px}.app[data-theme=dark] .workspace-view{background-color:#191919;background-image:radial-gradient(circle at 1px 1px,rgba(189,189,189,.2) 1px,transparent 1.2px);color:#ececec}.app .view-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2);max-width:1440px;margin:0 auto var(--space-2);padding:0 var(--space-1)}.app .view-heading h2{margin-bottom:var(--space-1);font-size:var(--font-3);letter-spacing:-.2px}.app .view-heading p{margin:0;color:#737373;font-size:var(--font-1)}.app[data-theme=dark] .view-heading p{color:#b6b6b6}.app .view-heading>span,.app .calendar-heading-actions>span{color:#737373;font-size:var(--font-1);white-space:nowrap}.app[data-theme=dark] .view-heading>span,.app[data-theme=dark] .calendar-heading-actions>span{color:#b9b9b9}.app .table-scroll{max-width:1440px;max-height:calc(100dvh - 220px);margin:auto;overflow:auto;border-radius:16px;background:#ffffffe0;box-shadow:0 4px 12px #3232321f}.app[data-theme=dark] .table-scroll{background:#262626e6;box-shadow:0 4px 12px #00000047}.app table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;font-size:var(--font-1)}.app th,.app td{height:48px;padding:10px var(--space-2);border-right:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;text-align:left;vertical-align:middle;white-space:nowrap}.app th{position:sticky;top:0;z-index:2;height:44px;background:#f1f1f1;color:#707070;font-size:var(--font-0);font-weight:600}.app th:first-child{min-width:220px}.app th:nth-child(2){min-width:104px}.app th:nth-child(6),.app th:nth-child(7){min-width:180px}.app td{max-width:260px;overflow:hidden;color:#505050;text-overflow:ellipsis}.app td:last-child,.app th:last-child{border-right:0}.app tbody tr:last-child td{border-bottom:0}.app tbody tr{cursor:pointer;transition:background .16s cubic-bezier(.25,1,.5,1)}.app tbody tr:hover{background:#6b6b6b11}.app tbody tr.selected{background:#6b6b6b1f}.app tbody tr:focus-visible{outline:2px solid #6b6b6b;outline-offset:-2px}.app[data-theme=dark] th,.app[data-theme=dark] td{border-color:#444}.app[data-theme=dark] th{background:#313131;color:#bbb}.app[data-theme=dark] td{color:#ddd}.app[data-theme=dark] tbody tr:hover{background:#9b9b9b17}.app[data-theme=dark] tbody tr.selected{background:#9b9b9b29}.app .table-task-name{color:#383838;font-weight:650}.app[data-theme=dark] .table-task-name{color:#f3f3f3}.app .table-status{display:inline-flex;align-items:center;gap:7px;padding:4px 8px;border-radius:999px;background:#8d8d8d1f;font-size:var(--font-0)}.app .table-status i{width:7px;height:7px;border-radius:50%;background:#959595}.app .table-status.waiting i{background:#8d8d8d}.app .table-status.doing i{background:#d4a923}.app .table-status.blocked i{background:#df527f}.app .table-status.done i{background:#3dab72}.app .table-milestone{color:#5e5e5e;font-weight:650}.app[data-theme=dark] .table-milestone{color:#c2c2c2}.app .empty-value{color:#949494}.app[data-theme=dark] .empty-value{color:#8c8c8c}.app .view-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);color:#7e7e7e}.app .view-empty b{color:#505050;font-size:var(--font-2)}.app[data-theme=dark] .view-empty b{color:#e4e4e4}.app .calendar-heading{align-items:center}.app .calendar-heading-actions{display:flex;align-items:center;gap:var(--space-2)}.app .calendar-heading-actions>span b{color:#5e5e5e;font-size:var(--font-2)}.app[data-theme=dark] .calendar-heading-actions>span b{color:#c2c2c2}.app .calendar-nav{display:flex;gap:var(--space-1)}.app .calendar-nav button{min-height:32px;padding:var(--space-1) 10px;border:0;border-radius:8px;background:#fffc;box-shadow:0 2px 6px #3434341a}.app[data-theme=dark] .calendar-nav button{background:#313131;box-shadow:none}.app .calendar-legend{display:flex;justify-content:flex-end;gap:var(--space-2);max-width:1440px;margin:0 auto var(--space-1);padding:0 var(--space-1);color:#757575;font-size:var(--font-0)}.app .calendar-legend span{display:flex;align-items:center;gap:6px}.app .legend-start{width:12px;height:4px;border-radius:2px;background:#949494}.app .legend-milestone{color:#737373;font-style:normal}.app[data-theme=dark] .calendar-legend{color:#b8b8b8}.app[data-theme=dark] .legend-milestone{color:#b5b5b5}.app .calendar-scroll{max-width:1440px;margin:auto;overflow:auto;border-radius:16px;background:#ffffffe6;box-shadow:0 4px 12px #3232321f}.app[data-theme=dark] .calendar-scroll{background:#252525eb;box-shadow:0 4px 12px #00000047}.app .calendar-grid{min-width:920px}.app .calendar-weekdays,.app .calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.app .calendar-weekdays{position:sticky;top:0;z-index:3;background:#f1f1f1}.app .calendar-weekdays span{padding:10px var(--space-2);border-right:1px solid #e6e6e6;color:#757575;font-size:var(--font-0);font-weight:600}.app .calendar-weekdays span:last-child{border-right:0}.app .calendar-day{min-height:112px;padding:8px;border-top:1px solid #e6e6e6;border-right:1px solid #e6e6e6;background:#ffffff40}.app .calendar-day:nth-child(7n){border-right:0}.app .calendar-day time{display:grid;place-items:center;width:24px;height:24px;margin-bottom:5px;border-radius:50%;color:#5d5d5d;font-size:var(--font-0)}.app .calendar-day.outside{background:#e7e7e752}.app .calendar-day.outside time{color:#acacac}.app .calendar-day.today time{background:#6a6a6a;color:#fff;font-weight:700}.app[data-theme=dark] .calendar-weekdays{background:#313131}.app[data-theme=dark] .calendar-weekdays span,.app[data-theme=dark] .calendar-day{border-color:#444}.app[data-theme=dark] .calendar-weekdays span{color:#bdbdbd}.app[data-theme=dark] .calendar-day{background:#2525256b}.app[data-theme=dark] .calendar-day.outside{background:#14141459}.app[data-theme=dark] .calendar-day time{color:#c7c7c7}.app[data-theme=dark] .calendar-day.outside time{color:#727272}.app .day-events{display:flex;flex-direction:column;gap:4px}.app .day-events button{display:flex;align-items:center;gap:5px;width:100%;min-height:24px;padding:3px 7px;border:0;border-radius:6px;text-align:left;font-size:var(--font-0);overflow:hidden}.app .day-events button span{overflow:hidden;text-overflow:ellipsis}.app .day-events button.start{background:#8d8d8d24;color:#646464}.app .day-events button.milestone{background:#efefef;color:#565656;font-weight:650}.app .day-events button.milestone i{color:#737373;font-size:9px;font-style:normal}.app .day-events button.selected{outline:2px solid #6b6b6b;outline-offset:-1px}.app[data-theme=dark] .day-events button.start{background:#9c9c9c29;color:#cbcbcb}.app[data-theme=dark] .day-events button.milestone{background:#7373734d;color:#e2e2e2}.app[data-theme=dark] .day-events button.milestone i{color:#b7b7b7}.app .calendar-note{display:flex;align-items:center;justify-content:center;gap:var(--space-2);max-width:1440px;margin:var(--space-2) auto 0;padding:var(--space-2);border-radius:12px;background:#ffffffc2;color:#777;font-size:var(--font-1)}.app[data-theme=dark] .calendar-note{background:#2e2e2ec2;color:#bbb}@media(max-width:1450px){.app .workspace-view{padding-top:208px}}@media(max-width:900px){.app main.panel-open .workspace-view{padding-right:var(--space-2)}.app .calendar-heading{align-items:flex-start;flex-direction:column}.app .calendar-heading-actions{width:100%;justify-content:space-between}}@media(max-width:700px){.app .workspace-view{height:auto;min-height:620px;padding:var(--space-2)}.app .view-heading{align-items:flex-start;flex-direction:column}.app .table-scroll{max-height:none}.app .calendar-heading-actions,.app .calendar-note{align-items:flex-start;flex-direction:column}.app .view-switcher{order:-1}.app.app[data-theme]>nav{top:120px}.app>main{margin-top:264px}}@media(prefers-reduced-transparency:reduce){.app .view-switcher,.app .table-scroll,.app .calendar-scroll{background:#fff}.app[data-theme=dark] .view-switcher,.app[data-theme=dark] .table-scroll,.app[data-theme=dark] .calendar-scroll{background:#292929}}.app.app[data-theme]>nav>.filter-toggle{width:32px;min-width:32px;height:32px;min-height:32px;border:0;border-radius:10px;background:#6a6a6a24;box-shadow:inset 0 1px #ffffff80;color:#585858;font-size:var(--font-1);font-weight:700;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.app.app[data-theme]>nav>.filter-toggle:hover{background:#6a6a6a38;color:#494949}.app.app[data-theme=dark]>nav>.filter-toggle{background:#89898938;box-shadow:inset 0 1px #ececec29;color:#d7d7d7}.app.app[data-theme=dark]>nav>.filter-toggle:hover{background:#95959552;color:#fff}.app.app[data-theme]>nav>.panel-toggle{right:4px;top:56px;width:36px;height:36px;min-height:36px;border:1px solid rgba(121,121,121,.18);border-radius:12px;background:#e3e3e3e0;box-shadow:inset 0 1px #ffffff9e,0 3px 8px #2e2e2e1f;color:#626262;font-size:18px;font-weight:650;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app.app[data-theme]>nav>.panel-toggle:hover{background:#d5d5d5f5;border-color:#69696940;color:#585858}.app.app[data-theme=dark]>nav>.panel-toggle{background:#464646e6;border-color:#cdcdcd29;box-shadow:inset 0 1px #ededed29,0 3px 8px #00000038;color:#d1d1d1}.app.app[data-theme=dark]>nav>.panel-toggle:hover{background:#595959f5;border-color:#b6b6b642;color:#f3f3f3}.app .task-milestone{color:#6a6a6a;font-size:var(--font-0);font-style:normal;font-weight:700}.app[data-theme=dark] .task-milestone{color:#bfbfbf}.app .milestone-field{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#6a6a6a14;cursor:pointer}.app .milestone-field>input{width:16px;min-width:16px;height:16px;min-height:16px;margin:0;accent-color:#6a6a6a}.app .milestone-field>span{display:flex;flex-direction:column;gap:2px}.app .milestone-field b{color:#505050;font-size:var(--font-1)}.app .milestone-field small{color:#848484;font-size:var(--font-0)}.app[data-theme=dark] .milestone-field{background:#9292921c}.app[data-theme=dark] .milestone-field b{color:#eaeaea}.app[data-theme=dark] .milestone-field small{color:#b9b9b9}.app .table-view table{min-width:1320px}.app .table-view th:first-child{min-width:230px}.app .table-view th:nth-child(3){min-width:130px}.app .table-view th:nth-child(4),.app .table-view th:nth-child(5){min-width:150px}.app .table-view th:nth-child(8){min-width:210px}.app .table-view th:nth-child(9){min-width:190px}.app .table-view tbody tr{cursor:default}.app .table-view td:has(.cell-editor){padding:4px}.app .table-view .cell-editor{width:100%;min-height:34px;margin:0;padding:5px 10px;border:1px solid transparent;border-radius:7px;background:transparent;box-shadow:none;color:#505050;font-size:var(--font-1)}.app .table-view .cell-editor:hover{background:#68686812}.app .table-view .cell-editor:focus{border-color:#8f8f8f;background:#fff;outline:2px solid rgba(107,107,107,.14);outline-offset:0}.app .table-view .task-name-editor{color:#383838;font-weight:650}.app .table-view .status-editor{padding-right:28px;background-color:#8d8d8d1f;font-size:var(--font-0)}.app .table-view .status-editor.doing{background-color:#d4a92326}.app .table-view .status-editor.blocked{background-color:#df527f24}.app .table-view .status-editor.done{background-color:#3dab7224}.app .table-view .status-editor.waiting{background-color:#8d8d8d24}.app[data-theme=dark] .table-view .cell-editor{background-color:transparent;border-color:transparent;color:#ddd}.app[data-theme=dark] .table-view .cell-editor:hover{background-color:#b2b2b212}.app[data-theme=dark] .table-view .cell-editor:focus{border-color:#a2a2a2;background-color:#242424;outline-color:#a2a2a22e}.app[data-theme=dark] .table-view .task-name-editor{color:#f3f3f3}.app[data-theme=dark] .table-view .status-editor{background-color:#95959526}.app[data-theme=dark] .table-view .status-editor.doing{background-color:#d4a92329}.app[data-theme=dark] .table-view .status-editor.blocked{background-color:#df527f2b}.app[data-theme=dark] .table-view .status-editor.done{background-color:#3dab722b}.app .table-view .date-editor{font-variant-numeric:tabular-nums}.app .milestone-column,.app .milestone-cell{text-align:center}.app .milestone-cell{padding:4px 10px}.app .milestone-cell label{display:grid;place-items:center;width:100%;height:34px;margin:0;cursor:pointer}.app .milestone-cell input{position:absolute;width:1px;height:1px;opacity:0}.app .milestone-cell span{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;color:#acacac;font-size:12px;transition:background .16s cubic-bezier(.25,1,.5,1),color .16s cubic-bezier(.25,1,.5,1)}.app .milestone-cell label:hover span{background:#6a6a6a1a;color:#828282}.app .milestone-cell input:checked+span{background:#6a6a6a;color:#fff}.app .milestone-cell input:focus-visible+span{outline:2px solid #969696;outline-offset:2px}.app[data-theme=dark] .milestone-cell span{color:#7f7f7f}.app[data-theme=dark] .milestone-cell label:hover span{background:#9b9b9b24;color:#bfbfbf}.app[data-theme=dark] .milestone-cell input:checked+span{background:#858585;color:#fff}.app .readonly-cell{color:#7e7e7e}.app[data-theme=dark] .readonly-cell{color:#b6b6b6}.app .row-actions{width:44px;padding:4px!important;text-align:center}.app .row-actions button{width:30px;height:30px;min-height:30px;padding:0;border:0;background:transparent;color:#a4a4a4;font-size:17px;opacity:0}.app .table-view tr:hover .row-actions button,.app .row-actions button:focus-visible{opacity:1}.app .row-actions button:hover{background:#c445571a;color:#b53d50}.app .add-row td{height:44px;padding:4px 8px;border-bottom:0}.app .add-row button{width:100%;min-height:34px;padding:5px 10px;border:0;background:transparent;color:#6f6f6f;text-align:left}.app .add-row button:hover{background:#6a6a6a12;color:#585858}.app[data-theme=dark] .add-row button{color:#bababa}.app[data-theme=dark] .add-row button:hover{background:#9b9b9b1a;color:#e6e6e6}.app .task-milestone-line{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 8px;border-radius:9px;background:#6a6a6a14;color:#636363;font-size:var(--font-0)}.app .task-milestone-line i{color:#6a6a6a;font-style:normal}.app .task-milestone-line b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .task-milestone-line span{margin-left:auto;white-space:nowrap;color:#818181}.app[data-theme=dark] .task-milestone-line{background:#9292921f;color:#d6d6d6}.app[data-theme=dark] .task-milestone-line i{color:#b6b6b6}.app[data-theme=dark] .task-milestone-line span{color:#aaa}.app .table-view table{min-width:2020px}.app .table-view th:first-child{min-width:112px}.app .table-view th:nth-child(2){min-width:230px}.app .table-view th:nth-child(3){min-width:160px}.app .table-view th:nth-child(4){min-width:150px}.app .table-view th:nth-child(5){min-width:120px}.app .table-view th:nth-child(7){min-width:130px}.app .table-view th:nth-child(8),.app .table-view th:nth-child(9),.app .table-view th:nth-child(11){min-width:150px}.app .table-view th:nth-child(10){min-width:190px}.app .table-view th:nth-child(12){min-width:210px}.app .table-view th:nth-child(13){min-width:190px}.app .table-view th:last-child{width:44px;min-width:44px}.app .table-view .number-editor{color:#737373;font-variant-numeric:tabular-nums}.app[data-theme=dark] .table-view .number-editor{color:#bbb}.app .table-view .milestone-name-editor{color:#585858;font-weight:600}.app[data-theme=dark] .table-view .milestone-name-editor{color:#ccc}.app .business-cell span{display:inline-flex;max-width:100%;padding:4px 8px;border-radius:7px;background:#6a6a6a1a;color:#5d5d5d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app[data-theme=dark] .business-cell span{background:#92929224;color:#d1d1d1}.app #task-details input[readonly]{background:#87878714;color:#7e7e7e;cursor:default}.app[data-theme=dark] #task-details input[readonly]{background:#0f0f0f33;color:#b5b5b5}.app .milestone-fields{padding:10px 12px 0;border-radius:12px;background:#6a6a6a14}.app .milestone-fields label{margin-bottom:10px}.app .milestone-hint{margin-top:-8px;padding:0 12px 10px;border-radius:0 0 12px 12px;background:#6a6a6a14}.app[data-theme=dark] .milestone-fields,.app[data-theme=dark] .milestone-hint{background:#9292921c}.app .primary-view{position:absolute;left:50%;transform:translate(-50%);pointer-events:auto;display:flex;align-items:center;gap:10px}.app .level-label{color:gray;font-size:var(--font-0);white-space:nowrap}.app[data-theme=dark] .level-label{color:#a2a2a2}.app .primary-view .view-switcher{background:#fafafab8}.app[data-theme=dark] .primary-view .view-switcher{background:#2a2a2ab8}.app .project-context{pointer-events:auto;display:flex;align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-1) 10px;border-radius:16px;background:#fafafa80;box-shadow:inset 0 1px #ffffffa8;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)}.app[data-theme=dark] .project-context{background:#2a2a2a80;box-shadow:inset 0 1px #f1f1f124}.app.app[data-theme] .project-context .project-switcher{width:auto;min-width:160px;max-width:240px;min-height:32px;padding:var(--space-1) 28px var(--space-1) var(--space-1);border:0;border-radius:9px;background-color:#85858514;color:inherit;font-size:var(--font-1);font-weight:600;text-overflow:ellipsis}.app.app[data-theme] .project-context .project-switcher:hover{background-color:#74747424}.app.app[data-theme] .project-context .project-action{display:grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;border:0;background:transparent;color:inherit;font-size:var(--font-1)}.app.app[data-theme] .project-context .project-action:hover{background:#7e7e7e24}.app .project-context .project-name-input{width:200px;max-width:34vw;min-height:32px;font-size:var(--font-1)}.app .project-context .demo{font-size:var(--font-0);background:none;padding:0 4px;color:#818181}.app[data-theme=dark] .project-context .project-switcher option{background:#2a2a2a;color:#e6e6e6}.app[data-theme=dark] .project-context .demo{color:#ababab}@media(max-width:1100px){.app .primary-view{left:42%}.app .project-context .demo{display:none}.app.app[data-theme] .project-context .project-switcher{min-width:130px;max-width:180px}}@media(max-width:700px){.app .primary-view{position:static;transform:none;order:3;width:100%;gap:var(--space-1)}.app .primary-view .level-label{display:none}.app .primary-view .view-switcher{width:100%;justify-content:center}.app.app[data-theme]>nav{top:124px}.app>main{margin-top:268px}.app .project-context{max-width:100%}.app.app[data-theme] .project-context .project-switcher{min-width:110px;max-width:145px}}.app .workspace-view{scrollbar-width:none;-ms-overflow-style:none}.app .workspace-view::-webkit-scrollbar{display:none;width:0;height:0}.app :is(.table-scroll,.calendar-scroll){scrollbar-width:thin;scrollbar-color:rgba(109,109,109,.38) transparent}.app[data-theme=dark] :is(.table-scroll,.calendar-scroll){scrollbar-color:rgba(172,172,172,.34) transparent}.app :is(.table-scroll,.calendar-scroll)::-webkit-scrollbar{width:10px;height:10px}.app :is(.table-scroll,.calendar-scroll)::-webkit-scrollbar-track,.app :is(.table-scroll,.calendar-scroll)::-webkit-scrollbar-corner{background:transparent}.app :is(.table-scroll,.calendar-scroll)::-webkit-scrollbar-thumb{min-width:48px;min-height:48px;border:3px solid transparent;border-radius:999px;background:#6d6d6d61;background-clip:content-box}.app :is(.table-scroll,.calendar-scroll)::-webkit-scrollbar-thumb:hover{background:#68686894;background-clip:content-box}.app[data-theme=dark] :is(.table-scroll,.calendar-scroll)::-webkit-scrollbar-thumb{background:#acacac57;background-clip:content-box}.app[data-theme=dark] :is(.table-scroll,.calendar-scroll)::-webkit-scrollbar-thumb:hover{background:#c0c0c08a;background-clip:content-box}.app :is(.table-scroll,.calendar-scroll){scrollbar-width:none;-ms-overflow-style:none}.app :is(.table-scroll,.calendar-scroll)::-webkit-scrollbar{display:none;width:0;height:0}html,body,#root,.app,.app>main{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar,#root::-webkit-scrollbar,.app::-webkit-scrollbar,.app>main::-webkit-scrollbar{display:none;width:0;height:0}.app .table-view .view-heading,.app .table-view .table-scroll{width:100%;max-width:none}.app .table-view table{width:100%;min-width:1220px;table-layout:fixed}.app .table-view th{min-width:0!important;padding:8px 9px;white-space:nowrap}.app .table-view th:nth-child(1){width:68px}.app .table-view th:nth-child(2){width:132px}.app .table-view th:nth-child(3){width:92px}.app .table-view th:nth-child(4){width:96px}.app .table-view th:nth-child(5){width:84px}.app .table-view th:nth-child(6){width:80px}.app .table-view th:nth-child(7),.app .table-view th:nth-child(8),.app .table-view th:nth-child(10){width:100px}.app .table-view th:nth-child(9){width:116px}.app .table-view th:nth-child(11){width:112px}.app .table-view th:nth-child(12){width:122px}.app .table-view th:last-child{width:36px}.app .table-view td{height:46px;padding:6px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .table-view .cell-editor{min-width:0;padding:5px 7px;text-overflow:ellipsis;white-space:nowrap}.app .table-view .date-editor{font-size:var(--font-0)}.app .table-view .cell-editor:disabled{opacity:.48;cursor:not-allowed}.app .table-view .readonly-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .milestone-create{min-height:32px;padding:6px 10px;border:1px solid rgba(106,106,106,.2);border-radius:9px;background:#6a6a6a1f;color:#585858;font-size:var(--font-0);font-weight:650}.app .milestone-create:hover{background:#6a6a6a33}.app[data-theme=dark] .milestone-create{border-color:#a9a9a933;background:#8d8d8d2e;color:#dedede}.app .milestone-object-badge{padding:4px 8px;border-radius:999px;background:#6a6a6a1a;color:#5f5f5f;font-size:var(--font-0)}.app[data-theme=dark] .milestone-object-badge{background:#9090902b;color:#d7d7d7}.app .milestone-projects{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-2);padding:10px 12px;border-radius:12px;background:#6a6a6a12}.app .milestone-projects>span{color:#7a7a7a;font-size:var(--font-0)}.app .milestone-projects label{display:flex;align-items:center;gap:8px;margin:0;padding:6px 7px;border-radius:8px;cursor:pointer}.app .milestone-projects label:hover{background:#6a6a6a14}.app .milestone-projects input{width:16px;height:16px;margin:0;accent-color:#6a6a6a}.app .milestone-projects b{font-size:var(--font-1);font-weight:600}.app[data-theme=dark] .milestone-projects{background:#9292921a}.app[data-theme=dark] .milestone-projects>span{color:#bababa}.app .task.zoom-summary{min-height:150px;padding:18px 20px;justify-content:center}.app .task.zoom-summary>:not(strong):not(.react-flow__handle){display:none}.app .task.zoom-summary>strong{display:-webkit-box;margin:0;color:#393939;font-size:21px;font-weight:500;line-height:1.32;letter-spacing:0;text-align:center;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.app[data-theme=dark] .task.zoom-summary>strong{color:#f5f5f5}.app .table-view-heading{overflow:visible}.app .table-heading-actions{display:flex;align-items:center;gap:var(--space-2)}.app .table-filter-wrap{position:relative}.app .table-filter-button{display:flex;align-items:center;gap:7px;min-height:32px;padding:6px 10px;border-color:#7676762e;background:#ffffffb8;color:#5f5f5f;font-size:var(--font-0)}.app .table-filter-button:hover,.app .table-filter-button.active{border-color:#6a6a6a47;background:#6a6a6a1a;color:#585858}.app .table-filter-button b{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#6a6a6a;color:#fff;font-size:10px}.app .table-filter-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(620px,calc(100vw - 40px));padding:12px;border:1px solid rgba(121,121,121,.18);border-radius:14px;background:#fcfcfcfa;box-shadow:0 14px 38px #2828282e;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.app .filter-popover-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:#454545;font-size:var(--font-1)}.app .filter-popover-title button,.app .remove-condition{display:grid;place-items:center;width:28px;height:28px;min-height:28px;padding:0;border:0;background:transparent;color:#8e8e8e;font-size:17px}.app .filter-condition{display:grid;grid-template-columns:124px 90px minmax(140px,1fr) 28px;gap:7px;align-items:center;margin:6px 0}.app .filter-condition select,.app .filter-condition input{height:34px;min-height:34px;margin:0;padding:5px 8px;border-radius:8px;font-size:var(--font-0)}.app .filter-condition:has(>select:nth-child(2):last-of-type){grid-template-columns:124px 90px 28px}.app .filter-empty{margin:18px 0;color:#929292;font-size:var(--font-1);text-align:center}.app .filter-footer{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(130,130,130,.16)}.app .filter-footer button{min-height:30px;padding:5px 8px;border:0;background:transparent;color:#656565;font-size:var(--font-0)}.app .filter-footer button:hover{background:#6a6a6a14;color:#585858}.app[data-theme=dark] .table-filter-button{border-color:#b3b3b31f;background:#323232c2;color:#c4c4c4}.app[data-theme=dark] .table-filter-button:hover,.app[data-theme=dark] .table-filter-button.active{border-color:#a5a5a547;background:#8989892e;color:#e1e1e1}.app[data-theme=dark] .table-filter-popover{border-color:#bcbcbc29;background:#282828fa;box-shadow:0 16px 42px #0000005c}.app[data-theme=dark] .filter-popover-title{color:#e8e8e8}.app[data-theme=dark] .filter-footer{border-color:#b8b8b81f}.app[data-theme=dark] .filter-footer button{color:#c4c4c4}@media(max-width:700px){.app .table-view-heading{flex-direction:row}.app .table-view-heading>div:first-child p{display:none}.app .table-heading-actions>span{display:none}.app .table-filter-popover{position:fixed;top:150px;left:12px;right:12px;width:auto}.app .filter-condition{grid-template-columns:1fr 90px 28px}.app .filter-condition>*:nth-child(3){grid-column:1/3}.app .filter-condition .remove-condition{grid-column:3;grid-row:1}}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:32px;background-color:#161616;background-image:radial-gradient(circle at 18% 12%,rgba(106,106,106,.22),transparent 38%),radial-gradient(circle at 82% 88%,rgba(67,166,155,.12),transparent 36%),radial-gradient(rgba(172,172,172,.18) 1px,transparent 1px);background-size:auto,auto,24px 24px;color:#f4f4f4}.login-panel{width:min(420px,100%);padding:32px;border-radius:16px;background:#303030d1;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);box-shadow:0 8px 8px #00000047}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:48px;color:#d6d6d6;font-size:14px}.login-brand .logo{flex:none}.login-copy h1{margin:0 0 8px;color:#f7f7f7;font-size:25px;letter-spacing:-.02em}.login-copy p{margin:0 0 24px;color:silver;font-size:13px;line-height:1.6}.login-panel form{display:flex;flex-direction:column;gap:16px}.login-panel label{margin:0;color:#d5d5d5}.login-panel input{margin-top:6px;min-height:44px;border-color:#545454;background:#202020;color:#f7f7f7}.login-panel input:focus-visible{outline-color:#adadad}.login-panel .primary{min-height:44px;margin-top:4px;border:0;background:#777;color:#fff;font-size:14px}.login-panel .primary:hover{background:#868686}.login-panel .primary:disabled{background:#505050}.login-error{margin:0;padding:10px 12px;border-radius:8px;background:#d1455f29;color:#ffc4cf;font-size:12px;line-height:1.5}@media(max-width:520px){.login-screen{padding:16px}.login-panel{padding:24px}.login-brand{margin-bottom:36px}}@media(prefers-reduced-transparency:reduce){.login-panel{background:#303030;backdrop-filter:none;-webkit-backdrop-filter:none}}.project-stack{display:flex;flex-direction:column;gap:7px;min-width:240px;align-self:flex-start}.project-stack .project-context{position:static!important;transform:none!important;width:100%!important}.task-scope{display:flex;gap:4px;padding:3px;border:1px solid #e1e1e1;border-radius:10px;background:#f6f6f6}.task-scope button{flex:1;padding:7px 9px;border:0;background:transparent;font-size:12px}.task-scope button.active{background:#ebebeb;color:#4d4d4d}.task-scope b{margin-left:5px;font-weight:500}.project-members-link{align-self:flex-start;padding:3px 9px;background:transparent;border:0;font-size:12px}.app header{flex-wrap:wrap;row-gap:6px}.app header .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.account-nav{font-weight:600}.sync-banner{position:relative;z-index:30;display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 24px;background:#fff0d0;color:#68490c;border-bottom:1px solid #d9b966}.account-page{overflow:auto;flex:1;padding:32px;position:relative;z-index:20;background:#f7f7f7;color:#2f2f2f}.account-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.account-heading h1{font-size:24px}.account-heading p,.account-form p{color:#747474;line-height:1.7}.account-columns{display:grid;grid-template-columns:repeat(2,minmax(0,480px));gap:24px}.account-form{background:#fff;padding:24px;border:1px solid #e1e1e1;border-radius:12px;max-width:720px;display:flex;flex-direction:column;gap:16px}.account-form h2{font-size:18px;margin:0}.account-form label{display:flex;flex-direction:column;gap:7px}.account-form small{font-size:12px;line-height:1.6;color:gray}.account-form button{align-self:flex-start}.account-form p{margin:0}.account-error{color:#ac304b!important;background:#fff0f3;padding:12px;border-radius:8px}.account-success{color:#286642;background:#e9f8ef;padding:12px;border-radius:8px}.add-member{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;max-width:none;margin-bottom:24px}.add-member h2,.add-member>small{grid-column:1/-1}.account-table-wrap{overflow:auto;border:1px solid #e1e1e1;border-radius:12px;background:#fff}.account-table{width:100%;border-collapse:collapse;text-align:left}.account-table th,.account-table td{padding:15px 20px;border-bottom:1px solid #e8e8e8}.account-table th{background:#f2f2f2;font-size:12px;color:#747474}.account-table td button{margin-right:8px}.reset-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reset-confirm span{font-size:12px}.account-form .member-choice{flex-direction:row;align-items:center;gap:12px}.member-choice input{width:18px;height:18px}.member-choice span{display:flex;flex-direction:column}.forced-password{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:#f7f7f7}.forced-password .account-form{width:100%;max-width:440px}.owner-picker{position:relative;min-width:120px;font-size:13px}.owner-picker summary{cursor:pointer;list-style:none;border:1px solid #e1e1e1;border-radius:6px;padding:9px 10px;min-height:36px;background:#fff}.owner-picker summary:after{content:"⌄";float:right;margin-left:8px}.owner-picker.readonly summary{cursor:default;opacity:.65;pointer-events:none}.owner-options{position:absolute;z-index:100;min-width:240px;max-height:320px;overflow:auto;background:#fff;border:1px solid #cdcdcd;box-shadow:0 8px 24px #0002;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}.owner-options label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;margin:0!important}.owner-options input{width:16px;height:16px}.owner-options small{font-size:11px;color:#838383}.owner-options b{font-size:12px}.app .table-scroll{padding-bottom:220px}.app input:disabled,.app textarea:disabled,.app select:disabled{opacity:.7;cursor:default}.app .table-view .cell-editor:disabled{background:transparent;border-color:transparent}.app[data-theme=dark] .task-scope{background:#272727;border-color:#535353}.app[data-theme=dark] .task-scope button{color:#c9c9c9}.app[data-theme=dark] .task-scope button.active{background:#4f4f4f;color:#f5f5f5}.app[data-theme=dark] .account-page{background:#1c1c1c;color:#e8e8e8}.app[data-theme=dark] .account-form,.app[data-theme=dark] .account-table-wrap,.app[data-theme=dark] .owner-options,.app[data-theme=dark] .owner-picker summary{background:#2e2e2e;color:#e8e8e8;border-color:#535353}.app[data-theme=dark] .account-heading p,.app[data-theme=dark] .account-form p{color:#bababa}.app[data-theme=dark] .account-table th{background:#282828;color:#cbcbcb}.app[data-theme=dark] .account-table td,.app[data-theme=dark] .account-table th{border-color:#494949}.app[data-theme=dark] .account-form small{color:#b9b9b9}.app[data-theme=dark] .account-error{background:#462934;color:#ffc1ce!important}.app[data-theme=dark] .account-success{background:#234132;color:#b5edca}@media(max-width:900px){.account-page{padding:20px}.account-columns,.add-member{grid-template-columns:1fr}.account-heading{flex-wrap:wrap}.project-stack{min-width:200px}.app header{padding:12px}.app header .actions{justify-content:flex-start}}.app .project-context .demo{white-space:nowrap;flex-shrink:0}.app .project-stack{min-width:280px;pointer-events:auto}.app .table-view td:has(.owner-picker){overflow:visible;position:relative}.app .table-view td:has(.owner-picker[open]){z-index:50}.app .table-view .owner-options label{font-size:13px;color:inherit;height:auto;min-height:26px}.app .owner-options input[type=checkbox]{appearance:auto!important;opacity:1!important;position:static!important;width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;flex:0 0 16px}.owner-readonly{display:block;padding:9px 10px;color:inherit;opacity:.7;white-space:normal}.app .account-page{padding-top:100px}.app .account-page button{pointer-events:auto}@media(min-width:901px){.app>header .primary-view{position:static;transform:none;flex-shrink:0}.app>header{display:flex;align-items:center}.app>header .actions{max-width:58%;gap:4px}.app>header .actions button{padding-left:8px;padding-right:8px}}@media(max-width:700px){.app .project-stack{min-width:200px;max-width:100%}.app .account-page{padding-top:170px}}.app .account-page{z-index:4}.app .sync-banner{z-index:30;margin-top:72px}.app .account-page .account-form .member-choice input[type=checkbox]{width:18px;min-height:18px;height:18px}html[data-theme=light],.app.app[data-theme=light]{background:#d7d7d7}.app.app[data-theme=light] :is(.canvas,.table-view,.calendar-view,.account-page){background:#d7d7d7}.app.app[data-theme=light] .react-flow{--xy-background-color-default:#d7d7d7;--xy-background-pattern-dots-color-default:#b4b4b4;background:#d7d7d7}.app.app[data-theme=light] :is(.account-form,.account-table-wrap,.owner-options,.owner-picker summary){background:#e8e8e8}.app.app[data-theme=light] :is(.table-scroll,.calendar-grid){background:#e2e2e2}.app.app[data-theme=light] .task-scope{background:#e2e2e2;border-color:#c2c2c2}.app.app[data-theme=light] .task:is(.blocked,.waiting,.done,.doing,.ready){background-color:#ebebebd1}.app .logo.brand-logo,.login-brand .logo.brand-logo{width:36px;height:36px;object-fit:contain;flex:none;background:#e2e2e2;border-radius:50%;padding:2px}.app[data-theme=light] .logo.brand-logo{background:transparent}.app .task .subtask-toggle{display:block;margin-top:10px;padding:6px 9px;width:100%;font-size:12px;text-align:left;background:#6d6d6d1f;border-color:#7777774d;color:inherit}.app .task.zoom-summary>.subtask-toggle{display:block;font-size:22px;text-align:center;padding:6px}.app .task .hierarchy-handle{opacity:0;pointer-events:none}.subtask-card{width:240px;min-height:116px;max-height:128px;border:1px solid #b7b7b7;border-left:3px solid #878787;border-radius:12px;padding:12px 14px;background:#ececec;color:#383838;box-shadow:0 3px 10px #30303016;display:flex;flex-direction:column;gap:9px}.subtask-card.selected{outline:2px solid #777777;outline-offset:3px}.subtask-card strong{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.subtask-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#666}.subtask-owner{font-size:11px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app[data-theme=dark] .subtask-card{background:#333;border-color:#6d6d6d;border-left-color:#aaa;color:#ececec}.app[data-theme=dark] :is(.subtask-meta,.subtask-owner){color:#c6c6c6}.subtask-panel{margin:0 0 20px;padding:14px;border:1px solid #b4b4b455;border-radius:12px;background:#95959510}.subtask-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.subtask-heading b{font-size:13px}.subtask-heading button{font-size:11px;padding:5px 7px}.subtask-panel progress{width:100%;height:5px;margin-bottom:12px;accent-color:#868686}.subtask-panel .subtask-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;text-align:left;white-space:normal;margin-bottom:7px;background:transparent}.subtask-list-item small{opacity:.7}.subtask-panel>.hint{margin:10px 0}.subtask-panel .parent-task-link{display:block;white-space:normal;text-align:left;width:100%;margin-top:6px}.subtask-create{margin-top:12px}.subtask-create>div{display:flex;gap:8px}.subtask-create .owner-options{left:0;max-width:100%}.app .table-view .task-name-cell{display:flex;align-items:center;gap:4px}.app .table-view .task-name-cell input{flex:1}.app .table-view .row-expand{min-width:26px;padding:3px;border:0;background:transparent;color:inherit}.child-indent{padding-left:20px;color:#898989}.app .table-view .subtask-row{background:#91919110}.hierarchy-context{display:block;color:#797979;font-size:10px;padding:3px 8px}.app[data-theme=dark] .hierarchy-context{color:#bbb}.app .table-view .row-actions{white-space:nowrap}.app .table-view .row-actions button{font-size:12px;margin-right:4px}.subtask-layout-note{position:absolute;bottom:16px;left:140px;z-index:5;padding:8px 12px;border-radius:10px;background:#e7e7e7ed;color:#585858;font-size:12px}.subtask-layout-note button{margin-left:8px;padding:4px 8px;font-size:12px}.app[data-theme=dark] .subtask-layout-note{background:#303030ed;color:#d8d8d8}.subtask-delete-backdrop{position:fixed;inset:0;z-index:100;background:#1b1b1b66;display:grid;place-items:center;padding:20px}.subtask-delete-backdrop section{width:min(440px,100%);padding:24px;background:#ebebeb;color:#373737;border-radius:16px;box-shadow:0 12px 48px #0004}.subtask-delete-backdrop p{line-height:1.7}.subtask-delete-backdrop button{margin-right:8px}.app[data-theme=dark] .subtask-delete-backdrop section{background:#313131;color:#e8e8e8}@media(max-width:700px){.subtask-layout-note{left:12px;bottom:60px;max-width:calc(100% - 24px)}}.app[data-theme] .task.subtask-card{width:240px;height:200px;min-height:200px;max-height:200px;display:flex;flex-direction:column;gap:0;padding:14px;border:1px solid rgba(149,149,149,.45);border-radius:20px;corner-shape:superellipse(2);box-shadow:inset 0 1px #f0f0f040,0 3px 12px var(--card-shadow)}.app .task.subtask-card .task-top{display:flex;gap:6px;align-items:center;margin-bottom:10px;font-size:9px}.app .task.subtask-card .task-top>span:last-child{margin-left:auto}.app .task.subtask-card .badge{font-size:9px;padding:3px 5px}.subtask-label{letter-spacing:.05em;opacity:.7}.app .task.subtask-card strong{font-size:14px;line-height:1.4;min-height:20px;max-height:40px;margin-bottom:6px}.app .task.subtask-card .task-owner{margin:0 0 6px}.app .task.subtask-card .task-owner b{font-size:11px}.app .task.subtask-card .task-dates{font-size:9px;gap:5px}.app .task.subtask-card .task-deliverable{margin-top:auto;padding:7px 9px;border-radius:12px;min-height:30px}.app .task.subtask-card .task-deliverable span{font-size:9px}.app .task.subtask-card .task-deliverable b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .task.subtask-card.selected{outline:2px solid #a3a3a3;outline-offset:2px}.app .task .hierarchy-handle{opacity:1;width:6px;height:6px;background:#a3a3a3;border:1px solid #727272;pointer-events:none}.app .child-hierarchy-handle{width:6px;height:6px;background:#a3a3a3;border:1px solid #727272;pointer-events:none}.hierarchy-energy{stroke-width:2;stroke-dasharray:2 18;animation-direction:reverse;filter:drop-shadow(0 0 2px rgba(138,138,138,.7))}.app[data-theme] .task.subtask-card.ready{--state-tint:rgba(169,169,169,.16)}.app[data-theme] .task.subtask-card.waiting{--state-tint:rgba(140,140,140,.19)}.app[data-theme] .task.subtask-card.doing{--state-tint:rgba(235,190,51,.27)}.app[data-theme] .task.subtask-card.blocked{--state-tint:rgba(240,88,131,.27)}.app[data-theme] .task.subtask-card.done{--state-tint:rgba(58,181,117,.25)}.app.app[data-theme]>nav>.filter-toggle{align-self:flex-start;margin-top:6px}.project-delete-dialog{width:min(440px,calc(100vw - 40px));padding:24px;border:1px solid #9f9f9f55;border-radius:16px;background:#ebebeb;color:#373737;box-shadow:0 12px 48px #0004;animation:dialog-appear .16s ease-out}.project-delete-dialog::backdrop{background:#1b1b1b88;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.project-delete-dialog p{line-height:1.7}.project-delete-dialog button{margin-right:8px}.app[data-theme=dark] .project-delete-dialog{background:#313131;color:#e8e8e8}@keyframes dialog-appear{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),.project-delete-dialog{animation:none!important}}.app[data-theme] .task.subtask-card.zoom-summary{justify-content:center}.app[data-theme] .task.subtask-card.zoom-summary>:not(strong):not(.react-flow__handle){display:none}.app[data-theme] .task.subtask-card.zoom-summary>strong{height:auto;min-height:0;max-height:none;flex-shrink:0;margin:0;line-height:1.32;overflow-wrap:anywhere;text-align:center;-webkit-line-clamp:2}.app.app[data-theme]>nav.scope-toolbar{top:var(--nav-top,80px);flex-wrap:wrap;row-gap:12px}.app .scope-toolbar .project-link-row{display:flex;gap:6px;flex-wrap:wrap}.app .scope-toolbar .project-link-row button{margin:0;padding:6px 9px;font-size:11px}.app .scope-toolbar .tabs{flex-wrap:wrap;max-width:100%}.app[data-view=table]>main,.app[data-view=calendar]>main{top:var(--workspace-top,250px);margin-top:0}.app[data-view=table] .workspace-view,.app[data-view=calendar] .workspace-view{padding-top:16px;min-height:0}.app[data-view=table] main.panel-open:has(#task-details:not([hidden])) .workspace-view{padding-right:368px}.app .overview-filters{pointer-events:auto;display:flex;flex:1 0 100%;align-items:end;gap:12px;flex-wrap:wrap;padding:10px 12px;background:#e8e8e8;border:1px solid #ababab3b;border-radius:12px}.app[data-theme=dark] .overview-filters{background:#2b2b2b}.overview-filters label{margin:0;min-width:120px;font-size:11px}.overview-filters select,.overview-filters input{margin-top:4px;min-height:32px;font-size:12px}.overview-filters>span{margin-left:auto;font-size:12px;align-self:center;color:inherit}.app .overview-table table{min-width:1260px}.app .overview-table th:nth-child(1){min-width:150px}.app .overview-table th:nth-child(3){min-width:240px}.app .overview-table .overview-task-title{white-space:normal;text-align:left;background:transparent;border:0;padding:6px 0;color:inherit;font-size:13px;font-weight:600}.app .overview-project-name{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .overview-table .overview-group td{background:#91919120;padding:8px 12px}.overview-group button{border:0;background:transparent;color:inherit;text-align:left;font-weight:600}.overview-group small{margin-left:8px;font-weight:400;opacity:.7}.overview-table-actions{display:flex;gap:16px;align-items:center;flex-shrink:0;font-size:12px}.overview-table-actions label{display:flex;gap:6px;align-items:center;margin:0}.overview-table-actions input{width:16px;height:16px;min-height:0;margin:0;appearance:auto}.overview-detail-context{display:flex;flex-direction:column;gap:8px;padding:10px 0 16px;font-size:12px}.overview-detail-context button{text-align:left}.app .overview-create label{margin-bottom:16px}.app .overview-create h2{margin-bottom:12px}@media(max-width:900px){.app[data-view=table] main.panel-open:has(#task-details:not([hidden])) .workspace-view{padding-right:16px}.app[data-view=table] #task-details{box-shadow:0 12px 40px #0006}.app .overview-filters{gap:8px}.overview-filters label{flex:1;min-width:130px}.overview-table-actions{flex-wrap:wrap}}.app .overview-filters>label{display:flex;flex-direction:column;align-items:stretch;gap:0}.app .overview-table table{min-width:1500px}.app .overview-table th:nth-child(1){width:160px}.app .overview-table th:nth-child(2){width:100px}.app .overview-table th:nth-child(3){width:240px}.app .overview-table th:nth-child(4){width:140px}.app .overview-table th:nth-child(5){width:150px}.app .overview-table th:nth-child(6),.app .overview-table th:nth-child(7){width:150px}.app .overview-table th:nth-child(8){width:220px}.app .overview-table th:nth-child(9){width:190px}.app .overview-table td.row-actions{overflow:visible}@media(min-width:901px){.app.app[data-theme]:not([data-view=flow])>nav.scope-toolbar{display:grid;grid-template-columns:300px 32px minmax(0,1fr);column-gap:8px;row-gap:10px}.app:not([data-view=flow]) .scope-toolbar>.project-stack{grid-column:1;grid-row:1 / 3;min-width:0!important}.app:not([data-view=flow]) .scope-toolbar>.filter-toggle{grid-column:2;grid-row:1}.app:not([data-view=flow]) .scope-toolbar>.tabs{grid-column:3;grid-row:1;width:fit-content}.app.app[data-theme]:not([data-view=flow])>nav.scope-toolbar>.actions{grid-column:3;grid-row:2;justify-self:end;margin-left:0;align-self:start}.app:not([data-view=flow]) .scope-toolbar>.overview-filters{grid-column:1 / -1;grid-row:3}}.app .priority-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:5px;border:1px solid currentColor;font-size:10px;font-weight:700;line-height:1.2;flex-shrink:0}.app .task-top{gap:6px}.app .task-top>span:last-child{margin-left:auto}.app[data-theme=dark] :is(#task-details,.table-view,.task) .priority-P0{color:#ff9292;background:#e54b4b29}.app[data-theme=dark] :is(#task-details,.table-view,.task) .priority-P1{color:#f2cf66;background:#ddae2829}.app[data-theme=dark] :is(#task-details,.table-view,.task) .priority-P2{color:#82d6a0;background:#39a76629}.app[data-theme=light] :is(#task-details,.table-view,.task) .priority-P0{color:#b42d35;background:#e54b4b1f}.app[data-theme=light] :is(#task-details,.table-view,.task) .priority-P1{color:#806000;background:#e8be3530}.app[data-theme=light] :is(#task-details,.table-view,.task) .priority-P2{color:#217343;background:#39a76621}.app .priority-editor{min-width:96px;font-weight:600}.app .table-view th.priority-column{width:112px;min-width:112px}.app .overview-table table{min-width:1612px}.app .overview-table th:last-child{width:190px;min-width:190px}.app[data-theme=dark]{--neutral-bg:#131313;--neutral-panel:rgba(40,40,40,.9);--neutral-fill:rgba(255,255,255,.065);--neutral-text:#e8e7e1;--neutral-muted:#a7a69f;--neutral-line:rgba(220,219,208,.1);--neutral-glint:rgba(255,253,230,.17);--highlight:#e5c65d;background:var(--neutral-bg);color:var(--neutral-text)}.app[data-theme=light]{--neutral-bg:#d8d7d2;--neutral-panel:rgba(235,234,227,.9);--neutral-fill:rgba(255,255,248,.4);--neutral-text:#30302b;--neutral-muted:#68685e;--neutral-line:rgba(70,68,54,.12);--neutral-glint:rgba(255,255,246,.85);--highlight:#9c771b;background:var(--neutral-bg);color:var(--neutral-text)}.app.app[data-theme] :is(header,.scope-toolbar,.view-switcher,.toolbar,.overview-filters,.canvas-tools-menu,.subtask-layout-note){color:var(--neutral-text)}.app.app[data-theme] :is(.toolbar,.overview-filters,.canvas-tools-menu,.subtask-layout-note,#task-details,.account-panel,.project-delete-dialog,.subtask-delete-backdrop section,.table-filter-popover){background:linear-gradient(145deg,var(--neutral-fill),transparent),var(--neutral-panel);border-color:transparent;color:var(--neutral-text);box-shadow:inset 0 1px 0 var(--neutral-glint),0 12px 36px #0002;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.app.app[data-theme] :is(button,input,select,textarea){color:var(--neutral-text);border-color:transparent;background-color:var(--neutral-fill)}.app.app[data-theme] :is(input,select,textarea){box-shadow:inset 0 1px 0 var(--neutral-glint)}.app.app[data-theme] :is(input,textarea)::placeholder{color:var(--neutral-muted)}.app.app[data-theme] select option{color:var(--neutral-text);background:var(--neutral-bg)}.app.app[data-theme] :is(button.primary,.view-switcher button.active,.task-scope button.active,.overview-filters button.active){color:#29271b;background:linear-gradient(145deg,#f2d97a,#d1ae42);box-shadow:inset 0 1px #fff0b3,0 3px 12px #8b701922;border-color:transparent}.app.app[data-theme] :is(button,input,select,textarea):focus-visible{outline:2px solid var(--highlight);outline-offset:2px}.app.app[data-theme] :is(.table-view,.calendar-grid,.calendar-day,.calendar-unscheduled){background:var(--neutral-panel);color:var(--neutral-text);border-color:var(--neutral-line)}.app.app[data-theme] :is(th,.calendar-weekday){background:var(--neutral-fill);color:var(--neutral-muted)}.app.app[data-theme] :is(td,th){border-color:var(--neutral-line)}.app.app[data-theme] :is(.calendar-event,.overview-group td,.business-chip,.milestone-hint){background:var(--neutral-fill);color:var(--neutral-text)}.app.app[data-theme] :is(.calendar-day.today time,.calendar-navigation button.active){background:#e5c65d;color:#29271b}.app.app[data-theme] .task{background:linear-gradient(145deg,var(--neutral-fill),transparent),var(--neutral-panel);color:var(--neutral-text);border-color:transparent}.app.app[data-theme] .task.selected{outline:2px solid var(--highlight)}.app.app[data-theme] :is(.task-owner,.task-meta,.task-number,.hint,.table-view-heading p){color:var(--neutral-muted)}.app.app[data-theme] :is(.task-deliverable,.subtask-toggle){background:var(--neutral-fill);color:var(--neutral-text)}.app.app[data-theme] button.danger{color:#e98d88}.app.app[data-theme] .react-flow__background{background:var(--neutral-bg)}.app.app[data-theme] .react-flow__background-pattern{fill:#77776d}.app.app[data-theme] :is(.scope-toolbar,.scope-main,.project-picker,.project-switcher,.scope-actions,.task-scope,.filters,.filter-bar,.calendar-header,.calendar-legend,.calendar-unscheduled,.table-heading-actions,.table-filters,.table-filter-popover,.account-panel,.account-card,.member-card,.modal,.dialog,.overview-new-task,.overview-new-task-dialog,.milestone-projects,.subtask-panel,.section-count,.edge-route,.relation,.dependency,.downstream,.task-deliverable,.task-missing,.task-subtasks,.subtask-toggle,.subtask-layout-note){background-color:var(--neutral-panel);border-color:transparent;color:var(--neutral-text)}.app.app[data-theme] :is(.task,.task.subtask-card,.task.ready,.task.waiting,.task.doing,.task.done,.task.blocked){--state-tint:rgba(220,210,160,.06);background:linear-gradient(145deg,var(--neutral-fill),transparent),var(--neutral-panel);border-color:transparent;box-shadow:inset 0 1px 0 var(--neutral-glint),0 8px 24px #0002;color:var(--neutral-text)}.app.app[data-theme] :is(.section,.section-node,.task-section){background:var(--neutral-fill);border-color:var(--neutral-line);color:var(--neutral-text)}.app.app[data-theme] :is(.task-top,.task-owner,.task-meta,.task-subtasks,.task .deliverable,.subtask-label,.child-indent,.hierarchy-context,.calendar-legend,.calendar-event,.milestone-object-badge,.business-chip,.overview-project-badge,.milestone-hint,.table-view input,.table-view select,.table-view button,.table-view textarea){color:var(--neutral-text);border-color:transparent}.app.app[data-theme] :is(.badge.waiting,.badge.ready,.badge.doing,.milestone-object-badge,.business-chip,.overview-project-badge,.calendar-event,.task .deliverable){background:var(--neutral-fill)}.app.app[data-theme] :is(.calendar-day,.calendar-day.outside,.calendar-day.weekend,.calendar-grid,.calendar-weekdays,.calendar-weekday,.calendar-unscheduled,.calendar-view,.table-view,.table-view tbody tr,.overview-group td){background-color:var(--neutral-panel);border-color:var(--neutral-line);color:var(--neutral-text)}.app.app[data-theme] :is(.calendar-day time,.calendar-event,.calendar-milestone,.milestone-event,.milestone-chip,.milestone-link,.task-number,.table-view-heading,.table-view-heading p,.account-panel h2,.account-panel label){color:var(--neutral-text)}.app.app[data-theme] :is(button.active,button[aria-pressed=true],button[aria-selected=true],.calendar-day.today time){background:linear-gradient(145deg,#f2d97a,#d1ae42);color:#29271b;border-color:transparent;box-shadow:inset 0 1px #fff0b3}.app.app[data-theme] :is(input,select,textarea):focus{border-color:transparent;outline-color:var(--highlight);box-shadow:0 0 0 2px color-mix(in srgb,var(--highlight) 35%,transparent)}.app.app[data-theme] input[type=checkbox]{accent-color:#d5b64d}.app.app[data-theme] :is(.react-flow__controls,.react-flow__controls button,.react-flow__minimap){background:var(--neutral-panel);color:var(--neutral-text);border-color:var(--neutral-line)}.app.app[data-theme] .react-flow__controls button svg{fill:currentColor}.app.app[data-theme] .react-flow__handle{background:#d5bd65;border-color:var(--neutral-bg)}.app.app[data-theme] .react-flow__edge.selected .react-flow__edge-path{stroke:#e5c65d}.app.app[data-theme] .edge-base.connected{stroke:#f6f5ec!important}.app.app[data-theme] .energy-flow{stroke:#f3d44d;filter:drop-shadow(0 0 3px #edce5688)}.app.app[data-theme] .hierarchy-energy{filter:drop-shadow(0 0 2px #edce5677)}.app.app[data-theme] .edge-base.connected:not(.selected){stroke:transparent!important}.app.app[data-theme] .energy-flow{stroke:#f3d44d}.app.app[data-theme] .view-switcher{background:none;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;gap:18px;overflow:visible}.app.app[data-theme] .view-switcher button,.app.app[data-theme] .view-switcher button.active,.app.app[data-theme] .view-switcher button[aria-selected=true]{position:relative;background:none;border:0;border-radius:0;box-shadow:none;padding:10px 2px;color:var(--neutral-muted)}.app.app[data-theme] .view-switcher button.active,.app.app[data-theme] .view-switcher button[aria-selected=true]{color:var(--highlight)}.app.app[data-theme] .view-switcher button.active:after{content:"";position:absolute;left:20%;right:20%;bottom:1px;height:2px;border-radius:2px;background:var(--highlight)}.app.app[data-theme] .view-switcher button:hover:not(:disabled){color:var(--neutral-text);background:none;box-shadow:none}.app.app[data-theme] .view-switcher button:disabled{opacity:.4}.app.app[data-theme]>nav.scope-toolbar{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}.app.app[data-theme] .project-context,.app.app[data-theme] .project-switcher{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app.app[data-theme] .primary-view{overflow:visible;background:none;border:0;box-shadow:none;padding:4px 0}.app.app[data-theme] .view-switcher{min-height:40px;flex-shrink:0;overflow:visible}.app.app[data-theme] .status-filter-reveal{display:grid;grid-template-columns:1fr;min-width:0;max-width:100%;align-self:start;pointer-events:auto;transition:grid-template-columns .38s cubic-bezier(.22,1,.36,1)}.app.app[data-theme] .status-filter-reveal[data-open=false]{grid-template-columns:0fr;pointer-events:none}.app.app[data-theme] .status-filter-reveal>.tabs{min-width:0;overflow:hidden;display:flex;flex-wrap:nowrap;gap:8px;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:4px 0}.app.app[data-theme] .status-filter-reveal .tabs button{flex-shrink:0;white-space:nowrap;background:none;border:0;border-radius:0;box-shadow:none;padding:10px 8px;border-bottom:2px solid transparent}.app.app[data-theme] .status-filter-reveal .tabs button.active{color:var(--neutral-text);border-bottom-color:#e8c64a;background:none}.app.app[data-theme]>nav>.filter-toggle{font-size:24px;line-height:1;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}@media(min-width:901px){.app.app[data-theme]:not([data-view=flow]) .status-filter-reveal{grid-column:3;grid-row:1;justify-self:start}}.energy-flow,.energy-flow.hierarchy-energy{stroke-dasharray:4 8;animation:dense-energy .7s linear infinite}@keyframes dense-energy{to{stroke-dashoffset:-12}}@media(prefers-reduced-motion:reduce){.app.app[data-theme] .status-filter-reveal{transition:none}.energy-flow,.energy-flow.hierarchy-energy{animation:none}}.app[data-view=gantt]>nav.scope-toolbar{display:none}.app[data-view=gantt]>main{position:absolute;top:var(--nav-top,64px);inset-inline:0;bottom:0;margin:0;padding:12px;overflow:hidden}.gantt-view{flex:1;width:100%;--g-surface:rgba(48,48,48,.72);--g-text:#e4e4e4;--g-muted:#adadad;--g-line:rgba(168,168,168,.13);color:var(--g-text);height:100%;display:grid;grid-template-columns:210px minmax(0,1fr) 300px;gap:12px;transition:grid-template-columns .22s ease}.app[data-theme=light] .gantt-view{--g-surface:rgba(238,238,238,.72);--g-text:#3b3b3b;--g-muted:#686868;--g-line:rgba(93,93,93,.12)}.gantt-view.left-closed{grid-template-columns:44px minmax(0,1fr) 300px}.gantt-view.right-closed{grid-template-columns:210px minmax(0,1fr) 44px}.gantt-view.left-closed.right-closed{grid-template-columns:44px minmax(0,1fr) 44px}.gantt-projects,.gantt-tasks,.gantt-center{min-width:0;min-height:0;border-radius:16px;background:var(--g-surface);border:1px solid var(--g-line);overflow:hidden}.gantt-projects,.gantt-tasks{display:flex;flex-direction:column}.gantt-rail-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;min-height:60px}.gantt-rail-heading h2{font-size:14px;margin:0;white-space:nowrap}.gantt-rail-heading h2 small{font-size:12px;color:var(--g-muted)}.gantt-rail-heading button{padding:4px 8px;min-width:26px}.left-closed .gantt-projects h2,.right-closed .gantt-tasks h2{display:none}.left-closed .gantt-projects .gantt-rail-heading,.right-closed .gantt-tasks .gantt-rail-heading{padding:12px 8px}.gantt-project-list,.gantt-task-content{padding:0 10px 12px;overflow:auto;min-height:0}.app .gantt-project-list button{display:flex;align-items:flex-start;flex-direction:column;gap:8px;width:100%;padding:15px 12px;margin-bottom:8px;text-align:left;border:1px solid transparent;background:transparent;color:var(--g-text)}.gantt-project-list b{font-size:13px;overflow-wrap:anywhere}.gantt-project-list small{color:var(--g-muted);font-size:11px}.app .gantt-project-list button.active{background:#86868633;border-color:#9e9e9e80}.gantt-center{display:flex;flex-direction:column;background:transparent}.gantt-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px;gap:12px}.gantt-heading small{color:var(--g-muted);font-size:11px}.gantt-heading h2{font-size:21px;margin:7px 0 0;font-weight:600}.gantt-navigation{display:flex;gap:5px}.gantt-tools{padding:0 20px 16px;display:flex;align-items:center;gap:10px}.gantt-tools input{width:230px;min-width:80px;margin:0}.gantt-tools span{font-size:11px;color:var(--g-muted);margin-left:auto;white-space:nowrap}.gantt-tools button{white-space:nowrap}.gantt-scroll{flex:1;min-height:0;overflow:auto}.gantt-timeline{min-width:560px;padding:0 14px 14px}.gantt-days{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));background:#2a2a2a;border-radius:10px}.app[data-theme=light] .gantt-days{background:#dfdfdf}.gantt-days>div{display:flex;align-items:center;flex-direction:column;gap:5px;padding:12px 0 8px;position:relative}.gantt-days small{font-size:10px;color:var(--g-muted)}.gantt-days b{font-size:15px}.gantt-days em{font-size:9px;font-style:normal;color:#c6c6c6}.gantt-days .today{background:#8a8a8a30;border-radius:9px}.gantt-days .weekend{opacity:.65}.gantt-lanes{position:relative;min-height:calc(100vh - 350px);padding:12px 0}.gantt-day-background{position:absolute;inset:0;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));pointer-events:none}.gantt-day-background .weekend{background:#8888880a}.gantt-day-background .today{background:#85858512}.gantt-lane{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));position:relative;min-height:46px;padding:5px 0}.app .gantt-bar{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-align:left;padding:7px 9px;margin:0 3px;border-radius:8px;background:#4b4b4b;border:1px solid #787878;color:#f4f4f4;font-size:11px}.gantt-bar>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.gantt-bar .priority-badge{padding:2px 3px;font-size:9px}.app .gantt-bar.child-bar{border-style:dashed;border-radius:5px;margin-top:3px;margin-bottom:3px}.app .gantt-bar.status-done{background:#2b5547;border-color:#4b8a6a}.app .gantt-bar.status-blocked{background:#61404b;border-color:#a05e73}.app .gantt-bar.status-doing{background:#665735;border-color:#9a864f}.app .gantt-bar:hover{filter:brightness(1.15)}.app[data-theme=light] .gantt-bar{background:#ddd;border-color:#a4a4a4;color:#3b3b3b}.app[data-theme=light] .gantt-bar.status-done{background:#cce4d7;color:#24533c}.app[data-theme=light] .gantt-bar.status-blocked{background:#efd6de;color:#773b50}.app[data-theme=light] .gantt-bar.status-doing{background:#eee2c4;color:#67541e}.gantt-footnote{padding:12px 18px;color:var(--g-muted);font-size:11px}.gantt-empty{padding:40px 18px;text-align:center;color:var(--g-muted);position:relative}.gantt-empty h3{font-size:16px}.gantt-empty p{font-size:12px;line-height:1.7}.app .gantt-task-item{display:flex;flex-direction:column;align-items:stretch;width:100%;text-align:left;gap:9px;padding:14px;margin-bottom:10px;background:#87878714;border:1px solid var(--g-line);color:var(--g-text);border-radius:11px}.gantt-task-item>div{display:flex;align-items:center;gap:8px}.gantt-task-item b{font-size:13px;overflow-wrap:anywhere}.gantt-task-item small{font-size:11px;color:var(--g-muted)}.app .gantt-detail-modal{padding:0;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 60px);border:1px solid #7b7b7b;border-radius:18px;background:#313131;color:#e4e4e4;overflow:auto;box-shadow:0 24px 100px #0006}.gantt-detail-modal::backdrop{background:#0c0c0ca3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app[data-theme=light] .gantt-detail-modal{background:#e4e4e4;color:#3b3b3b}.app .gantt-detail-modal #task-details{position:static;inset:auto;width:100%;height:auto;max-height:none;overflow:visible;padding:24px;border:0;border-radius:0;box-shadow:none;background:transparent}.app .gantt-detail-modal .sidebar-actions{display:none}.app .gantt-modal-close{position:sticky;top:10px;float:right;margin:10px 14px 0;z-index:2;font-size:20px}.gantt-detail-modal .overview-detail-context{margin-bottom:12px}.app[data-theme] .gantt-view .priority-P0{color:#ff9292;background:#e54b4b29}.app[data-theme] .gantt-view .priority-P1{color:#f2cf66;background:#ddae2829}.app[data-theme] .gantt-view .priority-P2{color:#82d6a0;background:#39a76629}.app[data-theme=light] .gantt-view .priority-P0{color:#b42d35}.app[data-theme=light] .gantt-view .priority-P1{color:#806000}.app[data-theme=light] .gantt-view .priority-P2{color:#217343}@media(max-width:1100px){.gantt-view{grid-template-columns:160px minmax(0,1fr) 250px}.gantt-view.left-closed{grid-template-columns:44px minmax(0,1fr) 250px}.gantt-view.right-closed{grid-template-columns:160px minmax(0,1fr) 44px}.gantt-tools{flex-wrap:wrap}.gantt-tools span{margin:0}.gantt-heading{padding-inline:12px}.gantt-heading h2{font-size:17px}}@media(max-width:700px){.gantt-view,.gantt-view.left-closed,.gantt-view.right-closed{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.gantt-projects .gantt-rail-heading h2,.gantt-tasks .gantt-rail-heading h2{display:none}.gantt-projects .gantt-rail-heading,.gantt-tasks .gantt-rail-heading{padding:12px 8px}.gantt-view:not(.left-closed) .gantt-projects{position:absolute;inset:12px auto 12px 12px;width:220px;z-index:5;background:#333}.gantt-view:not(.right-closed) .gantt-tasks{position:absolute;inset:12px 12px 12px auto;width:280px;z-index:5;background:#333}.gantt-center{grid-column:2}.app[data-theme=light] .gantt-projects,.app[data-theme=light] .gantt-tasks{background:#e4e4e4}.gantt-heading{flex-wrap:wrap}.gantt-tools input{width:100%}.gantt-tools span,.gantt-footnote{display:none}}@media(prefers-reduced-motion:reduce){.gantt-view{transition:none}}.gantt-projects,.gantt-tasks{align-self:start;max-height:calc(100% - 32px);margin-top:16px;box-shadow:0 14px 38px #0003;border:1px solid var(--g-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.gantt-projects{margin-left:6px}.gantt-tasks{margin-right:6px}.gantt-center{border:0;border-radius:0}.gantt-project-list,.gantt-task-content{flex:1}.gantt-view.left-closed .gantt-projects,.gantt-view.right-closed .gantt-tasks{height:48px;margin-inline:0}.gantt-view.left-closed .gantt-projects .gantt-rail-heading,.gantt-view.right-closed .gantt-tasks .gantt-rail-heading{min-height:48px;padding:8px}.app[data-theme] .gantt-bar{background:color-mix(in srgb,var(--milestone-color) 26%,var(--g-surface));border-color:var(--milestone-color);color:var(--g-text)}.app .gantt-date-add{padding:0 5px;min-height:20px;background:transparent;color:var(--g-muted);border:0}.app .gantt-milestone{max-width:100%;font-size:10px;padding:3px;border:0;background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-days>div{min-width:0}@media(max-width:700px){.gantt-view:not(.left-closed) .gantt-projects,.gantt-view:not(.right-closed) .gantt-tasks{bottom:auto;max-height:calc(100% - 48px)}}.gantt-group-label{position:relative;padding:12px 6px 5px;font-size:12px;font-weight:600}.gantt-view,.gantt-view *,.gantt-detail-modal{scrollbar-width:none}.gantt-view::-webkit-scrollbar,.gantt-view *::-webkit-scrollbar,.gantt-detail-modal::-webkit-scrollbar{display:none}.app[data-view=gantt]{--glass-top:rgba(208,208,208,.14);--glass-bottom:rgba(83,83,83,.12);--glass-light:rgba(244,244,244,.18);--glass-shadow:rgba(7,7,7,.24)}.app[data-theme=light][data-view=gantt]{--glass-top:rgba(255,255,255,.8);--glass-bottom:rgba(203,203,203,.32);--glass-light:rgba(255,255,255,.85);--glass-shadow:rgba(72,72,72,.12)}.app[data-view=gantt] .gantt-projects,.app[data-view=gantt] .gantt-tasks{border:0;border-radius:22px;background:radial-gradient(ellipse at 5% 0%,var(--glass-top),transparent 65%),linear-gradient(155deg,var(--g-surface),var(--glass-bottom));box-shadow:inset 0 1px 0 var(--glass-light),inset 0 -1px #ffffff06,0 16px 40px var(--glass-shadow);-webkit-backdrop-filter:blur(28px) saturate(145%);backdrop-filter:blur(28px) saturate(145%)}.app[data-view=gantt] .gantt-project-list button{border:0;border-radius:14px;transition:background .18s,box-shadow .18s}.app[data-view=gantt] .gantt-project-list button.active{background:linear-gradient(145deg,#acacac52,#7d7d7d21);box-shadow:inset 0 1px 0 var(--glass-light),0 5px 14px var(--glass-shadow)}.app[data-view=gantt] .gantt-project-list button:hover{background-color:#a6a6a61a}.app[data-view=gantt] .gantt-task-item{border:0;border-radius:16px;background:linear-gradient(145deg,var(--glass-top),var(--glass-bottom));box-shadow:inset 0 1px 0 var(--glass-light),0 5px 14px #07070714;transition:background .18s,box-shadow .18s}.app[data-view=gantt] .gantt-task-item:hover{background-color:#a6a6a61a;box-shadow:inset 0 1px 0 var(--glass-light),0 8px 20px var(--glass-shadow)}.app[data-theme][data-view=gantt] .gantt-bar{border:0;border-radius:10px;background:linear-gradient(115deg,color-mix(in srgb,var(--milestone-color) 48%,var(--g-surface)),color-mix(in srgb,var(--milestone-color) 24%,var(--g-surface)));box-shadow:inset 0 1px color-mix(in srgb,var(--milestone-color) 35%,transparent),0 3px 9px #0707071f;color:var(--g-text)}.app[data-theme][data-view=gantt] .gantt-bar.child-bar{border:0;border-radius:8px;background:linear-gradient(115deg,color-mix(in srgb,var(--milestone-color) 32%,var(--g-surface)),color-mix(in srgb,var(--milestone-color) 14%,var(--g-surface)))}.app[data-view=gantt] .gantt-tools input{border:0;border-radius:14px;background:linear-gradient(145deg,var(--glass-top),var(--glass-bottom));box-shadow:inset 0 1px 0 var(--glass-light),0 4px 14px #07070714;color:var(--g-text)}.app[data-view=gantt] .gantt-navigation button,.app[data-view=gantt] .gantt-tools>button,.app[data-view=gantt] .gantt-rail-heading button{border:0;border-radius:11px;background:linear-gradient(145deg,var(--glass-top),var(--glass-bottom));box-shadow:inset 0 1px 0 var(--glass-light),0 3px 10px #07070714}.app[data-view=gantt] .view-switcher{border:0;background:linear-gradient(155deg,var(--glass-top),var(--glass-bottom));box-shadow:inset 0 1px 0 var(--glass-light),0 7px 22px var(--glass-shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.app[data-view=gantt] .view-switcher button{border:0;box-shadow:none}.app[data-view=gantt] .view-switcher button.active{background:linear-gradient(145deg,#a6a6a6,#767676);box-shadow:inset 0 1px #fff6,0 3px 12px #5959593d}.app[data-view=gantt] .gantt-days{background:linear-gradient(145deg,var(--g-surface),var(--glass-bottom));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.app[data-view=gantt] .gantt-days .today{background:linear-gradient(155deg,#a9a9a940,#7f7f7f1a);border-radius:12px}.app[data-view=gantt] .gantt-view :is(button,input):focus-visible{outline:2px solid #c3c3c3;outline-offset:3px}@media(prefers-reduced-motion:reduce){.app[data-view=gantt] .gantt-project-list button,.app[data-view=gantt] .gantt-task-item{transition:none}}.app[data-view=gantt][data-theme=dark]{background:#131313;--glass-top:rgba(235,235,235,.12);--glass-bottom:rgba(65,65,65,.14);--glass-light:rgba(255,255,245,.18);--glass-shadow:rgba(0,0,0,.3)}.app[data-view=gantt][data-theme=dark] .gantt-view{--g-surface:rgba(45,45,45,.8);--g-text:#e9e8e3;--g-muted:#a8a79f;--g-line:rgba(210,210,200,.1)}.app[data-view=gantt][data-theme=light]{background:#d8d7d2;--glass-top:rgba(255,255,249,.72);--glass-bottom:rgba(185,184,175,.3);--glass-light:rgba(255,255,246,.85);--glass-shadow:rgba(40,39,30,.13)}.app[data-view=gantt][data-theme=light] .gantt-view{--g-surface:rgba(227,226,219,.8);--g-text:#30302b;--g-muted:#68685f;--g-line:rgba(90,90,75,.1)}.app[data-view=gantt] .gantt-project-list button.active{background:linear-gradient(145deg,#f2d05340,#c4a02214);color:var(--g-text);box-shadow:inset 0 1px #ffec9e4d,0 5px 14px var(--glass-shadow)}.app[data-view=gantt] .gantt-project-list button:hover,.app[data-view=gantt] .gantt-task-item:hover{background-color:#ded19112}.app[data-view=gantt] .view-switcher button.active{background:linear-gradient(145deg,#f5dc7d,#d6b346);color:#29271d;box-shadow:inset 0 1px #fff0b5,0 3px 14px #c8a52e29}.app[data-view=gantt] .gantt-days .today{background:linear-gradient(155deg,#e8c64a3d,#c6a12014)}.app[data-view=gantt] .gantt-days .today b,.app[data-view=gantt] .gantt-days em{color:#eed472}.app[data-view=gantt][data-theme=light] .gantt-days .today b,.app[data-view=gantt][data-theme=light] .gantt-days em{color:#786019}.app[data-view=gantt] .gantt-day-background .today{background:#e2be370b}.app[data-view=gantt] .gantt-day-background .weekend{background:#b4b4aa06}.app[data-view=gantt] .gantt-view :is(button,input):focus-visible{outline-color:#e8cb65}.app[data-view=gantt] .gantt-tools input:focus{border:0;box-shadow:inset 0 1px #ffe78b59,0 0 0 2px #e6c4454d}.app[data-view=gantt] .gantt-tools input::placeholder{color:var(--g-muted)}.app[data-view=gantt][data-theme=dark] .gantt-detail-modal{background:#292929;color:#e9e8e3;border-color:transparent}.app[data-view=gantt][data-theme=light] .gantt-detail-modal{background:#deddd6;color:#30302b}.app.app[data-theme][data-view=gantt] .gantt-bar{background:linear-gradient(115deg,#cdb45e47,#7b735324);border:0;box-shadow:inset 0 1px #f9e18f33,0 3px 9px #0002;color:var(--g-text)}.app.app[data-theme][data-view=gantt] .gantt-bar.child-bar{background:linear-gradient(115deg,#cdb45e30,#7b735314)}.app.app[data-theme][data-view=gantt] .gantt-detail-modal :is(input,select,textarea,.subtask-panel,.milestone-projects){background-color:var(--neutral-fill);color:var(--neutral-text);border-color:transparent}.app.app[data-theme][data-view=gantt] .gantt-bar{background:linear-gradient(125deg,color-mix(in srgb,var(--milestone-color) 42%,var(--g-surface)),color-mix(in srgb,var(--milestone-color) 18%,var(--g-surface)));box-shadow:inset 0 1px color-mix(in srgb,var(--milestone-color) 40%,transparent),0 4px 12px #0002}.dependency-timeline{padding:0;min-height:280px}.gantt-timeline:has(.dependency-timeline){min-width:1120px}.gantt-dependencies{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.dependency-path{fill:none;stroke:#92928a;stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.dependency-path.done{stroke:#e5c65d;stroke-width:2;stroke-dasharray:none;filter:drop-shadow(0 0 3px #e5c65d55)}.dependency-path.blocked{stroke:#df7583}.app.app[data-theme] .gantt-bar.dependency-card{position:absolute;width:calc(14.2857% - 10px);height:76px;margin:0 5px;padding:10px 12px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:4px;z-index:2;border-radius:12px;text-align:left}.dependency-card b{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.dependency-card small{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}.gantt-duration{position:absolute;height:3px;border-radius:3px;opacity:.5;pointer-events:none}.dependency-path.done{stroke:#f6f5ec;stroke-width:2.5;filter:none}.dependency-energy{fill:none;stroke:#f3d44d;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 25;animation:gantt-energy-travel 1.2s linear infinite;filter:drop-shadow(0 0 3px #edce5677);vector-effect:non-scaling-stroke}@keyframes gantt-energy-travel{to{stroke-dashoffset:-31}}@media(prefers-reduced-motion:reduce){.dependency-energy{animation:none}}.dependency-path.done{stroke:transparent;filter:none}.gantt-scroll{cursor:grab;touch-action:pan-y}.gantt-scroll:active{cursor:grabbing}.gantt-scroll button{cursor:pointer}.gantt-days{-webkit-user-select:none;user-select:none}.app.app[data-theme][data-view=gantt] .gantt-task-item{background:transparent;border:0;border-bottom:1px solid var(--neutral-line);border-radius:0;box-shadow:none;margin:0;padding:16px 8px;gap:7px}.app.app[data-theme][data-view=gantt] .gantt-task-item:last-child{border-bottom:0}.app.app[data-theme][data-view=gantt] .gantt-task-item:hover{background:#c8be960e;box-shadow:none}.gantt-task-content{padding-inline:16px}.app[data-view=gantt] .gantt-days{z-index:10;background:#242423;isolation:isolate;-webkit-backdrop-filter:none;backdrop-filter:none}.app[data-view=gantt][data-theme=light] .gantt-days{background:#e2e1da}.dependency-timeline{isolation:isolate;z-index:0}.gantt-dependencies .dependency-energy{stroke-dasharray:4 8;animation:dense-energy .7s linear infinite}@media(prefers-reduced-motion:reduce){.gantt-dependencies .dependency-energy{animation:none}}.app[data-theme]{--selection-gradient:linear-gradient(100deg,#ffe650 0%,#ffd13b 44%,#ffa32d 100%);--selection-wash:linear-gradient(100deg,rgba(255,230,80,.22),rgba(255,163,45,.16))}.app.app.app[data-theme] :is(button.primary,.task-scope button.active,.overview-filters button.active,.gantt-project-list button.active,.calendar-navigation button.active,.calendar-day.today time){background:var(--selection-gradient);color:#242219;border-color:transparent}.app.app.app[data-theme] .gantt-project-list button.active :is(b,small,span){color:#242219;opacity:1}.app.app.app[data-theme] .view-switcher button.active:after{background:var(--selection-gradient)}.app.app.app[data-theme] .status-filter-reveal .tabs button.active{border-bottom-color:transparent;background:var(--selection-gradient) left bottom / 100% 2px no-repeat}.app.app.app[data-theme] :is(.gantt-task-item[aria-pressed=true],.gantt-tools button[aria-pressed=true],.schedule-label[aria-pressed=true]){background:var(--selection-wash)}.app.app.app[data-theme] :is(.task.selected,.section-frame.selected,.schedule-bar.is-focused,.day-events button.selected){outline:none;position:relative}.app.app.app[data-theme] .schedule-bar.is-focused{position:absolute}.app.app.app[data-theme] :is(.task.selected,.section-frame.selected,.schedule-bar.is-focused,.day-events button.selected):after{content:"";position:absolute;inset:-1px;border-radius:inherit;corner-shape:inherit;padding:2px;background:var(--selection-gradient);pointer-events:none;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor}.app.app.app[data-theme] button.active:not(.schedule-bar):not(.gantt-milestone):not(.section-color-choice):not([role=tab]):not(.status-filter-reveal button){background:var(--selection-gradient);color:#242219}.app.app.app[data-theme] :is(button.primary,.task-scope button.active,.overview-filters button.active,.gantt-project-list button.active,.calendar-navigation button.active){background-image:radial-gradient(ellipse 45% 12px at 48% 0%,rgba(255,255,220,.9),rgba(255,255,205,.28) 40%,transparent 100%),var(--selection-gradient);box-shadow:inset 0 1px #fff9cdd9,inset 1px 0 #fffabe73,0 2px 10px #ffae2829}
