.react-flow{--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:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--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:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--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:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--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 #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.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:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--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:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--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:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--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 #00000014;--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{width:100%;height:100%;position:absolute;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{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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;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:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.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:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;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%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;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{z-index:5;margin:15px;position:absolute}.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{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.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{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;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));padding:10px;font-size:12px}.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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg-app:#0f1117;--bg-panel:#161a22;--bg-elevated:#1c2230;--bg-hover:#242b3a;--border:#2a3344;--text:#e8edf5;--text-muted:#8b95a8;--accent:#5b8def;--accent-soft:#5b8def26;--danger:#ef6b6b;--grid-color:#1e2533;--status-todo:#6b7280;--status-progress:#5b8def;--status-done:#3ecf8e;--status-blocked:#ef8f4a;--minimap-mask:#0f1117bf;--motion-fast:.2s;--motion-medium:.35s;--motion-ease:cubic-bezier(.4, 0, .2, 1);--font-size-base:16px;--panel-width:320px;--sidebar-width:240px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;font-size:var(--font-size-base);background:var(--bg-app);color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease)}.app{grid-template-columns:var(--sidebar-width) 1fr;height:100vh;transition:grid-template-columns var(--motion-medium) var(--motion-ease);display:grid;overflow:hidden}.app:has(.sidebar--collapsed){--sidebar-width:52px}.sidebar{border-right:1px solid var(--border);background:var(--bg-panel);min-width:0;transition:width var(--motion-medium) var(--motion-ease), background var(--motion-medium) var(--motion-ease);flex-direction:column;display:flex;overflow:hidden}.sidebar__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:16px;display:flex}.sidebar--collapsed .sidebar__header{flex-direction:column;gap:6px;padding:10px 8px}.sidebar__collapse,.sidebar__new{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:8px;flex-shrink:0;padding:6px 10px;line-height:1}.sidebar__collapse:hover,.sidebar__new:hover{border-color:var(--accent);color:var(--accent)}.sidebar--collapsed .sidebar__collapse,.sidebar--collapsed .sidebar__new{text-align:center;width:100%;padding:8px 0}.sidebar__header h1{flex:1;min-width:0;margin:0;font-size:1rem;font-weight:600}.sidebar__list{flex:1;margin:0;padding:8px;list-style:none;overflow-y:auto}.sidebar__list li{align-items:center;gap:4px;margin-bottom:4px;display:flex}.sidebar--collapsed .sidebar__list{padding:8px 6px}.sidebar--collapsed .sidebar__list li{flex-direction:column}.sidebar__item{color:var(--text);text-align:left;transition:background var(--motion-medium) var(--motion-ease), border-color var(--motion-medium) var(--motion-ease), box-shadow var(--motion-medium) var(--motion-ease);background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.sidebar__item:hover,.sidebar__item--active{background:var(--bg-hover);border-color:var(--border)}.sidebar__item--active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar--collapsed .sidebar__item{justify-content:center;align-items:center;width:36px;height:36px;margin:0 auto;padding:0}.sidebar--collapsed .sidebar__item--active{box-shadow:none;outline:2px solid var(--accent);outline-offset:-2px}.sidebar__initial{place-items:center;width:100%;height:100%;font-size:.85rem;font-weight:600;display:grid}.sidebar__title{font-weight:500}.sidebar__due{color:var(--text-muted);font-size:.75rem}.sidebar__footer{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:auto;padding:12px;display:flex}.sidebar--collapsed .sidebar__footer{align-items:center;padding:10px 6px}.sidebar__account{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.sidebar__account-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sidebar__avatar{border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:28px;height:28px}.sidebar__account-text{flex-direction:column;min-width:0;display:flex}.sidebar__account-name,.sidebar__account-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__account-name{font-size:.82rem;font-weight:600}.sidebar__account-email{color:var(--text-muted);font-size:.72rem}.sidebar__quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.sidebar__icon-btn{border:1px solid var(--border);background:var(--bg-elevated);width:100%;min-width:0;height:34px;color:var(--text);border-radius:8px;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid}.sidebar__icon-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.sidebar__icon-btn:disabled{opacity:.45;cursor:not-allowed}.sidebar__signout-btn{flex:0 0 34px;width:34px}.sidebar--collapsed .sidebar__account,.sidebar--collapsed .sidebar__quick-actions{width:36px}.sidebar--collapsed .sidebar__quick-actions{grid-template-columns:1fr}.sidebar__error{color:var(--danger);margin:0;font-size:.75rem}.assistant{flex-direction:column;gap:6px;width:100%;display:flex}.assistant__row{align-items:stretch;gap:6px;width:100%;display:flex}.assistant__input{resize:none;border:1px solid var(--border);background:var(--bg-elevated);min-width:0;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:6px 8px;font-size:.8rem;line-height:1.35}.assistant__input:focus{border-color:var(--accent);outline:none}.assistant__input::placeholder{color:var(--text-muted)}.assistant__input:disabled{opacity:.55;cursor:not-allowed}.assistant__buttons{flex-direction:column;flex:0 0 30px;gap:6px;display:flex}.assistant__buttons .sidebar__icon-btn{flex:1;width:30px;height:auto}.assistant__buttons .sidebar__icon-btn[aria-busy=true]{opacity:1}.assistant__spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite assistant-spin}@keyframes assistant-spin{to{transform:rotate(360deg)}}.assistant__mic--active,.assistant__mic--active:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.assistant__recording{color:var(--text-muted);align-items:center;gap:6px;font-size:.75rem;display:flex}.assistant__recording-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite assistant-pulse}@keyframes assistant-pulse{0%,to{opacity:1}50%{opacity:.35}}.assistant__status{white-space:pre-line;overflow-wrap:anywhere;max-height:96px;margin:0;font-size:.75rem;line-height:1.35;overflow-y:auto}.assistant__status--info{color:var(--text-muted)}.assistant__status--reply{color:var(--text)}.assistant__status--error{color:var(--danger)}.sidebar__nav{flex-direction:column;gap:4px;padding:8px 8px 0;display:flex}.sidebar__item--today{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.sidebar--collapsed .sidebar__item--today{justify-content:center;width:36px}.sidebar__section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:12px 16px 4px;font-size:.72rem;font-weight:600}.sidebar__badge{background:var(--accent-soft);min-width:1.4rem;color:var(--accent);text-align:center;border-radius:999px;padding:2px 6px;font-size:.72rem;font-weight:600}.sidebar__badge--overdue{color:var(--danger);background:#ef6b6b26}.sidebar__item--overdue .sidebar__initial{color:var(--danger)}.panel__actions{flex-wrap:wrap;gap:8px;display:flex}.panel__action{border:1px solid var(--border);background:var(--bg-elevated);color:var(--accent);border-radius:8px;padding:8px 12px;font-size:.85rem}.panel__action:hover{border-color:var(--accent);background:var(--accent-soft)}.panel__action--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.panel__action--ai{text-align:center;flex:1;justify-content:center}.panel__action:disabled{opacity:.5;cursor:not-allowed}.panel__danger-zone{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.panel__danger-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:.78rem;font-weight:600}.panel__danger-hint{color:var(--text-muted);margin:0 0 10px;font-size:.8rem;line-height:1.4}.panel__action--danger{color:var(--danger);border-color:#ef6b6b59}.panel__action--danger:hover:not(:disabled){color:#fff;border-color:var(--danger);background:#ef6b6b2e}.panel__confirm{flex-direction:column;gap:10px;display:flex}.panel__confirm-text{margin:0;font-size:.88rem;line-height:1.45}.panel__confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.panel__error{color:var(--danger);margin:0;font-size:.8rem}.settings-modal{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.settings-modal__panel{border:1px solid var(--border);background:var(--bg-panel);border-radius:12px;flex-direction:column;width:min(680px,100%);max-height:min(90vh,720px);display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.settings-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.settings-modal__header h2{margin:0;font-size:1.1rem;font-weight:600}.settings-modal__close{border:1px solid var(--border);background:var(--bg-elevated);width:32px;height:32px;color:var(--text-muted);border-radius:8px;font-size:1.25rem;line-height:1}.settings-modal__close:hover{border-color:var(--accent);color:var(--text)}.settings-modal__tabs{gap:4px;padding:12px 20px 0;display:flex}.settings-modal__tab{color:var(--text-muted);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;flex:1;padding:10px 12px;font-size:.9rem}.settings-modal__tab:hover{color:var(--text);background:var(--bg-elevated)}.settings-modal__tab--active{color:var(--accent);background:var(--bg-app);border-color:var(--border)}.settings-modal__body{border-top:1px solid var(--border);background:var(--bg-app);flex:1;padding:20px;overflow:auto}.settings-form{flex-direction:column;gap:14px;display:flex}.settings-form--section{border-top:1px solid var(--border);margin-top:8px;padding-top:18px}.settings-form__section-title{margin:0;font-size:.95rem;font-weight:600}.settings-form__hint{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.5}.settings-form__checkbox{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.settings-form__checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.settings-form__group{border:none;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.settings-form__group legend{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;padding:0;font-size:.8rem;font-weight:600}.field--color .field__color-row{grid-template-columns:40px 1fr;align-items:center;gap:8px;display:grid}.field--color input[type=color]{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:8px;width:40px;height:36px;padding:2px}.field__size-row{align-items:center;gap:8px;display:flex}.field__size-row input{flex:1}.field__unit{color:var(--text-muted);font-size:.85rem}.settings-form__css{resize:vertical;border:1px solid var(--border);background:var(--bg-elevated);width:100%;min-height:140px;color:var(--text);border-radius:8px;padding:10px 12px;font-family:Cascadia Code,Consolas,monospace;font-size:.85rem;line-height:1.5}.settings-form__css:focus{border-color:var(--accent);outline:none}.settings-form__actions{gap:8px;padding-top:4px;display:flex}.settings-form__save,.settings-form__secondary{border:1px solid var(--border);border-radius:8px;flex:1;padding:8px 12px;font-size:.9rem}.settings-form__save{background:var(--accent-soft);color:var(--accent)}.settings-form__secondary{background:var(--bg-elevated);color:var(--text)}.settings-form__secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.settings-form__secondary:disabled{opacity:.5;cursor:not-allowed}.settings-form__message{margin:0;font-size:.8rem;line-height:1.4}.settings-form__message--ok{color:var(--status-done)}.settings-form__message--error{color:var(--danger)}.preview-log__toolbar{justify-content:flex-end;display:flex}.preview-log__clear{flex:none;min-width:100px}.preview-log__empty{color:var(--text-muted);margin:0;font-size:.85rem}.preview-log{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.preview-log__entry{border-bottom:1px solid var(--border);grid-template-rows:auto auto auto;grid-template-columns:72px minmax(0,1fr) auto;gap:2px 10px;padding:8px 10px;font-size:.8rem;display:grid}.preview-log__entry:last-child{border-bottom:none}.preview-log__entry--llm{background:#5b8def0f}.preview-log__time{color:var(--text-muted);font-variant-numeric:tabular-nums;grid-row:1/span 2}.preview-log__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.preview-log__meta{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.preview-log__status{grid-column:2/span 2;font-size:.75rem}.preview-log__details{color:var(--text-muted);grid-column:2/span 2;gap:6px;font-size:.72rem;line-height:1.35;display:flex}.preview-log__details-label{color:var(--text);flex:none;font-weight:600}.preview-log__status--ok{color:var(--status-done)}.preview-log__status--error{color:var(--danger)}.preview-log__status--pending{color:var(--accent)}.preview-log__status--muted{color:var(--text-muted)}.preview-log__prompt{color:var(--text-muted);-webkit-line-clamp:2;white-space:pre-wrap;-webkit-box-orient:vertical;grid-column:2/span 2;font-size:.72rem;line-height:1.35;display:-webkit-box;overflow:hidden}.billing-settings{gap:16px}.billing-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;margin:0;padding:14px}.billing-card h3{margin:0 0 8px;font-size:.95rem;font-weight:600}.billing-card__value{color:var(--accent);margin:0 0 4px;font-size:2rem;font-weight:700;line-height:1}.billing-pricing{flex-direction:column;gap:10px;margin:0;display:flex}.billing-pricing div{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding-top:10px;display:flex}.billing-pricing div:first-child{border-top:none;padding-top:0}.billing-pricing dt{color:var(--text-muted)}.billing-pricing dd{text-align:right;margin:0;font-weight:600}.billing-top-up{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:12px;display:grid}.billing-top-up__field{margin:0}.billing-top-up__button{flex:none;min-width:150px}.field--compact{gap:4px}.field--compact span{color:var(--text-muted);font-size:.75rem}.field--compact input{padding:6px 8px;font-size:.85rem}.main{grid-template-columns:minmax(0, 1fr) var(--panel-width);background:var(--bg-app);min-width:0;height:100%;display:grid;overflow:hidden}.canvas-area{min-width:0;min-height:0;position:relative;overflow:hidden}.today-list{background:var(--bg-app);height:100%;padding:24px 32px;position:relative;overflow-y:auto}.dot-grid-background{pointer-events:none;z-index:0;position:absolute;inset:0}.dot-grid-background .react-flow{background:0 0;width:100%;height:100%}.today-list__header,.today-list__heading,.today-list__empty,.today-list__hint,.today-list__items{z-index:1;position:relative}.today-list--empty{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;display:flex}.today-list__header{align-items:center;gap:10px;margin-bottom:20px;display:flex}.today-list__heading{margin:0;font-size:1.25rem;font-weight:600}.today-list__count{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:600}.today-list__count--overdue{color:var(--danger);background:#ef6b6b26}.today-list__empty{color:var(--text-muted);margin:0;font-size:1rem}.today-list__hint{color:var(--text-muted);max-width:420px;margin:0;font-size:.85rem}.today-list__items{flex-direction:column;gap:24px;margin:0;padding:0 0 24px;list-style:none;display:flex}.today-list__item{width:fit-content;max-width:100%;margin-bottom:12px}.task-card__context{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;padding-left:2px;font-size:.78rem;display:flex}.task-card__context-sep{opacity:.6}.task-node--today{padding-bottom:12px}.today-checklist{border-top:1px solid var(--border);margin:10px 0 0;padding:10px 0 0}.today-checklist__items{flex-direction:column;gap:4px;margin:0 0 4px;padding:0;list-style:none;display:flex}.today-checklist__item{border-radius:8px;align-items:flex-start;gap:8px;padding:4px 6px;display:flex}.today-checklist__item:hover{background:var(--bg-hover)}.today-checklist__item--selected{background:var(--accent-soft)}.today-checklist__item--done .today-checklist__title{color:var(--text-muted);text-decoration:line-through}.today-checklist__check{border:2px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:4px;flex-shrink:0;width:16px;height:16px;margin-top:2px}.today-checklist__check--done{background:var(--accent);border-color:var(--accent)}.today-checklist__title{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:0;font-size:.85rem;line-height:1.35}.canvas{width:100%;height:100%}.canvas .react-flow__node{pointer-events:none;cursor:default}.canvas .react-flow__node .task-node,.canvas .react-flow__node .task-node__right-anchor,.canvas .react-flow__node .task-node__bottom-anchor,.canvas .react-flow__node .task-node__add-subtask{pointer-events:auto;cursor:pointer}.canvas .react-flow__edge{pointer-events:none;cursor:default}.canvas .blocker-edge-label{pointer-events:auto}.canvas .react-flow__pane{cursor:grab}.canvas .react-flow__pane:active{cursor:grabbing}.canvas-empty{height:100%;color:var(--text-muted);place-items:center;display:grid}.canvas-toolbar{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:8px 12px;display:flex;box-shadow:0 8px 24px #00000040}.canvas-toolbar button{border:1px solid var(--border);background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:6px 12px;font-weight:500}.canvas-toolbar__toggle{background:var(--bg-elevated);color:var(--text)}.canvas-bottom-bar{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;margin:0 0 10px 48px;padding:6px 10px;display:flex;box-shadow:0 8px 24px #00000040}.canvas-bottom-bar__group{border-left:1px solid var(--border);gap:4px;padding-left:4px;display:flex}.canvas-bottom-bar__btn{border:1px solid var(--border);background:var(--accent-soft);color:var(--accent);border-radius:8px;min-width:32px;padding:6px 10px;font-weight:500;line-height:1}.canvas-bottom-bar__btn--layout{background:var(--bg-elevated);color:var(--text);white-space:nowrap;min-width:auto}.canvas-bottom-bar__btn--toggle.canvas-bottom-bar__btn--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.canvas-bottom-bar__btn:disabled{opacity:.35;cursor:not-allowed}.canvas-toolbar__history{border-right:1px solid var(--border);gap:4px;padding-right:8px;display:flex}.canvas-toolbar__history-btn{min-width:32px;font-size:1rem;line-height:1;padding:6px 8px!important}.canvas-toolbar__history-btn:disabled{opacity:.35;cursor:not-allowed}.history-panel--drop-up .history-panel__dropdown{top:auto;bottom:calc(100% + 8px)}.history-panel{position:relative}.history-panel__toggle{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);white-space:nowrap;border-radius:8px;padding:6px 12px;font-weight:500}.history-panel__dropdown{z-index:10;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:280px;max-height:360px;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 12px 32px #00000059}.history-panel__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;font-weight:600;display:flex}.history-panel__actions{gap:4px;display:flex}.history-panel__action-btn{border:1px solid var(--border);background:var(--accent-soft);min-width:28px;color:var(--accent);border-radius:6px;padding:4px 6px;line-height:1}.history-panel__action-btn:disabled{opacity:.35;cursor:not-allowed}.history-panel__list{margin:0;padding:8px;list-style:none;overflow-y:auto}.history-panel__empty{color:var(--text-muted);padding:8px 10px;font-size:.85rem}.history-panel__item{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:.85rem;display:block}button.history-panel__item{cursor:pointer}button.history-panel__item:hover{background:var(--accent-soft)}button.history-panel__item.history-panel__item--future:hover{background:var(--accent-soft);opacity:1}.history-panel__item--pending{color:var(--text-muted);font-style:italic}.history-panel__item--current{background:var(--accent-soft);color:var(--accent);font-weight:600}.history-panel__item--future{color:var(--text-muted);opacity:.7}.history-panel__hint{border-top:1px solid var(--border);color:var(--text-muted);margin:0;padding:8px 12px;font-size:.75rem}.canvas-hint{color:var(--text-muted);font-size:.8rem}.panel{width:var(--panel-width);border-left:1px solid var(--border);background:var(--bg-panel);flex-direction:column;display:flex;overflow:hidden}.panel__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.panel__header h2{margin:0;font-size:1rem}.panel__delete{color:var(--danger);background:#ef6b6b1a;border:1px solid #ef6b6b59;border-radius:8px;padding:6px 10px}.panel__body{flex-direction:column;gap:14px;padding:16px;display:flex;overflow-y:auto}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:8px;padding:8px 10px}.field textarea{resize:vertical;min-height:80px}.combobox,.combobox__control{position:relative}.combobox__control--has-value input{padding-right:32px}.combobox__clear{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;font-size:1.1rem;line-height:1;transition:background .15s,color .15s;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.combobox__clear:hover{background:var(--bg-hover);color:var(--text)}.combobox__list{z-index:20;border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;max-height:180px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #00000059}.combobox__option{color:var(--text);cursor:pointer;border-radius:6px;padding:7px 10px;font-size:.9rem}.combobox__option:hover,.combobox__option--active{background:var(--bg-hover);color:var(--text)}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field__header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:.8rem;font-weight:600;display:flex}.task-cover-field{flex-direction:column;gap:6px;display:flex}.task-cover-field__generate{border:1px solid var(--border);text-transform:none;letter-spacing:normal;background:var(--bg-elevated);color:var(--text);border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:500}.task-cover-field__generate:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.task-cover-field__generate:disabled{opacity:.5;cursor:not-allowed}.task-cover-field__dropzone{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;border-radius:8px;min-height:96px;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.task-cover-field__dropzone--drag-over{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.task-cover-field__dropzone--generating{background:linear-gradient(90deg,#5b8def14 0%,#5b8def2e 50%,#5b8def14 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite task-preview-shimmer}.task-cover-field__file-input{display:none}.task-cover-field__placeholder{text-align:center;color:var(--text-muted);margin:0;padding:28px 12px;font-size:.85rem}.task-cover-field__preview{width:100%;height:96px;position:relative}.task-cover-field__preview img{object-fit:cover;width:100%;height:100%;display:block}.task-cover-field__remove{width:22px;height:22px;color:var(--danger);opacity:0;background:#0f1117bf;border:none;border-radius:999px;place-items:center;padding:0;font-size:.9rem;line-height:1;transition:opacity .15s;display:grid;position:absolute;top:6px;right:6px}.task-cover-field__preview:hover .task-cover-field__remove{opacity:1}.effective-status{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-weight:500}.effective-status--blocked{color:var(--status-blocked);border-color:#ef8f4a66}.effective-status--done{color:var(--status-done)}.effective-status--in_progress{color:var(--status-progress)}.panel__warning{color:#f5c49a;background:#ef8f4a1f;border:1px solid #ef8f4a4d;border-radius:8px;margin:0;padding:10px 12px;font-size:.85rem}.panel__hint,.panel__empty{color:var(--text-muted);margin:0;font-size:.85rem}.blocker-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.blocker-list li{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.blocker-list button{color:var(--text-muted);background:0 0;border:none;font-size:.8rem}.blocker-list button:hover{color:var(--danger)}.task-node{border:2px solid var(--border);background:var(--bg-elevated);transition:border-color var(--motion-medium) var(--motion-ease), box-shadow var(--motion-medium) var(--motion-ease), width var(--motion-medium) var(--motion-ease), opacity var(--motion-medium) var(--motion-ease);border-radius:14px;padding:10px 12px 12px;position:relative;box-shadow:0 10px 30px #00000040}.task-node--entering{animation:task-node-enter var(--motion-medium) var(--motion-ease)}@keyframes task-node-enter{0%{opacity:0}to{opacity:1}}.task-node--selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.task-node--expanded:not(.task-node--selected){border-color:#5b8def8c}.task-node--blocked{border-color:#ef8f4a99}.task-node--done{opacity:.72}.task-node__header{align-items:flex-start;gap:8px;display:flex}.task-node__preview{object-fit:cover;border-radius:12px 12px 0 0;width:calc(100% + 24px);height:64px;margin:-10px -12px 8px;display:block}.task-node__preview--generating{background:linear-gradient(90deg,#5b8def14 0%,#5b8def2e 50%,#5b8def14 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite task-preview-shimmer}@keyframes task-preview-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.task-node--has-children .task-node__header{padding-right:10px}.task-node__children{z-index:1;font-variant-numeric:tabular-nums;text-align:center;color:#8b95a873;pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;border-radius:4px;min-width:14px;padding:1px 3px;font-size:.58rem;font-weight:500;line-height:1.2;position:absolute;top:6px;right:7px}.task-node--children-expanded .task-node__children{color:#5b8defa6}.task-node:hover .task-node__children{color:#8b95a8b3}.task-node--children-expanded:hover .task-node__children{color:#5b8defcc}.task-node__bottom-anchor{z-index:1;width:22px;height:22px;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.task-node__right-anchor{z-index:1;width:22px;height:22px;position:absolute;top:50%;right:0;transform:translate(50%,-50%)}.task-node__add-subtask{z-index:2;border:2px solid var(--border);background:var(--bg-elevated);color:#8b95a873;box-sizing:border-box;opacity:1;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background .15s,border-color .15s,color .15s;display:flex;position:absolute;inset:0}.task-node:hover .task-node__add-subtask,.task-node--selected .task-node__add-subtask,.task-node--expanded .task-node__add-subtask,.task-node__add-subtask:focus-visible{color:var(--text-muted)}.task-node__add-subtask:hover{color:var(--accent);background:#243049;border-color:#5b8def8c}.task-node__add-subtask:active{transform-origin:50%;transform:scale(.94)}.task-node__add-subtask-icon{font-size:15px;font-weight:600;line-height:1;display:block;transform:translateY(-1px)}.task-node--selected .task-node__add-subtask{border-color:var(--accent)}.task-node__check{border:2px solid var(--border);width:18px;height:18px;transition:background var(--motion-medium) var(--motion-ease), border-color var(--motion-medium) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);background:0 0;border-radius:5px;flex-shrink:0;margin-top:2px}.task-node__check--done{background:var(--status-done);border-color:var(--status-done)}.task-node__title{word-break:break-word;flex:1;min-width:0;font-size:.92rem;font-weight:600;line-height:1.35}.task-node__meta{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.task-node__status,.task-node__assignee,.task-node__due{background:var(--bg-hover);color:var(--text-muted);border-radius:999px;padding:2px 7px;font-size:.72rem}.task-node__due--overdue{color:var(--danger);background:#ef6b6b26;border:1px solid #ef6b6b59;font-weight:600}.task-node__progress-bar{margin-top:8px}.progress-bar{background:var(--bg-hover);border-radius:999px;width:100%;height:6px;overflow:hidden}.progress-bar__fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #7aa8f7);height:100%;transition:width var(--motion-medium) var(--motion-ease), background var(--motion-medium) var(--motion-ease)}.progress-bar--complete .progress-bar__fill{background:var(--status-done)}.progress-slider{width:100%;accent-color:var(--accent);margin-top:4px}.field__hint{color:var(--text-muted);font-size:.8rem}.field__hint--overdue{color:var(--danger);font-weight:500}.blocker-edge-label{background:var(--bg-panel);pointer-events:all;border:1px solid #ef8f4a73;border-radius:999px;align-items:center;gap:4px;padding:2px 6px;display:flex;position:absolute}.blocker-edge-label__text{color:var(--status-blocked);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.blocker-edge-label__remove{width:18px;height:18px;color:var(--danger);background:#ef6b6b26;border:none;border-radius:999px;place-items:center;padding:0;font-size:.9rem;line-height:1;display:grid}.blocker-edge-label__remove:hover{background:#ef6b6b4d}.edge-blocker--animated{stroke-dashoffset:0;animation:1.2s linear infinite edge-blocker-flow}@keyframes edge-blocker-flow{to{stroke-dashoffset:-20px}}.task-node__status--todo{color:var(--status-todo)}.task-node__status--in_progress{color:var(--status-progress)}.task-node__status--done{color:var(--status-done)}.task-node__status--blocked{color:var(--status-blocked);background:#ef8f4a26}.task-handle{border:2px solid var(--bg-elevated)!important;width:10px!important;height:10px!important}.task-handle--hierarchy{background:var(--text-muted)!important}.task-node__bottom-anchor .task-handle--hierarchy,.task-node__right-anchor .task-handle--hierarchy,.canvas .react-flow__node .task-node__bottom-anchor .task-handle--hierarchy,.canvas .react-flow__node .task-node__right-anchor .task-handle--hierarchy{opacity:0;pointer-events:none!important;border:none!important;width:8px!important;height:8px!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important}.task-handle--blocker{opacity:0;pointer-events:none;transition:opacity .15s;background:var(--status-blocked)!important}.task-node:hover .task-handle--blocker,.task-node--selected .task-handle--blocker,.canvas .react-flow__node .task-node:hover .task-handle--blocker,.canvas .react-flow__node .task-node--selected .task-handle--blocker{opacity:1;pointer-events:all}.react-flow__edge-path.edge-hierarchy--depth-0{stroke:#7aa8f7;stroke-width:2.5px;transition:stroke var(--motion-medium) var(--motion-ease), stroke-width var(--motion-medium) var(--motion-ease)}.react-flow__edge-path.edge-hierarchy--depth-1{stroke:#5b8def;transition:stroke var(--motion-medium) var(--motion-ease), stroke-width var(--motion-medium) var(--motion-ease)}.react-flow__edge-path.edge-hierarchy--depth-2{stroke:#4a6a9f;transition:stroke var(--motion-medium) var(--motion-ease), stroke-width var(--motion-medium) var(--motion-ease)}.react-flow__edge-path.edge-hierarchy--depth-3{stroke:#3d5578;stroke-width:1.5px;transition:stroke var(--motion-medium) var(--motion-ease), stroke-width var(--motion-medium) var(--motion-ease)}.react-flow__edge-path.edge-hierarchy--done{stroke-width:2px;transition:stroke var(--motion-medium) var(--motion-ease), stroke-width var(--motion-medium) var(--motion-ease);stroke:var(--status-done)!important}.edge-blocker{stroke:var(--status-blocked);stroke-width:2px;stroke-dasharray:6 4;transition:stroke var(--motion-medium) var(--motion-ease), stroke-dasharray var(--motion-medium) var(--motion-ease)}.canvas .react-flow__controls{margin:0 0 10px 10px}.canvas .react-flow__controls button{background:var(--bg-elevated);border-color:var(--border);color:var(--text)}.canvas .react-flow__minimap{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px}@media (width<=1100px){.app{--panel-width:280px;--sidebar-width:200px}.app:has(.sidebar--collapsed){--sidebar-width:52px}}.description-field{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.description-field__expand{z-index:1;border:1px solid var(--border);background:var(--bg-panel);width:24px;height:24px;color:var(--text-muted);opacity:0;border-radius:6px;place-items:center;padding:0;font-size:.85rem;line-height:1;transition:opacity .15s,border-color .15s,color .15s;display:grid;position:absolute;top:6px;right:6px}.description-field:hover .description-field__expand,.description-field:focus-within .description-field__expand{opacity:1}.description-field__expand:hover{border-color:var(--accent);color:var(--text)}.description-field__hint{color:var(--text-muted);margin:0;padding:0 10px 8px;font-size:.72rem}.description-editor{width:100%;color:var(--text);white-space:pre-wrap;overflow-wrap:break-word;cursor:text;outline:none;padding:10px;overflow-y:auto}.description-editor--compact{min-height:100px;max-height:320px;font-size:.9rem}.description-editor--expanded{flex:1;min-height:0;padding:16px 20px;font-size:.95rem;line-height:1.55}.description-editor--drag-over{box-shadow:inset 0 0 0 2px var(--accent);border-radius:8px}.description-editor[data-empty=true]:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.description-editor__image{vertical-align:middle;border:1px solid var(--border);background:var(--bg-hover);border-radius:6px;margin:2px 4px 2px 0;display:inline-block}.description-editor--compact .description-editor__image{object-fit:contain;max-width:96px;max-height:64px}.description-editor--expanded .description-editor__image{object-fit:contain;max-width:min(100%,480px);max-height:320px}.description-editor__image::selection{background:var(--accent-soft)}.description-modal{z-index:110;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.description-modal__panel{border:1px solid var(--border);background:var(--bg-panel);border-radius:12px;flex-direction:column;width:min(860px,100%);height:min(85vh,820px);display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.description-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.description-modal__header h2{margin:0;font-size:1.05rem;font-weight:600}.description-modal__close{border:1px solid var(--border);background:var(--bg-elevated);width:32px;height:32px;color:var(--text-muted);border-radius:8px;font-size:1.25rem;line-height:1}.description-modal__close:hover{border-color:var(--accent);color:var(--text)}.description-modal__body{background:var(--bg-app);flex-direction:column;flex:1;min-height:0;display:flex}.description-modal__hint{color:var(--text-muted);border-top:1px solid var(--border);background:var(--bg-app);margin:0;padding:8px 20px 12px;font-size:.72rem}.voice-note-field{flex-direction:column;gap:8px;display:flex}.voice-note-field__recording{background:#ef6b6b14;border:1px solid #ef6b6b40;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:none}.voice-note-field__recording--visible{display:flex}.voice-note-field__indicator{background:var(--danger);border-radius:999px;width:8px;height:8px;animation:1.2s ease-in-out infinite voice-note-pulse}@keyframes voice-note-pulse{0%,to{opacity:1}50%{opacity:.35}}.voice-note-field__timer{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.voice-note-field__status{color:var(--text-muted);font-size:.8rem}.voice-note-field__player{width:100%;height:32px}.voice-note-field__actions{flex-wrap:wrap;gap:8px;display:flex}.voice-note-field__record{touch-action:none;-webkit-user-select:none;user-select:none}.voice-note-field__record--active{color:var(--danger);background:#ef6b6b26;border-color:#ef6b6b73}.voice-note-field__hint{color:var(--text-muted);margin:0;font-size:.72rem}.app-loading{min-height:100vh;color:var(--text-muted);text-align:center;place-items:center;padding:24px;display:grid}.app-loading--error{color:var(--danger)}.auth-screen{background:linear-gradient(135deg, #161a22e6, #0f1117bd), radial-gradient(circle at top left, #5b8def33, transparent 34rem), radial-gradient(circle at bottom right, #3ecf8e1f, transparent 30rem), var(--bg-app);flex-direction:column;align-items:center;gap:64px;min-height:100vh;padding:56px 24px 72px;display:flex;position:relative;overflow:hidden}.auth-screen:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000b3,#0000 78%);mask-image:linear-gradient(#000000b3,#0000 78%)}.auth-screen__glow{filter:blur(10px);opacity:.7;pointer-events:none;border-radius:999px;position:absolute}.auth-screen__glow--primary{background:#5b8def2e;width:180px;height:180px;top:96px;right:8%}.auth-screen__glow--secondary{background:#3ecf8e1a;width:220px;height:220px;bottom:120px;left:8%}.landing-topbar,.landing-hero,.landing-section,.landing-compare,.landing-pricing,.landing-cta,.landing-footer{z-index:1;width:min(1120px,100%);position:relative}.landing-topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.landing-wordmark{letter-spacing:-.03em;color:#f7f9ff;font-size:1.35rem;font-weight:800}.landing-wordmark:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;margin-left:4px;display:inline-block}.landing-topbar__signin{border:1px solid var(--border);color:var(--text);background:#161a22cc;border-radius:999px;padding:8px 18px;font-size:.9rem;font-weight:600}.landing-topbar__signin:hover:not(:disabled){border-color:var(--accent);color:#fff;background:var(--accent-soft)}.landing-topbar__signin:disabled{opacity:.6;cursor:not-allowed}.landing-hero{grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);align-items:center;gap:48px;padding-top:16px;display:grid}.landing-hero__content{flex-direction:column;align-items:flex-start;display:flex}.landing-eyebrow{color:#9fbaff;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:700}.landing-hero h1,.landing-section h2,.landing-compare h2,.landing-pricing h2,.landing-cta h2{color:#f7f9ff;letter-spacing:-.04em;margin:0}.landing-hero h1{max-width:720px;font-size:clamp(2.6rem,7vw,5.4rem);line-height:.98}.landing-hero__accent{background:linear-gradient(105deg, #9fbaff, var(--accent) 55%, #3ecf8e);color:#0000;-webkit-background-clip:text;background-clip:text}.landing-hero__lead{color:#b6c0d3;max-width:680px;margin:24px 0 0;font-size:clamp(1rem,2vw,1.22rem);line-height:1.7}.landing-hero__actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:32px;display:flex}.landing-hero__note{max-width:280px;color:var(--text-muted);font-size:.84rem;line-height:1.5}.landing-hero__note strong{color:#3ecf8e}.auth-card__button{border:1px solid var(--border);color:#151922;background:#fff;border-radius:999px;min-width:210px;padding:13px 22px;font-weight:700;box-shadow:0 18px 38px #5b8def47,inset 0 0 0 1px #ffffffb3}.auth-card__button:hover:not(:disabled){background:#eef3ff;border-color:#ffffffd9;transform:translateY(-1px)}.auth-card__button:disabled{opacity:.6;cursor:not-allowed}.auth-card__error{color:var(--danger);margin:18px 0 0;font-size:.9rem}.landing-preview{background:linear-gradient(180deg, #1c2230f0, #0e1118f5), var(--bg-panel);border:1px solid #8b95a83d;border-radius:28px;width:100%;min-height:440px;overflow:hidden;box-shadow:0 30px 90px #0000006b,inset 0 1px #ffffff0f}.landing-preview__toolbar{background:#0f111780;border-bottom:1px solid #8b95a829;gap:8px;padding:18px 20px;display:flex}.landing-preview__toolbar span{background:#8b95a873;border-radius:50%;width:10px;height:10px}.landing-preview__canvas{background-image:radial-gradient(circle,#8b95a82e 1px,#0000 1px);background-size:24px 24px;min-height:382px;position:relative}.landing-preview__threads{z-index:0;width:100%;height:100%;position:absolute;inset:0}.landing-preview__threads path{fill:none;stroke:#5b8def8c;stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.landing-preview__threads .landing-preview__thread--blocked{stroke:#ef8f4a99;stroke-dasharray:6 6}.landing-preview__node{z-index:1;background:#161b26;border:1px solid #8b95a83d;border-radius:18px;flex-direction:column;gap:8px;min-width:150px;padding:18px;display:flex;position:absolute;box-shadow:0 16px 36px #00000042}.landing-preview__node span{color:var(--text-muted);font-size:.82rem}.landing-preview__node strong{color:var(--text);font-size:1.1rem}.landing-preview__node--main{background:linear-gradient(#5b8def2e,#5b8def2e),#161b26;border-color:#5b8def75;min-width:190px;top:12%;left:50%;transform:translate(-50%)}.landing-preview__node--accent{top:40%;left:8%}.landing-preview__node--blocked{border-color:#ef8f4a80;top:44%;right:8%}.landing-preview__node--today{border-color:#3ecf8e80;bottom:8%;left:50%;transform:translate(-50%)}.landing-section{gap:28px;display:grid}.landing-section__header{max-width:660px}.landing-section h2,.landing-compare h2,.landing-pricing h2,.landing-cta h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.landing-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.landing-feature-card,.landing-plan,.landing-cta{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#161a22b8;border:1px solid #8b95a833;box-shadow:0 18px 48px #00000038}.landing-feature-card{border-radius:22px;padding:22px}.landing-feature-card__badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-bottom:14px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-block}.landing-feature-card__badge--free{color:#3ecf8e;background:#3ecf8e24;border:1px solid #3ecf8e59}.landing-feature-card__badge--ai{color:#9fbaff;background:var(--accent-soft);border:1px solid #5b8def66}.landing-feature-card h3{color:var(--text);margin:0 0 10px;font-size:1.03rem}.landing-feature-card p{color:var(--text-muted);margin:0;line-height:1.65}.landing-compare{gap:28px;display:grid}.landing-compare__table{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#161a22b8;border:1px solid #8b95a833;border-radius:22px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.landing-compare__head{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #8b95a833;padding:18px 24px;font-size:.82rem;font-weight:700}.landing-compare__head--nornia{color:#9fbaff}.landing-compare__cell{color:var(--text-muted);border-bottom:1px solid #8b95a81f;padding:20px 24px;line-height:1.6}.landing-compare__cell--nornia{color:#dbe4f5;background:#5b8def12}.landing-compare__table>:nth-last-child(-n+2){border-bottom:none}.landing-pricing{gap:28px;display:grid}.landing-pricing__lead{max-width:560px;color:var(--text-muted);margin:14px 0 0;font-size:1.05rem;line-height:1.65}.landing-pricing__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.landing-plan{border-radius:24px;padding:28px}.landing-plan--featured{border-color:#3ecf8e73;box-shadow:0 18px 48px #00000038,0 0 0 1px #3ecf8e33}.landing-plan__name{color:var(--text);letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:1rem;font-weight:700}.landing-plan__price{color:#f7f9ff;letter-spacing:-.03em;margin:0 0 18px;font-size:2rem;font-weight:800}.landing-plan__price span{color:var(--text-muted);letter-spacing:0;font-size:.85rem;font-weight:500}.landing-plan ul{gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.landing-plan li{color:#c6cede;padding-left:26px;line-height:1.55;position:relative}.landing-plan li:before{content:"";background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;position:absolute;top:.5em;left:0}.landing-plan--featured li:before{background:#3ecf8e;box-shadow:0 0 0 4px #3ecf8e29}.landing-plan__footnote{color:var(--text-muted);margin:0;font-size:.85rem}.landing-cta{text-align:center;border-radius:28px;flex-direction:column;align-items:center;gap:6px;padding:48px 32px;display:flex}.landing-cta p{max-width:480px;color:var(--text-muted);margin:0 0 22px;line-height:1.65}.landing-footer{text-align:center;flex-direction:column;align-items:center;gap:8px;padding-top:8px;display:flex}.landing-wordmark--footer{font-size:1.05rem}.landing-footer p{max-width:420px;color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.6}@media (width<=920px){.auth-screen{gap:48px;padding-top:32px}.landing-hero,.landing-pricing__grid{grid-template-columns:1fr}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.auth-screen{padding:24px 16px 48px}.landing-hero h1{font-size:clamp(2.3rem,15vw,4rem)}.landing-hero__actions,.auth-card__button{width:100%}.landing-hero__note{max-width:none}.landing-topbar__signin{padding:8px 14px;font-size:.82rem}.landing-compare__table{grid-template-columns:1fr}.landing-compare__head{display:none}.landing-compare__cell:before{content:"Other task managers";color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:700;display:block}.landing-compare__cell--nornia:before{content:"Nornia";color:#9fbaff}.landing-compare__cell{border-bottom:none;padding-bottom:12px}.landing-compare__cell--nornia{border-bottom:1px solid #8b95a833;padding-bottom:20px}.landing-compare__table>.landing-compare__cell:last-child{border-bottom:none}.landing-cta{padding:36px 20px}.landing-preview{border-radius:22px;min-height:430px}.landing-preview__canvas{min-height:372px}.landing-preview__node{min-width:138px;padding:14px}.landing-preview__node--main{top:8%}.landing-preview__node--accent{top:38%;left:4%}.landing-preview__node--blocked{top:46%;right:4%}.landing-feature-grid{grid-template-columns:1fr}.landing-feature-card{min-height:auto}.landing-advantage{padding:24px}}
