:root{--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg:#f6f5f1;--bg2:#fbfaf7;--surface:#fff;--ink:#1d1c1a;--ink2:#3f3c36;--muted:#5f5b53;--muted2:#7a766d;--line:#e6e3dc;--line2:#efede7;--line3:#d6d2c8;--line4:#cfcbc1;--edge:#a9a498;--dots:#d5d1c7;--canvas:#f2f1ec;--sunk:#faf9f6;--accent:#3a55d9;--accent-h:#2e47c2;--accent-ink:#2a41b0;--accent-t0:#f4f6fe;--accent-t1:#e8ecfc;--accent-t2:#dce2fb;--on-accent:#fff;--ok:#1f7a4d;--ok-bg:#e2f1e8;--ok-ink:#17603c;--ok-soft:#f2f7f4;--err:#c2362b;--err-bg:#fbe6e3;--err-ink:#a12a21;--err-soft:#fdf5f4;--err-line:#f1cfca;--warn:#a85f00;--warn-bg:#fceed6;--warn-ink:#874b00;--warn-soft:#fff8eb;--warn-line:#f1ddb5;--draft-bg:#f3efe4;--draft-ink:#6a5a2e;--tv-bg:#ece8fb;--tv-ink:#4a31a8;--wh-bg:#ddf0f1;--wh-ink:#0b5c64;--node-start:#1e7a4c;--node-end:#4a4740;--node-llm:#5b3fc4;--node-condition:#b05f00;--node-transform:#0b6e78;--node-future:#7a776f;--node-agent:#a1307f;--node-human:#2d67a8;--node-custom-tool:#b4560c;--node-default-tool:#0e7187;--node-memory:#1f6fa8;--node-trigger:#a8274f;--radius-sm:8px;--radius:10px;--radius-lg:16px;--shadow-pop:0 16px 40px #1d1c1a2e;--shadow-soft:0 6px 16px #1d1c1a29;--scrim:#1d1c1a6b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#141413;--bg2:#191917;--surface:#1f1e1b;--ink:#edebe5;--ink2:#cfcbc2;--muted:#a8a49a;--muted2:#8a867d;--line:#33312d;--line2:#292825;--line3:#46433d;--line4:#57534c;--edge:#6f6b63;--dots:#2f2e2a;--canvas:#171715;--sunk:#181816;--accent:#7088f2;--accent-h:#8599f5;--accent-ink:#aebbfa;--accent-t0:#1f2438;--accent-t1:#262c4a;--accent-t2:#2f3866;--on-accent:#0f1430;--ok:#4cbf84;--ok-bg:#193326;--ok-ink:#86d6aa;--ok-soft:#182620;--err:#e8695e;--err-bg:#3b1f1c;--err-ink:#f5a197;--err-soft:#281a18;--err-line:#5b2f2a;--warn:#e2a24f;--warn-bg:#3a2d15;--warn-ink:#f0c47e;--warn-soft:#282214;--warn-line:#5a4727;--draft-bg:#2f2c21;--draft-ink:#d8c88f;--tv-bg:#2c2650;--tv-ink:#c4b6ff;--wh-bg:#15353a;--wh-ink:#7dd4dc;--shadow-pop:0 16px 40px #00000073;--shadow-soft:0 6px 16px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}a{color:var(--accent)}a:hover{color:var(--accent-h)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}h1{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:700}h2{margin:0;font-size:16px;font-weight:700}h3{margin:0;font-size:14px;font-weight:700}.row{align-items:center;gap:8px;display:flex}.wrap{flex-wrap:wrap}.stack{flex-direction:column;gap:8px;display:flex}.grow{flex:auto}.min0{min-width:0}.muted{color:var(--muted)}.small{font-size:12.5px}.mono{font-family:var(--font-mono);font-size:12.5px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scroll-x{overflow-x:auto}.app{background:var(--bg);flex-wrap:wrap;min-height:100vh;display:flex}.side{background:var(--bg2);border-right:1px solid var(--line);flex-direction:column;flex:236px;gap:2px;max-width:100%;padding:18px 14px;display:flex;position:relative}.main{flex-direction:column;flex:999 640px;min-width:0;display:flex}.brand{align-items:center;gap:10px;padding:4px 8px 18px;font-size:15px;font-weight:700;display:flex}.logo{background:var(--accent);color:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.nav{min-height:40px;color:var(--ink2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav:hover{background:var(--line2);color:var(--ink)}.nav.active{background:var(--accent-t1);color:var(--accent-ink);font-weight:600}.nav.danger{color:var(--err-ink)}.navsec{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:18px 12px 6px;font-size:11.5px;font-weight:700}.soon{color:var(--muted);background:var(--line2);border-radius:6px;margin-left:auto;padding:2px 6px;font-size:10.5px;font-weight:700}.runchip{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:12px;align-items:center;gap:10px;margin-top:auto;padding:12px;text-decoration:none;display:flex}.live{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 4px var(--accent-t2);border-radius:50%;flex:none}.live.sm{width:8px;height:8px;box-shadow:0 0 0 3px var(--accent-t2)}.page-top{flex-wrap:wrap;align-items:center;gap:12px;padding:22px 32px 18px;display:flex}.page-sub{color:var(--muted);margin:2px 0 0}.page-body{padding:0 32px 32px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:0 32px 16px;display:flex}.crumbs{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.btn{border:1px solid var(--line3);background:var(--surface);height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--bg);color:var(--ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-h)}.btn.danger{color:var(--err-ink);border-color:var(--err-line)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--line2)}.btn.dashed{border-style:dashed}.btn.sm{border-radius:8px;height:32px;padding:0 12px;font-size:13px}.btn.icon{width:40px;padding:0}.btn.sm.icon{width:32px}.btn:disabled{opacity:.45;cursor:not-allowed}.input{border:1px solid var(--line3);background:var(--surface);width:100%;height:40px;color:var(--ink);border-radius:10px;padding:0 12px;font-family:inherit;font-size:14px}textarea.input{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}.input.focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-t2)}.input.sm{height:32px;font-size:13px}.label{margin:0 0 6px;font-size:13px;font-weight:600;display:block}.label .type{font-family:var(--font-mono);color:var(--muted);margin-left:4px;font-weight:400}.help{color:var(--muted);margin:6px 0 0;font-size:12.5px}.searchbox{align-items:center;display:flex;position:relative}.searchbox>svg{color:var(--muted);pointer-events:none;position:absolute;left:12px}.searchbox .input{padding-left:38px}.select{border:1px solid var(--line3);background:var(--surface);width:100%;height:40px;color:var(--ink);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:flex}.choice{border:1.5px solid var(--line3);background:var(--surface);cursor:pointer;text-align:left;color:var(--ink);border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.choice.selected{border-color:var(--accent);background:var(--accent-t0)}.choice input{accent-color:var(--accent);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.card.dashed{border-style:dashed}.tile{background:var(--sunk);border:1px solid var(--line2);border-radius:10px;padding:10px 12px}.codeblock{font-family:var(--font-mono);background:var(--sunk);border:1px solid var(--line);color:var(--ink2);white-space:pre-wrap;border-radius:10px;margin:0;padding:10px 12px;font-size:12.5px;line-height:1.6}.popover{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);position:absolute}.callout{border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12.5px;display:flex}.callout.err{background:var(--err-soft);border-color:var(--err-line)}.callout.err>svg{color:var(--err)}.callout.warn{background:var(--warn-soft);border-color:var(--warn-line)}.callout.warn>svg{color:var(--warn-ink)}.callout.ok{background:var(--ok-soft)}.callout.ok>svg{color:var(--ok)}.callout.info{background:var(--accent-t0);border-color:var(--accent-t2)}.callout.neutral{background:var(--bg2);border-color:var(--line)}.pill{white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.pill.sm{height:20px;padding:0 8px;font-size:11px}.pill.ok{background:var(--ok-bg);color:var(--ok-ink)}.pill.err{background:var(--err-bg);color:var(--err-ink)}.pill.warn{background:var(--warn-bg);color:var(--warn-ink)}.pill.run{background:var(--accent-t1);color:var(--accent-ink)}.pill.mute{background:var(--line2);color:var(--ink2)}.pill.draft{background:var(--draft-bg);color:var(--draft-ink)}.pill.webhook{background:var(--wh-bg);color:var(--wh-ink)}.pill.api{background:var(--tv-bg);color:var(--tv-ink)}.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.count{border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.count.err{background:var(--err-bg);color:var(--err-ink)}.count.warn{background:var(--warn-bg);color:var(--warn-ink)}.count.run{background:var(--accent-t1);color:var(--accent-ink)}.count.mute{background:var(--line2);color:var(--ink2)}.kbd{font-family:var(--font-mono);border:1px solid var(--line3);color:var(--ink2);background:var(--surface);border-bottom-width:2px;border-radius:5px;padding:0 5px;font-size:11px}.tvar{font-family:var(--font-mono);background:var(--tv-bg);color:var(--tv-ink);border-radius:5px;padding:1px 5px;font-size:12px}.nchip{color:#fff;border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ichip{background:var(--line2);color:var(--ink2);border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.table{border-collapse:collapse;width:100%;min-width:760px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-size:12.5px;font-weight:600}.table td{border-bottom:1px solid var(--line2);vertical-align:middle;padding:14px 16px}.table tr:last-child td{border-bottom:0}.table tr.highlight td{background:var(--accent-t0)}.table.compact{min-width:0}.table a.rowlink{color:var(--ink);font-weight:600;text-decoration:none}.cell-actions{text-align:right;white-space:nowrap;position:relative}.tabs{border-bottom:1px solid var(--line);align-items:stretch;gap:2px;display:flex}.tab{height:42px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:600;display:inline-flex}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.tab.danger.active{color:var(--err-ink);border-bottom-color:var(--err)}.seg{background:var(--line2);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--ink2);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.seg button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1d1c1a1f}.toggle{background:var(--accent);cursor:pointer;border:0;border-radius:10px;flex:none;width:36px;height:20px;padding:0;position:relative}.toggle:after{content:"";background:#fefefe;border-radius:50%;width:16px;height:16px;position:absolute;top:2px;right:2px}.toggle.off{background:var(--line4)}.toggle.off:after{left:2px;right:auto}.empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;display:flex}.dropzone{border:1.5px dashed var(--line4);text-align:center;color:var(--muted);border-radius:12px;padding:14px;font-size:12.5px}.menu{width:200px;padding:6px}.menu hr{background:var(--line2);border:0;height:1px;margin:4px 0}.langrow{height:38px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:0 10px;font-size:14px;font-weight:500;display:flex}.langrow:hover{background:var(--line2)}.langrow.active{background:var(--accent-t0);color:var(--accent-ink);font-weight:600}.overlay{z-index:50;background:#1d1c1a6b;justify-content:center;align-items:flex-start;padding:72px 16px;display:flex;position:fixed;inset:0}.dialog{width:100%;max-width:560px;box-shadow:var(--shadow-pop);overflow:hidden}.dialog-foot{border-top:1px solid var(--line2);background:var(--bg2);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.split{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.split>.primary-col{flex:999 560px;min-width:0}.split>.side-col{flex:340px;max-width:440px}.stat{flex:150px;padding:12px 16px}.stat b{font-size:16px;display:block}.diff-del{background:var(--err-bg);color:var(--err-ink);border-radius:4px;padding:1px 4px}.diff-add{background:var(--ok-bg);color:var(--ok-ink);border-radius:4px;padding:1px 4px}.studio-scroll{background:var(--bg);height:100vh;overflow-x:auto}.studio{flex-direction:column;min-width:1180px;height:100vh;min-height:640px;display:flex;overflow:hidden}.studio-bar{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;height:60px;padding:0 14px;display:flex}.studio-bar .vr{background:var(--line);width:1px;height:24px;margin:0 2px}.studio-body{flex:1;min-height:0;display:flex}.studio-left{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;width:248px;min-height:0;display:flex}.studio-center{flex-direction:column;flex:1;min-width:0;display:flex}.studio-right{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;width:360px;min-height:0;display:flex}.studio-right.wide{width:380px}.panel-head{align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.panel-body{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow:auto}.panel-foot{border-top:1px solid var(--line2);align-items:center;gap:10px;padding:14px 16px;display:flex}.palette-item{cursor:grab;text-align:left;width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.palette-item:hover{background:var(--bg);border-color:var(--line)}.palette-item:disabled{opacity:.5;cursor:default}.palette-group{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 8px 4px;font-size:11.5px;font-weight:700}.ntype{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700;line-height:1.2}.canvas{background-color:var(--canvas);background-image:radial-gradient(var(--dots) 1px, transparent 1.2px);background-size:22px 22px;flex:1;position:relative;overflow:hidden}.canvas-layer{transform-origin:50% 0;width:832px;height:620px;margin-left:-416px;position:absolute;top:0;left:50%}.canvas-edges{position:absolute;top:0;left:0;overflow:visible}.canvas-banner{background:var(--surface);border:1px solid var(--line);color:var(--ink2);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;font-weight:600;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.node{background:var(--surface);border:1.5px solid var(--line3);cursor:pointer;text-align:left;width:190px;color:var(--ink);font:inherit;border-radius:14px;padding:0;position:absolute}.node:hover{border-color:var(--edge)}.node .node-head{align-items:center;gap:10px;padding:10px 12px 6px;display:flex}.node .node-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;line-height:1.25;overflow:hidden}.node .node-body{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;font-size:12px;display:flex;overflow:hidden}.node .port{background:var(--surface);border:2px solid var(--muted2);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;left:50%}.node.selected{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-t2)}.node.error{border-color:var(--err)}.node.success{border-color:var(--ok)}.node.running{border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-t2)}.node.skipped{opacity:.45;border-style:dashed}.node-badge{background:var(--err);color:#fff;border:2px solid var(--surface);border-radius:11px;justify-content:center;align-items:center;gap:3px;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-10px;right:-10px}.edge-label{color:var(--ink2);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;position:absolute;transform:translate(-50%)}.edge-label.taken{border-color:var(--accent);color:var(--accent-ink)}.edge-label.skipped{opacity:.5}.trigger-chip{background:var(--surface);border:1px solid var(--line);height:26px;color:var(--ink2);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;font-weight:600;display:inline-flex;position:absolute}.trigger-chip.active{border-color:var(--accent);background:var(--accent-t0);color:var(--accent-ink)}.trigger-chip svg{color:var(--node-condition)}.zoom{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:14px;left:14px}.zoom button{width:32px;height:32px;color:var(--ink2);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;display:flex}.zoom button:hover{background:var(--line2)}.zoom span{color:var(--ink2);text-align:center;min-width:44px;padding:0 6px;font-size:12px;font-weight:600}.minimap{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:150px;height:96px;position:absolute;bottom:14px;right:14px;overflow:hidden}.minimap i{background:var(--line4);border-radius:2px;width:20px;height:6px;position:absolute}.minimap b{border:1.5px solid var(--accent);background:var(--accent-t0);opacity:.8;border-radius:4px;width:92px;height:76px;position:absolute;top:8px;left:30px}.bottom{background:var(--surface);border-top:1px solid var(--line);flex-direction:column;flex:none;min-height:0;display:flex}.bottom>.tabs{padding:0 10px}.bottom-body{flex:1;min-height:0;overflow:auto}.filterbar{border-bottom:1px solid var(--line2);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.log{grid-template-columns:96px 170px 52px minmax(0,1fr);align-items:baseline;gap:12px;padding:5px 16px;font-size:12.5px;display:grid}.log:hover{background:var(--sunk)}.log.streaming{background:var(--accent-t0)}.log .who{white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.log .lvl{font-family:var(--font-mono);font-size:11.5px}.lvl.info{color:var(--muted)}.lvl.warn{color:var(--warn)}.lvl.error{color:var(--err)}.lvl.token{color:var(--accent-ink)}.caret{background:var(--accent);vertical-align:-2px;width:7px;height:15px;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.problem{border:1px solid;border-radius:10px;align-items:center;gap:12px;margin:6px 16px;padding:10px 12px;display:flex}.problem.error{border-color:var(--err-line);background:var(--err-soft)}.problem.error>svg{color:var(--err)}.problem.warning{border-color:var(--warn-line);background:var(--warn-soft)}.problem.warning>svg{color:var(--warn)}.file-row{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.file-row:hover{background:var(--bg2)}.file-row.selected{background:var(--accent-t0);border-color:var(--accent-t2)}.progress{background:var(--line);border-radius:2px;height:4px;margin-top:6px}.progress>span{background:var(--accent);border-radius:2px;height:4px;display:block}.map-row{align-items:center;gap:8px;padding:4px 0;display:flex}.map-row .from{background:var(--sunk);border-radius:6px;flex:1;padding:4px 8px}.map-row .to{background:var(--tv-bg);color:var(--tv-ink);border-radius:6px;flex:1;padding:4px 8px}.slider{background:var(--line);border-radius:3px;flex:1;height:6px;position:relative}.slider>span{background:var(--accent);border-radius:3px;height:6px;position:absolute;top:0;left:0}.slider>i{background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:16px;height:16px;margin-left:-8px;position:absolute;top:-5px}.studio-right .tab{padding:0 10px}.timeline-row{text-align:left;cursor:pointer;width:100%;color:var(--ink);font:inherit;border:1px solid #0000;border-radius:10px;grid-template-columns:20px 170px minmax(0,1fr) 120px;align-items:center;gap:10px;padding:6px 10px;display:grid}.timeline-row:hover{background:var(--bg2)!important}.react-flow__node.diff-added .wf-card,.react-flow__node.diff-added .wf-chip{border:2px dashed var(--ok);background:var(--ok-soft)}.react-flow__node.diff-changed .wf-card,.react-flow__node.diff-changed .wf-chip{border:2px solid var(--node-condition)}.ro-canvas .react-flow{background:0 0}.trace-step{border:1px solid var(--line2);background:var(--surface);border-radius:10px;padding:8px 10px}.trace-step>summary{cursor:pointer;gap:8px;list-style:none}.trace-step>summary::-webkit-details-marker{display:none}.trace-step-failed{border-color:var(--err-line);background:var(--err-soft)}.trace-step-waiting{border-color:var(--warn-line);background:var(--warn-soft)}.trace-step-running{border-color:var(--accent-t2);background:var(--accent-t0)}select.input{appearance:auto;cursor:pointer}.nav:disabled{opacity:.5;cursor:not-allowed}.nowrap{white-space:nowrap}.tip-bubble{z-index:10000;background:var(--ink);max-width:300px;color:var(--surface);font:500 12.5px/1.45 var(--font-sans);white-space:pre-line;pointer-events:none;box-shadow:var(--shadow-pop);border-radius:8px;align-items:center;gap:10px;padding:7px 10px;animation:.12s ease-out tip-in;display:flex;position:fixed}.tip-kbd{flex:none;gap:3px;display:inline-flex}.tip-kbd kbd{font:600 11px/1.4 var(--font-mono);background:color-mix(in srgb, var(--surface) 16%, transparent);border:1px solid color-mix(in srgb, var(--surface) 30%, transparent);border-radius:4px;padding:0 5px}@keyframes tip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.codeview{font:12.5px/1.65 var(--font-mono);background:var(--surface);color:var(--ink);outline:none;flex:1;min-height:0;padding:8px 0;overflow:auto}.codeview.dimmed{opacity:.45;filter:grayscale(.6)}.code-row{border-left:3px solid #0000;min-width:max-content;display:flex}.code-row.lit{background:var(--accent-t0);border-left-color:var(--accent)}.code-row.has-error{background:var(--err-soft)}.code-row.has-warning{background:var(--warn-soft)}.code-gutter{min-width:56px;color:var(--muted);background:inherit;-webkit-user-select:none;user-select:none;flex:none;justify-content:flex-end;align-items:center;gap:4px;padding:0 10px 0 6px;display:inline-flex;position:sticky;left:0}.code-row:not(.lit):not(.has-error):not(.has-warning) .code-gutter{background:var(--surface)}.code-row.has-error .code-gutter{color:var(--err)}.code-row.has-warning .code-gutter{color:var(--warn)}.code-text{white-space:pre;padding-right:24px}.code-msg{white-space:nowrap;font:600 11.5px/1.6 var(--font-sans);border-radius:6px;margin-left:14px;padding:0 8px}.code-msg.error{color:var(--err-ink);background:var(--err-bg)}.code-msg.warning{color:var(--warn-ink);background:var(--warn-bg)}.tok-key,.tok-fn{color:var(--tv-ink)}.tok-str{color:var(--ok-ink)}.tok-num{color:var(--warn-ink)}.tok-lit{color:var(--wh-ink)}.tok-kw{color:var(--accent-ink);font-weight:700}.tok-com{color:var(--muted);font-style:italic}.tok-punct{color:var(--muted)}.dsl-view{background:var(--surface);flex-direction:column;display:flex;position:absolute;inset:0}.dsl-bar{border-bottom:1px solid var(--line2);background:var(--surface);align-items:center;gap:10px;min-height:46px;padding:0 12px;display:flex}.dsl-note{padding:10px 16px 0}.dsl-side section+section{margin-top:18px}.dsl-checks{gap:4px;margin:0;padding:0;list-style:none;display:grid}.dsl-checks li{border-radius:8px;align-items:center;gap:8px;padding:4px 8px;font-size:13px;display:flex}.dsl-checks li.ok svg{color:var(--ok)}.dsl-checks li.bad{background:var(--err-soft);color:var(--err-ink)}.dsl-checks li.bad svg{color:var(--err)}.dsl-tree{gap:2px;display:grid}.dsl-tree-row{all:unset;box-sizing:border-box;cursor:pointer;width:100%;color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:13px;display:flex}.dsl-tree-row:hover{background:var(--line2)}.dsl-tree-row:focus-visible{outline:2px solid var(--accent)}.dsl-tree-row.sub{padding-left:26px}.dsl-tree-row.active{background:var(--accent-t1);color:var(--accent-ink)}.dsl-tree-sub{color:var(--muted);overflow-wrap:anywhere;padding:2px 8px 6px 30px}.dialog.output-modal{flex-direction:column;max-width:920px;max-height:calc(100vh - 120px);display:flex}.output-modal-body{flex-direction:column;flex:1;min-height:0;padding:16px 20px;display:flex;overflow:auto}.output-code{border:1px solid var(--line2);border-radius:10px;min-height:320px;max-height:56vh;display:flex;overflow:hidden}.output-value{white-space:pre-wrap;padding:10px 12px;font-size:13.5px}.output-pinned{border:1px solid var(--accent-t2);background:var(--accent-t0);width:calc(100% - 24px);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin:8px 12px;padding:8px 12px;display:flex}.output-pinned:hover{border-color:var(--accent)}.hitl-banner{background:var(--warn-soft);border-top:1px solid var(--warn-line);border-bottom:1px solid var(--warn-line);color:var(--ink);flex:none;align-items:center;gap:10px;padding:7px 16px;font-size:13px;display:flex}.hitl-message{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);background:var(--bg2);border:1px solid var(--line2);border-radius:10px;max-height:320px;padding:10px 12px;font-size:13.5px;line-height:1.55;overflow:auto}:root{--bg-canvas:var(--canvas);--bg-panel:var(--surface);--bg-panel-alt:var(--bg2);--bg-hover:var(--line2);--border:var(--line);--text-primary:var(--ink);--text-secondary:var(--muted);--text-muted:var(--muted2);--accent-purple:var(--accent);--accent-amber:var(--warn);--accent-teal:var(--ok);--accent-red:var(--err)}.login-page{background:var(--bg-canvas);min-height:100vh;color:var(--text-primary);box-sizing:border-box;justify-content:center;align-items:center;padding:24px 16px;font:14px/1.4 -apple-system,Segoe UI,system-ui,sans-serif;display:flex}.login-card{background:var(--bg-panel);border:1px solid var(--border);width:min(380px,100%);box-shadow:var(--shadow-pop);box-sizing:border-box;border-radius:14px;flex-direction:column;gap:14px;padding:24px;display:flex}.login-brand{text-align:center;font-size:18px;font-weight:700}.login-tabs{background:var(--bg-panel-alt);border:1px solid var(--border);border-radius:9px;gap:4px;padding:3px;display:flex}.login-tab{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:7px 0;font-size:13px}.login-tab-active{background:var(--bg-hover);color:var(--text-primary);font-weight:600}.login-card label{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:12px;display:flex}.login-card input{background:var(--bg-panel-alt);border:1px solid var(--border);color:var(--text-primary);font:inherit;border-radius:8px;padding:9px 11px}.login-card small{color:var(--text-muted);font-size:11px}.login-submit{background:var(--text-primary);color:var(--bg-canvas);font:inherit;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:10px 0;font-weight:600;display:inline-flex}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-error{color:var(--accent-red);background:var(--err-soft);border-radius:8px;padding:8px 10px;font-size:12.5px}.login-notice{color:var(--accent-amber);background:var(--warn-soft);border-radius:8px;padding:8px 10px;font-size:12.5px}.login-note{color:var(--text-muted);text-align:center;margin:0;font-size:11.5px}.user-menu{color:var(--text-secondary);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.user-menu button{border:1px solid var(--border);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.user-menu button:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-backdrop{background-color:var(--scrim);-webkit-backdrop-filter:blur(6px);z-index:9999;justify-content:center;align-items:center;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) modalBackdropFadeIn;display:flex;position:fixed;inset:0}@keyframes modalBackdropFadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{background-color:var(--surface);border:1px solid var(--line3);width:100%;max-width:440px;box-shadow:var(--shadow-pop), 0 0 0 1px var(--line2);border-radius:12px;flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) modalScaleIn;display:flex;overflow:hidden}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-body-container{align-items:flex-start;gap:16px;padding:22px 24px 18px;display:flex}.modal-icon-wrapper{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.modal-icon-wrapper.variant-danger{background:var(--err-soft);color:var(--err);border:1px solid var(--err-line)}.modal-icon-wrapper.variant-warning{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line)}.modal-icon-wrapper.variant-info{background:var(--accent-t1);color:var(--accent);border:1px solid var(--accent-t2)}.modal-icon-wrapper.variant-success{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok)}.modal-content-area{flex:1;min-width:0}.modal-title-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.modal-title{color:var(--text-primary,var(--ink));letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.modal-close-btn{color:var(--text-muted,var(--muted));cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.modal-close-btn:hover{background:var(--line2);color:var(--text-primary,var(--ink))}.modal-message{color:var(--text-secondary,var(--muted));white-space:pre-line;word-break:break-word;margin:0;font-size:13.5px;line-height:1.5}.modal-footer{background:var(--surface);border-top:1px solid var(--surface);justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px 18px;display:flex}.modal-btn{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:7px;outline:none;justify-content:center;align-items:center;padding:7px 15px;font-size:13.5px;font-weight:500;transition:all .15s;display:inline-flex}.modal-btn:focus-visible{box-shadow:0 0 0 2px var(--accent-t2)}.modal-btn-cancel{background:var(--surface);border:1px solid var(--line3);color:var(--ink)}.modal-btn-cancel:hover{background:var(--surface);color:var(--ink);border-color:var(--line3)}.modal-btn-primary{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent)}.modal-btn-primary:hover{background:var(--accent)}.modal-btn-warning{background:var(--warn);border:1px solid var(--warn);color:var(--ink)}.modal-btn-warning:hover{background:var(--warn)}.modal-btn-danger{background:var(--err);border:1px solid var(--err);color:var(--on-accent)}.modal-btn-danger:hover{background:var(--err)}.modal-btn-success{background:var(--ok);border:1px solid var(--ok);color:var(--on-accent)}.modal-btn-success:hover{background:var(--ok)}.tutorial-backdrop{background-color:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tutorial-modal{background-color:var(--surface);border:1px solid var(--sunk);width:100%;max-width:680px;box-shadow:var(--shadow-pop), 0 0 0 1px var(--line2);border-radius:14px;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.tutorial-header{border-bottom:1px solid var(--sunk);background:linear-gradient(180deg, var(--bg2) 0%, var(--bg2) 100%);padding:24px 28px 16px}.tutorial-title-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tutorial-badge{background:var(--accent-t1);border:1px solid var(--accent-t2);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.5px;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.tutorial-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.tutorial-close-btn:hover{background-color:var(--line3);color:var(--ink)}.tutorial-header h2{color:var(--ink);margin:0 0 6px;font-size:20px;font-weight:700}.tutorial-subtitle{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.4}.tutorial-stepper{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stepper-tab{background:var(--surface);border:1px solid var(--surface);min-width:0;color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.stepper-tab-num{opacity:.8;font-size:11px;font-weight:700}.stepper-tab-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stepper-tab:hover{background:var(--surface);color:var(--ink)}.stepper-tab.active{background:var(--surface);border-color:var(--accent);color:var(--ink);box-shadow:0 0 10px var(--accent-t2)}.stepper-tab.past{border-color:var(--line3);color:var(--muted)}.tutorial-body{min-height:290px;padding:24px 28px;overflow-y:auto}.tutorial-step-pane h3{color:var(--ink);margin:0 0 8px;font-size:16px;font-weight:600}.tutorial-step-pane>p{color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.5}.tutorial-card-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.tutorial-feature-card{background:var(--surface);border:1px solid var(--sunk);border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.tutorial-feature-card.full{grid-column:1/-1}.feature-icon{background:var(--surface);width:28px;height:28px;color:var(--accent-ink);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.feature-icon.llm{background:var(--accent-t1);color:var(--accent-ink)}.feature-icon.condition{background:var(--warn-soft);color:var(--warn-ink)}.feature-icon.transform{background:var(--ok-bg);color:var(--ok)}.feature-icon.human{background:var(--accent-t0);color:var(--node-memory)}.feature-icon.agent{background:var(--accent-t1);color:var(--accent-ink)}.feature-icon.tool{background:var(--warn-soft);color:var(--warn-ink)}.feature-content h4{color:var(--ink);margin:0 0 4px;font-size:13px;font-weight:600}.feature-content p{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.tutorial-tip-box{background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12px;line-height:1.5;display:flex}.tutorial-tip-box strong{color:var(--warn-ink)}.tutorial-tip-box code{background:color-mix(in srgb, var(--ink) 12%, transparent);border-radius:4px;padding:1px 4px;font-family:monospace}.tutorial-workflow-flow{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.flow-step{background:var(--surface);border:1px solid var(--sunk);border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.flow-num{background:var(--accent);width:22px;height:22px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.flow-text strong{color:var(--ink);margin-bottom:2px;font-size:13px;display:block}.flow-text p{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.flow-text code{background:var(--surface);border:1px solid var(--sunk);color:var(--accent-ink);border-radius:4px;padding:1px 5px;font-family:monospace}.tutorial-code-preview{background:var(--surface);border:1px solid var(--line3);border-radius:8px;margin-bottom:16px;overflow:hidden}.code-preview-header{background:var(--surface);border-bottom:1px solid var(--line3);gap:8px;padding:8px 12px;display:flex}.code-pill{background:var(--warn-soft);color:var(--warn-ink);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.code-pill.json{background:var(--accent-t0);color:var(--node-memory)}.code-snippet{color:var(--ink);margin:0;padding:12px 14px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11.5px;line-height:1.6;overflow-x:auto}.tutorial-checklist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tutorial-checklist li{color:var(--muted);padding-left:20px;font-size:12.5px;line-height:1.5;position:relative}.tutorial-checklist li:before{content:"✓";color:var(--ok);font-weight:700;position:absolute;left:0}.tutorial-checklist strong{color:var(--ink)}.tutorial-checklist code{background:var(--surface);color:var(--warn-ink);border-radius:4px;padding:1px 4px;font-family:monospace}.color-badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.badge-run{border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.badge-run.success{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok)}.badge-run.running{background:var(--accent-t1);color:var(--accent-ink);border:1px solid var(--accent-t2)}.badge-run.waiting{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line)}.badge-run.error{background:var(--err-soft);color:var(--err);border:1px solid var(--err-line)}.tutorial-footer{border-top:1px solid var(--sunk);background-color:var(--surface);justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.tutorial-dots{gap:6px;display:flex}.tutorial-dots .dot{background-color:var(--line3);cursor:pointer;border-radius:50%;width:8px;height:8px;transition:all .2s}.tutorial-dots .dot.active{background-color:var(--accent);border-radius:999px;width:22px}.tutorial-actions{align-items:center;gap:10px;display:flex}.btn-nav{border:1px solid var(--line3);background-color:var(--line3);color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-nav:hover{background-color:var(--line3)}.btn-primary{background-color:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover{background-color:var(--accent)}.btn-finish{background:linear-gradient(135deg, var(--ok) 0%, var(--ok) 100%);border-color:var(--ok);color:var(--ink);font-weight:600}.btn-finish:hover{background:linear-gradient(135deg, var(--ok) 0%, var(--ok) 100%)}.btn-sample-starter{border:1px solid var(--accent-t2);background:var(--accent-t1);color:var(--accent-ink);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-sample-starter:hover{background:var(--accent-t2)}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.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:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.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-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.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.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.default-tool-editor{flex-direction:column;gap:14px;display:flex}.dt-banner{background:var(--accent-t0);border:1px solid var(--accent-t2);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.dt-banner-icon{color:var(--node-memory);flex-shrink:0}.dt-banner-title{color:var(--ink);font-size:13px;font-weight:600}.dt-banner-sub{color:var(--muted);margin-top:2px;font-size:11px}.dt-field{flex-direction:column;gap:6px;display:flex}.dt-field-label{color:var(--ink);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.dt-field-hint{color:var(--muted);font-size:11px;line-height:1.4}.dt-field-hint code{color:var(--node-memory);background:var(--accent-t0);border-radius:4px;padding:1px 4px}.dt-select,.dt-input,.dt-textarea{background:var(--surface);border:1px solid var(--line3);color:var(--ink);border-radius:6px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.dt-select:focus,.dt-input:focus,.dt-textarea:focus{border-color:var(--node-memory);box-shadow:0 0 0 2px var(--accent-t2)}.dt-info-box{background:var(--surface);border:1px solid var(--surface);border-radius:6px;flex-direction:column;gap:6px;padding:10px;display:flex}.dt-info-desc{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.dt-info-example{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.dt-info-example code{color:var(--node-memory);background:var(--accent-t0);border-radius:4px;padding:2px 6px;font-family:monospace}.dt-output-hint{background:var(--bg2);border:1px dashed var(--line3);color:var(--muted);border-radius:6px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:11px;line-height:1.4;display:flex}.dt-output-hint code{color:var(--accent-ink);background:var(--accent-t1);border-radius:4px;padding:1px 4px;font-family:monospace}.schema-form{flex-direction:column;gap:10px;display:flex}.field-inline{flex-direction:row;align-items:center;gap:6px}.schema-array-item{gap:8px}.schema-array-head{font:700 10px/1.3 var(--font-mono);color:var(--text-muted);align-items:center;gap:2px;display:flex}.schema-array-head>span{flex:1}.icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px;display:flex}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.icon-btn:disabled,.case-remove:disabled{opacity:.35;cursor:not-allowed}.union-select{border:1px solid var(--border);background:var(--bg-panel-alt);color:var(--text-primary);border-radius:6px;padding:5px 6px;font:12px inherit}.string-list{flex-direction:column;gap:4px;display:flex}.json-editor-error{border-color:var(--err-line)!important}.template-input{flex-direction:column;gap:4px;display:flex;position:relative}.template-input textarea{border:1px solid var(--border);resize:vertical;background:var(--bg-panel-alt);color:var(--text-primary);border-radius:6px;padding:6px 8px;font:13px/1.4 inherit}.template-suggest{z-index:10;border:1px solid var(--border);background:var(--bg-panel);max-height:160px;box-shadow:var(--shadow-soft);font:12px/1.4 var(--font-mono);border-radius:6px;margin:2px 0 0;padding:3px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.template-suggest li{color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:4px 8px}.template-suggest li:hover,.template-suggest .template-suggest-active{background:var(--bg-hover);color:var(--text-primary)}.custom-tool-editor{color:var(--ink);flex-direction:column;gap:16px;padding:4px 0 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.n8n-alert-banner{background-color:var(--err-soft);border:1px solid var(--warn);color:var(--ink);border-radius:6px;padding:10px 14px;font-size:13px;line-height:1.4}.n8n-alert-link{color:var(--err);cursor:pointer;font-weight:500;text-decoration:underline}.n8n-alert-link:hover{color:var(--err)}.n8n-form-group{flex-direction:column;gap:6px;display:flex}.n8n-label{color:var(--ink);letter-spacing:.2px;font-size:13px;font-weight:600}.n8n-textarea{background-color:var(--surface);border:1px solid var(--sunk);color:var(--ink);resize:vertical;border-radius:6px;outline:none;min-height:72px;padding:8px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.n8n-textarea:focus{border-color:var(--err)}.n8n-select{background-color:var(--surface);border:1px solid var(--sunk);color:var(--ink);cursor:pointer;border-radius:6px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}.n8n-select:focus{border-color:var(--err)}.n8n-helper-text{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4}.n8n-code-highlight{color:var(--err);font-weight:500}.n8n-toggle-group{flex-direction:row;justify-content:space-between;align-items:center;padding:4px 0}.n8n-switch{background-color:var(--line3);cursor:pointer;border:none;border-radius:999px;align-items:center;width:44px;height:24px;padding:2px;transition:background-color .2s;display:flex;position:relative}.n8n-switch-on{background-color:var(--ok)}.n8n-switch-knob{background-color:var(--ink);width:20px;height:20px;box-shadow:var(--shadow-soft);border-radius:50%;transition:transform .2s cubic-bezier(.4,0,.2,1);display:block;transform:translate(0)}.n8n-switch-on .n8n-switch-knob{transform:translate(20px)}.n8n-code-editor-box{background-color:var(--surface);border:1px solid var(--line3);border-radius:6px;display:flex;position:relative;overflow:hidden}.n8n-code-editor-box:focus-within{border-color:var(--err)}.n8n-code-gutter{background-color:var(--surface);border-right:1px solid var(--line3);-webkit-user-select:none;user-select:none;text-align:right;flex-direction:column;width:38px;padding:10px 6px;display:flex;overflow:hidden}.n8n-gutter-line{font-family:"JetBrains Mono", "Fira Code", var(--font-mono);color:var(--line3);font-size:12px;line-height:20px}.n8n-code-textarea{color:var(--ink);font-family:"JetBrains Mono", "Fira Code", var(--font-mono);white-space:pre;resize:vertical;tab-size:2;background-color:#0000;border:none;outline:none;flex:1;padding:10px 12px;font-size:12px;line-height:20px;overflow:auto}.n8n-json-editor .n8n-code-textarea{color:var(--node-memory)}.n8n-schema-error{color:var(--err);background-color:var(--err-soft);border:1px solid var(--err-line);border-radius:4px;padding:6px 10px;font-size:12px}.n8n-footer-hint{text-align:center;color:var(--muted);cursor:default;margin-top:16px;padding:8px;font-size:12px}.ct-mode-tabs{gap:6px;display:flex}.ct-mode-tab{border:1px solid var(--sunk);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:6px;flex:1;padding:8px 10px;font-size:12px;transition:all .15s}.ct-mode-tab-on{border-color:var(--err);background:var(--err-soft);color:var(--ink)}.ct-input{background-color:var(--surface);border:1px solid var(--sunk);width:100%;color:var(--ink);box-sizing:border-box;border-radius:6px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.ct-input:focus{border-color:var(--err)}.ct-url-row{gap:6px;display:flex}.ct-method{flex:0 0 90px}.ct-kv-row{gap:6px;margin-bottom:6px;display:flex}.ct-kv-key{flex:0 0 40%}.node-inspector{z-index:6;width:var(--inspector-w,300px);background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);color:var(--text-primary);border-radius:12px;flex-direction:column;gap:10px;padding:14px;font:13px/1.4 -apple-system,Segoe UI,system-ui,sans-serif;display:flex;position:absolute;top:16px;bottom:16px;right:16px;overflow-y:auto}.node-inspector-header{align-items:center;gap:8px;display:flex}.node-type-tag{text-transform:uppercase;letter-spacing:.3px;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.node-type-llm{background:var(--accent-t1);color:var(--accent-purple)}.node-type-condition{background:var(--warn-soft);color:var(--accent-amber)}.node-type-transform{background:var(--ok-bg);color:var(--accent-teal)}.node-inspector-id{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}.node-inspector-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-left:auto;display:flex}.node-inspector-close:hover{color:var(--text-primary)}.field{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.field input,.field select,.field textarea{border:1px solid var(--border);resize:vertical;background:var(--bg-panel-alt);color:var(--text-primary);border-radius:6px;padding:6px 8px;font:13px/1.4 inherit}.field-section{letter-spacing:.4px;color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:700}.json-editor{font-family:var(--font-mono);font-size:11px}.node-inspector-error{background:var(--err-soft);color:var(--accent-red);border-radius:6px;padding:6px 8px;font-size:12px}.node-inspector-save{background:var(--text-primary);color:var(--bg-canvas);font:inherit;cursor:pointer;border:none;border-radius:8px;padding:8px 0;font-weight:600}.node-inspector-save:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.inspector-savebar{z-index:3;background:var(--bg-panel);border-top:1px solid var(--border);box-shadow:none;flex-direction:column;gap:8px;margin:0 -14px -14px;padding:10px 14px 14px;display:flex;position:sticky;bottom:-14px}.inspector-savebar-row{align-items:center;gap:10px;display:flex}.inspector-savebar .node-inspector-save{flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.inspector-dirty,.inspector-clean{white-space:nowrap;font-size:11px}.inspector-clean{color:var(--text-muted)}.case-row{align-items:center;gap:4px;display:flex}.case-field{border:1px solid var(--border);background:var(--bg-panel-alt);min-width:0;color:var(--text-primary);border-radius:5px;flex:1;padding:5px 6px;font:12px inherit}.case-field-wide{flex:2}.case-op{border:1px solid var(--border);background:var(--bg-panel-alt);max-width:78px;color:var(--text-primary);border-radius:5px;padding:5px 2px;font:11px inherit}.case-arrow{color:var(--text-muted);flex-shrink:0;font-size:12px}.case-remove{color:var(--accent-red);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;display:flex}.case-remove:hover{background:var(--err-soft);border-radius:4px}.case-add{border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;align-items:center;gap:5px;padding:5px 10px;font:12px inherit;display:inline-flex}.case-add:hover{background:var(--bg-hover)}.node-type-edge{background:var(--line2);color:var(--text-secondary)}.edge-endpoints{color:var(--text-primary);font-size:13px;font-weight:600}.node-inspector-delete{color:var(--accent-red);border:1px solid var(--err-line);font:inherit;cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 0;font-weight:600;display:inline-flex}.node-inspector-delete:hover:not(:disabled){background:var(--err-soft)}.node-inspector-delete:disabled{opacity:.5;cursor:not-allowed}.inspector-issues{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.inspector-issue{border-radius:6px;align-items:flex-start;gap:6px;padding:6px 8px;font-size:12px;display:flex}.inspector-issue svg{flex-shrink:0;margin-top:2px}.inspector-issue-error{background:var(--err-soft);color:var(--err-ink)}.inspector-issue-warning{background:var(--warn-soft);color:var(--warn-ink)}.field-warn{color:var(--warn-ink);align-items:flex-start;gap:5px;font-size:11px;display:flex}.field-warn svg{flex-shrink:0;margin-top:1px}.field-pair{gap:8px;display:flex}.field-pair .field{flex:1;min-width:0}.field-pair .field input{width:100%}.mono{font-family:var(--font-mono)}.node-type-state{background:var(--ok-bg);color:var(--accent-teal)}.state-row{border:1px solid var(--border);background:var(--bg-panel-alt);border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.state-row-head{align-items:center;gap:6px;display:flex}.state-key{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono);color:var(--text-primary);flex:1;font-size:13px;font-weight:600}.state-new{background:var(--ok-bg);color:var(--accent-teal);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.state-row-flags{color:var(--text-secondary);gap:12px;font-size:12px;display:flex}.state-row-flags label{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.case-block{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:6px;display:flex}.mode-switch{border:1px solid var(--border);background:var(--bg-panel-alt);border-radius:8px;padding:2px;display:flex}.mode-option{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:5px 0;font:600 12px/1.3 inherit}.mode-option-active{background:var(--bg-hover);color:var(--accent-amber)}.case-if{color:var(--text-muted);flex-shrink:0;font-size:11px}.expr-input{border:1px solid var(--border);background:var(--bg-panel-alt);min-width:0;color:var(--text-primary);font:12px/1.4 var(--font-mono);border-radius:5px;flex:1;padding:5px 6px}.expr-input-error{border-color:var(--err-line)}.field-error{color:var(--err-ink);font-size:11px}.expr-help code{font-family:var(--font-mono);color:var(--text-secondary)}.config-head{justify-content:space-between;align-items:center;display:flex}.config-json-toggle{border:1px solid var(--border);color:var(--text-muted);font:600 10px/1.4 var(--font-mono);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.config-json-toggle:hover,.config-json-toggle-on{color:var(--text-primary);background:var(--bg-hover)}.inspector-fieldset{display:contents}.inspector-readonly-tag{font:700 10px var(--font-mono);text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.locked-field input,.locked-field select,.locked-field textarea{opacity:.55;cursor:not-allowed}.error-policy{flex-direction:column;gap:8px;display:flex}.error-policy>summary{cursor:pointer;align-items:center;gap:5px;list-style:none;display:flex}.error-policy>summary::-webkit-details-marker{display:none}.error-policy[open]>summary{margin-bottom:8px}.error-policy-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px;margin-bottom:8px;display:grid}.error-policy-grid input,.error-policy-grid select{box-sizing:border-box;width:100%;min-width:0}.error-policy code{font:11px var(--font-mono);color:var(--accent-purple)}.issue-item{flex-direction:column;gap:3px;min-width:0;display:flex}.issue-message{color:var(--text-primary);font-weight:500;line-height:1.4}.issue-hint{color:var(--text-secondary);line-height:1.4}.issue-hint b{color:var(--accent-teal);font-weight:600}.issue-tech{font:10.5px/1.3 var(--font-mono);color:var(--text-muted);overflow-wrap:anywhere}.state-usage{flex-direction:column;gap:5px;margin:4px 0 6px;display:flex}.state-usage-row{flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;display:flex}.state-usage-label{width:30px;color:var(--text-muted);font-weight:600}.state-chip{border:1px solid var(--ok);color:var(--accent-teal);border-radius:999px;padding:1px 7px;font-size:11.5px}.state-chip-missing{border-color:var(--err-line);color:var(--accent-red)}.state-usage-empty{color:var(--text-muted);font-style:italic}.agent-model-summary{border:1px solid var(--line3);background:var(--sunk);color:var(--accent-ink);border-radius:8px;align-items:center;gap:10px;margin:4px 0 10px;padding:8px 10px;display:flex}.agent-model-summary-missing{border-color:var(--err-line);background:var(--err-soft);color:var(--err-ink)}.agent-model-summary-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:12px;display:flex}.agent-model-summary-text span{color:var(--text-secondary);overflow-wrap:anywhere}.agent-model-summary-open{border:1px solid var(--accent);color:var(--accent-ink);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.agent-model-summary-open:hover{background:var(--accent-t1);color:var(--ink)}.node-type-chat-model{background:var(--accent-t1);color:var(--accent-ink);align-items:center;gap:4px;display:inline-flex}.node-type-memory{background:var(--accent-t0);color:var(--node-memory);align-items:center;gap:4px;display:inline-flex}.memory-sessions{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.memory-session{border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.memory-session-text{min-width:0;color:var(--text-secondary);flex-direction:column;flex:1;gap:2px;font-size:12px;display:flex}.memory-session-text code{color:var(--node-memory)}.memory-session-last{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.memory-session-clear,.memory-clear-all{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;font-size:12px;display:inline-flex}.memory-session-clear{padding:4px}.memory-clear-all{align-self:flex-start;padding:4px 10px}.memory-session-clear:hover:not(:disabled),.memory-clear-all:hover:not(:disabled){border-color:var(--accent-red);color:var(--accent-red)}.agent-memory-summary{border-color:var(--line3);background:var(--sunk);color:var(--node-memory)}.agent-memory-summary-none{border-color:var(--border);color:var(--text-secondary);background:0 0}.node-inspector{width:auto;height:100%;min-height:0;box-shadow:none;background:var(--surface);color:var(--ink);font:13px/1.45 var(--font-sans);border:0;border-radius:0;gap:14px;padding:0;position:static}.node-inspector>.panel-head{z-index:4;background:var(--surface);position:sticky;top:0}.node-inspector>.tabs{z-index:4;background:var(--surface);margin-top:-14px;position:sticky;top:58px}.node-inspector>:not(.panel-head):not(.tabs):not(.inspector-fieldset):not(.inspector-savebar),.node-inspector>.inspector-fieldset>:not(.inspector-savebar):not(.panel-body){margin-left:16px;margin-right:16px}.node-inspector .panel-body{flex:none;gap:14px;padding:0 16px;overflow:visible}.inspector-savebar{background:var(--surface);border-top:1px solid var(--line2);box-shadow:none;margin:auto 0 0;padding:12px 16px;position:sticky;bottom:0}.inspector-dirty{color:var(--warn-ink);font-weight:600}.field{color:var(--ink);gap:6px;font-size:13px}.field>span:first-child{color:var(--ink);font-size:13px;font-weight:600}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.node-inspector input:not([type=checkbox]):not([type=radio]):not(.input),.node-inspector select:not(.input),.node-inspector textarea:not(.input){font:13.5px/1.45 var(--font-sans);border:1px solid var(--line3);background:var(--surface);min-height:36px;color:var(--ink);border-radius:10px;padding:8px 11px}.node-inspector textarea{font-family:var(--font-mono)!important;font-size:12.5px!important}.node-inspector input:focus,.node-inspector select:focus,.node-inspector textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-t2);outline:none}.field-section{letter-spacing:.06em;color:var(--muted);margin-top:2px;font-size:11.5px}.field-hint{color:var(--muted);font-size:12.5px}.config-json-toggle{border:1px solid var(--line3);background:var(--surface);color:var(--ink2);border-radius:8px}.config-json-toggle-on{background:var(--accent-t1);border-color:var(--accent);color:var(--accent-ink)}.node-inspector-delete{border-radius:10px}.wf-card{box-sizing:border-box;background:var(--surface);border:1.5px solid var(--line3);width:190px;height:76px;color:var(--ink);font:13px/1.35 var(--font-sans);border-radius:14px;transition:border-color .15s,box-shadow .15s,opacity .2s;position:relative}.wf-card:hover{border-color:var(--edge)}.wf-card.wf-sentinel{height:58px}.wf-card.selected{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-t2)}.wf-card.error{border-color:var(--err)}.wf-card.warning{border-color:var(--warn);border-style:dashed}.wf-card.success{border-color:var(--ok)}.wf-card.running{border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-t2)}.wf-card.waiting{border-color:var(--warn);box-shadow:0 0 0 5px var(--warn-bg)}.wf-card.skipped,.wf-chip.skipped{opacity:.45;border-style:dashed}.wf-card-head{align-items:center;gap:10px;padding:10px 12px 4px;display:flex}.wf-sentinel .wf-card-head{padding-top:8px}.wf-card .node-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;line-height:1.25;display:block;overflow:hidden}.wf-card .ntype{align-items:center;gap:6px;display:flex}.wf-variant{background:var(--line2);color:var(--ink2);letter-spacing:0;border-radius:4px;padding:0 5px;font-size:9.5px}.wf-card-body{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:0 12px;font-size:12px;overflow:hidden}.wf-sentinel .wf-card-body{display:none}.wf-run-ok{color:var(--ok);display:inline-flex}.wf-step-badge{background:var(--accent);height:20px;color:var(--on-accent);font:600 10.5px/20px var(--font-mono);border-radius:10px;padding:0 7px;position:absolute;top:-10px;left:10px}.node-badge.warn{background:var(--warn)}.wf-card .node-badge,.wf-chip .node-badge{z-index:2}.react-flow__handle.wf-port{background:var(--surface);border:2px solid var(--muted2);border-radius:50%;width:12px;height:12px}.react-flow__handle.wf-port:hover{border-color:var(--accent)}.react-flow__handle.wf-port-error{border-color:var(--err)}.react-flow__handle.wf-sub-port{border-radius:3px;width:11px;height:11px}.react-flow__handle.wf-sub-port-model{border-color:var(--node-llm)}.react-flow__handle.wf-sub-port-model.required{border-color:var(--err);background:var(--err-soft)}.react-flow__handle.wf-sub-port-memory{border-color:var(--node-memory)}.react-flow__handle.wf-sub-port-tool{border-color:var(--node-agent)}.react-flow__handle.wf-plug{border-width:1.5px;width:9px;height:9px}.wf-out{pointer-events:none;flex-direction:column;align-items:center;gap:4px;padding-top:9px;display:flex;position:absolute;top:100%;transform:translate(-50%)}.wf-out-label{color:var(--muted);font-size:10.5px;font-weight:600}.wf-out-error .wf-out-label{color:var(--err-ink)}.wf-out-add{pointer-events:auto;border:1px solid var(--line3);background:var(--surface);width:22px;height:22px;color:var(--ink2);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.wf-out-add:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-t0)}.wf-out-error .wf-out-add:hover{border-color:var(--err);color:var(--err-ink);background:var(--err-soft)}.wf-chip{box-sizing:border-box;background:var(--surface);border:1.5px solid var(--line3);width:184px;height:46px;color:var(--ink);font:13px/1.25 var(--font-sans);border-radius:12px;align-items:center;gap:9px;padding:0 10px;display:flex;position:relative}.wf-chip:hover{border-color:var(--edge)}.wf-chip.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-t2)}.wf-chip.error{border-color:var(--err)}.wf-chip.warning{border-color:var(--warn);border-style:dashed}.wf-chip.success{border-color:var(--ok)}.wf-chip.running{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-t2)}.wf-chip-name{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;display:block;overflow:hidden}.wf-chip-detail{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.wf-slot{width:184px;height:46px;position:relative}.wf-slot-button{box-sizing:border-box;text-align:left;border:1.5px dashed var(--line4);background:var(--bg2);width:100%;height:100%;color:var(--ink2);font:13px/1.25 var(--font-sans);cursor:pointer;border-radius:12px;align-items:center;gap:9px;padding:0 10px;display:flex}.wf-slot-button:hover{border-color:var(--accent);background:var(--accent-t0);color:var(--accent-ink)}.wf-slot-model .wf-slot-button{border-color:var(--err-line);background:var(--err-soft);color:var(--err-ink)}.wf-slot-plus{border:1px dashed;border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.wf-remove{border:1px solid var(--line3);background:var(--surface);width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:none;position:absolute;top:-9px;right:-9px}.wf-sentinel:hover .wf-remove{display:inline-flex}.wf-remove:hover{border-color:var(--err);color:var(--err)}.wf-add-menu{z-index:60;max-height:min(60vh,420px);overflow:auto}.wf-add-item{align-items:flex-start;min-height:0;padding:7px 10px}.wf-edge-label{pointer-events:all;position:absolute}.react-flow__edge.wf-edge-taken .wf-edge-label{border-color:var(--accent);color:var(--accent-ink)}.wf-card.wf-trigger{border-left:4px solid var(--node-trigger)}.wf-trigger-dot{background:var(--ok);width:9px;height:9px;box-shadow:0 0 0 3px var(--ok-bg);border-radius:50%;flex:none}.wf-trigger-dot.off{background:var(--line4);box-shadow:0 0 0 3px var(--line2)}.wf-port.wf-port-trigger{opacity:.45}.wf-card.wf-trigger .ntype{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.studio-loading{padding:40px}.studio-canvas{background:var(--canvas);flex:1;min-height:0;position:relative}.studio-canvas .react-flow{--xy-background-color:var(--canvas);--xy-edge-stroke:var(--edge);--xy-selection-background-color:color-mix(in srgb, var(--accent) 10%, transparent);--xy-selection-border:1px dashed var(--accent);--xy-connectionline-stroke:var(--accent);background:var(--canvas)}.studio-canvas .react-flow__node{font-family:var(--font-sans)}.studio-canvas .react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent)!important;stroke-width:2.4px!important}.studio-canvas .react-flow__edge-path{transition:opacity .2s}.studio-canvas .zoom{z-index:5}.studio-canvas .react-flow__minimap.wf-minimap{border:1px solid var(--line);border-radius:10px;width:168px;height:108px;margin:14px;overflow:hidden}.studio-canvas .react-flow__minimap.wf-minimap svg{width:168px;height:108px}.studio-canvas .canvas-banner{z-index:6;pointer-events:none}.canvas-toast{z-index:7;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-pop);border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.canvas-errors{z-index:7;flex-direction:column;gap:6px;max-width:640px;margin:0 auto;display:flex;position:absolute;top:56px;left:14px;right:14px}.studio-right .node-inspector{flex-direction:column;height:100%;min-height:0;display:flex}.log .who button{color:inherit;font:inherit}
