@import "https://cdn.jsdelivr.net/npm/remixicon@4.2.0/fonts/remixicon.min.css";@import "https://cdn.bootcdn.net/ajax/libs/font-awesome/6.5.1/css/all.min.css";.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.hljs{color:var(--text-primary);background:0 0}.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#7c3aed;font-weight:600}.hljs-string{color:#059669}.hljs-number,.hljs-literal{color:#d97706}.hljs-title,.hljs-title.function_{color:#2563eb}.hljs-title.class_{color:#d97706;font-weight:600}.hljs-built_in{color:#0891b2}.hljs-comment,.hljs-quote{color:var(--text-tertiary);font-style:italic}.hljs-attr,.hljs-attribute,.hljs-variable{color:var(--text-primary)}.hljs-meta{color:var(--text-tertiary)}.hljs-tag{color:#7c3aed}.hljs-name{color:#2563eb}.hljs-selector-class{color:#0891b2}.hljs-section{color:#7c3aed;font-weight:600}.hljs-link{color:#2563eb;text-decoration:underline}.hljs-deletion{color:#dc2626}.hljs-addition{color:#059669}.hljs-params{color:var(--text-primary)}.hljs-punctuation{color:var(--text-tertiary)}.hljs-regexp{color:#059669}.hljs-symbol{color:#d97706}.hljs-bullet{color:#7c3aed}.link-domain{color:#7c3aed;cursor:pointer;text-decoration:none}.link-domain:hover{text-decoration:underline}.app{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.app-body{flex:1;display:flex;overflow:hidden}.main-content{max-width:var(--content-max-width);flex-direction:column;flex:1;width:100%;margin:0 auto;display:flex;overflow:hidden}.ai-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}body.theme-transitioning,body.theme-transitioning *,body.no-transition,body.no-transition *{transition:none!important}.theme-flash{pointer-events:none;z-index:9999;opacity:0;background:var(--bg-primary);transition:opacity .15s;position:fixed;inset:0}.theme-flash.active{opacity:1}#root{height:100%;display:flex}.container{background:var(--bg-canvas);height:100vh;color:var(--text-primary);width:100%;transition:all .3s;display:flex}.main-container{max-width:var(--content-max-width);flex-direction:column;flex:1;width:100%;margin:0 auto;display:flex;overflow:hidden}.header{border-bottom:1px solid var(--border-primary);background:var(--bg-surface);flex-shrink:0;align-items:center;padding:10px 20px;display:flex}.header-right{align-items:center;gap:10px;margin-left:auto;display:flex}.debug-toggle-btn{color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--text-xs,12px);cursor:pointer;opacity:.7;background:#fc79811a;border:1px solid #fc79814d;padding:4px 10px;font-weight:500;transition:all .2s}.debug-toggle-btn:hover{opacity:1;background:#fc798133}.search{font-size:var(--text-sm,14px);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text-primary);border:none;border:1px solid var(--border-primary);width:160px;box-shadow:var(--shadow-clay);outline:none;padding:8px 16px;transition:all .2s}.search:focus{background:var(--bg-surface);border-color:var(--accent);width:200px;box-shadow:var(--shadow-clay), 0 0 0 2px var(--swatch-matcha-light)}.search::placeholder{color:var(--text-tertiary)}.header-ai-btn{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:all .15s;display:flex}.header-ai-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.header-ai-icon{object-fit:contain;width:24px;height:24px}.content-toolbar{background:0 0;border-bottom:none;flex-shrink:0;align-items:center;gap:12px;margin-bottom:20px;padding:48px 16px 16px;display:flex}.content-toolbar .search-wrapper{margin-left:auto}.content-toolbar .toolbar-btn{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);font-size:var(--text-lg,18px);box-shadow:var(--shadow-clay);justify-content:center;align-items:center;transition:all .2s;display:flex}.content-toolbar .toolbar-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-light)}.search-wrapper{align-items:center;display:flex;position:relative}.search-clear{color:var(--text-tertiary);font-size:var(--text-base,16px);cursor:pointer;border-radius:var(--radius);opacity:.7;background:0 0;border:none;padding:2px 4px;line-height:1;position:absolute;right:8px}.search-clear:hover{opacity:1;color:var(--text-primary)}.content-left{scrollbar-width:none;flex-direction:column;flex-shrink:0;gap:12px;width:140px;display:flex;overflow:hidden auto}.content-left::-webkit-scrollbar{display:none}.saved-filters-list{flex-direction:column;gap:2px;display:flex}.saved-filter-item{border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid #0000;justify-content:space-between;align-items:center;padding:3px 6px;font-size:11px;transition:all .15s;display:flex}.saved-filter-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.saved-filter-item.active{color:#7c3aed;background:#ede9fe22;border-color:#7c3aed}.mode-dark .saved-filter-item.active{color:#a78bfa;background:#2e106522;border-color:#a78bfa}.saved-filter-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.saved-filter-del{cursor:pointer;color:var(--text-tertiary);opacity:0;background:0 0;border:none;flex-shrink:0;padding:0 0 0 4px;font-size:13px;line-height:1;transition:opacity .15s}.saved-filter-item:hover .saved-filter-del{opacity:1}.outline-wrapper{flex:1;overflow:hidden auto}.outline-wrapper::-webkit-scrollbar{background:0 0;width:0}.server-status{font-size:var(--text-xs,12px);color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius);box-shadow:var(--shadow-sm);z-index:100;opacity:.85;align-items:center;gap:6px;padding:6px 12px;transition:all .2s;display:flex;position:fixed;bottom:8px;right:8px}.server-status:hover{opacity:1;box-shadow:var(--shadow-md)}.server-status i{font-size:var(--text-sm,14px)}.server-status span{white-space:nowrap}.server-status-synced i{color:#10b981}.server-status-syncing i{color:#f59e0b}.server-status-error i{color:#ef4444}.server-status-offline i{color:#6b7280}.sync-time{color:var(--text-tertiary);font-size:11px}.sync-button{border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm,14px);background:0 0;justify-content:center;align-items:center;margin-left:8px;padding:4px 8px;transition:all .15s;display:flex}.sync-button:hover,.mode-dark .sync-button:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.server-status-error .sync-button{color:#ef4444;border-color:#ef4444}.server-status-error .sync-button:hover{background:#fef2f2}.mode-dark .server-status-error .sync-button:hover{background:#450a0a}.sync-error-tooltip{background:var(--bg-elevated,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:var(--radius);box-shadow:var(--shadow-lg,0 10px 15px -3px #0000001a);font-size:var(--text-xs,12px);color:#ef4444;white-space:pre-wrap;word-break:break-all;z-index:1000;max-width:500px;max-height:200px;margin-bottom:8px;padding:8px 12px;position:absolute;bottom:100%;right:0;overflow-y:auto}.sync-error-tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--border-color,#e5e7eb);position:absolute;top:100%;right:10px}.save-error{color:#ef4444;border-radius:var(--radius);background:#fef2f2;margin-right:12px;padding:4px 8px;font-weight:500}.mode-dark .save-error{background:#450a0a}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-btn{color:var(--text-secondary);font-size:var(--text-lg,18px);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.settings-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-toolbar{z-index:99;flex-direction:column;gap:12px;width:60px;transition:left .3s;display:flex;position:fixed;top:100px;left:200px}.sidebar-toolbar.collapsed{left:8px}.nfp-container,.node-filter-panel{flex-direction:column;align-items:center;gap:4px;margin-top:100px;display:flex}.nfp-toggle{color:var(--text-tertiary);font-size:var(--text-xs,12px);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;width:100%;padding:6px 8px;transition:all .15s;display:flex}.nfp-toggle:hover{color:var(--text-secondary)}.nfp-saved-list{flex-direction:column;gap:2px;display:flex}.nfp-saved-item{border-radius:var(--radius);cursor:pointer;color:var(--text-tertiary);justify-content:center;align-items:center;padding:4px 8px;font-size:11px;transition:all .15s;display:flex}.nfp-saved-item:hover{background:var(--bg-tertiary);color:var(--text-secondary)}body.mode-dark .tab-btn-active{color:#fff!important}.nfp-saved-item.active{color:var(--text-primary);font-weight:600}.sidebar-toggle-btn{color:var(--text-tertiary);font-size:var(--text-lg,18px);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.sidebar-toggle-btn:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.settings-overlay{z-index:998;background:#00000080;width:100%;height:100%;position:fixed;top:0;left:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.12s ease-out fade-in}.animate-scale-in{animation:.12s ease-out scale-in}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0;border-radius:2px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.content-left,.outline-wrapper,.file-list,.recycle-bin{scrollbar-width:thin;-ms-overflow-style:auto;scrollbar-width:thin}.mindmap-drop-highlight{outline-offset:2px;border-radius:8px;background:#7c3aed14!important;outline:2px solid #7c3aed!important}.content-left{scrollbar-width:thin}.content-left::-webkit-scrollbar{width:4px;display:block}.outline-wrapper{-ms-overflow-style:auto;scrollbar-width:thin}.outline-wrapper::-webkit-scrollbar{background:0 0;width:4px;display:block}.login-required-overlay{background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-required-content{text-align:center;background:var(--bg-primary);border-radius:var(--radius);max-width:400px;padding:48px;box-shadow:0 20px 60px #00000026}.login-required-logo{margin-bottom:24px}.login-required-logo img{object-fit:contain;width:100px;height:100px}.login-required-content h2{font-size:var(--text-2xl,24px);color:var(--text-primary);margin:0 0 12px}.login-required-content p{font-size:var(--text-base,16px);color:var(--text-secondary);margin:0 0 32px}.login-required-btn{background:var(--accent-color);color:#fff;border-radius:var(--radius);font-size:var(--text-base,16px);cursor:pointer;border:none;align-items:center;gap:8px;padding:14px 32px;font-weight:500;transition:all .2s;display:inline-flex}.login-required-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 20px #007bff4d}.markdown-content{line-height:1.6;font-size:var(--text-sm,14px);font-family:var(--font-family)}.markdown-content p{margin:0 0 8px}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin:8px 0;padding-left:20px}.markdown-content li{margin:4px 0}.markdown-content pre{background:var(--bg-tertiary);border-radius:var(--radius);margin:8px 0;padding:12px;overflow-x:auto}.markdown-content pre code{font-family:Fira Code,Consolas,monospace;font-size:13px}.markdown-content code{background:var(--bg-tertiary);border-radius:var(--radius);padding:2px 6px;font-family:Fira Code,Consolas,monospace;font-size:13px}.markdown-content blockquote{border-left:3px solid var(--accent-color);border-radius:0 var(--radius) var(--radius) 0;background:#7c3aed0f;margin:8px 0;padding:8px 12px}.markdown-content strong{color:var(--accent-color);font-weight:600}.markdown-content a{color:var(--link-color,var(--accent-color))}.markdown-content a:hover{color:var(--accent-color)}
