.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--bg: #fafafa;--panel: #ffffff;--ink: #171717;--ink-2: #404040;--muted: #737373;--faint: #a3a3a3;--line: #eaeaea;--line-2: #e5e5e5;--hover: #f5f5f5;--accent: #0070f3;--green: #16a34a;--green-bg: #f0fdf4;--green-line: #bbf7d0;--red: #e5484d;--red-bg: #fef2f2;--red-line: #fecaca;--amber: #b45309;--amber-bg: #fffbeb;--amber-line: #fde68a;--radius: 10px;--shadow: 0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.02)}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--line);padding:18px 14px}.side-brand{font-size:15px;font-weight:650;letter-spacing:-.01em;padding:6px 10px 18px}.side-brand .dim{color:var(--muted);font-weight:500}.side-nav{display:flex;flex-direction:column;gap:3px}.side-nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;color:var(--muted);padding:9px 11px;border-radius:8px;cursor:pointer;font-size:13.5px;font-weight:500}.side-nav button:hover{background:var(--hover);color:var(--ink)}.side-nav button.active{background:var(--hover);color:var(--ink);font-weight:600}.side-nav button.active .ic{filter:none}.side-nav .ic{font-size:15px;width:18px;text-align:center}.side-foot{margin-top:auto;padding:12px 11px 4px;border-top:1px solid var(--line)}.content{padding:28px 32px;max-width:1400px;overflow-x:hidden}@media (max-width: 820px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;gap:8px;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line)}.side-brand{padding:0 12px 0 4px}.side-nav{flex-direction:row}.side-foot{display:none}.content{padding:20px}}.builder,.deploy,.logs,.review{display:grid;grid-template-columns:1fr 460px;gap:20px;align-items:start}@media (max-width: 1040px){.builder,.deploy,.logs,.review{grid-template-columns:1fr}}.col{display:flex;flex-direction:column;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.panel h3{margin:0 0 14px;font-size:14px;font-weight:600;letter-spacing:-.01em}.panel h4{margin:0 0 8px;font-size:13px;font-weight:600}.row{display:flex;gap:10px;align-items:center;margin-top:10px}.row.spread{justify-content:space-between}.dim{color:var(--muted)}.small{font-size:12.5px}.empty{color:var(--muted);padding:40px;text-align:center}label{display:block;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin:14px 0 6px}label:first-child{margin-top:0}select,input,textarea{width:100%;background:var(--panel);color:var(--ink);border:1px solid var(--line-2);border-radius:7px;padding:9px 11px;font-size:13.5px;font-family:inherit;transition:border-color .12s,box-shadow .12s}select:focus,input:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1717170f}textarea{resize:vertical;line-height:1.5}textarea.mono,input.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}button{cursor:pointer;font-family:inherit;background:var(--panel);color:var(--ink);border:1px solid var(--line-2);border-radius:7px;padding:8px 13px;font-size:13px;font-weight:500;transition:background .12s,opacity .12s,border-color .12s}button:hover{background:var(--hover)}button:disabled{opacity:.45;cursor:default}button.primary,.btn{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:9px 15px;font-weight:550;font-size:13.5px}button.primary:hover{background:#000;opacity:1}button.primary:disabled{opacity:.4}.err{color:#b42318;background:var(--red-bg);border:1px solid var(--red-line);padding:9px 11px;border-radius:7px;margin-top:10px;font-size:12.5px}.valid{margin-top:10px;padding:9px 11px;border-radius:7px;font-size:12.5px}.valid.good{background:var(--green-bg);border:1px solid var(--green-line);color:#15803d}.valid.bad{background:var(--red-bg);border:1px solid var(--red-line);color:#b42318}.automaton{height:300px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fcfcfc}.req{border:1px solid var(--line);border-radius:8px;padding:11px 13px;margin-bottom:9px;background:#fcfcfc}.req-head code{color:var(--accent);background:#eff6ff;padding:1px 5px;border-radius:4px;font-size:12.5px}.req-head b{color:var(--ink)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.sim-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.chip{background:var(--panel);border:1px solid var(--line-2);color:var(--ink);border-radius:7px;padding:5px 11px;font-size:12.5px;font-weight:500}.chip:hover{background:var(--hover)}.sim-seq{min-height:36px;display:flex;flex-wrap:wrap;gap:6px;padding:9px;border:1px dashed var(--line-2);border-radius:8px;margin:10px 0}.seqitem{background:var(--hover);border:1px solid var(--line-2);border-radius:6px;padding:3px 9px;font-size:12px}.steps{margin-top:12px;display:flex;flex-direction:column;gap:7px}.step{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--panel)}.step.bad{border-color:var(--red-line);background:var(--red-bg)}.step .ev{font-weight:600}.verdict.v-ok{color:var(--green);font-weight:550}.verdict.v-bad{color:var(--red);font-weight:550}.step .why{color:var(--muted);font-size:12px;margin-left:auto}.v-ok{color:var(--green)}.v-bad{color:var(--red)}.statuspill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-weight:550;font-size:12px;border:1px solid transparent}.s-running{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.s-awaiting_review{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-line)}.s-done{background:var(--green-bg);color:#15803d;border-color:var(--green-line)}.s-error{background:var(--red-bg);color:#b42318;border-color:var(--red-line)}.s-active{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.s-ended{background:#f4f4f5;color:#52525b;border-color:#e4e4e7}.switcher{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:10px;display:flex;flex-direction:column;gap:4px}.switcher select{width:100%}.switchlabel{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-top:6px}.tabs{display:inline-flex;gap:2px;background:var(--hover);border-radius:9px;padding:3px}.tabs button{border:0;background:transparent;padding:5px 12px;border-radius:7px;font:inherit;font-size:13px;cursor:pointer;color:var(--muted)}.tabs button.active{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0000000d}.convrow{padding:12px 16px}.auditrow.k-gate{color:#b42318}.auditrow.k-trigger{color:#7a5a12}.auditrow.k-signal{color:#3a6ea5}.auditrow.k-usage{color:#5a5a6a}.auditrow.k-prompt{color:#6b4fbb}.promptview{white-space:pre-wrap;background:#fafafa;border:1px solid var(--line);border-radius:8px;padding:10px;max-height:320px;overflow:auto;font-size:12px}.diffbox pre{white-space:pre-wrap;font-size:12px;margin:4px 0;background:#fafafa;border:1px solid var(--line);border-radius:8px;padding:8px;max-height:320px;overflow:auto}.diffline{background:#fff3cd}.audittag{display:inline-block;min-width:58px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint)}.docs p{margin:6px 0;line-height:1.55}.docs h4{margin:14px 0 2px;font-size:14px}.docs .panel.accent{border-color:#d9e2ef;background:#fbfcfe}.docs .warn2{background:#fdf6e6;border:1px solid #f0d9a8;border-radius:8px;padding:8px 11px;color:#7a5a12}.doctable{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}.doctable td{border-top:1px solid var(--line);padding:8px 10px 8px 0;vertical-align:top}.doctable td:first-child{white-space:nowrap;padding-right:16px}.chattest{border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0;background:#fcfcfc}.ct-msgs{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto;padding:4px 0 10px}.ct-msgs .m{max-width:82%;padding:8px 12px;border-radius:12px;white-space:pre-wrap;font-size:13px}.ct-msgs .m.bot{background:#f1f1f1;align-self:flex-start}.ct-msgs .m.user{background:var(--ink);color:#fff;align-self:flex-end}.ct-msgs .m.typing{color:var(--muted);font-style:italic}.chattest .in{display:flex;gap:8px}.chattest .in input{flex:1}.feed{margin-top:14px;display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto}.ev{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--panel);font-size:13px}.ev.thought{background:#fbfbfb;color:var(--muted);font-style:italic}.badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;margin-left:6px;border:1px solid transparent}.b-executed,.b-approved,.b-review_allow{background:var(--green-bg);color:#15803d;border-color:var(--green-line)}.b-awaiting_review{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-line)}.b-denied,.b-blocked,.b-review_deny{background:var(--red-bg);color:#b42318;border-color:var(--red-line)}.ev .why{color:var(--muted);font-size:12px}.seqn{color:var(--faint);font-size:11px;font-variant-numeric:tabular-nums}.reviewcard{border:1px solid var(--amber-line);border-radius:10px;padding:15px;background:var(--amber-bg)}.rc-rule{font-weight:550;margin-bottom:11px;color:var(--ink)}.rc-surface{display:flex;flex-direction:column;gap:5px;font-size:13px;margin-bottom:10px}.rc-surface code{color:var(--accent)}.rc-rec{font-size:12.5px;color:var(--amber);margin-bottom:9px}.reasonbox,.reviewerbox{margin-top:9px}button.approve,button.reject{border:0;border-radius:7px;padding:10px 16px;font-weight:600;font-size:13.5px;flex:1;color:#fff}button.approve{background:var(--green)}button.reject{background:var(--red)}button.approve:hover,button.reject:hover{opacity:.9}button.approve:disabled,button.reject:disabled{opacity:.45}.auditrow{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding:9px 0;font-size:12.5px}.auditrow .ts{margin-left:auto;color:var(--faint);font-variant-numeric:tabular-nums}.auditrow .why{color:var(--muted)}.runlist{display:flex;flex-direction:column;gap:9px}.runrow{border:1px solid var(--line);border-radius:8px;padding:11px 13px;background:var(--panel);cursor:pointer;transition:border-color .12s,box-shadow .12s}.runrow:hover{border-color:var(--line-2);box-shadow:var(--shadow)}.runrow.sel{border-color:var(--ink)}.rr-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.reviews-block{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.feed::-webkit-scrollbar{width:8px}.feed::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:8px}.single{max-width:640px;display:flex;flex-direction:column;gap:16px}.pagetitle{font-size:18px;font-weight:650;letter-spacing:-.02em;margin:0}.reviewerbox.inline{width:220px}.single.wide{max-width:860px}.linkbtn{color:var(--accent);text-decoration:none;font-size:13px;padding:8px 10px;border-radius:7px}.linkbtn:hover{background:var(--hover)}textarea[readonly]{background:#fbfbfb;color:var(--muted)}.flowcard{border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:12px;background:#fcfcfc}.flowname{width:auto;flex:1;font-weight:650;font-family:ui-monospace,Menlo,monospace}.warnbox{margin-top:10px;padding:10px 12px;border:1px solid #f0d9a8;background:#fdf6e6;border-radius:8px;font-size:12px;color:#7a5a12;line-height:1.45}.authwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.authcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:32px;width:380px;box-shadow:var(--shadow)}.authbrand{font-size:18px;font-weight:700;letter-spacing:-.02em}.authbrand .dim{color:var(--muted);font-weight:500}.authsub{color:var(--muted);font-size:13px;margin:4px 0 22px}.authbtn{width:100%;margin-top:16px;justify-content:center}.authswitch{margin-top:16px;font-size:13px;color:var(--muted);text-align:center}.authswitch a{color:var(--accent);cursor:pointer}.useremail{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.logout{margin-top:8px;background:transparent;border:1px solid var(--line-2);color:var(--muted);border-radius:7px;padding:6px 10px;font-size:12.5px;width:100%}.logout:hover{background:var(--hover);color:var(--ink)}.rulecard{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:8px;background:#fcfcfc}.rulerow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ruleaction{width:auto;flex:0 1 200px;font-family:ui-monospace,Menlo,monospace}.rulerow input{flex:1;min-width:160px}.rulesummary{font-size:13px;padding:6px 0;border-top:1px solid var(--line)}.rulesummary code{color:var(--accent)}.rulesummary.watch{color:#7a5a12}.rulesummary.sig{color:#3a6ea5}.numbox{width:56px;flex:0 0 56px;min-width:0}.rulerow select{flex:0 1 auto;min-width:0;width:auto}.toolcard{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:8px;background:#fcfcfc}.toolcard input{margin-top:6px}.params{margin-top:8px;padding-left:4px}.paramrow{display:flex;gap:8px;align-items:center;margin-bottom:6px}.paramrow input:first-child{flex:1;margin-top:0}.paramrow select{width:auto}.reqcheck{display:flex;align-items:center;gap:5px;font-size:12px;text-transform:none;letter-spacing:0;margin:0;color:var(--muted);white-space:nowrap}.reqcheck input{width:auto;margin:0}.mcpbox{border:1px solid var(--line-2);border-radius:8px;padding:12px;margin-top:8px;background:#fbfbfb}.mcptoollist{display:flex;flex-direction:column;gap:4px}.mcptool{font-size:12.5px;padding:3px 0}.mcptool code{color:var(--accent)}.handoffq{background:#fbfbfb;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0;font-size:13.5px}
