.nf-port{z-index:4;cursor:crosshair;position:absolute;box-shadow:none!important}.nf-port:before{content:"";border:1px solid var(--nf-node-outline,var(--color-border));background:var(--color-card);pointer-events:none;border-radius:50%;position:absolute;inset:1px}.nf-port:after{content:"";background:var(--color-card);pointer-events:none;width:12px;position:absolute;top:1px;bottom:1px}.nf-port-input:after{right:0}.nf-port-output:after{left:0}.nf-port-core{background:var(--color-muted-foreground);z-index:1;pointer-events:none;border-radius:50%;width:10px;height:10px;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nf-icon-frame{box-sizing:border-box;border:1px solid var(--color-border);border-radius:11px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;position:relative}.nf-icon-frame>svg{width:20px;height:20px;display:block}.nf-identity{background:var(--color-muted)}.nf-port-rows{border-top:1px solid var(--color-border);padding:4px 0 8px}.nf-port-row{height:30px;color:var(--color-muted-foreground);grid-template-columns:1fr 1fr;align-items:center;padding:0 20px;font-size:10px;display:grid;position:relative}.nf-port-row-output-label{text-align:right}.nf-copy{flex:1;min-width:0}.nf-copy strong{letter-spacing:-.015em;font-size:13px;font-weight:600;display:block}.nf-copy small{color:var(--color-muted-foreground);margin-top:4px;font-size:11px;display:block}.nf-node{width:300px;max-width:100%;padding-top:44px;padding-bottom:8px;position:relative}.nf-node-body{outline:none;box-shadow:0 6px 14px -10px #0004;border:1px solid var(--nf-node-outline,var(--color-border))!important;background:var(--color-card)!important;border-radius:15px!important}.nf-node-content{align-items:center;gap:12px;min-height:78px;padding:14px;display:flex}.nf-selected{--nf-node-outline:var(--color-primary);box-shadow:0 6px 20px -10px color-mix(in oklab,var(--color-primary) 50%,transparent);outline:none!important}.nf-disabled{opacity:.45;border-style:dashed!important}.nf-trigger{color:#a16207;z-index:3;background:#fef3c7;border:1px solid #fcd34d;border-radius:7px;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.nf-execution{color:var(--color-muted-foreground);background:var(--color-muted)}.nf-success{color:#047857;background:#d1fae5;border-color:#a7f3d0}.nf-error{color:#be123c;background:#ffe4e6;border-color:#fecdd3}.nf-waiting{color:#a16207;background:#fef3c7;border-color:#fde68a}.nf-running{color:#0284c7;background:#e0f2fe;border-color:#7dd3fc}.nf-live-label{text-align:center;letter-spacing:.08em;color:#0284c7;font-size:7px;font-weight:750;position:absolute;top:calc(100% + 2px);left:0;right:0}@property --nf-running-outline{syntax:"<color>";inherits:true;initial-value:#38bdf8}.nf-running-border{--nf-node-outline:var(--nf-running-outline);animation:1.5s ease-in-out infinite nf-outline-pulse}@keyframes nf-outline-pulse{0%,to{--nf-running-outline:#0284c7}50%{--nf-running-outline:#7dd3fc}}@media (prefers-reduced-motion:reduce){.nf-running-border{--nf-running-outline:#0284c7;animation:none}}.nf-slot{box-sizing:border-box;border:1px dashed var(--color-muted-foreground);width:40px;height:40px;color:var(--color-muted-foreground);background:var(--color-background);border-radius:11px;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.nf-slot>svg{width:20px;height:20px;display:block}.nf-slot-filled{border-style:solid;border-color:var(--color-border);color:var(--color-foreground);background:var(--color-muted)}button.nf-slot{cursor:pointer}button.nf-slot:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.nf-attachments{flex-wrap:wrap;gap:8px;padding:10px 12px 0;display:flex}.nf-occupancy{color:#92400e;white-space:nowrap;background:#fffbeb;border:1px solid #fcd34d;border-radius:20px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:inline-flex}.nf-occupancy-active{color:#075985;background:#f0f9ff;border-color:#7dd3fc}.nf-node-footer{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;padding-top:9px;display:flex}.nf-duration{color:var(--color-muted-foreground);white-space:nowrap;align-items:center;gap:4px;margin-left:auto;font-size:10px;display:inline-flex}.nf-validation{color:#b45309;align-items:center;gap:5px;font-size:10px;display:flex}.nf-actions{z-index:6;--ed-ring:var(--color-primary);--ed-ring-struct:var(--color-primary);--ed-icon:var(--color-primary-foreground);--ed-ring-hover:color-mix(in oklab,var(--color-primary) 85%,black);--ed-ring-struct-hover:color-mix(in oklab,var(--color-primary) 85%,black);position:absolute;top:0;right:-1px;transform:translateY(-100%)}.nf-actions [data-selection-action-bar]{z-index:auto;position:relative}.nf-node-body:has(>.nf-actions){border-top-right-radius:0!important}.nf-output-label{color:var(--color-muted-foreground);font-size:9px;position:absolute;right:16px;transform:translateY(-50%)}.nf-node-main,.nf-node-content{position:relative}.nf-node-circle .nf-node-main{height:100%}.nf-primary-ports{pointer-events:none;position:absolute;inset:0}.nf-primary-ports>.nf-port{pointer-events:auto}.nf-node-content:has(.nf-primary-ports[data-multiple-outputs=true]){min-height:96px}.nf-waiting-tab{z-index:6;position:absolute;top:0;left:-1px;transform:translateY(-100%)}.nf-waiting-readout[data-selection-action-bar]{z-index:auto;--ed-ring:#fbbf24;--ed-ring-struct:#fbbf24;--ed-icon:#78350f;position:relative;transform:scaleX(-1)}.nf-waiting-readout[data-selection-action-bar]>.nf-waiting-content{white-space:nowrap;align-items:center;gap:5px;width:auto;padding:0 9px;font-size:11px;display:flex;transform:scaleX(-1)}.nf-node-body:has(>.nf-waiting-tab){border-top-left-radius:0!important}.nf-slot-anchor{flex-shrink:0;width:40px;height:40px;display:inline-flex;position:relative}.nf-attachment-port:before{content:"";border:1px solid var(--nf-node-outline,var(--color-border));background:var(--color-card);pointer-events:none;border-radius:50%;position:absolute;inset:1px}.nf-attachment-port .nf-port-core{width:9px;height:9px}.nf-port-input .nf-port-core{border-radius:1px;width:5px;height:15px}.nf-port-input:before,.nf-port-input:after{display:none}.nf-attachment-port{z-index:4;cursor:crosshair}.nf-attachment-port:after{content:"";background:var(--color-card);pointer-events:none;height:12px;position:absolute;left:1px;right:1px}.nf-attachment-port-input:after{top:0}.nf-attachment-port-output:after{bottom:0}.nf-bottom-ports{width:40px;height:0;position:absolute;bottom:-1px;left:12px}.nf-attachments{gap:16px}.nf-attachment-position{flex-shrink:0;width:40px;height:40px;display:inline-flex}.nf-bottom-ports{gap:16px;width:max-content;min-width:40px;display:flex}.nf-bottom-port-anchor{flex-shrink:0;width:30px;height:0;display:block;position:relative}.nf-node-circle .nf-node-body{width:80px;height:80px;margin-inline:auto;border-radius:50%!important}.nf-node-circle .nf-node-content{justify-content:center;height:100%;min-height:0;padding:0}.nf-node-circle .nf-node-footer{justify-content:center;padding-top:12px}.nf-bottom-ports:has(>.nf-bottom-port-anchor){gap:0;min-width:0;left:18px}.nf-active-bubble{z-index:6;position:absolute;top:-8px;left:50%;transform:translate(-50%,-100%)}.nf-node:has(.nf-active-bubble):has(.nf-actions[data-extended=true]){width:360px}.nf-port-hit-area{pointer-events:auto;width:24px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.react-flow__handle.nf-port:before,.react-flow__handle.nf-attachment-port:before{width:22px;height:22px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.react-flow__handle.nf-port-output:after{width:12px;height:22px;top:50%;bottom:auto;left:calc(50% - 12px);transform:translateY(-50%)}.react-flow__handle.nf-attachment-port-output:after{width:22px;height:12px;bottom:calc(50% - 12px);left:50%;right:auto;transform:translate(-50%)}.nf-node[data-execution=success]>.nf-node-body{--nf-node-outline:var(--color-emerald-500,#10b981)}.nf-node[data-execution=error]>.nf-node-body{--nf-node-outline:var(--color-rose-500,#f43f5e)}.react-flow__handle.nf-attachment-port-input:after{width:22px;height:12px;top:calc(50% - 12px);left:50%;right:auto;transform:translate(-50%)}.nf-node-details{align-items:flex-start;gap:8px;display:flex}.nf-node-details>.nf-attachments{flex-shrink:0}.nf-node-details>.nf-node-footer{flex:1;min-width:0}.nf-waiting-readout[data-selection-action-bar][data-pill-tier=struct]:after{content:"";border:0;border-top:1px solid var(--nf-node-outline,var(--color-border));border-right:1px solid var(--nf-node-outline,var(--color-border));pointer-events:none;position:absolute;inset:0 0 0 5px}.nf-waiting-wing-outline{stroke:var(--nf-node-outline,var(--color-border));stroke-width:1px;pointer-events:none;position:absolute;top:0;left:-12px;overflow:visible}.nf-warning-banner{color:#9a3412;background:#ffedd5;border-bottom:1px solid #fdba74;border-radius:14px 14px 0 0;padding:8px 14px}.nf-warning-banner .nf-validation{color:inherit;font-size:11px;line-height:16px}.nf-node-body:has(>.nf-waiting-tab)>.nf-warning-banner{border-top-left-radius:0}.nf-node-body:has(>.nf-actions)>.nf-warning-banner{border-top-right-radius:0}.nf-pass-through{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.nf-node-icon{width:64px}.nf-node-disclosure{z-index:20;border:1px solid var(--color-border);background:var(--color-card);width:100%;color:var(--color-card-foreground);border-radius:10px;position:absolute;top:calc(100% - 4px);left:0;overflow:hidden;box-shadow:0 6px 14px -10px #0004}.nf-node-disclosure-toggle{cursor:pointer;color:inherit}.nf-node-disclosure-toggle:hover{background:var(--color-accent)}.nf-node-disclosure-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.nf-node-disclosure-toggle[aria-expanded=true]>svg{transform:rotate(180deg)}.nf-node-icon .nf-node-content{place-items:stretch stretch;min-height:62px;padding:0;display:grid}.nf-trigger-button{width:100%;height:62px;color:inherit;cursor:pointer;touch-action:none;background:0 0;border:0;border-radius:14px;place-items:center;padding:0;display:grid}.nf-trigger-button:hover:not(:disabled){background:var(--color-accent)}.nf-trigger-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.nf-trigger-button:disabled{cursor:default}.nf-trigger-button>svg,.nf-trigger-button>img{pointer-events:none}.nf-node-content:has(>.nf-trigger-button[data-has-name=true]){padding:0}.nf-trigger-button[data-has-name=true]{text-align:left;height:auto;min-height:78px;font:inherit;gap:12px;padding:14px;display:flex}.nf-trigger-button[data-has-name=true]>.nf-copy{overflow-wrap:anywhere}
