.wf-editor-root{--wf-bg: #fafaf9;--wf-bg-elevated: #ffffff;--wf-bg-subtle: #f5f5f4;--wf-bg-hover: #f0efed;--wf-border: #e7e5e4;--wf-border-strong: #d6d3d1;--wf-border-hairline: #ececea;--wf-text: #1c1917;--wf-text-muted: #57534e;--wf-text-faint: #a8a29e;--wf-accent: oklch(.55 .15 265);--wf-accent-soft: oklch(.96 .02 265);--wf-accent-text: oklch(.45 .16 265);--wf-success: oklch(.62 .13 150);--wf-success-soft: oklch(.96 .03 150);--wf-warn: oklch(.72 .14 75);--wf-warn-soft: oklch(.96 .04 75);--wf-danger: oklch(.58 .19 25);--wf-danger-soft: oklch(.96 .04 25);--wf-node-trigger: oklch(.62 .13 150);--wf-node-action: oklch(.55 .15 265);--wf-node-logic: oklch(.65 .14 60);--wf-node-transform: oklch(.6 .13 200);--wf-node-ai: oklch(.55 .16 310);--wf-node-code: oklch(.5 .02 270);--wf-node-integration: oklch(.6 .14 25);--wf-cat-ai: var(--wf-node-ai);--wf-cat-ai-soft: oklch(.96 .03 310);--wf-cat-ai-text: oklch(.45 .16 310);--wf-cat-logic: var(--wf-node-logic);--wf-cat-logic-soft: oklch(.96 .04 60);--wf-cat-logic-text: oklch(.45 .13 60);--wf-cat-data: var(--wf-node-transform);--wf-cat-data-soft: oklch(.96 .03 200);--wf-cat-data-text: oklch(.45 .13 200);--wf-cat-integrations: var(--wf-node-integration);--wf-cat-integrations-soft: oklch(.96 .04 25);--wf-cat-integrations-text: oklch(.45 .14 25);--wf-cat-flow-runtime: oklch(.55 .13 240);--wf-cat-flow-runtime-soft: oklch(.96 .03 240);--wf-cat-flow-runtime-text: oklch(.45 .13 240);--wf-cat-output: oklch(.5 .02 270);--wf-cat-output-soft: oklch(.96 .005 270);--wf-cat-output-text: oklch(.4 .02 270);--wf-shadow-sm: 0 1px 2px rgba(28, 25, 23, .04);--wf-shadow-md: 0 1px 2px rgba(28, 25, 23, .04), 0 4px 12px rgba(28, 25, 23, .05);--wf-shadow-lg: 0 1px 2px rgba(28, 25, 23, .04), 0 12px 32px rgba(28, 25, 23, .08);--wf-shadow-focus: 0 0 0 3px oklch(.55 .15 265 / .15);--wf-radius-sm: 4px;--wf-radius: 6px;--wf-radius-md: 8px;--wf-radius-lg: 10px;--wf-font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--wf-font-display: "Inter Tight", "Inter", ui-sans-serif, system-ui, sans-serif;--wf-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;font-family:var(--wf-font-sans);color:var(--wf-text);background:var(--wf-bg)}.wf-editor-root .wf-canvas{background-color:var(--wf-bg);background-image:radial-gradient(circle,#d6d3d1 1px,transparent 1px);background-size:16px 16px;background-position:0 0}.wf-editor-root .wf-topbar{background:var(--wf-bg-elevated);border-bottom:1px solid var(--wf-border)}.wf-editor-root .wf-leftbar{background:var(--wf-bg-elevated);border-right:1px solid var(--wf-border)}.wf-editor-root .wf-leftbar-icon{width:36px;height:36px;border-radius:var(--wf-radius);display:flex;align-items:center;justify-content:center;color:var(--wf-text-muted);cursor:pointer;transition:all .12s;border:none;background:transparent}.wf-editor-root .wf-leftbar-icon:hover{background:var(--wf-bg-hover);color:var(--wf-text)}.wf-editor-root .wf-leftbar-icon.active{background:var(--wf-bg-elevated);color:var(--wf-text);border:1px solid var(--wf-border)}.wf-editor-root .wf-status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:500;background:var(--wf-success-soft);color:var(--wf-success);border:1px solid color-mix(in oklch,var(--wf-success) 25%,transparent)}.wf-editor-root .wf-status-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--wf-success);box-shadow:0 0 0 3px color-mix(in oklch,var(--wf-success) 20%,transparent)}.wf-editor-root .wf-status-pill.dirty{background:var(--wf-warn-soft);color:var(--wf-warn);border-color:color-mix(in oklch,var(--wf-warn) 25%,transparent)}.wf-editor-root .wf-status-pill.dirty .dot{background:var(--wf-warn);box-shadow:0 0 0 3px color-mix(in oklch,var(--wf-warn) 20%,transparent)}.wf-modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;font-family:var(--wf-font-sans, "Inter", system-ui, sans-serif);color:var(--wf-text, #1c1917)}.wf-modal{background:var(--wf-bg-elevated, #ffffff);border-radius:var(--wf-radius-lg, 10px);border:1px solid var(--wf-border, #e7e5e4);box-shadow:var(--wf-shadow-lg, 0 12px 32px rgba(0, 0, 0, .15));display:flex;flex-direction:column;width:min(900px,92%);height:88vh;min-height:640px;max-height:88vh;overflow:hidden}.wf-modal-header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--wf-border, #e7e5e4)}.wf-modal-header h2{font-family:var(--wf-font-display, "Inter Tight", system-ui, sans-serif);font-size:15px;font-weight:600;margin:0;letter-spacing:-.01em}.wf-modal-header .sub{font-size:12px;color:var(--wf-text-muted, #57534e);margin-top:2px}.wf-modal-body{display:flex;flex:1;min-height:0}.wf-modal-side{width:200px;flex-shrink:0;background:var(--wf-bg-subtle, #f5f5f4);border-right:1px solid var(--wf-border, #e7e5e4);padding:10px 8px;overflow-y:auto}.wf-side-section{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--wf-text-faint, #a8a29e);padding:10px 10px 4px}.wf-side-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--wf-radius, 6px);font-size:12.5px;color:var(--wf-text-muted, #57534e);cursor:pointer;transition:background .1s,color .1s;border:none;background:transparent;width:100%;text-align:left}.wf-side-item:hover{background:var(--wf-bg-hover, #f0efed);color:var(--wf-text, #1c1917)}.wf-side-item.active{background:var(--wf-accent-soft, oklch(.96 .02 265));color:var(--wf-accent-text, oklch(.45 .16 265));font-weight:550}.wf-side-item .right-icon{margin-left:auto}.wf-side-item .right-icon.warn{color:var(--wf-warn, #b45309)}.wf-side-item .right-icon.danger{color:var(--wf-danger, #dc2626)}.wf-side-item .right-icon.check{color:var(--wf-success, #059669)}.wf-modal-main{flex:1;min-width:0;overflow-y:auto;background:var(--wf-bg-elevated, #ffffff)}.wf-modal-main-content{padding:22px 24px 36px}.wf-modal-footer{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--wf-border, #e7e5e4);background:var(--wf-bg-subtle, #f5f5f4);font-size:12px;color:var(--wf-text-muted, #57534e)}.wf-modal-footer .left{flex:1;display:inline-flex;align-items:center;gap:6px}.wf-modal-footer .right{display:inline-flex;align-items:center;gap:6px}.wf-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;font:500 12.5px/1 var(--wf-font-sans, "Inter", system-ui, sans-serif);border-radius:var(--wf-radius, 6px);border:1px solid var(--wf-border-strong, #d6d3d1);background:var(--wf-bg-elevated, #ffffff);color:var(--wf-text, #1c1917);cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.wf-btn:hover{background:var(--wf-bg-subtle, #f5f5f4)}.wf-btn:disabled{opacity:.5;cursor:not-allowed}.wf-btn.wf-btn-sm{height:26px;padding:0 9px;font-size:12px}.wf-btn.wf-btn-icon{width:30px;padding:0;justify-content:center}.wf-btn.wf-btn-ghost{border-color:transparent;background:transparent;color:var(--wf-text-muted, #57534e)}.wf-btn.wf-btn-ghost:hover{background:var(--wf-bg-hover, #f0efed);color:var(--wf-text, #1c1917)}.wf-btn.wf-btn-primary{background:var(--wf-text, #1c1917);color:var(--wf-bg-elevated, #ffffff);border-color:var(--wf-text, #1c1917)}.wf-btn.wf-btn-primary:hover{background:#000}.wf-btn.wf-btn-accent{background:var(--wf-accent, oklch(.55 .15 265));color:#fff;border-color:var(--wf-accent, oklch(.55 .15 265))}.wf-modal-header .h-icon{width:30px;height:30px;border-radius:var(--wf-radius, 6px);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.wf-editor-root .react-flow__node{font-family:var(--wf-font-sans)}.wf-editor-root .react-flow__node.selected{filter:drop-shadow(var(--wf-shadow-focus))}.wf-editor-root .wf-palette{display:flex;flex-direction:column;height:100%;background:var(--wf-bg)}.wf-editor-root .wf-palette-header{background:var(--wf-bg-elevated);border-bottom:1px solid var(--wf-border);padding:12px 14px}.wf-editor-root .wf-palette-title{font-size:13px;font-weight:600;color:var(--wf-text)}.wf-editor-root .wf-palette-subtitle{font-size:11px;color:var(--wf-text-faint);margin-top:2px}.wf-editor-root .wf-palette-search{margin-top:10px;display:flex;align-items:center;gap:6px;padding:7px 10px;background:var(--wf-bg-subtle);border:1px solid var(--wf-border-hairline);border-radius:var(--wf-radius)}.wf-editor-root .wf-palette-search input{flex:1;background:transparent;border:0;outline:0;font-size:12px;color:var(--wf-text);min-width:0}.wf-editor-root .wf-palette-search input::placeholder{color:var(--wf-text-faint)}.wf-editor-root .wf-palette-back{font-size:11px;font-weight:600;color:var(--wf-text-muted);padding:4px 9px;background:var(--wf-bg-elevated);border:1px solid var(--wf-border);border-radius:var(--wf-radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.wf-editor-root .wf-palette-back:hover{background:var(--wf-bg-hover)}.wf-editor-root .wf-palette-body{flex:1;overflow-y:auto;padding:10px}.wf-editor-root .wf-cat-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:var(--wf-bg-elevated);border:1px solid var(--wf-border);border-radius:var(--wf-radius);text-align:left;cursor:pointer;margin-bottom:6px;transition:background .12s,border-color .12s}.wf-editor-root .wf-cat-button:hover{background:var(--wf-bg-hover);border-color:var(--wf-border-strong)}.wf-editor-root .wf-cat-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--wf-radius);flex-shrink:0}.wf-editor-root .wf-cat-button-body{display:flex;align-items:center;gap:10px;min-width:0}.wf-editor-root .wf-cat-button-text{min-width:0}.wf-editor-root .wf-cat-name{font-size:12px;font-weight:600;color:var(--wf-text)}.wf-editor-root .wf-cat-subtitle{font-size:10px;color:var(--wf-text-faint);margin-top:1px;line-height:1.4}.wf-editor-root .wf-cat-count{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;border:1px solid transparent}.wf-editor-root .wf-item-card{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;background:var(--wf-bg-elevated);border:1px solid var(--wf-border);border-radius:var(--wf-radius);margin-bottom:6px;cursor:grab;transition:background .12s,border-color .12s}.wf-editor-root .wf-item-card:hover{background:var(--wf-bg-hover);border-color:var(--wf-border-strong)}.wf-editor-root .wf-item-card:active{cursor:grabbing}.wf-editor-root .wf-item-icon{width:30px;height:30px;border-radius:var(--wf-radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.wf-editor-root .wf-item-text{flex:1;min-width:0}.wf-editor-root .wf-item-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wf-editor-root .wf-item-name{font-size:12px;font-weight:600;color:var(--wf-text)}.wf-editor-root .wf-item-desc{font-size:10px;color:var(--wf-text-faint);line-height:1.4;margin-top:1px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.wf-editor-root .wf-item-insert{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--wf-bg-elevated);border:1px solid var(--wf-border);border-radius:var(--wf-radius-sm);color:var(--wf-text-muted);cursor:pointer;flex-shrink:0}.wf-editor-root .wf-item-insert:hover:not(:disabled){background:var(--wf-bg-hover);color:var(--wf-text)}.wf-editor-root .wf-item-insert:disabled{opacity:.5;cursor:not-allowed}.wf-editor-root .wf-item-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;border:1px solid transparent;letter-spacing:.02em}.wf-editor-root .wf-items-divider{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:6px 4px 2px}.wf-editor-root .wf-items-divider-label{font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--wf-text-faint);text-transform:uppercase}.wf-editor-root .wf-items-divider-line{flex:1;height:1px;background:var(--wf-border-hairline)}.wf-editor-root .wf-cat-ai .wf-cat-icon,.wf-editor-root .wf-cat-ai .wf-item-icon{background:var(--wf-cat-ai-soft);color:var(--wf-cat-ai-text);border:1px solid var(--wf-cat-ai-soft)}.wf-editor-root .wf-cat-ai .wf-cat-count,.wf-editor-root .wf-cat-ai .wf-item-badge.is-yours{background:var(--wf-cat-ai-soft);color:var(--wf-cat-ai-text);border-color:var(--wf-cat-ai-soft)}.wf-editor-root .wf-cat-logic .wf-cat-icon,.wf-editor-root .wf-cat-logic .wf-item-icon{background:var(--wf-cat-logic-soft);color:var(--wf-cat-logic-text);border:1px solid var(--wf-cat-logic-soft)}.wf-editor-root .wf-cat-logic .wf-cat-count{background:var(--wf-cat-logic-soft);color:var(--wf-cat-logic-text);border-color:var(--wf-cat-logic-soft)}.wf-editor-root .wf-cat-data .wf-cat-icon,.wf-editor-root .wf-cat-data .wf-item-icon{background:var(--wf-cat-data-soft);color:var(--wf-cat-data-text);border:1px solid var(--wf-cat-data-soft)}.wf-editor-root .wf-cat-data .wf-cat-count{background:var(--wf-cat-data-soft);color:var(--wf-cat-data-text);border-color:var(--wf-cat-data-soft)}.wf-editor-root .wf-cat-integrations .wf-cat-icon,.wf-editor-root .wf-cat-integrations .wf-item-icon{background:var(--wf-cat-integrations-soft);color:var(--wf-cat-integrations-text);border:1px solid var(--wf-cat-integrations-soft)}.wf-editor-root .wf-cat-integrations .wf-cat-count,.wf-editor-root .wf-cat-integrations .wf-item-badge.is-provider{background:var(--wf-cat-integrations-soft);color:var(--wf-cat-integrations-text);border-color:var(--wf-cat-integrations-soft)}.wf-editor-root .wf-cat-operations .wf-cat-icon,.wf-editor-root .wf-cat-operations .wf-item-icon{background:var(--wf-cat-flow-runtime-soft);color:var(--wf-cat-flow-runtime-text);border:1px solid var(--wf-cat-flow-runtime-soft)}.wf-editor-root .wf-cat-operations .wf-cat-count{background:var(--wf-cat-flow-runtime-soft);color:var(--wf-cat-flow-runtime-text);border-color:var(--wf-cat-flow-runtime-soft)}.wf-editor-root .wf-cat-output .wf-cat-icon,.wf-editor-root .wf-cat-output .wf-item-icon{background:var(--wf-cat-output-soft);color:var(--wf-cat-output-text);border:1px solid var(--wf-cat-output-soft)}.wf-editor-root .wf-cat-output .wf-cat-count{background:var(--wf-cat-output-soft);color:var(--wf-cat-output-text);border-color:var(--wf-cat-output-soft)}.wf-editor-root .wf-settings-section{margin-bottom:18px}.wf-editor-root .wf-settings-section-label{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--wf-text-muted);text-transform:uppercase;margin-bottom:8px}.wf-editor-root .wf-settings-card{background:var(--wf-bg-elevated);border:1px solid var(--wf-border);border-radius:var(--wf-radius);padding:12px}@keyframes spin{to{transform:rotate(360deg)}}
