.dropdown[data-v-862e0aa9]{position:relative}.dropdown-menu[data-v-862e0aa9]{position:absolute;top:100%;left:0;background:var(--bg-1);color:var(--text-color);border:1px solid var(--border-color);min-width:120px;border-radius:4px;list-style:none;padding:0;margin:4px 0 0;z-index:1000;-webkit-user-select:none;user-select:none}.dropdown-menu li .icon[data-v-862e0aa9]{width:24px;height:24px}.dropdown-menu li[data-v-862e0aa9]{display:flex;padding:4px 16px;cursor:default;gap:8px}.dropdown-menu li.title[data-v-862e0aa9]{padding:2px 4px;background-color:var(--bg-2);color:var(--text-muted)}.dropdown-menu li .label[data-v-862e0aa9]{text-wrap:nowrap}.dropdown-menu li.selectable[data-v-862e0aa9]:hover{background-color:var(--btn-hover)}.dropdown-menu li[data-v-862e0aa9]:first-child{border-radius:4px 4px 0 0}.dropdown-menu li[data-v-862e0aa9]:last-child{border-radius:0 0 4px 4px}.topbar{display:flex;align-items:center;height:35 px;min-width:400px;background:var(--bg-1);border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none;padding:4px;margin:0}.dropdown{position:relative}.tab-panel{min-width:300px;height:100%;display:flex;flex-direction:column;background-color:var(--bg-1);scrollbar-color:inherit;-webkit-user-select:none;user-select:none}.tab-buttons{display:flex;height:40px}.tab-button{flex:1;display:flex;place-items:anchor-center;justify-content:left;gap:16px;padding:0 8px;cursor:pointer;border-radius:4px 4px 0 0;background-color:inherit;border:1px solid var(--border-color);border-left:1px solid transparent;color:var(--text-muted);transition:all .2s ease}.tab-button svg{width:16px}.tab-button:hover{background:var(--btn-hover)}.tab-button.active{color:var(--text-color);border-bottom:1px solid transparent;font-weight:500}.tab-content{flex:1;overflow-y:scroll;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color)}.tab-content-item[data-v-aca39339]{width:100%}.validated-field[data-v-97942088]{display:flex;flex-direction:column}.error[data-v-97942088]{outline:1px solid var(--danger-outline)}.error[data-v-97942088]:focus{outline:1px solid var(--danger-outline)}.error-text[data-v-97942088]{color:var(--danger-text);font-size:.75rem;padding:0 2px}.select-list[data-v-a2b9c94e]{min-height:40px;cursor:default;overflow:auto;-webkit-user-select:none;user-select:none}.select-list .content[data-v-a2b9c94e]{display:table;width:100%}.select-list .option[data-v-a2b9c94e]{overflow:visible;display:table-row;border-bottom:1px solid var(--border-color)}.select-list .option[data-v-a2b9c94e]:hover{background-color:var(--bg-3)}.select-list .option.selected[data-v-a2b9c94e]{background-color:var(--bg-4)}.select-list .option .column[data-v-a2b9c94e]:last-child{border-right:none}.select-list .option .column[data-v-a2b9c94e]{display:table-cell;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis;padding:4px 8px;border-right:1px solid var(--border-color)}.select-list .option .column[data-v-a2b9c94e]:first-child{color:var(--text-muted)}.select-list-wrapper input[data-v-a2b9c94e]{border-radius:4px 0 0 4px}.select-list-wrapper button[data-v-a2b9c94e]{border-radius:0 4px 4px 0;margin:-1px}.handle-wrapper.collapsed .node-input-handle[data-v-e8eb9cfe]{transform:translate(-50%,-32px);top:100%}.handle-wrapper.collapsed .node-output-handle[data-v-e8eb9cfe]{transform:translate(50%,-32px);top:100%;position:absolute}.vue-flow__edge-path[data-v-e730ab45]{stroke-width:2;marker-end:url(#arrow);stroke:var(--text-muted)}.vue-flow__edge-path[data-v-e730ab45]:hover{stroke:var(--text-color)}.vue-flow__edge.selected .vue-flow__edge-path[data-v-e730ab45],.vue-flow__edge:focus .vue-flow__edge-path[data-v-e730ab45],.vue-flow__edge:focus-visible .vue-flow__edge-path[data-v-e730ab45]{stroke:var(--accent)}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{border-width:1px;border-style:solid;border-color:#bbb}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.vue-flow{flex:1;background-color:var(--bg-3);background-image:linear-gradient(#00000022 1px,transparent 1px),linear-gradient(90deg,#00000022 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size);background-position:var(--grid-offset-x) var(--grid-offset-y),var(--grid-offset-x) var(--grid-offset-y);position:relative}.gutter[data-v-9e086fd7]{width:5px;cursor:col-resize;background:var(--bg-2)}.gutter[data-v-9e086fd7]:hover{background-color:var(--text-ghost)}.gutter[data-v-9e086fd7]:active{background-color:var(--accent)}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:9999}.history-item[data-v-ab386ce2]{border-bottom:1px solid var(--border-color);padding:4px 8px;color:var(--text-muted)}.history-item.past[data-v-ab386ce2]{color:var(--text-ghost)}.history-item[data-v-ab386ce2]:hover{background-color:var(--bg-3)}.info-bar[data-v-12a2652d]{position:absolute;z-index:1;color:var(--text-ghost);padding:8px;-webkit-user-select:none;user-select:none}.toast-box[data-v-0a455d79]{position:absolute;top:100%;width:100%;display:flex;padding:8px;gap:8px;flex-direction:column;text-align:center;align-items:center;z-index:1}.toast[data-v-0a455d79]{padding:8px;background-color:var(--bg-1);border-radius:6px;color:var(--text-muted)}.list-move[data-v-0a455d79],.list-enter-active[data-v-0a455d79],.list-leave-active[data-v-0a455d79]{transition:all .5s ease}.list-enter-from[data-v-0a455d79],.list-leave-to[data-v-0a455d79]{opacity:0;transform:translateY(100%)}.list-leave-active[data-v-0a455d79]{position:absolute}:root{--grid-base-size: 20px;--grid-size: calc(var(--grid-base-size) * var(--grid-zoom, 1));--grid-offset-x: 0px;--grid-offset-y: 0px;--bg-0: #121212;--bg-1: #1e1e1e;--bg-2: #242424;--bg-3: #2e2e2e;--bg-4: #383838;--btn-bg: #3d3d3d;--btn-hover: #4a4a4a;--accent: #4a90e2;--danger-outline: #a11;--danger-text: #dd0000;--border-color: #2c2c2c;--text-color: #e0e0e0;--text-muted: #999999;--text-ghost: #555555;--title-text: #cccccc;--boundary-button-bg: #2a2a2a;--boundary-button-hover: #404040;--input-bg: var(--bg-1);--input-outline: var(--text-ghost);--input-focus-outline: var(--accent);--scrollbar-thumb: var(--bg-4);--scrollbar-track: var(--bg-0);--box-shadow: #f2f2f2}:root.light{--bg-0: #aaa;--bg-1: #e2e2e2;--bg-2: #d8d8d8;--bg-3: #cccccc;--bg-4: #c0c0c0;--btn-bg: #d0d0d0;--btn-hover: #b8b8b8;--accent: #4a90e2;--border-color: #bbbbbb;--text-color: #202020;--text-muted: #555555;--text-ghost: #999999;--title-text: #111111;--boundary-button-bg: #d5d5d5;--boundary-button-hover: #bfbfbf;--input-bg: #eee;--input-outline: #aaaaaa;--input-focus-outline: var(--accent);--scrollbar-thumb: var(--text-ghost);--scrollbar-track: var(--bg-4);--box-shadow: #111111}html,body{height:100%;margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg-0);color:var(--text-color);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}h1,h2,h3,h4,h5,h6{margin:0;padding:0}#app{height:100%;display:flex}.main{flex:1;display:flex;overflow:hidden;flex-direction:column}.muted{color:var(--text-muted)}.ghost{color:var(--text-ghost)}.bright{color:var(--text-color)}.italic{font-style:italic}.pre{white-space:pre-line}.subtitle{font-weight:400;font-size:.75rem}.row{display:flex;padding:0}.col{display:flex;flex:1;flex-direction:column;padding:0}.section{display:flex;flex-direction:column;width:100%;box-sizing:border-box;padding:8px 8px 16px;gap:16px}.section.dense{gap:0!important}.section.subsection{background-color:var(--bg-2);border-bottom:1px solid var(--border-color)}.title{display:flex;font-weight:700;padding:4px 8px;place-items:center;color:var(--title-text);gap:4px}.title-1{background-color:var(--bg-1);height:32px}.title-2{background-color:var(--bg-2);color:var(--text-muted);border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color)}.title-3{font-size:.75rem;padding:0;font-weight:400;background-color:var(--bg-3);color:var(--text-muted);min-height:24px}.title button{background:var(--bg-4);color:var(--text-muted)}.title-3 button{border-radius:0}.title .text{flex:1}.boundary-wrapper{width:100%;height:0;right:0;text-align:center}button.boundary{position:relative;transform:translateY(-50%);color:var(--text-muted)}button{background:var(--btn-bg);color:var(--text-color);border:none;padding:6px 10px;cursor:pointer;border-radius:4px}button:hover{background:var(--btn-hover)}button.square{padding:0;margin:0;width:32px;height:32px;aspect-ratio:1;display:inline-grid;box-sizing:border-box;place-items:center}button.small{width:24px;height:24px}button.transparent{background-color:transparent;color:var(--text-muted)}button.transparent:hover{color:var(--text-color)}button.transparent.selected{color:var(--text-color);background-color:var(--btn-bg)}button.fit{width:100%;height:100%}button svg{width:16px}.button-group{display:flex;gap:8px}.button-group>*{flex:1;min-width:0}.button-group button{overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.button-group label{flex:1;display:flex;place-items:anchor-center;justify-content:left;gap:16px;cursor:pointer}label{font-size:.75rem;color:var(--text-muted);padding:2px;margin:0}input:not([type=radio]),select,textarea,.select-list{border-radius:4px;padding:6px 8px;margin:0;background:var(--input-bg);color:var(--text-color);outline:1px solid var(--input-outline);border:none}input:not([type=radio]):focus,select:focus,textarea:focus,.select-list:focus{outline:1px solid var(--input-focus-outline)}.radio-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.radio-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.vue-flow__node{border-radius:6px;width:300px;font-size:12px;text-align:left;color:var(--vf-node-text);background-color:var(--bg-1);color:var(--text-color);border:1px solid var(--border-color);cursor:default!important}.vue-flow__node.selected{box-shadow:0 0 6px var(--box-shadow)}.vue-flow__node .title-1{background-color:var(--bg-0)}.vue-flow__node .title:first-child{border-radius:6px 6px 0 0}.vue-flow__node .title:last-child{border-radius:0 0 6px 6px}.vue-flow__node .node-option:last-of-type .section{border-radius:0 0 6px 6px}.vue-flow__node .title.collapsed:nth-last-of-type(-n+2){border-radius:0 0 6px 6px}.vue-flow__node .section{padding:16px}.handle-wrapper{min-height:100%;width:0}.handle-wrapper.collapsed{min-height:0;height:0;width:0}.vue-flow__handle{height:12px;width:12px;border-radius:12px}.node-input-handle,.node-output-handle{position:relative;transform:translate(-50%,-50%)}.node-option-output-handle{position:relative;transform:translate(-50%,-50%);left:0}.list-move{transition:transform .2s ease}.list-enter-active,.list-leave-active{transition:all .2s ease}.list-enter-from,.list-leave-to{opacity:0;transform:scaleY(.1)}.list-leave-active{position:absolute}.list-leave-active>*{min-width:300px}.no-transition *{transition:none}
