:root{--theme-primary:#00d4ff;--theme-secondary:#f0f;--theme-background:#0a0a0a;--theme-surface:#1a1a1a;--theme-border:#2a2a2a;--theme-textPrimary:#fff;--theme-textSecondary:#a0a0a0;--theme-nodeBg:#1a1a1a;--theme-surfaceHover:#2a2a2a;--theme-info:#2196f3;--theme-success:#4caf50;--theme-warning:#ff9800;--theme-error:#f44336;--theme-primary-rgb:0,212,255;--theme-secondary-rgb:255,0,255}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body.streaming-active *{animation:none!important;transform:none!important;transition:none!important;will-change:auto!important}body.streaming-active *,body.streaming-active .MuiBox-root{scroll-behavior:auto!important}body.streaming-active .MuiDrawer-paper,body.streaming-active .MuiDrawer-root,body.streaming-active .analysis-panel-container,body.streaming-active .analysis-panel-inner{animation:none!important;transform:none!important;transition:none!important;will-change:auto!important}body.streaming-active [class*=Message]{animation:none!important;transform:none!important;transition:none!important}.analysis-panel-container{bottom:0!important;position:fixed!important;right:0!important;top:0!important}.analysis-panel-inner [class*=MessagesContainer],.analysis-panel-inner textarea{overflow-y:scroll!important}.react-flow__controls{border:1px solid #2a2a2a!important;border:1px solid var(--theme-border)!important;border-radius:8px!important;box-shadow:0 2px 8px #00000026!important;overflow:hidden!important;transition:background-color .2s ease,border-color .2s ease!important}.react-flow__controls,.react-flow__controls-button{background-color:#1a1a1a!important;background-color:var(--theme-surface)!important}.react-flow__controls-button{border:none!important;color:#fff!important;color:var(--theme-textPrimary)!important;height:36px!important;transition:all .15s ease!important;width:36px!important}.react-flow__controls-button:hover{background-color:#2a2a2a!important;background-color:var(--theme-surfaceHover)!important;color:#00d4ff!important;color:var(--theme-primary)!important}.react-flow__controls-button svg{fill:currentColor!important;height:18px!important;width:18px!important}.react-flow__background{background-color:#0a0a0a!important;background-color:var(--theme-background)!important;transition:background-color .2s ease!important}.react-flow__background pattern{stroke:#2a2a2a!important;stroke:var(--theme-border)!important;stroke-width:.5!important;transition:stroke .2s ease!important}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#0000;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;background-color:var(--xy-background-color-default);background-color:var(--xy-background-color,var(--xy-background-color-default));direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-default);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{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width-default);stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default))}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke-default);stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width-default);stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default))}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;pointer-events:none;position:absolute}.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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected-default);stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke-default);fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{overflow:visible;position:absolute;z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.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{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-color:var(--xy-handle-background-color-default);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%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:0;left:50%;top:auto;transform:translate(-50%,50%)}.react-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.react-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.react-flow__handle-right{right:0;top:50%;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{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color-default);background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));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{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%}.react-flow__minimap{background:var(--xy-minimap-background-color-default);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-default);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-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-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-default);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-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-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-dots-color-default);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-lines-color-default);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-cross-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow-default);box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));display:flex;flex-direction:column}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{align-items:center;background:var(--xy-controls-button-background-color-default);background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      );color:var(--xy-controls-button-color-default);color:var(
      --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
    );cursor:pointer;display:flex;height:26px;justify-content:center;padding:4px;-webkit-user-select:none;user-select:none;width:26px}.react-flow__controls-button svg{fill:currentColor;max-height:12px;max-width:12px;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:var(--xy-node-background-color-default);background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));border:var(--xy-node-border,var(--xy-node-border-default));border-radius:var(--xy-node-border-radius-default);border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));color:var(--xy-node-color-default);color:var(--xy-node-color,var(--xy-node-color-default));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:var(--xy-node-boxshadow-hover-default);box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.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:var(--xy-node-boxshadow-selected-default);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-default);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-default);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-default);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-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.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:var(--xy-resize-background-color-default);background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;height:5px;translate:-50% -50%;width:5px}.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-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{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%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color-default);fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color-default);fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #0000001a;--shadow-glow:0 0 20px rgba(var(--theme-primary-rgb),0.3);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}*{transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.modern-node{border:2px solid;border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);cursor:move;min-width:160px;padding:1rem;padding:var(--space-md);position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.modern-node:hover{box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px) scale(1.02)}.modern-node.selected{box-shadow:0 0 0 3px #1976d299,0 0 20px rgba(var(--theme-primary-rgb),.3);box-shadow:0 0 0 3px #1976d299,var(--shadow-glow);transform:scale(1.05);will-change:transform}.modern-node-content{display:flex;flex-direction:column;gap:.25rem;gap:var(--space-xs)}.modern-node-label{font-size:.875rem;font-weight:500;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-node-code{font-family:monospace;font-size:.75rem;opacity:.6}.modern-node-badge{border:1px solid;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:500;margin-left:auto;margin-right:auto;margin-top:.25rem;margin-top:var(--space-xs);padding:.125rem .5rem}.modern-node-badge,.modern-node-icon{align-items:center;justify-content:center}.modern-node-icon{display:flex;height:1.25rem;opacity:.7;position:absolute;right:.5rem;right:var(--space-sm);top:.5rem;top:var(--space-sm);transition:opacity .15s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-fast);width:1.25rem}.modern-node:hover .modern-node-icon{opacity:1}.modern-handle{background:#0000!important;cursor:crosshair;height:8px!important;opacity:0;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);width:8px!important;z-index:10}.modern-handle:hover,.modern-node.selected .modern-handle,.modern-node:hover .modern-handle{opacity:1;transform:scale(1.5)}.modern-handle:hover{box-shadow:0 0 20px rgba(var(--theme-primary-rgb),.3);box-shadow:var(--shadow-glow)}.modern-panel{background:var(--theme-surface);border:1px solid var(--theme-border);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-slow)}.modern-panel-header{align-items:center;border-bottom:1px solid var(--theme-border);display:flex;justify-content:space-between;padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg)}.modern-panel-title{align-items:center;color:var(--theme-textPrimary);display:flex;font-size:1rem;font-weight:600;gap:.5rem;gap:var(--space-sm)}.modern-panel-content{overflow:auto;padding:1.5rem;padding:var(--space-lg)}.modern-toolbox-search{margin-bottom:1rem;margin-bottom:var(--space-md);position:relative}.modern-toolbox-search input{background:var(--theme-background);border:1px solid var(--theme-border);border-radius:.75rem;border-radius:var(--radius-lg);color:var(--theme-textPrimary);font-size:.875rem;padding:.5rem 1rem .5rem 2.5rem;padding:var(--space-sm) var(--space-md) var(--space-sm) 2.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);width:100%}.modern-toolbox-search input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb),.2);outline:none}.modern-toolbox-search-icon{color:var(--theme-textSecondary);left:1rem;left:var(--space-md);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.modern-toolbox-category{border-bottom:1px solid var(--theme-border);margin-bottom:.25rem;margin-bottom:var(--space-xs)}.modern-toolbox-category:last-child{border-bottom:none}.modern-toolbox-category-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:background-color .15s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-fast)}.modern-toolbox-category-header:hover{background:var(--theme-surfaceHover)}.modern-toolbox-category-title{color:var(--theme-textPrimary);font-size:.875rem;font-weight:500}.modern-toolbox-category-title,.modern-toolbox-item{align-items:center;display:flex;gap:.5rem;gap:var(--space-sm)}.modern-toolbox-item{border-left:3px solid #0000;border-radius:.5rem;border-radius:var(--radius-md);cursor:move;margin:.25rem .5rem;margin:var(--space-xs) var(--space-sm);padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.modern-toolbox-item:hover{background:var(--theme-surfaceHover);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);transform:translateX(2px)}.modern-btn{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;gap:var(--space-sm);padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.modern-btn-primary{background:var(--theme-primary);color:#fff}.modern-btn-primary:hover{box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);opacity:.9;transform:translateY(-1px)}.modern-btn-primary:active{transform:scale(.98)}.modern-btn-secondary{background:var(--theme-surfaceHover);border:1px solid var(--theme-border);color:var(--theme-textPrimary)}.modern-btn-secondary:hover{background:var(--theme-surface);border-color:var(--theme-primary)}.modern-btn-icon{align-items:center;background:#0000;border:none;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;justify-content:center;padding:.5rem;padding:var(--space-sm);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.modern-btn-icon:hover{background:var(--theme-surfaceHover)}.modern-input,.modern-textarea{background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:.5rem;border-radius:var(--radius-md);color:var(--theme-textPrimary);font-size:.875rem;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);width:100%}.modern-input:focus,.modern-textarea:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb),.2);outline:none}.modern-textarea{min-height:80px;resize:vertical}.modern-message{animation:fadeIn ease-out .3s cubic-bezier(.4,0,.2,1);animation:fadeIn var(--transition-slow) ease-out;margin-bottom:1rem;margin-bottom:var(--space-md)}.modern-message-header{align-items:center;color:var(--theme-textSecondary);display:flex;font-size:.75rem;gap:.5rem;gap:var(--space-sm);margin-bottom:.25rem;margin-bottom:var(--space-xs)}.modern-message-bubble{border-radius:1rem;font-size:.875rem;line-height:1.5;max-width:85%;padding:1rem;padding:var(--space-md)}.modern-message-user .modern-message-bubble{background:rgba(var(--theme-primary-rgb),.2);border-bottom-right-radius:.25rem;border-bottom-right-radius:var(--radius-sm);margin-left:auto}.modern-message-assistant .modern-message-bubble{background:var(--theme-surfaceHover);border-bottom-left-radius:.25rem;border-bottom-left-radius:var(--radius-sm);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm)}.modern-scrollbar::-webkit-scrollbar{height:8px;width:8px}.modern-scrollbar::-webkit-scrollbar-track{background:var(--theme-surface);border-radius:.25rem;border-radius:var(--radius-sm)}.modern-scrollbar::-webkit-scrollbar-thumb{background:var(--theme-border);border-radius:.25rem;border-radius:var(--radius-sm);-webkit-transition:background .15s cubic-bezier(.4,0,.2,1);transition:background .15s cubic-bezier(.4,0,.2,1);-webkit-transition:background var(--transition-fast);transition:background var(--transition-fast)}.modern-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--theme-textSecondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.node-editor-dialog{background:var(--theme-surface)!important;border:1px solid var(--theme-border)!important;border-radius:.75rem!important;border-radius:var(--radius-lg)!important}.node-editor-header{background:var(--theme-surfaceHover)!important;border-bottom:1px solid var(--theme-border)!important;cursor:move}.node-editor-content,.node-editor-header{padding:1.5rem!important;padding:var(--space-lg)!important}.node-editor-content{background:var(--theme-surface)!important}.node-editor-field{margin-bottom:1.5rem!important;margin-bottom:var(--space-lg)!important}.node-editor-icon-selector{background:var(--theme-background)!important;border:1px solid var(--theme-border)!important;border-radius:.5rem!important;border-radius:var(--radius-md)!important;display:flex!important;justify-content:center!important;margin-bottom:.5rem!important;margin-bottom:var(--space-sm)!important;padding:4px!important;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.node-editor-icon-selector:hover{border-color:var(--theme-primary)!important;box-shadow:0 0 0 2px rgba(var(--theme-primary-rgb),.1)!important}.node-editor-actions{background:var(--theme-surface)!important;border-top:1px solid var(--theme-border)!important;display:flex;gap:1rem;gap:var(--space-md);justify-content:flex-end;padding:1.5rem!important;padding:var(--space-lg)!important}.glass-effect{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(var(--theme-surface-rgb),.8)}.no-select{-webkit-user-select:none;user-select:none}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.modern-panel{width:100%!important}.modern-toolbox-item{font-size:.8125rem}.modern-node{min-width:140px}}.node-editor-floating{background-color:var(--theme-surface);border:1px solid var(--theme-border);border-radius:12px;box-shadow:0 8px 32px #0003;color:var(--theme-textPrimary);display:flex;flex-direction:column;max-height:calc(100vh - 100px);overflow:hidden;position:relative;width:420px;z-index:1000}.node-editor-floating.dropdown-open{cursor:not-allowed}.node-editor-floating .MuiTabs-root{flex-shrink:0;min-height:48px}.node-editor-floating-actions{background-color:var(--theme-surface);border-bottom:1px solid var(--theme-border);display:flex;flex-shrink:0;gap:8px;justify-content:center;padding:12px 16px}.node-editor-floating-content{box-sizing:border-box;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 16px}.node-editor-floating-content::-webkit-scrollbar{width:8px}.node-editor-floating-content::-webkit-scrollbar-track{background-color:var(--theme-surface);border-radius:4px}.node-editor-floating-content::-webkit-scrollbar-thumb{background-color:var(--theme-border);border-radius:4px}.node-editor-floating-content::-webkit-scrollbar-thumb:hover{background-color:var(--theme-textSecondary)}.node-editor-floating .MuiFormControl-root,.node-editor-floating .MuiTextField-root{margin-bottom:12px;width:100%}.node-editor-floating .MuiSelect-root{min-width:0;width:100%}.node-editor-floating .node-editor-icon-selector{display:flex;justify-content:flex-start;margin-bottom:16px}.node-editor-floating .edge-remap-section{border-top:1px solid var(--theme-border);margin-top:24px;padding-top:24px}.node-editor-floating .edge-remap-item{background-color:var(--theme-surfaceHover);border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-bottom:8px;padding:12px}.node-editor-floating .MuiInputBase-multiline{max-width:100%;overflow-wrap:break-word}.node-editor-floating .threat-analysis-text{max-width:100%;overflow-wrap:break-word;width:100%;word-break:break-word}.node-editor-floating .MuiTypography-caption{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.node-editor-floating .MuiMenuItem-root{max-width:350px;white-space:normal}.node-editor-floating-content>*{margin-bottom:12px}.node-editor-floating-content>:last-child{margin-bottom:0}.node-editor-floating .MuiFormHelperText-root{margin-bottom:8px;margin-top:4px}.node-editor-floating .MuiChip-root{max-width:100%;overflow:hidden;text-overflow:ellipsis}.edge-editor-floating{background-color:var(--theme-surface);border:1px solid var(--theme-border);border-radius:12px;box-shadow:0 8px 32px #0003;color:var(--theme-textPrimary);display:flex;flex-direction:column;max-height:calc(100vh - 100px);overflow:hidden;position:relative;width:420px;z-index:1000}.edge-editor-floating.dropdown-open{cursor:not-allowed}.edge-editor-floating-actions{background-color:var(--theme-surface);border-bottom:1px solid var(--theme-border);display:flex;flex-shrink:0;gap:8px;justify-content:center;padding:12px 16px}.edge-editor-floating-content{box-sizing:border-box;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 16px}.edge-editor-floating-content::-webkit-scrollbar{width:8px}.edge-editor-floating-content::-webkit-scrollbar-track{background-color:var(--theme-surface);border-radius:4px}.edge-editor-floating-content::-webkit-scrollbar-thumb{background-color:var(--theme-border);border-radius:4px}.edge-editor-floating-content::-webkit-scrollbar-thumb:hover{background-color:var(--theme-textSecondary)}.edge-editor-floating .MuiFormControl-root,.edge-editor-floating .MuiTextField-root{margin-bottom:12px;width:100%}.edge-editor-floating .MuiSelect-root{min-width:0;width:100%}.edge-editor-floating .MuiInputBase-multiline{max-width:100%;overflow-wrap:break-word}.edge-editor-floating .MuiTypography-caption{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.edge-editor-floating .MuiMenuItem-root{max-width:350px;white-space:normal}.MuiPaper-root.MuiMenu-paper{max-height:400px;max-width:400px;overflow:auto;z-index:2100!important}.MuiMenu-list,.MuiPopover-root,.MuiPopper-root{z-index:2100!important}.edge-editor-floating-content>*{margin-bottom:12px}.edge-editor-floating-content>:last-child{margin-bottom:0}.edge-editor-floating .MuiFormHelperText-root{margin-bottom:8px;margin-top:4px}.edge-editor-floating .MuiChip-root{max-width:100%;overflow:hidden;text-overflow:ellipsis}.react-flow-container{height:100%;width:100%}.react-flow__controls .react-flow__controls-button-active{background-color:#2196f3!important;background-color:var(--rf-controls-button-bg-active,#2196f3)!important;border-color:#2196f3!important;border-color:var(--rf-controls-button-bg-active,#2196f3)!important;color:#fff!important}.react-flow__controls .react-flow__controls-button-active:hover{background-color:#1976d2!important;background-color:var(--rf-controls-button-bg-active-hover,#1976d2)!important;border-color:#1976d2!important;border-color:var(--rf-controls-button-bg-active-hover,#1976d2)!important}.react-flow__controls .react-flow__controls-button-active svg{fill:#fff!important}.react-flow__node{pointer-events:all!important}.react-flow__node.non-selectable-drawing{cursor:default!important;pointer-events:none!important}.react-flow__node-freehand:not(.selected),.react-flow__node-shape:not(.selected),.react-flow__node-textAnnotation:not(.selected),.react-flow__node.non-selectable-drawing *{pointer-events:none!important}.react-flow__minimap .minimap-hidden{display:none!important}.security-zone-wrapper{height:100%;position:relative;width:100%}.zone-selected{will-change:transform!important}.zone-selected *{pointer-events:none!important}.zone-selected .zone-select-button{pointer-events:auto!important}.zone-selected .react-flow__resize-control .react-flow__resize-control-handle{cursor:nw-resize!important;pointer-events:auto!important}.zone-selected .zone-resize-handle{pointer-events:auto!important}.react-flow__node-securityZone.dragging,.react-flow__node-securityZone.dragging *{transition:none!important}.zone-inactive{pointer-events:none!important}.react-flow__node.non-selectable-zone,.react-flow__node:has(.zone-inactive){cursor:default!important;pointer-events:none!important;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.non-selectable-zone .zone-select-button,.zone-inactive .zone-select-button{cursor:pointer!important;pointer-events:auto!important;position:relative!important;z-index:1000!important}.non-selectable-zone .zone-select-button:before,.zone-inactive .zone-select-button:before{bottom:-10px;content:"";left:-10px;pointer-events:auto!important;position:absolute;right:-10px;top:-10px;z-index:-1}.security-zone-content{position:relative}.security-zone-content,.security-zone-content[class*=MuiBox-root]{background-color:inherit!important}.react-flow__handle{cursor:crosshair!important;height:8px!important;min-height:8px!important;min-width:8px!important;opacity:0;pointer-events:all!important;transform:none!important;transition:opacity .2s ease-in-out!important;width:8px!important;z-index:1!important}.react-flow__handle:after,.react-flow__handle:before{display:none!important}.react-flow__handle:before{bottom:-4px;content:"";left:-4px;pointer-events:all;position:absolute;right:-4px;top:-4px}.react-flow__handle:before:hover+.react-flow__handle,.react-flow__handle:hover{opacity:1}.react-flow__handle[data-handleid*=source-],.react-flow__handle[data-handleid*=target-]{opacity:.5}.react-flow__node.selected .react-flow__handle,.react-flow__node:hover .react-flow__handle{opacity:1}.security-zone-wrapper .react-flow__handle{background:#0000!important;border:2px solid #969696!important;cursor:crosshair!important;height:8px!important;opacity:0;pointer-events:all!important;transform:translate(-50%,-50%)!important;transition:opacity .2s ease-in-out!important;width:8px!important;z-index:10!important}.security-zone-wrapper .react-flow__handle:before{bottom:-12px;content:"";left:-12px;pointer-events:all;position:absolute;right:-12px;top:-12px}.security-zone-wrapper.selected .react-flow__handle,.security-zone-wrapper:hover .react-flow__handle{opacity:1}.react-flow__handle:hover,.security-zone-wrapper .react-flow__handle:hover{background:#0000!important;opacity:1}.react-flow__handle.react-flow__handle-connecting,.react-flow__handle.react-flow__handle-valid{opacity:1}.react-flow__handle-bottom,.react-flow__handle-left,.react-flow__handle-right,.react-flow__handle-top{transform:none!important}.react-flow__handle:hover{background:#0000!important;opacity:1}.react-flow__handle-connecting{background:#ff0072!important}.react-flow__handle-valid{background:#43b883!important}.react-flow__handle[data-connecting]{cursor:crosshair!important}.react-flow__handle[data-connecting][data-self-connect]:hover{cursor:not-allowed!important}.react-flow__edge{cursor:pointer;pointer-events:all!important;z-index:1000}.react-flow__edge-path{stroke:#8a8a8a;stroke-width:2;fill:none;cursor:pointer!important;pointer-events:all;transition:stroke .2s,stroke-width .2s}.react-flow__edge.selected .react-flow__edge-path{stroke:#0078d4;stroke-width:3}.react-flow__edge:hover .react-flow__edge-path{stroke:#3794ff;stroke-width:3px!important}.react-flow__connection{pointer-events:none;z-index:1000}.react-flow__connection-path{stroke:#8a8a8a;stroke-width:2;fill:none;pointer-events:none}.edge-label-container{background:#252526d9;border:1px solid #404040;border-radius:4px;color:#ccc;font-size:12px;padding:4px 8px;pointer-events:all;-webkit-user-select:none;user-select:none}.react-flow__edge:hover .edge-label-container{background:#252526f2;border-color:#0078d4}.react-flow__edge.selected .edge-label-container{background:#252526;border-color:#0078d4}.react-flow__controls{box-shadow:0 2px 4px #0003;transition:background-color .2s ease,border-color .2s ease}.react-flow__controls,.react-flow__controls button{background:#252526;background:var(--theme-surface,#252526);border:1px solid #404040;border:1px solid var(--theme-border,#404040);border-radius:4px;padding:4px}.react-flow__controls button{color:#ccc;color:var(--theme-textPrimary,#ccc);cursor:pointer;height:24px;margin:2px;transition:all .15s ease;width:24px}.react-flow__controls button:hover{background:#2d2d2d;background:var(--theme-surfaceHover,#2d2d2d);color:#0078d4;color:var(--theme-primary,#0078d4)}.react-flow__controls button svg{fill:currentColor}.react-flow__selection{z-index:4}.react-flow__selection,.react-flow__selectionpane{background:#0059dc14!important;border:1px solid #0059dc!important}.security-edge-animated{stroke-dasharray:5,5;animation:flowAnimationForward 1s linear infinite}.security-edge-animated-reverse{stroke-dasharray:5,5;animation:flowAnimationReverse 1s linear infinite}@keyframes flowAnimationForward{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}@keyframes flowAnimationReverse{0%{stroke-dashoffset:0}to{stroke-dashoffset:10}}.react-flow__controls .noselect,.react-flow__edge .noselect,.react-flow__node .noselect{-webkit-user-select:none;user-select:none}.analysis-panel-container,.analysis-panel-content,.analysis-panel-inner,.message-content{pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.analysis-panel-content .message-text,.analysis-panel-content .timestamp,.message-content div:not([role=button]):not(.MuiButton-root):not(.MuiIconButton-root),.message-content p,.message-content span,.selectable-message .message-text,.selectable-message .timestamp-text{cursor:text!important;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.analysis-panel-content .MuiButton-root,.analysis-panel-content .MuiIconButton-root,.analysis-panel-content [role=button],.analysis-panel-content button,.analysis-panel-content input,.analysis-panel-content textarea{cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important}.analysis-panel-container,.analysis-panel-content,.analysis-panel-inner,.message-content{pointer-events:auto!important}.selectable-message{-webkit-user-drag:none!important;-webkit-tap-highlight-color:transparent!important}.selectable-message,.selectable-message div{-webkit-touch-callout:default!important;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.selectable-message div{cursor:text!important}.message-text,.selectable-message,.selectable-timestamp,.timestamp-text{-webkit-user-drag:none!important;-webkit-tap-highlight-color:transparent!important;-webkit-touch-callout:default!important;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.message-text,.timestamp-text span:first-child{cursor:text!important}.selectable-message>div:first-child{-webkit-touch-callout:default!important;-webkit-user-drag:none!important;cursor:text!important;-webkit-user-select:text!important;user-select:text!important}.floating-panel-header{-webkit-app-region:no-drag;app-region:no-drag}.MuiDialogContent-root,.node-editor-content{scrollbar-color:var(--theme-border) var(--theme-surface);scrollbar-width:thin}.MuiDialogContent-root::-webkit-scrollbar,.node-editor-content::-webkit-scrollbar{height:8px;width:8px}.MuiDialogContent-root::-webkit-scrollbar-track,.node-editor-content::-webkit-scrollbar-track{background:var(--theme-surface)}.MuiDialogContent-root::-webkit-scrollbar-thumb,.node-editor-content::-webkit-scrollbar-thumb{background:var(--theme-border);border-radius:4px}.MuiDialogContent-root::-webkit-scrollbar-thumb:hover,.node-editor-content::-webkit-scrollbar-thumb:hover{background:var(--theme-textSecondary)}.react-flow__connection-path,.react-flow__edge-path{will-change:stroke,stroke-width}.react-flow__node{will-change:transform}.react-flow__handle{will-change:transform,background-color}.react-flow__node:hover{cursor:move}.react-flow__node.selected{animation:none!important;cursor:move}.modern-node.selected,.react-flow__node.selected:after,.react-flow__node.selected:before,.security-zone-wrapper.selected{animation:none!important}.react-flow__selectionpane+.react-flow__nodes .react-flow__node{animation:none!important;transition:none!important}.react-flow__selectionpane.dragging~.react-flow__nodes .modern-node,.react-flow__selectionpane.dragging~.react-flow__nodes .react-flow__node{animation:none!important}.modern-node.selected,.react-flow__node.selected{transition:box-shadow .15s ease,border-color .15s ease!important;will-change:transform}.react-flow__edge-label-container{position:relative!important;z-index:1002!important}.react-flow__edges,.react-flow__nodes{will-change:auto!important}.react-flow__selectionpane~.react-flow__edges .react-flow__edge{transition:none!important}.node-content{font-size:13px;padding:12px}.node-label{font-weight:500;margin-bottom:4px}.node-badge{border-radius:4px;display:inline-block;font-size:11px;margin-top:4px;padding:2px 6px}.analysis-panel-container,.analysis-panel-content,.message-text,.selectable-message,.selectable-message .message-text,.selectable-message .timestamp-text,.timestamp-text,div[data-testid=analysis-panel]{-webkit-touch-callout:default!important;-webkit-user-drag:none!important;-webkit-tap-highlight-color:transparent!important;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.message-text,.selectable-message,.selectable-message .message-text,.selectable-message .timestamp-text,.timestamp-text{cursor:text!important}.analysis-panel-content .MuiButton-root,.analysis-panel-content .MuiIconButton-root,.analysis-panel-content button,div[data-testid=analysis-panel] .MuiButton-root,div[data-testid=analysis-panel] .MuiIconButton-root,div[data-testid=analysis-panel] button{cursor:pointer!important;pointer-events:auto!important;-webkit-user-select:none!important;user-select:none!important}.analysis-panel-content input,.analysis-panel-content textarea,div[data-testid=analysis-panel] input,div[data-testid=analysis-panel] textarea{cursor:text!important;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.selectable-message span[style*="background-color: rgba(0,122,204,0.1)"],.timestamp-text span[style*="userSelect: none"]{cursor:default!important;-webkit-user-select:none!important;user-select:none!important}.zone-resize-handle{background:#fffc!important;border:2px solid!important;border-radius:2px!important;cursor:nw-resize!important;height:12px!important;opacity:.8!important;pointer-events:auto!important;transition:all .2s ease!important;width:12px!important}.zone-resize-handle:hover{background:#fff!important;opacity:1!important;transform:scale(1.2)!important;z-index:1000!important}.react-flow__resize-control-handle.top{cursor:n-resize!important}.react-flow__resize-control-handle.bottom{cursor:s-resize!important}.react-flow__resize-control-handle.left{cursor:w-resize!important}.react-flow__resize-control-handle.right{cursor:e-resize!important}.react-flow__resize-control-handle.top.left{cursor:nw-resize!important}.react-flow__resize-control-handle.top.right{cursor:ne-resize!important}.react-flow__resize-control-handle.bottom.left{cursor:sw-resize!important}.react-flow__resize-control-handle.bottom.right{cursor:se-resize!important}.react-flow__resize-control-line{pointer-events:auto!important}.react-flow__resize-control-line.top{cursor:n-resize!important}.react-flow__resize-control-line.bottom{cursor:s-resize!important}.react-flow__resize-control-line.left{cursor:w-resize!important}.react-flow__resize-control-line.right{cursor:e-resize!important}.zone-resize-handle:before{background:#0000;bottom:-8px;content:"";left:-8px;pointer-events:all;position:absolute;right:-8px;top:-8px}.zone-selected .react-flow__resize-control{border-style:dashed!important;border-width:2px!important;opacity:.6!important;pointer-events:auto!important}.zone-selected .react-flow__resize-control:hover{opacity:1!important}.zone-selected .react-flow__resize-control *{pointer-events:auto!important}.analysis-panel-container,.analysis-panel-inner{contain:layout style paint}.security-zone-wrapper{transform:translateZ(0);will-change:transform,width,height}.security-zone-content{transform:translateZ(0);will-change:width,height}.react-flow__resize-control{transition:none!important}.react-flow__node.react-flow__node-securityZone{transform:translateZ(0);will-change:transform,width,height}.zone-resize-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0);will-change:transform,opacity}.react-flow__node.react-flow__node-resizing,.react-flow__node.react-flow__node-resizing .security-zone-content,.react-flow__node.react-flow__node-resizing .security-zone-wrapper{transition:none!important}@keyframes neonGlow{0%,to{box-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 15px currentColor;filter:brightness(1);text-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 15px currentColor}50%{box-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 30px currentColor;filter:brightness(1.2);text-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 30px currentColor}}@keyframes glitch{0%{transform:translateX(0)}10%{transform:translateX(-2px) scaleY(1.01)}20%{transform:translateX(2px) scaleY(.99)}30%{transform:translateX(-1px) scaleY(1.01)}40%{transform:translateX(1px) scaleY(.98)}50%{transform:translateX(-2px) scaleY(1.02)}60%{transform:translateX(2px) scaleY(.99)}70%{transform:translateX(-1px) scaleY(1.01)}80%{transform:translateX(1px) scaleY(.98)}90%{transform:translateX(0) scaleY(1)}to{transform:translateX(0)}}@keyframes matrixRain{0%{opacity:1;transform:translateY(-100vh)}to{opacity:0;transform:translateY(100vh)}}@keyframes synthwaveGrid{0%{background-position:0 0}to{background-position:40px 40px}}@keyframes scanlines{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.theme-cyberpunk .neon-border,.theme-cyberpunk .neon-text{animation:neonGlow 2s ease-in-out infinite alternate}.theme-cyberpunk .neon-border{border:1px solid}.theme-cyberpunk button:hover,.theme-synthwave button:hover{animation:neonGlow 1s ease-in-out infinite alternate}.theme-cyberpunk .glitch-text,.theme-hacker .glitch-text{animation:glitch .3s infinite}.theme-cyberpunk .glitch-container:hover,.theme-hacker .glitch-container:hover{animation:glitch .5s infinite}.theme-synthwave:after{animation:synthwaveGrid 20s linear infinite;background-image:linear-gradient(#ff006e1a 1px,#0000 0),linear-gradient(90deg,#ff006e1a 1px,#0000 0);background-size:40px 40px}.theme-matrix:after,.theme-synthwave:after{content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.theme-matrix:after{background:radial-gradient(circle at 20% 20%,#00ff0008 0,#0000 50%),radial-gradient(circle at 80% 80%,#00ff0008 0,#0000 50%)}.float-animation{animation:float 3s ease-in-out infinite}.neon-glow{animation:neonGlow 2s ease-in-out infinite alternate}.glitch-effect{animation:glitch .3s infinite}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.react-flow__node:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px);transition:all .2s ease}.react-flow__edge.animated{stroke-dasharray:5;animation:flow 1s linear infinite}@keyframes flow{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}button:hover{box-shadow:0 2px 8px #0003;transform:translateY(-1px);transition:all .2s ease}.shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#ffffff1a,#fff3 50%,#ffffff1a);background-size:200px 100%}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.celebration-particles{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:9999}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}