:root{--bg:#0d1311;--panel:#131b18;--raised:#1a2420;--line:#243029;--fg:#e1eae5;--muted:#8da296;--accent:#4fd1a1;--accent-ink:#06231a;--err:#ff7a6b;--warn:#f2c14e;--info:#7fb4e8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:13px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.mono,textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--muted)}.app{grid-template:"head head head"44px"banner banner banner""left main right"1fr/340px 1fr 340px;height:100%;display:grid}header{border-bottom:1px solid var(--line);background:var(--panel);grid-area:head;align-items:center;gap:10px;padding:0 14px;display:flex}.brand{letter-spacing:.04em;color:var(--accent)}.name{font-weight:600}.rev{color:var(--muted);font:12px ui-monospace,Menlo,monospace}.spacer{flex:1}aside{background:var(--panel);min-width:0;padding:12px 14px 20px;overflow:auto}.left{border-right:1px solid var(--line);grid-area:left}.right{border-left:1px solid var(--line);grid-area:right}main{grid-area:main;min-width:0;min-height:0;position:relative}canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.legend{color:var(--muted);pointer-events:none;background:#0b1210cc;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;display:flex;position:absolute;bottom:10px;left:12px}.sw{border-radius:2px;width:10px;height:10px;margin-left:8px;display:inline-block}.sw.top{background:#d4503e}.sw.bottom{background:#3b7fd6}.sw.via{background:#d9bb4e;border-radius:50%}.sw.air{background:#f5f5f5;height:2px}h2{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:18px 0 8px;font-size:11px;font-weight:600}h2:first-child{margin-top:2px}button,select,textarea,.filebtn{font:inherit;color:var(--fg);background:var(--raised);border:1px solid var(--line);border-radius:6px;padding:5px 10px}button,.filebtn{cursor:pointer}button:hover:not(:disabled),.filebtn:hover{border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);margin-top:8px;font-weight:600}button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.left select{width:100%;margin-bottom:8px}textarea{resize:vertical;width:100%;font-size:12px;line-height:1.5}.msg{white-space:pre-wrap;word-break:break-word;border:1px solid;border-radius:6px;margin:10px 0 0;padding:8px 10px}.msg.ok{color:#9fe6c8;background:#12261f;border-color:#2b6b55}.msg.err{color:#ffb4aa;background:#2a1613;border-color:#7a3a33}.card{background:var(--raised);border:1px solid var(--line);border-radius:8px;gap:8px;padding:10px;display:grid}.row{justify-content:space-between;align-items:baseline;display:flex}.row.gap{justify-content:flex-start;gap:8px}.pins{flex-wrap:wrap;gap:6px;display:flex}.pin{border:1px solid var(--line);background:#0f1613;border-radius:5px;padding:2px 6px;font:12px ui-monospace,Menlo,monospace}.pin i{color:var(--accent);margin-left:6px;font-style:normal}.tabs{gap:4px;margin-bottom:8px;display:flex}.tabs button{border-radius:999px;padding:3px 9px}.tabs button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.ok-line{color:#9fe6c8;margin:4px 0}.findings,.history{gap:6px;margin:0;padding:0;list-style:none;display:grid}.finding button{text-align:left;border-left:3px solid var(--info);gap:3px;width:100%;padding:8px 10px;display:grid}.finding.error button{border-left-color:var(--err)}.finding.warning button{border-left-color:var(--warn)}.sev{text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:700}.finding.error .sev{color:var(--err)}.finding.warning .sev{color:var(--warn)}.finding.info .sev{color:var(--info)}.stage{color:var(--muted);margin-left:6px;font-size:10.5px}.fix{color:var(--muted);font-size:12px}.history li{background:var(--raised);border:1px solid var(--line);border-radius:6px;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.history .what{word-break:break-word;min-width:0;display:grid}.history .summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.history em{color:var(--muted);font-size:11.5px;font-style:normal}.history button{padding:2px 8px;font-size:12px}@media (width<=900px){.app{grid-template:"head"44px"banner""main"60vh"left""right"/1fr;height:auto}main{min-height:60vh}}[hidden]{display:none!important}.side-tabs{margin-bottom:10px}.left{flex-direction:column;display:flex}.agent-wrap{flex:1;min-height:0;display:flex}.agent{flex-direction:column;gap:10px;width:100%;min-height:0;display:flex}.agent-config{gap:6px;display:grid}.agent-config input[type=password]{background:var(--raised);width:100%;color:var(--fg);border:1px solid var(--line);font:inherit;border-radius:6px;padding:5px 10px}.agent-config select{width:100%}.check{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.small{margin:0;font-size:11.5px}.transcript{flex-direction:column;flex:1;gap:8px;min-height:160px;padding:2px;display:flex;overflow:auto}.empty{color:var(--muted)}.empty p{margin:0 0 8px}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:8px;padding:8px 10px}.bubble.user{background:#1d3a30;border:1px solid #2b6b55;align-self:flex-end;max-width:92%}.bubble.agent-text{background:var(--raised);border:1px solid var(--line)}.call{border:1px solid var(--line);background:#101714;border-radius:8px}.call-head{text-align:left;background:0 0;border:0;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;width:100%;padding:6px 8px;display:grid}.call-head .args{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.call .name{color:var(--accent)}.call .state{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.call.ok .dot{background:var(--accent)}.call.error .dot,.call.rejected .dot{background:var(--err)}.call.waiting .dot{background:var(--warn)}.call.running .dot{background:var(--info);animation:1s infinite pulse}@keyframes pulse{50%{opacity:.3}}.detail{border-top:1px solid var(--line);white-space:pre-wrap;word-break:break-word;color:#c9d6cf;max-height:220px;margin:0;padding:8px;font:11.5px/1.45 ui-monospace,Menlo,monospace;overflow:auto}.approval{border:1px solid var(--warn);background:#231d0d;border-radius:8px;gap:6px;padding:10px;display:grid}.approval code{word-break:break-word;color:#f3e3b0;font:11.5px ui-monospace,Menlo,monospace}.end{color:var(--muted);border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:6px;font-size:12px;display:flex}.end.bad{color:var(--err)}.end button{padding:2px 8px;font-size:12px}.thinking{padding:2px 4px}.composer{gap:6px;display:grid}.composer textarea{resize:none}.part-status{border:1px solid var(--line);border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 8px;font-size:12px;display:flex}.part-status.draft{color:#f0d58a;background:#231e0d;border-color:#6b5a22}.part-status.reviewed{color:#9fe6c8;background:#12261f;border-color:#2b6b55}.pane{position:absolute;inset:0}.pane.off{visibility:hidden;pointer-events:none}main{overflow:hidden}.view-bar{z-index:5;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:10px;left:12px}.seg{border:1px solid var(--line);background:#0b1210e6;border-radius:8px;gap:2px;padding:2px;display:inline-flex}.seg button{background:0 0;border:0;border-radius:6px;padding:4px 10px}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.sch-box{background:#0b1210;position:absolute;inset:0}.sch{touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;width:100%;height:100%;display:block}.tool-wire .sch{cursor:crosshair}.sch .bg{fill:#0b1210}.sch .dot{fill:#2a3a33}.sch .sym{color:#dfe8e3}.sch .sym-lines path,.sch .sym-lines circle{stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.sch .sym-hit{fill:#0000;cursor:grab}.sch .sym.sel .sym-hit{fill:#ffe0661f;stroke:#ffe066;stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.sch .sym-text{fill:#aebdb5;pointer-events:none;font-family:ui-monospace,Menlo,monospace}.sch .ref{fill:#f0f6f2;pointer-events:none;font-family:ui-monospace,Menlo,monospace;font-weight:700}.sch .val{fill:#8da296;pointer-events:none;font-family:ui-monospace,Menlo,monospace}.sch .wire{stroke:#4fd1a1;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round}.sch .wire.dashed{stroke:#f2c14e;stroke-dasharray:5 4}.sch .wire.preview{stroke:#ffe066;stroke-dasharray:4 3}.sch .net.sel .wire{stroke:#ffe066;stroke-width:2.6px}.sch .wire-hit{stroke:#0000;stroke-width:.6px;cursor:pointer}.sch .junction{fill:#4fd1a1}.sch .net.sel .junction{fill:#ffe066}.sch .net-label{fill:#7fe3bf;pointer-events:none;font-family:ui-monospace,Menlo,monospace}.sch .ground path{stroke:#4fd1a1;stroke-width:1.6px;stroke-linecap:round}.sch .pin-open{fill:none;stroke:#ff7a6b;stroke-width:1.5px;vector-effect:non-scaling-stroke}.sch .pin-dot{fill:#4fd1a1}.sch .pin-hit{fill:#0000;cursor:pointer}.sch .pin-hit:hover,.sch .pin-hit.on{fill:#ffe06659}.edit-wrap{overflow:auto}.palette{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:8px;display:grid}.palette button{text-align:left}.search{background:var(--raised);width:100%;color:var(--fg);border:1px solid var(--line);font:inherit;border-radius:6px;padding:5px 10px}.results{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.results button{text-align:left;align-items:baseline;gap:8px;width:100%;display:flex}.results i{color:var(--warn);margin-left:auto;font-size:11px;font-style:normal}.results i.dot-reviewed{color:var(--accent)}.tidy{margin-top:10px}.field{grid-template-columns:78px 1fr;align-items:center;gap:8px;display:grid}.field span{color:var(--muted);font-size:12px}.field input,.field select{width:100%;color:var(--fg);border:1px solid var(--line);font:inherit;background:#0f1613;border-radius:6px;min-width:0;padding:4px 8px}button.pin{cursor:pointer}.modal-back{z-index:50;background:#000a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:min(440px,100%);max-height:85vh;padding:22px 24px;position:relative;overflow:auto}.modal h2{margin-top:0}.modal-close{color:var(--muted);background:0 0;border:0;padding:0 8px;font-size:18px;line-height:1.3;position:absolute;top:8px;right:10px}.auth{gap:10px;display:grid}.auth-error{color:var(--err);margin:0;font-size:13px}button.link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.project-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.project-list li{gap:6px;display:flex}.project-list li>button:first-child{text-align:left;flex:1;gap:2px;display:grid}.project-list li.on>button:first-child{border-color:var(--accent)}.notice{background:var(--raised);border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:6px;margin:8px 0;padding:8px 10px}.share-banner{background:var(--raised);border-bottom:1px solid var(--line);border-left:3px solid var(--info);flex-wrap:wrap;grid-area:banner;align-items:center;gap:10px;padding:6px 14px;font-size:13px;display:flex}.share-banner>span:first-child{flex:1;min-width:200px}.share{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}.share input[readonly]{width:100%;margin:6px 0}
