.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .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;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.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;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.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__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{color-scheme:dark;--bg-base: #0b0f19;--bg-canvas: #0d121e;--bg-surface: #121826;--bg-elevated: #1a2130;--bg-input: #0f1523;--bg-hover: #212a3d;--bg-active: #273148;--border: #1f2739;--border-strong: #2b3550;--border-hover: #3b4767;--text-primary: #e7ecf7;--text-secondary: #98a4bd;--text-tertiary: #626e8a;--text-inverse: #0b0f19;--text-on-accent: #ffffff;--accent: #5b82f7;--accent-hover: #6f92fb;--accent-soft: rgba(91, 130, 247, .14);--accent-mark-end: #8b5cf6;--success: #34d399;--success-soft: rgba(52, 211, 153, .14);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14);--danger-soft-hover: rgba(248, 113, 113, .22);--node-start: #34d399;--node-message: #60a5fa;--node-input: #a78bfa;--node-condition: #fbbf24;--node-action: #22d3ee;--node-api: #fb7185;--node-pause: #94a3b8;--node-random: #f472b6;--node-flowlink: #2dd4bf;--node-comment: #facc15;--note-text: #f3e3a3;--overlay: rgba(5, 8, 14, .72);--hover-veil: rgba(255, 255, 255, .12);--canvas-dot: #2b3550;--minimap-mask: rgba(11, 15, 25, .7);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 15px;--text-xl: 17px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--shadow-node: 0 2px 8px rgba(0, 0, 0, .3);--topbar-height: 52px;--docbar-height: 56px;--palette-width: 236px;--inspector-width: 330px;--transition: .14s cubic-bezier(.4, 0, .2, 1)}:root[data-theme=light]{color-scheme:light;--bg-base: #eef1f6;--bg-canvas: #f2f4f9;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-input: #f7f9fc;--bg-hover: #eef2f8;--bg-active: #e2e8f4;--border: #e4e8f0;--border-strong: #c4cfe0;--border-hover: #adbad0;--text-primary: #141a26;--text-secondary: #56617a;--text-tertiary: #6b7488;--text-inverse: #ffffff;--text-on-accent: #ffffff;--accent: #3d63e0;--accent-hover: #3252c4;--accent-soft: rgba(61, 99, 224, .1);--accent-mark-end: #7c3aed;--success: #0b7a58;--success-soft: rgba(11, 122, 88, .12);--warning: #b45309;--warning-soft: rgba(180, 83, 9, .12);--danger: #d92d20;--danger-soft: rgba(217, 45, 32, .1);--danger-soft-hover: rgba(217, 45, 32, .18);--node-start: #0b7a58;--node-message: #2563eb;--node-input: #7c3aed;--node-condition: #b45309;--node-action: #0e7490;--node-api: #e11d48;--node-pause: #64748b;--node-random: #db2777;--node-flowlink: #0d9488;--node-comment: #a16207;--note-text: #4a3305;--overlay: rgba(16, 24, 40, .45);--hover-veil: rgba(16, 24, 40, .12);--canvas-dot: #ccd5e3;--minimap-mask: rgba(16, 24, 40, .14);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .1);--shadow-lg: 0 16px 40px rgba(16, 24, 40, .16);--shadow-node: 0 1px 3px rgba(16, 24, 40, .1), 0 1px 2px rgba(16, 24, 40, .06)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}h1,h2,h3,h4,p,figure{margin:0}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;border-radius:var(--radius-pill);background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--border-hover);background-clip:content-box;border:3px solid transparent}.u-label{display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.u-hint{font-size:var(--text-sm);line-height:1.45;color:var(--text-tertiary)}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-mono{font-family:var(--font-mono);font-size:var(--text-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{display:flex;flex-direction:column;height:100%;background:var(--bg-base)}.app__body{display:flex;flex:1;min-height:0}.app__canvas{position:relative;flex:1;min-width:0;background:var(--bg-canvas)}.topbar{display:flex;flex-direction:column;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0}.topbar__row{display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-4);min-width:0}.topbar__row--doc{height:var(--docbar-height);gap:var(--space-2);border-top:1px solid var(--border);background:var(--bg-base)}.topbar__spacer{flex:1;min-width:var(--space-2)}.topbar__divider{width:1px;height:24px;background:var(--border);flex-shrink:0}.brand{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.brand__mark{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent),var(--accent-mark-end));color:var(--text-on-accent);font-size:var(--text-sm);font-weight:700}.brand__name{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.switcher{display:flex;align-items:center;gap:var(--space-2);max-width:230px;height:38px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.switcher:hover:not(:disabled){background:var(--bg-hover)}.switcher--open{background:var(--bg-hover);border-color:var(--border-strong)}.switcher:disabled{opacity:.5;cursor:not-allowed}.switcher--flow{max-width:240px}.switcher__avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-weight:700;flex-shrink:0}.switcher__avatar--sm{width:22px;height:22px;font-size:10px}.switcher__text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.25}.switcher__label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.switcher__value{max-width:100%;font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.switcher__chevron{margin-left:auto;color:var(--text-tertiary);font-size:10px;flex-shrink:0}.doc-title{display:inline-grid;align-items:center;min-width:0;max-width:420px;font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.doc-title:after,.doc-title__input{grid-area:1 / 1;min-width:130px;max-width:100%;height:32px;padding:0 var(--space-2);border:1px solid transparent;font:inherit;letter-spacing:inherit}.doc-title:after{content:attr(data-value);visibility:hidden;white-space:pre;overflow:hidden}.doc-title__input{width:100%;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);text-overflow:ellipsis;transition:background var(--transition),border-color var(--transition)}.doc-title__input:hover:not(:disabled){background:var(--bg-hover)}.doc-title__input:focus{background:var(--bg-input);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.doc-title__input:disabled{opacity:.5}.trigger-chip{display:inline-flex;align-items:center;gap:var(--space-2);max-width:260px;height:26px;padding:0 var(--space-2) 0 var(--space-1);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;flex-shrink:0;transition:border-color var(--transition),color var(--transition)}.trigger-chip:hover{border-color:var(--border-hover);color:var(--text-primary)}.trigger-chip__label{padding:0 6px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:18px}.popover{position:relative;display:flex;min-width:0}.popover__panel{position:absolute;top:calc(100% + 6px);z-index:50;display:flex;flex-direction:column;gap:var(--space-2);max-width:calc(100vw - var(--space-8));padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-lg);animation:popover-in .12s ease-out}.popover__panel--start{left:0}.popover__panel--end{right:0}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.popover__label{padding:0 var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.popover__list{display:flex;flex-direction:column;gap:1px;max-height:320px;overflow-y:auto}.popover__row{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:var(--text-base);text-align:left;cursor:pointer;transition:background var(--transition)}.popover__row:hover:not(:disabled){background:var(--bg-hover)}.popover__row:disabled{opacity:.45;cursor:not-allowed}.popover__row--active{background:var(--accent-soft)}.popover__row--danger{color:var(--danger)}.popover__row--danger:hover:not(:disabled){background:var(--danger-soft)}.popover__row-main{display:flex;flex-direction:column;min-width:0;flex:1}.popover__row-title{font-weight:500}.popover__row-sub{font-size:var(--text-xs);color:var(--text-tertiary)}.popover__check{color:var(--accent);font-weight:700;flex-shrink:0}.popover__empty{padding:var(--space-3) var(--space-2);font-size:var(--text-sm);line-height:1.45;color:var(--text-tertiary)}.popover__warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);font-size:var(--text-sm);line-height:1.35}.popover__warning .btn{flex-shrink:0}.popover__footer{padding-top:var(--space-2);border-top:1px solid var(--border)}.popover__footer--split{display:flex;justify-content:space-between;gap:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:34px;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:var(--text-base);font-weight:500;white-space:nowrap;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),opacity var(--transition)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--text-on-accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.btn--secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.btn--ghost{color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn--danger{background:var(--danger-soft);color:var(--danger)}.btn--danger:hover:not(:disabled){background:var(--danger-soft-hover)}.btn--sm{height:28px;padding:0 var(--space-2);font-size:var(--text-sm)}.btn--icon{width:34px;padding:0;flex-shrink:0}.btn--icon.btn--sm{width:28px}.btn--block{width:100%}.field{display:block;margin-bottom:var(--space-4)}.field__label{display:block;margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.field__hint{margin-top:var(--space-2);font-size:var(--text-sm);line-height:1.45;color:var(--text-tertiary)}.input,.textarea,.select{display:block;width:100%;min-height:34px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-base);transition:border-color var(--transition),box-shadow var(--transition)}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input:hover,.textarea:hover,.select:hover{border-color:var(--border-hover)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{min-height:76px;resize:vertical;line-height:1.5}.textarea--code{font-family:var(--font-mono);font-size:var(--text-sm)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%2398a4bd' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.input--sm,.select--sm{min-height:30px;height:30px;padding-top:0;padding-bottom:0;font-size:var(--text-sm)}.checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--text-secondary);cursor:pointer}.checkbox input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.panel{display:flex;flex-direction:column;background:var(--bg-surface);flex-shrink:0;min-height:0}.panel--left{width:var(--palette-width);border-right:1px solid var(--border)}.panel--right{width:var(--inspector-width);border-left:1px solid var(--border)}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0}.panel__title{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.panel__body{flex:1;overflow-y:auto;padding:var(--space-4)}.panel__section{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--border)}.panel__section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.palette__search{padding:var(--space-3) var(--space-3) 0}.palette__list{flex:1;overflow-y:auto;padding:var(--space-3)}.palette__group{margin-bottom:var(--space-4)}.palette__group-title{padding:0 var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.palette__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);margin-bottom:2px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;text-align:left;cursor:grab;transition:background var(--transition),border-color var(--transition)}.palette__item:hover{background:var(--bg-hover);border-color:var(--border-strong)}.palette__item:active{cursor:grabbing;background:var(--bg-active)}.palette__item-label{font-size:var(--text-base);font-weight:500;color:var(--text-primary)}.palette__item-desc{font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.35}.palette__empty{padding:var(--space-4) var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary);text-align:center}.node-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--node-color) 18%,transparent);color:var(--node-color);font-size:var(--text-base);flex-shrink:0}.node-icon--sm{width:22px;height:22px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.inspector__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);height:100%;padding:var(--space-6);text-align:center;color:var(--text-tertiary)}.inspector__empty-icon{font-size:28px;opacity:.5}.inspector__node-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.inspector__node-title{flex:1;min-width:0}.inspector__node-name{font-size:var(--text-md);font-weight:600}.inspector__node-id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary)}.editor-card{padding:var(--space-3);margin-bottom:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.editor-card--dashed{border-style:dashed;background:transparent}.editor-card__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.editor-card__title{flex:1;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.editor-card__actions{display:flex;gap:2px}.icon-btn{display:grid;place-items:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition),color var(--transition)}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn--danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.stack{display:flex;flex-direction:column;gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-2)}.row--tight{gap:var(--space-1)}.row>.input,.row>.select{flex:1;min-width:0}.chip{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--bg-hover);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.chip--accent{background:var(--accent-soft);color:var(--accent)}.chip--success{background:var(--success-soft);color:var(--success)}.chip--warning{background:var(--warning-soft);color:var(--warning)}.chip--danger{background:var(--danger-soft);color:var(--danger)}.save-state{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary);white-space:nowrap}.save-state__dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.save-state__dot--dirty{background:var(--warning)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .12s ease-out}.modal{display:flex;flex-direction:column;width:100%;max-width:560px;max-height:82vh;border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-lg);animation:modal-in .16s cubic-bezier(.16,1,.3,1)}.modal--wide{max-width:720px}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.modal__title{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.modal__body{flex:1;overflow-y:auto;padding:var(--space-5)}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border)}.modal__footer-note{flex:1;font-size:var(--text-sm);color:var(--text-tertiary)}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.subscriber{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.subscriber:last-child{border-bottom:none}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--text-base);font-weight:600;flex-shrink:0}.subscriber__body{flex:1;min-width:0}.subscriber__name{font-size:var(--text-base);font-weight:600}.subscriber__handle{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:400}.subscriber__message{margin-top:2px;font-size:var(--text-sm);color:var(--text-secondary)}.subscriber__tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.subscriber__vars{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);text-align:center}.empty-state__icon{font-size:30px;opacity:.45}.empty-state__title{font-size:var(--text-md);font-weight:600}.empty-state__text{max-width:320px;font-size:var(--text-base);color:var(--text-tertiary);line-height:1.5}.toasts{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);min-width:260px;max-width:420px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-lg);font-size:var(--text-base);animation:toast-in .18s cubic-bezier(.16,1,.3,1)}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast__icon{font-size:var(--text-md)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}}.varfield{position:relative}.varfield__control{padding-right:38px}.varfield__btn{position:absolute;top:6px;right:6px;width:26px;height:24px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.varfield__btn:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}.varfield__menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;width:280px;padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-lg)}.varfield__list{max-height:260px;overflow-y:auto;margin-top:var(--space-2)}.varfield__group{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.varfield__item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);width:100%;padding:5px var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer;transition:background var(--transition)}.varfield__item:hover{background:var(--bg-hover)}.varfield__item-label{font-size:var(--text-base);color:var(--text-primary)}.varfield__item-name{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap}.varfield__empty,.varfield__hint{padding:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary);line-height:1.4}.tag-editor{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2)}.tag-chip{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-1) 0 var(--space-2);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-weight:500}.tag-chip__remove{display:grid;place-items:center;width:16px;height:16px;border:none;border-radius:50%;background:transparent;color:inherit;font-size:10px;cursor:pointer;opacity:.7}.tag-chip__remove:hover{background:var(--hover-veil);opacity:1}.segment-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.audience-count{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);font-size:var(--text-base)}.audience-count__value{font-size:var(--text-xl);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.login{display:grid;place-items:center;min-height:100%;padding:var(--space-6);background:var(--bg-base)}.login__card{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:380px;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-lg)}.login__brand{display:flex;align-items:center;gap:var(--space-2)}.login__lead{font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary)}.login__error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm);line-height:1.4}.login__toggle{align-self:center;padding:0;border:none;background:none;color:var(--text-tertiary);font-size:var(--text-sm);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.login__toggle:hover{color:var(--text-secondary)}.react-flow__background circle{fill:var(--canvas-dot)}.react-flow__minimap-mask{fill:var(--minimap-mask)}.react-flow__attribution{background:transparent;color:var(--text-tertiary);font-size:10px}.react-flow__attribution a{color:var(--text-tertiary)}.react-flow__edge-path{stroke:var(--border-strong);stroke-width:2;transition:stroke var(--transition)}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--text-tertiary)}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path{stroke:var(--accent)}.react-flow__connection-path{stroke:var(--accent);stroke-width:2}.react-flow__handle{width:9px;height:9px;border:2px solid var(--border-strong);background:var(--bg-surface);transition:border-color var(--transition),transform var(--transition)}.react-flow__handle:hover{border-color:var(--accent);transform:scale(1.25)}.react-flow__handle-top{top:-5px}.react-flow__handle-bottom{bottom:-5px}.react-flow__handle-right{right:-5px}.react-flow__controls{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.react-flow__controls-button{width:30px;height:30px;border:none;border-bottom:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls-button:hover{background:var(--bg-hover);color:var(--text-primary)}.react-flow__controls-button svg{fill:currentColor}.react-flow__minimap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);overflow:hidden;box-shadow:var(--shadow-md)}.node{position:relative;min-width:224px;max-width:280px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-node);font-size:var(--text-base);transition:border-color var(--transition),box-shadow var(--transition)}.node:hover{border-color:color-mix(in srgb,var(--node-color) 45%,var(--border-strong))}.node--selected{border-color:var(--node-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--node-color) 22%,transparent),var(--shadow-md)}.node__header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.node__title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.node__body{padding:var(--space-3);color:var(--text-secondary);line-height:1.45}.node__body:empty{display:none}.node__placeholder{color:var(--text-tertiary);font-style:italic}.node__block{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-1)}.node__block:last-child{margin-bottom:0}.node__block-icon{flex-shrink:0;opacity:.75}.node__block-text{min-width:0;overflow-wrap:anywhere}.node__meta{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--text-tertiary)}.node__ports{display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-3) var(--space-3)}.node__port{position:relative;padding:5px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--transition)}.node__port:hover{border-color:var(--node-color)}.node__port--quick{border-radius:var(--radius-pill);border-style:dashed}.node__port--split{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.node__port-percent{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.node__links{padding:0 var(--space-3) var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary)}.node__branches{display:flex;justify-content:space-between;padding:var(--space-2) var(--space-3) var(--space-3);font-size:var(--text-sm);font-weight:500}.node__branch--yes{color:var(--success)}.node__branch--no{color:var(--danger)}.node__joiner{color:var(--node-color);font-size:var(--text-xs);font-weight:600}.note{min-width:180px;max-width:260px;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--node-comment) 35%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--node-comment) 10%,var(--bg-elevated));color:var(--note-text);font-size:var(--text-base);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;transition:border-color var(--transition),box-shadow var(--transition)}.note--selected{border-color:var(--node-comment);box-shadow:0 0 0 3px color-mix(in srgb,var(--node-comment) 22%,transparent)}.note__label{margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--node-comment) 70%,var(--text-tertiary))}.segmented{display:flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input)}.segmented__item{padding:5px var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:background var(--transition),color var(--transition)}.segmented__item:hover{color:var(--text-primary)}.segmented__item--active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.segmented__badge{display:inline-block;min-width:17px;margin-left:var(--space-1);padding:0 5px;border-radius:var(--radius-pill);background:var(--accent);color:var(--text-on-accent);font-size:10px;font-weight:600;line-height:16px;text-align:center}.inbox{display:flex;flex:1;min-height:0;background:var(--bg-base)}.inbox__list{display:flex;flex-direction:column;width:320px;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg-surface);min-height:0}.inbox__list-search{padding:var(--space-3);border-bottom:1px solid var(--border)}.inbox__list-scroll{flex:1;overflow-y:auto}.inbox__thread{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:var(--bg-canvas)}.inbox__card{width:300px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg-surface);overflow-y:auto}.chat-item{display:flex;gap:var(--space-3);width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--border);border-left:2px solid transparent;background:transparent;text-align:left;cursor:pointer;transition:background var(--transition)}.chat-item:hover{background:var(--bg-hover)}.chat-item--active{background:var(--bg-hover);border-left-color:var(--accent)}.chat-item__body{flex:1;min-width:0}.chat-item__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.chat-item__name{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.chat-item__time{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums}.chat-item__preview{display:flex;align-items:center;gap:var(--space-2);margin-top:2px}.chat-item__text{flex:1;min-width:0;font-size:var(--text-sm);color:var(--text-secondary)}.chat-item__text--empty{color:var(--text-tertiary);font-style:italic}.chat-item__badge{min-width:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--accent);color:var(--text-on-accent);font-size:10px;font-weight:700;line-height:18px;text-align:center;flex-shrink:0}.chat-item__flags{display:flex;gap:var(--space-1);margin-top:var(--space-2)}.thread__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.thread__title{flex:1;min-width:0}.thread__name{font-size:var(--text-md);font-weight:600}.thread__sub{font-size:var(--text-sm);color:var(--text-tertiary)}.thread__scroll{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.bubble{max-width:68%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-base);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.bubble--user{align-self:flex-start;border-bottom-left-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border)}.bubble--bot{align-self:flex-end;border-bottom-right-radius:var(--radius-sm);background:var(--bg-hover);border:1px solid var(--border-strong)}.bubble--operator{align-self:flex-end;border-bottom-right-radius:var(--radius-sm);background:var(--accent);color:var(--text-on-accent)}.bubble__meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:10px;opacity:.65;font-variant-numeric:tabular-nums}.thread__day{align-self:center;padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-tertiary);font-size:var(--text-xs)}.composer{display:flex;gap:var(--space-2);align-items:flex-end;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.composer__input{flex:1;min-height:38px;max-height:160px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-input);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);line-height:1.45;resize:none;transition:border-color var(--transition),box-shadow var(--transition)}.composer__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer__hint{padding:0 var(--space-4) var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);background:var(--bg-surface)}.card-section{padding:var(--space-4);border-bottom:1px solid var(--border)}.card-section:last-child{border-bottom:none}.card-profile{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.card-profile__avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:24px;font-weight:600}.card-profile__name{font-size:var(--text-lg);font-weight:600}.card-profile__handle{font-size:var(--text-sm);color:var(--text-tertiary)}.card-rows{display:flex;flex-direction:column;gap:var(--space-2)}.card-row{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm)}.card-row__label{color:var(--text-tertiary);flex-shrink:0}.card-row__value{color:var(--text-secondary);text-align:right;overflow-wrap:anywhere}.pause-buttons{display:flex;gap:var(--space-2)}.pause-buttons .btn{flex:1}.msg-blocks{display:flex;flex-direction:column;gap:var(--space-2)}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere}.msg-media{max-width:320px;border-radius:var(--radius-md);overflow:hidden;line-height:0}.msg-media img,.msg-media video{display:block;width:100%;max-height:320px;object-fit:contain;background:var(--bg-input)}.msg-media__round{border-radius:var(--radius-pill);aspect-ratio:1;object-fit:cover!important}.msg-media__sticker{max-height:140px;width:auto!important;background:transparent!important}.msg-media__broken{padding:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--text-sm)}.msg-caption,.msg-label{font-size:var(--text-sm);overflow-wrap:anywhere}.msg-label{color:var(--text-tertiary)}.msg-blocks audio{width:260px;max-width:100%}.msg-file{display:inline-block;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:inherit;font-size:var(--text-sm);text-decoration:none;overflow-wrap:anywhere}.msg-file:hover{border-color:var(--border-hover)}.msg-cards{display:flex;gap:var(--space-2);max-width:320px;overflow-x:auto;padding-bottom:var(--space-1)}.msg-card{flex:0 0 180px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.msg-card .msg-media{margin-bottom:var(--space-2)}.msg-card__title{font-weight:600;font-size:var(--text-sm)}.msg-card__text{font-size:var(--text-xs);color:var(--text-secondary)}.msg-buttons{display:flex;flex-wrap:wrap;gap:var(--space-1)}.msg-button{padding:2px var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);font-size:var(--text-xs);opacity:.85}.bubble__failed{color:var(--danger);font-weight:600}
