:root{color-scheme:dark;--bg:#08121e;--panel:#0c1825;--panel2:#102332;--line:#1e3442;--line2:#244353;--ink:#e8f3f6;--muted:#8099a7;--muted2:#567383;--teal:#42e4d9;--amber:#f0b56b;--code:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-size:12px;letter-spacing:.01em}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.app-shell{min-height:100vh;display:flex;flex-direction:column;max-width:2000px;margin:auto}.topbar{height:77px;flex-shrink:0;background:#0b1825;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:25px}.brand{display:flex;gap:13px;align-items:center;min-width:292px}.logo-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid #28616b;border-radius:10px;color:var(--teal);background:radial-gradient(circle,#194451 0,#0b1d2a 80%)}.logo-mark svg{width:34px}.brand b{font-size:17px;letter-spacing:.14em;font-weight:800}.brand b span{color:var(--teal)}.brand small{display:block;color:var(--muted);letter-spacing:.19em;font-size:9px;margin-top:4px}.top-center,.top-actions,.chip,.eyebrow,.section-index,.tiny,.block-heading,.cap-right,.label-row label,.limits,.keyhint b,.scene-status,.scene-identity strong,.scene-identity small,.hud-caption,.hud-data span,.bottom-heading small,.subtle-note,.data-heading,.motor-label,.motor-values small,.large-stat label,.micro-note,.tile label,.tile span,.science-note b,.footnote{font-family:var(--code);letter-spacing:.075em}.top-center{font-size:10px;color:var(--muted);white-space:nowrap}.live-dot,.led,.view-dot{display:inline-block;background:var(--teal);width:7px;height:7px;border-radius:50%;box-shadow:0 0 13px #3bdbc8aa;vertical-align:middle;margin-right:8px}.pipe{opacity:.3;padding:0 11px}.top-actions{display:flex;align-items:center;gap:10px}.chip{font-size:10px;color:#79a6b2;border:1px solid var(--line2);padding:9px;border-radius:5px;margin-right:5px}.btn{border-radius:6px;padding:10px 16px;font-size:11px;font-weight:700;letter-spacing:.03em;border:1px solid var(--line2)}.btn.subtle{background:#122a39;color:#c6dbe3}.btn.bright{background:var(--teal);color:#06292e;border-color:var(--teal)}.workspace{flex:1;display:grid;grid-template-columns:minmax(270px,302px) minmax(460px,1fr) minmax(260px,301px);min-height:calc(100vh - 109px)}.panel{background:#0c1825;border-right:1px solid var(--line)}.data-panel{border-left:1px solid var(--line);border-right:0}.panel-title{height:95px;border-bottom:1px solid var(--line);padding:25px 23px 18px;display:flex;justify-content:space-between;align-items:center}.eyebrow{display:block;color:var(--teal);font-size:9px;letter-spacing:.16em}.panel-title h2{font-size:20px;margin:8px 0 0;font-weight:670;letter-spacing:-.035em}.section-index{font-size:10px;color:#618994}.panel-content{padding:22px 22px 25px}.label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.label-row label{font-size:10px;color:#a3c0cb}.tiny,.cap-right{font-size:9px;color:var(--muted2)}select{appearance:none;background:linear-gradient(45deg,transparent 50%,var(--teal) 50%) calc(100% - 19px) 51%/6px 6px no-repeat,linear-gradient(135deg,var(--teal) 50%,transparent 50%) calc(100% - 13px) 51%/6px 6px no-repeat,#132938;border:1px solid #2b5261;border-radius:5px;display:block;width:100%;color:#d8eaf0;padding:12px 29px 12px 12px;margin-top:11px;font-size:11px}.divider{height:1px;background:var(--line);margin:22px 0}.block-heading{font-size:10px;font-weight:700;color:#d8edf0;display:flex;align-items:center;gap:10px;margin:18px 0 23px}.block-heading>span:first-child{display:grid;place-items:center;width:25px;height:23px;background:#163a46;border:1px solid #285c65;color:var(--teal);border-radius:4px;font-size:9px}.cap-right{margin-left:auto}.slider-group{margin:0 0 22px}.slider-group .label-row output{color:var(--teal);font:11px var(--code)}input[type=range]{appearance:none;width:100%;height:4px;border-radius:5px;background:linear-gradient(to right,#226a74,var(--teal));margin:17px 0 11px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:var(--teal);border:3px solid #123641;box-shadow:0 0 0 1px #40b2b9;border-radius:50%}input[type=range]::-moz-range-thumb{height:9px;width:9px;border:2px solid #123641;background:var(--teal);border-radius:50%}.limits{display:flex;justify-content:space-between;font-size:9px;color:var(--muted2)}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.preset{height:64px;display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center;background:#102535;border:1px solid #254152;color:#8aa6b4;border-radius:6px;font-size:10px;white-space:nowrap}.preset span{font-size:17px}.preset.active{background:#173d46;color:var(--teal);border-color:#39918c}.keyhint{margin-top:24px;border:1px solid var(--line2);border-radius:7px;background:#0d2634;padding:14px}.keyhint b{font-size:9px;color:#b1d4db}.keyhint p{margin:10px 0 0;color:#81a1ac;font-size:10px;line-height:20px}.keyhint p span{padding:0 5px;color:#527382}kbd{display:inline-block;padding:2px 5px;background:#192f40;border:1px solid #345365;border-radius:3px;color:#c5e9e8;font:9px var(--code);margin-right:4px}.scene-panel{background:#081521;min-width:0;display:flex;flex-direction:column}.scene-topbar{height:65px;background:#0a1928;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:10px}.scene-identity{display:flex;gap:10px;align-items:center}.scene-identity strong{display:block;font-size:10px;letter-spacing:.13em}.scene-identity small{display:block;margin-top:6px;font-size:9px;color:#668997;letter-spacing:.1em}.scene-status{font-size:9px;color:#789ba9;display:flex;align-items:center;gap:10px}.status-pill{border:1px solid #2b766e;background:#103a3c;color:#76f9d3;padding:7px 9px;border-radius:4px}.status-pill.limited{border-color:#ab7b3c;background:#463520;color:#ffca81}.viewport-wrap{position:relative;height:clamp(375px,56vh,760px);overflow:hidden;background:radial-gradient(ellipse at 55% 45%,#173448 0,#091625 68%)}#glcanvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#glcanvas:active{cursor:grabbing}#error{position:absolute;top:25%;left:15%;width:70%;z-index:10;background:#462a31;border:1px solid #bc6969;border-radius:8px;padding:25px;font-size:14px;color:#ffe7e7}.viewport-overlay{pointer-events:none;position:absolute}.top-left{top:25px;left:25px}.hud-caption{font-size:10px;color:#aed2db}.hud-caption span{color:var(--teal);padding-left:8px}.hud-data{display:flex;gap:21px;margin-top:15px}.hud-data>div{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;min-width:69px}.hud-data span{flex-basis:100%;color:#5f8797;font-size:9px}.hud-data b{font:22px var(--code);font-weight:400;letter-spacing:-.065em;color:#e4f6f8}.hud-data small{font:10px var(--code);color:#8eb9c7}.right-middle{right:27px;top:25px}.compass{height:67px;width:67px;border:1px solid #2b5362;border-radius:50%;display:grid;place-items:center;position:relative;color:#7bb4c3;background:#10253788}.compass span{position:absolute;top:4px;font:9px var(--code);color:var(--teal)}.compass small{position:absolute;bottom:-17px;font:8px var(--code);letter-spacing:.1em;color:#668897}.needle{width:2px;height:30px;background:linear-gradient(var(--teal) 50%,#30505b 50%);position:absolute;top:19px;left:32px;transform-origin:center}.bottom-left{bottom:22px;left:25px;color:#a5c5d0;font:10px var(--code);letter-spacing:.05em}.hud-sep{margin:0 9px;color:#477080}.bottom-right{bottom:19px;right:22px;pointer-events:auto}.view-buttons{display:flex;background:#10293a;border:1px solid #315263;padding:3px;gap:3px;border-radius:6px}.view-buttons button{border:0;background:none;padding:7px 10px;color:#789cab;font:10px var(--code)}.view-buttons button.selected{background:#26636a;color:#e1fffb;border-radius:4px}.scene-footer{height:51px;background:#0b1a29;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 22px}.toggle{font-size:10px;color:#97b7c4;display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle-track{display:inline-block;width:23px;height:13px;background:#263c47;border:1px solid #48626b;border-radius:9px;position:relative}.toggle-track:before{content:"";position:absolute;top:2px;left:2px;width:7px;height:7px;background:#7797a4;border-radius:50%;transition:transform .15s}.toggle input:checked+.toggle-track{background:#1e6967;border-color:#55bdb4}.toggle input:checked+.toggle-track:before{background:#80fff0;transform:translateX(10px)}.scene-fps{margin-left:auto;font:10px var(--code);color:#7095a2}.bottom-dash{flex:1;min-height:259px;padding:20px 24px 16px;background:#0a1825}.bottom-heading{display:flex;justify-content:space-between;align-items:center}.bottom-heading small{color:var(--teal);font-size:9px;letter-spacing:.12em}.bottom-heading h3{font-size:16px;letter-spacing:-.02em;font-weight:650;margin:6px 0 11px}.subtle-note{color:var(--muted2);font-size:9px}.plot-area{height:164px;width:100%;background:#0c1b2b;border:1px solid #183343;border-radius:4px}#pathplot{width:100%;height:100%;display:block}.plot-legend{display:flex;gap:23px;margin-top:11px;color:#7997a5;font-size:10px}.plot-legend span:last-child{margin-left:auto;font-family:var(--code)}.legend-dot{background:var(--teal);width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.legend-square{display:inline-block;width:7px;height:7px;background:var(--amber);margin-right:5px}.large-stat{margin-top:3px}.large-stat label{color:#7e9fac;font-size:10px}.stat-figure{display:flex;align-items:baseline;gap:9px;margin-top:7px}.stat-figure b{font:45px var(--code);font-weight:400;letter-spacing:-.075em;color:#eaffff}.stat-figure span{font:12px var(--code);color:var(--teal)}.micro-note{font-size:9px;color:#7fa7ad;margin-top:6px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:19px}.tile{border:1px solid #214251;background:#112634;border-radius:6px;padding:12px}.tile label{display:block;font-size:9px;color:#7b9eac}.tile strong{display:block;font:22px var(--code);font-weight:400;margin-top:10px;color:#eaf6f8}.tile span{font-size:9px;color:#76a0ae}.data-heading{color:#c0dae1;font-size:10px;font-weight:700;display:flex;justify-content:space-between;margin-bottom:18px}.data-heading span{color:#668a97;font-size:9px}.motor-grid{display:grid;gap:18px}.motor-label{display:flex;gap:8px;align-items:center;font-size:9px;color:#9ab6c1}.motor-bullet{font-size:9px;color:var(--teal);border:1px solid #386f74;border-radius:3px;padding:3px 4px;background:#143b44}.motor-values{display:flex;align-items:baseline;justify-content:space-between;margin:7px 0}.motor-values b{font:17px var(--code);font-weight:400}.motor-values small{font-size:9px;color:#648d9d}.motor-track{height:5px;background:#1d3543;border-radius:4px;position:relative;overflow:hidden}.motor-track:after{content:"";position:absolute;left:50%;top:0;height:100%;width:1px;background:#65828a}.motor-track div{position:absolute;height:100%;width:0;left:50%;background:var(--teal);border-radius:4px;transition:width .05s,left .05s}.gauge-copy{display:flex;justify-content:space-between;align-items:center;color:#92aeba;font-size:11px}.gauge-copy b{font:20px var(--code);color:var(--amber)}.meter{height:6px;background:#263742;border-radius:5px;overflow:hidden;margin:13px 0}.meter-fill{height:100%;background:linear-gradient(to right,var(--teal),var(--amber));width:0}.data-small{font-size:10px;color:#668d9b;line-height:1.6}.detail-row{display:flex;justify-content:space-between;border-bottom:1px solid #1c3543;padding:11px 0;font-size:11px}.detail-row span{color:#7798a7}.detail-row b{font:11px var(--code);font-weight:500;color:#d6e8eb}.science-note{background:#102d39;border:1px solid #245466;border-radius:6px;margin-top:23px;padding:14px}.science-note b{color:var(--teal);font-size:10px}.science-note p{color:#89adba;font-size:11px;line-height:1.6;margin:8px 0 0}.footnote{height:32px;flex-shrink:0;border-top:1px solid #1b3242;background:#08131e;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 25px;font-size:9px;color:#4f7687}.footnote .pipe{padding:0 4px}@media(max-width:1320px){.workspace{grid-template-columns:265px minmax(430px,1fr) 265px}.panel-content{padding:18px 15px}.panel-title{padding:20px 15px}.top-center{display:none}.scene-footer{gap:11px;padding:0 12px}.toggle{font-size:9px}.hud-data{gap:9px}.scene-topbar{padding:0 14px}}@media(max-width:1010px){.workspace{grid-template-columns:265px minmax(0,1fr)}.data-panel{grid-column:1/-1;display:block}.data-panel .panel-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.data-panel .divider{display:none}.data-panel .large-stat,.data-panel .tiles,.data-panel .motor-grid,.data-panel .science-note{margin-top:0}.data-heading{margin:10px 0}.footnote{font-size:8px}}@media(max-width:690px){.topbar{height:67px;padding:0 12px}.brand{min-width:0}.brand b{font-size:11px;letter-spacing:.055em;white-space:nowrap}.brand small{font-size:7px;letter-spacing:.06em}.logo-mark{width:34px;height:34px}.logo-mark svg{width:28px}.chip{display:none}.top-actions{gap:6px}.btn{padding:7px;font-size:10px}.workspace{display:flex;flex-direction:column}.controls-panel{order:2}.scene-panel{order:1}.data-panel{order:3}.panel-title{height:70px}.panel-content{padding:20px}.controls-panel .panel-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}.controls-panel .panel-content>.divider{grid-column:1/-1;margin:4px 0}.controls-panel .panel-content>.block-heading,.controls-panel .panel-content>.keyhint,.controls-panel .panel-content>.preset-grid{grid-column:1/-1}.controls-panel .panel-content>select{grid-column:1/-1}.panel-content>.label-row{grid-column:1/-1}.data-panel .panel-content{display:block}.scene-topbar{height:55px}.scene-status>span:last-child{display:none}.viewport-wrap{height:425px}.scene-footer{flex-wrap:wrap;height:auto;min-height:54px;padding:12px}.hud-data b{font-size:16px}.bottom-left{display:none}.bottom-right{bottom:15px;left:10px;right:auto}.top-left{left:10px;top:15px}.right-middle{right:10px;top:14px}.scene-status{gap:3px}.footnote{height:auto;min-height:32px;padding:9px;gap:6px}.footnote span:last-child{display:none}}
