:root{--bg:#0b0e13;--panel:#10141b;--panel-2:#141923;--hairline:#232b38;--hairline-2:#2d3848;--ink:#c7d3e4;--ink-dim:#7c8aa0;--ink-faint:#4d5a6e;--accent:#ffc66b;--accent-dim:#8a6a35;--hot:#ff6a3d;--cold:#3fc6e0;--air:#46b380;--water:#5290e8;--mono:"IBM Plex Mono", ui-monospace, monospace;--sans:"IBM Plex Sans Condensed", sans-serif}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font:13px/1.45 var(--sans);flex-direction:column;height:100vh;margin:0;display:flex;overflow:hidden}#topbar{border-bottom:1px solid var(--hairline);background:linear-gradient(#131923,#0e1219);flex:none;align-items:center;gap:18px;height:46px;padding:0 16px;display:flex}#wordmark{font:700 17px/1 var(--sans);letter-spacing:.14em;color:#e8eef8;-webkit-user-select:none;user-select:none;white-space:nowrap}#wordmark em{color:var(--accent);font-style:normal}#wordmark small{font:500 9px/1 var(--mono);letter-spacing:.08em;color:var(--ink-faint);margin-top:3px;display:block}.chip{font:500 11px/1 var(--mono);color:var(--ink-dim);border:1px solid var(--hairline-2);background:var(--panel-2);white-space:nowrap;border-radius:3px;padding:5px 8px}.chip b{color:var(--ink);font-weight:600}#spacer{flex:1}#metric{border:1px solid var(--hairline-2);border-radius:4px;display:flex;overflow:hidden}#metric button{appearance:none;background:var(--panel-2);color:var(--ink-dim);font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:0;padding:8px 14px;transition:background .15s,color .15s}#metric button+button{border-left:1px solid var(--hairline-2)}#metric button.on{color:#fff;background:#1d2736}#metric button.on[data-metric=system]{color:var(--accent)}#metric button.on[data-metric=temperature]{color:var(--hot)}#metric button.on[data-metric=massFlow]{color:var(--cold)}#legend{align-items:center;gap:14px;display:flex}.legendItem{font:400 10px/1 var(--mono);color:var(--ink-dim);align-items:center;gap:6px;display:flex}.legendBar{border-radius:2px;width:84px;height:6px}#legendTempBar{background:linear-gradient(90deg,#2747c9,#2fa3c9,#3fae62,#c9b53a,#e0492f)}#legendFlowBar{background:linear-gradient(90deg,#16303c,#1d6a83,#2aa7c4,#59e0f2)}.scaleIn{background:var(--panel-2);width:42px;color:var(--ink);border:1px solid var(--hairline-2);font:500 10px var(--mono);text-align:right;border-radius:3px;padding:3px 4px}.scaleIn:focus{border-color:var(--accent-dim);outline:none}select{appearance:none;background:var(--panel-2);color:var(--ink);border:1px solid var(--hairline-2);font:500 11px var(--mono);cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--ink-dim) 50%), linear-gradient(135deg, var(--ink-dim) 50%, transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 6px) 55%;background-repeat:no-repeat;background-size:4px 4px;border-radius:3px;padding:5px 18px 5px 8px}select:hover,button:hover{border-color:#3d4c63}#workspace{flex:1;min-height:0;display:flex}#panes{flex-direction:column;flex:1;min-width:0;display:flex}#panesRow{flex:1;min-height:0;display:flex;position:relative}.pane{background:var(--panel);flex-direction:column;min-width:0;display:flex;position:relative}.pane+.pane{border-left:1px solid var(--hairline)}#graphPane{flex:1.35}#zonePane{flex:1}.paneHead{border-bottom:1px solid var(--hairline);background:#ffffff04;flex:none;align-items:center;gap:10px;height:32px;padding:0 10px;display:flex}.paneHead .paneTitle{font:600 10px/1 var(--mono);letter-spacing:.18em;color:var(--ink-faint)}.paneHead .tools{gap:6px;margin-left:auto;display:flex}.toolBtn{appearance:none;color:var(--ink-dim);border:1px solid var(--hairline-2);font:500 10px var(--mono);cursor:pointer;background:0 0;border-radius:3px;padding:4px 9px;transition:color .15s,border-color .15s}.toolBtn:hover{color:var(--ink)}#cy{flex:1;min-height:0}#zone3d{flex:1;min-height:0;position:relative;overflow:hidden}#zone3d canvas{width:100%;height:100%;display:block}#zone3dEmpty,#graphEmpty{color:var(--ink-faint);font:400 12px var(--mono);text-align:center;pointer-events:none;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:32px 0 0}.splitter{cursor:col-resize;z-index:6;background:0 0;flex:none;width:5px;transition:background .15s}.hsplitter{cursor:row-resize;z-index:6;background:0 0;flex:none;height:5px;transition:background .15s}.splitter:hover,.splitter.dragging,.hsplitter:hover,.hsplitter.dragging{background:var(--accent-dim)}.pane.closed{min-width:30px;overflow:hidden;flex:0 0 30px!important}.pane.closed>:not(.paneHead){display:none!important}.pane.closed .paneHead{border-bottom:0;flex-direction:column;gap:8px;height:100%;padding:10px 0}.pane.closed .paneTitle{writing-mode:vertical-rl;letter-spacing:.22em}.pane.closed .tools{flex-direction:column;margin-top:auto;margin-left:0}.pane.closed .tools>:not(.paneToggle){display:none}#inspector.closed{min-width:30px;overflow:hidden;width:30px!important}#inspector.closed #inspectorBody{display:none}#inspector.closed #inspectorHead{border-bottom:0;flex-direction:column;gap:8px;height:100%;padding:10px 0}#inspector.closed #inspectorHead .paneTitle{writing-mode:vertical-rl;letter-spacing:.22em}#inspector.closed #inspectorHead .tools{margin-top:auto;margin-left:0}#systems{border-right:1px solid var(--hairline);background:var(--panel-2);flex-direction:column;flex:none;width:248px;display:flex}#systemsBody{flex:1;padding:10px 10px 20px;overflow-y:auto}#systemsBody::-webkit-scrollbar{width:8px}#systemsBody::-webkit-scrollbar-thumb{background:var(--hairline-2);border-radius:4px}#systems.closed{min-width:30px;overflow:hidden;width:30px!important}#systems.closed #systemsBody{display:none}#systems.closed #systemsHead{border-bottom:0;flex-direction:column;gap:8px;height:100%;padding:10px 0}#systems.closed #systemsHead .paneTitle{writing-mode:vertical-rl;letter-spacing:.22em}#systems.closed #systemsHead .tools{margin-top:auto;margin-left:0}.sysLegend{font:400 9px/1.4 var(--mono);color:var(--ink-faint);margin:2px 2px 10px}.sysSection{margin-bottom:12px}.sysHead{border-bottom:1px solid var(--hairline);align-items:center;gap:6px;margin-bottom:4px;padding:3px 2px;display:flex}.sysCaret{appearance:none;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;width:16px;padding:0 2px;font-size:10px}.sysTitle{font:600 9px/1 var(--mono);letter-spacing:.14em;color:var(--ink-dim);flex:1}.sysCount{font:400 9px/1 var(--mono);color:var(--ink-faint)}.sysRow{cursor:default;border-radius:3px;align-items:center;gap:6px;padding:3px 2px 3px 20px;display:flex}.sysRow:hover{background:#ffffff0a}.sysRow.selected{background:#ffc66b1f}.sysLabel{font:400 10px/1.3 var(--mono);color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sysLabel:hover{color:var(--accent)}#systems input[type=checkbox]{accent-color:var(--accent);cursor:pointer;margin:0}#inspector{border-left:1px solid var(--hairline);background:var(--panel-2);flex-direction:column;flex:none;width:318px;display:flex}#inspectorBody{flex:1;padding:16px 16px 24px;overflow-y:auto}#inspectorBody::-webkit-scrollbar{width:8px}#inspectorBody::-webkit-scrollbar-thumb{background:var(--hairline-2);border-radius:4px}#inspector h2{font:600 15px/1.25 var(--sans);color:#eef3fb;word-break:break-word;margin:0 0 4px}#inspector .kindChip{font:600 9px/1 var(--mono);letter-spacing:.16em;color:var(--accent);border:1px solid var(--accent-dim);border-radius:3px;margin:4px 0 14px;padding:4px 7px;display:inline-block}#inspector h3{font:600 9px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--hairline);margin:18px 0 6px;padding-bottom:5px}#inspector table{border-collapse:collapse;width:100%;font:400 11px/1.5 var(--mono)}#inspector td{vertical-align:top;word-break:break-word;color:var(--ink);padding:3px 8px 3px 0}#inspector td:first-child{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;max-width:130px;overflow:hidden}#inspector .conn{border:1px solid var(--hairline);font:400 11px/1.5 var(--mono);word-break:break-word;background:#ffffff05;border-radius:4px;margin-bottom:5px;padding:6px 8px}#inspector .conn .ct{color:var(--accent);font-weight:600}#inspector .conn .obj{color:var(--ink-dim)}#inspector .empty{color:var(--ink-faint);font-style:italic}#inspector .hintList{color:var(--ink-dim);font:400 11px/1.9 var(--mono);margin:8px 0;padding-left:16px}.suspicious{color:var(--hot);font-weight:600}#transport{border-top:1px solid var(--hairline);background:linear-gradient(#0e1218,#11161f);flex:none;align-items:center;gap:16px;height:64px;padding:0 16px;display:flex;position:relative}#playBtn{appearance:none;border:1px solid var(--hairline-2);background:var(--panel-2);width:38px;height:38px;color:var(--accent);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;transition:border-color .15s,box-shadow .15s;display:flex}#playBtn:hover{border-color:var(--accent-dim);box-shadow:0 0 12px #ffc66b2e}#readout{font:600 13px/1.3 var(--mono);color:#eef3fb;white-space:nowrap;flex:none;width:158px}#readout small{color:var(--ink-dim);font-size:10px;font-weight:400;display:block}#scrubWrap{position:absolute;top:17px;left:230px;right:130px}#playSpeed{margin-left:auto}#timeSlider{appearance:none;background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--progress,0%), var(--track,#2a3445) var(--progress,0%));cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px;display:block}#timeSlider::-webkit-slider-thumb{appearance:none;background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 1px var(--accent-dim), 0 0 10px #ffc66b59;border:2px solid #0b0e13;border-radius:50%}#timeSlider::-moz-range-thumb{background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 1px var(--accent-dim), 0 0 10px #ffc66b59;border:2px solid #0b0e13;border-radius:50%}#monthRuler{height:14px;margin-top:4px;position:relative}#monthRuler span{font:400 9px/1 var(--mono);letter-spacing:.1em;color:var(--ink-faint);border-left:1px solid var(--hairline-2);height:12px;padding-left:4px;position:absolute;transform:translate(1px)}#transport select{flex:none}#dropToast{border:1px solid var(--accent-dim);color:var(--ink);font:500 12px var(--mono);opacity:0;pointer-events:none;z-index:30;background:#1a2230;border-radius:6px;padding:10px 18px;transition:opacity .2s,transform .2s;position:fixed;bottom:84px;left:50%;transform:translate(-50%)translateY(8px)}#dropToast.show{opacity:1;transform:translate(-50%)translateY(0)}#loadStatus{font:400 10px/1.5 var(--mono);color:var(--ink-faint);white-space:nowrap}body.light{--bg:#eef1f5;--panel:#f7f9fb;--panel-2:#fff;--hairline:#d8dee6;--hairline-2:#c2ccd9;--ink:#2a3442;--ink-dim:#5d6b7e;--ink-faint:#97a3b4;--accent:#d97c00;--accent-dim:#e8b35e;--hot:#c2410c;--cold:#0e7490;--track:#d4dbe5}body.light #topbar{background:linear-gradient(#fff,#f1f4f8)}body.light #transport{background:linear-gradient(#fafbfd,#eef1f5)}body.light #wordmark,body.light #readout{color:#1f2937}body.light #metric button.on{color:#1f2937;background:#e9eef5}body.light #inspector h2{color:#1f2937}body.light #inspector .conn{background:#fff}body.light .sysRow:hover{background:#0000000a}body.light .sysRow.selected{background:#d97c001a}#chartPane{border-top:1px solid var(--hairline);flex:none;height:170px;min-height:0}#miniChartTitle{font:600 9px/1.3 var(--mono);letter-spacing:.1em;color:var(--ink-dim);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#chartBody{flex-direction:column;flex:1;min-height:0;padding:6px 12px;display:flex;position:relative}#miniChartCanvas{flex:1;width:100%;min-height:0;display:block}#miniLegend{flex-wrap:wrap;gap:4px 10px;margin-top:4px;display:flex}#miniLegend span{font:400 9px/1.4 var(--mono);color:var(--ink-dim);white-space:nowrap}#miniLegend i{vertical-align:-1px;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}#chartEmpty{color:var(--ink-faint);font:400 11px var(--mono);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#chartBody{cursor:crosshair}#chartTip{z-index:12;pointer-events:none;background:var(--panel-2);border:1px solid var(--hairline-2);font:400 10px/1.5 var(--mono);color:var(--ink);white-space:nowrap;border-radius:5px;padding:6px 8px;position:absolute;box-shadow:0 4px 14px #0006}#chartTip[hidden]{display:none}#chartTip .tipDate{color:var(--ink-dim);letter-spacing:.04em;margin-bottom:3px;font-weight:600}#chartTip .tipRow{align-items:center;gap:6px;display:flex}#chartTip .tipRow i{border-radius:2px;flex:none;width:8px;height:8px}#chartTip .tipRow b{color:var(--ink);margin-left:auto;padding-left:8px;font-weight:600}body.light #chartTip{box-shadow:0 4px 14px #2832462e}.headSlider{font:500 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:6px;display:flex}.headSlider input[type=range]{appearance:none;background:var(--track,#2a3445);cursor:pointer;border-radius:2px;outline:none;width:72px;height:3px}.headSlider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--panel);border-radius:50%;width:11px;height:11px}.headSlider input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--panel);border-radius:50%;width:9px;height:9px}#chartPane.closed{min-height:30px;flex:0 0 30px!important}#chartPane.closed .paneHead{border-bottom:0;flex-direction:row;gap:10px;height:30px;padding:0 10px}#chartPane.closed .paneTitle{writing-mode:initial;letter-spacing:.18em}#chartPane.closed .tools{flex-direction:row;margin-top:0;margin-left:auto}#settingsWrap{position:relative}#settingsBtn{appearance:none;background:var(--panel-2);color:var(--ink-dim);border:1px solid var(--hairline-2);cursor:pointer;border-radius:4px;padding:6px 10px;font-size:14px;line-height:1}#settingsBtn:hover{color:var(--ink)}#settingsPanel{z-index:40;background:var(--panel-2);border:1px solid var(--hairline-2);border-radius:6px;flex-direction:column;gap:12px;min-width:230px;padding:12px 14px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 26px #00000073}#settingsPanel[hidden]{display:none}body.light #settingsPanel{box-shadow:0 8px 26px #28324633}.setRow{justify-content:space-between;align-items:center;gap:14px;display:flex}.setRow>label{font:600 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.seg2{border:1px solid var(--hairline-2);border-radius:4px;display:flex;overflow:hidden}.seg2 button{appearance:none;background:var(--panel-2);color:var(--ink-dim);font:600 11px/1 var(--sans);letter-spacing:.08em;cursor:pointer;border:0;padding:7px 12px}.seg2 button+button{border-left:1px solid var(--hairline-2)}.seg2 button.on{color:#fff;background:#1d2736}body.light .seg2 button.on{color:#1f2937;background:#e9eef5}#ctxMenu{z-index:50;background:var(--panel-2);border:1px solid var(--hairline-2);border-radius:6px;min-width:180px;max-width:320px;padding:4px;display:none;position:fixed;box-shadow:0 8px 26px #00000073}#ctxMenu.show{display:block}body.light #ctxMenu{box-shadow:0 8px 26px #28324633}.ctxHead{font:600 9px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;padding:6px 10px 3px;overflow:hidden}.ctxItem{font:500 11px/1.3 var(--mono);color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:7px 10px;overflow:hidden}.ctxItem:hover{color:var(--accent);background:#ffc66b1f}.ctxSep{background:var(--hairline);height:1px;margin:4px 2px}#systems input.sysVis,#systems input.sysAllVis,#systems input.sysAllVisG{accent-color:var(--water)}.sysRow.off .sysLabel,.sysRow.off .sysCount{opacity:.4}.sysMaster{border-bottom:1px solid var(--hairline-2);margin-bottom:10px}.sysCaretPad{flex:none;width:16px}
