.react-flow{width:100%;height:100%;position:relative;overflow:hidden}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selectionpane{z-index:5}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow .react-flow__connectionline{z-index:1001}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.inactive{pointer-events:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edge-path{fill:none}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-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__connection-path{fill:none}.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}.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}.react-flow__handle.connectable{pointer-events:all}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__controls{position:absolute;z-index:5;bottom:20px;left:15px}.react-flow__controls-button{width:24px;height:24px;border:none}.react-flow__controls-button svg{width:100%}.react-flow__minimap{position:absolute;z-index:5;bottom:20px;right:15px}.react-flow__attribution{font-size:10px;position:absolute;z-index:1000;background:rgba(255,255,255,.5);padding:2px 3px;color:#999}.react-flow__attribution a{color:#555;text-decoration:none}.react-flow__attribution.top{top:0}.react-flow__attribution.bottom{bottom:0}.react-flow__attribution.left{left:0}.react-flow__attribution.right{right:0}.react-flow__attribution.center{left:50%;transform:translateX(-50%)}.addModalStyles_overlay__8ChqD{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.45);overscroll-behavior:contain}.addModalStyles_modalContainer__cX30p{background:#ffffff;border-radius:1rem;box-shadow:0 10px 24px rgba(0,0,0,.12);width:clamp(320px,92vw,64rem);max-width:64rem;margin:1rem;padding:2rem;position:relative;max-height:90vh;overflow-y:auto;border:1px solid #f3f4f6;animation:addModalStyles_fadeIn__PrsBa .18s cubic-bezier(.51,.09,.56,.91)}.addModalStyles_modalContainer__cX30p textarea{min-height:160px;line-height:1.5;resize:vertical}@media (max-width:640px){.addModalStyles_modalContainer__cX30p{padding:1.25rem}.addModalStyles_modalContainer__cX30p textarea{min-height:140px}}.addModalStyles_closeButton__wfG0Z{position:absolute;top:1rem;right:1.5rem;font-size:1.5rem;color:#9ca3af;cursor:pointer;transition:color .2s}.addModalStyles_closeButton__wfG0Z:hover{color:#2563eb}@keyframes addModalStyles_fadeIn__PrsBa{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.SettingsActionButton_fab__9DMiN{position:absolute;left:16px;top:16px;z-index:40;padding:8px 14px;border-radius:9999px;background:#e0e7ff;color:#4338ca;border:1px solid #c7d2fe;box-shadow:0 2px 6px rgba(0,0,0,.08);font-weight:600;font-size:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .08s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.SettingsActionButton_fab__9DMiN:hover{background:#c7d2fe;border-color:#a5b4fc;box-shadow:0 6px 14px rgba(0,0,0,.08)}.SettingsActionButton_fab__9DMiN:active{transform:translateY(1px)}