@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap');
:root{font-family:Manrope,system-ui,sans-serif;color:#18201d;background:#eef0eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}.app{height:100vh;display:grid;grid-template-rows:64px minmax(0,1fr) auto;background:#f7f8f5}button,input{font:inherit}button{cursor:pointer}header{display:flex;align-items:center;gap:24px;padding:0 22px;border-bottom:1px solid #d9ddd7;background:#fbfcfa;z-index:4}.brand{display:flex;align-items:center;gap:11px;min-width:260px}.brand .mark{display:grid;place-items:center;width:34px;height:34px;background:#193f36;color:white;border-radius:8px;font:600 12px DM Mono}.brand div{display:grid}.brand strong{font-size:14px}.brand small{font-size:10px;letter-spacing:.04em;color:#718078}.toolbar{display:flex;align-items:center;gap:4px;margin:auto}.toolbar button,.command-rail button{border:0;background:transparent;color:#405048;border-radius:6px;height:32px;min-width:32px}.toolbar button:hover,.command-rail button:hover{background:#e9eee9}.toolbar .phase{font:500 12px DM Mono;padding:0 12px}.toolbar .phase.active{color:#086b52;background:#dcefe8}.zoom{font:500 10px DM Mono;width:42px;text-align:center}.tool-divider{height:20px;border-left:1px solid #d5dad5;margin:0 7px}.run-group{display:flex;align-items:center;gap:12px;margin-left:auto}.run-state{font:500 10px DM Mono;color:#4b7467}.run-state:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#2ca77f;margin-right:7px}.run-state.stale{color:#a26328}.run-state.stale:before{background:#d78b3a}.run{border:0;border-radius:7px;background:#193f36;color:white;font-weight:650;font-size:12px;padding:10px 18px}.run:disabled{opacity:.65}.workspace{position:relative;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 286px}.canvas-wrap{position:relative;min-width:0;background:#f4f6f2;border-right:1px solid #d9ddd7;overflow:hidden}.canvas{width:100%;height:100%;min-height:380px;touch-action:none}.canvas-label{position:absolute;z-index:2;top:17px;left:20px;font:500 9px DM Mono;letter-spacing:.13em;color:#7b8881}.canvas-label span{margin-left:11px;color:#138062}.canvas-hint{position:absolute;bottom:14px;left:20px;font:9px DM Mono;color:#89938e}.wires line{stroke:#5c6963;stroke-width:2.2}.part{stroke:#24463c;stroke-width:2.5;fill:#f7f8f5;cursor:grab}.part text{stroke:none;fill:#263d36;font:600 12px DM Mono}.part .part-value{fill:#6e7a75;font-size:10px;font-weight:400}.part .port-dot{font-size:8px}.part.inactive{opacity:.25}.part.selected>g>*{stroke:#dc7a32}.part.selected>text:first-of-type{fill:#c15b16}.part.selected:after{content:""}.part:active{cursor:grabbing}.inspector{padding:17px 16px 90px;background:#fbfcfa;overflow:auto}.panel-heading{display:flex;justify-content:space-between;align-items:center;font:500 9px DM Mono;letter-spacing:.13em;color:#78847e;margin-bottom:14px}.panel-heading button{border:0;background:transparent}.selection-card{border:1px solid #d9ded9;border-radius:9px;padding:14px;background:white}.selection-title{display:flex;gap:10px;align-items:center;margin-bottom:16px}.selection-title>span{width:35px;height:35px;border-radius:7px;display:grid;place-items:center;font:600 10px DM Mono}.selection-title .cap{background:#e2eee9;color:#17664f}.selection-title .switch{background:#f6e9dc;color:#a2521d}.selection-title .port{background:#e6e9ee;color:#536071}.selection-title div{display:grid}.selection-title strong{font-size:13px}.selection-title small{font-size:10px;color:#7a8580}.inspector label{display:grid;gap:6px;font-size:10px;color:#59665f}.unit-input{display:grid;grid-template-columns:1fr auto;border:1px solid #d5dbd6;border-radius:6px;overflow:hidden;background:#fafbfa}.unit-input:focus-within{border-color:#2c8269}.unit-input input{min-width:0;border:0;outline:0;padding:8px 9px;background:transparent;font:500 11px DM Mono;color:#22352f}.unit-input span{padding:8px 9px;background:#f0f3ef;font:10px DM Mono;color:#718078}.position{display:flex;justify-content:space-between;margin-top:13px;padding-top:12px;border-top:1px solid #eceeeb;font-size:10px;color:#7b8580}.position code{font:10px DM Mono}.conditions{margin-top:25px}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 9px}.muted{font-size:10px;color:#75817b}.inspector details{margin-top:24px;border-top:1px solid #e4e7e3;padding-top:12px;font-size:10px;color:#727e78}.inspector summary{cursor:pointer}.inspector pre{font:9px DM Mono;background:#f0f2ef;padding:9px;overflow:auto}.results{position:relative;background:#f6f7f4;border-top:1px solid #cdd3cd;height:270px;transition:height .22s;z-index:3}.results.closed{height:38px}.results.expanded{height:min(calc(100vh - 64px),720px);min-height:150px}.drawer-bar{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #dbe0da;background:#fbfcfa}.drawer-bar>div{display:flex;align-items:baseline;gap:12px}.drawer-bar strong{font-size:11px}.drawer-bar span{font:8px DM Mono;color:#78847e}.drawer-bar nav{display:flex;gap:3px}.drawer-bar button{width:30px;height:26px;border:0;border-radius:5px;background:transparent;color:#68756e}.drawer-bar button:hover,.drawer-bar button.active{background:#e6ece7;color:#126a52}.analysis-canvas{position:relative;height:calc(100% - 38px);display:grid;grid-template-columns:170px minmax(260px,1fr) minmax(260px,1fr) 150px;grid-auto-rows:minmax(180px,1fr);gap:18px;padding:16px 20px 24px;overflow:auto;background-color:#f5f6f2;background-image:radial-gradient(#cdd3cd 0.7px,transparent .7px);background-size:20px 20px}.results.expanded .analysis-canvas{grid-template-columns:170px repeat(2,minmax(260px,1fr));grid-auto-rows:minmax(220px,1fr);align-content:start}.analysis-canvas.veil>div,.analysis-canvas.veil>figure{filter:blur(1.5px);opacity:.35}.metric-strip{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:12px;background:#ffffffd9;border:1px solid #dbe0da;border-radius:8px}.metric-strip div{display:grid;align-content:start}.metric-strip small{font-size:8px;color:#7a8580}.metric-strip strong{font:500 13px DM Mono;margin-top:2px}.plot-card{margin:0;min-width:0;padding:11px 13px 6px;background:#ffffffed;border:1px solid #d7ddd7;border-radius:8px;box-shadow:0 3px 10px #263a3110}.plot-card figcaption{height:27px;display:flex;justify-content:space-between;align-items:baseline}.plot-card figcaption strong{font-size:12px}.plot-card figcaption span{font:500 9px DM Mono;color:#18765d}.plot-card svg{width:100%;height:calc(100% - 27px);min-height:120px;overflow:visible}.chart-grid line{stroke:#e2e6e1;stroke-width:1}.results polyline{fill:none;stroke:#168166;stroke-width:2.5}.results figure text{font:10px DM Mono;fill:#66746d}.trace line{stroke:#d7752e;stroke-width:1;stroke-dasharray:3 2}.trace circle{fill:#d7752e;stroke:white;stroke-width:2}.analysis-note{display:none;align-self:start;margin:35px 0 0 40px;transform:rotate(-2deg);color:#5e6e66}.results.expanded .analysis-note{display:flex;gap:8px}.analysis-note span{color:#d7752e}.analysis-note p{max-width:170px;margin:0;font-size:11px;line-height:1.5}.add-plot{display:none;place-content:center;text-align:center;border:1px dashed #b9c3bc;border-radius:8px;min-height:170px;background:#ffffff66}.results.expanded .add-plot{display:grid}.add-plot button{border:0;background:transparent;color:#16745a;font-weight:650}.add-plot small{font-size:8px;color:#7c8881}.stale-overlay{position:absolute!important;inset:0;display:grid!important;place-content:center;text-align:center;filter:none!important;opacity:1!important;background:#fbfcfabd;backdrop-filter:blur(2px)}.stale-overlay strong{font-size:13px}.stale-overlay span{font-size:10px;color:#748079;margin-top:4px}.toolbar-float{position:absolute;z-index:3;top:18px;left:50%;transform:translateX(-50%);background:#fbfcfaf2;border:1px solid #d4dad4;border-radius:9px;padding:4px;box-shadow:0 5px 18px #2e3f3720}.command-rail{position:absolute;z-index:3;left:14px;top:18px;display:grid;gap:4px;background:#fbfcfaf0;border:1px solid #d4dad4;border-radius:9px;padding:5px;box-shadow:0 5px 18px #2e3f371c}.command-rail span{border-top:1px solid #d8ddd8;margin:2px}.command-rail button.active{background:#dcefe8;color:#086b52}.canvas-label{left:70px}.analysis-expanded{min-height:150px}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 245px}.analysis-canvas{grid-template-columns:150px 1fr}.plot-card:nth-of-type(2){display:block}.brand{min-width:auto}.brand small{display:none}}
