.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{--bg: #f5f6f8;--panel: #ffffff;--panel-2: #f0f2f5;--hover: #eceff3;--border: #e2e5ea;--text: #1b2130;--muted: #6b7385;--faint: #9aa1b0;--accent: #4f6bff;--accent-weak: #e9edff;--accent-text: #ffffff;--danger: #e03131;--ok: #2f9e44;--warn: #e67700;--st-todo: #868e96;--st-doing: #4f6bff;--st-review: #e67700;--st-done: #2f9e44;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 6px 20px rgba(16, 24, 40, .07);--shadow-lg: 0 10px 40px rgba(16, 24, 40, .18);--radius: 10px;--sidebar: 248px;--bottom-nav: 60px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #101217;--panel: #181b22;--panel-2: #20242d;--hover: #262a34;--border: #2b303b;--text: #e5e8ee;--muted: #949cad;--faint: #6b7385;--accent: #7088ff;--accent-weak: #232a4a;--danger: #ff6b6b;--ok: #51cf66;--warn: #ffa94d;--st-todo: #868e96;--st-doing: #7088ff;--st-review: #ffa94d;--st-done: #51cf66;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .5);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:22px;font-weight:650}h2{font-size:15px;font-weight:600}.sidebar{width:var(--sidebar);flex:none;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding:14px 10px}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px;font-weight:700;font-size:16px}.brand img{width:26px;height:26px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:0;border-radius:8px;background:none;text-align:left;color:var(--text)}.nav-item:hover{background:var(--hover)}.nav-item.active{background:var(--accent-weak);color:var(--accent);font-weight:600}.nav-item .count{margin-left:auto;font-size:12px;color:var(--muted)}.nav-section{margin:18px 10px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);display:flex;align-items:center}.sidebar button.nav-section{border:0;background:none;padding:0;cursor:pointer;text-align:left}.nav-section button{margin-left:auto}.project-tabs{margin-bottom:18px}.main{flex:1;min-width:0;overflow-y:auto;position:relative}.page{max-width:980px;margin:0 auto;padding:24px 28px 120px}.page.wide{max-width:none}.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.page-head .sub{color:var(--muted);font-size:13px}.spacer{flex:1}.bottom-nav{display:none}.fab{position:fixed;right:24px;bottom:24px;z-index:30;width:54px;height:54px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-lg);display:grid;place-items:center}.fab:active{transform:scale(.96)}@media (max-width: 860px){.sidebar{display:none}.page{padding:16px 16px calc(var(--bottom-nav) + 96px)}h1{font-size:20px}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(var(--bottom-nav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--border)}.bottom-nav button{flex:1;border:0;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10.5px}.bottom-nav button.active{color:var(--accent)}.fab{right:16px;bottom:calc(var(--bottom-nav) + 16px + env(safe-area-inset-bottom))}}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);white-space:nowrap}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{border-color:transparent;background:none}.btn.ghost:hover{background:var(--hover)}.btn.sm{padding:4px 9px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;border:0;border-radius:8px;background:none;color:var(--muted)}.input,.select,.textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel);outline:none}.textarea{resize:vertical;min-height:80px}.input.bare,.textarea.bare{border-color:transparent;background:none;padding-left:0;padding-right:0;box-shadow:none}.field{display:grid;gap:4px}.field>span{font-size:12px;color:var(--muted)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.muted{color:var(--muted)}.small{font-size:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.section{margin-top:22px}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding:0 4px}.section-title .n{color:var(--faint);font-size:12px;font-weight:500}.section-title.danger h2{color:var(--danger)}.chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:1px 8px;border-radius:999px;font-size:12px;background:var(--panel-2);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip.clickable{border:1px solid transparent;cursor:pointer;padding:3px 10px;font-size:13px}.chip.clickable.active{border-color:var(--accent);color:var(--accent);background:var(--accent-weak)}.dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.seg{display:inline-flex;background:var(--panel-2);border-radius:8px;padding:2px;flex-wrap:wrap}.seg button{border:0;background:none;padding:5px 10px;border-radius:6px;font-size:13px;color:var(--muted)}.seg button.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow);font-weight:550}.empty{padding:28px 12px;text-align:center;color:var(--faint)}.task-list{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.task-row{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border);cursor:pointer}.task-row:last-child{border-bottom:0}.task-main{flex:1;min-width:0}.task-title{overflow-wrap:anywhere}.task-title.done{color:var(--faint);text-decoration:line-through}.task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:2px;font-size:12px;color:var(--muted)}.task-meta>span{display:inline-flex;align-items:center;gap:4px}.due.overdue{color:var(--danger);font-weight:550}.due.today{color:var(--accent);font-weight:550}.parent-ref{color:var(--faint)}.check{width:18px;height:18px;margin-top:1px;flex:none;border-radius:50%;border:2px solid var(--faint);background:none;padding:0;display:grid;place-items:center;color:#fff}.check.p1{border-color:#4dabf7}.check.p2{border-color:var(--warn)}.check.p3{border-color:var(--danger)}.check.done{background:var(--st-done);border-color:var(--st-done)}.check:hover{box-shadow:0 0 0 3px var(--accent-weak)}.status-pill{font-size:11px;padding:0 7px;border-radius:999px;font-weight:550}.status-pill.doing{background:color-mix(in srgb,var(--st-doing) 15%,transparent);color:var(--st-doing)}.status-pill.review{background:color-mix(in srgb,var(--st-review) 15%,transparent);color:var(--st-review)}.add-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);color:var(--muted)}.add-row input{flex:1;border:0;background:none;outline:none;padding:4px 0}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1259;z-index:50}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:51;width:min(460px,100vw);background:var(--panel);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.drawer-head{display:flex;align-items:center;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border)}.drawer-body{flex:1;overflow-y:auto;padding:14px 18px 40px;display:grid;gap:14px;align-content:start}.title-input{font-size:18px;font-weight:600;resize:none;min-height:0;overflow:hidden}.subtasks{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.subtasks .task-row{padding:7px 10px}.modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:start center;padding:10vh 16px 16px;background:#0a0c1259}.modal{width:min(480px,100%);background:var(--panel);border-radius:14px;box-shadow:var(--shadow-lg);padding:18px;display:grid;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 860px){.drawer{width:100vw}.modal-wrap{place-items:end center;padding:0}.modal{border-radius:16px 16px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:80;background:#1b2130;color:#fff;padding:9px 16px;border-radius:10px;box-shadow:var(--shadow-lg);max-width:calc(100vw - 32px)}@media (max-width: 860px){.toast{bottom:calc(var(--bottom-nav) + 84px)}}.kanban{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:12px;align-items:start}.kcol{background:var(--panel-2);border-radius:var(--radius);padding:8px;min-height:160px;border:2px solid transparent}.kcol.over{border-color:var(--accent);background:var(--accent-weak)}.kcol-head{display:flex;align-items:center;gap:8px;padding:4px 6px 10px;font-weight:600}.kcol-head .n{color:var(--faint);font-weight:500;font-size:12px}.kcards{display:grid;gap:8px}.kcard{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:9px 10px;box-shadow:0 1px 2px #1018280a;cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none}.kcard.dragging{opacity:.35}.kcard.overlay{box-shadow:var(--shadow-lg);cursor:grabbing;transform:rotate(1.5deg)}.kcard .task-meta{margin-top:6px}.kcard .bar{height:3px;border-radius:2px;margin:-3px -4px 7px}@media (max-width: 860px){.kanban{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 8px}.kcol{flex:0 0 84%;scroll-snap-align:center}}.tl-header{gap:8px}.tl-night-toggle{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.tl-night-toggle.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-soft)}.tl-night-count{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:9px;background:color-mix(in srgb,var(--accent) 22%,var(--panel));font-size:10px;font-weight:700}.tl-queue-toggle{display:inline-flex;align-items:center;gap:5px}.tl-queue-toggle.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-soft)}.tl-queue-count{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:9px;background:var(--panel);color:var(--muted);font-size:10px;font-weight:700}.tl-side-placeholder{padding:10px 8px;color:var(--faint);font-size:12px}.tl-days{min-height:40px}.tl-all-day{display:grid;position:sticky;top:40px;z-index:3;min-height:48px;background:var(--side);border-bottom:1px solid var(--border-strong);box-shadow:0 4px 10px #00000014}.tl-all-day-label{align-self:center;padding:4px 5px;color:var(--faint);font-size:10px;line-height:1.2;text-align:right}.tl-all-day-col{position:relative;min-width:0;min-height:48px;max-height:116px;overflow-y:auto;padding:4px 5px 4px 4px;border-left:1px solid var(--border)}.tl-all-day-col.drop{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.tl-all-day-add{position:sticky;top:0;z-index:1;float:right;display:grid;place-items:center;width:19px;height:19px;margin:0 0 2px 2px;padding:0;border:0;border-radius:5px;background:var(--panel-2);color:var(--faint);opacity:.6;cursor:pointer}.tl-all-day-col:hover .tl-all-day-add,.tl-all-day-add:focus-visible{opacity:1;color:var(--accent)}.tl-all-day-item{clear:both;min-width:0;min-height:25px;margin:2px 0;padding:3px 5px;border:1px solid color-mix(in srgb,var(--bc) 35%,var(--border));border-left:3px solid var(--bc);background:color-mix(in srgb,var(--bc) 13%,var(--panel));box-shadow:none;font-size:11px}.tl-all-day-item.done{opacity:.52}.tl-all-day-item.done .tl-item-title{text-decoration:line-through}.tl-all-day-item .tl-priority{font-size:0;width:15px;height:15px;justify-content:center;padding:0}.tl-all-day-item .tl-priority-dot{width:6px;height:6px}.tl-all-day-col .tl-all-day-item{flex:1 1 auto;max-width:none;padding:3px 5px}.tl-block{border:1px solid color-mix(in srgb,var(--bc) 40%,var(--border));border-left:3px solid var(--bc)}.tl-block.compact{padding:2px 5px}.tl-block.compact .tl-block-head{gap:2px}.tl-block.compact .tl-block-time{font-size:10px}.tl-block.compact .tl-block-title{white-space:nowrap;text-overflow:ellipsis}.tl-block.compact .tl-priority{width:15px;height:15px;padding:0;justify-content:center;font-size:0}.tl-block.compact .tl-priority-dot{width:6px;height:6px}.tl-block:hover{outline:1px solid color-mix(in srgb,var(--bc) 65%,transparent)}@media (max-width: 860px){.tl-header .tl-title{order:2}.tl-header .tl-queue-toggle,.tl-header .tl-night-toggle,.tl-header .cal-color-control{order:3}.tl-page .tl-header .sub,.tl-queue-label{display:none}.tl-header .cal-color-control{font-size:0}.tl-header .cal-color-control .select{max-width:140px}.tl-page .cal-priority-legend{gap:9px;padding:5px 12px;font-size:10px}.tl-page .cal-priority-hint{display:none}.tl-all-day-col{padding:3px 2px}.tl-all-day-col .tl-all-day-item{min-height:19px;padding:2px 3px;font-size:10px}.tl-all-day-col .tl-priority{display:none}.tl-all-day-add{width:16px;height:16px}.tl-queue-toggle{padding:4px 6px}}.calendar-page{padding:18px 20px 90px}.calendar-head{gap:8px}.calendar-head h1{margin-right:4px}.cal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cal-wd{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}.cal-wd div{padding:9px 8px;font-size:12px;color:var(--muted);text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-cell{min-height:142px;padding:4px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:3px;cursor:pointer;min-width:0}.cal-cell:nth-child(7n){border-right:0}.cal-cell.other{background:var(--panel-2)}.cal-cell.other .cal-num{color:var(--faint)}.cal-cell.selected{box-shadow:inset 0 0 0 2px var(--accent)}.cal-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cal-cell.over{background:var(--accent-weak)}.cal-cell-head{display:flex;align-items:center;justify-content:space-between;min-height:23px}.cal-num{font-size:12px;padding:3px 5px;border-radius:8px}.cal-cell.today .cal-num{background:var(--accent);color:var(--accent-text);font-weight:700}.cal-cell-add{width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);opacity:0;cursor:pointer}.cal-cell:hover .cal-cell-add,.cal-cell-add:focus-visible{opacity:1;background:var(--panel-2);color:var(--accent)}.cal-chip{display:flex;align-items:center;gap:5px;min-width:0;min-height:19px;padding:2px 5px;border-left:2px solid var(--cal-color);border-radius:4px;background:color-mix(in srgb,var(--cal-color) 23%,var(--panel));color:var(--text);font-size:11px;line-height:1.25;cursor:grab;touch-action:manipulation}.cal-chip:hover{background:color-mix(in srgb,var(--cal-color) 34%,var(--panel))}.cal-chip-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip-time{flex:none;color:var(--muted);font-size:10px}.cal-chip-priority{flex:none;font-size:10px;font-weight:650}.cal-chip.done{opacity:.5;text-decoration:line-through}.cal-more{font-size:11px;color:var(--muted);padding-left:5px}.cal-day-panel{position:fixed;z-index:30;top:90px;right:20px;width:min(410px,calc(100vw - 40px));max-height:calc(100vh - 110px);overflow:auto;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--panel);box-shadow:var(--shadow-lg)}.cal-day-panel .section-title h2{font-size:16px}@media (max-width: 860px){.calendar-page{padding:12px 10px 90px}.cal-cell{min-height:54px}.cal-cell-add{display:none}.cal-chip{font-size:0;min-height:4px;height:4px;padding:0;border-left:0}.cal-chip-title,.cal-chip-time,.cal-chip-priority,.cal-more{display:none}.cal-day-panel{top:auto;right:8px;bottom:calc(var(--bottom-nav) + 8px);width:calc(100vw - 16px);max-height:55vh}}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.ccard{padding:14px;cursor:pointer;display:grid;gap:6px;position:relative;overflow:hidden}.ccard:hover{border-color:var(--faint)}.ccard .stripe{position:absolute;left:0;top:0;bottom:0;width:4px}.ccard .title{font-weight:600;overflow-wrap:anywhere}.cocoon-card{padding:12px;display:grid;gap:8px;align-content:start}.cocoon-title{flex:1;min-width:110px;font-weight:600}.cocoon-client{flex:1;min-width:150px}.cocoon-period{width:150px}.cocoon-item{display:flex;align-items:center;gap:4px;border-top:1px solid var(--border)}.cocoon-item-link{flex:1;border:0;background:none;padding:5px 0;text-align:left;color:var(--muted)}.cocoon-item-link:hover{color:var(--accent)}.progress{height:5px;border-radius:3px;background:var(--panel-2);overflow:hidden}.progress>div{height:100%;background:var(--st-done)}.swatches{display:flex;gap:6px;flex-wrap:wrap}.swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;padding:0}.swatch.active{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--text)}.tpl-item{display:grid;grid-template-columns:1fr 86px 32px;gap:6px;align-items:center}.graph-page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.graph-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap}.graph-head .title-edit{font-size:16px;font-weight:600;min-width:140px;flex:1}.graph-canvas{flex:1;position:relative}.graph-canvas .react-flow{background:var(--bg)}.react-flow__attribution{display:none}.react-flow__controls{box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.react-flow__controls-button:hover{background:var(--hover)}.react-flow__handle{opacity:0;pointer-events:none;width:1px;height:1px;min-width:0;min-height:0;border:0}.mnode{max-width:260px;width:max-content;padding:7px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--border);color:var(--text);display:flex;align-items:flex-start;gap:7px;cursor:pointer;position:relative;box-shadow:0 2px 8px #1018280f}.mnode.root{padding:10px 18px;font-size:16px;font-weight:650;border-radius:12px;color:#fff;border-color:transparent;box-shadow:var(--shadow)}.mnode.d1{font-weight:600}.mnode.virtual-quarter,.mnode.virtual-month{background:var(--panel-2);border-color:var(--border);font-weight:600}.mnode.virtual-month{font-weight:500}.node-progress{display:grid;gap:3px;min-width:48px;color:var(--muted);font-size:11px;text-align:right}.node-progress .progress{width:48px;height:4px}.node-progress .progress>span{display:block;height:100%;background:var(--st-done)}.mnode.selected{box-shadow:0 0 0 3px var(--accent)}.mnode .label{overflow-wrap:anywhere;white-space:pre-wrap;min-width:20px}.mnode .label.placeholder{color:var(--faint)}.mnode.task-done .label{text-decoration:line-through;opacity:.65}.mnode .check{margin-top:1px;width:16px;height:16px}.graph-readonly-check{display:inline-grid;place-items:center;width:16px;height:16px;flex:none;color:var(--muted);font-size:15px}.graph-closed-notice{width:min(1100px,calc(100% - 32px));margin:10px auto;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:12px}.mnode .mdue{font-size:11px;color:var(--muted);white-space:nowrap;margin-top:2px}.mnode .mdue.overdue{color:var(--danger)}.mnode textarea{border:0;outline:none;background:none;resize:none;padding:0;margin:0;font:inherit;color:inherit;width:200px;field-sizing:content;min-width:60px;max-width:236px}.mnode textarea.needs-title::placeholder,.graph-structure-edit textarea.needs-title::placeholder{color:var(--danger);opacity:1}.collapse-btn{position:absolute;right:-11px;top:50%;transform:translateY(-50%);min-width:20px;height:20px;border-radius:10px;padding:0 5px;font-size:11px;font-weight:600;border:1.5px solid var(--border);background:var(--panel);color:var(--muted);display:grid;place-items:center}.mnode-quick{display:flex;align-self:center;flex:none;margin-left:2px;opacity:0;pointer-events:none}.mnode:hover .mnode-quick,.mnode.selected .mnode-quick,.mnode:focus-within .mnode-quick{opacity:1;pointer-events:auto}.mnode-quick button{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;cursor:pointer}.mnode-quick button:hover{background:var(--accent-weak);color:var(--accent)}.graph-map-path{position:absolute;z-index:5;top:14px;left:16px;right:16px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 32px);pointer-events:none}.graph-map-crumb{display:inline-flex;align-items:center;gap:6px;min-width:0;pointer-events:auto}.graph-map-crumb button{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--muted);cursor:pointer;font:inherit;font-size:12px}.graph-map-crumb button.current{color:var(--text);font-weight:600}.graph-map-crumb button:hover{color:var(--accent)}.graph-map-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:6px;color:var(--muted);font-size:12px}.graph-map-filter{position:absolute;z-index:5;top:52px;left:16px;display:flex;gap:6px;max-width:calc(100% - 32px)}.graph-map-filter .input{width:190px;height:32px;font-size:12px}.graph-map-filter .select{width:130px;height:32px;font-size:12px}.graph-map-empty{position:absolute;z-index:5;top:94px;left:16px;padding:8px 10px;border-radius:8px;background:var(--panel);color:var(--muted);font-size:12px}@media (max-width: 600px){.graph-map-filter .input{width:min(52vw,190px)}.graph-map-filter .select{width:120px}.graph-map-hint{display:none}}.graph-cocoon-setup{display:grid;gap:10px;width:min(1100px,calc(100% - 32px));margin:12px auto 0;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}.graph-cocoon-setup p{margin:4px 0 0}.graph-cocoon-setup-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.graph-cocoon-setup-form .cocoon-client{min-width:220px;max-width:340px}.graph-cocoon-setup-form input[type=month]{width:170px}.graph-cocoon-setup-items{display:flex;flex-wrap:wrap;gap:6px}.graph-cocoon-setup-item{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border:1px solid var(--border);border-radius:20px;background:var(--panel-2);font-size:12px}.graph-cocoon-setup-item button{width:19px;height:19px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;line-height:1}.graph-cocoon-setup-item button:hover{background:var(--hover);color:var(--danger)}@media (max-width: 600px){.graph-cocoon-setup-form>*{width:100%!important;max-width:none!important}}.graph-structure{max-width:1100px;width:100%;margin:0 auto}.graph-structure-guide{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:10px 14px;margin:0 0 14px;border-radius:10px;background:var(--panel-2);color:var(--muted);font-size:12px;line-height:1.5}.graph-structure-guide strong{color:var(--text);font-size:13px}.graph-outline-import-head{display:flex;align-items:center;gap:12px;margin:0 0 10px}.graph-outline-import-head .btn{margin-left:auto}.graph-outline-import{display:grid;gap:10px;padding:14px;margin:0 0 14px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}.graph-outline-import>div:first-child{display:grid;gap:4px}.graph-outline-import textarea{width:100%;min-height:120px;resize:vertical;font:inherit;line-height:1.45}.graph-outline-preview{max-height:190px;overflow:auto;padding:8px 0;border:1px solid var(--border);border-radius:7px;background:var(--panel-2);font-size:12px;line-height:1.7}.graph-structure .graph-outline-row{display:flex;gap:7px;align-items:center;min-height:43px;padding-right:8px;border:1px solid transparent;border-bottom-color:var(--border);border-radius:7px;position:relative}.graph-structure .graph-outline-row:hover{background:var(--hover)}.graph-structure .graph-outline-row.selected{background:var(--accent-weak)}.graph-structure .graph-outline-row.drop-inside{background:var(--accent-weak);border:1px solid var(--accent)}.graph-structure .graph-outline-row.drop-before:before{content:"";position:absolute;left:12px;right:8px;top:-2px;height:3px;border-radius:3px;background:var(--accent)}.graph-structure .graph-outline-row.drop-after:after{content:"";position:absolute;left:12px;right:8px;bottom:-2px;height:3px;border-radius:3px;background:var(--accent)}.graph-drag{display:grid;place-items:center;width:17px;flex:none;color:var(--faint);cursor:grab}.graph-drag:active{cursor:grabbing}.graph-disclosure,.graph-disclosure-space{display:grid;place-items:center;width:19px;height:24px;padding:0;flex:none}.graph-disclosure{border:0;background:transparent;color:var(--muted);cursor:pointer}.graph-disclosure:hover{color:var(--text)}.graph-outline-title{display:block;min-width:80px;max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding:6px 2px;border:0;background:transparent;color:var(--text);font:inherit;font-weight:550;cursor:pointer}.graph-outline-row:first-child .graph-outline-title{font-weight:650}.graph-outline-meta{font-size:11px;color:var(--muted);white-space:nowrap}.graph-outline-actions{display:flex;align-items:center;gap:2px;margin-left:auto;opacity:.72}.graph-outline-row:hover .graph-outline-actions,.graph-outline-row.selected .graph-outline-actions,.graph-outline-row:focus-within .graph-outline-actions{opacity:1}.graph-outline-actions button{display:inline-flex;gap:4px;align-items:center;height:28px;padding:0 6px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;white-space:nowrap}.graph-outline-actions button:hover{background:var(--panel);color:var(--accent)}.graph-structure-edit{flex:1;min-width:90px;max-width:420px}.graph-structure-edit textarea{display:block;width:100%;min-height:28px;padding:5px 8px;resize:none;border:1px solid var(--accent);border-radius:6px;background:var(--panel);color:var(--text);font:inherit;outline:none}@media (max-width: 760px){.graph-structure.graph-structure{padding:10px}.graph-structure-guide span{display:none}.graph-structure .graph-outline-row{gap:3px}.graph-outline-title{max-width:none;flex:1}.graph-outline-meta{display:none}.graph-outline-actions{opacity:1}.graph-outline-actions button span{display:none}.graph-outline-actions button{padding:0 3px}}.graph-toolbar{position:absolute;left:50%;bottom:18px;transform:translate(-50%);z-index:5;display:flex;gap:2px;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);max-width:calc(100% - 24px);overflow-x:auto}.graph-toolbar .btn{border:0}.node-panel{position:absolute;right:14px;top:14px;z-index:5;width:300px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:12px;display:grid;gap:10px}.hint{position:absolute;left:14px;top:12px;z-index:4;font-size:12px;color:var(--faint)}@media (max-width: 860px){.graph-page{bottom:calc(var(--bottom-nav) + env(safe-area-inset-bottom))}.graph-toolbar{bottom:12px}.graph-toolbar .btn span{display:none}.node-panel{left:12px;right:12px;top:auto;bottom:72px;width:auto}.hint,.react-flow__controls{display:none}}.login{min-height:100%;display:grid;place-items:center;padding:16px}.login form{width:min(360px,100%);display:grid;gap:12px;padding:28px 24px}.client-workspace{height:100%;min-height:0;display:flex;flex-direction:column}.client-workspace-bar{display:flex;align-items:center;gap:22px;min-height:74px;padding:10px 28px;border-bottom:1px solid var(--border);background:var(--panel)}.client-workspace-identity{display:flex;align-items:center;gap:11px;min-width:175px;max-width:260px}.client-workspace-mark{width:9px;height:35px;border-radius:9px;flex:none}.client-workspace-identity>div{display:grid;gap:2px;min-width:0}.client-workspace-eyebrow{color:var(--faint);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.client-workspace-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.client-workspace-tabs{display:flex;gap:3px;align-self:stretch;align-items:center}.client-workspace-tabs button{height:38px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.client-workspace-tabs button:hover{background:var(--hover);color:var(--text)}.client-workspace-tabs button.active{background:var(--accent-weak);color:var(--accent);font-weight:650}.client-workspace-month{display:flex;align-items:center;gap:3px;margin-left:auto;white-space:nowrap;color:var(--text);font-size:12px;font-weight:600}.client-workspace-month span{min-width:112px;text-align:center}.client-workspace-month button{display:grid;place-items:center;width:28px;height:30px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.client-workspace-month button:hover{background:var(--hover);color:var(--text)}.client-workspace-body{position:relative;flex:1;min-height:0;overflow-y:auto}.client-home{max-width:1120px;margin:0 auto;padding:36px 42px 90px}.client-home-hero{display:flex;justify-content:space-between;gap:28px;align-items:end;padding:4px 0 28px;border-bottom:1px solid var(--border)}.client-home-kicker{color:var(--accent);font-size:11px;letter-spacing:.09em;font-weight:700}.client-home-hero h1{margin:10px 0 7px;font-size:clamp(29px,3vw,41px);letter-spacing:-.045em}.client-home-hero p{margin:0;color:var(--muted);font-size:13px}.client-home-progress{width:210px;flex:none;display:grid;gap:6px;text-align:right}.client-home-progress strong{font-size:29px;letter-spacing:-.04em}.client-home-progress span{color:var(--muted);font-size:11px}.client-home-track{height:6px;margin-top:5px;border-radius:6px;background:var(--panel-2);overflow:hidden}.client-home-track i{display:block;height:100%;border-radius:inherit}.client-home-actions{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0 26px}.client-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.client-home-card{min-width:0;padding:17px;border:1px solid var(--border);border-radius:13px;background:var(--panel)}.client-home-pages{grid-column:1 / -1}.client-home-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.client-home-card-head>span{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:650}.client-home-card-head>span svg{color:var(--accent)}.client-home-card-head button{display:flex;align-items:center;gap:3px;border:0;background:none;color:var(--muted);font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}.client-home-card-head button:hover{color:var(--accent)}.client-home-row{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:6px 4px;border:0;border-top:1px solid var(--border);background:none;color:var(--text);text-align:left;font:inherit;font-size:12px;cursor:pointer}.client-home-row:hover{color:var(--accent);background:var(--hover)}.client-home-row>svg{flex:none;color:var(--faint)}.client-home-row>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-home-row small{color:var(--faint);white-space:nowrap}.client-home-status{width:7px;height:7px;flex:none;border:1px solid var(--muted);border-radius:50%}.client-home-status.done{background:var(--success);border-color:var(--success)}.client-home-blank{display:flex;align-items:center;gap:12px;min-height:78px;color:var(--muted);font-size:12px}.client-home-blank svg{color:var(--faint)}.seo-page{max-width:1120px;margin:0 auto;padding:40px 42px 90px}.seo-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:25px;border-bottom:1px solid var(--border)}.seo-eyebrow{color:var(--accent);font-size:11px;font-weight:750;letter-spacing:.1em}.seo-head h1{margin:6px 0;font-size:38px;letter-spacing:-.05em}.seo-head p{margin:0;color:var(--muted);font-size:13px}.seo-summary{display:flex;gap:16px;flex:none;color:var(--muted);font-size:12px}.seo-summary span{display:flex;align-items:center;gap:7px}.seo-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.seo-dot.up{background:var(--success)}.seo-dot.down{background:var(--danger)}.seo-info{display:flex;align-items:center;gap:8px;margin-top:20px;padding:15px 17px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:13px}.seo-info.error{color:var(--danger)}.seo-list{display:grid;gap:10px;margin-top:23px}.seo-site{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.seo-site-main{display:flex;align-items:center;gap:14px;min-height:65px;padding:12px 17px}.seo-indicator{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:10px;background:var(--panel-2);color:var(--muted)}.seo-indicator.up{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.seo-indicator.down,.seo-indicator.http_error,.seo-indicator.invalid{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.seo-site-title{display:grid;gap:3px;flex:1;min-width:0}.seo-site-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.seo-site-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.seo-state{flex:none;font-size:11px;font-weight:700;color:var(--muted)}.seo-state.up{color:var(--success)}.seo-state.down,.seo-state.http_error,.seo-state.invalid{color:var(--danger)}.seo-mini{display:flex;gap:6px;flex:none}.seo-mini span{padding:5px 7px;border-radius:6px;background:var(--panel-2);color:var(--muted);font-size:10px;white-space:nowrap}.seo-mini span.ok{color:var(--success)}.seo-mini span.expiring{color:var(--warning)}.seo-mini span.expired,.seo-mini span.invalid{color:var(--danger)}.seo-open{display:grid;place-items:center;flex:none;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.seo-open:hover{background:var(--hover);color:var(--text)}.seo-expand svg{transition:transform .15s ease}.seo-expand.expanded svg{transform:rotate(180deg)}.seo-site-detail{display:grid;gap:10px;padding:10px 17px 14px 68px;border-top:1px solid var(--border)}.seo-site-meta,.seo-site-bottom,.seo-actions{display:flex;align-items:center;gap:14px}.seo-site-meta{flex-wrap:wrap;color:var(--muted);font-size:11px}.seo-error{color:var(--danger)}.seo-assets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.seo-asset{display:grid;align-content:start;gap:7px;min-width:0;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel-2)}.seo-asset>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.seo-asset strong{font-size:11px}.seo-asset-state{color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}.seo-asset-state.ok{color:var(--success)}.seo-asset-state.expiring{color:var(--warning)}.seo-asset-state.expired,.seo-asset-state.invalid{color:var(--danger)}.seo-asset p{margin:0;color:var(--text);font-size:11px}.seo-asset p em{margin-left:4px;color:var(--faint);font-size:10px;font-style:normal}.seo-asset small{color:var(--muted);font-size:10px;line-height:1.3}.seo-asset-actions{display:flex;flex-wrap:wrap;gap:10px}.seo-asset-action{display:inline-flex;align-items:center;gap:5px;justify-self:start;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:10px;cursor:pointer}.seo-asset-action:hover{color:var(--text)}.seo-asset-action:disabled{opacity:.5;cursor:default}.seo-technical{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--panel-2);min-width:0}.seo-technical-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.seo-technical-items{display:flex;flex-wrap:wrap;gap:6px}.seo-technical-items span{padding:5px 7px;border-radius:6px;background:var(--panel);color:var(--muted);font-size:10px}.seo-technical-items .seo-technical-issue{background:color-mix(in srgb,var(--danger) 11%,var(--panel));color:var(--danger)}.seo-technical small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.seo-technical .spin{animation:seo-spin .8s linear infinite}.seo-site-bottom{justify-content:space-between}.seo-actions{gap:7px;flex:none}.seo-actions .btn,.seo-site-detail>.btn{font-size:11px}.seo-history{display:flex;align-items:center;gap:4px;min-width:0}.seo-history i{display:block;width:5px;height:17px;border-radius:3px;background:var(--border)}.seo-history i.up{background:var(--success)}.seo-history i.down,.seo-history i.http_error,.seo-history i.invalid{background:var(--danger)}.seo-actions .spin{animation:seo-spin .8s linear infinite}@keyframes seo-spin{to{transform:rotate(360deg)}}@media (max-width: 700px){.seo-page{padding:26px 18px calc(var(--bottom-nav) + 90px)}.seo-head{display:block}.seo-summary{margin-top:15px}.seo-site-main{display:grid;grid-template-columns:37px minmax(0,1fr) 28px 28px;gap:8px 10px}.seo-indicator{grid-column:1;grid-row:1}.seo-site-title{grid-column:2;grid-row:1}.seo-open:not(.seo-expand){grid-column:3;grid-row:1}.seo-expand{grid-column:4;grid-row:1}.seo-state{grid-column:1 / 3;grid-row:2}.seo-mini{grid-column:1 / -1;grid-row:3;flex-wrap:wrap}.seo-site-detail{padding-left:17px}.seo-site-bottom{align-items:start;flex-direction:column}.seo-assets{grid-template-columns:1fr}}.client-plan{margin-bottom:15px;padding:20px}.client-plan-top{display:flex;justify-content:space-between;gap:24px;padding:8px 0 18px}.client-plan-top p{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.client-plan-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:6px;background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:700}.client-plan-badge.approved{background:color-mix(in srgb,var(--success) 13%,var(--panel));color:var(--success)}.client-plan-badge.closed{background:var(--accent-weak);color:var(--accent)}.client-plan-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:start;gap:8px;min-width:290px}.client-plan-stats>span{display:flex;align-items:center;gap:4px;padding:6px 9px;border:1px solid var(--border);border-radius:6px;color:var(--muted);white-space:nowrap;font-size:11px}.client-plan-stats strong{color:var(--text)}.client-plan-package-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 0 10px;border-top:1px solid var(--border)}.client-plan-package-head strong{font-size:12px}.client-plan-package-head button{border:0;background:transparent;color:var(--accent);font:inherit;font-size:11px;cursor:pointer}.client-plan-package-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}.client-plan-package-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:48px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.client-plan-item-dot{display:grid;place-items:center;width:18px;height:18px;flex:none;border:1px solid var(--border-strong);border-radius:5px;color:var(--success)}.client-plan-item-title{display:grid;gap:2px;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.client-plan-item-title small{color:var(--faint);font-size:10px;font-weight:400}.client-plan-item-count{color:var(--text);font-size:11px;font-weight:650}.client-plan-item-due{min-width:72px;color:var(--muted);text-align:right;white-space:nowrap;font-size:11px}.client-plan-empty{padding:12px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:12px}.client-plan-editor{display:grid;gap:11px;margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:9px;background:var(--panel-2)}.client-plan-editor-list{display:grid;gap:4px}.client-plan-editor-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.client-plan-editor-list button{border:0;background:none;color:var(--muted);font-size:17px;cursor:pointer}.client-plan-editor-form{display:flex;flex-wrap:wrap;gap:7px}.client-plan-editor-form .input:first-child{flex:1 1 210px}.client-plan-editor-form input[type=number]{width:70px}.client-plan-budget{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.client-plan-budget .input{width:64px}.client-plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:15px}.client-plan-actions .btn{font-size:12px}.client-plan-muted,.client-plan-deviations{color:var(--muted);font-size:11px}.client-plan-deviations{padding-top:12px}.client-plan-close{display:grid;justify-items:start;gap:10px;margin-top:14px;padding:15px;border:1px solid var(--border-strong);border-radius:9px;background:var(--panel-2);font-size:12px}.client-plan-close p{margin:0;color:var(--muted);line-height:1.5}.client-plan-close ul{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--text)}.client-month-readonly{padding:13px 15px;border:1px solid var(--border);border-radius:9px;background:var(--panel-2);color:var(--muted);font-size:12px}.task-plan-state{flex:none;padding:3px 6px;border-radius:5px;background:var(--panel-2);color:var(--muted);font-size:10px;font-weight:650;white-space:nowrap}.task-plan-state.planned{background:color-mix(in srgb,var(--success) 13%,var(--panel));color:var(--success)}.task-plan-state.extra{background:color-mix(in srgb,var(--warn) 14%,var(--panel));color:var(--warn)}.task-plan-state.carried{background:var(--accent-weak);color:var(--accent)}.task-readonly h2{margin:0 0 10px;overflow-wrap:anywhere}.task-readonly>p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.6}.task-readonly section{display:grid;gap:8px;margin-top:20px}.task-readonly-text{color:var(--text);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.task-readonly a{color:var(--accent);overflow-wrap:anywhere}.task-readonly-child{display:block;width:100%;padding:9px 0;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer}.notes-semantic-link{display:flex;align-items:center;gap:9px;width:calc(100% - 12px);margin:3px 6px 9px;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);text-align:left;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.notes-semantic-link span{flex:1}.notes-semantic-link svg:first-child{color:var(--accent)}.notes-semantic-link svg:last-child{color:var(--faint)}.notes-semantic-link:hover,.notes-semantic-link.active{background:var(--accent-weak);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.semantic-core{height:100%;overflow-y:auto;padding:30px 36px 85px;color:var(--text)}.semantic-core>*{max-width:1000px;margin-left:auto;margin-right:auto}.semantic-core-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:24px}.semantic-core-head>div>span{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.08em}.semantic-core-head h1{margin:7px 0 5px;font-size:29px;letter-spacing:-.04em}.semantic-core-head p{margin:0;color:var(--muted);font-size:12px}.semantic-core-source{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.semantic-core-source>div{display:grid;gap:3px;min-width:165px}.semantic-core-source strong{display:flex;align-items:center;gap:6px;font-size:12px}.semantic-core-source strong svg{color:var(--accent)}.semantic-core-source small{color:var(--muted);font-size:10px}.semantic-core-source input{flex:1;min-width:0}.semantic-core-summary{display:flex;gap:24px;padding:20px 2px;border-bottom:1px solid var(--border)}.semantic-core-summary span{display:flex;align-items:baseline;gap:6px;color:var(--muted);font-size:12px}.semantic-core-summary strong{color:var(--text);font-size:20px}.semantic-core-tools{display:flex;gap:9px;margin-top:17px}.semantic-core-tools label{display:flex;align-items:center;gap:7px;flex:1;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--muted)}.semantic-core-tools label input{flex:1;min-width:0;height:35px;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:12px}.semantic-core-create{display:flex;gap:8px;margin-top:13px;margin-bottom:15px}.semantic-core-create input{flex:1;min-width:0}.semantic-core-list{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel)}.semantic-core-item+.semantic-core-item{border-top:1px solid var(--border)}.semantic-core-item.selected{background:color-mix(in srgb,var(--accent) 4%,var(--panel))}.semantic-core-item-main{display:flex;align-items:center;gap:13px;width:100%;min-height:57px;padding:10px 14px;border:0;background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer}.semantic-core-item-main:hover{background:var(--hover)}.semantic-core-item-main>span:nth-child(2){display:grid;gap:3px;flex:1;min-width:0}.semantic-core-item-main strong,.semantic-core-item-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.semantic-core-item-main strong{font-size:12px}.semantic-core-item-main small{color:var(--muted);font-size:10px}.semantic-core-item-main em{padding:4px 7px;border-radius:5px;background:var(--panel-2);color:var(--muted);font-size:10px;font-style:normal;white-space:nowrap}.semantic-core-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--faint)}.semantic-core-dot.planned{background:var(--accent)}.semantic-core-dot.doing{background:var(--warning)}.semantic-core-dot.done{background:var(--success)}.semantic-core-detail{display:grid;gap:18px;padding:16px;border-top:1px solid var(--border)}.semantic-core-fields{display:grid;grid-template-columns:1fr 1.3fr 130px;gap:10px}.semantic-core-fields label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:11px}.semantic-core-related{display:grid;gap:7px}.semantic-core-related>strong{font-size:12px}.semantic-core-related>p{margin:0;color:var(--muted);font-size:11px}.semantic-core-related>div:not(.semantic-core-link-task){display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--border)}.semantic-core-related>div:not(.semantic-core-link-task)>button:first-child{display:flex;gap:12px;flex:1;min-width:0;padding:5px 0;border:0;background:transparent;color:var(--text);text-align:left;font:inherit;font-size:12px;cursor:pointer}.semantic-core-related>div:not(.semantic-core-link-task)>button:first-child span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.semantic-core-related .done{text-decoration:line-through;color:var(--muted)}.semantic-core-related small{color:var(--faint)}.semantic-core-link-task{display:flex;gap:7px}.semantic-core-link-task select{flex:1;min-width:0}.semantic-core-remove{justify-self:end;border:0;background:none;color:var(--danger);font:inherit;font-size:11px;cursor:pointer}.semantic-core-empty{display:flex;align-items:center;gap:12px;min-height:100px;padding:20px;color:var(--muted);font-size:12px}.semantic-core-empty svg{color:var(--faint);flex:none}@media (max-width: 800px){.semantic-core{padding:22px 18px 80px}.semantic-core-source{flex-wrap:wrap}.semantic-core-source input{flex-basis:100%;order:2}.semantic-core-source .btn{margin-left:auto}.semantic-core-fields{grid-template-columns:1fr 1fr}.semantic-core-fields label:nth-child(2){grid-column:1 / -1;grid-row:2}}@media (max-width: 600px){.semantic-core{padding:18px 14px 80px}.semantic-core-head h1{font-size:24px}.semantic-core-tools{flex-wrap:wrap}.semantic-core-tools label{flex-basis:100%}.semantic-core-tools select{flex:1}.semantic-core-create{flex-wrap:wrap}.semantic-core-create input{flex-basis:100%}.semantic-core-create button{width:100%;justify-content:center}.semantic-core-item-main{gap:9px}.semantic-core-item-main>small{display:none}.semantic-core-fields{display:grid;grid-template-columns:1fr}.semantic-core-fields label:nth-child(2){grid-column:auto;grid-row:auto}.semantic-core-link-task{flex-wrap:wrap}.semantic-core-link-task select{flex-basis:100%}}@media (max-width: 1000px){.client-workspace-bar{flex-wrap:wrap;gap:4px 14px;padding:9px 18px}.client-workspace-tabs{order:3;width:100%;overflow-x:auto}.client-workspace-month{margin-left:auto}}@media (max-width: 700px){.client-home{padding:23px 18px calc(var(--bottom-nav) + 90px)}.client-home-hero{align-items:start}.client-home-progress{width:115px}.client-home-grid{grid-template-columns:1fr}.client-home-pages{grid-column:auto}.client-workspace-bar{padding:7px 12px}.client-workspace-tabs button{padding:0 11px}.client-workspace-identity{min-width:0}.client-workspace-month span{min-width:95px}.client-plan{padding:15px}.client-plan-top{display:block}.client-plan-stats{justify-content:flex-start;min-width:0;margin-top:12px}.client-plan-package-list{grid-template-columns:1fr}.client-plan-item-due{min-width:60px}}.login .brand{justify-content:center;font-size:22px;padding-bottom:6px}.login .brand img{width:40px;height:40px}.error{color:var(--danger);font-size:13px}.account-section{margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.account-section h2{margin:0 0 8px;font-size:18px}.account-section h3{margin:0 0 2px;font-size:15px}.account-users{display:grid;gap:4px;margin:12px 0}.account-form{display:grid;gap:12px;max-width:420px;margin-top:16px}.account-form .btn{justify-self:start}.task-assignee{margin:12px 0;max-width:270px}.workspace-nav-row{display:flex;align-items:center;min-width:0}.workspace-nav-row>.list-item{flex:1;min-width:0}.workspace-menu{display:inline-flex;flex-shrink:0}.workspace-actions{min-width:220px;z-index:90}.workspace-actions>button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:var(--text);padding:10px 12px;text-align:left;border-radius:6px}.workspace-actions>button:hover{background:var(--hover)}.workspace-actions>button.danger{color:var(--danger)}.ccard:has(.workspace-menu){overflow:visible}.ccard:has(.workspace-menu) .stripe{border-radius:4px 0 0 4px}.ccard:has(.workspace-actions){z-index:10}.workspace-create-wrap{z-index:140;overflow-y:auto;padding-top:6vh;padding-bottom:6vh}.workspace-create{width:min(560px,100%);gap:18px}.workspace-create h2{margin:4px 0 0;font-size:23px}.workspace-create-eyebrow{color:var(--muted);font-size:10px;letter-spacing:.09em}.workspace-create-kinds{display:grid;grid-template-columns:1fr 1fr;gap:10px}.workspace-create-kinds button{position:relative;display:grid;align-content:start;gap:8px;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);color:var(--text);padding:16px}.workspace-create-kinds button.selected{border-color:var(--accent);background:var(--accent-weak)}.workspace-create-kinds button>span{color:var(--muted);font-size:12px;line-height:1.5}.workspace-create-kinds button>svg{color:var(--accent)}.workspace-kind-check{position:absolute;right:12px;top:14px}.workspace-create-hint{display:flex;gap:9px;align-items:flex-start;padding:12px;margin:0;color:var(--muted);background:var(--panel-2);border-radius:8px;font-size:13px;line-height:1.5}.workspace-create-hint svg{flex-shrink:0;margin-top:2px}.workspace-create details summary{color:var(--muted);font-size:13px;cursor:pointer}.workspace-create details .field{margin-top:10px}.workspace-month-history>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-height:120px;overflow-y:auto}.workspace-nav-heading{display:flex;align-items:center;justify-content:space-between;margin:8px 4px 4px}.workspace-projects-link{border:0;background:transparent;color:var(--text);font-size:14px;font-weight:600;padding:5px;text-align:left;flex:1}.workspace-projects-link:hover{color:var(--accent)}.workspace-card-month{justify-self:start;margin-top:8px}.client-workspace-month input[type=month]{border:0;background:transparent;color:var(--text);font:inherit;max-width:165px;padding:5px 2px;color-scheme:inherit}@media (max-width: 600px){.workspace-create-wrap{padding:16px 10px;align-items:center}.workspace-create{border-radius:14px}.workspace-create-kinds button{padding:12px}}.semantic-keyboard-help{padding:8px 20px;border-bottom:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.5}.semantic-map-draft{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--panel)}.semantic-map-draft>span{color:var(--muted);font-size:12px}.semantic-map-draft .input{flex:1;min-width:160px}.semantic-outline-row.selected{background:var(--accent-weak)}.react-flow__node.selected .semantic-node,.semantic-node:focus-visible{border-color:var(--accent);outline:2px solid var(--accent-weak);outline-offset:2px}.semantic-group-explanation{align-items:center;flex-wrap:wrap;margin:12px 0 18px}.semantic-group-explanation>div{flex:1;min-width:220px}.semantic-group-explanation p{margin:6px 0 0}.dest-keyboard-hint{padding:8px 10px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.dest-pop .pop-item:focus-visible{outline:none;background:var(--accent-weak);color:var(--text)}.dest-pop .pop-item:disabled{opacity:.45;cursor:default}.task-assign-inline{display:inline-flex}.task-assign-inline .dest-btn{height:26px;font-size:12px;color:var(--accent)}.task-project-field{display:grid;gap:7px;margin:8px 0 14px}.task-project-field .dest-btn{max-width:100%;height:auto;min-height:34px;text-align:left}.task-project-field .dest-label{white-space:normal;overflow-wrap:anywhere}.detail .detail-head{flex-wrap:wrap;gap:6px}.pop.dest-portal{margin:0;right:auto;transform:none}.task-move-wrap{z-index:160}.task-move-dialog h2{margin:0;font-size:19px}.task-move-dialog p{margin:0;line-height:1.55}.task-move-dialog>.btn{white-space:normal;height:auto;min-height:38px;padding:10px}.modal.composer-modal{grid-template-columns:minmax(0,1fr)}.modal.composer-modal>.composer{min-width:0;width:100%}.modal .composer.v-modal .composer-bar{flex-wrap:wrap;min-width:0;width:100%}.modal .composer.v-modal .composer-bar>.pop-wrap{min-width:0;max-width:100%}.modal .composer.v-modal .composer-bar>.pop-wrap:has(.dest-btn){flex:0 1 220px;width:220px}.modal .composer.v-modal .dest-btn{max-width:min(300px,100%)}.modal .composer.v-modal .composer-bar>.btn{margin-left:auto}.composer-month-warning{padding:9px 12px;font-size:12px;line-height:1.6;color:var(--warn)}.composer-month-warning button{border:0;padding:0;background:transparent;color:var(--accent);text-decoration:underline;cursor:pointer}.note-item button.note-item-title{flex:1;min-width:0;border:0;padding:5px 0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.note-item button.note-item-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.note-save-state{border:0;border-radius:5px;padding:4px 6px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.note-save-state.saved{color:var(--ok)}.note-save-state.error{color:var(--danger);background:var(--panel-2)}.client-start{padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.client-start h2{margin:0 0 8px;font-size:21px}.client-start>p{margin:0 0 22px;color:var(--muted);line-height:1.6}.client-start-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-start-options>button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:var(--panel-2);text-align:left}.client-start-options>button:hover{border-color:var(--accent)}.client-start-options svg{color:var(--accent)}.client-start-options span{color:var(--muted);font-size:12px;line-height:1.5}.client-start-extra{margin-top:24px}.client-start-extra>summary{color:var(--muted);cursor:pointer;font-size:13px}.client-start-extra[open]>summary{margin-bottom:16px}.desktop-sync-badge{position:fixed;bottom:12px;right:14px;z-index:85;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:var(--panel);box-shadow:var(--shadow);font-size:11px}.desktop-sync-badge.online{color:var(--ok)}.desktop-sync-badge.conflict,.desktop-sync-badge.auth{color:var(--danger)}.desktop-sync-wrap{z-index:180;overflow-y:auto}.desktop-sync-panel{width:min(720px,100%);margin-bottom:30px}.desktop-sync-panel h2,.desktop-sync-panel p{margin:0;line-height:1.6}.desktop-sync-version{min-height:110px;max-height:220px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.desktop-sync-version-card{display:grid;gap:10px;padding:14px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.desktop-sync-version-card .desktop-sync-version{min-height:44px}@media (max-width: 700px){.client-start{padding:16px}.client-start-options{grid-template-columns:1fr}}:root{--bg: #ffffff;--panel: #ffffff;--panel-2: #f4f5f7;--side: #f7f8fa;--rail: #eef0f3;--hover: #f1f3f6;--border: #eceef2;--accent: #4772fa;--accent-weak: #edf1ff;--radius: 8px}@media (prefers-color-scheme: dark){:root{--bg: #18191d;--panel: #1f2025;--panel-2: #26272d;--side: #1c1d21;--rail: #141518;--hover: #2a2b31;--border: #2c2d33;--accent: #6b8cff;--accent-weak: #262d47}}body{background:var(--bg)}.faint{color:var(--faint)}.mobile-only{display:none}.app{display:flex;height:100%}.rail{width:56px;flex:none;background:var(--rail);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0}.rail-logo{width:30px;height:30px;margin-bottom:14px}.rail-btn{width:40px;height:40px;border-radius:10px;border:0;background:none;color:var(--muted);display:grid;place-items:center;transition:background .12s,color .12s}.rail-btn:hover{background:var(--hover);color:var(--text)}.rail-btn.active{background:var(--accent-weak);color:var(--accent)}.list-panel{width:248px;flex:none;background:var(--side);border-right:1px solid var(--border);overflow-y:auto;padding:14px 8px 20px;display:flex;flex-direction:column;gap:1px}.list-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:0;border-radius:7px;background:none;color:var(--text);text-align:left;font-size:14px}.list-item.active{background:var(--accent-weak);color:var(--accent)}.list-item .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item .count{font-size:12px;color:var(--faint)}.list-item .dot{margin:0 4px}.list-item.muted{color:var(--muted);margin-top:8px}.ic{color:var(--muted);flex:none}.ic.sun{color:#f59f00}.ic.week{color:#7048e8}.dot.square{border-radius:2px}.dot.lg{width:12px;height:12px}.panel-sep{height:1px;background:var(--border);margin:10px 8px}.folder{margin-top:6px}.folder-head{display:flex;align-items:center;padding:0 2px 0 4px}.folder-head .menu-wrap{opacity:0;transition:opacity .12s}.folder-head:hover .menu-wrap,.folder-head .menu-wrap:focus-within{opacity:1}.folder-toggle{flex:1;display:flex;align-items:center;gap:4px;border:0;background:none;padding:6px 4px;font-size:12px;font-weight:600;color:var(--muted);text-align:left}.folder-empty{padding:4px 34px;font-size:12px;color:var(--faint)}.icon-btn.xs{width:24px;height:24px;border-radius:6px}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:26px;z-index:30;min-width:190px;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);display:grid}.menu button{border:0;background:none;text-align:left;padding:7px 10px;border-radius:6px;font-size:13px}.menu button:hover{background:var(--hover)}.menu button.danger{color:var(--danger)}.main{flex:1;min-width:0;overflow-y:auto;position:relative;background:var(--bg)}.page.narrow{max-width:640px}.list-page{max-width:860px;margin:0 auto;padding:22px 32px 80px}.today-empty{margin-top:28px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.today-empty h2{margin:0 0 7px;font-size:18px}.today-empty p{margin:0;color:var(--muted);line-height:1.5}.today-empty-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.list-page.board{max-width:none}.list-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;min-height:36px}.list-head h1{font-size:20px;font-weight:700}.list-head .sub{color:var(--faint);font-size:13px}.workspace-overview{margin-bottom:18px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.workspace-overview-head{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}.workspace-overview-head strong{font-size:14px;margin-right:auto}.workspace-overview-count{color:var(--muted);font-size:12px}.workspace-overview-alert{color:var(--danger);font-size:12px;font-weight:650}.workspace-overview-progress{height:4px;margin:10px 0 12px;border-radius:4px;background:var(--panel-2);overflow:hidden}.workspace-overview-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.workspace-overview-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px}.workspace-overview-label{margin-bottom:3px;color:var(--faint);font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.workspace-overview-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 4px;border:0;border-radius:6px;background:none;color:var(--muted);text-align:left;cursor:pointer;font-size:12px}.workspace-overview-row:hover{background:var(--hover);color:var(--text)}.workspace-overview-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:13px}.workspace-overview-row .late{color:var(--danger)}.workspace-overview-empty{padding:6px 4px;color:var(--faint);font-size:12px}.seg.sm{padding:2px}.seg.sm button{padding:4px 8px;display:grid;place-items:center}.inline-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;margin-bottom:14px;background:var(--panel-2);border:1px solid transparent;border-radius:9px;transition:border-color .12s,background .12s}.inline-add:focus-within{background:var(--panel);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.inline-add input{flex:1;min-width:200px;border:0;outline:none;background:none;font-size:14px}.inline-add input::placeholder{color:var(--faint)}.parsed{display:flex;gap:6px;flex-wrap:wrap}.parsed .chip{background:var(--accent-weak);color:var(--accent)}.group{margin-bottom:10px}.group-head{display:flex;align-items:center;gap:6px;border:0;background:none;padding:6px 2px;font-size:13px;font-weight:650;color:var(--text)}.group-head .n{color:var(--faint);font-weight:500}.task-list,.subtasks{border:0;background:none;border-radius:0}.task-row{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:0 -10px;border:0;border-radius:8px;cursor:pointer;min-height:38px}.task-row+.task-row{box-shadow:inset 0 1px 0 var(--border)}.task-row:hover,.task-row.active{background:var(--hover);box-shadow:none}.task-row.active{background:var(--accent-weak)}.task-row:hover+.task-row,.task-row.active+.task-row{box-shadow:none}.task-row .check{margin-top:0}.task-row .task-title{flex:1;min-width:0;line-height:1.35}.parent-inline{margin-left:8px;font-size:12px;color:var(--faint)}.task-side{display:flex;align-items:center;gap:10px;flex:none;font-size:12px;color:var(--muted)}.list-tag{display:inline-flex;align-items:center;gap:5px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check{width:17px;height:17px;border-width:1.5px;border-radius:5px}.detail{width:400px;flex:none;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}.detail-head{display:flex;align-items:center;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border)}.detail-head .check{margin-right:6px}.detail-body{flex:1;overflow-y:auto;padding:16px 20px 30px;display:flex;flex-direction:column;gap:6px}.detail-foot{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid var(--border)}.crumb{align-self:flex-start;display:inline-flex;align-items:center;gap:2px;border:0;background:none;padding:0;color:var(--muted);font-size:12px}.crumb:hover{color:var(--accent)}.title-input,.notes-input{width:100%;border:0;outline:none;background:none;resize:none;padding:0;overflow:hidden;color:var(--text)}.title-input{font-size:19px;font-weight:650;line-height:1.35}.notes-input{font-size:14px;line-height:1.55;min-height:60px}.notes-input::placeholder{color:var(--faint)}.checklist{margin-top:12px}.checklist .task-row{margin:0 -8px;padding:5px 8px;min-height:32px}.checklist .task-row+.task-row{box-shadow:none}.checklist .add-row{border:0;padding:5px 0;gap:10px}.checklist .add-row .plus{width:17px;text-align:center;color:var(--faint)}.chip-btn{position:relative;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border-radius:7px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}.chip-btn:hover{background:var(--hover)}.chip-btn.set{color:var(--accent)}.chip-btn.overdue{color:var(--danger)}.hidden-input,.hidden-select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.hidden-input{pointer-events:none}.foot-select{border:0;background:none;color:var(--muted);font-size:13px;padding:5px 6px;border-radius:6px;max-width:170px;cursor:pointer}.foot-select:hover{background:var(--hover);color:var(--text)}.foot-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);padding:5px 6px;border-radius:6px}.foot-link:hover{background:var(--hover);color:var(--accent)}.info-panel{display:grid;gap:10px;padding:14px;margin-bottom:14px;background:var(--panel-2);border-radius:10px}.list-page .kanban{grid-template-columns:repeat(4,minmax(230px,1fr))}.kcol{background:var(--panel-2)}.kcard{border-color:transparent;box-shadow:0 1px 3px #10182814}.quick-input{font-size:16px;padding:4px 0}.settings{display:grid;border:1px solid var(--border);border-radius:12px;overflow:hidden}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border:0;background:var(--panel);text-align:left;font-size:14px;cursor:pointer}.setting+.setting{border-top:1px solid var(--border)}.setting.danger{color:var(--danger)}@media (max-width: 1180px){.detail{position:fixed;top:0;right:0;bottom:0;z-index:51;box-shadow:var(--shadow-lg)}}@media (max-width: 860px){.mobile-only{display:initial}.rail{display:none}.list-panel{position:fixed;left:0;top:0;bottom:0;z-index:52;transform:translate(-100%);transition:transform .2s}.list-panel.open{transform:none;box-shadow:var(--shadow-lg)}.list-page{padding:14px 16px calc(var(--bottom-nav) + 96px)}.detail{width:100vw}.task-side .list-tag{display:none}}.toast{display:flex;align-items:center;gap:14px}.toast-action{border:0;background:none;color:#8fa8ff;font-weight:650;padding:0;cursor:pointer}.tag{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:0 6px;border-radius:5px;font-size:11.5px;color:var(--accent);background:var(--accent-weak);cursor:pointer;vertical-align:1px}.tag svg{cursor:pointer;opacity:.7}.tag-editor{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:2px 0 4px}.tag-editor .tag{margin-left:0}.tag-editor input{border:0;outline:none;background:none;font-size:12.5px;padding:2px 0;min-width:110px;color:var(--muted)}.waiting{display:inline-flex;align-items:center;gap:3px;color:var(--st-review)}.waiting.late{font-weight:650}.ic.late{color:var(--warn)}.chip-btn .chip-x{margin-left:2px;opacity:0;transition:opacity .1s}.chip-btn:hover .chip-x{opacity:.75}.chip-btn.running{color:var(--danger);font-variant-numeric:tabular-nums}.drag-row{position:relative}.drag-row.dragging{opacity:.35}.drag-row.drop-before:before{content:"";position:absolute;left:-6px;right:-6px;top:-1px;height:2px;background:var(--accent);border-radius:2px;z-index:2}.group-head.drop-into{color:var(--accent);background:var(--accent-weak);border-radius:6px}.drag-ghost{padding:8px 14px;background:var(--panel);border-radius:8px;box-shadow:var(--shadow-lg);max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grabbing}.habit-strip{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}.habit-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 7px;border-radius:999px;border:1px solid var(--border);background:var(--panel);font-size:13px;color:var(--text)}.habit-pill:hover{border-color:var(--hc)}.habit-dot{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--hc);display:grid;place-items:center;color:#fff}.habit-pill.done .habit-dot{background:var(--hc)}.habit-pill.done{color:var(--muted)}.palette-wrap{padding-top:12vh}.palette{width:min(620px,100%);background:var(--panel);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden}.pal-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.pal-input input{flex:1;border:0;outline:none;background:none;font-size:16px}kbd{font:11px system-ui,sans-serif;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px}.pal-list{max-height:min(460px,60vh);overflow-y:auto;padding:6px}.pal-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;text-align:left;cursor:pointer}.pal-item.sel,.group .pal-item:hover{background:var(--accent-weak)}.pal-ic{color:var(--muted);display:grid;place-items:center}.pal-text{flex:1;min-width:0;display:flex;flex-direction:column}.pal-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal-sub{font-size:12px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hit-snippet{margin:-4px 0 4px 27px;font-size:12px;color:var(--faint)}.search-hint{display:flex;align-items:center;gap:8px;margin:0 2px 10px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--faint);font-size:13px;text-align:left;cursor:pointer}.search-hint kbd{margin-left:auto}.search-hint:hover{border-color:var(--accent);color:var(--muted)}.timer-bar{display:flex;align-items:center;gap:8px;margin:0 2px 10px;padding:7px 8px 7px 10px;border-radius:8px;background:color-mix(in srgb,var(--danger) 10%,var(--panel));font-size:13px}.timer-bar .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.timer-bar b{font-variant-numeric:tabular-nums;color:var(--danger)}.rec{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:pulse 1.4s infinite;flex:none}@keyframes pulse{50%{opacity:.3}}.modal.wide{width:min(720px,100%)}.report-text{min-height:340px;font:13px/1.55 ui-monospace,Consolas,monospace;white-space:pre}.goal-card{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--panel)}.goal-head{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}.goal-title{flex:1;font-weight:600}.goal-progress{display:flex;align-items:center;gap:8px}.goal-progress .progress{width:110px}.goal-body{padding:0 22px 8px;border-top:1px solid var(--border)}.goal-body .add-row{border:0;padding:6px 0}.list-page.wide-list{max-width:1060px}.habit-grid{display:grid;align-items:center;gap:4px}.hg-day{font-size:11px;color:var(--faint);text-align:center;display:grid;line-height:1.2}.hg-day b{font-size:12px;color:var(--muted);font-weight:600}.hg-day.today b{color:var(--accent)}.hg-name{display:flex;align-items:center;gap:8px;font-weight:550;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hg-cell{width:28px;height:28px;border-radius:7px;border:1.5px solid var(--border);background:var(--panel);display:grid;place-items:center;color:#fff;padding:0}.hg-cell:hover{border-color:var(--hc)}.hg-cell.on{background:var(--hc);border-color:var(--hc)}.hg-stat{display:flex;align-items:center;justify-content:center;gap:3px;font-size:13px;font-weight:600}.flame{color:#f76707}.review-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.review-kpis>div{background:var(--panel-2);border-radius:10px;padding:12px 14px;display:grid}.review-kpis b{font-size:20px}.review-kpis span{font-size:12px;color:var(--muted)}.review-row{display:flex;align-items:center;gap:10px;padding:6px 2px}.grow{flex:1}.client-picks{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:4px}.client-pick{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;font-size:13px;cursor:pointer}.client-pick:hover{background:var(--hover)}.cal-tabs{flex:none}.time-pop{width:230px;padding:12px;gap:10px;left:0;right:auto;top:32px}.tl-page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.tl-page.dragging,.tl-page.dragging *{cursor:grabbing!important}.tl-header{padding:14px 20px 10px;margin:0;border-bottom:1px solid var(--border);flex-wrap:wrap}.tl-title{font-size:18px}.tl-header .sub{margin-left:auto}.cal-color-control{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}.cal-color-control .select{min-height:30px;padding:4px 8px;font-size:12px}.cal-priority-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:6px 20px;color:var(--muted);font-size:11px;border-bottom:1px solid var(--border)}.cal-priority-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.cal-priority-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}.cal-priority-hint{margin-left:auto;color:var(--faint)}.tl-body{flex:1;min-height:0;display:flex}.tl-side{width:250px;flex:none;overflow-y:auto;border-right:1px solid var(--border);background:var(--side);padding:10px 8px 20px}.tl-side.drop{background:var(--accent-weak);box-shadow:inset 0 0 0 2px var(--accent)}.tl-side-head{display:flex;gap:6px;font-size:12px;font-weight:650;color:var(--muted);padding:8px 6px 4px}.tl-side-head.danger{color:var(--danger)}.tl-side-head .n{color:var(--faint);font-weight:500}.tl-item{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:3px;border-radius:7px;background:var(--panel);box-shadow:0 1px 2px #1018280f;cursor:grab;font-size:13px;touch-action:none}.tl-item:hover{box-shadow:0 1px 4px #10182824}.tl-item.ghosted{opacity:.35}.tl-bar{width:3px;align-self:stretch;border-radius:2px;flex:none}.tl-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-empty{padding:2px 8px 6px;color:var(--faint);font-size:12px}.tl-hint{margin-top:14px;padding:8px;font-size:11.5px;color:var(--faint);border:1px dashed var(--border);border-radius:8px;text-align:center}.tl-scroll{flex:1;min-width:0;overflow-y:auto;position:relative}.tl-days{display:grid;position:sticky;top:0;z-index:3;background:var(--bg);border-bottom:1px solid var(--border)}.tl-dayhead{display:flex;align-items:baseline;justify-content:center;gap:6px;padding:8px 0;font-size:12px;color:var(--muted)}.tl-dayhead b{font-size:17px;color:var(--text);font-weight:600}.tl-dayhead.today b{color:#fff;background:var(--accent);border-radius:8px;padding:0 7px}.tl-grid{display:grid;position:relative}.tl-hours{position:relative}.tl-hours div{position:absolute;right:8px;transform:translateY(-7px);font-size:11px;color:var(--faint)}.tl-hours div:first-child{transform:none}.tl-col{position:relative;border-left:1px solid var(--border);background-image:linear-gradient(to bottom,var(--border) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border) 50%,transparent) 1px,transparent 1px);background-size:100% 60px,100% 30px}.tl-col.today{background-color:color-mix(in srgb,var(--accent) 3%,transparent)}.tl-block{position:absolute;left:2px;right:2px;padding:3px 7px;border-radius:6px;overflow:hidden;cursor:grab;touch-action:none;background:color-mix(in srgb,var(--bc) 16%,var(--panel));border-left:3px solid var(--bc);font-size:12px;line-height:1.3;box-shadow:0 1px 2px #10182814;z-index:1}.tl-block:hover{box-shadow:0 2px 8px #10182829;z-index:2}.tl-block.done{opacity:.5}.tl-block.done .tl-block-title{text-decoration:line-through}.tl-block.ghosted{opacity:.25}.tl-block.preview{z-index:4;pointer-events:none;opacity:.9;box-shadow:0 6px 20px #10182840;outline:2px solid var(--bc)}.tl-block-time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.tl-block-head{display:flex;align-items:center;justify-content:space-between;gap:3px;min-width:0}.tl-block-head .tl-block-time{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tl-priority{display:inline-flex;align-items:center;gap:3px;flex:none;padding:0 3px;border:1px solid color-mix(in srgb,var(--pc) 45%,transparent);border-radius:4px;background:color-mix(in srgb,var(--pc) 12%,var(--panel));color:var(--text);font-size:10px;line-height:17px;cursor:pointer}.tl-priority:hover,.tl-priority:focus-visible{background:color-mix(in srgb,var(--pc) 28%,var(--panel));outline-color:var(--pc)}.tl-priority-dot{width:5px;height:5px;border-radius:50%;background:var(--pc)}.tl-block-title{font-weight:550;overflow:hidden}.tl-resize{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}.tl-resize:hover{background:color-mix(in srgb,var(--bc) 35%,transparent)}.tl-now{position:absolute;left:-1px;right:0;height:2px;background:var(--danger);z-index:3;pointer-events:none}.tl-now:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--danger)}.tl-floating{position:fixed;z-index:90;pointer-events:none;padding:6px 12px;border-radius:8px;background:var(--panel);box-shadow:var(--shadow-lg);font-size:13px;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer.v-inline{margin-bottom:14px;border-radius:10px;background:var(--panel-2);border:1px solid transparent;transition:background .12s,border-color .12s,box-shadow .12s}.composer.v-inline.expanded{background:var(--panel);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.composer-input{display:flex;align-items:center;gap:8px;padding:9px 12px}.composer-plus{color:var(--faint);font-size:18px;line-height:1;width:16px;text-align:center}.composer-input input{flex:1;min-width:0;border:0;outline:none;background:none;font-size:14px}.composer-hint{font-size:12px;color:var(--accent);white-space:nowrap}.composer-bar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:4px 8px 8px}.composer.v-inline .composer-bar{border-top:1px solid var(--border);padding-top:6px}.composer.v-modal .composer-input{padding:2px 0 6px}.composer.v-modal .composer-input input{font-size:17px;font-weight:550}.composer.v-modal .composer-bar{padding:8px 0 0;border-top:1px solid var(--border);margin-top:6px;flex-wrap:nowrap;gap:4px}.composer.v-modal .composer-bar .btn{flex:none;margin-left:6px}.composer-notes{width:100%;border:0;outline:none;resize:none;background:none;font-size:14px;color:var(--text);padding:0}.composer-notes::placeholder{color:var(--faint)}.modal.composer-modal{width:min(640px,100%);padding:16px 18px 14px;gap:0}.chip-btn{border:0;background:none;font:inherit;font-size:13px}.chip-btn.open{background:var(--hover)}.pop-wrap{position:relative;display:inline-flex}.pop{position:absolute;top:calc(100% + 4px);z-index:70;min-width:220px;max-width:320px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:4px;display:flex;flex-direction:column}.pop.left{left:0}.pop.right{right:0}.pop-list{display:flex;flex-direction:column;max-height:320px;overflow-y:auto}.pop-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border:0;border-radius:7px;background:none;font:inherit;font-size:13.5px;text-align:left;cursor:pointer;color:var(--text);white-space:nowrap}.pop-item:hover{background:var(--hover)}.pop-item.sel{color:var(--accent)}.pop-item.danger{color:var(--danger)}.pop-check{margin-left:auto;color:var(--accent)}.pop-right{margin-left:auto}.pop-group{padding:8px 10px 3px;font-size:11px;font-weight:650;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.pop-sep{height:1px;background:var(--border);margin:4px 6px}.pop-empty{padding:10px;font-size:13px;color:var(--faint)}.pop-search{display:flex;align-items:center;gap:8px;padding:6px 10px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.pop-search input{flex:1;border:0;outline:none;background:none;font-size:13.5px}.pop-field{display:grid;gap:4px;padding:4px 10px 8px;font-size:12px;color:var(--muted)}.pop-body{display:grid;gap:10px;padding:10px;width:280px}.pop-body .pop-field{padding:0}.pop-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.slot{border:1px solid var(--border);background:var(--panel);border-radius:7px;padding:5px 0;font-size:12.5px;cursor:pointer}.slot:hover{border-color:var(--accent)}.dest-pop{width:280px}.dest-btn{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;max-width:220px;border:1px solid var(--border);border-radius:8px;background:var(--panel);font:inherit;font-size:13px;color:var(--text);cursor:pointer}.dest-btn:hover,.dest-btn.open{border-color:var(--accent)}.dest-btn:disabled{cursor:default;opacity:.7;border-color:transparent}.dest-btn.compact{border-color:transparent;background:none;color:var(--muted)}.dest-btn.compact:hover,.dest-btn.compact.open{background:var(--hover);color:var(--text)}.dest-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-foot .pop{bottom:calc(100% + 4px);top:auto}@media (max-width: 860px){.tl-side,.tl-header .sub{display:none}.tl-page{bottom:calc(var(--bottom-nav) + env(safe-area-inset-bottom))}}.notes-page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.notes-side{width:270px;flex:none;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--side)}.notes-side-head{display:flex;align-items:center;gap:6px;padding:16px 10px 10px 14px}.notes-side-head h1{flex:1;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-scope-links{display:flex;justify-content:space-between;gap:8px;padding:0 14px 10px}.notes-search{display:flex;align-items:center;gap:8px;margin:0 8px 8px;padding:6px 10px;border-radius:8px;background:var(--panel);border:1px solid var(--border)}.notes-search input{flex:1;border:0;outline:none;background:none;font-size:13px}.notes-search-scope{align-self:flex-start;margin:-3px 14px 8px;padding:0;border:0;background:none;color:var(--muted);font-size:11px;cursor:pointer}.notes-search-scope:hover{color:var(--accent)}.note-list{flex:1;overflow-y:auto;padding:0 6px 20px}.note-group{padding:10px 8px 4px;font-size:11px;font-weight:650;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.note-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:7px;cursor:pointer;font-size:13.5px}.note-item:hover{background:var(--hover)}.note-item.active{background:var(--accent-weak);color:var(--accent)}.note-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-tw{border:0;background:none;padding:0;width:16px;height:16px;display:grid;place-items:center;color:var(--faint);cursor:pointer;flex:none}.notes-main{flex:1;min-width:0;position:relative}.notes-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);text-align:center;padding:20px}.note-editor{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.note-bar{display:flex;align-items:center;gap:4px;padding:8px 14px;border-bottom:1px solid var(--border);min-height:48px}.note-crumbs{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}.note-style-panel{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 18px;border-bottom:1px solid var(--border);background:var(--panel)}.note-style-panel>span{margin:0 4px 0 8px;color:var(--faint);font-size:12px}.note-cover-clear,.note-cover-choice,.note-icon-choice{border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--muted);cursor:pointer}.note-cover-clear{height:25px;padding:0 7px;font-size:11px}.note-cover-choice{width:25px;height:25px}.note-icon-choice{width:28px;height:28px;font-size:16px}.note-cover-choice.active,.note-icon-choice.active{outline:2px solid var(--accent);outline-offset:2px}.note-scroll{flex:1;overflow-y:auto}.note-cover{height:156px;background-image:linear-gradient(120deg,#ffffff18,#00000024)}.note-doc{max-width:760px;margin:0 auto;padding:34px 40px 120px}.note-page-icon{width:max-content;margin:-9px 0 14px;font-size:42px;line-height:1.2}.note-cover+.note-doc{padding-top:0}.note-cover+.note-doc .note-page-icon{margin-top:-25px;padding:3px 6px;border-radius:10px;background:var(--bg)}.note-title{width:100%;border:0;outline:none;background:none;font-size:30px;font-weight:700;padding:0;margin-bottom:8px;color:var(--text)}.note-title::placeholder{color:var(--faint)}.note-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.note-template-choices{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:16px}.note-body-wrap{position:relative}.note-body{width:100%;min-height:300px;border:0;outline:none;background:none;resize:none;overflow:hidden;padding:0;font-size:15px;line-height:24px;color:var(--text)}.note-body::placeholder{color:var(--faint)}.note-blocks{display:flex;flex-direction:column;gap:5px;min-height:260px}.note-block{position:relative;border-radius:8px;min-height:32px}.note-block:hover,.note-block.active{background:var(--hover)}.note-block.drop-before{box-shadow:inset 0 3px var(--accent)}.note-block.drop-after{box-shadow:inset 0 -3px var(--accent)}.note-block-tools{position:absolute;right:0;top:-29px;z-index:10;display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:7px;background:var(--panel);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none}.note-block:hover .note-block-tools,.note-block.active .note-block-tools,.note-block-tools:focus-within{opacity:1;pointer-events:auto}.note-block-tools button{width:23px;height:23px;display:grid;place-items:center;border:0;border-radius:5px;background:none;color:var(--muted);cursor:pointer}.note-block-tools button:hover{background:var(--hover);color:var(--text)}.note-block-tools button:disabled{opacity:.35;cursor:default}.note-block-tools .note-block-grip{cursor:grab}.note-block-tools .note-block-grip:active{cursor:grabbing}.note-block-tools select{max-width:126px;border:0;background:none;color:var(--muted);font-size:11px;outline:none;cursor:pointer}.note-block-kind{padding:0 5px;color:var(--muted);font-size:11px}.note-block-preview{min-height:32px;padding:4px 6px;cursor:text}.note-block-preview.empty{color:var(--faint)}.note-block-preview .md p,.note-block-preview .md ul,.note-block-preview .md ol{margin-bottom:0}.note-block-preview .md h1,.note-block-preview .md h2,.note-block-preview .md h3{margin:0}.note-block-input{display:block;width:100%;min-height:32px;padding:4px 6px;border:0;outline:none;resize:none;overflow:hidden;background:none;color:var(--text);font:inherit;font-size:15px;line-height:24px}.note-block-input.h1{font-size:24px;font-weight:700;line-height:1.3}.note-block-input.h2{font-size:19px;font-weight:650;line-height:1.35}.note-block-input.h3{font-size:16px;font-weight:650;line-height:1.4}.note-block-input.code{font-family:ui-monospace,Consolas,monospace;background:var(--panel-2);border-radius:6px}.note-block-add{align-self:flex-start;display:flex;align-items:center;gap:5px;margin-top:8px;padding:5px 7px;border:0;border-radius:6px;background:none;color:var(--faint);font-size:12px;cursor:pointer}.note-block-add:hover{background:var(--hover);color:var(--text)}.slash-menu{position:absolute;left:0;z-index:20;width:260px;max-height:300px;overflow-y:auto;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.slash-hint{width:34px;flex:none;font:12px ui-monospace,Consolas,monospace;color:var(--faint)}.note-view{min-height:200px;cursor:text}.note-image{margin:14px 0 20px}.note-image img{display:block;max-width:100%;max-height:620px;object-fit:contain;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.note-image figcaption{margin-top:7px;color:var(--muted);font-size:12px;text-align:center}.note-image-placeholder{min-height:110px;display:grid;place-items:center;border:1px dashed var(--border-strong);border-radius:10px;background:var(--panel-2);color:var(--faint);font-size:13px}.note-block-preview .note-image{margin:4px 0}.note-image-block>input{display:block;width:100%;padding:5px 8px;border:0;border-bottom:1px solid transparent;outline:none;background:transparent;color:var(--muted);font-size:12px;text-align:center}.note-image-block>input:focus{border-bottom-color:var(--accent);color:var(--text)}.note-image-block .note-image figcaption{display:none}.note-callout{display:flex;gap:10px;margin:8px 0;padding:12px 14px;border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:8px;background:var(--panel-2)}.note-callout>span{flex:none;font-size:18px;line-height:1.4}.note-callout p:last-child{margin-bottom:0}.note-table-scroll{width:100%;overflow-x:auto;margin:8px 0}.note-table,.note-table-editor table{width:100%;min-width:360px;border-collapse:collapse;table-layout:fixed;font-size:13px}.note-table th,.note-table td,.note-table-editor th,.note-table-editor td{padding:8px 10px;border:1px solid var(--border);text-align:left;overflow-wrap:anywhere}.note-table th,.note-table-editor th{background:var(--panel-2);font-weight:650}.note-table-editor input{width:100%;min-width:80px;padding:0;border:0;outline:none;background:transparent;color:var(--text);font:inherit}.note-table-editor input:focus{box-shadow:0 2px var(--accent)}.note-table-actions{display:flex;gap:4px;flex-wrap:wrap;margin:5px 0 8px}.note-table-actions button{padding:4px 7px;border:0;border-radius:5px;background:none;color:var(--muted);cursor:pointer;font-size:11px}.note-table-actions button:hover{background:var(--hover);color:var(--text)}.note-kids{margin-top:30px;border-top:1px solid var(--border);padding-top:6px}.note-kid{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:7px 6px;border-radius:7px;text-align:left;font-size:14px;cursor:pointer}.note-kid:hover{background:var(--hover)}.note-item-icon{flex:none;width:14px;text-align:center;font-size:13px}.md{font-size:15px;line-height:1.65;color:var(--text)}.md h1{font-size:24px;margin:22px 0 8px}.md h2{font-size:19px;margin:18px 0 6px}.md h3{font-size:16px;margin:14px 0 4px}.md p{margin:0 0 10px}.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md li{margin:2px 0}.md li.sub{margin-left:20px}.md li.md-check{list-style:none;margin-left:-22px;display:flex;align-items:flex-start;gap:9px}.md li.md-check.sub{margin-left:-2px}.md li.md-check .check{margin-top:4px}.md li.md-check.done>span{color:var(--faint);text-decoration:line-through}.md blockquote{margin:0 0 10px;padding:2px 0 2px 14px;border-left:3px solid var(--border);color:var(--muted)}.md blockquote p{margin:4px 0}.md hr{border:0;border-top:1px solid var(--border);margin:18px 0}.md code{font:13px ui-monospace,Consolas,monospace;background:var(--panel-2);padding:1px 5px;border-radius:4px}.md pre{background:var(--panel-2);padding:12px 14px;border-radius:8px;overflow-x:auto;margin:0 0 12px}.md pre code{background:none;padding:0}.md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md-ref{display:inline;border:0;border-radius:5px;padding:1px 5px;background:var(--accent-weak);color:var(--accent);font:inherit;cursor:pointer}.md-ref:hover{text-decoration:underline}.md-ref.task.done{text-decoration:line-through;opacity:.7}.md-ref.missing{color:var(--faint);background:var(--panel-2);cursor:default}.note-task-embed{margin:14px 0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.note-task-embed-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.note-task-embed-head strong{font-size:13px}.note-task-embed-row{display:flex;gap:8px;align-items:center;width:100%;padding:3px 6px;border-radius:6px;color:var(--text)}.note-task-embed-row:hover{background:var(--hover)}.note-task-check,.note-task-open{border:0;background:none;color:inherit;cursor:pointer}.note-task-check{width:24px;height:26px;padding:0;font-size:17px}.note-task-open{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:4px 0;text-align:left}.note-task-open span{flex:1;min-width:0}.note-task-embed-row small{color:var(--faint)}@media (max-width: 860px){.notes-page{bottom:calc(var(--bottom-nav) + env(safe-area-inset-bottom))}.notes-side{width:100%}.notes-page:has(.note-editor) .notes-side{display:none}.note-doc{padding:20px 16px 80px}.note-block-tools{opacity:1;pointer-events:auto;position:static;box-shadow:none;border:0;background:none;justify-content:flex-end}}@media (max-width: 620px){.workspace-overview{padding:12px}.workspace-overview-columns{grid-template-columns:1fr;gap:12px}.workspace-overview-head .btn{margin-left:auto}}.semantic-page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.semantic-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--panel)}.semantic-head h1{font-size:18px;margin:0}.semantic-canvas{flex:1;min-height:200px;position:relative}.semantic-outline{flex:1;min-height:0;overflow:auto;padding:18px 24px 40px;background:var(--bg)}.semantic-outline>[role=tree]{max-width:880px;margin:0 auto;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel)}.semantic-outline-toolbar{display:flex;align-items:center;gap:12px;max-width:880px;margin:0 auto 12px}.semantic-outline-toolbar .input{flex:1;min-width:0}.semantic-outline-row{display:flex;align-items:center;gap:9px;min-height:42px;padding:5px 15px 5px 14px;border-bottom:1px solid var(--border)}.semantic-outline-row:hover{background:var(--hover)}.semantic-outline-row>svg{flex:none;color:var(--muted)}.semantic-outline-fold{flex:none;width:19px;height:24px;display:grid;place-items:center;padding:0;border:0;background:none;color:var(--muted);cursor:pointer}.semantic-outline-fold:disabled{cursor:default}.semantic-outline-title{flex:1;min-width:0;padding:3px 0;border:0;background:none;color:var(--text);text-align:left;font:inherit;font-size:13px;cursor:pointer}.semantic-outline-sphere .semantic-outline-title,.semantic-outline-vector .semantic-outline-title{font-weight:700}.semantic-outline-count{flex:none;color:var(--muted);font-size:11px}.semantic-outline-add{flex:none;width:25px;height:25px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.semantic-outline-row:hover .semantic-outline-add,.semantic-outline-add:focus-visible{background:var(--hover);color:var(--accent)}.semantic-outline-create-menu,.semantic-outline-draft{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:7px 14px 9px;border-bottom:1px solid var(--border);background:var(--panel-2)}.semantic-outline-draft .input{flex:1;min-width:170px}.semantic-outline-draft .semantic-draft-period{flex:none;width:162px;min-width:0}.semantic-canvas .react-flow{background:var(--bg)}.semantic-empty{position:absolute;left:20px;bottom:20px;padding:10px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--muted)}.semantic-node{width:216px;min-height:54px;padding:8px 10px;border:1px solid var(--border);border-left:3px solid var(--border);border-radius:11px;background:var(--panel);box-shadow:0 2px 8px #1018280f;color:var(--text)}.semantic-sphere{background:var(--accent-weak)}.semantic-vector{background:color-mix(in srgb,var(--panel) 95%,var(--accent))}.semantic-group{width:280px}.semantic-preview{margin:5px 0 0 22px;color:var(--muted);font-size:11px;line-height:1.35}.semantic-task,.semantic-note{width:232px}.semantic-node .react-flow__handle{opacity:0}.semantic-main{display:flex;align-items:center;gap:7px;min-height:25px}.semantic-main>svg{flex:none;color:var(--muted)}.semantic-title{flex:1;min-width:0;padding:2px 0;border:0;background:none;text-align:left;color:inherit;font:inherit;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.semantic-task .semantic-title,.semantic-note .semantic-title{font-weight:400}.semantic-fold{flex:none;display:flex;align-items:center;gap:2px;padding:2px;border:0;background:none;color:var(--muted);font-size:11px;cursor:pointer}.semantic-check{flex:none;width:17px;height:17px;display:grid;place-items:center;padding:0;border:1.5px solid var(--muted);border-radius:50%;background:none;color:#fff;cursor:pointer}.semantic-check.done{border-color:var(--accent);background:var(--accent)}.semantic-progress{display:flex;align-items:center;gap:8px;margin:4px 0 0 22px;color:var(--muted);font-size:11px}.semantic-progress .progress{flex:1;height:4px}.semantic-owner-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.semantic-owner-row>button:first-child{flex:1;border:0;background:none;text-align:left;color:var(--text);cursor:pointer}.vector-folder{margin-left:12px;border-left:1px solid var(--border)}.vector-folder .list-item{padding-left:14px}.vector-folder .list-item:first-child{font-weight:600}@media (max-width: 860px){.semantic-page{bottom:calc(var(--bottom-nav) + env(safe-area-inset-bottom))}.semantic-head{padding:9px 12px}}.agency-month{position:relative;padding:6px 14px;border-bottom:1px solid var(--border)}.agency-month-panel{position:absolute;z-index:20;top:100%;left:14px;width:min(760px,calc(100vw - 28px));max-height:min(70vh,680px);overflow:auto;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 16px 40px #0003;display:grid;gap:12px}.agency-package-list{display:grid;gap:4px}.agency-package-list .row{justify-content:space-between}.agency-package-add,.agency-month-actions{flex-wrap:wrap}.agency-package-add .input:first-child{flex:1 1 200px}.agency-package-add input[type=number],.agency-month-actions input[type=number]{width:72px}.task-result,.task-deadline-history{display:grid;gap:8px;margin:14px 0}.task-result .notes-input{min-height:54px}.radar-scroll{overflow:auto}.radar-table{border-collapse:collapse;min-width:900px;width:100%}.radar-table th,.radar-table td{border:1px solid var(--border);padding:9px;min-width:105px;vertical-align:top;text-align:left}.radar-table th:first-child{position:sticky;left:0;z-index:1;background:var(--panel);min-width:140px}.radar-task{display:block;width:100%;margin:3px 0;padding:6px;border:0;border-radius:6px;background:var(--accent-weak);color:inherit;text-align:left;cursor:pointer}.radar-task.overdue{background:#e5484d33}.radar-task.risk{background:#f59e0b44}.work-log{display:grid;gap:8px;max-height:230px;overflow:auto}.work-log-row{display:grid;grid-template-columns:80px 1fr auto;gap:10px;padding:6px 0;border-top:1px solid var(--border)}.graph-structure{overflow:auto;flex:1;padding:18px}.graph-outline-row{display:flex;align-items:center;gap:14px;width:100%;min-height:37px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left}.graph-outline-row:hover{background:var(--hover)}.node-state{font-size:10px;color:var(--muted);margin-left:5px}.graph-library{max-width:1160px;margin:0 auto;width:100%}.graph-library-tabs{display:inline-flex;gap:3px;padding:4px;margin:2px 0 22px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.graph-library-tabs button{padding:8px 15px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:600}.graph-library-tabs button.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.graph-library-section{display:grid;gap:18px}.graph-library-intro h2{font-size:16px}.graph-library-intro p{margin:5px 0 0;color:var(--muted)}.graph-library-picker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--panel)}.graph-library-picker>.input:first-child{flex:1;min-width:220px}.graph-library-picker input[type=month],.graph-library-picker input[type=number]{width:165px}.graph-client-select{min-width:220px;flex:1;max-width:360px}.graph-month-grid,.graph-cocoon-grid,.graph-cocoon-links,.graph-year-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.graph-month-card,.graph-library-link{display:flex;align-items:center;gap:10px;width:100%;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.graph-month-card:hover,.graph-library-link:hover{border-color:var(--accent);background:var(--hover)}.graph-month-card{flex-direction:column;align-items:stretch}.graph-month-title{display:flex;align-items:center;gap:10px;font-weight:650}.graph-library-link>span:nth-child(2){flex:1;display:grid;gap:2px}.graph-library-link small{color:var(--muted);font-size:12px}.graph-library-link>svg{color:var(--faint)}.graph-library-empty{padding:26px;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}.graph-custom-cocoon{border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow:hidden}.graph-custom-summary{display:flex;align-items:center;gap:8px;padding:12px}.graph-custom-name{flex:1;min-width:0;display:grid;gap:3px;padding:0;border:0;background:none;color:var(--text);text-align:left;font-weight:650}.graph-custom-name:hover{color:var(--accent)}.graph-custom-details{display:grid;gap:9px;padding:12px;border-top:1px solid var(--border)}.graph-custom-details>.danger{justify-self:start}.graph-actions{position:relative}.graph-actions summary{list-style:none;cursor:pointer}.graph-actions summary::-webkit-details-marker{display:none}.graph-actions-menu{position:absolute;z-index:15;top:calc(100% + 6px);right:0;display:grid;gap:7px;width:268px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:var(--shadow-lg)}.graph-actions-menu>*{width:100%;justify-content:flex-start}@media (max-width: 600px){.graph-library-tabs{width:100%}.graph-library-tabs button{flex:1;padding:8px 5px}.graph-library-picker>*,.graph-client-select{width:100%;max-width:none}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #19191b;--side: #1d1d20;--rail: #141416;--panel: #222226;--panel-2: #2a2a2f;--hover: rgba(255, 255, 255, .055);--border: rgba(255, 255, 255, .075);--border-strong: rgba(255, 255, 255, .13);--text: #e8e8ea;--muted: #9d9da6;--faint: #67676f;--danger: #ef5b5b;--ok: #3dbf7a;--warn: #f2a22e;--p0: #6c6c74;--p1: #4d8cf5;--p2: #f2a22e;--p3: #ef5b5b;--st-todo: #8a8a93;--st-doing: var(--accent);--st-review: #f2a22e;--st-done: #3dbf7a;--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .28);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .4);--overlay: rgba(6, 6, 8, .55)}:root[data-theme=light]{color-scheme:light;--bg: #ffffff;--side: #f7f8fa;--rail: #eef1f5;--panel: #ffffff;--panel-2: #f2f4f7;--hover: rgba(29, 38, 57, .055);--border: rgba(29, 38, 57, .11);--border-strong: rgba(29, 38, 57, .19);--text: #1d1d1f;--muted: #535e6d;--faint: #657181;--danger: #e5484d;--ok: #30a46c;--warn: #e8960c;--p0: #7c8797;--p1: #4772fa;--p2: #e8960c;--p3: #e5484d;--st-todo: #8a8a93;--st-review: #e8960c;--st-done: #30a46c;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 6px 20px rgba(16, 24, 40, .08);--shadow-lg: 0 18px 48px rgba(16, 24, 40, .18), 0 2px 6px rgba(16, 24, 40, .08);--overlay: rgba(20, 22, 30, .32)}:root{--accent: #4772fa;--accent-weak: color-mix(in srgb, var(--accent) 15%, transparent);--accent-soft: color-mix(in srgb, var(--accent) 9%, transparent);--accent-text: #fff;--radius: 8px;--row-h: 42px;--row-pad: 9px;--ease: cubic-bezier(.2, .7, .2, 1)}:root[data-density=compact]{--row-h: 34px;--row-pad: 5px}html,body{background:var(--bg);color:var(--text)}body,button,input,select,textarea{font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:"cv11","ss01"}body{font-size:14px;letter-spacing:-.006em}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;font-weight:500;transition:background .12s,border-color .12s,transform .08s}.btn:hover{background:var(--hover);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-text);box-shadow:0 1px #ffffff1f inset,0 4px 14px color-mix(in srgb,var(--accent) 35%,transparent)}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 88%,white);filter:none}.btn.primary:disabled{opacity:.45;box-shadow:none}.btn.ghost{background:none;border-color:transparent}.btn.danger{color:var(--danger)}.icon-btn{color:var(--muted);border-radius:8px;transition:background .12s,color .12s}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn.on{background:var(--accent-weak);color:var(--accent)}.input,.select,.textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.seg{background:var(--panel-2);border:1px solid var(--border);border-radius:9px}.seg button{color:var(--muted);border-radius:7px;transition:background .12s,color .12s}.seg button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #00000040}:root[data-theme=dark] .seg button.active{background:#34343a}.chip{background:var(--panel-2);color:var(--muted);border-radius:6px}.chip.clickable.active{background:var(--accent-weak);color:var(--accent);border-color:transparent}kbd{background:var(--panel-2);border-color:var(--border);color:var(--faint)}.rail{background:var(--rail);border-right:1px solid var(--border);gap:6px}.rail-logo{width:32px;height:32px;border-radius:9px;margin-bottom:18px;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 40%,transparent)}.rail-btn{width:42px;height:42px;border-radius:11px;color:var(--faint);position:relative}.rail-btn:hover{color:var(--text);background:var(--hover)}.rail-btn.active{color:var(--accent);background:var(--accent-weak)}.rail-btn.active:before{content:"";position:absolute;left:-7px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.list-panel{background:var(--side);border-right:1px solid var(--border);padding:16px 10px 24px}.list-item{border-radius:8px;padding:7px 10px;color:var(--text);font-weight:400;transition:background .1s}.list-item:hover{background:var(--hover)}.list-item.active{background:var(--accent-weak);color:var(--text);font-weight:500}.list-item.active .ic{color:var(--accent)}.list-item .count{font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums}.list-item.active .count{color:var(--accent)}.ic{color:var(--muted)}.ic.sun{color:#f2a22e}.ic.week{color:#9b7bff}.ic.inbox{color:var(--accent)}.panel-sep{background:var(--border);margin:12px 6px}.folder-toggle{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.folder-toggle:hover{color:var(--muted)}.search-hint{background:var(--panel-2);border-color:var(--border);color:var(--faint);border-radius:9px}.search-hint:hover{border-color:var(--border-strong);color:var(--muted)}.dot{box-shadow:0 0 0 2px color-mix(in srgb,currentColor 0%,transparent)}.main{background:var(--bg)}.list-page{max-width:980px;padding:26px 40px 90px}.list-head{margin-bottom:18px;min-height:40px}.list-head h1{font-size:23px;font-weight:700;letter-spacing:-.025em}.list-head .sub{color:var(--faint);font-size:13px;font-weight:450}.composer.v-inline{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;margin-bottom:20px}.composer.v-inline:hover{border-color:var(--border-strong)}.composer.v-inline.expanded{background:var(--panel);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak),var(--shadow)}.composer-plus{color:var(--accent);font-weight:400}.composer-input input{color:var(--text)}.composer-input input::placeholder{color:var(--faint)}.composer.v-inline .composer-bar{border-top-color:var(--border)}.group{margin-bottom:14px}.group-head{font-size:11.5px;font-weight:650;letter-spacing:.055em;text-transform:uppercase;color:var(--muted);padding:6px 2px;gap:6px}.group-head svg{color:var(--faint)}.group-head .n{font-size:11px;font-weight:600;letter-spacing:0;color:var(--faint);background:var(--panel-2);border-radius:999px;padding:0 7px;line-height:18px}.group-head.danger{color:var(--danger)}.group-head.danger .n{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.task-row{min-height:var(--row-h);padding:var(--row-pad) 12px;margin:0 -12px;border-radius:9px;gap:12px;transition:background .1s}.task-row+.task-row{box-shadow:none}.task-row:hover{background:var(--hover)}.task-row.active{background:var(--accent-soft)}.task-row .task-title{font-size:14.5px;font-weight:400;color:var(--text)}.task-title.done{color:var(--faint);text-decoration-color:var(--faint)}.parent-inline{color:var(--faint)}.task-side{gap:8px}.due{font-size:12px;font-weight:550;padding:2px 8px;border-radius:6px;color:var(--muted);background:var(--panel-2);font-variant-numeric:tabular-nums}.due.today{color:var(--accent);background:var(--accent-weak)}.due.overdue{color:var(--danger);background:color-mix(in srgb,var(--danger) 13%,transparent)}.waiting{color:var(--warn)}.task-row{position:relative}.task-row.hl{background:linear-gradient(90deg,color-mix(in srgb,var(--hl) 20%,transparent) 0,color-mix(in srgb,var(--hl) 8%,transparent) 34%,color-mix(in srgb,var(--hl) 2%,transparent) 72%,transparent 100%)}.task-row.hl:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:3px;background:var(--hl)}.task-row.hl:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--hl) 27%,transparent) 0,color-mix(in srgb,var(--hl) 12%,transparent) 40%,var(--hover) 100%)}.task-row.prio-3 .task-title{font-weight:560}.task-row.prio-2 .task-title{font-weight:480}.task-row.is-done,.task-row.is-done:hover{background:transparent;opacity:.72}.task-row.is-done:before{opacity:.3}.task-row.is-wontdo .task-title{text-decoration:line-through;color:var(--faint);font-style:italic}.task-row.active,.task-row.active:hover{background:var(--accent-weak)}.task-row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--accent)}.groups .task-row,.drag-row .task-row{margin-top:2px}.list-tag{padding:2px 8px;border-radius:6px;font-weight:550;font-size:11.5px;max-width:160px;background:color-mix(in srgb,var(--cc, var(--faint)) 16%,transparent);color:color-mix(in srgb,var(--cc, var(--muted)) 72%,var(--text))}:root[data-theme=light] .list-tag{color:color-mix(in srgb,var(--cc, var(--muted)) 80%,black)}.tag{background:color-mix(in srgb,var(--tc, var(--accent)) 16%,transparent);color:color-mix(in srgb,var(--tc, var(--accent)) 78%,var(--text));padding:1px 7px;border-radius:6px;font-weight:550;font-size:11.5px}:root[data-theme=light] .tag{color:color-mix(in srgb,var(--tc, var(--accent)) 82%,black)}.pin-mark{color:var(--accent);transform:rotate(35deg)}.group.danger,.group.pinned{border-radius:12px;padding:4px 12px 8px;margin:0 -12px 16px}.group.danger{background:color-mix(in srgb,var(--danger) 5%,transparent);border:1px solid color-mix(in srgb,var(--danger) 18%,transparent)}.group.pinned{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.group.pinned .group-head{color:var(--accent)}.group-head .dot{width:8px;height:8px}.view-pop{width:290px}.view-menu{display:grid;gap:10px;padding:10px}.view-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.view-row.col{grid-template-columns:1fr}.view-row .select{min-height:32px;padding:4px 8px;font-size:13px}.view-row.toggle{grid-template-columns:1fr auto;cursor:pointer}.view-row .seg{justify-self:start}.tag-color-bar{display:flex;align-items:center;gap:12px;margin:-6px 0 14px}.check{width:18px;height:18px;border-radius:5px;border:1.8px solid var(--p0);background:transparent;transition:background .15s var(--ease),border-color .15s,transform .15s var(--ease),box-shadow .15s}.check.p1{border-color:var(--p1);background:color-mix(in srgb,var(--p1) 10%,transparent)}.check.p2{border-color:var(--p2);background:color-mix(in srgb,var(--p2) 10%,transparent)}.check.p3{border-color:var(--p3);background:color-mix(in srgb,var(--p3) 10%,transparent)}.check:hover{box-shadow:0 0 0 4px var(--hover);transform:scale(1.05)}.check.done{background:var(--p0);border-color:var(--p0);animation:check-pop .28s var(--ease)}.check.done.p1{background:var(--p1);border-color:var(--p1)}.check.done.p2{background:var(--p2);border-color:var(--p2)}.check.done.p3{background:var(--p3);border-color:var(--p3)}.check.done svg{color:#fff}@keyframes check-pop{0%{transform:scale(.7)}60%{transform:scale(1.15)}to{transform:scale(1)}}.detail{background:var(--panel);border-left:1px solid var(--border);box-shadow:-1px 0 0 var(--border)}.detail-head{border-bottom-color:var(--border)}.detail-foot{border-top-color:var(--border);background:color-mix(in srgb,var(--panel) 92%,black)}.title-input{font-size:20px;font-weight:650;letter-spacing:-.02em}.notes-input{color:var(--text);line-height:1.6}.chip-btn{color:var(--muted);border-radius:7px;font-weight:500}.chip-btn:hover,.chip-btn.open{background:var(--hover);color:var(--text)}.chip-btn.set{color:var(--accent);background:var(--accent-soft)}.chip-btn.overdue,.chip-btn.running{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.crumb{color:var(--faint)}.dest-btn{background:var(--panel-2);border-color:var(--border);color:var(--text)}.dest-btn.compact{background:none;color:var(--muted)}.pop,.menu,.slash-menu,.palette{background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pop-item,.menu button{color:var(--text)}.pop-item:hover,.menu button:hover{background:var(--hover)}.pop-item.sel,.pal-item.sel{background:var(--accent-weak);color:var(--text)}.pop-group{color:var(--faint)}.pop-search,.pal-input{border-bottom-color:var(--border)}.slot{background:var(--panel-2);border-color:var(--border);color:var(--text)}.slot.sel{background:var(--accent);border-color:var(--accent);color:#fff}.modal-wrap,.backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);border-radius:14px}.toast{background:color-mix(in srgb,var(--panel) 92%,black);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:11px}.toast-action{color:var(--accent)}.empty{color:var(--faint)}.kcol{background:var(--side);border:1px solid var(--border);border-radius:12px}.kcol.over{background:var(--accent-soft);border-color:var(--accent)}.kcol-head{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.kcard{background:var(--panel);border:1px solid var(--border);box-shadow:0 1px 2px #0003;border-radius:10px;transition:border-color .12s,transform .12s,box-shadow .12s}.kcard:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow)}.cal{background:var(--side);border-color:var(--border);border-radius:12px}.cal-wd{border-bottom-color:var(--border)}.cal-wd div{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint)}.cal-cell{border-color:var(--border)}.cal-cell:hover{background:var(--hover)}.cal-cell.other{background:color-mix(in srgb,var(--side) 60%,var(--bg))}.cal-cell.selected{box-shadow:inset 0 0 0 1.5px var(--accent)}.cal-cell.today .cal-num{background:var(--accent);color:#fff;border-radius:999px;min-width:22px;text-align:center}.cal-chip{background:var(--panel-2);border-radius:5px;color:var(--text)}.tl-side{background:var(--side);border-color:var(--border)}.tl-item{background:var(--panel);border:1px solid var(--border);box-shadow:none}.tl-item:hover{border-color:var(--border-strong);box-shadow:none}.tl-days{background:var(--bg);border-bottom-color:var(--border)}.tl-col{border-left-color:var(--border)}.tl-col{background-image:linear-gradient(to bottom,var(--border) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border) 45%,transparent) 1px,transparent 1px)}.tl-block{background:color-mix(in srgb,var(--bc) 22%,var(--panel));color:var(--text);box-shadow:none}.tl-block:hover{box-shadow:var(--shadow)}.graph-head,.semantic-head{background:var(--side);border-bottom-color:var(--border)}.graph-canvas .react-flow,.semantic-canvas .react-flow{background:var(--bg)}.react-flow__background{color:var(--border-strong)!important}.mnode{background:var(--panel);border-color:var(--border-strong);color:var(--text);box-shadow:none}.graph-toolbar{background:var(--panel);border-color:var(--border-strong)}.react-flow__controls-button{background:var(--panel);border-bottom-color:var(--border);fill:var(--text)}.notes-side{background:var(--side);border-right-color:var(--border)}.notes-search{background:var(--panel-2);border-color:var(--border)}.note-item.active{background:var(--accent-weak);color:var(--text)}.note-bar{border-bottom-color:var(--border)}.note-title{letter-spacing:-.03em}.md code,.md pre{background:var(--panel-2)}.settings{border-color:var(--border)}.setting{background:var(--panel)}.setting+.setting{border-top-color:var(--border)}.setting:hover{background:var(--hover)}.goal-card,.info-panel,.review-kpis>div{background:var(--panel);border:1px solid var(--border)}.progress{background:var(--panel-2)}.progress>div{background:var(--accent)}.habit-pill{background:var(--panel);border-color:var(--border)}.hg-cell{background:var(--panel-2);border-color:var(--border)}.login{background:radial-gradient(1200px 600px at 50% -10%,var(--accent-weak),transparent 60%),var(--bg)}.login form{background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);border-radius:16px}.appearance{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--panel);margin-bottom:14px}.appearance h2{font-size:14px}.appearance .row-label{font-size:12px;color:var(--muted);margin-bottom:6px}.accent-swatches{display:flex;flex-wrap:wrap;gap:8px}.accent-swatch{width:28px;height:28px;border-radius:50%;border:0;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff26;transition:transform .12s}.accent-swatch:hover{transform:scale(1.1)}.accent-swatch.active{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--text)}.bottom-nav{background:color-mix(in srgb,var(--side) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav button{color:var(--faint)}.bottom-nav button.active{color:var(--accent)}.fab{background:var(--accent);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 45%,transparent),0 2px 6px #0000004d}@media (max-width: 860px){html,body,.main{overflow-x:hidden}.bottom-nav{box-shadow:0 -1px 0 var(--border);border-top:0}.bottom-nav button{gap:3px;font-size:10.5px;min-height:var(--bottom-nav)}.fab{width:52px;height:52px;right:14px}.search-hint kbd,kbd,.hint,.btn-label{display:none}.input,.select,.textarea,.composer-input input,.notes-search input,.pop-search input,.pal-input input{font-size:16px}.input,.select{min-height:42px}.list-page{padding:10px 14px calc(var(--bottom-nav) + 92px)}.list-head{flex-wrap:wrap;gap:4px 6px;margin-bottom:10px}.list-head h1{font-size:21px;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-head .spacer{display:none}.list-head .sub{order:3;flex-basis:100%;font-size:12.5px;padding-left:2px}.list-head>.icon-btn.mobile-only{margin-left:-6px}.list-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex-wrap:nowrap}.list-actions .btn.sm{padding:0 9px;height:34px}.icon-btn{width:36px;height:36px}.seg{flex-wrap:nowrap}.seg.sm button{padding:6px 9px}.page{padding:12px 14px calc(var(--bottom-nav) + 92px)}.page-head{gap:8px;margin-bottom:12px}.page-head .sub{flex-basis:100%;order:3;font-size:12.5px}.task-row{min-height:46px;padding:10px 8px;margin:0 -8px;gap:12px}.task-row .check{width:20px;height:20px}.task-row .task-title{font-size:15px}.parent-inline{display:block;margin:1px 0 0;font-size:12px}.task-side{gap:6px;font-size:12px;max-width:42%;flex-shrink:1;justify-content:flex-end;flex-wrap:wrap}.task-side .waiting svg{display:none}.tag{margin-left:4px}.group-head{padding:8px 2px;font-size:13.5px}.drag-row.drop-before:before{left:0;right:0}.composer.v-inline{margin-bottom:10px}.composer-input{padding:10px 12px}.composer-bar{flex-wrap:wrap;gap:2px;padding:4px 6px 8px}.composer-bar .spacer{flex-basis:100%;height:0}.composer-bar .dest-btn{flex:1;max-width:none;height:38px}.composer-bar .btn{height:38px}.composer.v-modal .composer-bar{flex-wrap:wrap}.composer.v-modal .composer-input input{font-size:18px}.chip-btn{height:36px;padding:0 10px}.modal.composer-modal{width:100%;padding:16px 14px calc(14px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.modal-wrap{padding:0}.pop{position:fixed;left:8px!important;right:8px!important;top:auto!important;bottom:calc(8px + env(safe-area-inset-bottom));max-width:none;min-width:0;width:auto;max-height:70vh;border-radius:14px;z-index:95}.pop-list{max-height:55vh}.pop-item{padding:11px 12px;font-size:15px}.pop-body,.dest-pop,.time-pop{width:auto}.menu{position:fixed;left:8px;right:8px;top:auto;bottom:calc(8px + env(safe-area-inset-bottom));min-width:0;z-index:95}.menu button{padding:12px;font-size:15px}.detail{padding-top:env(safe-area-inset-top)}.detail-head{padding:8px 6px;gap:0;overflow-x:auto}.detail-head .chip-btn{padding:0 8px}.detail-body{padding:14px 16px 30px}.title-input{font-size:21px}.notes-input{font-size:16px}.detail-foot{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.detail-foot .foot-select{max-width:48%}.list-panel{width:min(300px,86vw);padding-top:calc(14px + env(safe-area-inset-top))}.list-item{padding:10px 12px;font-size:15px}.folder-head .menu-wrap{opacity:1}.list-page.board{padding-right:0;padding-left:0}.list-page.board>.list-head,.list-page.board>.composer{margin-left:14px;margin-right:14px}.list-page .kanban{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 14px;gap:10px;margin:0;padding:0 14px 8px}.list-page .kcol{flex:0 0 82%;scroll-snap-align:start}.cal-tabs{order:-1}.page-head:has(.cal-tabs) h1{font-size:20px}.cal-cell{min-height:50px;padding:3px 2px}.tl-header{padding:8px 12px;gap:6px}.tl-header .sub{display:block;order:5;flex-basis:100%;margin-left:0;font-size:12px}.tl-title{font-size:16px;flex:1 1 100%;order:2}.tl-today{display:none}.tl-header .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-body{flex-direction:column}.tl-side{display:flex;width:auto;flex:none;gap:6px;overflow-x:auto;overflow-y:hidden;padding:8px 12px;border-right:0;border-bottom:1px solid var(--border);align-items:flex-start}.tl-side section{display:flex;align-items:center;gap:6px;flex:none}.tl-side-head{padding:0 2px;white-space:nowrap}.tl-item{flex:none;max-width:200px;margin:0;padding:8px 10px;touch-action:manipulation}.tl-empty,.tl-hint{display:none}.tl-block{touch-action:manipulation}.tl-resize{height:14px}.tl-days,.tl-grid{min-width:0}.tl-hours div{right:4px;font-size:10px}.graph-head{padding:6px 8px;gap:2px;flex-wrap:wrap}.graph-head h2{font-size:15px!important;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-period{min-width:0!important;font-size:14px}.graph-done{font-size:11.5px}.graph-progress{width:60px!important}.graph-tpl{max-width:44vw;min-height:34px;height:34px;font-size:13px;padding:0 8px}.graph-head .btn{height:34px;padding:0 9px}.graph-toolbar{bottom:10px}.graph-toolbar .btn{width:44px;height:44px;justify-content:center}.notes-side-head{padding-top:calc(12px + env(safe-area-inset-top))}.notes-page:not(:has(.note-editor,.semantic-core)) .notes-main{display:none}.notes-page:has(.semantic-core) .notes-side{display:none}.note-item{padding:10px 8px;font-size:15px}.note-bar{padding:6px;gap:0}.note-crumbs{flex:1}.note-doc{padding:16px 16px 90px}.note-title{font-size:24px}.note-body,.md{font-size:16px}.slash-menu{width:min(280px,90vw)}.slash-menu .pop-item{padding:10px 12px}.goal-head{flex-wrap:wrap;row-gap:6px}.goal-title{flex-basis:calc(100% - 30px)}.goal-progress .progress{width:90px}.goal-body{padding:0 8px 8px}.habit-grid{gap:3px}.hg-name{font-size:13px}.review-kpis{grid-template-columns:1fr 1fr;gap:8px}.review-kpis b{font-size:18px}.tpl-layout{grid-template-columns:1fr!important}.tpl-item{grid-template-columns:1fr 64px 36px}.settings .setting{padding:15px 14px}.info-panel .grid-2,.grid-2,.cards{grid-template-columns:1fr}.palette-wrap{padding:8px;place-items:start stretch}.palette{width:100%}.pal-item{padding:11px 10px}.toast{bottom:calc(var(--bottom-nav) + 80px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.semantic-head h1{font-size:16px!important}}@media (min-width: 621px) and (max-width: 860px){.notes-page:has(.semantic-core) .notes-side{display:none}}
