.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.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__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--bg:#15171c;--bg-deep:#101216;--panel:#1b1e25;--panel-2:#232731;--panel-3:#2a2f3a;--border:#2e3440;--border-strong:#3b4252;--text:#e4e7ed;--text-dim:#b5bcc9;--muted:#858d9e;--accent:#4f8cff;--ok:#34b87f;--warn:#e0a526;--danger:#e0584d;--select:#f2b640;--grid:#ffffff07;--grid-major:#ffffff0e;--member:#d9a33a;--seq:#e6e9ef;--own:#7aa2ff;--msg:#3cc0d4;--out:#34b87f;--node-bg:#1c2029;--node-body:#191c24;--radius:8px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}kbd{background:var(--panel-3);border:1px solid var(--border-strong);color:var(--text-dim);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.muted{color:var(--muted)}.app{flex-direction:column;height:100%;display:flex}.workspace{flex:1;min-height:0;position:relative}.canvas{background:var(--bg);position:absolute;inset:0}.boot,.boot-error{height:100%;color:var(--muted);text-align:center;place-content:center;max-width:520px;margin:0 auto;line-height:1.5;display:grid}.boot-error h2{color:var(--text)}.banner{color:#f4d58d;background:#3a2f14;border-bottom:1px solid #5a4719;padding:6px 14px;font-size:12px}.toolbar{background:var(--bg-deep);border-bottom:1px solid var(--border);z-index:20;flex:none;align-items:center;gap:12px;height:46px;padding:0 10px;display:flex;position:relative}.tb-left,.tb-right,.tb-mid{align-items:center;gap:8px;display:flex}.tb-mid{flex:1;justify-content:center;min-width:0}.brand{color:var(--accent);place-items:center;width:28px;display:grid}.tb-btn{color:var(--text-dim);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.tb-btn:hover,.tb-btn.on{background:var(--panel-2);border-color:var(--border);color:var(--text)}.tb-btn.icon{justify-content:center;width:30px;padding:5px 0}.tb-btn .count{background:var(--panel-3);color:var(--muted);border-radius:10px;padding:0 6px;font-size:11px}.project-btn{max-width:340px;color:var(--text);font-weight:600}.proj-name{text-overflow:ellipsis;overflow:hidden}.sample-tag{color:var(--warn);border:1px solid #5a4719;border-radius:10px;padding:0 6px;font-size:10px;font-weight:500}.caret{color:var(--muted);font-size:10px}.dropdown{position:relative}.dd-menu{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:50;min-width:240px;max-height:70vh;padding:5px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 16px 40px #00000080}.dd-menu.right{width:280px;left:auto;right:0}.dd-menu.wide{width:320px}.dd-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 8px 4px;font-size:11px}.dd-item{text-align:left;background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:7px 8px;display:flex}.dd-item:hover{background:var(--panel-3)}.dd-item.on{color:var(--accent)}.dd-item em{color:var(--muted);font-size:11px;font-style:normal}.dd-item.danger{color:#f08a80}.dd-sep{background:var(--border);height:1px;margin:5px 0}.dd-empty{color:var(--muted);padding:6px 8px;font-size:12px;line-height:1.45}.progress{align-items:center;gap:8px;min-width:0;display:flex}.progress .bar{background:var(--panel-3);border-radius:4px;width:220px;height:7px;overflow:hidden}.progress .bar>div{background:linear-gradient(90deg, #2f9f70, var(--ok));border-radius:4px;height:100%;transition:width .4s}.progress .num{font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:12px}.empty-prog{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.focus-select{background:var(--panel);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;max-width:190px;padding:4px 6px}.focus-select.on{border-color:var(--accent);color:var(--text)}.save{color:var(--muted);justify-content:flex-end;align-items:center;gap:6px;min-width:64px;font-size:11.5px;display:inline-flex}.save i{background:var(--muted);border-radius:50%;width:7px;height:7px}.save-saved i{background:var(--ok)}.save-pending i,.save-saving i{background:var(--warn)}.save-error{color:#f08a80}.save-error i{background:var(--danger)}.level{place-items:center;width:30px;height:30px;margin-left:4px;display:grid;position:relative}.level svg{position:absolute;inset:0}.lv-track{fill:none;stroke:var(--panel-3);stroke-width:3px}.lv-fill{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray .5s}.lv-num{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.level.level-up{animation:1.4s levelup}@keyframes levelup{0%{transform:scale(1)}20%{filter:drop-shadow(0 0 8px var(--accent));transform:scale(1.3)}60%{filter:drop-shadow(0 0 4px var(--accent));transform:scale(1)}to{filter:none}}.btn{background:var(--panel-3);border:1px solid var(--border-strong);color:var(--text);border-radius:6px;padding:5px 11px}.btn:hover:not(:disabled){border-color:#4b5366}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.danger{background:#7a2a24;border-color:#9a3a31}.btn.small{padding:3px 8px;font-size:12px}.icon-btn{color:var(--muted);background:0 0;border:none;border-radius:4px;place-items:center;width:22px;height:22px;padding:0;font-size:14px;line-height:1;display:inline-grid}.icon-btn:hover:not(:disabled){color:var(--text);background:#ffffff12}.icon-btn:disabled{opacity:.3;cursor:default}.text-btn{color:var(--accent);background:0 0;border:none;padding:2px 0;font-size:12px}.text-btn:hover{text-decoration:underline}.text-btn.subtle{color:var(--muted)}.field{border:1px solid var(--border);resize:none;background:#00000038;border-radius:5px;outline:none;width:100%;padding:5px 7px;line-height:1.4}.field:focus{border-color:var(--accent);background:#0000004d}.field::placeholder{color:#5e6676}select.field{padding:4px 6px}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge{border-radius:10px;margin-top:6px;padding:1px 7px;font-size:10.5px;display:inline-block}.badge-warn{color:#e8c071;background:#e0a5261a;border:1px dashed #e0a52673}.hint{color:var(--muted);margin-top:6px;font-size:11.5px}.react-flow__node{font-size:13px}.bp-node{--node:#8a93a6;background:var(--node-body);border-radius:var(--radius);border:1px solid #333a48;flex-direction:column;transition:box-shadow .25s,border-color .2s;display:flex;position:relative;box-shadow:0 10px 24px -14px #000c}.bp-node .hdr{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;background:linear-gradient(180deg, color-mix(in srgb, var(--node) 34%, var(--node-bg)), color-mix(in srgb, var(--node) 20%, var(--node-bg)));border-bottom:1px solid color-mix(in srgb, var(--node) 38%, transparent);cursor:grab;align-items:center;gap:6px;min-height:32px;padding:6px 8px;display:flex}.bp-node .hdr:active{cursor:grabbing}.bp-node .body{flex-direction:column;gap:6px;min-height:0;padding:8px 9px 9px;display:flex}.bp-node .body.grow{flex:1}.title{white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;flex:1;min-width:0;font-weight:600;overflow:hidden}.title.placeholder{color:var(--muted);font-weight:500}.title-input{border:1px solid var(--accent);background:#00000059;border-radius:4px;outline:none;flex:1;min-width:0;padding:2px 5px;font-weight:600}.kind-tag{text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb, var(--node) 60%, white);background:#00000040;border-radius:3px;padding:2px 5px;font-size:9.5px}.type-icon{color:color-mix(in srgb, var(--node) 55%, white);text-align:center;width:14px;font-size:12px}.done-badge{color:var(--ok);font-weight:700}.field.desc{color:var(--text-dim);background:0 0;border-color:#0000;padding:2px 3px}.field.desc:hover{border-color:var(--border)}.field.desc:focus{border-color:var(--accent);background:#00000040}.stats{color:var(--text-dim);align-items:center;gap:8px;font-size:11.5px;display:flex}.stats .num{font-variant-numeric:tabular-nums}.mini-bar{background:#ffffff12;border-radius:3px;flex:1;min-width:40px;height:5px;overflow:hidden}.mini-bar>div{background:var(--ok);height:100%;transition:width .35s}.star-usage{color:#d9b562;font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.star-usage.full{color:#f1c75b}.collapsed-note{color:var(--muted);font-size:11px;font-style:italic}.collapsed-note.inline{margin-left:auto}.bp-node.main{border-width:1.5px;width:400px;min-height:150px}.bp-node.main .hdr{min-height:42px;padding:8px 12px}.bp-node.main .hdr .title{font-size:1.2em}.bp-node.main .body{gap:8px;padding:10px 12px 12px}.bp-node.main .stats{font-size:12.5px}.bp-node.main .mini-bar{height:7px}.bp-node.sub{width:212px;min-height:118px}.bp-node.task{width:240px;min-height:110px}.bp-node.messenger{width:270px}.react-flow__node.selected>.bp-node,.react-flow__node.selected>.bp-anchor .anchor-plate{border-color:var(--select);box-shadow:0 0 0 1.5px var(--select), 0 10px 24px -14px #000c}.react-flow__node.selected.has-star>.bp-node{box-shadow:0 0 0 1.5px var(--select), 0 12px 26px -10px color-mix(in srgb, var(--node) 70%, transparent)}.bp-node.starred{box-shadow:0 12px 26px -10px color-mix(in srgb, var(--node) 70%, transparent), 0 0 0 1px color-mix(in srgb, var(--node) 32%, transparent)}.star{color:#6d7586;background:0 0;border:none;border-radius:4px;place-items:center;padding:2px;display:inline-grid}.star:hover{color:#d9b562;background:#ffffff0f}.star.on{color:#f1c75b}.star.dormant{color:#8d8570}.check{color:#0000;background:#00000040;border:1.5px solid #5d6577;border-radius:4px;flex:none;place-items:center;padding:0;transition:background .15s,border-color .15s;display:inline-grid}.check:hover{border-color:#8a93a6}.check.on{background:var(--ok);border-color:var(--ok);color:#0d1a14}.bp-node.complete .hdr{background:linear-gradient(180deg, color-mix(in srgb, var(--node) 22%, var(--node-bg)), color-mix(in srgb, var(--node) 12%, var(--node-bg)))}.bp-node.task.complete .title,.bp-node.sub.complete .title{color:var(--text-dim);-webkit-text-decoration:line-through #ffffff40;text-decoration:line-through #ffffff40}.bp-node.main.complete{border-color:color-mix(in srgb, var(--ok) 45%, #333a48)}.bp-node.unassigned{border-style:dashed;border-color:#6f6650}.bp-node.flash{animation:.9s ease-out flash}@keyframes flash{0%{box-shadow:0 0 #34b87f8c}to{box-shadow:0 0 0 12px #34b87f00}}.note-text{background:#0000002e;flex:1;height:100%;min-height:56px}.image-body{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex}.image-body .thumb{border:1px solid var(--border);cursor:zoom-in;background:#0f1115;border-radius:5px;flex:1;place-items:center;min-height:90px;padding:0;display:grid;overflow:hidden}.image-body img{object-fit:cover;width:100%;height:100%;max-height:100%;display:block}.bp-node.task-image:not([style*=height]) .image-body .thumb{flex:none;height:130px}.image-body .drop{border:1.5px dashed var(--border-strong);min-height:90px;color:var(--muted);background:#00000026;border-radius:6px;flex:1}.image-body .drop:hover{border-color:var(--accent);color:var(--text)}.image-row{align-items:center;gap:6px;display:flex}.checklist{flex-direction:column;flex:1;gap:2px;display:flex;overflow:auto}.cl-item{border-radius:4px;align-items:center;gap:6px;padding:1px 2px;display:flex}.cl-item:hover{background:#ffffff09}.cl-text{background:0 0;border-color:#0000;padding:3px 4px}.cl-item.on .cl-text{color:var(--muted);text-decoration:line-through}.cl-actions{opacity:0;transition:opacity .12s;display:flex}.cl-item:hover .cl-actions,.cl-item:focus-within .cl-actions{opacity:1}.cl-actions .icon-btn{width:18px;height:18px;font-size:12px}.cl-foot{color:var(--muted);justify-content:space-between;align-items:center;padding-top:3px;font-size:11px;display:flex}.bp-node.messenger .hdr{gap:8px}.bp-node.messenger .title{flex:none}.dest{color:color-mix(in srgb, var(--msg) 70%, white);text-overflow:ellipsis;white-space:nowrap;background:#0000004d;border-radius:10px;max-width:150px;margin-left:auto;padding:2px 8px;font-size:11px;overflow:hidden}.dest.none{color:#e8c071}.msg-body{min-height:60px}.msg-foot{justify-content:space-between;align-items:center;display:flex}.msg-foot .hint{margin:0}.saved-ok{color:var(--ok)}.bp-anchor{--node:#e0a526;width:200px;height:214px;position:relative}.anchor-shape{cursor:grab;width:200px;height:210px;position:relative}.anchor-shape svg{filter:drop-shadow(0 8px 16px #00000080);display:block}.a-ring{fill:none;stroke:color-mix(in srgb, var(--node) 78%, #3a3d46);stroke-width:7px}.a-fill{fill:color-mix(in srgb, var(--node) 78%, #3a3d46)}.a-arm{fill:none;stroke:color-mix(in srgb, var(--node) 78%, #3a3d46);stroke-width:12px;stroke-linecap:round}.anchor-plate{background:var(--panel);border:1px solid color-mix(in srgb, var(--node) 55%, #333a48);text-align:center;border-radius:8px;width:164px;padding:6px 10px 8px;position:absolute;top:70px;left:18px;box-shadow:0 6px 18px #00000073}.anchor-kicker{text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb, var(--node) 70%, white);font-size:9.5px}.anchor-title{-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;font-size:14px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.countdown{font-variant-numeric:tabular-nums;background:var(--panel);border:1px solid var(--border-strong);white-space:nowrap;pointer-events:none;border-radius:10px;padding:2px 9px;font-size:11.5px;font-weight:600;position:absolute;top:148px;left:50%;transform:translate(-50%)}.tone-calm{color:var(--text-dim)}.tone-soon{color:#e8c071}.tone-today{color:#f1c75b;border-color:#6a5420}.tone-over{color:#f0a098;border-color:#6a2e28}.anchor-editor-host{pointer-events:all;position:absolute;top:0;left:0}.anchor-editor{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:default;flex-direction:column;gap:8px;width:310px;padding:10px 12px 12px;display:flex;position:relative;box-shadow:0 18px 44px #0000008c}.anchor-editor:before{content:"";background:var(--panel);border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);width:12px;height:12px;position:absolute;top:90px;left:-7px;transform:rotate(45deg)}.ae-head{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.anchor-editor label{flex-direction:column;gap:4px;display:flex}.anchor-editor label>span{color:var(--muted);font-size:11.5px}.anchor-editor em{font-variant-numeric:tabular-nums;font-style:normal}.anchor-editor em.limit{color:var(--warn)}.deadline{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.section-label{color:var(--muted);font-size:11.5px}.rule{color:var(--text-dim);margin:0;font-size:12px;line-height:1.45}.date-row{align-items:center;gap:6px;display:flex}.date-row .field{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:1}.deadline-now{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.countdown-inline{font-size:12px;font-weight:600}.lock-status{color:var(--text-dim);background:#0003;border-radius:5px;padding:5px 7px;font-size:12px}.history{color:var(--muted);margin:0;padding:0 0 0 14px;font-size:11.5px;line-height:1.6}.react-flow__handle.pin{border:2px solid var(--pc);background:var(--bg-deep);z-index:2;border-radius:50%;width:12px;min-width:0;height:12px;min-height:0;transition:scale .12s,background .12s}.react-flow__handle.pin:hover{scale:1.3}.react-flow__handle.pin.pin-on{background:var(--pc)}.pin-member{--pc:var(--member)}.pin-seq{--pc:var(--seq)}.pin-own{--pc:var(--own)}.pin-msg{--pc:var(--msg)}.react-flow__handle.pin-member{border-radius:2px;width:11px;height:11px;rotate:45deg}.react-flow__handle.pin-seq{background:color-mix(in srgb, var(--seq) 28%, var(--bg-deep));clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%);border:none;border-radius:0;width:13px;height:14px}.react-flow__handle.pin-seq.pin-on{background:var(--seq)}.react-flow__handle.pin-msg{border-radius:3px}.react-flow__handle.connectingto,.react-flow__handle.valid{scale:1.35;box-shadow:0 0 0 3px #4f8cff59}.react-flow__handle.connectingfrom{scale:1.2}.wire{fill:none;stroke-width:var(--wire-w,2.4px);stroke-linecap:round;transition:opacity .25s}.wire-halo{stroke-width:calc(var(--wire-w,2.4px) + 3px);stroke:#08090cb3!important}.wire-member{stroke:var(--member);stroke-dasharray:7 5}.wire-sequence{stroke:var(--seq);stroke-width:calc(var(--wire-w,2.4px) * 1.35)}.wire-output{stroke:var(--out);stroke-width:calc(var(--wire-w,2.4px) * 1.35)}.wire-own{stroke:var(--own)}.wire-msg{stroke:var(--msg);stroke-dasharray:1 6;stroke-width:2.6px}.wire.sel:not(.wire-halo){stroke:var(--select)!important}.wire-hit{fill:none;stroke:#0000;stroke-width:16px}.react-flow__edge:hover .wire:not(.wire-halo){filter:brightness(1.25)}.react-flow__connection-path{stroke:#9fb4d8;stroke-width:2.4px;stroke-dasharray:5 4}.reroute-pos{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.reroute{background:var(--bg-deep);border:2.5px solid var(--rc,var(--own));pointer-events:all;cursor:move;z-index:3;border-radius:50%;width:16px;height:16px;transition:scale .12s;position:absolute;top:-8px;left:-8px}.reroute:hover{scale:1.3;box-shadow:0 0 0 4px #ffffff14}.reroute.sel{border-color:var(--select);box-shadow:0 0 0 3px #f2b6404d}.reroute-member{--rc:var(--member)}.reroute-sequence{--rc:var(--seq)}.reroute-msg{--rc:var(--msg)}.react-flow__node,.react-flow__edge{transition:opacity .25s,filter .25s}.react-flow__node.dim{opacity:var(--dim-opacity,.32);filter:blur(1.3px)saturate(.45)}.is-moving .react-flow__node.dim{filter:saturate(.45)}.react-flow__edge.dim{opacity:.18}.focus-panel{background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid var(--border-strong);border-top:3px solid var(--node);border-radius:var(--radius);z-index:10;width:290px;padding:8px 10px 10px;position:absolute;top:12px;left:12px;box-shadow:0 14px 34px #00000073}.fp-head{align-items:center;gap:4px;display:flex}.fp-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-right:2px;font-size:10px}.fp-title{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex:1;min-width:0;padding:2px 4px;font-weight:700;overflow:hidden}.fp-title:hover{background:#ffffff0f}.fp-label{color:#d9b562;align-items:center;gap:5px;margin:8px 0 4px;font-size:11px;display:flex}.fp-empty{color:var(--muted);font-size:12px}.focus-panel ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.focus-panel li button{text-align:left;background:#0000002e;border:1px solid #0000;border-radius:5px;flex-direction:column;width:100%;padding:5px 7px;display:flex}.focus-panel li button:hover{border-color:var(--border-strong)}.focus-panel li em{color:var(--muted);font-size:11px;font-style:normal}.notes{background:var(--panel);border-left:1px solid var(--border);z-index:15;flex-direction:column;width:350px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-14px 0 30px #0000004d}.notes-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.notes-head .icon-btn{margin-left:auto}.notes-controls{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.notes-controls .row{gap:6px;display:flex}.notes-controls .row .btn{white-space:nowrap}.check-label{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.notes-list{flex-direction:column;flex:1;gap:8px;padding:8px 10px 20px;display:flex;overflow:auto}.notes-empty{color:var(--muted);padding:16px 6px;line-height:1.5}.note{background:var(--panel-2);border:1px solid var(--border);border-radius:7px;padding:8px 10px}.note.removed{border-style:dashed}.note-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:11px;display:flex}.note-dest{color:color-mix(in srgb, var(--msg) 70%, white)}.removed-tag{color:#e8c071;margin-left:6px;font-style:normal}.note h4{margin:5px 0 0;font-size:13px}.note p{white-space:pre-wrap;color:var(--text-dim);margin:4px 0 0;line-height:1.45}.note-actions{gap:12px;margin-top:6px;display:flex}.popover{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:60;position:fixed;box-shadow:0 18px 44px #0000008c}.popover.search{width:290px;padding:6px}.popover .rows{max-height:360px;margin-top:4px;overflow:auto}.popover .row{text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;width:100%;padding:6px 7px;display:flex}.popover .row.active{background:var(--panel-3)}.row-label{white-space:nowrap;font-weight:500}.row-hint{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:11px;overflow:hidden}.row-dot{background:var(--muted);border-radius:2px;flex:none;width:8px;height:8px}.dot-main{background:#4f8cff}.dot-sub{background:#31b3c9}.dot-task,[class*=dot-task-]{background:#8a93a6;border-radius:50%}.dot-task-canvas{background:#ea5fa8}.dot-task-voice{background:#e5322d}.dot-task-file{background:#e0a526}.dot-comment{border:1.5px solid var(--muted);background:0 0}.dot-output{background:var(--out)}.dot-action{background:var(--accent);border-radius:50%}.dot-messenger{background:var(--msg);border-radius:50%}.dot-goto{border:1.5px solid var(--select);background:0 0}.popover .empty{color:var(--muted);padding:8px}.pop-foot{color:var(--muted);border-top:1px solid var(--border);margin-top:4px;padding:4px 7px 2px;font-size:11px}.popover.menu{width:230px;padding:5px}.menu-title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--border);margin-bottom:3px;padding:4px 8px 6px;font-size:11px;overflow:hidden}.menu-item{text-align:left;background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.menu-item:hover{background:var(--panel-3)}.menu-item.danger{color:#f08a80}.menu-item kbd{font-size:10px}.menu-hint{color:var(--muted);padding:4px 8px;font-size:11px}.menu-colors,.color-row{gap:5px;padding:6px 8px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0;box-shadow:inset 0 0 0 1px #00000059}.swatch.on,.swatch:hover{border-color:#fff}.scrim{z-index:80;background:#0506098c;place-items:center;display:grid;position:fixed;inset:0}.scrim.light{background:#05060959}.dialog{background:var(--panel);border:1px solid var(--border-strong);border-radius:10px;width:min(460px,100vw - 32px);padding:16px 18px;box-shadow:0 24px 60px #0009}.dialog h3{margin:0 0 8px;font-size:15px}.dialog p{color:var(--text-dim);margin:6px 0;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.dialog.shortcuts{width:min(560px,100vw - 32px)}.shortcuts dl{grid-template-columns:1fr 1fr;gap:4px 18px;margin:10px 0;display:grid}.shortcuts dl>div{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.shortcuts dt,.shortcuts dd{margin:0}.shortcuts dd{color:var(--text-dim);text-align:right}.legend{color:var(--text-dim);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.pin-demo{background:var(--pc);border-radius:50%;width:11px;height:11px;display:inline-block}.pin-demo.pin-member{border-radius:2px;transform:rotate(45deg)}.pin-demo.pin-seq{clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%);border-radius:0}.pin-demo.pin-msg{border-radius:3px}.lightbox{cursor:zoom-out;background:#050609d9}.lightbox img{border-radius:6px;max-width:90vw;max-height:88vh;box-shadow:0 20px 60px #0009}.toasts{z-index:90;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:7px;max-width:520px;padding:7px 12px;line-height:1.4;animation:.18s ease-out toast-in;box-shadow:0 10px 30px #00000080}.toast-warn{border-left:3px solid var(--warn)}.toast-error{border-left:3px solid var(--danger)}.toast-ok{border-left:3px solid var(--ok)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.empty-canvas{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);pointer-events:none;text-align:center;flex-direction:column;gap:3px;padding:10px 14px;display:flex;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}.unassigned-pill{color:#e8c071;z-index:5;background:#282112e6;border:1px dashed #6f6650;border-radius:12px;padding:3px 10px;font-size:11.5px;position:absolute;bottom:12px;left:12px}.react-flow__selection{background:#4f8cff14;border:1px solid #4f8cff99}.react-flow__nodesselection-rect{background:#4f8cff0d;border:1px dashed #4f8cff80}.resize-line{border-color:#0000!important}.react-flow__resize-control.line.resize-line.left,.react-flow__resize-control.line.resize-line.right{z-index:1;border:none!important;width:10px!important}.react-flow__resize-control.line.resize-line.bottom{z-index:1;border:none!important;height:10px!important}.react-flow__node .react-flow__handle{z-index:6}.resize-handle{z-index:2;border-radius:3px;background:0 0!important;border:none!important;width:18px!important;height:18px!important}.resize-handle:after{content:"";background:var(--select);opacity:0;border-radius:2px;transition:opacity .12s;position:absolute;inset:5px}.react-flow__node:hover .resize-handle:after,.react-flow__node.selected .resize-handle:after{opacity:.9}.react-flow__pane{cursor:default}.react-flow__pane.dragging{cursor:grabbing}.app .workspace{flex:1}.toolbar{pointer-events:none;z-index:20;background:0 0;border:none;justify-content:space-between;align-items:flex-start;height:auto;padding:0;display:flex;position:absolute;top:10px;left:10px;right:10px}.tb-group{pointer-events:all;background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-strong);border-radius:12px;align-items:center;gap:4px;height:42px;padding:0 6px;display:flex;box-shadow:0 10px 28px #00000059}.tb-group.left{padding-left:8px}.tb-group .project-btn{background:0 0;border:none}.tb-group .project-btn:hover{background:#ffffff0f;border-color:#0000}.tb-div{background:var(--border-strong);width:1px;height:20px;margin:0 4px}.tb-group .save{min-width:0;padding:0 6px}button.level{cursor:pointer;background:0 0;border:none;margin:0 2px;padding:0}.brand{color:var(--accent)}.lv-fill{stroke:var(--accent)}.app.notes-open .toolbar .tb-group.right{margin-right:360px}.banner{z-index:19;border:1px solid #5a4719;border-radius:10px;position:absolute;top:60px;left:50%;transform:translate(-50%)}.focus-panel{border-radius:12px;top:62px;left:10px}.notes{border:1px solid var(--border-strong);z-index:21;border-radius:12px;top:10px;bottom:10px;right:10px;overflow:hidden}.focus-btn.on{color:var(--accent)}.desc-images{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.desc-thumb{border:1px solid var(--border);background:#0f1115;border-radius:5px;width:64px;height:48px;position:relative;overflow:hidden}.bp-node.main .desc-thumb{width:84px;height:60px}.desc-thumb>button:first-child{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0}.desc-thumb img{object-fit:cover;width:100%;height:100%;display:block}.desc-thumb .missing{color:var(--muted);place-items:center;height:100%;font-size:10px;display:grid}.thumb-x{color:#fff;opacity:0;background:#000000b3;border:none;border-radius:50%;width:16px;height:16px;padding:0;font-size:11px;line-height:1;transition:opacity .12s;position:absolute;top:2px;right:2px}.desc-thumb:hover .thumb-x,.prog-icon-slot:hover .thumb-x{opacity:1}.attach-btn{color:var(--muted);opacity:0;background:0 0;border:1px dashed #0000;border-radius:5px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;transition:opacity .12s;display:inline-flex}.bp-node:hover .attach-btn,.react-flow__node.selected .attach-btn{opacity:1}.desc-images:has(.desc-thumb) .attach-btn{opacity:1}.attach-btn:hover{color:var(--text);border-color:var(--border-strong)}.thumb-wrap{flex:1;min-height:0;display:flex;position:relative}.thumb-wrap .thumb{flex:1}.replace-btn{border:1px solid var(--border-strong);color:var(--text-dim);opacity:0;background:#0f1115d9;border-radius:10px;padding:2px 8px;font-size:11px;transition:opacity .12s;position:absolute;bottom:6px;right:6px}.thumb-wrap:hover .replace-btn{opacity:1}.bp-node.task-image:not([style*=height]) .image-body .thumb{height:150px}.prog-icon{object-fit:contain;border-radius:5px;flex:none;place-items:center;display:inline-grid}.prog-icon.mono{color:#0e1014;letter-spacing:-.02em;text-transform:uppercase;font-weight:800}.prog-icon.empty{border:1.5px dashed var(--muted);color:var(--muted);font-size:11px}.prog-select{min-width:0;color:var(--text);background:#00000040;border:1px solid #0000;border-radius:5px;flex:1;padding:2px 4px;font-weight:600}.prog-select:hover,.prog-select:focus{border-color:var(--border-strong);outline:none}.prog-select option{background:var(--panel)}.bp-node.program{border-left:3px solid var(--node)}.field.prog-label{color:var(--text-dim);background:0 0;border-color:#0000;padding:1px 3px;font-size:11.5px}.field.prog-label:hover{border-color:var(--border)}.react-flow__node.k-comment{pointer-events:none!important}.bp-comment{--node:#8a93a6;border:2px solid color-mix(in srgb, var(--node) 70%, transparent);background:color-mix(in srgb, var(--node) 7%, transparent);border-radius:var(--radius);position:relative}.bp-comment.sel{border-color:var(--select)}.bp-comment .c-hdr{pointer-events:all;background:color-mix(in srgb, var(--node) 30%, #14161cb3);border-radius:calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0;cursor:grab;align-items:center;min-height:34px;padding:4px 12px;display:flex}.bp-comment .c-title{font-size:1.35em;font-weight:600}.bp-comment .react-flow__resize-control{pointer-events:all}.bp-node.output{border-color:color-mix(in srgb, var(--out) 45%, #333a48);width:230px}.out-icon{color:var(--out)}.out-pct{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:34px;font-weight:700;line-height:1}.out-pct span{color:var(--text-dim);margin-left:2px;font-size:18px}.out-bar{background:#ffffff12;border-radius:4px;height:8px;overflow:hidden}.out-bar>div{background:linear-gradient(90deg, #2f9f70, var(--out));height:100%;transition:width .4s}.out-status,.out-empty{color:var(--muted);font-size:11.5px}.out-empty{color:var(--text-dim);padding:6px 0;font-size:13px}.bp-node.output.fired{border-color:var(--out);box-shadow:0 14px 30px -12px color-mix(in srgb, var(--out) 70%, transparent), 0 0 0 1px color-mix(in srgb, var(--out) 40%, transparent)}.bp-node.output.fired .out-status{color:var(--out);font-weight:600}.pin-out{--pc:var(--out)}.react-flow__handle.pin-out{background:color-mix(in srgb, var(--out) 30%, var(--bg-deep));clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%);border:none;border-radius:0;width:14px;height:16px}.react-flow__handle.pin-out.pin-on{background:var(--out)}.settings{background:var(--panel);border:1px solid var(--border-strong);border-radius:12px;grid-template-rows:minmax(0,1fr);grid-template-columns:180px 1fr;width:min(860px,100vw - 40px);height:min(620px,100vh - 60px);display:grid;overflow:hidden;box-shadow:0 30px 80px #0009}.settings-nav{background:var(--bg-deep);border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:12px 8px;display:flex}.settings-brand{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:4px 10px 10px;font-size:11px}.nav-item{text-align:left;color:var(--text-dim);background:0 0;border:none;border-radius:6px;padding:7px 10px}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.on{background:color-mix(in srgb, var(--accent) 22%, var(--panel-2));color:var(--text)}.settings-body{flex-direction:column;min-width:0;min-height:0;display:flex}.settings-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.settings-head h3{margin:0;font-size:15px}.settings-scroll{flex:1;min-height:0;padding:14px 18px 24px;overflow:auto}.page{flex-direction:column;gap:16px;display:flex}.page p{margin:0;line-height:1.5}.small{font-size:11.5px}.setting-group{border:1px solid var(--border);background:#0000001f;border-radius:10px;padding:6px 14px 10px}.group-title{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:6px 0 4px;font-size:11px}.setting{border-top:1px solid #ffffff0a;grid-template-columns:170px 1fr 110px;align-items:center;gap:12px;padding:7px 0;display:grid}.setting:first-of-type{border-top:none}.s-label{color:var(--text-dim)}.s-value{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.s-value.mono{font-family:ui-monospace,Menlo,monospace}.setting input[type=range]{width:100%;accent-color:var(--accent)}.toggle{border:1px solid var(--border-strong);background:var(--panel-3);border-radius:10px;justify-self:start;width:36px;height:20px;padding:0;position:relative}.toggle i{background:#aab1bf;border-radius:50%;width:14px;height:14px;transition:left .15s;position:absolute;top:2px;left:2px}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle.on i{background:#fff;left:18px}.segmented{border:1px solid var(--border-strong);border-radius:7px;justify-self:start;display:inline-flex;overflow:hidden}.segmented button{color:var(--text-dim);background:0 0;border:none;padding:4px 12px}.segmented button.on{background:color-mix(in srgb, var(--accent) 30%, var(--panel-3));color:var(--text)}.swatch.custom{cursor:pointer;background:conic-gradient(#e0584d,#e0a526,#2fb67c,#31b3c9,#4f8cff,#9a6cf0,#e0584d);position:relative;overflow:hidden}.swatch.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.profile-card{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, var(--panel-2)), var(--panel-2));border-radius:12px;align-items:center;gap:18px;padding:16px;display:flex}.big-level{flex-direction:column;align-items:center;min-width:84px;display:flex}.big-level span{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px}.big-level strong{font-size:44px;line-height:1}.profile-xp{flex-direction:column;flex:1;gap:8px;display:flex}.xp-bar{background:#ffffff14;border-radius:4px;height:8px;overflow:hidden}.xp-bar>div{background:var(--accent);height:100%}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{border-top:1px solid #ffffff0a;justify-content:space-between;padding:6px 0;display:flex}.plain-list li:first-child{border-top:none}.program-list{flex-direction:column;gap:8px;display:flex}.empty-block{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:10px;padding:18px}.program-row{border:1px solid var(--border);background:var(--panel-2);border-radius:10px;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.prog-icon-slot{position:relative}.icon-drop{border:1px dashed var(--border-strong);background:#0003;border-radius:10px;place-items:center;width:48px;height:48px;padding:0;display:grid}.icon-drop:hover{border-color:var(--accent)}.prog-fields{flex-direction:column;gap:6px;min-width:0;display:flex}.prog-fields .color-row{padding:0}.prog-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.row-actions{display:flex}.icon-btn.danger:hover{color:#f08a80}.page.shortcuts dl{grid-template-columns:1fr 1fr;gap:4px 18px;margin:0;display:grid}.page.shortcuts dl>div{border-bottom:1px solid #ffffff0a;justify-content:space-between;gap:8px;padding:4px 0;display:flex}.page.shortcuts dt,.page.shortcuts dd{margin:0}.page.shortcuts dd{color:var(--text-dim);text-align:right}body.no-focus-blur .react-flow__node.dim{filter:saturate(.45)}body.reduce-motion *,body.reduce-motion :before,body.reduce-motion :after{transition:none!important;animation:none!important}.btn.primary{background:color-mix(in srgb, var(--accent) 75%, #000);border-color:var(--accent)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000)}.field:focus,.title-input{border-color:var(--accent)}.canvas{background:var(--bg)}.thumb-wrap,.thumb-wrap .thumb{width:100%;min-width:0}.bp-node.task-image:not([style*=height]) .thumb-wrap{flex:none}.bp-node.sub.program{width:248px}.bp-comment .c-title{min-height:1.2em}.dialog-input{margin-top:10px}.ab-pill{color:#e8c071;white-space:nowrap;background:#e0a5261f;border:1px solid #6a5420;border-radius:10px;padding:3px 9px;font-size:11.5px}.ab-pill:hover{background:#e0a52633}.folder-name{font-family:ui-monospace,Menlo,monospace;font-size:12px}.ok-text{color:var(--ok);font-size:12px}.warn-text{color:#e8c071;font-size:12px}.setting-note{margin:2px 0 6px!important}.settings code{background:var(--panel-3);border-radius:3px;padding:1px 4px;font-size:11px}.settings .setting select.field{max-width:220px}.prog-icon.mono{text-transform:none}.prog-name-row{gap:6px;display:flex}.prog-name-row .abbr{text-align:center;width:58px}:root{--ctx:#c3b1ff}.pin-ctx{--pc:var(--ctx)}.react-flow__handle.pin-ctx{width:10px;height:10px}.wire-context{stroke:var(--ctx);stroke-dasharray:5 4;stroke-width:calc(var(--wire-w,2.4px) * .85)}.reroute-context{--rc:var(--ctx)}.badge-muted{color:var(--ctx);background:#c3b1ff14;border:1px dashed #c3b1ff66}.details{flex-direction:column;gap:6px;padding-right:22px;display:flex;position:relative}.details-add,.details-remove{border:1px solid var(--border-strong);width:20px;height:20px;color:var(--muted);background:#00000040;border-radius:50%;place-items:center;padding:0;font-size:14px;line-height:1;display:grid}.details-add{align-self:flex-start}.details-remove{opacity:.5;position:absolute;top:2px;right:0}.details:hover .details-remove,.details-add:hover,.details-remove:hover{opacity:1;color:var(--text);border-color:var(--accent)}.cut-overlay{pointer-events:none;z-index:40;width:100vw;height:100vh;position:fixed;inset:0}.cut-overlay polyline{fill:none;stroke:#ff6b5e;stroke-width:2px;stroke-dasharray:6 4;stroke-linecap:round;stroke-linejoin:round}.react-flow__handle.pin-ctx[data-handleid=ctx-in]{border-radius:3px}.react-flow__node.k-comment .react-flow__handle{pointer-events:all}.bp-node.task-script{min-height:220px}.script{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.sc-tabs{border-bottom:1px solid var(--border);scrollbar-width:thin;align-items:flex-end;gap:2px;display:flex;overflow-x:auto}.sc-tab{background:#ffffff08;border:1px solid #0000;border-bottom:none;border-radius:5px 5px 0 0;flex:none;align-items:center;display:flex}.sc-tab.on{background:var(--panel-3);border-color:var(--border-strong)}.sc-tab-btn{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:120px;padding:3px 8px;font-size:11.5px;overflow:hidden}.sc-tab.on .sc-tab-btn{color:var(--text);font-weight:600}.sc-tab-input{border:1px solid var(--accent);background:#00000059;border-radius:3px;outline:none;width:90px;margin:2px;padding:1px 4px;font-size:11.5px}.sc-tab-x{color:var(--muted);opacity:0;background:0 0;border:none;padding:0 5px 0 0;font-size:12px}.sc-tab:hover .sc-tab-x{opacity:1}.sc-tab-add{border:1px dashed var(--border-strong);width:22px;height:20px;color:var(--muted);background:0 0;border-radius:5px;flex:none;margin:0 0 2px 4px;padding:0;line-height:1}.sc-tab-add:hover{color:var(--text);border-color:var(--accent)}.sc-toolbar{align-items:center;gap:3px;display:flex}.sc-tool{border:1px solid var(--border);min-width:22px;height:22px;color:var(--text-dim);background:#0003;border-radius:4px;place-items:center;padding:0 5px;font-size:12px;display:inline-grid}.sc-tool:hover{border-color:var(--accent);color:var(--text)}.sc-swatch{border-radius:3px;width:12px;height:12px;display:block;box-shadow:inset 0 0 0 1px #ffffff40}.sc-sep{background:var(--border-strong);width:1px;height:16px;margin:0 3px}.sc-editor{border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;cursor:text;background:#0000002e;border-radius:5px;outline:none;flex:1;min-height:120px;padding:7px 9px;line-height:1.55;overflow:auto}.sc-editor:focus{border-color:var(--accent)}.sc-editor:empty:before{content:attr(data-placeholder);color:#5e6676}.sc-editor span[style*=background]{border-radius:2px;padding:0 1px}.sync-dot{color:var(--ok);background:0 0;border:none;border-radius:6px;place-items:center;padding:2px 4px;display:inline-grid}.sync-dot:hover{background:#ffffff0f}.sync-dot.busy{color:var(--warn)}.sync-dot.off{color:var(--text-dim)}.settings ul.tips{color:var(--text-dim);margin:4px 0 6px;padding-left:18px;font-size:12.5px;line-height:1.55}.settings .folder-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:root{--df-add:#34b87f;--df-mod:#e0a526;--df-del:#e0584d;--df-move:#7aa2ff}.share-tag{color:#8fb8ff;border-color:#2c4470}.share-bar{z-index:19;background:color-mix(in srgb, var(--panel) 96%, transparent);border:1px solid #2c4470;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 10px;max-width:min(860px,100% - 40px);padding:7px 8px 7px 12px;font-size:12px;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #0006}.share-bar.draft{border-color:#5a4719}.share-bar.incoming{border-color:#23573f}.sb-kicker{letter-spacing:.06em;text-transform:uppercase;color:#8fb8ff;font-size:10px;font-weight:700}.share-bar.draft .sb-kicker{color:var(--warn)}.share-bar.incoming .sb-kicker{color:var(--ok)}.sb-text{color:var(--text-dim)}.sb-text strong{color:var(--text)}.sb-item{align-items:center;gap:8px;display:inline-flex}.share-bar .btn .count{background:var(--panel-3);border-radius:8px;margin-left:4px;padding:0 5px;font-size:10px}.app.notes-open .share-bar,.app.reviewing .share-bar{left:calc(50% - 180px)}.canvas.readonly .react-flow__node :is(input,textarea,select,button,label,[contenteditable]),.canvas.readonly .react-flow__handle,.canvas.readonly .reroute{pointer-events:none!important}.canvas.readonly .react-flow__node{cursor:default}.canvas.ro-changes:after{content:"";pointer-events:none;border-radius:2px;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #4f8cff59}.react-flow__node.df-add>*,.react-flow__node.df-mod>*,.react-flow__node.df-del>*,.react-flow__node.df-move>*,.react-flow__node.df-wire>*{border-radius:var(--radius)}.react-flow__node.df-add>*{box-shadow:0 0 0 2px var(--df-add), 0 0 22px color-mix(in srgb, var(--df-add) 35%, transparent)}.react-flow__node.df-mod>*{box-shadow:0 0 0 2px var(--df-mod), 0 0 22px color-mix(in srgb, var(--df-mod) 30%, transparent)}.react-flow__node.df-del>*{box-shadow:0 0 0 2px var(--df-del), 0 0 22px color-mix(in srgb, var(--df-del) 30%, transparent)}.react-flow__node.df-move:not(.df-mod)>*,.react-flow__node.df-wire>*{box-shadow:0 0 0 2px var(--df-move)}.react-flow__node.df-ghost{opacity:.38}.react-flow__node.df-ghost>*{outline-offset:3px;outline:2px dashed}.react-flow__node.df-ghost.df-add>*{color:var(--df-add)}.react-flow__node.df-ghost.df-del>*{color:var(--df-del)}.react-flow__edge.df-add .wire:not(.wire-halo){stroke-width:calc(var(--wire-w,2.4px) + 1px);stroke:var(--df-add)!important}.react-flow__edge.df-del .wire:not(.wire-halo){stroke-dasharray:7 5;stroke:var(--df-del)!important}.react-flow__edge.df-mod .wire:not(.wire-halo){stroke:var(--df-mod)!important}.react-flow__edge.df-ghost{opacity:.45}.review-panel{z-index:21;background:var(--panel);border:1px solid var(--border-strong);border-radius:12px;flex-direction:column;width:360px;display:flex;position:absolute;top:10px;bottom:10px;right:10px;overflow:hidden;box-shadow:-14px 0 30px #0000004d}.app.reviewing .toolbar .tb-group.right{margin-right:370px}.rp-head{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.rp-title{align-items:center;gap:6px;display:flex}.rp-title .sb-kicker{color:var(--ok);margin-right:2px}.rp-title .icon-btn{margin-left:auto}.rp-msg{border-left:3px solid var(--ok);background:var(--panel-2);color:var(--text-dim);white-space:pre-wrap;border-radius:0 6px 6px 0;margin:0;padding:6px 10px}.seg{background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr 1fr;padding:2px;display:grid}.seg button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-weight:600;display:inline-flex}.seg button.on{background:var(--panel-3);color:var(--text)}.seg kbd{color:var(--muted);border:1px solid var(--border-strong);border-radius:4px;padding:0 4px;font-size:10px}.rp-legend{color:var(--muted);gap:10px;font-size:11px;display:flex}.rp-legend .lg:before{content:"";vertical-align:-1px;border-radius:3px;width:9px;height:9px;margin-right:4px;display:inline-block}.lg.add:before{background:var(--df-add)}.lg.mod:before{background:var(--df-mod)}.lg.del:before{background:var(--df-del)}.lg.move:before{background:var(--df-move)}.rp-note{color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:6px 9px;font-size:12px}.rp-note.strong{color:#f4d58d;border-color:#5a4719}.rp-body{flex-direction:column;flex:1;gap:10px;padding:8px 10px 14px;display:flex;overflow:auto}.rp-empty{color:var(--muted);padding:12px 4px}.rp-selall{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.rp-selall span{margin-right:auto}.rp-group{flex-direction:column;gap:4px;display:flex}.rp-group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);padding:2px 2px 4px;font-size:11px;font-weight:700}.rp-item{border:1px solid var(--border);border-left:3px solid var(--df-mod);background:var(--panel-2);border-radius:8px;gap:8px;padding:7px 8px;display:flex}.rp-item.t-added{border-left-color:var(--df-add)}.rp-item.t-removed{border-left-color:var(--df-del)}.rp-item.off{opacity:.55}.rp-check input{margin-top:2px}.rp-main{flex:1;min-width:0}.rp-label{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:baseline;gap:6px;max-width:100%;padding:0;display:flex}.rp-label:hover .rp-name{text-decoration:underline}.rp-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rp-kind,.rp-cc{color:var(--muted);white-space:nowrap;font-size:11px}.rp-desc{color:var(--text-dim);align-items:baseline;gap:8px;font-size:12px;display:flex}.rp-details{flex-direction:column;gap:6px;margin-top:6px;display:flex}.rp-field-name{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px}.rp-diff{white-space:pre-wrap;word-break:break-word;background:var(--bg-deep);color:var(--text-dim);border-radius:6px;max-height:220px;padding:5px 7px;font-size:12px;overflow:auto}.d-add{background:color-mix(in srgb, var(--df-add) 28%, transparent);color:#c9f2dd;border-radius:3px}.d-del{background:color-mix(in srgb, var(--df-del) 24%, transparent);color:#f5c4bf;border-radius:3px;text-decoration:line-through}.rp-comment{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;padding:7px 9px}.rp-comment p{white-space:pre-wrap;margin:3px 0 0}.rp-comment-on{font-size:11px}.rp-conflict{border:1px solid var(--border-strong);border-radius:8px;flex-direction:column;gap:5px;padding:8px;display:flex}.rp-conflict-title{font-weight:600}.rp-choice{text-align:left;background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:7px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.rp-choice.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);color:var(--text)}.rp-choice-k{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px}.rp-choice-v{white-space:pre-wrap;max-height:120px;overflow:auto}.rp-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 12px;display:flex}.rc-bubble-host{z-index:1001;pointer-events:all;position:absolute;top:0;left:0}.rc-bubble-host.open{z-index:1002}.rc-bubble{color:#2a1f05;cursor:pointer;background:#f2c24b;border:1px solid #8a6a1c;border-radius:10px 10px 10px 2px;align-items:center;gap:3px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #00000059}.rc-pop{background:var(--panel);border:1px solid var(--border-strong);cursor:auto;border-radius:10px;flex-direction:column;gap:8px;width:260px;max-height:300px;padding:8px 10px;font-size:12px;display:flex;position:absolute;top:24px;left:0;overflow:auto;box-shadow:0 14px 34px #00000080}.rc-item p{white-space:pre-wrap;color:var(--text);margin:0}.rc-actions{gap:10px;margin-top:3px;display:flex}textarea.dialog-input{resize:vertical;width:100%;min-height:80px;font:inherit}.dd-item em.new,.new-badge{color:var(--ok);margin-left:8px;font-size:11px;font-style:normal}.row-section{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--border);margin-top:2px;padding:8px 8px 3px;font-size:10px;font-weight:700}.rows .row-section:first-child{border-top:none;margin-top:0;padding-top:4px}.stats .num.pct{font-variant-numeric:tabular-nums;text-align:right;min-width:34px;font-weight:600}.tone-final{color:#ff8a80;background:color-mix(in srgb, #e0584d 16%, var(--panel))!important;border-color:#8a2e26!important}.countdown.tone-final,.countdown.tone-over{animation:2s ease-in-out infinite cd-pulse}@keyframes cd-pulse{50%{box-shadow:0 0 0 3px #e0584d40}}.reduce-motion .countdown{animation:none!important}.bp-anchor.has-icon .anchor-icon{border:3px solid color-mix(in srgb, var(--node) 78%, #3a3d46);background:var(--panel);border-radius:14px;width:150px;height:116px;position:absolute;top:0;left:25px;overflow:hidden;box-shadow:0 8px 16px #00000080}.anchor-icon img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.bp-anchor.has-icon .anchor-plate{top:104px}.bp-anchor.has-icon .countdown{top:166px}.bp-anchor.dropping .anchor-shape{outline:2px dashed var(--accent);outline-offset:4px;border-radius:14px}.icon-row{outline:none;align-items:center;gap:8px;margin:2px 0 8px;display:flex}.icon-row>span:first-child{color:var(--text-dim);min-width:34px;font-size:11.5px}.icon-preview{border:1px solid var(--border-strong);background:var(--bg-deep);border-radius:6px;place-items:center;width:44px;height:34px;display:grid;overflow:hidden}.icon-preview img{object-fit:cover;width:100%;height:100%}.paint{flex-direction:column;gap:6px;display:flex}.paint-tools{align-items:center;gap:4px;display:flex}.pt-btn{border:1px solid var(--border);background:var(--panel-2);width:28px;height:26px;color:var(--text-dim);cursor:pointer;border-radius:6px;place-items:center;display:grid}.pt-btn.on{background:var(--accent);border-color:var(--accent);color:#fff}.pt-btn:last-child{margin-left:auto}.pt-size{flex:1;align-items:center;gap:6px;min-width:0;margin-left:6px;display:flex}.pt-size input{min-width:50px;accent-color:var(--accent);flex:1}.pt-dot{border:1px solid var(--border-strong);border-radius:50%;flex:none}.paint-colors{flex-wrap:wrap;gap:4px;display:flex}.pc-swatch{cursor:pointer;border:1px solid #ffffff40;border-radius:50%;width:18px;height:18px;padding:0}.pc-swatch.on{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--accent)}.paint-canvas{aspect-ratio:16/10;border:1px solid var(--border-strong);touch-action:none;cursor:crosshair;background:#fff;border-radius:6px;width:100%;display:block}.paint-canvas.tool-eraser{cursor:cell}.voice{flex-direction:column;gap:6px;display:flex}.voice-row{align-items:center;gap:8px;display:flex}.voice-btn{border:1px solid var(--border-strong);background:var(--panel-2);cursor:pointer;width:32px;height:32px;color:var(--text);border-radius:50%;flex:none;place-items:center;display:grid}.voice-btn:disabled{opacity:.5}.voice-btn .dot{background:#e5322d;border-radius:50%;width:12px;height:12px}.voice-btn.rec.on{background:#e5322d;border-color:#e5322d}.voice-btn .sq{background:#fff;border-radius:2px;width:11px;height:11px}.voice-btn .play{border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:11px solid;width:0;height:0;margin-left:3px}.voice-btn .pause{border-left:3.5px solid;border-right:3.5px solid;width:10px;height:12px}.dot-sm{background:#e5322d;border-radius:50%;width:8px;height:8px;display:block}.rec-dot{background:#e5322d;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite cd-pulse}.voice-bar{background:var(--panel-3);cursor:pointer;border-radius:3px;flex:1;min-width:40px;height:6px;overflow:hidden}.voice-bar>div{background:var(--accent);height:100%}.voice-time{font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap;font-size:11px}.voice-job{color:var(--text-dim);align-items:center;gap:6px;font-size:11.5px;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:11px;height:11px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.voice-tx{align-self:flex-start}.voice audio{display:none}.file-body{flex-direction:column;gap:6px;display:flex}.file-link{background:var(--bg-deep);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-dim);border-radius:8px;align-items:center;gap:10px;padding:6px;display:flex}.file-link:hover{border-color:var(--border-strong)}.file-link.missing{opacity:.6}.file-link img{flex:none;width:36px;height:36px}.file-meta{min-width:0}.file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.file-dir{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;font-size:10.5px;overflow:hidden}.file-actions{gap:10px;display:flex}.file-empty{color:var(--muted);font-size:12px}.reroute.shared{width:20px;height:20px;box-shadow:0 0 0 3px color-mix(in srgb, var(--rc,var(--own)) 25%, transparent);border-width:3.5px;top:-10px;left:-10px}.reroute-wire line{stroke:var(--select);stroke-width:2.5px;stroke-dasharray:6 5}.canvas.wiring .react-flow__node{cursor:copy}.canvas.readonly .react-flow__resize-control,.canvas.readonly .paint-canvas,.canvas.readonly .file-link{pointer-events:none!important}.tb-leftwrap{pointer-events:none;flex:1;gap:8px;min-width:0;margin-right:12px;display:flex}.tb-group.logo{flex:none;padding:0 4px}.brand-btn{width:34px;height:34px;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:9px;place-items:center;display:grid}.brand-btn:hover,.brand-btn.on{background:#ffffff12}.tb-group.tabs{scrollbar-width:none;gap:2px;min-width:0;max-width:100%;padding:0 4px;overflow-x:auto}.tb-group.tabs::-webkit-scrollbar{display:none}.ptab{height:32px;color:var(--text-dim);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:8px;flex:0 auto;align-items:center;gap:6px;min-width:70px;max-width:230px;padding:0 6px 0 11px;display:flex;position:relative}.ptab:hover{color:var(--text);background:#ffffff0d}.ptab.on{background:var(--panel-3);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.ptab.dragging{opacity:.4}.ptab-name{text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.ptab-tag{border:1px solid var(--border-strong);color:var(--muted);border-radius:8px;flex:none;padding:0 5px;font-size:9.5px;font-weight:600}.ptab-tag.sample{color:var(--warn);border-color:#5a4719}.ptab-tag.share{color:#8fb8ff;border-color:#2c4470}.ptab-tag.new{color:var(--ok);border-color:#23573f}.ptab-x{width:18px;height:18px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;flex:none;place-items:center;font-size:14px;line-height:1;display:grid}.ptab:hover .ptab-x,.ptab.on .ptab-x{opacity:1}.ptab-x:hover{color:var(--text);background:#ffffff1a}.ptab.shared-view{box-shadow:inset 0 -2px #8fb8ff}.ptab-add{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;margin-left:2px;font-size:17px}.ptab-add:hover{color:var(--text);background:#ffffff12}.dd-item kbd{color:var(--muted);margin-left:auto;font-family:inherit;font-size:10.5px}.share-bar{top:62px}.projects-dialog{background:var(--panel);border:1px solid var(--border-strong);border-radius:14px;flex-direction:column;width:min(1040px,100vw - 40px);max-height:min(720px,100vh - 60px);display:flex;overflow:hidden;box-shadow:0 30px 80px #0000008c}.pd-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 16px;display:flex}.pd-head h3{margin:0 8px 0 0;font-size:16px}.pd-head input.field{flex:1;min-width:120px}.pd-head select.field{width:140px}.pd-table{padding:6px 8px 10px;overflow:auto}.pd-row{cursor:pointer;border-radius:9px;grid-template-columns:minmax(200px,2.2fr) 1.2fr 1.3fr 1fr 1fr 1.2fr 36px;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;display:grid}.pd-row:not(.pd-th):hover{background:var(--panel-2)}.pd-row.current{background:color-mix(in srgb, var(--accent) 10%, transparent)}.pd-th{cursor:default;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--panel);z-index:1;font-size:10.5px;font-weight:700;position:sticky;top:0}.pd-name{flex-direction:column;min-width:0;display:flex}.pd-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pd-name em{color:var(--muted);font-size:11px;font-style:normal}.pd-prog{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.pd-bar{background:var(--panel-3);border-radius:3px;flex:1;max-width:90px;height:6px;overflow:hidden}.pd-bar i{background:var(--out);height:100%;display:block}.pd-row .tone-final,.pd-row .tone-over{font-variant-numeric:tabular-nums;background:0 0!important}.pd-row .tone-calm{font-variant-numeric:tabular-nums}.pd-section{text-transform:uppercase;letter-spacing:.06em;color:#8fb8ff;padding:14px 10px 4px;font-size:10.5px;font-weight:700}.pd-empty{color:var(--muted);text-align:center;padding:24px}.pd-foot{border-top:1px solid var(--border);align-items:center;gap:14px;padding:10px 16px;display:flex}.danger-hover:hover{color:var(--danger)}.setting.keybind .kb-btn{background:var(--bg-deep);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;text-align:left;border-radius:7px;min-width:110px;padding:3px 8px}.kb-btn kbd{font-family:inherit;font-size:12px}.kb-btn.custom{border-color:var(--accent)}.kb-btn.capturing{border-color:var(--select);color:var(--select)}.ab-pill.ok{color:#7fe0b2;cursor:pointer;background:#34b87f24;border-color:#2a6b4c}.ab-pill.ok:hover{background:#34b87f3d}.auth-form{gap:2px;max-width:560px;display:grid}.auth-tabs{background:#ffffff0a;border-radius:8px;justify-self:start;gap:4px;margin:2px 0 8px;padding:3px;display:inline-flex}.auth-tabs button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px}.auth-tabs button.on{color:var(--text);background:#ffffff1a}.auth-msg{margin:6px 0 0;line-height:1.45}.auth-actions{align-items:center;gap:14px;margin-top:10px;display:flex}.share-row>span:first-child{gap:4px;display:grid}.share-people{flex-wrap:wrap;gap:4px;display:flex}.chip{background:#ffffff12;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.chip.pending{color:var(--text-dim);background:0 0;border:1px dashed #ffffff2e}.chip-x{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;padding:0 0 0 2px;font-size:13px;line-height:1}.chip-x:hover{opacity:1}.scrim.dialog-scrim{z-index:95}.settings .s-value .btn{white-space:nowrap}.jot-pill{border:1px solid var(--border-strong);color:var(--text-dim);white-space:nowrap;cursor:pointer;background:0 0;border-radius:10px;padding:3px 10px;font-size:11.5px;font-weight:600}.jot-pill.has{color:#f0c77e;background:#e0a52624;border-color:#6a5420}.jot-pill:hover,.jot-pill.on{background:#e0a52638}.jot-menu .jot-dd{width:380px;left:auto;right:0}.jot-add{border-bottom:1px solid var(--border);grid-template-columns:120px 1fr;gap:6px;margin-bottom:4px;padding:4px 4px 8px;display:grid}.jot-dd-list{max-height:50vh;overflow:auto}.jot-row{align-items:center;gap:2px;display:flex}.jot-item{text-align:left;flex:1;grid-template-columns:74px 1fr auto;align-items:center;gap:8px;min-width:0;display:grid!important}.jot-kind{text-transform:uppercase;letter-spacing:.06em;color:#e5b567;font-size:10px}.jot-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jot-ago{color:var(--muted);font-size:11px}.jot-del{flex:none}.react-flow__node.is-jot{outline-offset:4px;border-radius:calc(var(--radius) + 2px);outline:2px dashed #e5b567b3}.jot-back{pointer-events:all;color:#f0c77e;cursor:pointer;white-space:nowrap;background:#282114f2;border:1px solid #e5b567b3;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;position:absolute}.jot-back:hover{background:#463719f2}html.m-root,html.m-root body{overscroll-behavior:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.m-app{left:0;right:0;top:var(--vvtop,0px);background:var(--bg);height:100dvh;color:var(--text);-webkit-user-select:none;user-select:none;flex-direction:column;font-size:15px;display:flex;position:fixed}.m-app input,.m-app textarea{-webkit-user-select:text;user-select:text}.m-app button{font:inherit;color:inherit;-webkit-touch-callout:none}.m-app button:disabled{opacity:.4}.m-boot{height:100%;color:var(--muted);text-align:center;place-items:center;padding:24px;display:grid}.m-top{padding:calc(env(safe-area-inset-top) + 6px) 8px 6px 16px;background:var(--panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:4px;min-height:52px;display:flex}.m-top-title{flex-direction:column;flex:1;min-width:0;display:flex}.m-top-title small{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.m-top-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.m-icon-btn{width:44px;height:44px;color:var(--text-dim);background:0 0;border:none;border-radius:10px;flex:none;place-items:center;display:grid}.m-icon-btn:active{background:var(--panel-2)}.m-pill{background:color-mix(in srgb, var(--accent) 22%, var(--panel-2));color:#b9d0ff;white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px}.m-pill.warn{background:color-mix(in srgb, var(--warn) 25%, var(--panel-2));color:#f6d48d}.m-banner{background:#1b2a45;border-bottom:1px solid #2c4470;flex:none;align-items:center;gap:10px;padding:10px 12px 10px 16px;font-size:14px;line-height:1.35;display:flex}.m-banner span{flex:1}.m-main{flex:1;min-height:0;position:relative;overflow:hidden}.m-tabs{background:var(--panel);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);flex:none;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.m-tab{background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;font-weight:600;display:flex;color:var(--muted)!important;font-size:11px!important}.m-tab.on{color:#7fb0ff!important}.m-canvas{touch-action:none;background-color:var(--bg);background-image:linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px);position:absolute;inset:0;overflow:hidden}.m-layer{transform-origin:0 0;position:absolute;top:0;left:0}.m-wires{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.m-node{box-sizing:border-box;background:var(--node-bg);border:1px solid var(--border-strong);border-radius:10px;min-height:48px;padding:10px 14px 12px;font-size:15px;line-height:1.35;position:absolute;box-shadow:0 4px 14px #00000059}.m-node.k-main{border-color:var(--c);border-top-width:4px}.m-node.k-anchor{text-align:center;background:#2a2414;border-color:#8a6d2a}.m-node.k-output{background:#15271e;border-color:#2a6b4c}.m-node.k-messenger{background:#152a2e;border-color:#2b6f7a}.m-node.done{opacity:.85}.m-node.done .m-t{color:var(--text-dim);text-decoration:line-through}.m-node.sel{box-shadow:0 0 0 3px var(--select)}.m-node.fresh{box-shadow:0 0 0 4px var(--accent), 0 0 30px #4f8cff8c}.m-node.mark-add{box-shadow:0 0 0 4px var(--ok), 0 0 26px #34b87f80}.m-node.mark-chg{box-shadow:0 0 0 4px var(--warn), 0 0 26px #e0a52680}.m-node.ok{box-shadow:0 0 0 3px var(--accent), 0 0 24px #4f8cff80}.m-node.off{opacity:.35}.m-node.src{box-shadow:0 0 0 3px #cfe0ff}.m-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin-bottom:4px;font-size:11px;display:flex}.m-node.k-anchor .m-kicker{color:#e0b45a;justify-content:center}.m-title{word-break:break-word;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.m-title.big{font-size:19px;display:block}.m-text{color:var(--text-dim);white-space:pre-wrap;word-break:break-word;margin-top:6px;font-size:14px}.m-text.clamp{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.m-text.script{font-family:ui-monospace,Menlo,monospace;font-size:13px}.m-field{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:6px;margin-top:8px;padding:8px 10px;font-size:13px}.m-bar{background:var(--panel-3);border-radius:3px;height:6px;margin-top:10px;display:block;overflow:hidden}.m-bar i{background:var(--ok);height:100%;display:block}.m-big-num{font-size:34px;font-weight:700}.m-big-num span{color:var(--muted);margin-left:2px;font-size:16px}.m-check{border:2px solid var(--muted);color:#0f1a14;border-radius:5px;flex:none;place-items:center;width:20px;height:20px;font-size:13px;font-weight:800;display:grid}.m-check.on{background:var(--ok);border-color:var(--ok)}.m-star{color:var(--select)}.m-items{flex-direction:column;gap:4px;margin-top:6px;display:flex}.m-item{align-items:center;gap:8px;font-size:14px;display:flex}.m-item i{border:2px solid var(--muted);border-radius:4px;flex:none;width:14px;height:14px}.m-item.on{color:var(--muted)}.m-item.on span{text-decoration:line-through}.m-item.on i{background:var(--ok);border-color:var(--ok)}.m-more{color:var(--muted);font-size:12px}.m-img{object-fit:cover;pointer-events:none;border-radius:6px;width:100%;max-height:260px;margin-top:8px;display:block}.m-img.empty{background:var(--panel-2);height:90px;color:var(--muted);place-items:center;font-size:13px;display:grid}.m-node.t-canvas .m-img{object-fit:contain;background:#f1ede4}.m-voice{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.m-play{background:var(--accent);clip-path:circle();border-radius:13px;width:26px;height:26px}.m-file{background:var(--panel-2);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:13px;overflow:hidden}.m-comment{background:color-mix(in srgb, var(--c) 10%, transparent);border:2px solid color-mix(in srgb, var(--c) 55%, transparent);pointer-events:none;border-radius:12px;position:absolute}.m-comment-head{pointer-events:auto;background:color-mix(in srgb, var(--c) 28%, transparent);border-radius:10px 10px 0 0;padding:10px 14px;font-size:18px;font-weight:600}.m-comment.sel{border-color:var(--select)}.m-comment.ok{border-color:var(--accent)}.m-comment.off{opacity:.4}.m-pin{z-index:3;touch-action:none;background:0 0;border:none;place-items:center;padding:0;display:grid;position:absolute}.m-pin i{transform:translate(var(--dx,0), var(--dy,0));background:var(--bg);border:2px solid var(--pc,#8a93a6);border-radius:50%;display:block}.m-pin.out i{background:color-mix(in srgb, var(--pc,#8a93a6) 35%, var(--bg))}.m-pin.pin-member{--pc:var(--member)}.m-pin.pin-seq{--pc:var(--seq)}.m-pin.pin-own{--pc:var(--own)}.m-pin.pin-msg{--pc:var(--msg)}.m-pin.pin-out{--pc:var(--out)}.m-pin.pin-ctx,.m-pin.pin-ctxl,.m-pin.pin-ctxr,.m-pin.pin-ctxb{--pc:var(--ctx)}.m-pin.src i{background:var(--accent);border-color:#cfe0ff;box-shadow:0 0 0 6px #4f8cff59}.m-pin.ok i{background:var(--accent);border-color:var(--accent);animation:1s ease-in-out infinite m-pulse}@keyframes m-pulse{0%,to{box-shadow:0 0 #4f8cff99}50%{box-shadow:0 0 0 10px #4f8cff00}}@media (prefers-reduced-motion:reduce){.m-pin.ok i{animation:none;box-shadow:0 0 0 5px #4f8cff73}}.m-zoom{flex-direction:column;gap:8px;display:flex;position:absolute;top:12px;right:12px}.m-round{border:1px solid var(--border-strong);background:var(--panel);border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.m-fab{background:var(--accent);border:none;border-radius:28px;place-items:center;width:56px;height:56px;display:grid;position:absolute;bottom:16px;right:16px;box-shadow:0 8px 24px #00000073;color:#fff!important}.m-wiring{background:var(--panel);border:1px solid #3a5a96;border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;bottom:10px;left:10px;right:10px;box-shadow:0 10px 30px #00000080}.m-wiring-text{font-size:14px;line-height:1.4}.m-row{align-items:center;gap:8px;display:flex}.grow{flex:1}.m-btn{border:1px solid var(--border-strong);background:var(--panel-2);border-radius:12px;min-height:44px;padding:0 14px;font-weight:500;font-size:15px!important}.m-btn.small{min-height:34px;padding:0 12px;font-size:14px!important}.m-btn.icon{width:44px;padding:0;font-size:20px!important}.m-btn.primary{background:var(--accent);border-color:var(--accent);font-weight:600;color:#fff!important}.m-btn.ok{background:var(--ok);border-color:var(--ok);font-weight:600;color:#0f1a14!important}.m-btn.on{border-color:var(--select);color:var(--select)!important}.m-btn.danger-outline{background:0 0;border-color:#6a2f37;color:#ff8a9b!important}.m-btn:active{filter:brightness(1.15)}.m-link{text-align:left;background:0 0;border:none;min-height:40px;padding:0 2px;color:#7fb0ff!important;font-size:15px!important}.m-link.danger{color:#ff8a9b!important}.m-input{border:1px solid var(--border-strong);background:var(--bg);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px;font-size:16px}.m-input:focus{border-color:var(--accent);outline:none}.m-input.title{font-size:18px;font-weight:600}.m-input.area{resize:none;line-height:1.4}.m-label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.m-muted{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.m-muted.pad{padding:8px 14px}.m-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px}.m-sheet-wrap{left:0;right:0;top:var(--vvtop,0px);height:var(--vvh,100%);z-index:50;flex-direction:column;justify-content:flex-end;display:flex;position:fixed}.m-scrim{background:#00000073;border:none;flex:1;min-height:80px;animation:.18s ease-out m-fade}.m-sheet{max-height:calc(var(--vvh,100vh) * .88 - env(safe-area-inset-top));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 16px calc(env(safe-area-inset-bottom) + 18px);background:var(--panel);border-top:1px solid var(--border-strong);border-radius:18px 18px 0 0;flex-direction:column;gap:12px;animation:.22s cubic-bezier(.2,.8,.2,1) m-up;display:flex;overflow-y:auto}@keyframes m-up{0%{opacity:0;transform:translateY(40px)}}@keyframes m-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.m-sheet,.m-scrim{animation:none}}.m-grabber{background:var(--border-strong);border-radius:3px;flex:none;align-self:center;width:38px;height:5px}.m-sheet-title{font-size:18px;font-weight:700}.m-form{flex-direction:column;gap:12px;display:flex}.m-type-section{flex-direction:column;gap:8px;display:flex}.m-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.m-type{border:1px solid var(--border);background:var(--panel-2);text-align:left;border-radius:12px;align-items:center;gap:10px;min-height:60px;padding:8px 10px;display:flex}.m-type:active{border-color:var(--accent)}.m-type-icon{background:var(--panel-3);color:#cfd5e2;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.m-type-icon svg path{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.m-type.k-main .m-type-icon{color:#7fb0ff;background:#22314d}.m-type.program .m-type-icon{color:#cdb4ff;background:#3a2a5a}.m-type.k-messenger .m-type-icon{color:var(--msg);background:#173a40}.m-type.k-comment .m-type-icon,.m-type.k-output .m-type-icon{color:var(--ok);background:#183a2c}.m-type-text{flex-direction:column;gap:2px;min-width:0;display:flex}.m-type-text strong{font-size:14px}.m-type-text small{color:var(--muted);font-size:11px;line-height:1.3}.m-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.m-colors{flex-wrap:wrap;gap:10px;display:flex}.m-swatch{border:2px solid #0000;border-radius:17px;width:34px;height:34px}.m-swatch.on{box-shadow:0 0 0 2px var(--bg) inset;border-color:#fff}.m-chips{flex-wrap:wrap;gap:8px;display:flex}.m-chip{border:1px solid var(--border-strong);background:var(--panel-2);border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 12px;display:flex}.m-chip.on{border-color:var(--accent);background:#22314d}.m-checklist{flex-direction:column;gap:2px;display:flex}.m-check-row{align-items:center;gap:8px;min-height:44px;display:flex}.m-check-row.on .m-item-input{color:var(--muted);text-decoration:line-through}.m-box{border:2px solid var(--muted);background:0 0;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;padding:0;font-weight:800;display:grid;color:#0f1a14!important}.m-box.on{background:var(--ok);border-color:var(--ok)}.m-box.small{border-radius:6px;width:22px;height:22px;font-size:12px}.m-box.static{opacity:.85}.m-item-input{border:none;border-bottom:1px solid var(--border);min-width:0;min-height:40px;color:var(--text);font:inherit;background:0 0;flex:1;font-size:16px}.m-item-input:focus{border-bottom-color:var(--accent);outline:none}.m-x{background:0 0;border:none;flex:none;width:40px;height:40px;color:var(--muted)!important;font-size:22px!important}.m-sheet-img{object-fit:contain;background:var(--bg);border-radius:10px;width:100%;max-height:40vh}.m-sheet-img.light{background:#f1ede4}.m-script{white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);-webkit-user-select:text;user-select:text;border-radius:10px;max-height:40vh;padding:10px 12px;font-size:15px;line-height:1.45;overflow:auto}.m-audio{width:100%}.m-wires-list summary{min-height:40px;color:var(--text-dim);align-items:center;display:flex}.m-wire-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:44px;display:flex}.m-wire-row small{color:var(--muted)}.m-list{flex-direction:column;gap:6px;display:flex}.m-list-row{border:1px solid var(--border);background:var(--panel-2);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:0 14px;display:flex;font-size:15px!important}.m-list-row small{color:var(--muted);font-size:12px}.m-list-row.change{border-left:4px solid var(--warn)}.m-list-row.change.add{border-left-color:var(--ok)}.m-list-row.change.del{border-left-color:var(--danger)}.m-notes{flex-direction:column;gap:8px;display:flex}.m-note{background:var(--panel-2);border:1px solid var(--border);-webkit-user-select:text;user-select:text;border-radius:12px;padding:10px 12px}.m-note header{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.m-note p{white-space:pre-wrap;margin:6px 0 0}.m-list-view{-webkit-overflow-scrolling:touch;flex-direction:column;gap:12px;padding:14px 14px 30px;display:flex;position:absolute;inset:0;overflow-y:auto}.m-card{background:var(--panel);border:1px solid var(--border);border-radius:14px}.m-progress{align-items:center;gap:12px;padding:14px;display:flex}.m-progress>div{flex:1}.m-progress small{color:var(--muted)}.m-progress strong{font-size:22px}.m-main-card{overflow:hidden}.m-main-card>header{border-left:4px solid var(--c);padding:12px 14px;font-size:16px}.m-sub-block{border-top:1px solid var(--border);padding:8px 14px 6px 18px}.m-sub-head{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.m-task-row{align-items:center;gap:12px;min-height:44px;display:flex}.m-task-row.item{gap:10px;min-height:38px;padding-left:40px;font-size:14px}.m-task-row.on .m-task-name,.m-task-row.item.on span{text-decoration:line-through;color:var(--muted)!important}.m-task-name{text-align:left;background:0 0;border:none;flex:1;min-height:44px;padding:0;font-size:15px!important}.m-task-row small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.m-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:30px 16px;display:flex}.m-project{align-items:center;display:flex}.m-project.current{border-color:#3a5a96}.m-project-main{text-align:left;background:0 0;border:none;flex-direction:column;flex:1;gap:6px;min-width:0;padding:14px;display:flex}.m-project-top{align-items:center;gap:8px;display:flex}.m-project-top strong{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:16px;overflow:hidden}.m-project-main .m-bar{margin-top:0}.m-project-main small{color:var(--muted)}.m-app~.scrim,html.m-root .scrim{z-index:60;padding:0 0 env(safe-area-inset-bottom);align-items:flex-end}html.m-root .dialog{border-radius:16px;width:calc(100vw - 24px);max-width:480px;margin:0 auto 12px;font-size:15px}html.m-root .dialog .actions,html.m-root .dialog-actions{flex-wrap:wrap}html.m-root .dialog button{min-height:44px;font-size:15px}html.m-root .toasts{top:calc(env(safe-area-inset-top) + 60px);align-items:center;bottom:auto;left:12px;right:12px;transform:none}html.m-root .toast{font-size:14px}.m-list-view>*,.m-sheet>*{flex:none}.m-top,.m-tabs,.m-banner{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}@media (width>=600px){.m-sheet{width:min(640px,100%);margin:0 auto}.m-type-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.m-wiring{width:520px;left:50%;right:auto;transform:translate(-50%)}}.m-sheet-head{z-index:2;background:var(--panel);touch-action:none;justify-content:center;align-items:center;min-height:36px;margin:-8px -16px 0;padding:8px 16px 0;display:flex;position:sticky;top:-8px}.m-sheet-done{background:0 0;border:none;min-width:64px;min-height:44px;font-weight:600;position:absolute;top:2px;right:6px;color:#7fb0ff!important;font-size:16px!important}.m-guard{z-index:5;position:fixed;inset:0}.m-node.lift{box-shadow:0 0 0 3px var(--select), 0 18px 40px #0009;z-index:5;transform:scale(1.03)}.m-check.hit{cursor:pointer;background:0 0;padding:0;position:relative}.m-check.hit.on{background:var(--ok)}.m-check.hit:before,.m-box:before{content:"";position:absolute;inset:-10px}.m-box{position:relative}.m-badge{background:var(--panel-3);color:var(--text-dim);border-radius:6px;margin-top:8px;padding:3px 8px;font-size:12px;display:inline-block}.m-badge.warn{background:color-mix(in srgb, var(--warn) 22%, var(--panel-2));color:#f6d48d}.m-deadline{color:#e0b45a;margin-top:6px;font-size:13px}.m-star.dim{color:var(--muted);letter-spacing:0;margin-left:auto}.m-count{text-align:center;min-width:28px;color:var(--muted);flex:none;font-size:12px;font-weight:700}.m-count.on{color:var(--ok)}.m-hint .m-btn{white-space:nowrap}.m-hint{background:color-mix(in srgb, var(--accent) 16%, var(--panel));border:1px solid #3a5a96;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex;position:absolute;bottom:16px;left:12px;right:84px}.m-node.t-note,.m-node.t-script{min-height:120px}.m-x,.m-link,.m-wires-list summary,.m-wire-row .m-link{min-height:44px}.m-x{width:44px}@media (height<=450px){.m-top{min-height:40px;padding-top:calc(env(safe-area-inset-top) + 2px);padding-bottom:2px}.m-top-title small{display:none}.m-tab{flex-direction:row;gap:6px;min-height:40px}}.m-tabs{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.m-account{gap:10px;margin-bottom:8px;display:grid}.m-seg{background:#ffffff0f;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.m-seg button{min-height:38px;color:var(--text-dim,#9aa3b2);font:inherit;background:0 0;border:none;border-radius:8px;font-size:15px}.m-seg button.on{color:inherit;background:#ffffff1f}.m-warn-text{color:var(--warn,#e9a23b);margin:0;font-size:14px;line-height:1.4}.m-ok-text{color:var(--ok,#4cc38a);margin:0;font-size:14px;line-height:1.4}.m-share-row{border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}html.m-kb .m-scrim{min-height:calc(env(safe-area-inset-top) + 8px)}html.m-kb .m-sheet{max-height:calc(var(--vvh,100vh) - env(safe-area-inset-top) - 8px);padding-bottom:14px;scroll-padding:12px 0 16px}html.m-root .scrim{inset:auto 0;top:var(--vvtop,0px);height:var(--vvh,100%)}html.m-kb .scrim{padding-bottom:0}html.m-root .dialog{max-height:calc(var(--vvh,100vh) - env(safe-area-inset-top) - 24px);overflow-y:auto}html.m-root .dialog-input,html.m-root .dialog input,html.m-root .dialog textarea,.m-app input,.m-app textarea,.m-app select{font-size:max(16px,1em)}html.m-root .toasts{top:calc(var(--vvtop,0px) + env(safe-area-inset-top) + 60px)}@media (display-mode:standalone){html.m-root,html.m-root body,.m-app{height:100lvh}.m-tabs{padding-bottom:max(6px, calc(env(safe-area-inset-bottom) - 12px))}.m-top{padding-top:calc(env(safe-area-inset-top) + 2px)}}.m-sheet.node{height:calc(var(--vvh,100vh) * .9 - env(safe-area-inset-top));padding-bottom:calc(env(safe-area-inset-bottom) + 6px);overflow:hidden}html.m-kb .m-sheet.node{height:calc(var(--vvh,100vh) - env(safe-area-inset-top) - 8px);padding-bottom:8px}.m-sheet>.m-ns{flex:auto}.m-ns{flex-direction:column;gap:8px;min-height:0;display:flex}.m-ns-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:auto;gap:12px;min-height:0;padding-bottom:4px;display:flex;overflow-y:auto}.m-ns-body>*{flex:none}.m-ns-body>.m-label.grow,.m-ns-body .m-label.grow{flex:auto;min-height:160px}.m-label.grow textarea,textarea.m-input.grow{flex:auto;min-height:140px}.m-ns-actions{border-top:1px solid var(--border);flex:none;gap:6px;padding-top:8px;display:grid}html.m-kb .m-ns-actions{display:none}.m-act-row{scrollbar-width:none;align-items:center;gap:5px;display:flex;overflow-x:auto}.m-act-row::-webkit-scrollbar{display:none}.m-act-cat{letter-spacing:.08em;text-transform:uppercase;width:46px;color:var(--muted);flex:none;font-size:10px}.m-act{border:1px solid var(--border-strong);background:var(--panel-2);white-space:nowrap;border-radius:999px;flex:none;min-height:38px;padding:0 10px;font-weight:500;font-size:13px!important}.m-act.ok{border-color:#4cc38a8c;color:#7ee0ad!important}.m-act.primary{background:var(--accent);border-color:var(--accent);font-weight:600;color:#fff!important}.m-act.on{background:#4f8cff24;border-color:#7fb0ff;color:#9cc2ff!important}.m-act:active{transform:scale(.97)}.m-sheet-delete{background:0 0;border:1px solid #e5606e80;border-radius:999px;min-height:32px;padding:0 12px;font-weight:600;position:absolute;top:8px;left:8px;color:#ef8a95!important;font-size:13px!important}.m-sheet-delete:after{content:"";position:absolute;inset:-6px -4px}.m-jot-view{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:24px;position:absolute;inset:0;overflow-y:auto}.m-jot-add{z-index:2;background:var(--panel);border-bottom:1px solid var(--border);gap:10px;padding:12px 14px;display:grid;position:sticky;top:0}.m-jot-types{scrollbar-width:none;gap:6px;margin:0 -14px;padding:0 14px;display:flex;overflow-x:auto}.m-jot-types::-webkit-scrollbar{display:none}.m-jot-type{border:1px solid var(--border-strong);background:var(--panel-2);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:36px;padding:0 12px;display:inline-flex;font-size:13px!important}.m-jot-type svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.m-jot-type.on{background:#4f8cff29;border-color:#7fb0ff;color:#9cc2ff!important}.m-jot-row{align-items:flex-end;gap:8px;display:flex}.m-jot-input{resize:none;field-sizing:content;flex:1;min-height:48px;max-height:160px;line-height:1.35}.m-jot-go{flex:none;min-width:64px;min-height:48px;font-weight:700}.pad-x{padding:14px 16px 6px}.m-jot-list{gap:8px;margin:0;padding:0 12px;list-style:none;display:grid}.m-jot{text-align:left;border:1px solid var(--border);background:var(--panel);border-radius:14px;gap:4px;width:100%;padding:12px 14px;display:grid}.m-jot:active{background:var(--panel-2)}.m-jot-meta{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.m-jot-kind{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.m-jot-kind.k-main{color:#9d8cff}.m-jot-kind.k-sub{color:#7fb0ff}.m-jot-kind.k-task{color:#e5b567}.m-jot strong{overflow-wrap:anywhere;font-size:16px}.m-jot-pre{color:var(--text-dim);-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.m-jot-pill{z-index:3;background:#282114eb;border:1px solid #e5b56799;border-radius:999px;min-height:40px;padding:0 16px;font-weight:700;position:absolute;top:12px;left:12px;box-shadow:0 6px 18px #0006;color:#f0c77e!important;font-size:14px!important}.m-node.jot{outline-offset:3px;outline:2px dashed #e5b567bf}.m-jot-back{transform-origin:0 100%;white-space:nowrap;z-index:4;background:#282114f2;border:1px solid #e5b567b3;border-radius:999px;min-height:36px;margin-bottom:0;padding:0 12px;font-weight:700;position:absolute;bottom:100%;left:0;translate:0 -12px;color:#f0c77e!important;font-size:13px!important}.m-desk{-webkit-user-select:text;user-select:text}.m-paint .pt-btn{min-width:40px;min-height:40px}.m-paint .pc-swatch{width:30px;height:30px}.m-paint .paint-colors{flex-wrap:wrap;gap:8px}.m-scriptbox .sc-editor{min-height:260px;font-size:16px}.m-scriptbox .sc-tool,.m-scriptbox .sc-tab-btn{min-width:36px;min-height:36px}.m-deadline input[type=date]{min-height:44px;font-size:16px}.m-deadline .btn{min-height:40px}
