@import url(https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;500;700&family=Orbitron:wght@400;500;700;900&display=swap);.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.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 .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.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-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.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.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--encom-black:#000;--encom-dark:#0a0a0a;--encom-cyan:#0ee;--encom-cyan-dim:#0aa;--encom-cyan-glow:#00eeee4d;--encom-gold:#fc0;--encom-gold-dim:#c90;--encom-orange:#f93;--encom-white:#fff;--encom-gray-light:#aaa;--encom-gray:#666;--encom-gray-dark:#333;--encom-panel-bg:#000000d9;--encom-panel-border:#00f0f04d;--font-display:"Orbitron",sans-serif;--font-mono:"Inconsolata",monospace;--pulse-duration:2s;--glow-intensity:0 0 20px}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;overflow:hidden;width:100%}body{-webkit-font-smoothing:antialiased;background-color:#000;background-color:var(--encom-black);color:#fff;color:var(--encom-white);font-family:Inconsolata,monospace;font-family:var(--font-mono)}.encom-grid-bg{background-image:linear-gradient(#333 1px,#0000 0),linear-gradient(90deg,#333 1px,#0000 0);background-image:linear-gradient(var(--encom-gray-dark) 1px,#0000 1px),linear-gradient(90deg,var(--encom-gray-dark) 1px,#0000 1px);background-size:50px 50px;opacity:.15;z-index:0}.encom-grid-bg,.encom-scanlines{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%}.encom-scanlines{background:repeating-linear-gradient(0deg,#0000001a,#0000001a 1px,#0000 0,#0000 2px);opacity:.3;z-index:9999}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #0aa,0 0 10px #00eeee4d,inset 0 0 5px #00eeee1a;box-shadow:0 0 5px var(--encom-cyan-dim),0 0 10px var(--encom-cyan-glow),inset 0 0 5px #00eeee1a}50%{box-shadow:0 0 15px #0ee,0 0 30px #00eeee4d,inset 0 0 10px #0ee3;box-shadow:0 0 15px var(--encom-cyan),0 0 30px var(--encom-cyan-glow),inset 0 0 10px #0ee3}}@keyframes text-glow{0%,to{text-shadow:0 0 5px #0aa;text-shadow:0 0 5px var(--encom-cyan-dim)}50%{text-shadow:0 0 15px #0ee,0 0 25px #00eeee4d;text-shadow:0 0 15px var(--encom-cyan),0 0 25px var(--encom-cyan-glow)}}@keyframes border-pulse{0%,to{border-color:#0aa;border-color:var(--encom-cyan-dim)}50%{border-color:#0ee;border-color:var(--encom-cyan)}}@keyframes data-stream{0%{opacity:0;transform:translateY(-100%)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(100%)}}.encom-panel{animation:pulse-glow 2s ease-in-out infinite;animation:pulse-glow var(--pulse-duration) ease-in-out infinite;background:#000000d9;background:var(--encom-panel-bg);border:1px solid #0aa;border:1px solid var(--encom-cyan-dim);border-radius:2px;position:relative}.encom-panel:before{background:linear-gradient(90deg,#0000,#0ee,#0000);background:linear-gradient(90deg,#0000,var(--encom-cyan),#0000);content:"";height:3px;left:0;position:absolute;right:0;top:-1px}.encom-panel-header{align-items:center;border-bottom:1px solid #333;border-bottom:1px solid var(--encom-gray-dark);color:#0ee;color:var(--encom-cyan);display:flex;font-family:Orbitron,sans-serif;font-family:var(--font-display);font-size:11px;font-weight:500;justify-content:space-between;letter-spacing:2px;padding:8px 12px;text-transform:uppercase}.encom-panel-header:before{color:#fc0;color:var(--encom-gold);content:"//";margin-right:8px}.encom-panel-content{padding:12px}.encom-btn{background:#0000;border:1px solid #0aa;border:1px solid var(--encom-cyan-dim);color:#0ee;color:var(--encom-cyan);cursor:pointer;font-family:Orbitron,sans-serif;font-family:var(--font-display);font-size:10px;font-weight:500;letter-spacing:1px;overflow:hidden;padding:8px 16px;position:relative;text-transform:uppercase;transition:all .3s ease}.encom-btn:hover{background:#00eeee1a;border-color:#0ee;border-color:var(--encom-cyan);box-shadow:0 0 15px #00eeee4d;box-shadow:0 0 15px var(--encom-cyan-glow)}.encom-btn:active{background:#0ee3}.encom-btn-primary{background:#00eeee26;border-color:#0ee;border-color:var(--encom-cyan)}.encom-btn-gold{border-color:#c90;border-color:var(--encom-gold-dim);color:#fc0;color:var(--encom-gold)}.encom-btn-gold:hover{background:#ffcc001a;border-color:#fc0;border-color:var(--encom-gold);box-shadow:0 0 15px #ffcc004d}.encom-input{background:#0009;border:1px solid #333;border:1px solid var(--encom-gray-dark);color:#fff;color:var(--encom-white);font-family:Inconsolata,monospace;font-family:var(--font-mono);font-size:13px;outline:none;padding:10px 12px;transition:all .3s ease;width:100%}.encom-input:focus{border-color:#0ee;border-color:var(--encom-cyan);box-shadow:0 0 10px #00eeee4d,inset 0 0 5px #00eeee1a;box-shadow:0 0 10px var(--encom-cyan-glow),inset 0 0 5px #00eeee1a}.encom-input::placeholder{color:#666;color:var(--encom-gray)}.encom-textarea{min-height:80px;resize:vertical}.encom-select{-webkit-appearance:none;appearance:none;background:#0009;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%230EE' d='m2 4 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #333;border:1px solid var(--encom-gray-dark);color:#fff;color:var(--encom-white);cursor:pointer;font-family:Inconsolata,monospace;font-family:var(--font-mono);font-size:13px;outline:none;padding:10px 12px;width:100%}.encom-select:focus{border-color:#0ee;border-color:var(--encom-cyan);box-shadow:0 0 10px #00eeee4d;box-shadow:0 0 10px var(--encom-cyan-glow)}.encom-slider{-webkit-appearance:none;background:#333;background:var(--encom-gray-dark);border-radius:2px;height:4px;outline:none;width:100%}.encom-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#0ee;background:var(--encom-cyan);border-radius:50%;box-shadow:0 0 10px #0ee;box-shadow:0 0 10px var(--encom-cyan);cursor:pointer;height:16px;width:16px}.encom-slider::-moz-range-thumb{background:#0ee;background:var(--encom-cyan);border:none;border-radius:50%;box-shadow:0 0 10px #0ee;box-shadow:0 0 10px var(--encom-cyan);cursor:pointer;height:16px;width:16px}.encom-data-value{animation:text-glow 2s ease-in-out infinite;animation:text-glow var(--pulse-duration) ease-in-out infinite;color:#0ee;color:var(--encom-cyan);font-family:Orbitron,sans-serif;font-family:var(--font-display);font-size:24px;font-weight:700}.encom-data-label{color:#aaa;color:var(--encom-gray-light);font-family:Inconsolata,monospace;font-family:var(--font-mono)}.encom-data-label,.encom-status{font-size:10px;letter-spacing:1px;text-transform:uppercase}.encom-status{align-items:center;display:inline-flex;gap:6px}.encom-status-dot{animation:pulse-glow 1s ease-in-out infinite;border-radius:50%;height:8px;width:8px}.encom-status-dot.online{background:#0ee;background:var(--encom-cyan)}.encom-status-dot.warning{background:#fc0;background:var(--encom-gold)}.encom-status-dot.error{background:#f44}.encom-status-dot.offline{background:#666;background:var(--encom-gray)}.encom-progress{background:#333;background:var(--encom-gray-dark);border-radius:2px;height:4px;overflow:hidden}.encom-progress-bar{background:linear-gradient(90deg,#0aa,#0ee);background:linear-gradient(90deg,var(--encom-cyan-dim),var(--encom-cyan));box-shadow:0 0 10px #00eeee4d;box-shadow:0 0 10px var(--encom-cyan-glow);height:100%;transition:width .3s ease}.encom-tabs{border-bottom:1px solid #333;border-bottom:1px solid var(--encom-gray-dark);display:flex}.encom-tab{background:#0000;border:none;color:#aaa;color:var(--encom-gray-light);cursor:pointer;font-family:Orbitron,sans-serif;font-family:var(--font-display);font-size:11px;font-weight:500;letter-spacing:1px;padding:12px 20px;position:relative;text-transform:uppercase;transition:all .3s ease}.encom-tab.active,.encom-tab:hover{color:#0ee;color:var(--encom-cyan)}.encom-tab.active:after{background:#0ee;background:var(--encom-cyan);bottom:-1px;box-shadow:0 0 10px #0ee;box-shadow:0 0 10px var(--encom-cyan);content:"";height:2px;left:0;position:absolute;right:0}.encom-tooltip{position:relative}.encom-tooltip:after{background:#000000d9;background:var(--encom-panel-bg);border:1px solid #0aa;border:1px solid var(--encom-cyan-dim);bottom:100%;color:#fff;color:var(--encom-white);content:attr(data-tooltip);font-size:11px;left:50%;opacity:0;padding:6px 10px;position:absolute;transform:translateX(-50%);transition:all .3s ease;visibility:hidden;white-space:nowrap;z-index:1000}.encom-tooltip:hover:after{opacity:1;visibility:visible}.encom-node{background:#000000d9;background:var(--encom-panel-bg);border:1px solid #0aa;border:1px solid var(--encom-cyan-dim);border-radius:4px;min-width:200px}.encom-node-header{background:#ffcc001a;border-bottom:1px solid #333;border-bottom:1px solid var(--encom-gray-dark);border-radius:3px 3px 0 0;color:#fc0;color:var(--encom-gold);font-family:Orbitron,sans-serif;font-family:var(--font-display);font-size:10px;font-weight:500;letter-spacing:1px;padding:8px 12px;text-transform:uppercase}.encom-node-body{padding:12px}.encom-node-port{background:#000;background:var(--encom-black);border:2px solid #0ee;border:2px solid var(--encom-cyan);border-radius:50%;cursor:pointer;height:12px;transition:all .3s ease;width:12px}.encom-node-port:hover{box-shadow:0 0 10px #0ee;box-shadow:0 0 10px var(--encom-cyan)}.encom-node-port.connected,.encom-node-port:hover{background:#0ee;background:var(--encom-cyan)}.encom-canvas{background:radial-gradient(ellipse at center,#0028284d 0,#000 70%);background:radial-gradient(ellipse at center,#0028284d 0,var(--encom-black) 70%);overflow:hidden;position:relative}.encom-canvas-dropzone{border:2px dashed #333;border:2px dashed var(--encom-gray-dark);border-radius:8px;padding:40px;text-align:center;transition:all .3s ease}.encom-canvas-dropzone.active{background:#00eeee0d;border-color:#0ee;border-color:var(--encom-cyan)}.encom-spinner{animation:spin 1s linear infinite;border:3px solid #333;border-top-color:#0ee;border:3px solid var(--encom-gray-dark);border-radius:50%;border-top-color:var(--encom-cyan);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#000;background:var(--encom-black)}::-webkit-scrollbar-thumb{background:#333;background:var(--encom-gray-dark);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0aa;background:var(--encom-cyan-dim)}.encom-hud{pointer-events:none;position:fixed;z-index:100}.encom-hud-corner{height:20px;position:absolute;width:20px}.encom-hud-corner.top-left{border-left:2px solid #0ee;border-left:2px solid var(--encom-cyan);left:10px}.encom-hud-corner.top-left,.encom-hud-corner.top-right{border-top:2px solid #0ee;border-top:2px solid var(--encom-cyan);top:10px}.encom-hud-corner.top-right{border-right:2px solid #0ee;border-right:2px solid var(--encom-cyan);right:10px}.encom-hud-corner.bottom-left{border-left:2px solid #0ee;border-left:2px solid var(--encom-cyan);left:10px}.encom-hud-corner.bottom-left,.encom-hud-corner.bottom-right{border-bottom:2px solid #0ee;border-bottom:2px solid var(--encom-cyan);bottom:10px}.encom-hud-corner.bottom-right{border-right:2px solid #0ee;border-right:2px solid var(--encom-cyan);right:10px}.encom-image-card{background:#000000d9;background:var(--encom-panel-bg);border:1px solid #333;border:1px solid var(--encom-gray-dark);border-radius:4px;overflow:hidden;transition:all .3s ease}.encom-image-card:hover{border-color:#0ee;border-color:var(--encom-cyan);box-shadow:0 0 20px #00eeee4d;box-shadow:0 0 20px var(--encom-cyan-glow)}.encom-image-card img{display:block;width:100%}.encom-image-card-info{font-size:11px;padding:10px}.encom-queue-item{align-items:center;background:#0006;border-left:3px solid #0ee;border-left:3px solid var(--encom-cyan);display:flex;gap:12px;margin-bottom:8px;padding:10px}.encom-queue-item.processing{border-left-color:#fc0;border-left-color:var(--encom-gold)}.encom-queue-item.complete{border-left-color:#4f4}.encom-queue-item.error{border-left-color:#f44}
/*# sourceMappingURL=main.303edcd4.css.map*/