.react-flow__handle:hover{background:#3f51b5!important}.react-flow__handle{height:15px!important;width:15px!important;background:#c6cceb!important;border:1px solid #fff!important}.node-container{display:flex;width:250px;justify-content:space-between;border-radius:1rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding:.75rem 1rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.node-container,.node-container:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.node-container:hover{cursor:pointer;--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity));--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.node-name{overflow:hidden;white-space:nowrap;font-size:.75rem;line-height:1rem}.node-label{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.node-building-outline .pipeline-node-without-border{position:relative;overflow:visible;border:3px solid transparent;background-clip:padding-box}.node-building-outline .pipeline-node-without-border:before{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;border-radius:18px;background:conic-gradient(from 90deg,#a855f7,#ec4899,transparent);animation:pulsate 1.5s ease-in-out infinite;z-index:-1}.node-id{width:fit-content;border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem}.node-body-container{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem}.node-input-field{display:block;width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));padding:.75rem;--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity));--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.modal-name{max-width:250px;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.125rem;line-height:1.75rem;font-weight:500}.node-desc{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));padding-bottom:.5rem;--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.tiptap-variable-node,.tiptap-variable-node-w-subkey{background-color:#eceef8;border:1px solid #e0e0e0;border-radius:10px;padding:6px 12px;display:inline-block;cursor:pointer;color:#2c387e;margin:2px 0;font-size:14px}.tiptap-variable-node-subkey-parent{border-right:1px solid gray;padding-right:6px;color:gray}.tiptap-variable-node-subkey-label{padding-left:6px}.loader-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.8);z-index:9999;display:flex;align-items:center;justify-content:center}.spinner{border:2px solid rgba(0,0,0,.1);border-left-color:#3855fb;border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulsate{0%,to{opacity:.4}50%{opacity:1}}@keyframes rotate-loader{to{transform:rotate(1turn)}}.node-status-loader{border:3px solid #e5e7eb;border-top-color:#8b5cf6;animation:spin 1s linear infinite}.node-status-loader,.node-status-tick{border-radius:50%;width:24px;height:24px}.node-status-tick{display:flex;align-items:center;justify-content:center;background-color:#10b981;color:#fff}.connector-node{width:fit-content;height:fit-content;border:none;padding:0;background:none}.connector-node button{border-radius:50%;padding:1px;cursor:pointer;background-color:#fff}.connector-node .react-flow__handle{height:5px!important;width:5px!important}