:root{--primary:#1c1c1e;--on-primary:#fff;--brand-yellow:#ffd02f;--brand-yellow-deep:#fcb900;--yellow-light:#fff4c4;--yellow-dark:#746019;--brand-blue:#4262ff;--blue-pressed:#2a41b6;--coral-light:#ffc6c6;--coral-dark:#600000;--rose-light:#fde0f0;--teal-light:#c3faf5;--moss-dark:#187574;--orange-light:#ffe6cd;--canvas:#fff;--surface:#f7f8fa;--surface-soft:#fafbfc;--hairline:#e0e2e8;--hairline-soft:#eef0f3;--hairline-strong:#c7cad5;--ink-deep:#050038;--ink:#1c1c1e;--charcoal:#2c2c34;--slate:#555a6a;--steel:#6b6f7e;--stone:#8e91a0;--muted:#a5a8b5;--board-shadow:#05003814 0 12px 32px -4px;--tile-shadow:#0500380a 0 1px 2px 0;--cursor-default:url("data:image/svg+xml;charset=utf-8,%3Csvg width='28' height='28' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7 4 13 12-6.2 1.2-3 6.8L7 4Z' fill='%23ffd02f' stroke='%23050038' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 7 4,auto;--cursor-pointer:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='10' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Ccircle cx='15' cy='15' r='3.5' fill='%23050038'/%3E%3C/svg%3E") 15 15,pointer;--cursor-grab:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='6' y='7' width='18' height='16' rx='8' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Cpath d='M10 16h10' stroke='%23050038' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 15 15,grab;--cursor-connect:url("data:image/svg+xml;charset=utf-8,%3Csvg width='32' height='32' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='16' cy='16' r='11' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Cpath d='M16 10v12m-6-6h12' stroke='%23050038' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") 16 16,crosshair;--ease-out:cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box}#root,body,html{min-height:100%;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;background:var(--canvas);color:#1c1c1e;color:var(--ink);cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='28' height='28' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7 4 13 12-6.2 1.2-3 6.8L7 4Z' fill='%23ffd02f' stroke='%23050038' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 7 4,auto;cursor:var(--cursor-default);font-family:Roobert PRO,Noto Sans,-apple-system,BlinkMacSystemFont,sans-serif;margin:0}button,input,select,textarea{font:inherit}.react-flow__controls button,[draggable=true],button{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='10' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Ccircle cx='15' cy='15' r='3.5' fill='%23050038'/%3E%3C/svg%3E") 15 15,pointer;cursor:var(--cursor-pointer)}code{font-family:SF Mono,Cascadia Code,Consolas,monospace}.app-shell{min-height:100vh;overflow:hidden;position:relative}.workspace-topbar{grid-gap:10px;align-items:center;background:#fffffff0;border:1px solid #eef0f3;border:1px solid var(--hairline-soft);border-radius:9999px;box-shadow:0 4px 12px 0 #0500380f;display:grid;gap:10px;grid-template-columns:minmax(190px,260px) minmax(0,1fr) auto;left:clamp(12px,1.2vw,28px);padding:clamp(6px,.7vw,10px) clamp(10px,.9vw,16px);position:absolute;right:clamp(12px,1.2vw,28px);top:12px;z-index:20}.brand-cluster{align-items:center;display:flex;gap:clamp(8px,.8vw,12px);min-width:0}.brand-mark{height:clamp(34px,2.5vw,44px);place-items:center;width:clamp(34px,2.5vw,44px)}.toolbar-kicker{color:#6b6f7e;color:var(--steel);font-size:11px;font-weight:600;letter-spacing:.5px;line-height:1.4;margin:0 0 2px;text-transform:uppercase}.toolbar-title{color:#050038;color:var(--ink-deep);font-size:clamp(17px,1.35vw,22px);font-weight:500;letter-spacing:-.5px;line-height:1.2;margin:0}.toolbar-carousel{grid-gap:2px;align-items:center;display:grid;gap:2px;grid-template-columns:14px minmax(0,1fr) 14px;min-width:0;position:relative}.toolbar-node-list{display:flex;gap:clamp(6px,.6vw,10px);min-width:0;overflow-x:auto;padding:4px clamp(22px,2vw,34px);scroll-padding:0 clamp(22px,2vw,34px);scroll-snap-type:x proximity;scrollbar-width:none}.toolbar-carousel:after,.toolbar-carousel:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:30px;z-index:1}.toolbar-carousel:before{background:linear-gradient(90deg,#fffffff5,#fff0);left:16px}.toolbar-carousel:after{background:linear-gradient(270deg,#fffffff5,#fff0);right:16px}.toolbar-node-list::-webkit-scrollbar{display:none}.carousel-arrow{background:#0000;border:0;border-radius:8px;color:#1c1c1e;color:var(--ink);cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='10' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Ccircle cx='15' cy='15' r='3.5' fill='%23050038'/%3E%3C/svg%3E") 15 15,pointer;cursor:var(--cursor-pointer);display:grid;font-size:22px;height:44px;line-height:1;opacity:1;place-items:center;position:relative;transition:opacity .14s ease;width:14px;z-index:2}.carousel-arrow.is-hidden{opacity:0;pointer-events:none}.draggable-node{align-items:center;background:#fff;background:var(--canvas);border:1px solid #e0e2e8;border:1px solid var(--hairline);border-radius:9999px;box-shadow:0 1px 2px 0 #0500380a;box-shadow:var(--tile-shadow);color:#1c1c1e;color:var(--ink);cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='6' y='7' width='18' height='16' rx='8' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Cpath d='M10 16h10' stroke='%23050038' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 15 15,grab;cursor:var(--cursor-grab);display:flex;flex:0 0 clamp(112px,8.6vw,148px);font-size:clamp(12px,.8vw,14px);font-weight:600;justify-content:center;line-height:1.25;min-height:clamp(40px,2.8vw,50px);padding:8px 10px;scroll-snap-align:start;text-align:center;touch-action:none;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.16,1,.3,1);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s var(--ease-out);-webkit-user-select:none;user-select:none}.draggable-node:active{transform:scale(.98)}.drag-preview{box-shadow:0 16px 48px -8px #05003824;opacity:.88;pointer-events:none;position:fixed;transform:translate(-50%,-50%) scale(.96);width:132px;z-index:200}.draggable-node-customInput,.pipeline-node-customInput{background:#c3faf5;background:var(--teal-light)}.draggable-node-llm,.pipeline-node-llm{background:#fff4c4;background:var(--yellow-light)}.draggable-node-customOutput,.pipeline-node-customOutput{background:#fde0f0;background:var(--rose-light)}.draggable-node-text,.pipeline-node-text{background:#ffd02f;background:var(--brand-yellow)}.draggable-node-filter,.pipeline-node-filter{background:#ffc6c6;background:var(--coral-light)}.draggable-node-transform,.pipeline-node-transform{background:#ffe6cd;background:var(--orange-light)}.draggable-node-api,.pipeline-node-api{background:#f5f3ff}.draggable-node-database,.pipeline-node-database{background:#fafbfc;background:var(--surface-soft)}.draggable-node-condition,.pipeline-node-condition{background:#fbd4d4}.whiteboard-frame{background:radial-gradient(circle at 20% 12%,#ffd02f2e,#0000 180px),radial-gradient(circle at 86% 18%,#c3faf580,#0000 220px),#fff;background:radial-gradient(circle at 20% 12%,#ffd02f2e,#0000 180px),radial-gradient(circle at 86% 18%,#c3faf580,#0000 220px),var(--canvas);border:0;border-radius:0;box-shadow:none;height:100vh;min-height:0;overflow:hidden;position:relative;width:100vw}.react-flow{background:#0000;height:100%;width:100%}.react-flow,.react-flow__pane,.react-flow__renderer,.react-flow__viewport{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='28' height='28' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7 4 13 12-6.2 1.2-3 6.8L7 4Z' fill='%23ffd02f' stroke='%23050038' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 7 4,auto!important;cursor:var(--cursor-default)!important}.react-flow__edge,.react-flow__edge-path,.react-flow__node{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='6' y='7' width='18' height='16' rx='8' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Cpath d='M10 16h10' stroke='%23050038' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 15 15,grab!important;cursor:var(--cursor-grab)!important}.react-flow__node:active{cursor:grabbing!important}.react-flow__controls{background:#fff;background:var(--canvas);border:1px solid #e0e2e8;border:1px solid var(--hairline);border-radius:16px;box-shadow:0 4px 12px 0 #0500380f;overflow:hidden}.react-flow__controls button{background:#fff;background:var(--canvas);border-bottom:1px solid #eef0f3;border-bottom:1px solid var(--hairline-soft)}.react-flow__minimap{background:#ffffffb8;border:1px solid #e0e2e8;border:1px solid var(--hairline);border-radius:16px;box-shadow:0 4px 12px 0 #0500380f;height:clamp(62px,5.4vw,84px)!important;opacity:.74;overflow:hidden;transform-origin:bottom right;transition:width .22s cubic-bezier(.16,1,.3,1) 3s,height .22s cubic-bezier(.16,1,.3,1) 3s,opacity .18s ease 3s,box-shadow .18s ease 3s;transition:width .22s var(--ease-out) 3s,height .22s var(--ease-out) 3s,opacity .18s ease 3s,box-shadow .18s ease 3s;width:clamp(92px,8vw,124px)!important}.react-flow__minimap:hover{box-shadow:0 12px 32px -4px #05003814;height:clamp(138px,10.8vw,198px)!important;opacity:1;transition-delay:0s;width:clamp(210px,16vw,300px)!important}.react-flow__minimap svg{background:#0000!important;display:block;height:100%;width:100%}.react-flow__minimap-mask{fill:#0000!important}.react-flow__minimap-node{rx:12;ry:12}.pipeline-node{border:1px solid #eef0f3;border:1px solid var(--hairline-soft);border-radius:28px;box-shadow:0 4px 12px 0 #0500380f;color:#1c1c1e;color:var(--ink);font-size:13px;line-height:1.4;padding:clamp(14px,1.1vw,20px);transition:border-color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.16,1,.3,1);transition:border-color .18s ease,box-shadow .18s ease,transform .18s var(--ease-out);width:clamp(212px,15vw,260px)}.react-flow__node.selected .pipeline-node{border-color:#4262ff;border-color:var(--brand-blue);box-shadow:0 0 0 4px #4262ff2e,0 12px 32px -4px #05003814}.node-title{color:#050038;color:var(--ink-deep);font-size:clamp(16px,1.05vw,20px);font-weight:500;line-height:1.4;margin-bottom:8px}.node-description{color:#555a6a;color:var(--slate);font-size:13px;line-height:1.45;margin-bottom:14px}.node-field{display:flex;flex-direction:column;gap:6px;margin-top:12px}.node-field-label{color:#6b6f7e;color:var(--steel);font-size:11px;font-weight:600;letter-spacing:.5px;line-height:1.4;text-transform:uppercase}.node-control{background:#ffffffbd;border:1px solid #c7cad5;border:1px solid var(--hairline-strong);border-radius:8px;color:#1c1c1e;color:var(--ink);font-size:clamp(13px,.9vw,15px);height:44px;line-height:1.5;outline:none;padding:12px 14px;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease;width:100%}.node-control:focus{background:#fff;background:var(--canvas);border:2px solid #4262ff;border:2px solid var(--brand-blue);box-shadow:0 0 0 4px #4262ff24}.node-textarea{display:block;min-height:84px;overflow:hidden;resize:none}.node-select{position:relative}.node-select-trigger{align-items:center;cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='10' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Ccircle cx='15' cy='15' r='3.5' fill='%23050038'/%3E%3C/svg%3E") 15 15,pointer;cursor:var(--cursor-pointer);display:flex;gap:10px;justify-content:space-between;text-align:left}.node-select-trigger[aria-expanded=true]{background:#fff;background:var(--canvas);border:2px solid #4262ff;border:2px solid var(--brand-blue);box-shadow:0 0 0 4px #4262ff24}.node-select-chevron{color:#6b6f7e;color:var(--steel);font-size:11px;font-weight:600;line-height:1}.node-select-menu{grid-gap:4px;animation:dropdown-in .16s cubic-bezier(.16,1,.3,1);animation:dropdown-in .16s var(--ease-out);background:#fff;background:var(--canvas);border:1px solid #e0e2e8;border:1px solid var(--hairline);border-radius:16px;box-shadow:0 16px 48px -8px #0500381f;display:grid;gap:4px;left:0;padding:6px;position:absolute;right:0;top:calc(100% + 8px);transform-origin:top center;z-index:30}.node-select-option{background:#0000;border:0;border-radius:9999px;color:#1c1c1e;color:var(--ink);cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='10' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Ccircle cx='15' cy='15' r='3.5' fill='%23050038'/%3E%3C/svg%3E") 15 15,pointer;cursor:var(--cursor-pointer);font-size:14px;font-weight:500;line-height:1.3;min-height:36px;padding:8px 12px;text-align:left;transition:background-color .14s ease,color .14s ease,transform .14s cubic-bezier(.16,1,.3,1);transition:background-color .14s ease,color .14s ease,transform .14s var(--ease-out)}.node-select-option:hover{background:#f7f8fa;background:var(--surface)}.node-select-option.is-selected{background:#1c1c1e;background:var(--primary);color:#fff;color:var(--on-primary)}.node-select-option:active{transform:scale(.98)}.text-variable-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-bottom:2px}.text-variable-chip{align-items:center;background:#f5f3ff;border:1px solid #e0e2e8;border:1px solid var(--hairline);border-radius:9999px;color:#4262ff;color:var(--brand-blue);display:inline-flex;font-size:13px;font-weight:600;line-height:1.4;min-height:24px;padding:4px 10px}.node-handle,.react-flow__handle{background:#4262ff;background:var(--brand-blue);border:3px solid #fff;border:3px solid var(--canvas);box-shadow:0 2px 8px 0 #05003829;cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='32' height='32' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='16' cy='16' r='11' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Cpath d='M16 10v12m-6-6h12' stroke='%23050038' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") 16 16,crosshair!important;cursor:var(--cursor-connect)!important;height:12px;width:12px}.react-flow__edge-path{stroke:#4262ff;stroke:var(--brand-blue);stroke-width:2}.header-actions{align-items:center;background:#ffffffe0;border:1px solid #eef0f3;border:1px solid var(--hairline-soft);border-radius:9999px;box-shadow:0 4px 12px 0 #0500380f;display:flex;gap:6px;justify-content:flex-end;padding:4px}.submit-bar{display:flex}.canvas-action-button{background:#fff;background:var(--canvas);border:1px solid #e0e2e8;border:1px solid var(--hairline);border-radius:9999px;color:#1c1c1e;color:var(--ink);cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='10' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Ccircle cx='15' cy='15' r='3.5' fill='%23050038'/%3E%3C/svg%3E") 15 15,pointer;cursor:var(--cursor-pointer);font-size:13px;font-weight:600;line-height:1.3;min-height:34px;padding:7px 14px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s cubic-bezier(.16,1,.3,1);transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s var(--ease-out)}.canvas-action-button:active{transform:scale(.98)}.canvas-action-button:disabled{background:#f7f8fa;background:var(--surface);color:#a5a8b5;color:var(--muted);cursor:not-allowed;transform:none}.canvas-action-button.danger:not(:disabled){background:#fff1f1;border-color:#ffc6c6;border-color:var(--coral-light);color:#600000;color:var(--coral-dark)}.icon-button{display:inline-grid;min-height:42px;min-width:42px;padding:0;place-items:center;width:42px}.submit-button{background:#1c1c1e;background:var(--primary);border:1px solid #1c1c1e;border:1px solid var(--primary);border-radius:9999px;color:#fff;color:var(--on-primary);cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='10' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Ccircle cx='15' cy='15' r='3.5' fill='%23050038'/%3E%3C/svg%3E") 15 15,pointer;cursor:var(--cursor-pointer);transition:background-color .16s ease,transform .16s cubic-bezier(.16,1,.3,1);transition:background-color .16s ease,transform .16s var(--ease-out)}.submit-button:active{background:#2c2c34;background:var(--charcoal);transform:scale(.98)}.submit-button:disabled{background:#e0e2e8;background:var(--hairline);border-color:#e0e2e8;border-color:var(--hairline);color:#a5a8b5;color:var(--muted);cursor:not-allowed;transform:none}.play-icon{border-bottom:8px solid #0000;border-left:13px solid;border-top:8px solid #0000;height:0;transform:translateX(2px);width:0}.loading-icon{animation:spin .7s linear infinite;border:2px solid #ffffff61;border-radius:9999px;border-top:2px solid var(--on-primary);height:18px;width:18px}.action-icon{fill:currentColor;display:block;height:16px;width:16px}.clear-icon{height:17px;width:17px}.dialog-backdrop{animation:dialog-fade-in .18s cubic-bezier(.16,1,.3,1);animation:dialog-fade-in .18s var(--ease-out);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05003824;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:100}.result-dialog{grid-gap:16px;animation:dialog-pop-in .18s cubic-bezier(.16,1,.3,1);animation:dialog-pop-in .18s var(--ease-out);background:#fff;background:var(--canvas);border:1px solid #eef0f3;border:1px solid var(--hairline-soft);border-radius:28px;box-shadow:0 16px 48px -8px #0500381f;color:#1c1c1e;color:var(--ink);display:grid;gap:16px;grid-template-columns:auto 1fr;padding:28px;width:min(460px,100%)}.result-dialog-mark{background:#ffd02f;background:var(--brand-yellow);border:2px solid #050038;border:2px solid var(--ink-deep);border-radius:18px;color:#050038;color:var(--ink-deep);display:grid;font-size:16px;font-weight:600;height:58px;place-items:center;width:58px}.result-dialog-kicker{color:#6b6f7e;color:var(--steel);font-size:11px;font-weight:600;letter-spacing:.5px;line-height:1.4;margin:0 0 4px;text-transform:uppercase}.result-dialog h2{color:#050038;color:var(--ink-deep);font-size:clamp(22px,2vw,30px);font-weight:500;line-height:1.25;margin:0}.result-dialog-stats{grid-gap:10px;display:grid;gap:10px;grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin-top:8px}.result-dialog-stats div{background:#fafbfc;background:var(--surface-soft);border:1px solid #eef0f3;border:1px solid var(--hairline-soft);border-radius:16px;padding:16px}.result-dialog-stats span{color:#050038;color:var(--ink-deep);display:block;font-size:clamp(22px,2vw,30px);font-weight:500;line-height:1.1}.result-dialog-copy,.result-dialog-stats p{color:#555a6a;color:var(--slate);font-size:14px;line-height:1.5;margin:0}.result-dialog-copy{grid-column:1/-1}.result-dialog-close{background:#1c1c1e;background:var(--primary);border:1px solid #1c1c1e;border:1px solid var(--primary);border-radius:9999px;color:#fff;color:var(--on-primary);cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='10' fill='%23ffd02f' stroke='%23050038' stroke-width='1.8'/%3E%3Ccircle cx='15' cy='15' r='3.5' fill='%23050038'/%3E%3C/svg%3E") 15 15,pointer;cursor:var(--cursor-pointer);font-size:14px;font-weight:500;grid-column:1/-1;justify-self:end;min-height:44px;padding:12px 24px}@media (hover:hover) and (pointer:fine){.draggable-node:hover,.pipeline-node:hover{box-shadow:0 12px 32px -4px #05003814;transform:translateY(-2px)}}@media (min-width:1600px){.workspace-topbar{grid-template-columns:minmax(240px,320px) minmax(0,1fr) auto;left:28px;right:28px}.toolbar-carousel{justify-self:center;max-width:1320px;width:100%}.react-flow__controls{transform:scale(1.04);transform-origin:bottom left}}@media (min-width:2200px){.workspace-topbar{left:40px;right:40px}.toolbar-carousel{max-width:1500px}}@media (max-width:1280px){.workspace-topbar{gap:8px;grid-template-columns:minmax(180px,240px) minmax(0,1fr) auto}.toolbar-title{font-size:18px}.draggable-node{flex-basis:118px}.icon-button{min-height:38px;min-width:38px;width:38px}}@media (max-width:980px){.workspace-topbar{border-radius:28px;grid-template-columns:minmax(0,1fr) auto}.toolbar-carousel{grid-column:1/-1;order:3}.header-actions{justify-self:end}.toolbar-node-list{max-width:100%}.draggable-node{flex-basis:124px}.react-flow__minimap{bottom:16px!important;height:64px!important;right:16px!important;width:96px!important}.react-flow__minimap:hover{height:146px!important;width:220px!important}}@media (max-width:767px){.app-shell{min-height:100vh}.workspace-topbar{border-radius:24px;gap:8px;grid-template-columns:minmax(0,1fr) auto;left:10px;padding:8px;right:10px;top:10px}.brand-mark{height:34px;width:34px}.toolbar-kicker{font-size:9px;letter-spacing:.4px}.toolbar-title{font-size:16px;letter-spacing:0}.toolbar-node-list{gap:6px;max-width:100%;padding:3px 22px;scroll-padding-inline:22px}.toolbar-carousel:after,.toolbar-carousel:before{width:22px}.draggable-node{flex-basis:104px;font-size:12px;min-height:38px;padding:7px 10px}.whiteboard-frame{border-radius:0;height:100vh;min-height:0;width:100vw}.header-actions{border-radius:9999px;gap:4px;justify-self:end;padding:3px}.icon-button{min-height:36px;min-width:36px;width:36px}.submit-button{min-height:36px;padding:0}.react-flow__controls{border-radius:14px;bottom:14px!important;left:10px!important}.react-flow__minimap{border-radius:14px;bottom:14px!important;height:56px!important;right:10px!important;width:84px!important}.react-flow__minimap:hover{height:126px!important;width:min(190px,calc(100vw - 116px))!important}.result-dialog{border-radius:24px;gap:12px;grid-template-columns:1fr;padding:22px}.result-dialog-mark{border-radius:16px;height:48px;width:48px}.result-dialog-stats{grid-template-columns:1fr}.result-dialog-close{justify-self:stretch}}@media (max-width:480px){.workspace-topbar{left:8px;right:8px;top:8px}.brand-cluster{gap:8px}.toolbar-title{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-node-list{padding-inline:18px;scroll-padding-inline:18px}.draggable-node{flex-basis:96px}.action-icon{height:15px;width:15px}.dialog-backdrop{padding:14px}}@media (max-height:620px){.workspace-topbar{padding-block:6px;top:8px}.brand-mark{height:32px;width:32px}.toolbar-kicker{display:none}.toolbar-title{font-size:15px}.draggable-node,.icon-button{min-height:34px}.icon-button{min-width:34px;width:34px}}@media (prefers-reduced-motion:reduce){.canvas-action-button,.draggable-node,.node-control,.node-select-option,.pipeline-node,.submit-button{transition:none}.dialog-backdrop,.loading-icon,.node-select-menu,.result-dialog{animation:none}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.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{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray: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;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;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{margin:15px;position:absolute;z-index:5}.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:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.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-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.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-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.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{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 #0059dccc}.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{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.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__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.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.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
/*# sourceMappingURL=main.63668f2a.css.map*/