.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--bg: #0a0f1d;--bg-panel: #111a2e;--bg-elev: #16213a;--bg-elev2: #1c2a4a;--line: #1f2c4d;--line-strong: #2c3d68;--line-blue: rgba(120, 150, 210, .14);--ink: #f0f4ff;--ink-dim: #a9b6d0;--ink-faint: #6a7897;--cyan: #4a7dff;--cyan-dim: #3561c8;--blue: #5b8cff;--green: #45c98a;--amber: #d9a94e;--violet: #4a7dff;--red: #e06a6a;--accent-soft: rgba(74, 125, 255, .13);--accent-ring: rgba(74, 125, 255, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 32px rgba(0, 0, 0, .5);--sans: "Helvetica Neue", Helvetica, Arial, "Liberation Sans", sans-serif;--mono: "Courier New", Courier, "Liberation Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background-color:#0a0f1d;color:var(--ink);font-family:var(--sans);font-size:13px;line-height:1.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M12 8.5v7M8.5 12h7' stroke='%238ea3c8' stroke-opacity='0.1' stroke-width='1.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");background-size:24px 24px;background-position:0 0;background-attachment:local;overflow:hidden}button{font-family:var(--sans);cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button:disabled{cursor:not-allowed}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}input,textarea,select{font-family:var(--sans);color:var(--ink);background:#0a101d;border:1px solid var(--line);border-radius:7px;padding:6px 9px;font-size:12.5px;outline:none;width:100%;transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px var(--accent-ring)}textarea{resize:vertical;min-height:60px}::placeholder{color:var(--ink-faint)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#243353;border:2px solid var(--bg);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#32456f}.app{height:100%;display:flex;flex-direction:column}.main{flex:1;min-height:0;display:flex;flex-direction:column}.topbar{position:relative;display:flex;align-items:center;gap:22px;padding:0 18px;height:52px;background:var(--bg-panel);border-bottom:1px solid var(--line);z-index:10;flex-shrink:0}.brand{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.brand:focus-visible{outline:2px solid var(--cyan);outline-offset:5px;border-radius:6px}.brand-mark{color:var(--cyan);font-size:17px;line-height:1}.brand-logo{height:22px;width:auto;display:block}.brand-name{font-size:13.5px;font-weight:700;letter-spacing:2px;color:var(--ink)}.brand-dim{color:var(--cyan)}.brand-tag{font-size:9px;letter-spacing:1.4px;color:var(--ink-faint);margin-left:6px}.topnav{display:flex;gap:2px;height:100%}.navbtn{position:relative;display:inline-flex;align-items:center;gap:7px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ink-dim);font-size:12px;letter-spacing:.5px;padding:0 14px;height:100%;transition:color .18s ease,border-color .18s ease,background .18s ease}.navbtn:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}.navbtn.active:after{transform:scaleX(1)}.navbtn:hover{color:var(--ink)}.navbtn.active{color:var(--ink);border-bottom-color:var(--cyan)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.topbar-settings{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--ink-dim);font-size:12px;padding:5px 10px;transition:color .12s ease,border-color .12s ease,background .12s ease}.topbar-settings:hover{color:var(--ink);border-color:var(--line);background:var(--bg-elev)}.led{width:7px;height:7px;border-radius:50%;background:var(--ink-faint)}.led-green{background:var(--green)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.selfhosted{font-size:9.5px;letter-spacing:1.2px;color:var(--ink-faint)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:1px;color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:500;padding:7px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg-elev);color:var(--ink);transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;-webkit-user-select:none;user-select:none}.btn:hover{background:var(--bg-elev2);border-color:var(--cyan-dim);color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(1px);box-shadow:none}.btn-primary{background:var(--cyan);border-color:var(--cyan);color:#fff}.btn-primary:hover{background:var(--cyan-dim);border-color:var(--cyan-dim);color:#fff}.btn-danger:hover{border-color:var(--red);color:var(--red)}.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--bg-elev);border-color:var(--line-strong)}.btn-sm{padding:5px 11px;font-size:11.5px}.btn:disabled{opacity:.45;pointer-events:none}.btn-active{border-color:var(--cyan);color:var(--ink);background:var(--accent-soft)}.panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:10px}.dash-count{display:inline-flex;align-items:center;margin-left:10px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;color:var(--ink-faint);font-size:10px;font-weight:500;letter-spacing:.4px;vertical-align:2px}.panel-corner:before,.panel-corner:after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid var(--cyan-dim);opacity:.55}.panel-corner:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.panel-corner:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.section-label{font-size:10px;font-weight:600;letter-spacing:1.6px;color:var(--cyan);text-transform:uppercase;margin:0 0 10px}.section-label .count{color:var(--ink-faint);font-weight:500}.boot{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:0;color:var(--ink)}.boot-line{font-size:13px;letter-spacing:2px;color:var(--ink)}.boot-line.dim{font-size:11.5px;letter-spacing:1px;color:var(--ink-faint)}.deactivated-screen{height:100%;overflow-y:auto;display:grid;place-items:center;padding:24px;background:var(--bg)}.deactivated-card{width:min(100%,460px);padding:34px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-md);text-align:center}.deactivated-icon{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 16px;color:var(--amber);background:color-mix(in srgb,var(--amber) 14%,transparent);border-radius:12px}.deactivated-card h1{margin:0 0 10px;font-size:22px}.deactivated-card p{color:var(--ink-dim);font-size:13px;line-height:1.7}.deactivated-reason{display:grid;gap:4px;margin:20px 0;padding:12px 14px;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:9px}.deactivated-reason strong{color:var(--ink-faint);font-size:10px;letter-spacing:1.3px;text-transform:uppercase}.deactivated-reason span{color:var(--ink);font-size:12px;word-break:break-word}.contact-page{flex:1;min-height:0;overflow-y:auto;padding:26px 30px 40px}.contact-card{max-width:720px;border:1px solid var(--line-blue);border-radius:8px;background:var(--bg-panel);padding:20px 22px}.contact-intro{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink)}.contact-intro code{font-size:11px;color:var(--cyan)}.contact-card textarea{min-height:170px;resize:vertical;font-family:var(--mono);font-size:11.5px;line-height:1.6}.contact-actions{display:flex;justify-content:flex-end;margin-top:16px}.dashboard{flex:1;min-height:0;overflow-y:auto;padding:26px 30px 40px}.dash-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:12px;margin-bottom:22px;border-bottom:1px solid var(--line-blue)}.dash-head:before,.dash-head:after{content:"";position:absolute;width:16px;height:16px;border:1.5px solid var(--cyan-dim);opacity:.6;pointer-events:none}.dash-head:before{top:-4px;left:-2px;border-right:none;border-bottom:none}.dash-head:after{bottom:-4px;right:-2px;border-left:none;border-top:none}.dash-title{font-size:20px;font-weight:700;color:var(--ink);letter-spacing:.3px;margin:0}.dash-title small{display:block;font-size:11.5px;font-weight:400;color:var(--ink-faint);margin-top:4px;letter-spacing:.4px}.workflow-folders-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-8px 0 18px;padding:10px 12px;background:var(--bg-panel);border:1px solid var(--line);border-radius:9px}.workflow-folder-picker{min-width:190px}.workflow-folder-create{display:flex;align-items:center;gap:7px;min-width:280px}.workflow-folder-create input{min-width:0}.wf-card-folder{flex:1;min-width:0;padding:5px 7px;font-size:10.5px}@media (max-width: 680px){.workflow-folders-bar{align-items:stretch;flex-direction:column}.workflow-folder-picker,.workflow-folder-create{width:100%;min-width:0}}.dash-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.wf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.wf-card{position:relative;background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.wf-card:hover{border-color:var(--cyan-dim);transform:translateY(-3px);box-shadow:var(--shadow-md)}.wf-card:after{content:"";position:absolute;top:-1px;left:12px;right:12px;height:2px;border-radius:2px;background:var(--cyan);opacity:0;transform:scaleX(.35);transform-origin:center;transition:opacity .18s ease,transform .18s ease}.wf-card:hover:after{opacity:.8;transform:scaleX(1)}.wf-card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.wf-card-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c, var(--cyan)) 16%,transparent);color:var(--c, var(--cyan));flex-shrink:0}.wf-card-name{font-size:13.5px;font-weight:600;color:var(--ink);word-break:break-word}.wf-card-desc{font-size:11.5px;color:var(--ink-dim);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wf-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10.5px;color:var(--ink-faint)}.wf-card-meta .tag{font-size:9.5px;letter-spacing:1px;color:var(--cyan);border:1px solid var(--line-strong);border-radius:999px;padding:2px 8px}.wf-card-actions{display:flex;gap:6px;margin-top:12px}.workflow-explorer{display:grid;grid-template-columns:minmax(190px,235px) minmax(0,1fr);min-height:430px;border:1px solid var(--line);border-radius:10px;background:var(--bg-panel);overflow:hidden}.workflow-sidebar{min-width:0;padding:13px 9px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg-panel) 78%,var(--bg) 22%)}.explorer-sidebar-title{padding:3px 8px 8px;color:var(--ink-faint);font:700 9px var(--mono);letter-spacing:1.4px}.explorer-sidebar-folders{margin-top:15px}.explorer-tree-row{position:relative;display:flex;align-items:center;gap:7px;min-height:31px;padding:5px 7px;border:1px solid transparent;border-radius:6px;color:var(--ink-dim);font-size:11.5px;cursor:pointer;-webkit-user-select:none;user-select:none}.explorer-tree-row:hover,.explorer-tree-row.active{color:var(--ink);background:color-mix(in srgb,var(--cyan) 10%,transparent);border-color:color-mix(in srgb,var(--cyan) 30%,transparent)}.explorer-tree-row.drop-target,.explorer-tree-workflow.drop-target,.wf-card.drop-target{border-color:var(--cyan)!important;background:color-mix(in srgb,var(--cyan) 16%,transparent)!important;box-shadow:0 0 0 2px var(--accent-ring)}.explorer-tree-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-tree-row>small{margin-left:auto;color:var(--ink-faint);font:10px var(--mono)}.explorer-disclosure{width:13px;padding:0;border:0;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:12px;line-height:1}.explorer-tree-actions{display:none;align-items:center;gap:2px;margin-left:3px}.explorer-tree-row:hover .explorer-tree-actions,.explorer-tree-row.active .explorer-tree-actions{display:flex}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink-faint);cursor:pointer}.icon-btn:hover,.icon-btn:focus-visible{color:var(--cyan);border-color:var(--line-strong);background:var(--bg-elev2)}.icon-btn.btn-danger:hover,.icon-btn.btn-danger:focus-visible{color:var(--red)}.explorer-tree-workflow{display:flex;align-items:center;gap:7px;width:calc(100% - 13px);min-height:27px;margin-left:13px;padding:4px 8px 4px 19px;overflow:hidden;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:10.5px;text-align:left}.explorer-tree-workflow:hover,.explorer-tree-workflow.selected{color:var(--cyan);background:color-mix(in srgb,var(--cyan) 8%,transparent)}.explorer-tree-workflow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-new-folder{display:grid;gap:6px;margin-top:17px;padding:9px 3px 0;border-top:1px solid var(--line)}.explorer-new-folder input{width:100%;min-width:0}.explorer-new-folder .btn{justify-content:center}.explorer-sidebar-help{margin:13px 5px 0;color:var(--ink-faint);font-size:10px;line-height:1.5}.workflow-explorer-main{min-width:0;padding:12px}.explorer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:31px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.explorer-breadcrumb{display:flex;align-items:center;gap:7px;min-width:0;color:var(--ink);font-size:12px;font-weight:600}.explorer-selection-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.explorer-clipboard{display:inline-flex;align-items:center;gap:4px;color:var(--amber, #f5b942);font:10px var(--mono);white-space:nowrap}.wf-card.selected{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 7%,var(--bg-panel));box-shadow:0 0 0 2px var(--accent-ring)}.wf-card-select{position:absolute;top:11px;right:11px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--line-strong);border-radius:4px;color:var(--cyan);background:var(--bg);cursor:pointer}.wf-card:not(.selected) .wf-card-select{opacity:0}.wf-card:hover .wf-card-select,.wf-card.selected .wf-card-select{opacity:1}.wf-card-more{margin-left:auto;color:var(--ink-faint)}@media (max-width: 780px){.workflow-explorer{grid-template-columns:1fr}.workflow-sidebar{border-right:0;border-bottom:1px solid var(--line)}.explorer-tree-actions{display:flex}}@media (max-width: 560px){.explorer-toolbar{align-items:flex-start;flex-direction:column}.explorer-selection-actions{justify-content:flex-start}}.wf-empty{border:1px dashed var(--line-strong);border-radius:12px;padding:60px 20px;text-align:center;color:var(--ink-dim)}.wf-empty .plus{font-size:30px;color:var(--cyan);display:block;margin-bottom:10px}.wf-empty-title{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}.wf-empty-sub{font-size:11.5px;color:var(--ink-faint);max-width:420px;margin:0 auto}.wf-empty-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.editor{flex:1;min-height:0;display:flex;flex-direction:column}.ed-toolbar{display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--bg-panel);border-bottom:1px solid var(--line);flex-shrink:0}.ed-name{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.ed-path{flex-shrink:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-faint);font-family:var(--mono);font-size:10px}.ed-crumbs{display:flex;align-items:center;gap:2px;max-width:380px;min-width:0;overflow:hidden}.ed-crumb-seg{display:inline-flex;align-items:center;gap:2px;min-width:0}.ed-crumb-sep{color:var(--ink-faint);padding:0 1px}.ed-name .ed-crumb{font-family:var(--mono);font-size:10px;letter-spacing:.3px;color:var(--ink-dim);background:transparent;border:1px solid transparent;border-radius:5px;padding:2px 5px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ed-name .ed-crumb:hover{color:var(--cyan);border-color:var(--line);background:var(--bg)}.ed-name .ed-crumb:focus-visible{outline:none;border-color:var(--cyan)}.ed-name input{background:transparent;border:1px solid transparent;font-size:13.5px;font-weight:600;color:var(--ink);padding:4px 8px;border-radius:6px;width:auto;max-width:340px}.ed-name input:hover{border-color:var(--line)}.ed-name input:focus{border-color:var(--cyan);box-shadow:none;background:var(--bg)}.ed-dirty{font-size:9.5px;letter-spacing:1px;color:var(--amber);white-space:nowrap}.ed-saved{font-size:9.5px;letter-spacing:1px;color:var(--ink-faint);white-space:nowrap}.ed-shared{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;font-size:9.5px;letter-spacing:1px;font-family:var(--mono);white-space:nowrap;padding:4px 9px;border-radius:999px;border:1px solid;max-width:300px}.ed-shared>span{overflow:hidden;text-overflow:ellipsis}.ed-shared.owner{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}.ed-shared.viewer{color:var(--cyan);border-color:color-mix(in srgb,var(--cyan) 45%,transparent);background:color-mix(in srgb,var(--cyan) 10%,transparent)}.ed-shared-stop{margin:-1px -3px -1px 2px}.ed-save-budget{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-family:var(--mono);font-size:9.5px;letter-spacing:1px;white-space:nowrap;padding:4px 9px;border-radius:999px;border:1px solid}.ed-save-budget.ok{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent);background:color-mix(in srgb,var(--green) 10%,transparent)}.ed-save-budget.empty{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}.btn-warn{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent)}.btn.btn-warn:disabled{opacity:.75;color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent)}.ed-actions{display:flex;align-items:center;gap:8px}.mobile-palette-toggle{display:none}.ed-webhook{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:4px 6px 4px 10px;max-width:320px;cursor:pointer;transition:border-color .12s ease}.ed-webhook:hover{border-color:var(--cyan-dim)}.ed-webhook svg{color:var(--ink-faint);flex-shrink:0}.ed-webhook.armed svg{color:var(--green)}.ed-webhook code{font-family:var(--mono);font-size:10.5px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.ed-webhook .ed-webhook-state{flex-shrink:0;font-size:8.5px;font-weight:600;letter-spacing:.8px;white-space:nowrap;border-radius:999px;padding:2px 7px}.ed-webhook .ed-webhook-state.on{color:var(--green);background:#50dc961a;border:1px solid rgba(80,220,150,.35)}.ed-webhook .ed-webhook-state.off{color:var(--ink-faint);background:#ffffff0a;border:1px solid var(--line)}.ed-webhook .copy{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;color:var(--ink-dim)}.ed-webhook .copy:hover{background:var(--bg-elev);color:var(--ink)}.editor-body{flex:1;min-height:0;display:flex}@media (max-width: 720px){.editor-body{position:relative}.mobile-palette-toggle{display:inline-flex}.palette{position:absolute;inset:0 auto 0 0;z-index:8;width:min(82vw,320px)!important;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.palette.mobile-open{transform:translate(0)}.palette-resize,.palette-hint{display:none}}.palette{position:relative;display:flex;flex-direction:column;background:var(--bg-panel);border-right:1px solid var(--line);min-width:0;flex-shrink:0}.palette-resize{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5}.palette-resize:after{content:"";position:absolute;top:0;right:2px;width:2px;height:100%;background:transparent;transition:background .12s ease}.palette-resize:hover:after,.palette-resize:active:after{background:var(--cyan-dim)}.palette-hint .resize-hint{font-size:9px;letter-spacing:1.2px;color:var(--ink-faint)}.palette-search{padding:12px 12px 8px;flex-shrink:0}.palette-groups{flex:1;min-height:0;overflow-y:auto;padding:0 8px 8px}.palette-cat{margin-bottom:2px}.palette-cat-toggle{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:1px solid transparent;border-radius:8px;padding:7px 9px;color:var(--ink-dim);font-size:11.5px;text-align:left;transition:background .12s ease,color .12s ease}.palette-cat-toggle:hover{background:var(--bg-elev);color:var(--ink)}.palette-cat-toggle .dot{width:8px;height:8px;border-radius:50%;background:var(--g, var(--cyan));flex-shrink:0}.palette-cat-toggle .cat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-cat-toggle .count{font-size:10px;color:var(--ink-faint);background:var(--bg-elev);border-radius:999px;padding:1px 7px}.palette-cat-toggle svg{color:var(--ink-faint);flex-shrink:0}.palette-cat.open .palette-cat-toggle{color:var(--ink)}.palette-cat-body{padding:2px 0 6px}.palette-cat-body .palette-node{margin:0 0 1px 20px}.palette-node{display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:8px;padding:7px 9px;cursor:grab;transition:background .1s ease,border-color .1s ease}.palette-node:hover{background:var(--bg-elev);border-color:var(--line)}.palette-node:active{cursor:grabbing}.palette-node .p-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--g, var(--cyan)) 15%,transparent);color:var(--g, var(--cyan));flex-shrink:0}.palette-node .p-name{font-size:12px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-node .p-desc{font-size:10px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-hint{padding:8px 12px;border-top:1px solid var(--line);flex-shrink:0}.palette-empty{padding:26px 12px;text-align:center;font-size:10.5px;letter-spacing:1.5px;color:var(--ink-faint)}.canvas{position:relative;flex:1;min-width:0;overflow:hidden}.canvas-flow{position:absolute;top:0;right:0;bottom:0;left:0}.canvas-side-buttons{position:absolute;top:24px;left:24px;z-index:9;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.canvas-sq{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:8px;color:var(--ink-dim);cursor:pointer;box-shadow:var(--shadow-sm);transition:color .12s ease,border-color .12s ease,background .12s ease}.canvas-sq:hover{color:var(--cyan);border-color:var(--cyan-dim)}.canvas-sq.active{color:var(--cyan);border-color:var(--cyan);background:#4fd1ff14}.sticky-menu{width:262px;max-height:min(62vh,460px);display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden}.sticky-menu-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:1.4px;color:var(--ink-dim)}.sticky-menu-head svg{color:var(--amber, #e8b339)}.sticky-menu-close{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;border:none;background:transparent;color:var(--ink-faint);cursor:pointer}.sticky-menu-close:hover{color:var(--ink);background:var(--bg-elev)}.sticky-menu-body{flex:1;min-height:0;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.sticky-menu-empty{font-size:11px;line-height:1.55;color:var(--ink-faint);padding:6px 4px}.sticky-item{border:1px solid var(--line);border-radius:8px;padding:6px 7px;background:var(--bg)}.sticky-item.active{border-color:#e8b33980;background:#e8b3390f}.sticky-item-head{display:flex;align-items:center;gap:6px}.sticky-item-jump{flex:1;min-width:0;text-align:left;font-family:var(--sans);font-size:11.5px;color:var(--ink);background:transparent;border:none;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 0}.sticky-item-del{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--ink-faint);cursor:pointer}.sticky-item-del:hover{color:var(--red);border-color:#e06a6a66}.sticky-item-text{width:100%;margin-top:6px;min-height:60px;resize:vertical;font-family:var(--sans);font-size:11.5px;line-height:1.5;color:var(--ink);background:#0a101d;border:1px solid var(--line);border-radius:6px;padding:6px 8px}.sticky-item-text:focus{outline:none;border-color:var(--amber, #e8b339)}.sticky-item-colors{display:flex;gap:6px;margin-top:6px}.sticky-swatch{width:18px;height:18px;border-radius:5px;border:1px solid var(--line-strong);cursor:pointer}.sticky-swatch.active{border-color:var(--cyan);box-shadow:0 0 0 2px var(--accent-ring)}.sticky-item-sizes{display:flex;align-items:center;gap:5px;margin-top:8px;flex-wrap:wrap}.sticky-size-label{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:9px;letter-spacing:1px;color:var(--ink-faint);margin-right:2px}.sticky-size{min-width:24px;padding:3px 6px;border-radius:6px;border:1px solid var(--line-strong);background:transparent;color:var(--ink-dim);font-size:10.5px;font-family:var(--mono);cursor:pointer}.sticky-size:hover{border-color:var(--cyan);color:var(--ink)}.sticky-size.active{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 0 2px var(--accent-ring)}.sticky-size-current{margin-left:auto;font-family:var(--mono);font-size:9.5px;color:var(--ink-faint)}.sticky-item-hint{margin-top:6px;font-size:10px;color:var(--ink-faint);line-height:1.5}.sticky-add{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;border:none;border-top:1px solid var(--line);background:var(--bg-elev);color:var(--ink-dim);font-family:var(--mono);font-size:10px;letter-spacing:1.2px;cursor:pointer}.sticky-add:hover{color:var(--cyan);background:#4fd1ff0f}.wfnote{position:relative;box-sizing:border-box;min-width:140px;min-height:90px;display:flex;flex-direction:column;border-radius:8px;border:1px solid rgba(255,255,255,.12);padding:10px 12px 14px;box-shadow:0 6px 18px #00000040;font-family:var(--sans);color:#f3ecd9;opacity:.96}.wfnote.selected{border-color:var(--cyan);box-shadow:0 0 0 2px var(--accent-ring),0 6px 18px #00000040}.wfnote-head{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9px;letter-spacing:1.4px;opacity:.65;margin-bottom:6px}.wfnote-body{font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-height:0;overflow:auto}.wfnote-size{margin-left:auto;font-size:9px;letter-spacing:.5px;opacity:.75;visibility:hidden}.wfnote:hover .wfnote-size,.wfnote.selected .wfnote-size{visibility:visible}.wfnote-grip{position:absolute;right:2px;bottom:2px;width:16px;height:16px;cursor:nwse-resize;opacity:.45;background:linear-gradient(135deg,transparent 0 45%,currentColor 45% 55%,transparent 55% 65%,currentColor 65% 75%,transparent 75%);touch-action:none}.wfnote:hover .wfnote-grip{opacity:.9}.wfnote-grip:hover{opacity:1}.wfnote-del{position:absolute;top:6px;right:6px;display:none;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;border:1px solid rgba(255,255,255,.18);background:#00000040;color:#f3ecd9;cursor:pointer}.wfnote:hover .wfnote-del{display:inline-flex}.wfnote-del:hover{color:#ffb4b4;border-color:#e06a6a99}.canvas-toolbar{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:10px;background:var(--bg-panel);border:1px solid var(--line);border-radius:999px;padding:5px 16px;font-size:10px;letter-spacing:1.2px;color:var(--ink-faint);box-shadow:var(--shadow-sm)}.canvas-toolbar b{color:var(--ink);font-weight:600}.canvas-badge{font-size:9.5px;letter-spacing:1px;padding:2px 7px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-dim);white-space:nowrap}.canvas-badge.on{border-color:var(--cyan);color:var(--cyan)}.bf-frame{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.bf-frame:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1px solid var(--line-blue);border-radius:2px}.bf-corner{position:absolute;width:26px;height:26px;border:2px solid rgba(74,125,255,.4)}.bf-corner-tl{top:10px;left:10px;border-right:none;border-bottom:none}.bf-corner-tr{top:10px;right:10px;border-left:none;border-bottom:none}.bf-corner-bl{bottom:10px;left:10px;border-right:none;border-top:none}.bf-corner-br{bottom:10px;right:10px;border-left:none;border-top:none}.edge-bar{position:absolute;top:12px;right:14px;z-index:6;display:flex;align-items:center;gap:12px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:10px;padding:8px 12px;font-size:11px;color:var(--ink-dim);box-shadow:var(--shadow-md)}.edge-bar b{color:var(--cyan);font-weight:600}.canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}.canvas-empty .hint{text-align:center;font-size:11px;letter-spacing:2.5px;color:var(--ink-dim);line-height:2}.canvas-empty .hint .big{display:block;font-size:26px;color:var(--cyan);margin-bottom:6px}.canvas-empty .hint .dim{font-size:9px;letter-spacing:1.5px;color:var(--ink-faint)}.react-flow{background:transparent}.react-flow__node{background:transparent;border:none;padding:0}.react-flow__edge-path{stroke:#3d5080;stroke-width:1.5}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:hover .react-flow__edge-path,.react-flow__connection-path{stroke:var(--cyan);stroke-width:2}.edge-delete-wrap{pointer-events:all}.edge-delete-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg-elev2);color:var(--ink-dim);transition:color .12s ease,border-color .12s ease,background .12s ease}.edge-delete-btn:hover{color:var(--red);border-color:var(--red);background:var(--bg-panel)}.react-flow__handle{width:9px;height:9px;border-radius:50%;background:var(--bg-elev2);border:2px solid var(--cyan);transition:background .12s ease}.react-flow__handle:hover{background:var(--cyan)}.react-flow__controls{border-radius:9px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md)}.react-flow__controls-button{background:var(--bg-panel);border-bottom:1px solid var(--line);color:var(--ink-dim);width:28px;height:28px}.react-flow__controls-button:hover{background:var(--bg-elev2);color:var(--ink)}.react-flow__controls-button svg{fill:currentColor;max-width:12px;max-height:12px}.react-flow__minimap{background:var(--bg-panel);border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:var(--shadow-md)}.react-flow__minimap-mask{cursor:grab}.react-flow__minimap-mask:active{cursor:grabbing}.react-flow__attribution{background:transparent;color:var(--ink-faint)}.react-flow__attribution a{color:var(--ink-faint)}.wfnode{width:196px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:10px;padding:0;box-shadow:var(--shadow-sm);transition:border-color .12s ease,box-shadow .12s ease}.wfnode.selected{border-color:var(--cyan);box-shadow:0 0 0 2px var(--accent-ring),var(--shadow-md)}.wfnode-status-error{border-color:var(--red);box-shadow:0 0 0 2px #e06a6a59,var(--shadow-md)}.wfnode-status-error .wfnode-head{background:#e06a6a0f}.wfnode-status-success{border-color:var(--green)}.wfnode-status-success .wfnode-icon{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.wfnode-status-notrun{opacity:.45}.wfnode-running{border-color:var(--cyan);animation:wfnode-running-glow 1.1s ease-in-out infinite}.wfnode-running .wfnode-icon{background:color-mix(in srgb,var(--cyan) 22%,transparent);color:var(--cyan)}.wfnode-running-ring{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border:2.5px solid rgba(74,125,255,.22);border-top-color:var(--cyan);border-radius:50%;background:var(--bg-panel);box-shadow:var(--shadow-sm);animation:spin .7s linear infinite;z-index:6}.wfnode-badge-running{background:color-mix(in srgb,var(--cyan) 18%,transparent);color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 45%,transparent);animation:wfnode-pulse 1.4s ease-in-out infinite}.wfnode-presence{outline:1px dashed color-mix(in srgb,var(--violet, #a274ff) 65%,transparent);outline-offset:2px}.wfnode-editing{position:absolute;top:-13px;left:8px;display:inline-flex;align-items:center;gap:4px;max-width:calc(100% - 90px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:2px 7px;border-radius:999px;color:#0b0f1c;background:var(--violet, #a274ff);box-shadow:var(--shadow-sm);z-index:7}@keyframes wfnode-running-glow{0%,to{box-shadow:0 0 0 2px #4a7dff1f,var(--shadow-md)}50%{box-shadow:0 0 0 5px #4a7dff47,var(--shadow-md)}}.wfnode-badge-error{background:color-mix(in srgb,var(--red) 20%,transparent);color:var(--red);border:1px solid color-mix(in srgb,var(--red) 50%,transparent);animation:wfnode-pulse 1.4s ease-in-out infinite}.wfnode-badge-success{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green);border:1px solid color-mix(in srgb,var(--green) 45%,transparent)}.wfnode-badge-notrun{background:color-mix(in srgb,var(--ink-faint) 15%,transparent);color:var(--ink-dim);border:1px solid var(--line-strong)}@keyframes wfnode-pulse{0%,to{opacity:1}50%{opacity:.55}}.wfnode-head{display:flex;align-items:center;gap:10px;padding:11px 12px}.wfnode-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c, var(--cyan)) 16%,transparent);color:var(--c, var(--cyan));flex-shrink:0}.wfnode-title{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.25;word-break:break-word}.wfnode-sub{font-size:9px;letter-spacing:1.2px;color:var(--ink-faint);text-transform:uppercase;margin-top:2px}.wfnode-badge{flex-shrink:0;font-size:8.5px;font-weight:700;letter-spacing:1px;padding:3px 6px;border-radius:4px;background:color-mix(in srgb,var(--amber, #f5b942) 18%,transparent);color:var(--amber, #f5b942);border:1px solid color-mix(in srgb,var(--amber, #f5b942) 45%,transparent)}.wfnode-config{border-top:1px solid var(--line);padding:7px 12px;font-size:10.5px;color:var(--ink-dim);line-height:1.6;word-break:break-word}.wfnode-config .k{color:var(--cyan);font-family:var(--mono);font-size:9.5px}.wfnode{position:relative;overflow:visible}.wfnode-footer{position:absolute;top:100%;left:0;right:0;display:flex;justify-content:center;padding-top:5px;opacity:0;visibility:hidden;transform:translateY(-3px);pointer-events:none;transition:opacity .12s ease,transform .12s ease,visibility .12s ease;z-index:20}.wfnode:hover .wfnode-footer,.wfnode:focus-within .wfnode-footer{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.wfnode-del{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;padding:0;border:1px solid color-mix(in srgb,var(--red) 26%,transparent);border-radius:6px;background:color-mix(in srgb,var(--bg-panel) 78%,transparent);color:color-mix(in srgb,var(--red) 72%,var(--ink-faint));opacity:.72;cursor:pointer;transition:opacity .12s ease,background .12s ease,border-color .12s ease,color .12s ease;z-index:5}.wfnode-del:hover,.wfnode-del:focus-visible{opacity:1;background:color-mix(in srgb,var(--red) 12%,var(--bg-panel));border-color:color-mix(in srgb,var(--red) 65%,transparent);color:var(--red)}.wfnode-handle-label{position:absolute;font-size:7.5px;font-family:var(--mono);letter-spacing:1px;color:var(--ink-faint);pointer-events:none}.wfnode-handle-label.src{right:-30px}.wfnode-handle-label.tgt{left:-26px}.inspector-scroll{height:100%;overflow-y:auto}.insp-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.insp-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c, var(--cyan)) 16%,transparent);color:var(--c, var(--cyan))}.insp-title{font-size:12px;font-weight:600;color:var(--ink)}.insp-sub{font-size:9.5px;color:var(--ink-faint);letter-spacing:1px;text-transform:uppercase}.insp-section{padding:12px;border-bottom:1px solid var(--line)}.insp-empty{padding:30px 14px;text-align:center;color:var(--ink-faint);font-size:11px}.insp-empty .big{display:block;font-size:22px;color:var(--cyan);margin-bottom:6px}.insp-hint-box{font-size:11px;color:var(--ink-dim);border:1px dashed var(--line-strong);border-radius:8px;padding:10px 12px;margin:10px 12px}.field{margin-bottom:14px}.field-section{padding:14px 16px;border-bottom:1px solid var(--line)}.field-section:first-child{padding-top:16px}.field-label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-dim);margin-bottom:7px}.field-label .req{color:var(--cyan);font-weight:700}.param-help{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.param-help-btn{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--ink-faint);cursor:help;transition:color .12s ease,border-color .12s ease}.param-help-btn:hover,.param-help-btn.open,.param-help-btn:focus-visible{color:var(--cyan);border-color:var(--cyan);outline:none}.param-help-pop{position:absolute;top:calc(100% + 7px);left:-6px;z-index:60;display:flex;flex-direction:column;gap:6px;width:max-content;max-width:280px;padding:9px 11px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:7px;box-shadow:var(--shadow-md);font-size:11px;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.55;color:var(--ink);white-space:normal;text-align:left;cursor:default}.param-help-text{display:block;color:var(--ink-dim)}.param-help-example{display:flex;align-items:baseline;gap:6px;padding-top:6px;border-top:1px solid var(--line)}.param-help-example-label{font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint)}.param-help-example code{font-family:var(--mono);font-size:10.5px;color:var(--cyan);word-break:break-all}.field-help{font-size:10.5px;color:var(--ink-faint);margin-top:5px;line-height:1.5}.field-json-error{font-size:10.5px;color:var(--red);margin-top:5px}.kv-rows{display:flex;flex-direction:column;gap:6px}.kv-row{display:flex;gap:6px;align-items:center}.kv-row input:first-child{flex:0 0 110px}.kv-del{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;border:1px solid var(--line);background:transparent;color:var(--ink-faint);flex-shrink:0}.kv-del:hover{color:var(--red);border-color:var(--red);background:#e06a6a14}.kv-add{margin-top:8px}.cfg-group{margin-bottom:10px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.cfg-group-head{display:flex;align-items:center;gap:8px;width:100%;background:var(--bg-elev);border:none;color:var(--ink-dim);font-size:11.5px;font-weight:600;letter-spacing:.4px;padding:9px 12px;text-align:left;transition:background .12s ease,color .12s ease}.cfg-group-head:hover{background:var(--bg-elev2);color:var(--ink)}.cfg-group-head svg{color:var(--ink-faint)}.cfg-group-head .cfg-count{margin-left:auto;font-size:9.5px;color:var(--ink-faint);background:var(--bg);border-radius:999px;padding:1px 8px}.cfg-group-body{padding:12px;border-top:1px solid var(--line)}.manual-output{padding-bottom:12px;margin-bottom:12px;border-bottom:1px dashed var(--line-strong)}.manual-output .toggle{align-items:flex-start}.manual-output .toggle-label{display:flex;flex-direction:column;gap:2px;font-weight:600;color:var(--ink)}.manual-output .toggle-label small{font-weight:400;font-size:10.5px;color:var(--ink-faint);line-height:1.4}.manual-output-json{margin-top:14px}.cfg-optional .cfg-group-head{color:var(--ink-faint)}.cfg-optional .cfg-group-head:hover{color:var(--ink)}.cfg-optional .cfg-group-head svg{color:var(--ink-faint)}.cfg-optional .cfg-count{color:var(--cyan);background:var(--accent-soft)}.secret-row{position:relative}.secret-row input{padding-right:34px}.secret-mask{-webkit-text-security:disc}.secret-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);background:transparent;border:none;color:var(--ink-faint);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px}.secret-toggle:hover{color:var(--ink);background:var(--bg-elev)}.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-track{position:relative;width:32px;height:18px;border-radius:999px;background:var(--bg-elev2);border:1px solid var(--line-strong);transition:background .15s ease,border-color .15s ease;flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--ink-dim);transition:transform .15s ease,background .15s ease}.toggle input:checked+.toggle-track{background:var(--cyan);border-color:var(--cyan)}.toggle input:checked+.toggle-track:after{transform:translate(14px);background:#fff}.toggle-label{font-size:11.5px;color:var(--ink-dim)}.insp-footer{padding:12px;border-top:1px solid var(--line);display:flex;gap:8px}.insp-footer .btn{flex:1}.log-console{position:absolute;bottom:10px;left:10px;z-index:7;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden}.log-console-head{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);flex-shrink:0}.log-console-head svg{color:var(--cyan)}.log-console-head span{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;color:var(--ink-dim)}.log-console-body{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;font-family:var(--mono);font-size:11px;background:#080d18}.log-console-resize{position:absolute;z-index:3}.log-console-resize-top{top:-4px;left:0;right:0;height:8px;cursor:ns-resize}.log-console-resize-right{right:-4px;top:0;bottom:0;width:8px;cursor:ew-resize}.log-console-resize-top:hover,.log-console-resize-right:hover{background:transparent}.log-console-grip{position:absolute;display:flex;gap:3px;color:var(--ink-faint);pointer-events:none}.log-console-grip span{width:2px;border-radius:1px;background:var(--ink-faint);opacity:.6;transition:background .12s ease,opacity .12s ease}.log-console-grip-h{top:-3px;left:50%;transform:translate(-50%);flex-direction:row}.log-console-grip-h span{height:3px}.log-console-grip-v{right:-3px;top:50%;transform:translateY(-50%);flex-direction:column}.log-console-grip-v span{width:3px;height:2px}.log-console-resize-top:hover~.log-console-grip-h span,.log-console-resize-right:hover~.log-console-grip-v span{background:var(--cyan);opacity:1}.run-status{font-size:9px!important;letter-spacing:1.5px;border-radius:999px;padding:2px 9px;border:1px solid var(--line);color:var(--ink-faint)!important}.run-status.success{color:var(--green)!important;border-color:#45c98a66}.run-status.error{color:var(--red)!important;border-color:#e06a6a66}.run-status.waiting,.run-status.stopped{color:var(--amber, #e8b339)!important;border-color:#e8b33980}.run-waiting{font-family:var(--sans);border:1px solid rgba(232,179,57,.4);background:#e8b3390f;border-radius:8px;padding:12px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.run-waiting-title{font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--amber, #e8b339)}.run-waiting-msg{font-size:11px;color:var(--ink-dim);line-height:1.5}.run-waiting-url{display:flex;align-items:center;gap:8px;width:100%}.run-waiting-url code{font-family:var(--mono);font-size:11px;background:#0a101d;border:1px solid var(--line);border-radius:6px;padding:5px 8px;flex:1;overflow-x:auto;white-space:nowrap}.run-waiting-hint{font-size:10px;color:var(--ink-faint);letter-spacing:.3px}.run-waiting-actions{display:flex;gap:8px;align-items:center}.run-input-area{width:100%;min-height:96px;resize:vertical;font-family:var(--mono);font-size:11px;line-height:1.6;color:var(--ink);background:#0a101d;border:1px solid var(--line);border-radius:7px;padding:8px 10px}.run-input-area:focus{outline:none;border-color:var(--cyan)}.log-console-tabs{display:flex;gap:2px;align-items:center}.log-console-head .log-tab{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;letter-spacing:1.2px;color:var(--ink-faint);background:transparent;border:1px solid transparent;border-radius:6px;padding:3px 9px;cursor:pointer}.log-console-head .log-tab:hover{color:var(--ink)}.log-console-head .log-tab.active{color:var(--cyan);border-color:#4fd1ff66;background:#4fd1ff12}.log-console-head .log-tab-count{font-size:9px;color:var(--ink-faint);border:1px solid var(--line);border-radius:999px;padding:0 5px;letter-spacing:0}.log-chat{display:flex;flex-direction:column;gap:8px}.chat-msg{max-width:78%;border-radius:9px;padding:7px 10px;border:1px solid var(--line);background:#0a101d;font-family:var(--sans)}.chat-msg.user{align-self:flex-end;border-color:#4fd1ff59;background:#4fd1ff14}.chat-msg.assistant{align-self:flex-start}.chat-msg-role{font-family:var(--mono);font-size:8.5px;letter-spacing:1.2px;color:var(--ink-faint);margin-bottom:3px}.chat-msg-text{font-size:12px;line-height:1.55;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.chat-compose{display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid var(--line);position:sticky;bottom:0;background:#080d18}.chat-compose input{flex:1;font-family:var(--sans);font-size:12px}.run-chat-section{border-bottom:1px dashed var(--line-strong);padding-bottom:8px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}.run-chat-section .chat-msg-text{font-family:var(--sans)}.run-files{margin-bottom:8px}.run-file{font-family:var(--mono);font-size:11px;color:var(--ink-dim);background:#45c98a0f;border:1px solid rgba(69,201,138,.25);border-radius:6px;padding:5px 8px;margin-bottom:4px;overflow-wrap:anywhere}.run-meta{display:flex;gap:10px;font-size:9px!important;letter-spacing:.5px!important;color:var(--ink-faint)!important}.run-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:none;background:transparent;color:var(--ink-faint)}.run-close:hover{color:var(--ink);background:var(--bg-elev)}.run-body{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;font-family:var(--mono);font-size:11px}.run-entry{margin-bottom:8px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.run-entry-head{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;color:var(--ink);font-size:11px;background:var(--bg-elev);transition:background .12s ease}.run-entry-head:hover{background:var(--bg-elev2)}.run-entry-head .dot{width:7px;height:7px;border-radius:50%;background:var(--ink-faint);flex-shrink:0}.run-entry-head .dot.ok{background:var(--green)}.run-entry-head .dot.err{background:var(--red)}.run-entry-head .dur{margin-left:auto;font-size:10px;color:var(--ink-faint)}.run-entry-body{padding:10px;border-top:1px solid var(--line);background:#080d18}.run-io-label{font-size:8.5px;letter-spacing:1.5px;color:var(--ink-faint);margin:8px 0 4px}.run-pre{font-family:var(--mono);font-size:10.5px;line-height:1.55;color:var(--ink-dim);background:#0a101d;border:1px solid var(--line);border-radius:7px;padding:8px 10px;overflow:auto;max-height:220px;white-space:pre-wrap;word-break:break-word}.run-entry.err .run-entry-body .err-msg{font-size:11px;color:var(--red);margin-bottom:6px;line-height:1.5}.err-code{font-family:var(--mono);font-size:9.5px;color:var(--red);border:1px solid rgba(224,106,106,.4);border-radius:999px;padding:1px 7px}.err-code-inline{font-family:var(--mono);font-size:10px;color:var(--amber);margin-right:4px}.err-hint{font-family:var(--sans);font-size:10.5px;color:var(--ink-faint);margin-bottom:8px}.run-error-summary{font-family:var(--sans);font-size:11px;color:var(--red);border:1px solid rgba(224,106,106,.35);border-radius:8px;padding:8px 10px;margin-bottom:10px}.run-error-summary b{font-weight:700}.run-console{font-family:var(--mono);font-size:11px;line-height:1.6;color:var(--ink-dim);background:#0a101d;border:1px solid var(--line);border-radius:7px;padding:10px;white-space:pre-wrap;word-break:break-word}.run-loading{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:1.5px;color:var(--ink-dim)}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--cyan);animation:spin .8s linear infinite;display:inline-block;flex-shrink:0}.run-btn-spinner{width:11px;height:11px;border-width:2px;border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.agents{flex:1;min-height:0;display:flex}.agents-side{width:250px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-panel);border-right:1px solid var(--line)}.agents-side-head{padding:14px;border-bottom:1px solid var(--line)}.agents-list{flex:1;min-height:0;overflow-y:auto;padding:8px}.agent-card{border:1px solid transparent;border-radius:9px;padding:10px 11px;cursor:pointer;margin-bottom:2px;transition:background .1s ease,border-color .1s ease}.agent-card:hover{background:var(--bg-elev)}.agent-card.active{background:var(--accent-soft);border-color:var(--cyan-dim)}.agent-card-name{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink)}.agent-card-name .bot-mini{color:var(--cyan)}.agent-card-desc{font-size:10.5px;color:var(--ink-faint);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-card-meta{display:flex;align-items:center;gap:8px;margin-top:7px;font-size:9.5px;color:var(--ink-faint)}.agent-card-meta .tag{color:var(--cyan);border:1px solid var(--line-strong);border-radius:999px;padding:1px 7px}.agent-card .del{margin-left:auto;background:transparent;border:none;color:var(--ink-faint);padding:2px;border-radius:5px;display:flex}.agent-card .del:hover{color:var(--red)}.agent-main{flex:1;min-width:0;display:flex;flex-direction:column}.agent-tabs{display:flex;gap:4px;padding:10px 14px 0;border-bottom:1px solid var(--line);flex-shrink:0}.agent-tab{background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;color:var(--ink-dim);font-size:11px;font-weight:500;letter-spacing:.5px;padding:8px 16px;transition:color .12s ease,background .12s ease}.agent-tab:hover{color:var(--ink);background:var(--bg-elev)}.agent-tab.active{color:var(--ink);background:var(--bg-panel);border-color:var(--line);margin-bottom:-1px}.agent-body{flex:1;min-height:0;display:flex}.agent-config{flex:1;min-width:0;overflow-y:auto;padding:18px 22px}.agent-config .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.agent-config .field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.agent-config .divider{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--ink-faint);font-size:9.5px;letter-spacing:2px}.agent-config .divider:before,.agent-config .divider:after{content:"";flex:1;height:1px;background:var(--line)}.agent-config .divider span{white-space:nowrap}.agent-config .big-textarea{min-height:130px;font-family:var(--mono);font-size:11.5px;line-height:1.6}.agent-savebar{display:flex;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--line);background:var(--bg-panel);flex-shrink:0}.agent-save-status{font-size:10.5px;color:var(--green);letter-spacing:.5px}.agent-save-status.err{color:var(--red)}.chat{flex:1;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--bg)}.chat-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);flex-shrink:0}.chat-head .info{font-size:12px;font-weight:600;color:var(--ink)}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.msg{display:flex;flex-direction:column;gap:4px;max-width:82%}.msg.user{align-self:flex-end;align-items:flex-end}.msg.assistant{align-self:flex-start;align-items:flex-start}.msg-label{font-size:9px;letter-spacing:1.2px;color:var(--ink-faint);margin-bottom:-1px}.msg.user .msg-label{color:var(--cyan)}.msg-bubble{font-size:12px;line-height:1.55;border-radius:12px;padding:9px 13px;color:var(--ink);white-space:pre-wrap;word-break:break-word}.msg.user .msg-bubble{background:var(--cyan);border-bottom-right-radius:4px;color:#fff}.msg.assistant .msg-bubble{background:var(--bg-elev);border:1px solid var(--line);border-bottom-left-radius:4px;color:var(--ink)}.msg-tools{display:flex;flex-wrap:wrap;gap:5px}.msg-tool{font-size:9.5px;font-family:var(--mono);color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:2px 8px;background:var(--bg-panel)}.msg-tool .tool-name{color:var(--cyan)}.msg-tool .tool-out{color:var(--ink-faint)}.chat-input{padding:12px 16px;border-top:1px solid var(--line);flex-shrink:0;background:var(--bg-panel)}.chat-input textarea{min-height:44px;max-height:160px;resize:vertical}.typing{display:inline-flex;gap:4px;padding:4px 2px}.typing span{width:5px;height:5px;border-radius:50%;background:var(--ink-faint);animation:blink 1.2s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-faint);font-size:11px;letter-spacing:1.5px}.chat-empty .big{font-size:24px;color:var(--cyan);margin-bottom:8px}.chat-error{font-size:11px;color:var(--red);padding:8px 16px;border-top:1px solid var(--line)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070eb8;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fade-in .18s ease both}.modal{background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-lg);width:520px;animation:modal-in .22s cubic-bezier(.22,1,.36,1) both;max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.modal-title{font-size:14px;font-weight:700;color:var(--ink)}.modal-sub{font-size:11px;color:var(--ink-faint);margin-top:2px}.modal-x{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--ink-faint);transition:background .12s ease,color .12s ease}.modal-x:hover{background:var(--bg-elev);color:var(--ink)}.modal-actions{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--line);justify-content:flex-end;flex-shrink:0}.modal-node-config{width:min(1320px,calc(100vw - 40px));height:min(820px,calc(100vh - 60px))}.node-modal-columns{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(340px,1.15fr) minmax(280px,.95fr);min-height:0;height:100%}.node-modal-input,.node-modal-setup,.node-modal-output{min-width:0;min-height:0;overflow-y:auto}.node-modal-input,.node-modal-setup{border-right:1px solid var(--line)}.node-modal-input{background:#0d1527}.node-modal-setup{background:var(--bg)}.node-modal-output{background:#0d1527}.node-modal-column-title{position:sticky;top:0;z-index:2;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-panel);color:var(--cyan);font-size:10px;font-weight:700;letter-spacing:1.6px}.node-output-panel{padding:14px 16px 22px}.node-output-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.node-output-status,.node-output-count{font-size:9.5px;letter-spacing:1px}.node-output-status.ready{color:var(--green)}.node-output-status.empty,.node-output-count{color:var(--ink-faint)}.node-output-origin{display:flex;flex-direction:column;gap:3px;padding:10px;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg-elev)}.node-output-origin .field-label{margin-bottom:1px}.node-output-origin b{color:var(--ink);font-size:12px}.node-output-origin code,.node-output-file-meta code{font-family:var(--mono);color:var(--cyan);font-size:10px;word-break:break-all}.node-output-json{max-height:350px;overflow:auto;margin:0;padding:11px;border:1px solid var(--line);border-radius:8px;background:#080e1b;color:var(--ink-dim);font-family:var(--mono);font-size:10.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.node-output-empty{padding:14px 10px;border:1px dashed var(--line-strong);border-radius:8px;color:var(--ink-faint);font-size:11px;line-height:1.5}.node-output-files{margin-top:14px}.node-output-files-title{margin-bottom:7px;color:var(--cyan);font-size:9px;font-weight:700;letter-spacing:1.3px}.node-output-file{padding:9px 10px;margin-top:6px;border:1px solid var(--line);border-radius:7px;background:var(--bg-elev)}.node-output-file-name{color:var(--ink);font-size:11.5px;font-weight:600;word-break:break-word}.node-output-file-meta{display:flex;flex-direction:column;gap:2px;margin-top:4px;color:var(--ink-faint);font-size:9.5px;line-height:1.45}.node-output-file-source{margin-top:5px;color:var(--ink-faint);font-size:9px;letter-spacing:.5px}@media (max-width: 820px){.modal-node-config{height:calc(100vh - 30px)}.node-modal-columns{display:flex;flex-direction:column;height:auto}.node-modal-input,.node-modal-setup,.node-modal-output{overflow:visible;border-right:none;border-bottom:1px solid var(--line)}.node-modal-input{max-height:34%;overflow-y:auto;order:1}.node-modal-setup{flex:1;min-height:260px;overflow-y:auto;order:2}.node-modal-output{max-height:42%;overflow-y:auto;order:3}}.modal-workflow{width:560px}.exec-mode-row{display:flex;flex-direction:column;gap:8px;margin:10px 12px 4px}.exec-mode-option{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:10px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--bg);color:var(--ink-dim);cursor:pointer;font:inherit}.exec-mode-option:hover:not(:disabled){border-color:var(--cyan)}.exec-mode-option.active{border-color:var(--cyan);color:var(--ink);box-shadow:inset 0 0 0 1px var(--cyan)}.exec-mode-option.locked{opacity:.6;cursor:not-allowed}.exec-mode-option span{display:flex;flex-direction:column;gap:2px}.exec-mode-option b{font-size:12.5px;color:inherit;display:inline-flex;align-items:center;gap:6px}.exec-mode-option small{font-size:10.5px;color:var(--ink-faint);line-height:1.5}.exec-mode-option>svg{margin-top:2px;flex-shrink:0}.exec-mode-pro{display:inline-flex;align-items:center;gap:3px;font-style:normal;font-size:9px;letter-spacing:1px;color:var(--cyan);border:1px solid var(--cyan);border-radius:3px;padding:1px 4px}.exec-loop-toggle{display:flex;align-items:center;gap:8px;margin:10px 12px 0;cursor:pointer;font-size:12px;color:var(--ink)}.exec-loop-toggle-text{color:var(--ink-dim)}.exec-loop-fields{margin:12px 12px 0}.exec-loop-fields input[disabled]{opacity:.55;cursor:not-allowed}.exec-pro-note{display:flex;align-items:center;justify-content:space-between;gap:10px}.exec-continuous{display:flex;align-items:center;gap:8px;margin:2px 0 10px;font-size:12px;color:var(--ink);cursor:pointer}.exec-continuous.locked{opacity:.65;cursor:not-allowed}.exec-continuous input{cursor:inherit}.modal-settings{width:640px;position:relative}.settings-tabs{display:flex;gap:4px;padding:12px 18px 0;border-bottom:1px solid var(--line);flex-shrink:0}.settings-tab{background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;color:var(--ink-dim);font-size:11px;font-weight:500;padding:7px 14px;transition:color .12s ease,background .12s ease}.settings-tab:hover{color:var(--ink);background:var(--bg-elev)}.settings-tab.active{color:var(--ink);background:var(--bg-panel);border-color:var(--line);margin-bottom:-1px}.settings-tab .count{font-size:9px;color:var(--ink-faint);border:1px solid var(--line);border-radius:999px;padding:0 5px;margin-left:4px}.settings-body{flex:1;min-height:0;overflow-y:auto;padding:16px 18px}.settings-intro{font-size:11.5px;color:var(--ink-dim);margin-bottom:16px;line-height:1.6}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.settings-row-info{min-width:0}.settings-row-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.settings-row-title{font-size:12.5px;font-weight:600;color:var(--ink)}.settings-row-sub{font-size:10.5px;color:var(--ink-faint);margin-top:2px}.settings-number input{width:90px}.settings-contact{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--cyan) 30%,transparent);border-radius:6px;background:color-mix(in srgb,var(--cyan) 6%,transparent)}.settings-contact .settings-row-title{display:flex;align-items:center;gap:6px}.settings-contact .btn{flex-shrink:0}.settings-section-head{font-size:10px;font-weight:600;letter-spacing:1.6px;color:var(--cyan);text-transform:uppercase;margin:18px 0 8px}.settings-storage{font-size:11.5px;color:var(--ink-dim);padding:8px 0}.settings-storage code{font-family:var(--mono);font-size:10.5px;color:var(--cyan);background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:1px 6px}.settings-docs{font-size:11.5px;color:var(--ink-dim);line-height:1.65}.settings-docs h4,.settings-docs h5{font-family:var(--sans);font-weight:700;color:var(--cyan);letter-spacing:.4px}.settings-docs p{margin:0 0 6px}.doc-list{margin:4px 0 10px;padding-left:18px}.doc-list.doc-ol{list-style:decimal}.doc-list li{font-size:11px;margin:3px 0}.doc-note{border-left:3px solid var(--cyan);background:color-mix(in srgb,var(--cyan) 8%,transparent);border-radius:0 7px 7px 0;padding:8px 12px;margin:6px 0 10px;font-size:11px;line-height:1.6}.doc-note-warn{border-left-color:var(--amber, #e8b339);background:color-mix(in srgb,var(--amber, #e8b339) 8%,transparent)}.doc-table-wrap{overflow-x:auto;margin:6px 0 12px;border:1px solid var(--line);border-radius:8px}.doc-table{width:100%;border-collapse:collapse;font-size:10.5px;line-height:1.5}.doc-table th{text-align:left;font-weight:700;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--cyan);background:var(--bg-elev);padding:7px 10px;white-space:nowrap}.doc-table td{border-top:1px solid var(--line);padding:6px 10px;color:var(--ink-dim);vertical-align:top}.doc-table td code{white-space:nowrap}.doc-code{font-family:var(--mono);font-size:10.5px;color:var(--cyan);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px 12px;overflow-x:auto;white-space:pre}.settings-docs strong{color:var(--ink);font-weight:600}.settings-docs code{font-family:var(--mono);font-size:10px;color:var(--cyan);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}.doc-card{border:1px solid var(--line);border-radius:9px;background:var(--bg-elev);padding:10px 12px}.doc-card-title{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--cyan);margin-bottom:5px}.doc-card-body{font-size:10.5px;color:var(--ink-dim);line-height:1.55}.doc-section{padding:9px 0 9px 14px;border-left:2px solid var(--line);margin-bottom:4px}.doc-section h4{margin:0 0 4px;font-size:11.5px;font-weight:600;color:var(--ink)}.doc-section p{margin:0;font-size:11px}.steps{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}.step{display:flex;gap:12px;align-items:flex-start}.step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#7dd3fc1f;border:1px solid var(--cyan-dim);color:var(--cyan);font-family:var(--mono);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.step-title{font-size:12px;font-weight:600;color:var(--ink)}.step-text{font-size:11px;color:var(--ink-dim);margin-top:1px}.modal-welcome{width:460px;max-height:90vh;display:flex;flex-direction:column}.welcome-actions{display:flex;align-items:center;gap:8px;padding:14px 18px;border-top:1px solid var(--line);flex-shrink:0}.help-popover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#04081280;display:flex;align-items:flex-start;justify-content:center;padding-top:70px}.help-panel{width:420px;background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:0 20px 60px #00000080}.help-panel-title{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--cyan);margin-bottom:12px}.help-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--ink-dim)}.help-row kbd{font-family:var(--mono);font-size:10px;color:var(--cyan);background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:2px 6px;white-space:nowrap}.help-hint{font-size:10.5px;color:var(--ink-faint);line-height:1.6;margin-top:12px}.settings-account-form{display:flex;flex-direction:column;gap:12px}.settings-account-msg{font-size:11.5px;border-radius:7px;padding:8px 10px;margin:12px 0}.settings-account-msg.ok{color:var(--green);border:1px solid rgba(69,201,138,.4)}.settings-account-msg.err{color:var(--red);border:1px solid rgba(224,106,106,.5)}.settings-hint{font-size:10.5px;color:var(--ink-faint);margin-top:8px}.settings-hint.err{color:var(--red)}.settings-err-toolbar{display:flex;gap:10px;margin-bottom:14px;align-items:center}.settings-err-search{position:relative;flex:1}.settings-err-search svg{position:absolute;left:9px;top:8px;color:var(--ink-faint)}.settings-err-search input{padding-left:30px}.err-list{display:flex;flex-direction:column;gap:6px}.err-item{border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:border-color .12s ease}.err-item.open{border-color:var(--cyan-dim)}.err-item-head{display:flex;align-items:center;gap:10px;width:100%;background:var(--bg-elev);border:none;padding:9px 12px;text-align:left;color:var(--ink);font-size:11.5px;transition:background .12s ease}.err-item-head:hover{background:var(--bg-elev2)}.err-item-code{font-family:var(--mono);font-size:10px;color:var(--red);background:#e06a6a1a;border:1px solid rgba(224,106,106,.3);border-radius:6px;padding:2px 7px;flex-shrink:0}.err-item-short{color:var(--ink-dim);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.err-chev{margin-left:auto;color:var(--ink-faint);flex-shrink:0}.err-item-body{padding:12px;border-top:1px solid var(--line);background:var(--bg)}.err-item-desc{font-size:11.5px;color:var(--ink-dim);line-height:1.6;margin-bottom:10px}.err-item-tips-title{font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}.err-item-tips ol{margin:0;padding-left:18px;font-size:11px;color:var(--ink-dim);line-height:1.7}.node-modal-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.node-modal-title-wrap{min-width:0;flex:1}.node-modal-title{font-size:15px;font-weight:700;color:var(--ink)}.node-modal-head .modal-x{margin-left:0}.node-modal-body{flex:1;min-height:0;overflow:hidden;background:var(--bg)}.node-modal-footer{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);flex-shrink:0}.node-modal-footer .btn:last-child{margin-left:auto}.in-upstream{padding:14px 16px;border-bottom:1px solid var(--line)}.in-upstream-label{font-size:9.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}.in-upstream-label .dim{color:var(--ink-faint);font-weight:400}.in-upstream-entry{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:8px}.in-upstream-entry:last-child{margin-bottom:0}.in-upstream-head{display:flex;align-items:center;gap:8px;width:100%;background:var(--bg-elev);border:none;padding:8px 11px;text-align:left;color:var(--ink);font-size:11.5px;transition:background .12s ease}.in-upstream-head:hover{background:var(--bg-elev2)}.in-upstream-head .chev{color:var(--ink-faint);flex-shrink:0}.in-upstream-head .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.in-upstream-head .tag{margin-left:auto;font-size:9px;letter-spacing:1px;color:var(--ink-faint);border:1px solid var(--line);border-radius:999px;padding:1px 6px;flex-shrink:0}.in-upstream-entry.open .in-upstream-head .tag{color:var(--cyan);border-color:var(--cyan-dim)}.in-upstream-body{padding:10px;border-top:1px solid var(--line);background:var(--bg)}.input-chips{display:flex;flex-wrap:wrap;gap:5px}.input-chip{font-size:10.5px;color:var(--ink-dim);border:1px solid var(--line-strong);border-radius:999px;padding:3px 9px;background:var(--bg-panel);transition:background .12s ease,color .12s ease,border-color .12s ease}.input-chip:hover{border-color:var(--cyan-dim);color:var(--ink)}.input-chip.active{background:var(--accent-soft);border-color:var(--cyan);color:var(--ink)}.input-producers{display:flex;flex-direction:column;gap:12px}.input-producer{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.input-producer-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.input-producer-head .name{font-size:11.5px;font-weight:600;color:var(--ink)}.input-producer-head .tag{margin-left:auto;font-size:9px;letter-spacing:1px;color:var(--ink-faint);border:1px solid var(--line);border-radius:999px;padding:1px 6px}.input-producer .input-chips{margin-top:6px}.input-field-empty{font-size:10.5px;color:var(--ink-faint);padding:4px 0}.input-scope-note{font-size:10px;color:var(--ink-faint);border-left:2px solid var(--line-strong);padding:4px 10px;margin-top:8px;line-height:1.5}.field-preview{font-size:11px;color:var(--ink-dim);background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-top:6px}.field-preview.ok{border-color:#45c98a66}.field-preview .label{display:block;font-size:9px;letter-spacing:1.4px;color:var(--ink-faint);text-transform:uppercase;margin-bottom:4px}.field-preview .muted{color:var(--ink-faint)}.field-preview code{font-family:var(--mono);font-size:10.5px;color:var(--cyan);word-break:break-word}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);z-index:200;display:inline-flex;align-items:center;gap:9px;max-width:min(520px,calc(100vw - 32px));background:var(--bg-elev2);border:1px solid var(--cyan-dim);border-radius:10px;box-shadow:var(--shadow-lg);color:var(--ink);font-size:12px;padding:11px 15px;animation:slidein .18s ease}.toast-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent-soft);color:var(--cyan);font-size:11px;font-weight:700;flex:0 0 auto}.toast.err .toast-mark{background:#e06a6a24;color:var(--red)}.toast.err{border-color:#e06a6a99}@keyframes slidein{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.public-app{min-height:100%;height:100%;display:flex;flex-direction:column;overflow:auto}.public-topbar{position:sticky;top:0}.public-nav{opacity:.86}.public-locked-nav{gap:6px}.public-locked-nav svg:last-child{color:var(--ink-faint)}.public-auth-button{white-space:nowrap}.public-main{width:min(1120px,100%);margin:0 auto;padding:28px 30px 56px}.public-hero{position:relative;min-height:390px;display:flex;flex-direction:column;justify-content:center;padding:48px 0 42px;border-bottom:1px solid var(--line-blue)}.public-hero:before,.public-hero:after{content:"";position:absolute;width:26px;height:26px;border:1.5px solid var(--cyan-dim);opacity:.65;pointer-events:none}.public-hero:before{top:18px;left:-2px;border-right:none;border-bottom:none}.public-hero:after{bottom:18px;right:-2px;border-left:none;border-top:none}.public-kicker{display:flex;align-items:center;gap:8px;color:var(--cyan);font-size:10px;font-weight:600;letter-spacing:1.8px}.public-hero h1{max-width:760px;margin:18px 0 12px;color:var(--ink);font-size:clamp(30px,5vw,54px);line-height:1.08;letter-spacing:0}.public-lede{max-width:680px;margin:0;color:var(--ink-dim);font-size:16px;line-height:1.65}.public-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:26px}.public-action-note{color:var(--ink-faint);font-size:11px}.public-hero-meta{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:34px;color:var(--ink-faint);font-size:11px}.public-hero-meta span{display:inline-flex;align-items:center;gap:6px}.public-hero-meta svg{color:var(--cyan)}.public-preview-section{padding:38px 0 26px}.public-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.public-section-head h2{margin:5px 0 0;font-size:22px;font-weight:650;letter-spacing:0}.public-section-code{color:var(--ink-faint);font-family:var(--mono);font-size:9px;letter-spacing:1.4px}.public-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-feature{min-height:210px;padding:18px;background:var(--bg-panel);border:1px solid var(--line);border-radius:8px}.public-feature-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--cyan);background:var(--accent-soft);border:1px solid var(--line-strong);border-radius:8px}.public-feature h3{margin:16px 0 6px;color:var(--ink);font-size:14px}.public-feature p{min-height:66px;margin:0;color:var(--ink-dim);font-size:11.5px;line-height:1.6}.public-feature-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:0;color:var(--cyan);background:transparent;border:0;font-size:11px}.public-feature-link:hover{color:var(--ink)}.public-boundary{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px dashed var(--line-strong);color:var(--ink-dim);font-size:11.5px}.public-boundary svg{flex:0 0 auto;color:var(--green);margin-top:2px}.public-boundary strong,.public-boundary span{display:block}.public-boundary strong{color:var(--ink);margin-bottom:3px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{position:relative;width:100%;max-width:400px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:12px;padding:30px 28px 22px;box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--line-blue)}.login-card:before,.login-card:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(74,125,255,.45);pointer-events:none}.login-card:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.login-card:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.public-app>.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;min-height:100vh;background:#04070ec7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.login-close{position:absolute;top:10px;right:10px;z-index:1}.login-brand{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:22px;-webkit-user-select:none;user-select:none}.login-brand-row{display:flex;align-items:center;gap:9px}.login-logo{height:30px;width:auto;display:block}.login-brand-name{font-size:16px;font-weight:700;letter-spacing:3px;color:var(--ink)}.login-brand-tag{font-size:9px;letter-spacing:1.2px;color:var(--ink-faint);text-align:center}.login-titleblock{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:18px;padding:5px 9px;border:1px solid var(--line-blue);border-radius:4px;font-family:var(--mono);font-size:8px;letter-spacing:1.6px;color:var(--ink-faint);text-transform:uppercase}.login-toggle{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.login-tab{flex:1;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ink-dim);font-size:11px;letter-spacing:1.6px;padding:9px 10px;cursor:pointer;transition:color .12s ease,border-color .12s ease}.login-tab:hover{color:var(--ink)}.login-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}.login-form{display:flex;flex-direction:column;gap:12px}.login-submit{margin-top:6px;justify-content:center;width:100%;padding:11px;font-size:12px;letter-spacing:1.5px}.login-error{color:var(--red);font-size:11.5px;border:1px solid rgba(224,106,106,.5);border-radius:7px;padding:8px 10px}.login-notice{color:var(--green);font-size:11.5px;border:1px solid rgba(69,201,138,.4);border-radius:7px;padding:8px 10px}.login-switch{display:block;margin:16px auto 0;background:transparent;border:none;color:var(--ink-faint);font-size:11px;cursor:pointer}.login-switch b{color:var(--cyan);font-weight:600}.login-foot{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}@media (max-width: 760px){.public-main{padding:18px 18px 40px}.public-topbar{gap:10px;padding:0 12px}.public-topbar .brand-tag,.public-topbar .selfhosted,.public-nav{display:none}.public-auth-button{padding:6px 9px;font-size:11px}.public-hero{min-height:430px;padding:42px 0 30px}.public-hero h1{font-size:34px}.public-lede{font-size:14px}.public-feature-grid{grid-template-columns:1fr}.public-feature,.public-feature p{min-height:0}.public-section-head{align-items:flex-start;flex-direction:column}}@media (max-width: 1040px){.topbar{gap:12px;padding:0 12px}.brand-tag,.selfhosted,.topbar-user{display:none}.navbtn{padding:0 9px}.topbar-right{gap:6px}.topbar-settings{padding:5px 7px}.chip{padding-inline:7px}.dashboard,.community{padding:22px 20px 34px}}@media (max-width: 720px){body{overflow:auto}.topbar{min-height:52px;height:auto;flex-wrap:wrap;padding:8px 12px 0}.brand-name{font-size:12px}.topnav{order:3;width:100%;height:38px;overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.navbtn{flex:1 0 auto;justify-content:center;padding:0 11px;font-size:11px}.topbar-right{margin-left:auto}.topbar-settings:first-child{font-size:0}.topbar-settings:first-child svg{margin:0}.chip{display:none}.dashboard,.community{padding:18px 14px 28px}.dash-head{align-items:flex-start;flex-direction:column;margin-bottom:17px}.dash-title{font-size:18px}.dash-actions{width:100%}.dash-actions .btn{flex:1}.wf-grid{grid-template-columns:1fr}.community-toolbar{align-items:stretch;flex-direction:column;gap:10px}.community-search{max-width:none}.agents{flex-direction:column;overflow:auto}.agents-side{width:100%;max-height:220px;border-right:none;border-bottom:1px solid var(--line)}.agent-config{padding:16px 14px}.agent-config .field-row,.agent-config .field-row-3{grid-template-columns:1fr;gap:0}.agent-config .field-row-3 .field[style*=grid-column]{grid-column:auto!important}.agent-savebar{align-items:flex-start;flex-direction:column;padding:12px 0}.chat-head,.chat-input{padding-inline:12px}.chat-messages{padding:12px}.msg{max-width:94%}.pricing-grid{grid-template-columns:1fr}.pricing-card{max-width:none}.modal-backdrop{align-items:flex-start;overflow-y:auto;padding:10px}.modal,.modal-workflow,.modal-settings,.modal-welcome{width:100%;max-width:none;max-height:calc(100vh - 20px)}.help-panel{width:calc(100vw - 28px)}.log-console{left:8px;bottom:8px;width:calc(100% - 16px)!important;max-width:calc(100% - 16px)}.run-meta{display:none}}.topbar-user{font-size:11px;letter-spacing:.5px;color:var(--ink-dim);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-import-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0a0f1dbf;border:2px dashed var(--cyan);pointer-events:none}.drop-import-box{font-size:14px;letter-spacing:2px;color:var(--ink);border:1px solid var(--line-strong);background:var(--bg-elev);padding:22px 34px;border-radius:10px}.drop-import-box small{display:block;margin-top:6px;font-size:10px;letter-spacing:1.5px;color:var(--ink-faint)}.community{flex:1;min-height:0;overflow-y:auto;padding:26px 30px 40px}.community-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:20px}.community-search{position:relative;flex:1;max-width:520px}.community-search input{width:100%}.community-card .wf-card-head{align-items:center}.community-card .tag.dim{color:var(--ink-faint);border-color:var(--line-strong);letter-spacing:.5px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,420px));justify-content:start;gap:16px}.pricing-card{background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:14px;padding:26px 24px;max-width:420px;position:relative;box-shadow:inset 0 0 0 1px var(--line-blue)}.pricing-card:before,.pricing-card:after{content:"";position:absolute;width:20px;height:20px;border:2px solid rgba(74,125,255,.4);pointer-events:none}.pricing-card:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.pricing-card:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.pricing-soon-btn{background:var(--bg-elev);border-color:var(--line-strong);color:var(--ink-dim);opacity:1;pointer-events:none}.pricing-soon-note{margin-top:14px;font-size:11.5px;line-height:1.6;color:var(--ink-dim);text-align:center;border:1px dashed var(--line-strong);border-radius:8px;padding:10px 12px}.pricing-soon-note b{color:var(--ink)}.pricing-card.pricing-active{border-color:color-mix(in srgb,var(--green) 45%,transparent)}.pricing-badge{position:absolute;top:14px;right:14px;font-size:10px;letter-spacing:1.5px;color:var(--green);border:1px solid color-mix(in srgb,var(--green) 50%,transparent);border-radius:999px;padding:3px 9px}.pricing-icon{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--cyan) 18%,transparent);color:var(--cyan);margin-bottom:14px}.pricing-name{font-size:18px;font-weight:700;color:var(--ink)}.pricing-price{font-size:26px;font-weight:700;color:var(--cyan);margin:4px 0 6px}.pricing-price small{display:block;font-size:11.5px;font-weight:400;color:var(--ink-faint);margin-top:3px}.pricing-meta{font-size:12px;color:var(--ink-dim);margin:8px 0 14px}.pricing-perks{list-style:none;margin:16px 0 20px;padding:0;color:var(--ink-dim);font-size:12.5px}.pricing-perks li{display:flex;align-items:flex-start;gap:8px;padding:4px 0}.pricing-cta{width:100%;padding:11px;font-size:13px}.pricing-current{display:flex;align-items:center;justify-content:center;width:100%;padding:10px;border-radius:8px;font-size:12.5px;opacity:.9;pointer-events:none}.pricing-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;font-size:11px;color:var(--ink-faint)}.banner{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line-strong);border-radius:10px;padding:10px 14px;font-size:12.5px;margin-bottom:18px}.banner-ok{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent);background:color-mix(in srgb,var(--green) 8%,transparent)}.banner-err{color:#e8b0b0;border-color:color-mix(in srgb,var(--red) 45%,transparent);background:color-mix(in srgb,var(--red) 8%,transparent)}.banner .spin,.pricing-cta .spin{animation:spin .8s linear infinite}.pricing-meta .tag{font-size:9.5px;letter-spacing:1px;color:var(--cyan);border:1px solid var(--line-strong);border-radius:999px;padding:2px 8px;margin-left:6px}.wf-card:not(.selected) .wf-card-select{opacity:0;pointer-events:auto}.wf-card:hover .wf-card-select{opacity:1}.wf-card.selected .wf-card-select{opacity:1;border-color:var(--cyan)}.wf-card-head{padding-right:26px}.wf-card-more{margin-left:auto}.explorer-breadcrumb{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-home-badge{margin-left:auto;font:700 8px var(--mono);letter-spacing:1px;color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 40%,transparent);border-radius:999px;padding:1px 6px;flex-shrink:0}.explorer-tree-row>small{margin-left:auto}.explorer-shared-badge{font:700 7.5px var(--mono);letter-spacing:.8px;color:var(--green);border:1px solid color-mix(in srgb,var(--green) 40%,transparent);background:color-mix(in srgb,var(--green) 10%,transparent);border-radius:999px;padding:1px 6px;flex-shrink:0;white-space:nowrap}.explorer-shared-section{margin:15px 0 0;padding-top:11px;border-top:1px solid var(--line)}.explorer-shared-head{display:flex;align-items:center;gap:6px;margin:0 5px 7px;font:700 8.5px var(--mono);letter-spacing:1px;color:var(--cyan)}.explorer-shared-row{width:100%;color:var(--cyan)}.explorer-shared-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-shared-row>small{margin-left:auto;font-size:9px;color:var(--ink-faint);flex-shrink:0;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-folder-share{max-width:520px}.wf-card-meta .tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0}.ed-name input{flex:1 1 140px;width:auto;min-width:70px;max-width:340px}.ed-webhook{min-width:0}.ed-toolbar{flex-wrap:wrap}.ed-toolbar>.btn{flex-shrink:0}.ed-name{min-width:max-content;max-width:100%;flex-wrap:wrap;row-gap:5px}.palette-json-btn{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px 10px 0;padding:8px 10px;border:1px dashed var(--line-strong);border-radius:8px;background:transparent;color:var(--ink-dim);font:600 9.5px var(--mono);letter-spacing:1.2px;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.palette-json-btn:hover{border-color:var(--cyan-dim);color:var(--cyan);background:color-mix(in srgb,var(--cyan) 6%,transparent)}.modal-json{width:min(860px,calc(100vw - 40px));height:min(640px,calc(100vh - 60px))}.modal-json .modal-head .modal-title{display:flex;align-items:center;gap:8px}.json-editor-area{flex:1;min-height:0;margin:0;border:0;border-radius:0;background:#0a0f1c;color:#cfe3ff;font:12px/1.55 var(--mono);padding:16px 18px;resize:none;-moz-tab-size:2;tab-size:2}.modal-json .field-json-error{padding:8px 18px;border-top:1px solid var(--line);margin:0}.modal-share{width:min(620px,calc(100vw - 40px));max-height:calc(100vh - 60px)}.modal-share .node-modal-body{overflow-y:auto;padding:4px 0 14px}.share-collab-list{display:flex;flex-direction:column;gap:5px;margin:8px 0}.share-collab-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.share-collab-mail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--ink)}.share-collab-add{display:flex;gap:8px;margin-top:6px}.share-collab-add input{flex:1;min-width:0}.share-vis-list{display:flex;flex-direction:column;gap:6px}.share-vis-opt{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;cursor:pointer;color:var(--ink-dim);transition:border-color .12s ease,background .12s ease}.share-vis-opt:hover{border-color:var(--line-strong)}.share-vis-opt.active{border-color:var(--cyan-dim);background:color-mix(in srgb,var(--cyan) 6%,transparent)}.share-vis-opt input{margin-top:2px;accent-color:var(--cyan)}.share-vis-opt>svg{flex-shrink:0;margin-top:1px}.share-vis-opt span{display:flex;flex-direction:column;gap:2px;min-width:0}.share-vis-opt b{font-size:11.5px;color:var(--ink)}.share-vis-opt small{font-size:10px;color:var(--ink-faint);line-height:1.45}.share-publish-btn{width:100%;justify-content:center}.share-published-box{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--green) 40%,transparent);border-radius:9px;background:color-mix(in srgb,var(--green) 7%,transparent);color:var(--green);font-size:11px}.ok-text{color:var(--green)}.err-text{color:var(--red)}.webhook-section{border-top:1px solid var(--line)}.webhook-url-row{display:flex;align-items:center;gap:8px;min-width:0}.webhook-url-code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10.5px var(--mono);color:var(--cyan);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:6px 9px}.webhook-slug-row{display:flex;align-items:center;gap:6px}.webhook-slug-prefix{font:10.5px var(--mono);color:var(--ink-faint);flex-shrink:0}.webhook-slug-row input{flex:1;min-width:0;font-family:var(--mono);font-size:11px}.drop-target-hint{display:flex;align-items:center;gap:6px;margin-top:6px}.input-chip[draggable=true]{cursor:grab}.input-chip[draggable=true]:active{cursor:grabbing}input[type=radio],input[type=checkbox]{width:auto;height:auto;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none;margin:0}input[type=radio]{width:15px;height:15px;min-width:15px;accent-color:var(--cyan);cursor:pointer}input[type=checkbox]{accent-color:var(--cyan);cursor:pointer}input[type=radio]:focus-visible,input[type=checkbox]:focus-visible{box-shadow:0 0 0 2px var(--accent-ring);outline:none}.wf-card-select{width:22px;height:22px;border-radius:5px;top:10px;right:10px}.wf-card-select svg{width:16px;height:16px;stroke-width:3}.wf-card-name{min-width:0;flex:1;overflow-wrap:anywhere;line-height:1.35}.wf-card-head{min-width:0}.wf-card-meta .tag{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5;text-align:center}.wf-card-actions{flex-wrap:wrap}.wf-card-actions .btn{white-space:nowrap}.wf-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))}.workflow-sidebar{padding-top:8px}.explorer-tree-row .explorer-home-badge+small{margin-left:4px}.wf-card.selected .wf-card-select{background:color-mix(in srgb,var(--cyan) 20%,transparent);border-color:var(--cyan)}.wf-card.selected .wf-card-select svg{color:#fff}.dash-head{flex-wrap:wrap;gap:12px}.dash-actions,.community-toolbar{flex-wrap:wrap}.topbar{gap:12px;padding:0 12px}@media (max-width: 720px){.brand-tag,.topbar-right .selfhosted,.topbar-right .chip,.topbar-right .led{display:none}.navbtn{padding:0 8px;font-size:11px}.topbar-user{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.secret-toggle{width:auto;min-width:46px;height:26px;padding:0 9px;right:5px;font-size:10px;font-weight:700;letter-spacing:.8px;white-space:nowrap}.secret-row input{padding-right:56px}.btn,.btn-sm{white-space:nowrap}.input-producer-head .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.in-upstream-body pre{max-width:100%;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.node-output-file-name{overflow-wrap:anywhere}.mainhub{height:100%;overflow-y:auto;display:flex;flex-direction:column;background:var(--bg)}.mainhub-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--line)}.mainhub-head-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mainhub-main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:34px 22px 44px;display:flex;flex-direction:column;gap:30px}.mainhub-hero{display:flex;flex-direction:column;gap:12px}.mainhub-entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.entry-card{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:10px}.entry-card-primary{border-color:color-mix(in srgb,var(--cyan) 45%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cyan) 18%,transparent)}.entry-card-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--line-strong);color:var(--cyan)}.entry-card h3{margin:0;font-size:15px;letter-spacing:.4px;color:var(--ink)}.entry-card p{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink-dim)}.entry-card-meta{display:flex;flex-direction:column;gap:4px;font-size:10.5px;color:var(--ink-faint)}.entry-card-meta span{display:inline-flex;align-items:center;gap:6px}.entry-card-btn{margin-top:auto;justify-content:center}.entry-card-locked{margin-top:auto;display:flex;flex-direction:column;gap:8px}.entry-card-note{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--amber)}.entry-card-fine{font-size:10.5px;color:var(--ink-faint)}.mainhub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}.mainhub-card{display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px}.mainhub-card-head{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-faint)}.mainhub-card-text{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink-dim)}.mainhub-facts{margin:0;display:flex;flex-direction:column;gap:8px}.mainhub-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px}.mainhub-facts dt{color:var(--ink-faint);font-size:10px;letter-spacing:1.1px;text-transform:uppercase}.mainhub-facts dd{margin:0;color:var(--ink);text-align:right;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:6px}.mainhub-verified{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--green)}.mainhub-plan{display:flex;align-items:center;gap:10px}.mainhub-plan-name{font-size:20px;font-weight:700;letter-spacing:1px;color:var(--ink)}.mainhub-plan-name.pro{color:var(--cyan)}.mainhub-plan-status{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint)}.mainhub-note{font-size:11px;color:var(--amber)}.mainhub-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.legal-links-header{display:flex;align-items:center;gap:4px}.legal-links-header a{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid var(--line);border-radius:4px;color:var(--ink-dim);font-size:11.5px;text-decoration:none;white-space:nowrap}.legal-links-header a:hover{color:var(--cyan);border-color:var(--line-strong)}.public-legal-foot{border-top:1px solid var(--line-strong);background:#0a1020b8;padding:18px 22px 30px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;color:var(--ink-dim);font-size:12.5px}.public-legal-foot .public-legal-label{letter-spacing:1.5px;text-transform:uppercase;font-size:10.5px;color:var(--ink-dim)}.public-legal-foot a{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}.public-legal-foot a:hover{color:var(--cyan)}@media (max-width: 720px){.legal-links-header a{padding:4px 6px}}.modal-eval{width:min(880px,94vw);max-height:88vh;display:flex;flex-direction:column}.eval-toolbar{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}.eval-summary{margin-left:auto;font-size:11px;letter-spacing:1px;padding:3px 9px;border:1px solid var(--line-strong)}.eval-summary.ok{color:var(--green, #57d38c);border-color:var(--green, #57d38c)}.eval-summary.err{color:var(--red);border-color:var(--red)}.eval-body{overflow-y:auto;padding:14px 18px 20px;display:flex;flex-direction:column;gap:12px}.eval-card{border:1px solid var(--line-strong);background:#ffffff05;padding:12px;display:flex;flex-direction:column;gap:8px}.eval-card.pass{border-left:3px solid var(--green, #57d38c)}.eval-card.fail{border-left:3px solid var(--red)}.eval-card-head{display:flex;align-items:center;gap:8px}.eval-name{flex:1;background:transparent;border:1px solid var(--line-strong);color:var(--ink);padding:5px 8px;font:inherit}.eval-badge{font-size:10px;letter-spacing:1px;padding:2px 7px;border:1px solid currentColor}.eval-badge.ok{color:var(--green, #57d38c)}.eval-badge.err{color:var(--red)}.eval-label{font-size:10px;letter-spacing:1px;color:var(--dim)}.eval-json{min-height:64px;resize:vertical;background:#00000040;border:1px solid var(--line-strong);color:var(--ink);font-family:var(--mono, monospace);font-size:12px;padding:8px}.eval-expect{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.eval-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--dim)}.eval-node,.eval-input{background:#00000040;border:1px solid var(--line-strong);color:var(--ink);padding:5px 8px;font:inherit;font-size:12px}.eval-input{flex:1;min-width:140px}.eval-detail{font-size:12px;color:var(--dim);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.eval-detail.ok{color:var(--green, #57d38c)}.eval-detail.err{color:var(--red)}.eval-open{background:none;border:1px solid var(--line-strong);color:var(--cyan);font:inherit;font-size:11px;padding:3px 8px;cursor:pointer}.run-history{border:1px solid var(--line-strong);margin-bottom:10px}.run-history-head{display:flex;align-items:center;justify-content:space-between;padding:5px 9px;border-bottom:1px solid var(--line);background:#ffffff05}.run-history-refresh{background:none;border:none;color:var(--dim);cursor:pointer;display:flex;align-items:center}.run-history-refresh:hover{color:var(--cyan)}.run-history-list{display:flex;flex-direction:column;max-height:168px;overflow-y:auto}.run-history-row{display:flex;align-items:center;gap:9px;padding:5px 9px;background:none;border:none;border-bottom:1px solid var(--line);color:var(--dim);font:inherit;font-size:11px;text-align:left;cursor:pointer}.run-history-row:last-child{border-bottom:none}.run-history-row:hover{background:#ffffff0a;color:var(--ink)}.run-history-row.active{background:#4fd1ff14;color:var(--ink)}.run-history-source{text-transform:uppercase;letter-spacing:1px;color:var(--cyan);min-width:68px}.run-history-time{flex:1}.run-history-meta{color:var(--faint)}.login-or{text-align:center;font-size:10px;letter-spacing:2px;color:var(--faint);margin:14px 0 10px}.login-oauth{display:flex;gap:10px}.login-oauth-btn{flex:1;padding:9px 12px;background:#ffffff08;border:1px solid var(--line-strong);color:var(--ink);font:inherit;font-size:12px;letter-spacing:1px;cursor:pointer}.login-oauth-btn:hover{border-color:var(--cyan);color:var(--cyan)}.verify-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;font-size:12px;border-bottom:1px solid var(--line-strong);background:#4fd1ff14;color:var(--ink)}.verify-banner-x{background:none;border:none;color:var(--dim);font-size:16px;cursor:pointer;line-height:1}.verify-banner-x:hover{color:var(--ink)}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:3000;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-panel);box-shadow:0 18px 48px #00000073;max-width:900px;margin:0 auto}.cookie-banner-text{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--ink-dim);flex:1;min-width:260px}.cookie-banner-text svg{flex:none;margin-top:2px;color:var(--cyan)}.cookie-banner-text strong{display:block;color:var(--ink);font-size:13px;margin-bottom:2px}.cookie-banner-text a{color:var(--cyan)}.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-danger-head{color:var(--red)}.service-badge{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;flex:none}.service-badge-svg{display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.service-badge-svg svg{width:100%;height:100%;display:block}.service-badge-mono{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;line-height:1;font-family:var(--sans);flex:none}.service-badge-label{font-size:12px}.node-modal-title .service-badge,.p-name .service-badge,.wfnode-title .service-badge{margin-left:7px}.login-oauth-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.hub{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.hub-top{flex:none;padding:22px 30px 16px;border-bottom:1px solid var(--line);background:var(--bg)}.hub-head{text-align:center}.hub-head h1{font-size:24px;margin:8px 0 4px}.hub-head p{color:var(--ink-dim);margin:0 0 16px;font-size:12.5px}.hub-kicker{display:inline-flex;align-items:center;gap:7px;justify-content:center;font-size:10.5px;letter-spacing:2px;color:var(--cyan)}.hub-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.hub-tool{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;background:var(--bg-panel);border:1px solid var(--line);color:var(--ink-dim);font-size:12.5px;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.hub-tool:hover{border-color:var(--cyan);color:var(--ink)}.hub-tool.active{border-color:var(--cyan);color:var(--ink);background:var(--accent-soft)}.hub-tool-count{font-size:10px;padding:0 6px;border-radius:20px;background:var(--accent-soft);color:var(--cyan);border:1px solid var(--line)}.hub-body{flex:1 0 auto;min-height:480px;display:flex;flex-direction:column}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.hub-card{display:flex;gap:14px;text-align:left;padding:18px;background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;color:var(--ink);cursor:pointer;transition:border-color .12s ease,background .12s ease}.hub-card:hover{border-color:var(--cyan);background:var(--bg-elev)}.hub-card-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--cyan);flex:none}.hub-card-body{display:flex;flex-direction:column;gap:5px;min-width:0}.hub-card-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.hub-card-count{font-size:10.5px;padding:1px 7px;border-radius:20px;background:var(--accent-soft);color:var(--cyan);border:1px solid var(--line)}.hub-card-desc{font-size:12px;color:var(--ink-dim);line-height:1.5}.tool-page{padding:26px 30px 60px;max-width:1180px;margin:0 auto}.tool-page.embedded{flex:1;min-height:0;overflow-y:auto;max-width:none;padding:22px 30px 60px}.tool-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-bottom:18px}.tool-head h1{display:flex;align-items:center;gap:9px;font-size:22px;margin:6px 0}.tool-head p{color:var(--ink-dim);margin:0;font-size:12.5px;max-width:660px}.tool-back{background:none;border:none;color:var(--cyan);padding:0;font-size:11.5px;cursor:pointer}.tool-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tool-actions select{background:var(--bg-panel);border:1px solid var(--line);color:var(--ink);padding:6px 9px;border-radius:8px;font-size:12px}.tool-error{margin:0 0 14px;padding:10px 13px;border:1px solid var(--red);color:var(--red);border-radius:8px;font-size:12px;background:#e06a6a14}.tool-empty{padding:26px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--ink-dim);text-align:center;font-size:12.5px}.tool-table{width:100%;border-collapse:collapse;font-size:12.5px;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.tool-table th{text-align:left;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-faint);padding:9px 12px;border-bottom:1px solid var(--line)}.tool-table td{padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.tool-table tr:last-child td{border-bottom:none}.tool-table code{font-family:var(--mono);font-size:11.5px;color:var(--ink)}.tool-row-actions{display:flex;gap:6px;justify-content:flex-end}.tool-clickable{cursor:pointer}.tool-clickable:hover{background:var(--accent-soft)}.tool-ok{color:var(--green);display:inline-flex;gap:5px;align-items:center}.tool-bad{color:var(--red);display:inline-flex;gap:5px;align-items:center}.tool-running{color:var(--blue);display:inline-flex;gap:5px;align-items:center}.pulse{animation:wf-pulse 1.4s ease-in-out infinite}@keyframes wf-pulse{0%,to{opacity:1}50%{opacity:.35}}.btn.mini{padding:4px 9px;font-size:10.5px}.btn.danger{color:var(--red);border-color:#e06a6a80}.btn.danger:hover{background:#e06a6a1f}.tool-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040812b8;display:flex;align-items:center;justify-content:center;z-index:80;padding:20px}.tool-modal{width:100%;max-width:540px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:12px;padding:20px;box-shadow:var(--shadow-lg);max-height:86vh;overflow:auto}.tool-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.tool-modal-head h2{margin:0;font-size:15px}.tool-label{display:block;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-dim);margin:12px 0 5px}.tool-modal input,.tool-modal select{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:8px 10px;border-radius:8px;font-size:12.5px}.tool-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.tool-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-dim);margin-top:12px;cursor:pointer}.tool-check input{width:auto}.tool-field-rows{display:flex;flex-direction:column;gap:7px;align-items:flex-start}.tool-field-row{display:flex;gap:7px;align-items:center;width:100%}.tool-field-key{max-width:150px}.cred-list{display:flex;flex-direction:column;gap:10px}.cred-card{display:flex;justify-content:space-between;gap:14px;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.cred-card-name{font-weight:600}.cred-card-type{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-faint);margin:3px 0 8px}.cred-card-fields{display:flex;flex-wrap:wrap;gap:8px 16px}.cred-field{display:inline-flex;gap:6px;align-items:center;font-size:11.5px}.cred-field b{color:var(--ink-dim);font-weight:600}.cred-field code{font-family:var(--mono)}.cred-card-actions{display:flex;gap:6px;align-items:flex-start}.dt-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}@media (max-width: 820px){.dt-layout{grid-template-columns:1fr}}.dt-side{display:flex;flex-direction:column;gap:5px;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:8px}.dt-side-item{text-align:left;background:none;border:none;color:var(--ink-dim);padding:8px 10px;border-radius:7px;cursor:pointer;font-size:12.5px}.dt-side-item:hover{background:var(--bg-elev);color:var(--ink)}.dt-side-item.active{background:var(--accent-soft);color:var(--ink)}.dt-main{min-width:0}.dt-main-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;flex-wrap:wrap}.dt-main-head h2{margin:0;font-size:16px}.dt-meta{font-size:11px;color:var(--ink-faint)}.dt-scroll{overflow:auto;border-radius:10px}.dt-table td{padding:4px 8px}.dt-cell{width:100%;min-width:110px;background:transparent;border:1px solid transparent;color:var(--ink);padding:5px 7px;border-radius:6px;font-size:12px}.dt-cell:hover{border-color:var(--line)}.dt-cell:focus{outline:none;border-color:var(--cyan);background:var(--bg)}.dt-empty-row{color:var(--ink-faint);text-align:center;padding:16px}.dt-notice{margin:0 0 14px;padding:10px 13px;border:1px solid var(--line-strong);border-left:3px solid var(--green);border-radius:8px;font-size:12px;color:var(--ink-dim);background:var(--bg-panel)}.dt-mode-tabs{display:flex;gap:4px;margin:14px 0 2px;padding:3px;background:var(--bg-elev);border:1px solid var(--line);border-radius:9px}.dt-mode-tab{flex:1;background:none;border:none;border-radius:7px;color:var(--ink-dim);font-size:11px;font-weight:500;letter-spacing:.4px;padding:7px 10px;cursor:pointer;transition:color .12s ease,background .12s ease}.dt-mode-tab:hover{color:var(--ink)}.dt-mode-tab.active{background:var(--bg-panel);color:var(--ink);box-shadow:var(--shadow-sm)}.dt-csv-input{width:100%;min-height:132px;resize:vertical;background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:8px 10px;border-radius:8px;font-family:var(--mono);font-size:11.5px;line-height:1.5}.dt-csv-input:focus{outline:none;border-color:var(--cyan)}.canvas-agent-btn{position:absolute;bottom:14px;left:14px;z-index:8;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--bg-panel);border:1px solid var(--line-strong);color:var(--ink-dim);font-size:10.5px;letter-spacing:1.4px;cursor:pointer;box-shadow:var(--shadow-md);transition:color .12s ease,border-color .12s ease,background .12s ease}.canvas-agent-btn:hover{color:var(--cyan);border-color:var(--cyan-dim)}.canvas-agent-btn.active{color:var(--cyan);border-color:var(--cyan);background:#4fd1ff14}.wf-agent{position:absolute;bottom:62px;left:14px;z-index:12;width:min(440px,calc(100% - 28px));height:min(60vh,560px);display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden}.wf-agent-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px 9px 14px;border-bottom:1px solid var(--line)}.wf-agent-title{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;letter-spacing:1.5px;color:var(--ink-dim)}.wf-agent-title svg{color:var(--cyan)}.wf-agent-head-actions{display:inline-flex;gap:4px}.wf-agent-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--ink-faint);cursor:pointer}.wf-agent-icon:hover{color:var(--ink);border-color:var(--line)}.wf-agent-icon.active{color:var(--cyan);border-color:var(--cyan)}.wf-agent-loading{display:flex;align-items:center;gap:8px;padding:18px 14px;font-size:12px;color:var(--ink-faint)}.wf-agent-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.wf-agent-empty{display:flex;flex-direction:column;gap:10px;padding:8px 4px;font-size:12.5px;color:var(--ink-dim)}.wf-agent-empty svg{color:var(--cyan)}.wf-agent-examples{display:flex;flex-direction:column;gap:6px;margin-top:2px}.wf-agent-example{text-align:left;background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:var(--ink-dim);font-size:11.5px;cursor:pointer}.wf-agent-example:hover{color:var(--ink);border-color:var(--cyan-dim)}.wf-agent-turn{display:flex;flex-direction:column;gap:4px;max-width:100%}.wf-agent-turn.user{align-items:flex-end}.wf-agent-bubble{padding:8px 11px;border-radius:9px;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;background:var(--bg-elev);border:1px solid var(--line);color:var(--ink)}.wf-agent-turn.user .wf-agent-bubble{background:var(--accent-soft);border-color:var(--cyan-dim)}.wf-agent-turn.error .wf-agent-bubble{border-color:#e06a6a99;color:#ffc9c9}.wf-agent-bubble.dim{color:var(--ink-faint);display:inline-flex;align-items:center;gap:7px}.wf-agent-detail{font-family:var(--mono);font-size:10.5px;color:var(--ink-faint);padding-left:3px}.wf-agent-commit{display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line-strong);padding:3px 0 3px 8px;max-width:100%}.wf-agent-commit-head{font-family:var(--mono);font-size:9.5px;letter-spacing:1.2px;color:var(--ink-faint)}.wf-agent-commit-line{font-family:var(--mono);font-size:10.5px;color:var(--ink-dim);word-break:break-word}.wf-agent-commit-line.add{color:var(--green)}.wf-agent-commit-line.del{color:var(--red)}.wf-agent-commit-line.dim{color:var(--ink-faint)}.wf-agent-compose{border-top:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:8px}.wf-agent-refs{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.wf-agent-refs-label{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;letter-spacing:1px;color:var(--ink-faint)}.wf-agent-ref-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 5px 3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:10.5px;color:var(--ink)}.wf-agent-ref-chip code{font-family:var(--mono);font-size:9.5px;color:var(--ink-faint)}.wf-agent-ref-chip button{display:inline-flex;background:none;border:none;padding:0;color:var(--ink-faint);cursor:pointer}.wf-agent-ref-chip button:hover{color:var(--red)}.wf-agent-compose textarea{width:100%;resize:vertical;min-height:58px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 10px;color:var(--ink);font-size:12.5px;font-family:inherit}.wf-agent-compose textarea:focus{outline:none;border-color:var(--cyan)}.wf-agent-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.wf-agent-model{font-family:var(--mono);font-size:10px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-agent-link{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--cyan);font-size:11px;cursor:pointer;padding:0}.wf-agent-setup{padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.wf-agent-note{margin:0 0 4px;font-size:11.5px;line-height:1.6;color:var(--ink-faint)}.wf-agent-label{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--ink-faint);margin-top:6px}.wf-agent-setup input,.wf-agent-setup select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:8px 9px;color:var(--ink);font-size:12.5px}.wf-agent-setup input:focus,.wf-agent-setup select:focus{outline:none;border-color:var(--cyan)}.wf-agent-model-row,.wf-agent-key-row{display:flex;align-items:center;gap:6px}.wf-agent-hint{font-size:10.5px;color:var(--ink-faint)}.wf-agent-error{margin-top:8px;font-size:11.5px;color:#ffc9c9;border:1px solid rgba(224,106,106,.5);border-radius:7px;padding:7px 9px}.wf-agent-ok{margin-top:8px;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--green, #6ee7a8)}.wf-agent-setup-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px}.spin{animation:wf-spin 1s linear infinite}@keyframes wf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ed-view-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;flex-shrink:0}.ed-view-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:none;border-radius:6px;background:transparent;color:var(--ink-dim);font-size:11.5px;cursor:pointer}.ed-view-btn:hover{color:var(--ink)}.ed-view-btn.active{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--cyan-dim)}.ed-view-count{font-family:var(--mono);font-size:10px;color:var(--ink-faint)}.wf-exec{flex:1;min-width:0;overflow-y:auto;padding:18px 22px 40px}.wf-exec-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}.wf-exec-head h2{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:16px}.wf-exec-head p{margin:0;font-size:12px;color:var(--ink-faint);max-width:640px;line-height:1.6}.wf-exec-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wf-exec-actions select{background:var(--bg-panel);border:1px solid var(--line);border-radius:7px;padding:6px 9px;color:var(--ink);font-size:12px}.wf-exec-stats,.hub-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:16px}.hub-stats{flex:none;margin:16px 0 18px;padding:0 30px}.wf-stat{display:flex;flex-direction:column;gap:4px;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:11px 13px}.wf-stat-label{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--ink-faint)}.wf-stat-value{font-size:21px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.wf-stat-value.ok{color:var(--cyan)}.wf-stat-value.bad{color:#e08b8b}.wf-stat-sub{font-size:10.5px;color:var(--ink-faint)}.wf-exec-badge{display:inline-flex;align-items:center;gap:4px;margin-left:7px;font-size:10px;color:var(--ink-faint)}.run-history-avg{color:var(--ink-faint)}.run-cost{color:var(--cyan);font-variant-numeric:tabular-nums}.wf-exec-usage{font-variant-numeric:tabular-nums}.wf-exec-dim{color:var(--ink-faint)}.run-replay{display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink-dim);font-size:10px;font-weight:600;letter-spacing:1px;padding:3px 8px;cursor:pointer}.run-replay:hover{color:var(--ink);border-color:var(--cyan)}.run-approval{border:1px solid rgba(240,190,90,.5);background:#f0be5a14;border-radius:9px;padding:12px 14px;margin-bottom:12px}.run-approval-head{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:1.2px;color:#f0be5a}.run-approval-node{color:var(--ink-faint);font-weight:500;letter-spacing:0}.run-approval-msg{font-size:12.5px;color:var(--ink);margin:8px 0 10px;line-height:1.55;white-space:pre-wrap}.run-approval-actions{display:flex;align-items:center;gap:8px}.run-approval-hint{font-size:10.5px;color:var(--ink-faint);margin-top:9px;line-height:1.5}.run-error-handled{color:var(--cyan)}.err-handled{font-size:9.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(90,200,200,.4);border-radius:4px;padding:1px 5px}.run-entry-tokens,.run-entry-attempts{font-size:10px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.settings-note{font-size:11.5px;border-radius:7px;padding:8px 11px;margin-bottom:13px}.settings-note.ok{color:var(--cyan);background:#5ac8c814;border:1px solid rgba(90,200,200,.3)}.settings-note.err{color:#e08b8b;background:#e08b8b14;border:1px solid rgba(224,139,139,.3)}.settings-actions{display:flex;gap:8px;margin-top:16px}.ai-price-head,.ai-price-row{display:grid;grid-template-columns:1fr 104px 104px 32px;gap:8px;align-items:center}.ai-price-head{font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint);padding:0 2px 6px}.ai-price-list{max-height:320px;overflow-y:auto}.ai-price-row{padding:5px 0;border-bottom:1px solid var(--line)}.ai-price-row code{font-size:11.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-price-row input{width:100%}.ai-price-empty{font-size:11.5px;color:var(--ink-faint);padding:10px 2px}.ai-price-fallback{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-strong)}.ai-price-fallback-inputs{display:flex;gap:8px;flex-shrink:0}.ai-price-fallback-inputs input{width:104px}.ai-price-add{display:flex;gap:8px;margin-top:16px}.ai-price-add input{flex:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070eb8;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fade-in .18s ease both}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 18px;border-top:1px solid var(--line);flex-shrink:0}.wf-versions{width:620px}.wf-versions-title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:1px;color:var(--ink)}.wf-versions-body{padding:16px 18px;overflow-y:auto}.wf-versions-intro{font-size:11.5px;color:var(--ink-dim);line-height:1.6;margin:0 0 14px}.wf-versions-empty{font-size:12px;color:var(--ink-faint);padding:18px 0;display:flex;align-items:center;gap:8px}.wf-versions-list{display:flex;flex-direction:column}.wf-version-row{display:flex;align-items:center;gap:11px;padding:10px 2px;border-bottom:1px solid var(--line)}.wf-version-icon{color:var(--ink-faint);flex-shrink:0}.wf-version-main{min-width:0;flex:1}.wf-version-when{font-size:12.5px;color:var(--ink);font-weight:600}.wf-version-meta{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--ink-faint);margin-top:2px;flex-wrap:wrap}.wf-version-reason{color:var(--cyan)}.wf-version-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.wf-versions-hint{margin-right:auto;font-size:10.5px;color:var(--ink-faint)}.wf-backups{width:660px}.wf-backups-title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:1px;color:var(--ink)}.wf-backups-body{padding:16px 18px;overflow-y:auto}.wf-backups-intro{font-size:11.5px;color:var(--ink-dim);line-height:1.6;margin:0 0 14px}.wf-backups-empty{font-size:12px;color:var(--ink-faint);padding:18px 0;display:flex;align-items:center;gap:8px}.wf-backups-quick{border:1px solid var(--line);border-radius:10px;padding:11px 12px;margin-bottom:16px;background:var(--panel)}.wf-backups-quick-label{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;letter-spacing:1.2px;color:var(--ink-faint);margin-bottom:8px}.wf-backups-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.wf-backups-hint{font-size:10.5px;color:var(--ink-faint);margin-top:7px}.wf-backups-list-title{font-size:9.5px;letter-spacing:1.2px;color:var(--ink-faint);margin-bottom:4px}.wf-backups-list{display:flex;flex-direction:column}.wf-backups-row{display:flex;align-items:center;gap:11px;padding:9px 2px;border-bottom:1px solid var(--line)}.wf-backups-row.mine{background:color-mix(in srgb,var(--cyan) 5%,transparent)}.wf-backups-row-main{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.wf-backups-row-when{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink);font-weight:600}.wf-backups-row-who{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-dim)}.wf-backups-row-who.me{color:var(--cyan);font-weight:600}.wf-backups-row-meta{font-size:10.5px;color:var(--ink-faint)}.wf-backups-foot{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:10.5px;color:var(--ink-faint)}.tmpl-gallery{width:860px}.tmpl-title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:1px;color:var(--ink)}.tmpl-body{padding:16px 18px;overflow-y:auto}.tmpl-intro{font-size:11.5px;color:var(--ink-dim);line-height:1.6;margin:0 0 14px}.tmpl-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tmpl-chip{background:transparent;border:1px solid var(--line-strong);border-radius:20px;color:var(--ink-dim);font-size:11px;padding:4px 11px;cursor:pointer}.tmpl-chip:hover{color:var(--ink)}.tmpl-chip.active{color:var(--ink);border-color:var(--cyan);background:#5ac8c81a}.tmpl-empty{font-size:12px;color:var(--ink-faint);padding:18px 0;display:flex;align-items:center;gap:8px}.tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.tmpl-card{display:flex;flex-direction:column;gap:8px;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:13px 14px}.tmpl-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.tmpl-card-name{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.35}.tmpl-level{flex-shrink:0;font-size:9px;letter-spacing:1px;text-transform:uppercase;border-radius:4px;padding:2px 6px;color:var(--ink-faint);border:1px solid var(--line-strong)}.tmpl-level.starter{color:var(--cyan);border-color:#5ac8c866}.tmpl-level.advanced{color:#d9a45a;border-color:#d9a45a66}.tmpl-card-desc{font-size:11.5px;color:var(--ink-dim);line-height:1.55;flex:1}.tmpl-card-meta{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--ink-faint)}.tmpl-card-needs{font-size:10.5px;color:var(--ink-faint);display:flex;align-items:flex-start;gap:5px;line-height:1.5}.tmpl-use{justify-content:center}.tmpl-hint{margin-right:auto;font-size:10.5px;color:var(--ink-faint)}.ed-menu-wrap{position:relative}.ed-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:210px;display:flex;flex-direction:column;padding:4px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 12px 30px #00000059}.ed-menu-right{left:auto;right:0}.ed-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:12px;color:var(--ink-dim);background:transparent;border:none;border-radius:5px;cursor:pointer;text-align:left}.ed-menu-item:hover{background:var(--bg);color:var(--ink)}.topbar-profile{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;cursor:pointer}.topbar-profile:hover,.topbar-profile.active{border-color:var(--line-strong);color:var(--ink)}.billing-manage{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:1px solid var(--line);background:var(--bg-panel);border-radius:10px;padding:12px 14px;margin-bottom:18px}.billing-manage-info{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-dim);flex:1;min-width:240px}.billing-manage-actions{display:flex;flex-wrap:wrap;gap:8px}.billing-manage-note{font-size:11.5px;color:var(--ink-faint);width:100%}.pricing-cta-crypto{margin-top:8px;border:1px solid color-mix(in srgb,var(--amber, #e0b96a) 45%,transparent);background:transparent;color:var(--ink)}.pricing-cta-crypto:hover{border-color:var(--amber, #e0b96a)}.community-open{border:none;cursor:pointer}.community-open-name{background:transparent;border:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.community-open-name:hover{color:var(--cyan)}.community-author{cursor:pointer;background:transparent}.community-author:hover{filter:brightness(1.25)}.community-sort{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.community-sort select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:6px 28px 6px 10px;font-size:11.5px;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);cursor:pointer}.community-sort svg{position:absolute;right:8px;pointer-events:none;color:var(--ink-faint)}.community-actions{align-items:center;flex-wrap:wrap}.community-engage{color:var(--ink-dim)}.community-engage.on{color:var(--cyan);border-color:var(--cyan-dim)}.community-more{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:22px}.community-more-note{font-size:11px;color:var(--ink-faint)}.community-post,.profile-page{flex:1;min-height:0;overflow-y:auto;width:100%;max-width:900px;margin:0 auto;padding:26px 30px 60px}.post-title{font-size:24px;margin:0 0 10px;color:var(--ink)}.post-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.post-meta .tag,.profile-posts-head .tag{font-size:9.5px;letter-spacing:1px;color:var(--cyan);border:1px solid var(--line-strong);border-radius:999px;padding:2px 8px}.post-meta .tag.dim{color:var(--ink-faint)}.post-author{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-panel);margin-bottom:16px}.post-author-link{display:flex;align-items:center;gap:10px;background:transparent;border:none;cursor:pointer;text-align:left;padding:0}.post-author-link:hover .post-author-name{color:var(--cyan)}.post-avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:color-mix(in srgb,var(--violet) 22%,transparent);color:var(--violet)}.post-author-name{font-size:13px;color:var(--ink)}.post-author-note{font-size:11px;color:var(--ink-faint)}.post-description{font-size:13.5px;line-height:1.7;color:var(--ink-dim);white-space:pre-wrap;margin-bottom:18px}.post-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.post-comments{border-top:1px solid var(--line);padding-top:18px}.post-comments-head,.profile-posts-head{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.5px;color:var(--ink-dim);margin-bottom:14px}.post-comment-form{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-bottom:22px}.post-comment-form textarea{width:100%}.post-comments-empty{font-size:12px;color:var(--ink-faint);padding:10px 0 20px}.post-comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.post-comment{display:flex;gap:10px}.post-comment-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;background:var(--bg-panel);border:1px solid var(--line-strong);color:var(--cyan)}.post-comment-body{flex:1;min-width:0}.post-comment-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink)}.post-comment-head .dim{color:var(--ink-faint);font-size:10.5px}.post-comment-del{margin-left:auto;background:transparent;border:none;color:var(--ink-faint);cursor:pointer}.post-comment-del:hover{color:var(--red)}.post-comment-text{font-size:13px;line-height:1.65;color:var(--ink-dim);white-space:pre-wrap;margin-top:2px}.profile-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg-panel)}.profile-avatar{width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;background:color-mix(in srgb,var(--cyan) 16%,transparent);border:1px solid var(--line-strong)}.profile-head-info{flex:1;min-width:200px}.profile-name{font-size:18px;color:var(--ink);display:flex;align-items:center}.profile-stats{display:flex;flex-wrap:wrap;gap:14px;font-size:11.5px;color:var(--ink-faint);margin-top:4px}.profile-stats span{display:inline-flex;align-items:center;gap:4px}.profile-edit{margin-top:18px;display:flex;flex-direction:column;gap:10px}.profile-edit textarea,.profile-edit input{width:100%}.profile-avatars{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.profile-avatar-pick{width:34px;height:34px;border-radius:8px;border:1px solid var(--line-strong);background:var(--bg-panel);cursor:pointer;font-size:16px}.profile-avatar-pick.on{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 14%,transparent)}.profile-email{font-size:11px;color:var(--ink-faint);margin-top:4px}.profile-about{margin-top:18px}.profile-bio{font-size:13.5px;line-height:1.7;color:var(--ink-dim);white-space:pre-wrap;margin:0 0 10px}.profile-bio.dim{color:var(--ink-faint)}.profile-links{display:flex;flex-wrap:wrap;gap:16px;font-size:12px}.profile-links a,.profile-links span{display:inline-flex;align-items:center;gap:5px;color:var(--ink-faint);text-decoration:none}.profile-links a:hover{color:var(--cyan)}.profile-posts{margin-top:30px}.setup-body{flex:1;min-height:0;overflow:auto;padding:22px 30px 40px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));align-content:start}.setup-card{border:1px solid var(--line);border-radius:12px;background:var(--bg-panel);padding:16px 18px;display:flex;flex-direction:column;gap:11px}.setup-card>h3{margin:0;font-size:11px;letter-spacing:1.6px;color:var(--cyan);display:flex;align-items:center;gap:7px}.setup-card code{font-family:var(--mono);font-size:11px;color:var(--ink);word-break:break-all}.setup-choice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.setup-choice:hover{border-color:var(--line-strong)}.setup-choice.active{border-color:var(--cyan);background:var(--accent-soft)}.setup-choice input{margin:2px 0 0;flex:none}.setup-choice-text{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--ink)}.setup-choice-text b{display:inline-flex;align-items:center;gap:6px;font-weight:600}.setup-note{margin:0;font-size:11.5px;line-height:1.65;color:var(--ink-dim)}.setup-banner{display:flex;align-items:flex-start;gap:8px;border:1px dashed var(--line-strong);border-radius:10px;padding:10px 12px;font-size:11.5px;line-height:1.6;color:var(--ink-dim)}.setup-banner.warn{border-color:var(--amber);color:var(--amber)}.setup-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setup-test{font-size:11.5px}.setup-test.ok{color:var(--green)}.setup-test.err{color:var(--red)}.setup-token-row{display:flex;gap:6px;align-items:center}.setup-token-row input{flex:1;min-width:0;font-family:var(--mono);font-size:11.5px}.setup-foot{flex:none;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 30px 22px;border-top:1px solid var(--line)}.entry-card-picks{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
