:root{--bg:#06111d;--panel:rgba(5,19,31,.89);--panel2:rgba(12,31,43,.94);--line:rgba(98,179,195,.25);--cyan:#7de4ea;--cyanD:#46acbc;--amber:#d9a771;--txt:#edf6f5;--muted:#819ca9;--red:#f17785;font-family:Inter,'Segoe UI',Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html,body{width:100%;height:100%;padding:0;margin:0;background:var(--bg);color:var(--txt);overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}#app,#viewport{height:100%;width:100%;position:absolute;inset:0}#viewport canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab}#viewport canvas:active{cursor:grabbing}.screen-grain{pointer-events:none;position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 50% 48%,transparent 31%,rgba(1,5,13,.42) 100%),repeating-linear-gradient(0deg,rgba(178,220,239,.012) 0,rgba(178,220,239,.012) 1px,transparent 1px,transparent 4px)}
#topbar{height:77px;position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:30px;justify-content:space-between;padding:0 32px;z-index:5;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(3,15,25,.97),rgba(4,18,31,.85));backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:13px;min-width:337px}.brandmark{width:41px;height:41px;border:1px solid var(--cyan);color:var(--cyan);display:grid;place-items:center;font-size:27px;font-weight:900;letter-spacing:-4px;transform:skew(-8deg)}.brandmark span{font-size:10px;align-self:start;letter-spacing:0;position:absolute;right:2px;top:4px}.brand strong{display:block;font-size:15px;letter-spacing:.14em}.brand strong em{color:var(--amber);font-style:normal}.brand small{display:block;color:#92cbd1;font-size:9px;letter-spacing:.16em;margin-top:6px}.top-state{display:flex;align-items:center;gap:11px;color:#97bec5;letter-spacing:.12em;font-size:10px;font-weight:700}.live-dot{width:7px;height:7px;border-radius:50%;background:#5fe3c3;box-shadow:0 0 13px #68edcf;animation:blink 2s infinite}.top-spacer{color:#49616c;margin:0 10px}.top-state .alarm{color:var(--red)}.top-tools{display:flex;align-items:center;gap:18px}.tiny-btn{color:#d6e8e9;border:1px solid rgba(133,201,212,.25);background:transparent;padding:10px 13px;letter-spacing:.15em;font-size:10px}.tiny-btn:hover{border-color:var(--cyan)}.brand-url{color:var(--cyan);text-decoration:none;letter-spacing:.16em;font-size:11px;font-weight:800}
.panel{background:linear-gradient(110deg,rgba(5,20,33,.97),rgba(6,24,37,.91));border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.23);backdrop-filter:blur(18px);position:absolute;z-index:3;top:97px;bottom:121px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#246073 transparent}.panel::-webkit-scrollbar{width:4px}.panel::-webkit-scrollbar-thumb{background:#275869}#operations{left:24px;width:342px;padding:21px 23px 25px}#inspection{right:24px;width:315px;padding:21px 22px 21px}.panel-identifier{display:flex;align-items:center;justify-content:space-between;color:var(--cyan);font-weight:800;letter-spacing:.18em;font-size:10px}.serial{color:#607c87;font-weight:500}.line-hash{color:var(--amber);font-size:15px}h1{font-size:37px;letter-spacing:-.075em;line-height:1.02;margin:28px 0 14px;font-weight:800}h1 i{font-size:28px;color:var(--cyan);font-style:normal;letter-spacing:-.06em}.lede{color:#8baab6;font-size:12px;line-height:1.7;margin:0 0 25px}.caption-label{font-size:10px;color:#dae7e9;font-weight:800;letter-spacing:.13em;border-top:1px solid var(--line);padding:16px 0 12px;display:flex;justify-content:space-between;gap:5px}.caption-label span{color:#4f7c88;font-size:8px;font-weight:600;white-space:nowrap}.telemetry{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-bottom:23px}.telemetry>div{padding:15px 11px;min-height:71px;border-bottom:1px solid var(--line)}.telemetry>div:nth-child(odd){border-right:1px solid var(--line)}.telemetry>div:nth-child(3),.telemetry>div:nth-child(4){border-bottom:0}.telemetry small{display:block;color:#7d99a3;font-size:9px;letter-spacing:.13em}.telemetry b{font-weight:600;letter-spacing:-.06em;font-size:25px;margin-top:7px;display:block;color:#e5f6f7;font-variant-numeric:tabular-nums}.control-title{padding-bottom:22px}.sliders{display:flex;flex-direction:column;gap:20px}.sliders label>span{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#bcd3d9;font-size:9px;letter-spacing:.08em;font-weight:700}.sliders label b{font-size:11px;color:var(--cyan);font-variant-numeric:tabular-nums}.sliders input{width:100%;display:block;height:19px;margin:9px 0 0;appearance:none;background:transparent;cursor:pointer}.sliders input::-webkit-slider-runnable-track{height:3px;background:linear-gradient(90deg,#63d9e7,#194456);border-radius:3px}.sliders input::-webkit-slider-thumb{appearance:none;width:10px;height:19px;border:2px solid #c6fbff;background:#0b2432;margin-top:-8px;box-shadow:0 0 0 3px rgba(69,183,194,.2)}.sliders input::-moz-range-track{height:3px;background:#4c9cac}.sliders input::-moz-range-thumb{height:15px;width:8px;background:#9af1f0;border:2px solid #fff}.dual-buttons{display:flex;gap:8px;margin-top:27px}.dual-buttons button,.emergency,.sim-controls button{font-size:10px;letter-spacing:.11em;color:#c4e3e5;font-weight:800;background:#0d2d3c;border:1px solid #2a596a;padding:13px 8px;transition:background .15s,color .15s,border-color .15s}.dual-buttons button{flex:1}.dual-buttons button:hover,.dual-buttons button.active,.sim-controls button:hover,.sim-controls button.active{background:#174857;color:#aaf6f3;border-color:#5bbfc7}.emergency{width:100%;margin-top:9px;color:#dbad93;background:rgba(88,42,45,.22);border-color:#8d504f}.emergency.danger{color:#f8dddf;background:rgba(174,55,60,.52);border-color:#f48080;animation:blink 1.1s infinite}
.orbit-preview{display:flex;align-items:center;gap:19px;padding:20px 0 12px}.orbit-glyph{width:74px;height:74px;display:grid;place-items:center;font-size:70px;color:var(--cyan);text-shadow:0 0 24px #3baaba;line-height:1;border:1px solid rgba(89,204,219,.17);background:radial-gradient(circle at center,rgba(63,177,186,.22),transparent 70%)}.orbit-preview small{color:var(--muted);font-size:9px;letter-spacing:.1em}.orbit-preview h2{font-size:17px;letter-spacing:.1em;margin:8px 0 0;color:var(--amber)}#inspection h3{font-size:19px;line-height:1.3;letter-spacing:-.03em;font-weight:600;margin:13px 0}#inspectBody{color:#90aeba;font-size:12px;line-height:1.7;margin:0 0 14px}.inspection-specs{border-left:2px solid #3e8491;list-style:none;padding:1px 0 2px 13px;margin:14px 0 24px}.inspection-specs li{font-size:11px;line-height:1.7;color:#a9c4ca}.inspect-list{display:flex;flex-direction:column;gap:5px;margin-bottom:24px}.inspect-list button{display:flex;align-items:center;text-align:left;gap:10px;width:100%;border:1px solid rgba(58,107,124,.33);background:rgba(21,44,60,.34);padding:11px 10px;color:#b4cfd4;font-weight:700;letter-spacing:.11em;font-size:10px}.inspect-list button:hover,.inspect-list button.selected{background:rgba(29,106,124,.34);border-color:#4293a3;color:#c9faf7}.inspect-list button span{color:var(--cyan);font-family:monospace;font-size:11px}.inspect-list button i{margin-left:auto;color:#6895a4;font-style:normal}.quality-area{border-top:1px solid var(--line);padding-top:15px}.quality-area label{display:block;color:#9dbecc;font-size:9px;letter-spacing:.14em;margin-bottom:12px}.quality-area select{width:100%;background:#0d2d3c;color:#e0f3f4;border:1px solid #2a596a;padding:11px;font-size:11px;letter-spacing:.12em;outline:none}
#viewnav{position:absolute;z-index:3;top:100px;left:50%;transform:translateX(-50%);display:flex;gap:0;align-items:center;background:rgba(3,18,29,.81);backdrop-filter:blur(15px);border:1px solid var(--line);height:40px;white-space:nowrap}#viewnav>span{font-size:9px;letter-spacing:.15em;color:#688995;padding:0 16px;border-right:1px solid var(--line)}#viewnav button{height:100%;border:0;border-right:1px solid var(--line);background:transparent;color:var(--cyan);font-size:9px;letter-spacing:.13em;padding:0 13px}#viewnav button:last-child{border-right:0}#viewnav button b{color:#c8e7e9;font-weight:500;margin-left:5px}#viewnav button:hover{background:#194554}
#lowerbar{position:absolute;z-index:4;bottom:0;left:0;right:0;height:100px;padding:13px 25px 0;background:linear-gradient(0deg,rgba(4,18,30,.98),rgba(4,18,30,.84));border-top:1px solid var(--line);backdrop-filter:blur(15px)}.lower-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.sim-controls{display:flex;gap:8px}.sim-controls button{padding:13px 18px}.perf{display:flex;gap:24px;color:#769ca9;font-size:10px;letter-spacing:.1em}.perf b{font-size:12px;color:#c7eff0;display:inline-block;margin-left:4px;font-variant-numeric:tabular-nums}.micro-hint{color:#638493;font-size:9px;letter-spacing:.13em;margin:15px 0 0;text-align:center}#flightHint{z-index:6;position:absolute;top:155px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.1em;padding:12px 18px;background:rgba(7,43,55,.95);border:1px solid #55afc0;color:#d4f4f5}#flightHint[hidden]{display:none}#toast{z-index:12;pointer-events:none;opacity:0;position:absolute;bottom:130px;left:50%;transform:translate(-50%,9px);background:rgba(11,47,64,.97);border:1px solid #439cac;color:#a9e9ec;font-size:11px;font-weight:800;letter-spacing:.13em;padding:12px 23px;transition:all .22s;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}
#loader{position:absolute;z-index:50;inset:0;background:radial-gradient(ellipse at 50%,#123448,#030a13);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;transition:opacity 1.1s ease}#loader.loaded{opacity:0;pointer-events:none}.loading-mark{font-size:95px;line-height:1;color:#82e7ec;font-weight:900;letter-spacing:-15px;position:relative;text-shadow:0 0 40px #297b89}.loading-mark span{font-size:26px;position:absolute;right:-18px;top:4px;letter-spacing:0;color:#d9af75}.loader-title{font-size:22px;font-weight:800;letter-spacing:.26em;margin:28px 0 19px}.loader-rule{width:240px;height:2px;background:linear-gradient(90deg,transparent,#8cece8,transparent);box-shadow:0 0 22px #50d9e6;animation:breathe 1.4s infinite}.loader-rule+p{color:#7c9aa8;font-size:11px;letter-spacing:.22em;margin-top:19px}.load-error{padding:28px;text-align:left;color:#f3c0c4;max-width:650px}.load-error p{line-height:1.6}
dialog{max-width:550px;width:92vw;background:#071c2a;border:1px solid #4493a2;color:#c4dfe5;padding:28px 30px;box-shadow:0 25px 130px #000}dialog::backdrop{background:rgba(0,6,14,.78)}.about-head{display:flex;justify-content:space-between;align-items:flex-start}.about-head small{color:var(--cyan);letter-spacing:.16em;font-size:10px}.about-head h2{margin:11px 0 20px;letter-spacing:.09em}.about-head button{background:transparent;border:1px solid #397381;color:#d3eef0;font-size:15px;padding:5px 10px}dialog p{font-size:13px;line-height:1.75;color:#91b3bf}.dialog-sign{font-size:10px;color:var(--amber);letter-spacing:.13em;margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}
@keyframes breathe{50%{opacity:.35;transform:scaleX(.83)}}@keyframes blink{50%{opacity:.55}}
@media(max-width:1390px){#operations{width:300px;padding:18px}#inspection{width:280px;padding:18px}h1{font-size:32px}h1 i{font-size:25px}#viewnav{top:82px}#viewnav>span{display:none}#viewnav button{padding:0 9px}.panel{top:132px}}
@media(max-width:1060px){#inspection{display:none}#operations{width:300px}.top-state{display:none}#viewnav{top:92px;left:auto;right:20px;transform:none}.micro-hint{letter-spacing:0}.perf{gap:10px}}
@media(max-width:720px){#topbar{height:58px;padding:0 12px}.brand{min-width:0;gap:8px}.brandmark{width:30px;height:30px;font-size:21px}.brand small{font-size:7px}.brand strong{font-size:11px}.top-tools{display:none}.panel{top:71px;bottom:89px}#operations{left:8px;width:min(290px,calc(100vw - 16px));padding:12px 14px;background:rgba(5,21,33,.85)}h1{font-size:24px;margin:12px 0 5px}h1 i{font-size:19px}.lede{font-size:10px;margin-bottom:12px}.telemetry>div{padding:7px;min-height:48px}.telemetry b{font-size:16px;margin-top:2px}.telemetry small{font-size:8px}.telemetry{margin-bottom:11px}.caption-label{padding:10px 0 8px}.sliders{gap:9px}.sliders label>span{font-size:8px}.sliders input{margin-top:3px}.dual-buttons{margin-top:13px}.dual-buttons button,.emergency{font-size:8px;padding:8px}#viewnav{position:absolute;top:63px;right:8px;left:8px;height:29px;justify-content:flex-end;background:transparent;border:0;pointer-events:none}#viewnav button{font-size:8px;padding:0 7px;border:1px solid var(--line);background:rgba(6,22,34,.8);pointer-events:auto}#viewnav button b{display:none}#lowerbar{height:80px;padding:8px}.lower-row{display:block}.sim-controls button{padding:8px;font-size:9px}.perf{margin-top:7px;gap:14px;font-size:8px}.perf b{font-size:9px}.micro-hint{font-size:7px;margin-top:8px;white-space:nowrap;overflow:hidden}.loader-title{font-size:15px;letter-spacing:.1em}.loader-rule+p{font-size:8px;letter-spacing:.1em}}
