.flow-builder{z-index:100;background:var(--color-background-primary);color:var(--color-text-default);flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45;display:flex;position:fixed;inset:0}.flow-builder *{box-sizing:border-box}.flow-builder button,.flow-builder input,.flow-builder textarea{font:inherit;color:inherit}.flow-builder button{cursor:pointer}.flow-builder button:disabled{opacity:.42;cursor:default}.flow-builder button:focus-visible,.flow-builder input:focus-visible,.flow-builder textarea:focus-visible{outline:2px solid var(--color-interactive-hue);outline-offset:3px}.flow-header{border-bottom:1px solid var(--color-background-border);background:var(--color-background-primary);z-index:2;flex-shrink:0;align-items:center;gap:12px;height:78px;padding:12px 24px;display:flex}.flow-heading{flex:1;min-width:180px;max-width:420px}.flow-breadcrumb{color:var(--color-text-secondary);align-items:center;gap:7px;margin-bottom:3px;font-size:11px;display:flex}.flow-heading input{letter-spacing:-.35px;background:0 0;border:0;width:100%;padding:0;font-size:18px;font-weight:600}.flow-demo-badge{background:var(--color-background-surface);color:var(--color-text-secondary);border-radius:5px;padding:3px 8px;font-size:11px}.flow-save-status{color:var(--color-text-secondary);white-space:nowrap;margin-left:auto;font-size:12px}.flow-button{border:1px solid var(--color-background-border);background:var(--color-background-primary);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:8px 13px;font-weight:500;display:inline-flex}.flow-button:hover:not(:disabled){background:var(--color-background-surface)}.flow-button.flow-primary{background:var(--color-button-background);color:var(--color-button-text);border-color:var(--color-button-background)}.flow-button.is-active{background:var(--color-interactive-tint);border-color:var(--color-interactive-hue)}.flow-icon-button{background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:30px;height:32px;display:inline-flex}.flow-icon-button:hover,.flow-icon-button.is-active{background:var(--color-background-surface)}.flow-workspace{flex:1;min-height:0;display:flex}.flow-canvas{background:var(--color-background-canvas);flex:1;min-width:0;position:relative}.flow-canvas-toolbar{align-items:center;gap:14px;display:flex;position:absolute;top:22px;left:24px}.flow-canvas-toolbar .flow-button{box-shadow:0 2px 5px #00000008}.flow-canvas-toolbar>span{color:var(--color-text-secondary);font-size:12px}.flow-canvas-caption{color:var(--color-text-secondary);pointer-events:none;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;bottom:26px;left:80px}.flow-dot{background:var(--color-status-success-hue);border-radius:50%;width:7px;height:7px}.flow-card{background:var(--color-background-primary);border:1px solid var(--color-background-border);border-radius:12px;width:280px;padding:16px 18px;position:relative;box-shadow:0 3px 8px #00000005}.flow-card.is-selected{border-color:var(--color-interactive-hue);box-shadow:0 0 0 3px var(--color-interactive-tint), 0 6px 16px #00000008}.flow-card-kind{color:var(--color-text-secondary);align-items:center;gap:7px;margin-bottom:9px;font-size:10px;font-weight:600;display:flex}.flow-kind-icon{background:var(--color-background-surface);width:25px;height:25px;color:var(--color-text-secondary);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.flow-decision .flow-kind-icon,.flow-kind-icon.flow-decision,.flow-menu-icon.flow-decision{background:var(--color-interactive-tint);color:var(--color-interactive-hue)}.flow-grip{opacity:.4;margin-left:auto}.flow-card>strong{letter-spacing:-.2px;font-size:14px;font-weight:600;display:block}.flow-card>p{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 0;font-size:11px;line-height:1.55;display:-webkit-box;overflow:hidden}.flow-card-doc{color:var(--color-text-secondary);background:var(--color-background-surface);border-radius:6px;align-items:center;gap:6px;margin:12px 0 0;padding:8px;font-size:10px;display:flex}.flow-card-note{color:var(--color-interactive-hue);margin:8px 0 0;font-size:10px}.flow-ports{border-top:1px solid var(--color-background-border);text-align:center;margin:13px -18px -16px;padding:10px 0;font-size:10px;font-weight:500;display:flex}.flow-ports>div+div{border-left:1px solid var(--color-background-border)}.flow-card .react-flow__handle{background:var(--color-background-primary);border:2px solid var(--color-background-border);width:9px;min-width:9px;height:9px;min-height:9px}.flow-card.is-selected .react-flow__handle{border-color:var(--color-interactive-hue)}.flow-terminal{justify-content:center;width:280px;display:flex}.flow-card.flow-terminal-marker{border-radius:24px;justify-content:center;align-items:center;gap:8px;width:auto;min-width:104px;min-height:44px;padding:10px 18px;display:flex}.flow-on-path .flow-card{border-color:var(--color-interactive-hue)}.flow-inspector{background:var(--color-background-primary);border-left:1px solid var(--color-background-border);z-index:2;flex-direction:column;flex-shrink:0;width:360px;min-height:0;display:flex}.flow-panel-header{border-bottom:1px solid var(--color-background-border);flex-shrink:0;align-items:center;gap:11px;height:76px;padding:18px 22px;display:flex}.flow-panel-header>div{flex:1}.flow-panel-header strong{font-size:14px;font-weight:600}.flow-panel-header small{color:var(--color-text-secondary);margin-top:2px;font-size:11px;display:block}.flow-panel-body{flex:1;min-height:0;padding:22px;overflow:auto}.flow-field{flex-direction:column;gap:8px;margin-bottom:22px;font-size:12px;font-weight:600;display:flex}.flow-field input,.flow-field select,.flow-field textarea{border:1px solid var(--color-background-border);background:var(--color-form-input-background);resize:vertical;border-radius:8px;width:100%;padding:10px 12px;font-size:13px;font-weight:400;line-height:1.65}.flow-field textarea{min-height:90px}.flow-help{color:var(--color-text-secondary);gap:8px;margin-top:-8px;font-size:12px;line-height:1.6;display:flex}.flow-help>svg{color:var(--color-interactive-hue);flex-shrink:0;margin-top:3px}.flow-panel-section{border-top:1px solid var(--color-background-border);margin-top:24px;padding-top:22px}.flow-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.flow-section-heading strong{font-size:13px;font-weight:600}.flow-section-heading>span{color:var(--color-text-secondary);font-size:11px}.flow-hint{color:var(--color-text-secondary);margin:6px 0 14px;font-size:12px;line-height:1.6}.flow-outcome{border:1px solid var(--color-background-border);border-radius:9px;margin-bottom:10px;padding:10px 12px}.flow-outcome-title{align-items:center;gap:8px;display:flex}.flow-outcome-title input{background:0 0;border:0;width:100%;min-width:0;padding:2px 0;font-size:13px;font-weight:600}.flow-route-dot{border:2px solid var(--color-interactive-hue);border-radius:50%;flex-shrink:0;width:7px;height:7px}.flow-outcome textarea{resize:vertical;width:100%;color:var(--color-text-secondary);background:0 0;border:0;padding:5px 0;font-size:12px;line-height:1.5}.flow-outcome-target{color:var(--color-text-secondary);align-items:center;gap:6px;margin-top:4px;font-size:10px;display:flex}.flow-text-button{background:0 0;border:0;align-items:center;gap:6px;padding:7px 0;font-size:12px;display:inline-flex;color:var(--color-text-secondary)!important}.flow-guidance{border:1px solid var(--color-background-border);border-radius:9px;align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:flex}.flow-guidance>svg{color:var(--color-text-secondary);flex-shrink:0}.flow-guidance>div{flex:1;min-width:0}.flow-guidance-open{text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:0}.flow-guidance strong{font-size:12px;font-weight:500;display:block}.flow-guidance small{color:var(--color-text-secondary);margin-top:3px;font-size:10px;display:block}.flow-attach-empty{border:1px dashed var(--color-background-border);background:0 0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:12px;font-size:12px;display:flex}.flow-local-note{color:var(--color-text-secondary);gap:8px;margin-top:22px;font-size:11px;line-height:1.6;display:flex}.flow-local-note svg{flex-shrink:0;margin-top:2px}.flow-panel-footer{border-top:1px solid var(--color-background-border);color:var(--color-text-secondary);flex-shrink:0;padding:12px 22px;font-size:10px}.flow-panel-footer span{line-height:1.8;display:block}.flow-add-menu{background:var(--color-background-primary);border:1px solid var(--color-background-border);z-index:5;border-radius:13px;width:330px;padding:10px;position:absolute;top:70px;left:24px;box-shadow:0 14px 50px #00000016}.flow-add-menu>.flow-section-heading{padding:2px 9px 7px}.flow-add-menu>button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px 9px;display:flex}.flow-add-menu>button:hover{background:var(--color-background-surface)}.flow-menu-icon{background:var(--color-background-surface);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.flow-add-menu>button>span:nth-child(2){flex:1}.flow-add-menu strong{font-size:12px;font-weight:600;display:block}.flow-add-menu small{color:var(--color-text-secondary);margin-top:3px;font-size:10px;line-height:1.5;display:block}.flow-preview-notice{background:var(--color-background-surface);color:var(--color-text-secondary);border-radius:8px;margin-bottom:18px;padding:10px 12px;font-size:11px;line-height:1.6}.flow-preview-agent{flex-direction:column;align-items:center;padding:8px 0 25px;display:flex}.flow-preview-agent>span{background:var(--color-interactive-tint);width:52px;height:52px;color:var(--color-interactive-hue);border-radius:50%;place-items:center;margin-bottom:10px;font-size:28px;display:grid}.flow-preview-agent strong{font-size:14px}.flow-preview-agent small{color:var(--color-text-secondary);margin-top:3px;font-size:11px}.flow-preview-step{margin-bottom:20px}.flow-preview-marker{color:var(--color-text-secondary);align-items:center;gap:7px;margin:0 0 8px;font-size:10px;display:flex}.flow-preview-marker>span{flex:1}.flow-chat-bubble{background:var(--color-background-surface);border-radius:3px 13px 13px;padding:14px;font-size:12px;line-height:1.7}.flow-chat-bubble p{margin:5px 0 0}.flow-scenario-choices{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.flow-scenario-choices .flow-button{min-height:32px;font-size:11px}.flow-run-status{text-align:center;color:var(--color-text-secondary);border-top:1px solid var(--color-background-border);padding-top:16px;font-size:11px}.flow-modal::backdrop{background:#00000030}.flow-modal{background:var(--color-background-primary);border:1px solid var(--color-background-border);width:510px;max-height:90vh;color:var(--color-text-default);border-radius:16px;padding:24px;overflow:auto;box-shadow:0 20px 80px #00000020}.flow-modal h2{margin:0;font-size:18px;font-weight:600}.flow-modal .flow-hint{margin:12px 0 24px}.flow-modal-actions{justify-content:flex-end;gap:9px;display:flex}.flow-builder .react-flow__controls{border:1px solid var(--color-background-border);border-radius:8px;bottom:12px;left:12px;overflow:hidden;box-shadow:0 2px 7px #00000010}.flow-builder .react-flow__controls-button{background:var(--color-background-primary);color:var(--color-text-default);border-color:var(--color-background-border);width:30px;height:30px}.flow-builder .react-flow__controls-button svg{fill:currentColor}@media (width<=1050px){.flow-inspector{width:320px}.flow-demo-badge,.flow-canvas-toolbar>span{display:none}.flow-header{padding:10px 14px}.flow-panel-body{padding:18px}}@media (width<=700px){.flow-inspector{width:280px}.flow-heading{min-width:90px}.flow-heading input{font-size:14px}.flow-save-status{display:none}.flow-header{gap:6px}.flow-button{padding:7px 9px;font-size:12px}.flow-canvas-caption{display:none}}.flow-builder input[type=checkbox]{accent-color:var(--color-text-default);vertical-align:middle;width:16px;height:16px;margin-right:6px}.flow-field select{color:var(--color-text-default)}