:root{--bg:#0c0e10;--panel:#121518;--panel-2:#181c20;--line:#2b3035;--text:#f1f1ec;--muted:#9da5ae;--orange:#ff692a;--green:#69dbb5;--node:#24282b}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:260px minmax(520px,1fr) 360px;grid-template-rows:71px 1fr;height:100%}.topbar{grid-column:1/-1;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);padding:0 24px;background:#111315}.brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:750;min-width:230px}.brand-mark{display:grid;place-items:center;background:var(--orange);width:26px;height:26px;border-radius:8px;color:#17110d;font-weight:900}.brand small{font-size:10px;font-weight:700;color:#1b1c1d;background:var(--green);padding:3px 6px;border-radius:999px}.workflow-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.workflow-title input{border:0;background:transparent;color:var(--text);font-size:17px;font-weight:650;width:min(380px,90%);outline:none}.workflow-title span{font-size:12px;color:var(--muted)}.top-actions{display:flex;gap:10px}.ghost,.run{border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:#181b1e;color:var(--text);font-weight:650}.run{border-color:var(--orange);background:var(--orange);color:#1a100b}.sidebar{grid-column:1;border-right:1px solid var(--line);background:#121417;padding:18px 12px;display:flex;flex-direction:column;min-height:0}.sidebar-head{display:flex;justify-content:space-between;color:var(--muted);font-weight:800;font-size:11px;letter-spacing:.12em;padding:0 8px 10px}.sidebar-head button{border:0;background:transparent;color:var(--orange);font-size:23px;line-height:15px}.node-groups{overflow:auto;padding:0 3px}.node-groups section{margin:11px 0 22px}.node-groups h3{font-size:10px;letter-spacing:.13em;color:#888f96;margin:0 6px 9px;text-transform:uppercase}.node-groups button{width:100%;display:flex;gap:11px;align-items:center;padding:10px 9px;margin:4px 0;border:1px solid transparent;border-radius:8px;color:#dbdfe1;background:transparent;text-align:left;font-size:13px;font-weight:600}.node-groups button:hover{background:#1b1e21;border-color:#353a3e}.node-groups b{font-size:10px;display:grid;place-items:center;width:25px;height:25px;border-radius:5px;background:#252b2e;color:var(--orange)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:14px 7px 3px;display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;background:#8c939a}.dot.online{background:var(--green)}.workspace{position:relative;min-width:0}.canvas{position:relative;width:100%;height:100%;overflow:hidden;background-color:#0e1113;background-image:radial-gradient(#2a3034 1px,transparent 1px);background-size:20px 20px;cursor:grab}.canvas.dragging{cursor:grabbing}.canvas-toolbar{position:absolute;z-index:5;top:17px;left:18px;display:flex;align-items:center;gap:5px;border:1px solid #353a3e;background:#181b1e;border-radius:8px;padding:5px 7px;color:#c4c9cc;font-size:12px}.canvas-toolbar button{border:0;background:transparent;color:#dfe2e4;font-size:17px;line-height:18px}.canvas-toolbar span:not(.hint){width:40px;text-align:center}.hint{margin-left:9px;padding-left:10px;border-left:1px solid #34393d;color:#878f96}.nodes,.edges{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.edges{pointer-events:none}.edge{fill:none;stroke:#ff692a;stroke-width:2.4;opacity:.8}.node{position:absolute;width:230px;min-height:114px;background:var(--node);border:1px solid #3a4044;border-radius:8px;box-shadow:0 8px 19px #0004;user-select:none}.node.selected{border-color:var(--orange);box-shadow:0 0 0 1px #ff692a66,0 8px 19px #0005}.node.failed{border-color:#e95454}.node.running{border-color:#ffd166}.node header{display:flex;gap:7px;align-items:center;padding:8px 9px 6px;border-bottom:1px solid #34393c}.kind-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:4px;background:#3d332c;color:var(--orange);font-size:8px;font-weight:850}.node header span{font-size:11px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-body{padding:9px;min-height:61px}.node-prompt{font-size:10px;line-height:1.35;color:#acb3b9;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.node-output{margin-top:8px;border-radius:4px;background:#1a1d1f;padding:5px;font-size:10px;color:#a7e5cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-output.error{color:#ffaaa0}.handle{position:absolute;top:48px;width:13px;height:13px;border:2px solid var(--node);border-radius:50%;background:#ff692a;z-index:4}.handle.input{left:-7px}.handle.output{right:-7px;background:#7ae0bc}.handle.connecting{transform:scale(1.4);box-shadow:0 0 0 4px #69dbb550}.canvas-empty{position:absolute;top:50%;left:50%;translate:-50% -50%;color:#606970;font-size:13px}.inspector{grid-column:3;border-left:1px solid var(--line);background:#131619;padding:20px;overflow:auto}.inspector-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:16px}.inspector-head small{color:var(--orange);font-size:10px;letter-spacing:.13em;font-weight:800}.inspector h2{font-size:16px;margin:7px 0 0}.inspector-head button{color:#aeb5ba;font-size:27px;background:transparent;border:0;line-height:20px}.inspect-empty{color:#808891;font-size:13px;line-height:1.6;padding-top:22px}.field{display:block;margin:17px 0}.field label{display:block;color:#929aa1;font-weight:800;letter-spacing:.09em;font-size:10px;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;border:1px solid #3b4247;border-radius:7px;background:#1d2124;color:#e7e9eb;padding:10px;outline:none;font-size:13px}.field textarea{resize:vertical;min-height:100px;line-height:1.45}.field input:focus,.field textarea:focus,.field select:focus{border-color:#ff8d60}.node-info{font-size:12px;color:#a7afb5;background:#18312b;border:1px solid #357563;padding:10px;border-radius:7px;line-height:1.5}.node-actions{display:flex;gap:8px;margin-top:22px}.node-actions button{padding:9px 10px;background:#24282b;border:1px solid #3b4247;border-radius:7px;color:#e9ecee;font-size:12px}.node-actions .danger{color:#ff9d93;border-color:#763f3c}#toast{position:fixed;z-index:20;bottom:22px;left:50%;translate:-50% 20px;opacity:0;transition:.2s;background:#edf3ef;color:#112319;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:650;pointer-events:none;box-shadow:0 8px 24px #0007}#toast.show{opacity:1;translate:-50% 0} @media(max-width:1000px){.app-shell{grid-template-columns:220px 1fr;grid-template-rows:71px 1fr}.inspector{position:fixed;z-index:15;right:0;top:71px;width:340px;height:calc(100% - 71px);box-shadow:-10px 0 25px #0008}.inspector:has(.inspect-empty){display:none}.hint{display:none}}@media(max-width:650px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 12px;gap:8px}.brand{min-width:auto}.brand>span:not(.brand-mark),.brand small,.workflow-title span,.top-actions .ghost{display:none}.top-actions{margin-left:auto}.workflow-title input{font-size:13px}.inspector{width:100%}}
