:root{color:#162125;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;--panel:#f8faf8;--panel-strong:#fff;--line:#cdd8d7;--ink-soft:#52656b;--accent:#0f6b7f;--accent-strong:#0b5362;--danger:#b43b2f;--warning:#c07b28;--ok:#287c52;background:#eef2f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.application-shell{flex-direction:column;height:100vh;min-height:0;display:flex;overflow:hidden}.workspace-nav{z-index:5;color:#f3f7f6;background:#122328;border-bottom:1px solid #b9c8c8;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:8px 16px;display:flex;position:relative}.workspace-brand{gap:2px;display:grid}.workspace-brand strong{font-size:.96rem}.workspace-brand span{color:#a9bdc0;font-size:.72rem}.workspace-tabs{border:1px solid #40585d;border-radius:6px;display:flex;overflow:hidden}.workspace-tabs button{color:#cfdbdd;background:#1b3137;border:0;border-right:1px solid #40585d;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 14px;font-size:.8rem;display:inline-flex}.workspace-tabs button:last-child{border-right:0}.workspace-tabs button.selected{color:#122328;background:#e9f1ef}.workspace-pane{flex:1;min-height:0;display:flex;overflow:hidden}.workspace-pane-hidden{display:none}.workspace-pane>.app-shell,.workspace-pane>.orbit-shell{flex:1}button,input,select{font:inherit}button{cursor:pointer}.app-shell,.orbit-shell{flex:1;grid-template-columns:minmax(280px,360px) minmax(480px,1fr) minmax(280px,360px);min-height:0;display:grid;overflow:hidden}.control-panel,.telemetry-panel{z-index:2;background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex;position:relative;overflow-y:auto}.telemetry-panel{border-right:0;border-left:1px solid var(--line)}.scene-panel{z-index:1;min-width:0;min-height:0;position:relative;overflow:hidden}.scene-host{width:100%;height:100%}.scene-host canvas{display:block}.orbit-scene-host{background:#071114}.scene-toolbar{z-index:3;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#f8faf8e0;border:1px solid #7d959985;border-radius:6px;flex-wrap:wrap;gap:8px;max-width:calc(100% - 28px);padding:8px;display:flex;position:absolute;top:14px;left:14px}.toolbar-group{border:1px solid var(--line);background:#fff;border-radius:6px;display:flex;overflow:hidden}.toolbar-group button,.scene-toolbar .solo{border:0;border-right:1px solid var(--line);color:#263a3f;background:#fff;min-width:58px;min-height:32px;font-size:.78rem}.toolbar-icon-button{border:1px solid var(--line);color:#263a3f;background:#fff;border-radius:6px;place-items:center;width:36px;height:34px;display:inline-grid}.toolbar-readout{border:1px solid var(--line);color:#263a3f;background:#fff;border-radius:6px;align-items:center;min-height:32px;padding:0 9px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;display:inline-flex}.illumination-badge{color:#263a3f;letter-spacing:.04em;text-transform:uppercase;background:#fff;border:1px solid #9ab0b4;border-radius:6px;align-items:center;min-height:32px;padding:0 10px;font-size:.75rem;font-weight:700;display:inline-flex}.illumination-badge.sunlight{color:#614913;background:#fff6ce;border-color:#d5a83e}.illumination-badge.penumbra{color:#4f4035;background:#e9dfd2;border-color:#8c7a6a}.illumination-badge.umbra{color:#f1f7f5;background:#24343a;border-color:#64757a}.power-profile-plot{width:100%;height:96px;margin-top:8px;display:block}.power-profile-plot rect{fill:#f7faf9;stroke:var(--line)}.power-profile-plot polyline{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.power-generation-line{stroke:#0b7890}.power-load-line{stroke:#c8842d;stroke-dasharray:5 4}.power-soc-line{stroke:#278b57;opacity:.82}.scene-vector-legend{z-index:3;color:#e8f0ef;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#071114cc;border:1px solid #7d959973;border-radius:6px;gap:6px;max-width:min(330px,100% - 28px);padding:9px 11px;font-size:.74rem;display:grid;position:absolute;bottom:14px;left:14px}.legend-item{align-items:center;gap:7px;display:flex}.legend-item i{border-radius:999px;width:16px;height:3px}.scene-vector-legend small{color:#aebfc1;white-space:normal}.toolbar-group button:last-child{border-right:0}.scene-toolbar .solo{border:1px solid var(--line);border-radius:6px}.toolbar-group button.selected,.scene-toolbar button.selected{background:var(--accent);color:#fff}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;display:flex}.app-header h1{letter-spacing:0;margin:0;font-size:1.15rem;line-height:1.2}.app-header p{color:var(--ink-soft);margin:4px 0 0;font-size:.83rem}.run-controls{gap:8px;display:flex}.icon-button{border:1px solid var(--line);background:var(--panel-strong);color:#142427;border-radius:6px;place-items:center;width:38px;height:38px;display:inline-grid}.icon-button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.panel-section{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:14px 0;display:flex}.section-title{letter-spacing:0;text-transform:uppercase;color:#33484d;align-items:center;gap:8px;margin:0 0 2px;font-size:.78rem;line-height:1;display:flex}.field,.switch-row{color:#263a3f;grid-template-columns:minmax(86px,.78fr) minmax(0,1fr);align-items:center;gap:10px;min-width:0;font-size:.86rem;display:grid}.field>span,.switch-row>span{min-width:0;color:var(--ink-soft)}select,input[type=number],input[type=datetime-local]{border:1px solid var(--line);color:#142427;background:#fff;border-radius:6px;width:100%;min-width:0;height:32px;padding:0 8px}.panel-note{color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.45}.fidelity-notice{background:#fff9ee;border:1px solid #d7bd91;border-radius:6px;gap:5px;padding:10px;display:grid}.fidelity-notice strong{color:#754b15;font-size:.82rem}.fidelity-notice span{color:#66543b;font-size:.74rem;line-height:1.4}.number-field>div,.vector-field>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.vector-field>div{grid-template-columns:repeat(3,minmax(0,1fr)) auto}small{color:var(--ink-soft);white-space:nowrap;font-size:.72rem}.segmented{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--line);color:#34474c;background:#fff;min-height:34px;font-size:.78rem}.segmented button:last-child{border-right:0}.segmented button.selected{background:var(--accent);color:#fff}.wheel-failure-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.failure-button,.wide-button{border:1px solid var(--line);color:#23373c;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:34px;font-size:.82rem;display:inline-flex}.failure-button.failed{color:#fff;background:var(--danger);border-color:var(--danger)}.wide-button{width:100%}.wide-button:disabled{cursor:wait;opacity:.65}.switch-row input{width:20px;height:20px;accent-color:var(--accent);justify-self:end}.status-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:6px;gap:2px;min-width:0;padding:10px;display:grid}.metric span,.vector-metric span{color:var(--ink-soft);text-transform:uppercase;font-size:.72rem}.metric strong{overflow-wrap:anywhere;min-width:0;font-size:.95rem;line-height:1.15}.environment-time{border:1px solid var(--line);background:#fff;border-radius:6px;gap:4px;padding:10px;display:grid}.environment-time span{color:var(--ink-soft);text-transform:uppercase;font-size:.72rem}.environment-time code{color:#263a3f;overflow-wrap:anywhere;font-size:.76rem}.authority{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:10px;display:flex}.authority.healthy{border-color:#a8c8b9}.authority.limited{border-color:#d7b0a9}.authority span{color:var(--ink-soft);text-align:right;font-size:.82rem}.comparison{grid-template-columns:1fr 1fr;gap:8px;display:grid}.comparison>div{border:1px solid var(--line);background:#fff;border-radius:6px;gap:4px;padding:10px;display:grid}.comparison span{color:var(--ink-soft);font-size:.78rem}.comparison strong{font-size:.88rem}.control-loop-diagram{border:1px solid var(--line);background:#fff;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;font-size:.72rem;display:flex}.control-loop-diagram span,.control-loop-diagram b,.control-loop-diagram i{border-radius:4px;padding:4px 6px;font-style:normal}.control-loop-diagram span{background:#e8f1f2}.control-loop-diagram b{background:#fff1dc}.control-loop-diagram i{color:var(--ink-soft)}.control-law{color:#e8f4f3;background:#102429;border-radius:6px;padding:9px;font-size:.72rem;display:block}.tuning-comparison{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tuning-comparison>div{border:1px solid var(--line);background:#fff;border-radius:6px;gap:3px;padding:9px;display:grid}.tuning-comparison strong{font-size:.8rem}.tuning-comparison span{color:var(--ink-soft);font-size:.7rem}.axis-authority-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.axis-authority-metric{border:1px solid var(--line);background:#fff;border-radius:6px;gap:2px;min-width:0;padding:10px;display:grid}.axis-authority-metric span{color:#8a581d;font-size:.75rem;font-weight:700}.axis-authority-metric strong{font-size:.95rem;line-height:1.15}.wheel-list{flex-direction:column;gap:8px;display:flex}.rcs-command-list{flex-direction:column;gap:6px;display:flex}.rcs-direction-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.rcs-direction-grid button{border:1px solid var(--line);color:#263a3f;background:#fff;border-radius:6px;min-height:30px;font-size:.76rem}.rcs-direction-grid button.selected{border-color:var(--accent);background:var(--accent);color:#fff}.rcs-cluster-tabs{flex-wrap:wrap;gap:6px;display:flex}.rcs-cluster-tabs button,.rcs-cluster-actions button{border:1px solid var(--line);color:#263a3f;background:#fff;border-radius:6px;min-height:30px;font-size:.76rem}.rcs-cluster-tabs button{min-width:42px}.rcs-cluster-tabs button.selected{border-color:var(--accent);background:var(--accent);color:#fff}.rcs-cluster-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.rcs-cluster-actions button:disabled{color:#9aa7a9;cursor:not-allowed}.rcs-placement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.rcs-placement-grid>div{border:1px solid var(--line);background:#fff;border-radius:6px;gap:2px;min-width:0;padding:8px;display:grid}.rcs-placement-grid>div.healthy{border-color:#a8c8b9}.rcs-placement-grid>div.limited{border-color:#d7b0a9}.rcs-placement-grid span{color:var(--ink-soft);font-size:.72rem}.rcs-placement-grid strong{overflow-wrap:anywhere;font-size:.82rem}.rcs-command-row{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:54px minmax(0,1fr) 84px;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.rcs-command-row strong{font-size:.82rem}.rcs-command-row span{color:var(--ink-soft);text-align:right;overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.7rem}.wheel-row{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:72px minmax(0,1fr) 88px;align-items:center;gap:8px;min-width:0;padding:9px;display:grid}.wheel-row>div:first-child{gap:2px;display:grid}.wheel-row span{color:var(--ink-soft);font-size:.72rem}.wheel-row.failed strong,.wheel-row.failed span{color:var(--danger)}.speed-bar{background:#e2e8e7;border-radius:999px;min-width:0;height:8px;overflow:hidden}.speed-bar i{background:var(--accent);border-radius:999px;min-width:2px;height:100%;display:block}.wheel-row.failed .speed-bar i{background:var(--danger)}code{color:#183034;overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem}.vector-metric{border-bottom:1px solid #e4ebea;grid-template-columns:64px minmax(0,1fr) auto;align-items:baseline;gap:8px;min-width:0;padding:8px 0;display:grid}.vector-metric:last-child{border-bottom:0}@media (width<=1120px){.app-shell,.orbit-shell{grid-template-columns:minmax(260px,330px) minmax(420px,1fr)}.telemetry-panel{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));max-height:42vh;display:grid}}@media (width<=760px){.application-shell{height:auto;min-height:100vh;overflow:visible}.workspace-pane{overflow:visible}.workspace-nav{flex-direction:column;align-items:stretch;gap:8px}.workspace-tabs{grid-template-columns:1fr 1fr;display:grid}.app-shell,.orbit-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.control-panel,.telemetry-panel{border:0;overflow:visible}.scene-panel{order:-1;height:58vh;min-height:420px}.telemetry-panel{max-height:none;display:flex}}
