:root{--bg: #f4f5f7;--panel: #ffffff;--fg: #1d2330;--muted: #6b7385;--line: #d9dde5;--grid: #eceef2;--accent: #0b5fff;--accent-soft: #e7efff;--ok: #2b8a3e;--err: #c92a2a;--warn: #b26a00;--sel: #cfdcff;--sel-match: #e4ebff;--active-line: rgba(11, 95, 255, .04);--syn-keyword: #7a3e9d;--syn-type: #0b5fff;--syn-string: #b2361f;--syn-number: #1b7f5b;--syn-comment: #6b7385;--syn-atom: #a15c00;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #15181e;--panel: #1c2028;--fg: #e3e6ec;--muted: #8a92a5;--line: #2d333f;--grid: #262b35;--accent: #5b8cff;--accent-soft: #233150;--ok: #69db7c;--err: #ff8787;--warn: #ffc95c;--sel: #2f4b85;--sel-match: #283a5e;--active-line: rgba(91, 140, 255, .07);--syn-keyword: #d0a2f7;--syn-type: #8fb3ff;--syn-string: #ffa8a8;--syn-number: #8ce99a;--syn-comment: #8a92a5;--syn-atom: #ffd08a;color-scheme:dark}svg.diagram{background:#fff;filter:invert(.9) hue-rotate(180deg)}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font:13px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--fg);display:grid;grid-template-rows:auto 1fr 140px;grid-template-columns:minmax(0,1fr);overflow:hidden}button,select,input{font:inherit;color:inherit}::selection{background:var(--sel);color:inherit}::placeholder{color:var(--muted);opacity:.75}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}input[type=checkbox]{accent-color:var(--accent)}button{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:3px 10px;cursor:pointer}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}input,select{background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:2px 6px}input[type=number]{width:72px}#topbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:6px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:15px;letter-spacing:.2px;white-space:nowrap}.logo{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--accent);color:#fff;margin-right:4px}.modes{display:flex;gap:4px}.tools{display:flex;align-items:center;gap:6px 10px;flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap;min-width:0}.tools>*{flex:none}.tools-more{display:contents}.tools-menu-btn{display:none}#btn-engine{order:1}#docs-link{order:2}#btn-assistant{order:3}.tools label{color:var(--muted);display:flex;gap:4px;align-items:center}.sep{width:1px;height:20px;background:var(--line)}label.file{position:relative;overflow:hidden;border:1px dashed var(--line);border-radius:6px;padding:3px 8px;cursor:pointer;color:var(--fg)}label.file input{position:absolute;inset:0;opacity:0;cursor:pointer}#docs-link{color:var(--fg);text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:3px 8px}#docs-link:hover{border-color:var(--accent);color:var(--accent)}#app{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;min-height:0;min-width:0}.pane{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:6px;display:flex;flex-direction:column;min-height:0;overflow:hidden}#left,#right,#center{display:flex;flex-direction:column;min-height:0}#left .pane,#center .pane{flex:1}.pane-title{display:flex;align-items:center;gap:8px;padding:6px 10px;font-weight:600;border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.6px}.pane-title input{margin-left:auto;width:120px;text-transform:none;font-weight:400;letter-spacing:0}.pane-title button{margin-left:auto;font-size:11px;padding:1px 8px}.hidden{display:none!important}.lib-progress{padding:6px 10px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.lib-progress .track{height:4px;border-radius:2px;background:var(--grid);overflow:hidden;margin-bottom:4px}.lib-progress .fill{height:100%;width:0;background:var(--accent);transition:width .15s}.tree{overflow:auto;flex:1;padding:4px 0}.node{display:flex;align-items:center;gap:4px;padding:1px 6px;cursor:default;white-space:nowrap;user-select:none}.node:hover{background:var(--accent-soft)}.node.selected{background:var(--accent);color:#fff}.node .tw{width:12px;text-align:center;color:var(--muted);cursor:pointer;flex:none}.node .ico{width:20px;height:20px;flex:none}.node .nm{overflow:hidden;text-overflow:ellipsis}.node .run{color:var(--ok);font-size:10px}.node .val{margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:11.5px}.node.selected .val,.node.selected .run,.node.selected .tw{color:#fff}.node input[type=checkbox]{margin:0}.node input.par{width:88px;margin-left:auto;font-family:var(--mono);font-size:11.5px;padding:0 4px}.kids{padding-left:14px}.tabs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:5px 8px;border-bottom:1px solid var(--line);min-width:0}.tabs button{white-space:nowrap;flex:none}.tabs .spacer{flex:1}.tabs label{color:var(--muted);display:flex;gap:4px;align-items:center;margin-left:8px}#plot-units{display:flex;align-items:center;flex:none}.tabs label select{max-width:9em}.nav{display:flex;gap:2px;flex:none;margin-right:6px}.nav button{padding:0 8px;font-size:16px;line-height:1.3}button:disabled{opacity:.55;cursor:default;pointer-events:none}.model-title{font-weight:600;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}#views{position:relative;flex:1;min-height:0}.view{position:absolute;inset:0;overflow:auto}.view.doc{padding:12px 18px}.view.flat{margin:0;padding:10px;font:12px/1.45 var(--mono);white-space:pre}svg.diagram{width:100%;height:100%;display:block;background:#fff;cursor:grab}svg.diagram .frame{fill:none;stroke:#c9ced8;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}svg.diagram .component .hit{fill:transparent;stroke:none}svg.diagram .component:hover .hit{fill:#0b5fff0f;stroke:#0b5fff66;vector-effect:non-scaling-stroke}svg.diagram .component.selected .hit{fill:#0b5fff1a;stroke:#0b5fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.plot-host{flex:1;position:relative;min-height:0}canvas.plot{position:absolute;inset:0;display:block}.inspector{padding:8px 10px;overflow:auto}.inspector table{width:100%;border-collapse:collapse}.inspector td{padding:2px 4px;border-bottom:1px solid var(--grid);vertical-align:top}.inspector td.k{color:var(--muted);white-space:nowrap}.inspector td.v{font-family:var(--mono);font-size:12px;word-break:break-all}.inspector h4{margin:4px 0 6px}.muted{color:var(--muted)}#messages{background:var(--panel);border-top:1px solid var(--line);display:flex;flex-direction:column;min-height:0}#log{overflow:auto;padding:4px 10px;font:12px/1.5 var(--mono);flex:1}#log .err{color:var(--err)}#log .ok{color:var(--ok)}#log .warn{color:var(--warn)}#log div{white-space:pre-wrap}.node input.par.ro{background:transparent;border-color:transparent;color:var(--muted)}@media (max-width: 1200px){#topbar{gap:8px;padding:5px 8px;min-width:0}.brand-name{display:none}#set-tol{width:56px}.tools{gap:6px}.tools label{gap:3px}input[type=number]{width:60px;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#app{grid-template-columns:220px minmax(0,1fr) 230px}.pane{margin:4px}}@media (max-width: 900px){#app{grid-template-columns:minmax(0,1fr);overflow-y:auto;-webkit-overflow-scrolling:touch}#left{height:20vh;min-height:160px}#center{height:72vh;min-height:420px}#right{height:45vh;min-height:260px}#center .pane{flex:1 1 auto}#app .pane{margin:6px}#topbar{position:relative}.tools-menu-btn{display:inline-block}.tools-more{display:none;position:absolute;top:100%;left:8px;right:8px;z-index:60;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px #0000002e}.tools-more.open{display:flex}.tools-more .sep{display:none}}@media (max-height: 700px){body{grid-template-rows:auto 1fr 96px}}.var-note{color:var(--muted);font-size:11.5px;padding:4px 6px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.var-prev{display:block;margin:0 6px 6px;padding:2px 8px;font-size:11.5px;background:none;border:1px solid var(--line);border-radius:4px;color:var(--muted);cursor:pointer}.var-prev:hover{color:inherit}.view.structure{padding:8px 10px}.st-busy{padding:16px;color:var(--muted)}.st-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.st-bar .spacer{flex:1}.st-bar label{color:var(--muted);display:flex;gap:4px;align-items:center}.st-busy-inline{color:var(--accent)}.st-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.st-chip{border:1px solid var(--line);border-radius:8px;padding:4px 10px;min-width:110px}.st-chip .v{font-weight:600;font-size:14px}.st-chip small,.st-chip .sub{font-size:11px;font-weight:400}.st-diff{background:var(--accent-soft);border-radius:6px;padding:5px 10px;margin-bottom:6px}.st-warn{color:var(--warn);border-left:3px solid var(--warn);padding:3px 8px;margin-bottom:6px;white-space:pre-wrap}.st-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}@media (max-width: 1300px){.st-grid{grid-template-columns:minmax(0,1fr)}}.st-col{display:flex;flex-direction:column;gap:10px;min-width:0}.st-card{border:1px solid var(--line);border-radius:8px;padding:6px 10px 10px;min-width:0}.st-card h4{margin:2px 0 6px;font-size:12.5px}.st-card canvas{display:block;cursor:crosshair}.st-states div{padding:1px 0}.st-set{border-top:1px solid var(--grid);margin-top:8px;padding-top:6px}.st-set.failing{border-left:3px solid var(--err);padding-left:6px}.st-set-head{font-weight:600;margin-bottom:3px}.st-set table{border-collapse:collapse;width:100%}.st-set td{padding:1px 6px 1px 0;white-space:nowrap}.st-set tr.state td:first-child{color:var(--ok)}.st-set tr.dummy td:first-child{color:var(--muted)}.st-set select{font-size:11.5px;padding:0 2px}.st-set button{padding:0 4px;font-size:11px;margin-left:2px}.st-reason{color:var(--muted);font-size:11.5px;margin:4px 0}.st-bad{color:var(--err)}.st-ovmark{color:var(--accent)}.st-ov{border-top:1px solid var(--grid);margin-top:8px;padding-top:6px}.st-ov-title{font-weight:600;margin-bottom:4px}.st-ov-row button{padding:0 5px;font-size:11px}.st-ov-add{display:flex;gap:4px;margin:4px 0}.st-ov-add input{flex:1;min-width:0}.st-ov-actions{display:flex;gap:6px;flex-wrap:wrap}.st-blocks{max-height:420px;overflow:auto;font-size:12px}.st-block{padding:2px 4px;border-radius:4px;cursor:pointer}.st-block:hover,.st-block.open{background:var(--accent-soft)}.st-sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px}.st-bi{display:inline-block;min-width:2.5em;color:var(--muted);font-family:var(--mono)}.st-eqs{padding:4px 0 4px 18px;cursor:default}.st-eqs code,.st-block code{font-family:var(--mono);font-size:11.5px}.st-lhs{color:var(--accent);font-family:var(--mono);font-size:11.5px}.st-origin{font-size:11px;margin-bottom:3px}.st-legend{font-size:11px;color:var(--muted);margin-top:4px}.st-legend span{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle}.st-legend .neg{background:#1971c2}.st-legend .pos{background:#c92a2a;margin-left:8px}.st-loops{border-collapse:collapse;font-size:12px}.st-loops td{padding:1px 8px 1px 0}.st-tip{position:fixed;z-index:50;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:12px;box-shadow:0 2px 8px #00000026;max-width:420px}.st-tip code{font-family:var(--mono);font-size:11.5px;word-break:break-all}.seg{display:inline-flex;margin-right:8px}.seg button{border-radius:0}.seg button:first-child{border-radius:6px 0 0 6px}.seg button:last-child{border-radius:0 6px 6px 0}.seg button+button{margin-left:-1px}.anim3d{display:flex;flex-direction:column;outline:none}.anim-canvas{flex:1;min-height:0;position:relative}.anim-canvas canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.anim-bar{display:flex;align-items:center;gap:6px 8px;padding:5px 8px;border-top:1px solid var(--line);flex-wrap:wrap}.anim-bar button{padding:2px 8px;white-space:nowrap}.anim-bar button:disabled{opacity:.45;cursor:default}.anim-bar .seg{margin-right:0}.anim-grp{display:inline-flex;gap:4px}.anim-dl{color:var(--accent);text-decoration:none;white-space:nowrap}.anim-dl:hover{text-decoration:underline}.anim-bar label{color:var(--muted);display:flex;gap:4px;align-items:center}.anim-bar .spacer{flex:1}.anim-slider{flex:1 1 200px;min-width:120px}.anim-time{font-family:var(--mono);min-width:96px}.anim-info{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}.cm-ide-hover{max-width:520px;padding:6px 10px;font-size:12.5px;line-height:1.45}.cm-ide-hover pre{margin:0 0 6px;font-family:var(--mono);font-size:12px;white-space:pre-wrap;color:var(--syn-type)}.cm-ide-hover p{margin:4px 0}.cm-ide-hover code{font-family:var(--mono);font-size:11.5px;background:var(--accent-soft);padding:0 3px;border-radius:3px}.cm-ide-panel{font-size:12.5px}.cm-ide-panel-head{display:flex;align-items:center;justify-content:space-between;padding:3px 8px;color:var(--muted);border-bottom:1px solid var(--line)}.cm-ide-panel-head button{border:none;background:none;color:var(--muted);font-size:15px;cursor:pointer;padding:0 4px}.cm-ide-panel-head button:hover{color:var(--fg)}.cm-ide-panel-body{max-height:180px;overflow:auto}.cm-ide-rename .cm-ide-panel-body{display:flex;gap:10px;align-items:center;padding:6px 8px}.cm-ide-rename input{font-family:var(--mono);font-size:12.5px;padding:3px 6px;min-width:220px;background:var(--panel);color:var(--fg);border:1px solid var(--accent);border-radius:3px;outline:none}.cm-ide-hint{color:var(--muted)}.cm-ide-error{color:var(--err)}.cm-ide-file{padding:3px 8px 1px;font-weight:600;color:var(--muted);font-size:11.5px}.cm-ide-ref,.cm-ide-sym{display:flex;gap:10px;align-items:baseline;padding:2px 8px 2px 18px;cursor:pointer;white-space:nowrap}.cm-ide-sym{display:block;padding-top:1px;padding-bottom:1px}.cm-ide-ref:hover,.cm-ide-sym:hover{background:var(--sel)}.cm-ide-ref code{font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis}.cm-ide-line{color:var(--muted);min-width:34px;text-align:right;font-family:var(--mono);font-size:11.5px}.cm-ide-cls{color:var(--muted);font-size:11.5px}.cm-ide-kind{color:var(--syn-keyword);font-size:11px;display:inline-block;min-width:64px}.cm-ide-empty{padding:6px 18px;color:var(--muted)}.solver-hint{border:1px solid var(--warn);color:var(--warn);background:transparent;border-radius:10px;padding:1px 8px;font-size:12px;cursor:pointer}.solver-hint:hover{background:var(--grid)}.view.linear{display:flex;flex-direction:column;overflow:hidden}.view.linear.hidden{display:none}.lin-bar{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--line)}.lin-bar label{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.lin-bar select{max-width:16em}.lin-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}.lin-cell{background:var(--panel);display:flex;flex-direction:column;min-height:0;min-width:0}.lin-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 8px;font-size:12px}.lin-stack{flex:1;min-height:0;display:flex;flex-direction:column}.lin-plot{flex:1;min-height:0;position:relative}.lin-plot.hidden{display:none}.lin-plot canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.lin-summary{display:block;overflow:auto;padding:6px 12px;font-size:12px}.lin-summary h4{margin:8px 0 4px;font-size:12.5px}.lin-summary table{border-collapse:collapse}.lin-summary th{text-align:left;font-weight:400;color:var(--muted);padding:1px 12px 1px 0;white-space:nowrap}.lin-summary td{padding:1px 0}.lin-summary .mono{font:11.5px/1.4 var(--mono);margin:2px 0;word-break:break-word}.lin-summary p{margin:3px 0}.lin-summary .ok{color:var(--ok)}.lin-summary .err,.view.linear .err{color:var(--err)}.hsv{flex-shrink:0;display:flex;align-items:flex-end;gap:2px;height:48px;border-bottom:1px solid var(--line)}.hsv-bar{flex:1;max-width:18px;background:var(--line)}.hsv-bar.kept{background:#d9480f}@media (max-width: 900px){.lin-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,minmax(260px,1fr));overflow:auto}}.err{color:var(--err)}.warn{color:var(--warn)}.ok{color:var(--ok)}.small{font-size:12px}.view.doc{line-height:1.5}.doc-head h2{margin:0 0 2px}.doc-lib{margin:0 0 8px;color:var(--muted)}.doc-body{max-width:980px}.doc-body img{max-width:100%;height:auto}.doc-body table{border-collapse:collapse}.doc-body td,.doc-body th{border:1px solid var(--line);padding:2px 6px}.doc-body pre,.doc-body code{font-family:var(--mono);font-size:12px}.doc-body pre{background:var(--grid);padding:8px;overflow:auto;border-radius:4px}.view.doc a.class-link{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent);cursor:pointer}.doc-body .math.display{overflow-x:auto;margin:8px 0}.img-missing{display:inline-block;padding:2px 6px;border:1px dashed var(--line);color:var(--muted);font-size:12px}.doc-meta,.doc-revisions{margin:6px 0 12px;border:1px solid var(--line);border-radius:6px;padding:4px 10px;max-width:980px}.doc-meta summary,.doc-revisions summary{cursor:pointer;color:var(--muted);font-weight:600}.doc-meta table{border-collapse:collapse;margin:6px 0}.doc-meta td{padding:2px 3px}.doc-meta input{border:1px solid var(--line);border-radius:4px;padding:2px 6px;background:var(--panel)}.doc-meta input.meta-key{width:160px;font-family:var(--mono)}.doc-meta input.meta-val{width:min(480px,50vw)}.meta-bar{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.view.diff:not(.hidden){display:flex;flex-direction:column;overflow:hidden}.diff-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}.diff-bar label{color:var(--muted);display:flex;gap:4px;align-items:center}.diff-body{flex:1;overflow:auto;position:relative}.diff-summary{padding:8px 16px}.diff-summary h4{margin:10px 0 4px}.diff-summary ul{margin:0;padding-left:4px;list-style:none}.diff-summary li{margin:2px 0}.diff-summary ul.ddetails{padding-left:28px;color:var(--muted);list-style:disc}.diff-summary .deqs code{font-size:12px}.dbadge{display:inline-block;width:18px;text-align:center;border-radius:4px;font-weight:700;color:#fff;margin-right:4px}.dbadge.added{background:#2b8a3e}.dbadge.removed{background:#c92a2a}.dbadge.modified{background:#d9480f}.dtag{font-size:11px;border:1px solid var(--line);border-radius:8px;padding:0 6px;color:var(--muted)}table.diff-text{border-collapse:collapse;width:100%;font:12px/1.45 var(--mono)}table.diff-text td{padding:0 6px;white-space:pre;vertical-align:top}table.diff-text td.ln{color:var(--muted);text-align:right;width:1%;user-select:none;border-right:1px solid var(--grid)}table.diff-text tr.dadd td:last-child{background:#2b8a3e24}table.diff-text tr.ddel td:last-child{background:#c92a2a21}table.diff-text tr.dfold td{color:var(--muted);background:var(--grid);font-style:italic}table.diff-text .dop{display:inline-block;width:14px;color:var(--muted)}.diff-legend{padding:4px 10px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--grid)}.diff-diagram{position:absolute;inset:26px 0 0}.diff-diagram svg.diagram{width:100%;height:100%}svg.diagram .component.diff-added .hit{fill:#2b8a3e29;stroke:#2b8a3e;stroke-width:2;vector-effect:non-scaling-stroke}svg.diagram .component.diff-changed .hit{fill:#d9480f24;stroke:#d9480f;stroke-width:2;vector-effect:non-scaling-stroke}svg.diagram .connection.diff-added,svg.diagram .connection.diff-added *{stroke:#2b8a3e!important;stroke-width:2.5}svg.diagram .connection.diff-changed,svg.diagram .connection.diff-changed *{stroke:#d9480f!important;stroke-width:2.5}svg.diagram .overlay .dghost{fill:none;stroke-width:1.5;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}svg.diagram .overlay .dghost.removed{stroke:#c92a2a;fill:#c92a2a12}svg.diagram .overlay .dghost.modified{stroke:#d9480f}svg.diagram .overlay .dline{fill:none;stroke-width:1.5;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}svg.diagram .overlay .dline.removed{stroke:#c92a2a}svg.diagram .overlay .dline.modified{stroke:#d9480f}svg.diagram .overlay .dlabel{font-size:6px}svg.diagram .overlay .dlabel.removed{fill:#c92a2a}svg.diagram .overlay .dlabel.modified{fill:#d9480f}dialog.lib-dialog,dialog.params-dialog{border:1px solid var(--line);border-radius:10px;padding:0 18px 14px;background:var(--panel);color:var(--fg);width:min(900px,calc(100vw - 32px));max-height:calc(100vh - 48px)}dialog::backdrop{background:#0a0f1959}.dlg-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--panel);padding-top:12px;z-index:1}.dlg-head h3{margin:0}.dlg-head button{font-size:18px;line-height:1;padding:2px 9px}dialog h4{margin:14px 0 6px}.lib-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.lib-row .lib-spec{flex:1;min-width:240px;border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:var(--panel)}.lib-progress-msg{margin:6px 0;min-height:1.4em}table.lib-index,table.lib-table,table.params-table{border-collapse:collapse;width:100%}table.lib-index th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:3px 6px}table.lib-index td,table.lib-table td,table.params-table td{padding:3px 6px;border-bottom:1px solid var(--grid);vertical-align:middle}table.params-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:3px 6px}.lib-issues{margin:6px 0;padding-left:18px}.params-msgs{padding-left:18px}pre.params-code{background:var(--grid);padding:8px;border-radius:4px;font:12px/1.45 var(--mono);white-space:pre-wrap;word-break:break-word}.dlg-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:10px}.assistant-panel{position:fixed;top:var(--topbar-h, 44px);right:8px;bottom:8px;width:min(440px,calc(100vw - 16px));display:flex;flex-direction:column;z-index:50;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px #0000002e}.assistant-panel.hidden{display:none}.assistant-panel .pane-title{display:flex;align-items:center;gap:6px}.assistant-panel .pane-title .close{margin-left:auto;border:none;background:none}.assistant-key{padding:10px 12px;display:grid;gap:6px;border-bottom:1px solid var(--line)}.assistant-key.hidden{display:none}.assistant-key p{margin:0;color:var(--muted);font-size:12px}.assistant-log{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.assistant-log .msg{white-space:pre-wrap;line-height:1.45;overflow-wrap:anywhere}.assistant-log .msg.user{align-self:flex-end;background:var(--accent-soft);padding:6px 10px;border-radius:10px;max-width:85%}.assistant-log .msg.error{color:var(--err)}.assistant-log .msg.busy{color:var(--muted)}.assistant-log details.msg.tool{font-size:12px;color:var(--muted);border-left:2px solid var(--line);padding-left:8px}.assistant-log details.msg.tool summary{cursor:pointer;font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-log details.msg.tool pre{max-height:240px;overflow:auto;margin:4px 0;font-size:11px}.assistant-input{border-top:1px solid var(--line);padding:8px;display:grid;gap:6px}.assistant-input textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:6px}.assistant-input .row{display:flex;gap:6px;justify-content:flex-end}.assistant-input .row .forget{margin-right:auto}.assistant-input .hidden{display:none}#plot-pane.perf-mode .tabs>:not(#sim-views){display:none}#plot-pane.perf-mode #plot,#plot-pane.perf-mode #anim{display:none}.perf{flex:1;min-height:0;overflow:auto;padding:4px 12px 16px}.perf-sec{margin:8px 0 16px}.perf-sec h3{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:6px 0}.perf-sec p{margin:4px 0 6px;font-size:12px}.perf-split{display:flex;height:14px;border-radius:4px;overflow:hidden;background:var(--grid)}.perf-split span{height:100%;min-width:1px}.perf-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;margin:6px 0;color:var(--muted)}.perf-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}.perf-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 12px;margin:6px 0}.perf-stats .kv{display:flex;flex-direction:column}.perf-stats .k{color:var(--muted);font-size:11px}.perf-stats .v{font-family:var(--mono);font-size:12.5px}.perf-hints{margin:6px 0;padding-left:18px}.perf-hints li{margin:2px 0}.perf-plot{position:relative;height:230px}.perf-strip{display:block;width:100%;height:10px}.perf-bars .bar-row{display:grid;grid-template-columns:minmax(120px,280px) 1fr 52px;align-items:center;gap:8px;font-size:12px;padding:1px 0}.perf-bars .name{font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-bars .track{height:10px;background:var(--grid);border-radius:3px;overflow:hidden}.perf-bars .fill{display:block;height:100%}.perf-bars .val{text-align:right;font-family:var(--mono)}.perf-table{width:100%;border-collapse:collapse;font-size:12px}.perf-table th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:3px 6px;position:sticky;top:0;background:var(--panel)}.perf-table td{padding:2px 6px;border-bottom:1px solid var(--grid);vertical-align:top}.perf-table td.r{text-align:right;font-variant-numeric:tabular-nums}.perf-table td.bad{color:var(--err)}.perf-table .mono,.perf .mono{font-family:var(--mono);font-size:11.5px;word-break:break-all}.perf-table tr.expandable{cursor:pointer}.perf-table tr.expandable:hover,.perf-table.events tbody tr:hover{background:var(--accent-soft)}.perf-table tr.detail td{background:var(--bg)}.perf-table .share{display:inline-block;width:60px;height:8px;background:var(--grid);border-radius:2px;overflow:hidden;vertical-align:middle}.perf-table .share .fill{display:block;height:100%;background:var(--accent)}.perf-table tr.chatter td{background:#e0313114}.perf-table tr.sel td{background:var(--accent-soft);outline:1px solid var(--accent)}.perf-table.events tbody tr{cursor:pointer}.perf .badge{background:#e03131;color:#fff;border-radius:3px;padding:0 5px;font-size:11px}.perf-toolbar{display:flex;gap:10px;align-items:center;margin:4px 0 6px;flex-wrap:wrap}.perf-toolbar label{display:flex;gap:4px;align-items:center;color:var(--muted)}.perf-filter{width:200px}#runs-pane{flex:1;min-height:160px}.runs-info{font-weight:400;text-transform:none;letter-spacing:0}.runs-tools{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;border-bottom:1px solid var(--line)}.runs-tools button{font-size:11.5px;padding:1px 7px}.runs-tools button[disabled]{opacity:.45;cursor:default}.runs-list{overflow:auto;flex:1;padding:2px 0}.runs-empty{padding:8px 10px;font-size:12px}.run-row{display:flex;align-items:center;gap:4px;padding:2px 6px;border-bottom:1px solid var(--grid)}.run-row.sel{background:var(--accent-soft)}.run-row.failed .run-label{color:var(--err)}.run-text{display:flex;flex-direction:column;min-width:0;flex:1}.run-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-sub{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-rename{width:100%}button.icon{border:none;background:none;padding:0 3px;color:var(--muted);font-size:13px;line-height:1}button.icon:hover{color:var(--accent)}button.icon.on{color:#e8a200}.sweep-dialog{width:min(880px,94vw);max-height:90vh;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--fg)}.sweep-dialog::backdrop{background:#0000004d}.sw-head{display:flex;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line);margin:0}.sw-head h3{margin:0;font-size:14px;flex:1}.sw-head .muted{font-weight:400;font-size:12px;margin-left:6px}.sw-body{padding:10px 14px;overflow:auto;max-height:calc(90vh - 48px)}.sw-line{display:flex;align-items:center;gap:12px;margin:8px 0;flex-wrap:wrap}.sw-line .spacer{flex:1}.sw-line label{display:flex;gap:6px;align-items:center;color:var(--muted)}.sw-combine{display:flex;gap:14px}.sw-keep{flex:1}.sw-keep input{flex:1;min-width:240px}.sw-table{border-collapse:collapse;width:100%}.sw-table th{text-align:left;font-weight:600;color:var(--muted);font-size:11.5px;padding:3px 6px;border-bottom:1px solid var(--line)}.sw-table td{padding:3px 6px;border-bottom:1px solid var(--grid)}.sw-vals{display:flex;gap:6px}.sw-vals .sw-list{flex:1;min-width:160px}.sw-name{max-width:300px}#sw-count.err{color:var(--err)}.sw-progress{font-size:12px;color:var(--muted)}.sw-progress .track{height:5px;border-radius:3px;background:var(--grid);overflow:hidden;margin:6px 0 4px}.sw-progress .fill{height:100%;width:0;background:var(--accent);transition:width .15s}.sw-scalar{height:220px;position:relative;border:1px solid var(--line);border-radius:6px}.sw-table-wrap{max-height:220px;overflow:auto;margin-top:8px}.sw-summary td{font-family:var(--mono);font-size:12px;text-align:right}.sw-summary tr.failed td{color:var(--err)}.dbg-grid{margin-bottom:10px}.dbg-trace-form{display:flex;gap:4px;margin-bottom:6px}.dbg-trace-form input{flex:1;min-width:0}.dbg-trace-body,.dbg-init-body{font-size:12px;max-height:560px;overflow:auto}.dbg-run-init{float:right;font-size:11.5px;padding:1px 8px}a.dbg-var,a.dbg-eqlink,a.dbg-blk,a.dbg-loc{color:var(--accent);cursor:pointer;text-decoration:none}a.dbg-var:hover,a.dbg-eqlink:hover,a.dbg-blk:hover,a.dbg-loc:hover{text-decoration:underline}a.dbg-eqlink{color:inherit}a.dbg-loc{font-family:var(--mono);font-size:11px}.dbg-head{font-weight:600;margin:2px 0 4px}.dbg-name{font-family:var(--mono);font-size:12.5px}.dbg-role{display:inline-block;border-radius:9px;padding:0 7px;background:var(--accent-soft);font-weight:500;font-size:11px}.dbg-role.r-state{background:#2b8a3e26;color:var(--ok)}.dbg-role.r-alias{background:#f0a0002e;color:var(--warn)}.dbg-role.r-dummy-derivative{background:#e8590c26;color:#e8590c}.dbg-start{margin:2px 0 6px;color:var(--muted)}.dbg-start code{color:var(--fg);font-family:var(--mono)}.dbg-steps{list-style:none;margin:0;padding:0 0 0 4px;border-left:2px solid var(--grid)}.dbg-step{display:flex;gap:8px;padding:4px 0 4px 8px;position:relative}.dbg-step:before{content:"";position:absolute;left:-6px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--line)}.dbg-step.k-source:before{background:var(--accent)}.dbg-step.k-alias:before,.dbg-step.k-substituted:before{background:#f08c00}.dbg-step.k-differentiated:before,.dbg-step.k-state-selection:before{background:#e8590c}.dbg-step.k-assign:before,.dbg-step.k-inner:before{background:#2b8a3e}.dbg-step.k-tear:before,.dbg-step.k-residual:before,.dbg-step.k-newton:before{background:#c92a2a}.dbg-step.k-initialization:before{background:#7048e8}.dbg-kind{flex:0 0 62px;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding-top:1px}.dbg-body{min-width:0;flex:1}.dbg-title{margin-bottom:2px}code.dbg-eq{display:block;font-family:var(--mono);font-size:11.5px;background:var(--grid);border-radius:4px;padding:2px 6px;margin:2px 0;white-space:pre-wrap;word-break:break-word}.dbg-src{font-size:11px;color:var(--muted)}.dbg-comp{font-family:var(--mono);color:var(--fg)}.dbg-details{margin:2px 0 0;padding-left:16px;color:var(--muted);font-size:11.5px}.dbg-sub{font-weight:600;margin:8px 0 3px}.dbg-all{float:right;font-weight:400;color:var(--muted)}.dbg-table{border-collapse:collapse;width:100%;font-size:11.5px}.dbg-table td{padding:1px 6px 1px 0;vertical-align:top}.dbg-table td.num{font-family:var(--mono);text-align:right;white-space:nowrap}.dbg-table code{font-family:var(--mono);font-size:11px;word-break:break-word}.dbg-init tr:hover td{background:var(--accent-soft)}.dbg-use{display:inline-block;border-radius:3px;padding:0 5px;font-size:10.5px;border:1px solid var(--line)}.dbg-use.fixed{background:#2b8a3e26;color:var(--ok)}.dbg-use.guess{background:#f0a0002e;color:var(--warn)}.dbg-use.defaulted{background:#e8590c26;color:#e8590c}.dbg-use.computed{color:var(--muted)}.dbg-ok{color:var(--ok);font-weight:600}.dbg-bad{color:var(--err)}span.dbg-bad{font-weight:600}.dbg-err{white-space:pre-wrap;font-family:var(--mono);font-size:11px;background:#c92a2a12;border-left:3px solid var(--err);padding:4px 8px;margin:4px 0;max-height:140px;overflow:auto}.dbg-fail{border:1px solid rgba(201,42,42,.35);border-radius:6px;padding:6px 8px;margin:6px 0;background:#c92a2a0a}.dbg-hist{color:var(--err);margin:4px 0;display:flex;align-items:center;gap:6px;font-size:11px}.dbg-hint{border-left:3px solid var(--warn);padding:2px 8px;margin:4px 0}.dbg-struct{margin:6px 0}.dbg-subset{border-left:3px solid var(--err);padding:3px 8px;margin:6px 0}.dbg-subset.over{border-left-color:#e8590c}.dbg-subset-head{font-weight:600}.dbg-now{font-size:11px;color:var(--muted)}.dbg-note{font-size:11px;color:var(--warn)}.dbg-vars{font-family:var(--mono);font-size:11px;word-break:break-word}.dbg-unc{padding:1px 0}.dbg-unc.warning code{color:var(--warn);font-weight:600}.dbg-init-head{margin-bottom:4px}#log a.log-link{color:var(--accent);cursor:pointer;margin-left:8px;text-decoration:underline}.edit-toolbar{position:absolute;top:8px;left:8px;z-index:2;display:flex;gap:4px;flex-wrap:wrap;max-width:calc(100% - 16px)}.edit-toolbar.hidden,.edit-toolbar .hidden{display:none}.edit-toolbar button{padding:2px 8px;box-shadow:0 1px 2px #00000014}.edit-toolbar button:disabled{opacity:.45;cursor:default}svg.diagram.editing{cursor:default}svg.diagram.editing .component{cursor:move}svg.diagram .edit-overlay .edit-selection{fill:#0b5fff14;stroke:#0b5fff;stroke-width:1.5;stroke-dasharray:4 2;vector-effect:non-scaling-stroke;pointer-events:none}svg.diagram .edit-overlay .edit-resize,svg.diagram .edit-overlay .edit-vertex{fill:#fff;stroke:#0b5fff;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:nwse-resize}svg.diagram .edit-overlay .edit-vertex{cursor:move}svg.diagram .edit-overlay .edit-port{fill:transparent;stroke:transparent;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:crosshair}svg.diagram .edit-overlay .edit-port:hover{fill:#0b5fff2e;stroke:#0b5fff}svg.diagram .edit-overlay .edit-port.compatible{fill:#2b8a3e40;stroke:#2b8a3e}svg.diagram .edit-overlay .edit-port.incompatible{fill:#c92a2a14}svg.diagram .edit-overlay .edit-wire{fill:none;stroke:transparent;stroke-width:9;vector-effect:non-scaling-stroke;cursor:pointer}svg.diagram .edit-overlay .edit-wire:hover{stroke:#0b5fff2e}svg.diagram .edit-overlay .edit-wire.selected{stroke:#0b5fff59}svg.diagram .edit-rubber-line{fill:none;stroke:#0b5fff;stroke-width:1.5;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;pointer-events:none}svg.diagram .edit-band{fill:#0b5fff0f;stroke:#0b5fff;stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:none}.param-dialog{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#0a0e1659}.param-dialog .box{background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #00000040;padding:14px 16px;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;gap:6px}.param-dialog h3{margin:0;font-size:15px}.param-dialog h3 .muted,.param-dialog .muted{color:var(--muted);font-weight:400;font-size:12px}.param-dialog .small{font-size:11.5px;margin:0}.param-dialog p{margin:0}.param-dialog .name input{margin-left:6px;width:200px;font-family:var(--mono)}.param-dialog .scroll{overflow:auto;border:1px solid var(--line);border-radius:6px}.param-dialog table{width:100%;border-collapse:collapse}.param-dialog td{padding:3px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.param-dialog td.k{font-family:var(--mono);white-space:nowrap}.param-dialog td.u{color:var(--muted);white-space:nowrap}.param-dialog td.d{color:var(--muted);font-size:12px}.param-dialog td input{width:140px;font-family:var(--mono)}.param-dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}#analysis-pane{flex:1}.an-body{flex:1;display:grid;grid-template-columns:330px minmax(0,1fr);min-height:0}.an-side{border-right:1px solid var(--line);overflow:auto;padding:6px 10px 12px;display:flex;flex-direction:column;gap:6px}.an-main{display:flex;flex-direction:column;min-height:0;min-width:0}.an-main .an-plot{flex:3;min-height:120px}.an-main .an-bars{flex:2;min-height:140px;border-top:1px solid var(--line)}.an-report{flex:none;max-height:38%;overflow:auto;padding:6px 12px 10px;border-top:1px solid var(--line)}.an-report:empty{display:none}.an-h{font-weight:600;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.6px;margin-top:6px;display:flex;align-items:center;gap:6px}.an-h input{margin-left:auto;width:120px;text-transform:none;letter-spacing:0;font-weight:400}.an-plist{max-height:210px;overflow:auto;border:1px solid var(--grid);border-radius:6px;padding:2px 0}.an-prow{display:flex;align-items:center;gap:6px;padding:1px 6px;white-space:nowrap;cursor:pointer}.an-prow:hover{background:var(--accent-soft)}.an-prow .nm{overflow:hidden;text-overflow:ellipsis}.an-prow .val{margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:11.5px}.an-field{display:flex;align-items:center;gap:6px;color:var(--muted)}.an-field input:not([type=number]),.an-field select{flex:1;min-width:0}.an-row{display:flex;gap:8px}.an-table{border-collapse:collapse;width:100%;margin:4px 0;font-size:12px}.an-table th{text-align:left;color:var(--muted);font-weight:500;padding:2px 4px;border-bottom:1px solid var(--line);white-space:nowrap}.an-table td{padding:2px 4px;border-bottom:1px solid var(--grid)}.an-table td.num{font-family:var(--mono);font-size:11.5px;white-space:nowrap}.an-table input{width:64px;font-family:var(--mono);font-size:11.5px;padding:0 4px}.an-table input.wide{width:120px}.an-table select{font-size:12px;padding:0 2px}.an-table button{padding:0 6px}.an-file{align-self:flex-start}.small{font-size:11.5px;margin:2px 0}.an-need{border:1px solid var(--accent);background:var(--accent-soft);border-radius:6px;padding:6px 10px}.an-need p{margin:2px 0 6px}.an-rhead{display:flex;align-items:center;gap:10px;margin:2px 0 4px;flex-wrap:wrap}.an-rhead label{margin-left:auto;color:var(--muted)}.an-mod{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.an-mod code{font-family:var(--mono);font-size:12px;background:var(--grid);padding:2px 6px;border-radius:4px;word-break:break-all}.an-progress{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.an-progress .track{width:120px;height:5px;border-radius:3px;background:var(--grid);overflow:hidden}.an-progress .fill{height:100%;width:0;background:var(--accent);transition:width .15s}@media (max-width: 1200px){.an-body{grid-template-columns:270px minmax(0,1fr)}}.plot-tools{display:flex;align-items:center;gap:6px;padding:4px 8px;border-bottom:1px solid var(--line);flex-wrap:wrap}.plot-tools label{color:var(--muted);display:flex;gap:4px;align-items:center}.plot-tools #plot-expr{flex:1;min-width:220px;font-family:var(--mono);font-size:12px}#plot-body{flex:1;display:flex;min-height:0;min-width:0}#plot-col{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}#plot-col #plot{flex:1}#sim-diagram{width:34%;min-width:200px;max-width:60%;border-right:1px solid var(--line);position:relative;overflow:hidden;flex:none}#plot-stats{max-height:32%;overflow:auto;border-top:1px solid var(--line);padding:4px 8px;font-size:12px;flex:none}.stats-head{color:var(--muted);margin-bottom:2px}.stats-table{border-collapse:collapse;width:100%}.stats-table th{text-align:left;color:var(--muted);font-weight:600;padding:1px 6px;border-bottom:1px solid var(--line)}.stats-table td{padding:1px 6px;border-bottom:1px solid var(--grid);white-space:nowrap}.stats-table td.v{font-family:var(--mono);text-align:right}.stats-table td.nm{max-width:320px;overflow:hidden;text-overflow:ellipsis}.stats-table .sw{display:inline-block;width:10px;height:3px;margin-right:6px;vertical-align:middle}.live-status{color:var(--ok);font-size:12px;font-family:var(--mono);white-space:nowrap;flex:none}#plot-pane .tabs label{white-space:nowrap;flex:none}#plot-pane .tabs .model-title{flex:none}.var-menu{position:fixed;z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 24px #0000002e;min-width:240px;max-width:420px;max-height:60vh;display:flex;flex-direction:column;font-size:12.5px}.var-menu .vm-title{font-weight:600;padding:6px 10px 0;font-family:var(--mono)}.var-menu .vm-sub{color:var(--muted);padding:0 10px 6px;border-bottom:1px solid var(--line);font-size:11.5px}.var-menu .vm-list{overflow:auto;padding:3px 0}.var-menu .vm-empty{padding:8px 10px}.vm-row{display:flex;align-items:center;gap:6px;padding:2px 10px;cursor:pointer;white-space:nowrap}.vm-row:hover{background:var(--accent-soft)}.vm-name{font-family:var(--mono);overflow:hidden;text-overflow:ellipsis}.vm-unit{margin-left:auto;color:var(--muted)}.vm-tag{font-size:10px;border-radius:4px;padding:0 4px;border:1px solid var(--line);color:var(--muted)}.vm-tag.flow{color:var(--warn);border-color:var(--warn)}.vm-tag.across{color:var(--accent);border-color:var(--accent)}svg.diagram .connection-hit{fill:none;stroke:transparent;stroke-width:9px;vector-effect:non-scaling-stroke;cursor:pointer;pointer-events:stroke}svg.diagram .connection-hit:hover{stroke:#0b5fff40}svg.diagram.editing .connection-hit{pointer-events:none}#plot-strip{display:flex;flex-direction:column;border-top:1px solid var(--line);height:260px;min-height:30px;flex:none}#plot-strip.collapsed{height:auto!important}#plot-strip.collapsed #strip-host,#plot-strip.collapsed #strip-resize{display:none}#strip-resize{height:5px;cursor:ns-resize;margin-top:-3px}#strip-resize:hover{background:var(--accent-soft)}.strip-bar{display:flex;align-items:center;gap:6px;padding:2px 8px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.strip-bar button{font-size:11px;padding:0 8px;text-transform:none;letter-spacing:0;font-weight:400}.strip-bar .strip-note{text-transform:none;letter-spacing:0;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#strip-host{flex:1;min-height:0}#model-pane{display:flex;flex-direction:column}#plot-pane.perf-mode #plot-body,#plot-pane.perf-mode #plot-tools{display:none}#plot-body:has(#dashboard:not(.hidden)) #sim-diagram{width:24%}#dashboard{width:330px;flex:none;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.dash-head,.dash-run{display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--line);flex-wrap:wrap}.dash-title{font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.6px;color:var(--muted);margin-right:auto}.dash-run label{color:var(--muted);display:flex;gap:4px;align-items:center}.dash-status{font-size:11px;width:100%}.dash-body{overflow:auto;flex:1;padding:6px;display:flex;flex-direction:column;gap:6px}.dash-empty{font-size:12px;padding:6px}.dash-card{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--panel);flex:none}.dash-card-head{display:flex;align-items:center;gap:4px;font-size:12px}.dash-name{font-family:var(--mono);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-card-head .icon{margin-left:auto}.dash-row{display:flex;align-items:center;gap:6px;margin-top:4px}.dash-slider{flex:1;min-width:0;accent-color:var(--accent)}input.dash-num{width:86px;font-family:var(--mono);font-size:12px}.dash-lims{font-size:11px}input.dash-lim{width:72px;font-size:11px}.dash-value{font:600 22px/1.3 var(--mono);text-align:right}.dash-gauge{width:100%;height:92px;display:block}.dash-gauge .g-track{fill:none;stroke:var(--grid);stroke-width:9}.dash-gauge .g-fill{fill:none;stroke:var(--accent);stroke-width:9}.dash-gauge .g-val{text-anchor:middle;font:600 13px var(--mono);fill:var(--fg)}.dash-gauge .g-lim{text-anchor:middle;font:8px system-ui,sans-serif;fill:var(--muted)}.dash-plot{width:100%;height:90px;display:block;margin-top:4px}.dash-form{border:1px dashed var(--accent);border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;gap:4px;flex:none}.dash-pick{font-family:var(--mono);font-size:12px}.dash-form-btns{display:flex;gap:6px}
