.flowchart-container{--fc-canvas-bg:#fafafa;--fc-grid-dot-strong:#b0b0b0;--fc-grid-dot-weak:#d0d0d0;--fc-sidebar-bg:#f5f5f5;--fc-sidebar-border:#ddd;--fc-sidebar-title-color:#666;--fc-sidebar-item-hover-bg:#e8e8e8;--fc-sidebar-label-color:#333;--fc-sidebar-icon-fill:#fff;--fc-sidebar-icon-stroke:#333;--fc-bar-bg:#fff;--fc-bar-shadow:0 2px 12px #00000026;--fc-bar-scroll-arrow:#888;--fc-bar-scroll-arrow-hover:#333;--fc-bar-scroll-arrow-hover-bg:#eee;--fc-bar-color-btn-border:#ddd;--fc-bar-color-btn-border-hover:#999;--fc-bar-color-btn-border-active:#333;--fc-bar-separator:#ddd;--fc-bar-delete:#888;--fc-bar-delete-hover:#e53935;--fc-bar-delete-hover-bg:#fce4e4;--fc-editor-bg:#fffffff2;--fc-editor-focus-border:#4a90d9;--fc-editor-text:#000;--fc-node-default-fill:#fff;--fc-node-default-stroke:#333;--fc-node-default-text:#000;--fc-text-node-selected-fill:#0000000a;--fc-text-node-selected-stroke:#999;--fc-text-node-fill:#00000005;--fc-text-node-stroke:#ccc;--fc-edge-label-fill:#666}.flowchart-container.theme-dark{--fc-canvas-bg:#1a1a1a;--fc-grid-dot-strong:#555;--fc-grid-dot-weak:#444;--fc-sidebar-bg:#2a2a2a;--fc-sidebar-border:#444;--fc-sidebar-title-color:#999;--fc-sidebar-item-hover-bg:#3a3a3a;--fc-sidebar-label-color:#ccc;--fc-sidebar-icon-fill:#2a2a2a;--fc-sidebar-icon-stroke:#ccc;--fc-bar-bg:#2d2d2d;--fc-bar-shadow:0 2px 12px #0006;--fc-bar-scroll-arrow:#aaa;--fc-bar-scroll-arrow-hover:#fff;--fc-bar-scroll-arrow-hover-bg:#444;--fc-bar-color-btn-border:#555;--fc-bar-color-btn-border-hover:#aaa;--fc-bar-color-btn-border-active:#fff;--fc-bar-separator:#555;--fc-bar-delete:#aaa;--fc-bar-delete-hover:#e53935;--fc-bar-delete-hover-bg:#3a2020;--fc-editor-bg:#2d2d2df2;--fc-editor-focus-border:#4a90d9;--fc-editor-text:#ddd;--fc-node-default-fill:#3a3a3a;--fc-node-default-stroke:#aaa;--fc-node-default-text:#ddd;--fc-text-node-selected-fill:#ffffff0f;--fc-text-node-selected-stroke:#777;--fc-text-node-fill:#ffffff08;--fc-text-node-stroke:#555;--fc-edge-label-fill:#aaa}.node-sidebar[data-v-a5b98771]{background:var(--fc-sidebar-bg);border-right:1px solid var(--fc-sidebar-border);z-index:10;flex-direction:column;gap:2px;width:150px;min-width:150px;padding:8px 0;transition:width .2s,min-width .2s;display:flex}.node-sidebar.sidebar-collapsed[data-v-a5b98771]{width:48px;min-width:48px}.node-sidebar.sidebar-collapsed .sidebar-item[data-v-a5b98771]{justify-content:center;padding:8px 4px}.sidebar-title[data-v-a5b98771]{color:var(--fc-sidebar-title-color);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;padding:4px 12px 8px;font-size:12px;font-weight:600}.sidebar-item[data-v-a5b98771]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:8px;margin:0 4px;padding:8px 12px;transition:background .15s;display:flex}.sidebar-item[data-v-a5b98771]:hover{background:var(--fc-sidebar-item-hover-bg)}.sidebar-item[data-v-a5b98771]:active{cursor:grabbing}.sidebar-item.tool-active[data-v-a5b98771]{color:#fff;background:#4a90d9}.sidebar-item.tool-active .sidebar-label[data-v-a5b98771]{color:#fff}.sidebar-item.tool-active[data-v-a5b98771]:hover{background:#3a7bc8}.sidebar-divider[data-v-a5b98771]{background:var(--fc-sidebar-border);height:1px;margin:4px 8px}.sidebar-icon[data-v-a5b98771]{flex-shrink:0}.sidebar-label[data-v-a5b98771]{color:var(--fc-sidebar-label-color);white-space:nowrap;font-size:12px}.flowchart-edge[data-v-6898fae1]{cursor:pointer}.flowchart-node[data-v-91f1edda],.flowchart-node.selected[data-v-91f1edda]{cursor:move}.text-editor-overlay[data-v-5b929ed8]{z-index:100;pointer-events:auto;position:absolute}.editor-input[data-v-5b929ed8]{border:2px solid var(--fc-editor-focus-border);box-sizing:border-box;background:var(--fc-editor-bg);text-align:center;width:100%;color:var(--fc-editor-text);resize:none;border-radius:2px;outline:none;padding:4px 8px;font-family:inherit;line-height:1.4;display:block;overflow:hidden}.canvas-wrapper[data-v-59caea89]{background:var(--fc-canvas-bg);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;position:relative;overflow:hidden}.flowchart-svg[data-v-59caea89]{touch-action:none;width:100%;height:100%;display:block}.node-tool-preview[data-v-59caea89]{pointer-events:none}.node-tool-preview rect[data-v-59caea89],.node-tool-preview polygon[data-v-59caea89],.node-tool-preview ellipse[data-v-59caea89]{fill:#4a90d91f;stroke:#4a90d9;stroke-width:2px}.node-tool-preview text[data-v-59caea89]{fill:#4a90d9}.node-action-bar[data-v-1931cb2d]{z-index:200;pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.bar-inner[data-v-1931cb2d]{background:var(--fc-bar-bg);box-shadow:var(--fc-bar-shadow);pointer-events:auto;border-radius:4px;align-items:center;gap:8px;width:fit-content;max-width:calc(100vw - 170px);padding:8px 12px;display:flex}.bar-inner-mobile[data-v-1931cb2d]{max-width:calc(100vw - 68px)}.color-scroll[data-v-1931cb2d]{padding:4px;overflow:hidden}.color-row[data-v-1931cb2d]{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.scroll-arrow[data-v-1931cb2d]{width:24px;height:24px;color:var(--fc-bar-scroll-arrow);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s,visibility .15s;display:flex}.scroll-arrow.invisible[data-v-1931cb2d]{visibility:hidden;pointer-events:none}.scroll-arrow[data-v-1931cb2d]:hover{color:var(--fc-bar-scroll-arrow-hover);background:var(--fc-bar-scroll-arrow-hover-bg)}.color-btn[data-v-1931cb2d]{border:2px solid var(--fc-bar-color-btn-border);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:border-color .15s,transform .15s;display:flex}.color-btn[data-v-1931cb2d]:hover{border-color:var(--fc-bar-color-btn-border-hover);transform:scale(1.15)}.color-btn.active[data-v-1931cb2d]{border-color:var(--fc-bar-color-btn-border-active);border-width:3px}.color-btn.is-default[data-v-1931cb2d]{border-style:dashed;background:0 0!important}.bar-enter-active[data-v-1931cb2d],.bar-leave-active[data-v-1931cb2d]{transition:opacity .2s,transform .2s}.bar-enter-from[data-v-1931cb2d],.bar-leave-to[data-v-1931cb2d]{opacity:0;transform:translateY(8px)}.edge-action-bar[data-v-c76f03da]{z-index:200;pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.bar-inner[data-v-c76f03da]{background:var(--fc-bar-bg);box-shadow:var(--fc-bar-shadow);pointer-events:auto;border-radius:4px;align-items:center;gap:8px;width:fit-content;max-width:calc(100vw - 170px);padding:8px 12px;display:flex}.bar-inner-mobile[data-v-c76f03da]{max-width:calc(100vw - 68px)}.color-scroll[data-v-c76f03da]{padding:4px;overflow:hidden}.color-row[data-v-c76f03da]{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.scroll-arrow[data-v-c76f03da]{width:24px;height:24px;color:var(--fc-bar-scroll-arrow);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s,visibility .15s;display:flex}.scroll-arrow.invisible[data-v-c76f03da]{visibility:hidden;pointer-events:none}.scroll-arrow[data-v-c76f03da]:hover{color:var(--fc-bar-scroll-arrow-hover);background:var(--fc-bar-scroll-arrow-hover-bg)}.color-btn[data-v-c76f03da]{border:2px solid var(--fc-bar-color-btn-border);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:border-color .15s,transform .15s;display:flex}.color-btn[data-v-c76f03da]:hover{border-color:var(--fc-bar-color-btn-border-hover);transform:scale(1.15)}.color-btn.active[data-v-c76f03da]{border-color:var(--fc-bar-color-btn-border-active);border-width:3px}.color-btn.is-default[data-v-c76f03da]{border-style:dashed;background:0 0!important}.bar-enter-active[data-v-c76f03da],.bar-leave-active[data-v-c76f03da]{transition:opacity .2s,transform .2s}.bar-enter-from[data-v-c76f03da],.bar-leave-to[data-v-c76f03da]{opacity:0;transform:translateY(8px)}.flowchart-container[data-v-2210dad9]{outline:none;width:100%;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:relative;overflow:hidden}.canvas-area[data-v-2210dad9]{flex:1;display:flex;position:relative;overflow:hidden}.canvas-toolbar[data-v-2210dad9]{z-index:50;flex-direction:column;gap:2px;display:flex;position:absolute;top:8px;right:8px}.sidebar-drag-ghost[data-v-2210dad9]{z-index:1000;border:1px solid var(--fc-sidebar-border,#ddd);background:var(--fc-sidebar-bg,#f5f5f5);min-width:44px;min-height:40px;color:var(--fc-sidebar-label-color,#333);opacity:.82;pointer-events:none;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:fixed;transform:translate(-50%,-50%);box-shadow:0 8px 22px #0000002e}.sidebar-drag-ghost-icon[data-v-2210dad9]{flex-shrink:0}.sidebar-drag-ghost-label[data-v-2210dad9]{color:var(--fc-sidebar-label-color,#333);white-space:nowrap;font-size:12px}.canvas-tb-btn[data-v-2210dad9]{border:1px solid var(--fc-sidebar-border,#ddd);background:var(--fc-bar-bg,#fff);width:28px;height:28px;color:var(--fc-sidebar-label-color,#333);cursor:pointer;opacity:.9;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background .15s,opacity .15s;display:flex}.canvas-tb-btn[data-v-2210dad9]:hover:not(:disabled){background:var(--fc-sidebar-item-hover-bg,#e8e8e8);opacity:1}.canvas-tb-btn[data-v-2210dad9]:disabled{opacity:.35;cursor:default}.canvas-tb-delete[data-v-2210dad9]:hover:not(:disabled){color:#dc2626;background:#fee2e2}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}#app{flex-direction:column;width:100%;height:100vh;display:flex}.toolbar{color:#fff;background:#333;flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.toolbar-title{margin-right:8px;font-size:14px;font-weight:600}.toolbar-btn{color:#fff;cursor:pointer;background:#444;border:1px solid #666;border-radius:4px;padding:4px 12px;font-size:12px;transition:background .15s}.toolbar-btn:hover{background:#555}.toolbar-info{color:#aaa;font-size:12px}
