:root{--kw-brand-50: #eef2ff;--kw-brand-100: #e0e7ff;--kw-brand-200: #c7d2fe;--kw-brand-500: #6366f1;--kw-brand-600: #4f46e5;--kw-brand-700: #4338ca;--kw-bg: #f6f7fb;--kw-surface: #ffffff;--kw-surface-2: #fbfcfe;--kw-surface-sunken: #f1f3f9;--kw-border: #e6e9f0;--kw-border-strong: #d3d9e6;--kw-text: #0f172a;--kw-text-soft: #475569;--kw-text-muted: #64748b;--kw-text-faint: #94a3b8;--kw-text-invert: #ffffff;--kw-on-brand: #ffffff;--kw-ok: #047857;--kw-ok-bg: #ecfdf5;--kw-ok-border: #a7f3d0;--kw-warn: #b45309;--kw-warn-bg: #fffbeb;--kw-warn-border: #fcd9a5;--kw-danger: #b91c1c;--kw-danger-bg: #fef2f2;--kw-danger-border: #fca5a5;--kw-info: #2563eb;--kw-r-sm: 6px;--kw-r-md: 9px;--kw-r-lg: 13px;--kw-r-xl: 18px;--kw-r-pill: 999px;--kw-s1: 4px;--kw-s2: 8px;--kw-s3: 12px;--kw-s4: 16px;--kw-s5: 20px;--kw-s6: 24px;--kw-s8: 32px;--kw-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--kw-shadow-md: 0 4px 14px rgba(15, 23, 42, .08);--kw-shadow-lg: 0 12px 32px rgba(15, 23, 42, .14);--kw-ring: 0 0 0 3px var(--kw-brand-100);--kw-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--kw-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--kw-font);color:var(--kw-text);background:var(--kw-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14px;line-height:1.45}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em;color:var(--kw-text)}a{color:var(--kw-brand-600);text-decoration:none}a:hover{text-decoration:underline}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#d7dce8;border-radius:999px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#c2c9da;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:none;box-shadow:var(--kw-ring);border-radius:var(--kw-r-sm)}.kw-eyebrow{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--kw-text-muted)}.kw-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kw-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:600;font-size:13px;border-radius:var(--kw-r-md);padding:7px 13px;cursor:pointer;border:1px solid transparent;transition:background .12s,box-shadow .12s,border-color .12s,transform .04s;white-space:nowrap}.kw-btn:active{transform:translateY(.5px)}.kw-btn:disabled{cursor:not-allowed;opacity:.55}.kw-btn--primary{background:var(--kw-brand-600);color:var(--kw-text-invert);box-shadow:var(--kw-shadow-sm)}.kw-btn--primary:hover:not(:disabled){background:var(--kw-brand-700)}.kw-btn--ok{background:var(--kw-ok);color:var(--kw-text-invert);box-shadow:var(--kw-shadow-sm)}.kw-btn--ok:hover:not(:disabled){filter:brightness(1.06)}.kw-btn--ghost{background:var(--kw-surface);color:var(--kw-text-soft);border-color:var(--kw-border-strong)}.kw-btn--ghost:hover:not(:disabled){background:var(--kw-surface-sunken)}.kw-btn--subtle{background:transparent;color:var(--kw-text-soft)}.kw-btn--subtle:hover:not(:disabled){background:var(--kw-surface-sunken)}.kw-btn--sm{padding:4px 9px;font-size:12px;border-radius:var(--kw-r-sm)}.kw-card{background:var(--kw-surface);border:1px solid var(--kw-border);border-radius:var(--kw-r-lg);box-shadow:var(--kw-shadow-sm)}.kw-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 9px;border-radius:var(--kw-r-pill);line-height:1.5}.kw-badge--ok{background:var(--kw-ok-bg);color:var(--kw-ok);border:1px solid var(--kw-ok-border)}.kw-badge--warn{background:var(--kw-warn-bg);color:var(--kw-warn);border:1px solid var(--kw-warn-border)}.kw-badge--danger{background:var(--kw-danger-bg);color:var(--kw-danger);border:1px solid var(--kw-danger-border)}.kw-badge--neutral{background:var(--kw-surface-sunken);color:var(--kw-text-soft);border:1px solid var(--kw-border)}.kw-badge--brand{background:var(--kw-brand-50);color:var(--kw-brand-700);border:1px solid var(--kw-brand-100);font-weight:600}.kw-select--sm{padding:3px 6px;font-size:11.5px;height:auto}.kw-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:var(--kw-r-pill);border:1px solid var(--kw-border);background:var(--kw-surface)}.kw-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.kw-input,.kw-textarea,.kw-select{font:inherit;font-size:13px;width:100%;border:1px solid var(--kw-border-strong);border-radius:var(--kw-r-md);padding:8px 11px;background:var(--kw-surface);color:var(--kw-text);transition:border-color .12s,box-shadow .12s;resize:vertical}.kw-input::placeholder,.kw-textarea::placeholder{color:var(--kw-text-muted)}.kw-input:focus,.kw-textarea:focus,.kw-select:focus{outline:none;border-color:var(--kw-brand-500);box-shadow:var(--kw-ring)}.kw-check{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--kw-r-md);cursor:pointer;font-size:13px;color:var(--kw-text-soft);transition:background .1s}.kw-check:hover{background:var(--kw-surface-sunken)}.kw-check input{accent-color:var(--kw-brand-600);width:15px;height:15px}.kw-check--on{color:var(--kw-text);font-weight:550}.kw-app{display:grid;grid-template-rows:auto 1fr;height:100vh;background:var(--kw-bg)}.kw-topbar{display:flex;align-items:center;gap:var(--kw-s4);height:52px;padding:0 var(--kw-s5);background:var(--kw-surface);border-bottom:1px solid var(--kw-border);box-shadow:var(--kw-shadow-sm);z-index:5}.kw-logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em;font-size:15px}.kw-logo-mark{width:26px;height:26px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,var(--kw-brand-500),var(--kw-brand-700));box-shadow:inset 0 1px #ffffff59,var(--kw-shadow-sm);display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800}.kw-topbar-spacer{flex:1}.kw-user{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--kw-text-soft);padding:4px 10px 4px 4px;border:1px solid var(--kw-border);border-radius:var(--kw-r-pill);background:var(--kw-surface-2)}.kw-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;background:var(--kw-brand-600)}.kw-grid{display:grid;grid-template-columns:232px minmax(380px,1fr) 408px;min-height:0}.kw-rail{background:var(--kw-surface);border-right:1px solid var(--kw-border);padding:var(--kw-s4) var(--kw-s3);overflow:auto;display:flex;flex-direction:column;gap:var(--kw-s5)}.kw-rail-group{display:flex;flex-direction:column;gap:var(--kw-s1)}.kw-rail-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px var(--kw-s1)}.kw-canvas-wrap{position:relative;min-width:0;background:var(--kw-bg);overflow:hidden}.kw-right{border-left:1px solid var(--kw-border);background:var(--kw-surface-2);overflow:auto;display:flex;flex-direction:column;min-height:0}.kw-overlay-card{background:#fffffff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--kw-border);border-radius:var(--kw-r-md);box-shadow:var(--kw-shadow-md)}.kw-chat{position:absolute;bottom:18px;right:18px;z-index:20;width:384px;max-width:calc(100% - 36px);max-height:min(620px,calc(100% - 36px));display:flex;flex-direction:column;min-height:0;background:var(--kw-surface);border:1px solid var(--kw-border);border-radius:var(--kw-r-lg);box-shadow:var(--kw-shadow-lg);overflow:hidden;animation:kw-pop .16s ease-out}@keyframes kw-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.kw-chat-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(135deg,var(--kw-brand-600),var(--kw-brand-700));color:#fff}.kw-chat-head h3{color:#fff;font-size:13px}.kw-chat-icon-btn{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;border:none;background:#ffffff29;color:#fff;cursor:pointer;font-size:15px;line-height:1}.kw-chat-icon-btn:hover{background:#ffffff47}.kw-chat-body{display:flex;flex-direction:column;min-height:0;padding:12px;gap:8px}.kw-icon-btn{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;border:1px solid var(--kw-border);background:var(--kw-surface-2);color:var(--kw-text-soft);cursor:pointer;font-size:15px;line-height:1;transition:background .1s,border-color .1s}.kw-icon-btn:hover{background:var(--kw-surface-sunken);border-color:var(--kw-border-strong)}.kw-fab{position:absolute;bottom:18px;right:18px;z-index:20;height:52px;padding:0 18px 0 16px;border-radius:var(--kw-r-pill);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:9px;font:inherit;font-weight:650;font-size:13.5px;color:#fff;background:linear-gradient(135deg,var(--kw-brand-600),var(--kw-brand-700));box-shadow:var(--kw-shadow-lg);transition:transform .1s,filter .1s}.kw-fab:hover{filter:brightness(1.07);transform:translateY(-1px)}.kw-fab-dot{width:8px;height:8px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 0 3px #6ee7b74d}.react-flow__controls{border-radius:var(--kw-r-md)!important;box-shadow:var(--kw-shadow-md)!important;overflow:hidden;border:1px solid var(--kw-border)}.react-flow__controls-button{border-bottom:1px solid var(--kw-border)!important;background:var(--kw-surface)!important}.react-flow__minimap{border-radius:var(--kw-r-md);box-shadow:var(--kw-shadow-md);border:1px solid var(--kw-border)}.react-flow__edge-path{transition:stroke .12s}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--kw-brand-500)!important;stroke-width:2}.react-flow__edge{cursor:pointer}.react-flow__node.dragging{cursor:grabbing!important;z-index:1000!important}.react-flow__node.dragging>*{opacity:.45!important;outline:2.5px dashed var(--kw-brand-600);outline-offset:4px;border-radius:12px;transform:scale(1.04);box-shadow:0 16px 34px #4f46e559!important}@media (max-width: 1080px){.kw-grid{grid-template-columns:180px minmax(300px,1fr) 340px}}.kw-mobile-only{display:none}@media (max-width: 760px){.kw-desktop-only{display:none!important}.kw-mobile-only{display:inline-flex}.kw-logo-text{display:none}.kw-topbar{gap:var(--kw-s2);padding:0 var(--kw-s3)}.kw-grid{grid-template-columns:1fr}.kw-scrim{position:fixed;top:52px;right:0;bottom:0;left:0;background:#0f172a61;z-index:30}.kw-rail{position:fixed;top:52px;left:0;bottom:0;width:min(86vw,320px);z-index:35;transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--kw-shadow-lg)}.kw-rail--open{transform:translate(0)}.kw-right{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:82vh;height:82vh;z-index:35;transform:translateY(100%);transition:transform .24s ease;border-left:none;border-top:1px solid var(--kw-border);border-radius:16px 16px 0 0;box-shadow:var(--kw-shadow-lg)}.kw-right--open{transform:translateY(0)}.kw-sheet-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--kw-border);position:sticky;top:0;background:var(--kw-surface);z-index:1}.kw-sheet-grip{width:36px;height:4px;border-radius:2px;background:var(--kw-border-strong, #cbd5e1);margin:0 auto}.kw-chat{top:60px!important;right:8px!important;bottom:8px!important;left:8px!important;width:auto!important;max-width:none!important;max-height:none!important;height:auto!important;border-radius:var(--kw-r-lg)}.kw-fab{bottom:16px;right:16px}[data-testid=inspector-fullscreen],[data-testid=chat-dock-right],[data-testid=chat-maximize],.react-flow__minimap{display:none!important}.kw-btn,.kw-icon-btn,.kw-chat-icon-btn{min-height:34px}.kw-check{padding:6px 4px}}.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%}
