:root{--bg:#07111c;--panel:#101d2a;--panel2:#142232;--line:#22394a;--line2:#2c465b;--white:#edf5f8;--sub:#8b9eaa;--muted:#677e8c;--amber:#efad59;--cyan:#76d6ed;--green:#8be4bc;--red:#ff8d72;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--white);font-family:var(--font);font-size:12px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}#app{display:flex;flex-direction:column;width:100%;height:100dvh;min-height:530px}.topbar{height:72px;flex:0 0 72px;background:linear-gradient(90deg,#0b1622,#0e1e2d 61%,#101c2a);border-bottom:1px solid #294253;display:flex;align-items:center;gap:25px;padding:0 23px;z-index:4}.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}.brandmark{height:37px;width:37px;border:1px solid #db9b50;color:#efba70;display:grid;place-items:center;font-size:26px;font-weight:900;line-height:1;position:relative}.brandmark span{font-size:11px;position:absolute;right:-5px;bottom:-6px;background:#0e1d2a;padding:2px;color:#91cedb}.eyebrow{color:#9aaebd;font-size:9px;letter-spacing:2px;font-weight:700;line-height:1.4}.microdot{font-size:7px;color:var(--amber);vertical-align:middle}.brand-title{margin-top:4px;font-size:20px;letter-spacing:2.5px;font-weight:850;white-space:nowrap}.brand-title b{font-size:13px;font-weight:600;color:var(--amber);letter-spacing:1px}.topbar-center{margin-right:auto;display:flex;gap:17px;align-items:center;font-weight:650;font-size:10px;letter-spacing:1.4px;color:#b6c8d0}.brand-divider{height:28px;width:1px;background:#2c4354}.dim{color:#728896!important}.cyan{color:var(--cyan);margin-left:10px}.header-right{margin-left:auto;display:flex;align-items:center;gap:11px}.live-chip{border:1px solid #386052;background:#14282b;color:#a2d5c1;padding:9px 11px;font-weight:750;letter-spacing:1.4px;font-size:9px;white-space:nowrap;display:flex;align-items:center;gap:9px}.live-dot{background:#83e1b4;border-radius:50%;height:6px;width:6px;display:inline-block;box-shadow:0 0 12px #75e1ad;animation:pulse 2s ease-in-out infinite;flex:0 0 6px}@keyframes pulse{50%{opacity:.45;box-shadow:none}}.icon-button{background:#172a39;color:#c1d6de;border:1px solid #345267;height:33px;width:33px;border-radius:3px;font-size:18px}.icon-button:hover{color:white;border-color:#81c5df;background:#1d3647}.workspace{height:calc(100% - 180px);min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 351px;flex:1 1 auto;overflow:hidden}.viewport{min-width:0;min-height:0;overflow:hidden;position:relative;background:radial-gradient(ellipse 60% 70% at 45% 55%,#1d3748 0%,#0b1926 75%)}canvas#scene{width:100%;height:100%;display:block;touch-action:none;position:absolute;inset:0;z-index:1;cursor:grab}canvas#scene:active{cursor:grabbing}.viewport-grid{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.055;background-image:linear-gradient(#9dc6d6 1px,transparent 1px),linear-gradient(90deg,#9dc6d6 1px,transparent 1px);background-size:42px 42px}.vignette{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,rgba(4,13,22,.45),transparent 33%,transparent 70%,rgba(4,13,22,.63)),linear-gradient(90deg,rgba(4,13,22,.56),transparent 35%)}.view-top{position:absolute;z-index:3;pointer-events:none;top:27px;left:36px}.view-top h1{font-size:clamp(28px,3vw,48px);line-height:1.04;letter-spacing:1.4px;margin:18px 0 12px;font-weight:850;text-shadow:0 2px 17px #05101a}.view-top h1 em{font-style:normal;color:var(--amber)}.view-top p{color:#a9bdc9;font-size:11px;line-height:1.7;letter-spacing:.3px}.view-bottom-left{position:absolute;z-index:3;bottom:32px;left:33px;font-size:9px;color:#9bb4c2;font-weight:700;letter-spacing:1.2px;pointer-events:none}.corner-icon{font-size:18px;vertical-align:middle;color:var(--amber);margin-right:5px}.sep{color:#577080;margin:0 8px}.machine-scale{position:absolute;right:32px;bottom:35px;z-index:3;color:#e2edf2;font-family:ui-monospace,monospace;font-size:10px;pointer-events:none;text-align:center}.machine-scale .ticks{font-size:19px;white-space:nowrap;letter-spacing:-1px}.machine-scale div{display:flex;justify-content:space-between;color:#a3b9c4;font-size:9px;margin-top:3px}.camera-nav{z-index:3;position:absolute;left:50%;transform:translateX(-50%);bottom:82px;display:flex;align-items:center;gap:2px;border:1px solid #385064;background:rgba(10,24,36,.89);padding:5px;box-shadow:0 15px 30px #07101b55;max-width:95%;overflow:auto}.nav-title{color:var(--amber);font-size:9px;letter-spacing:1.1px;font-weight:800;padding:0 12px}.camera-nav button{border:1px solid transparent;color:#a8bdc7;background:none;font-weight:750;font-size:9px;letter-spacing:.9px;padding:9px 10px;white-space:nowrap}.camera-nav button:hover,.camera-nav button.selected{color:#0a1b27;background:var(--amber)}.orientation{position:absolute;z-index:3;right:30px;top:28px;display:flex;flex-direction:column;align-items:center;color:#7aa4b4;gap:3px}.orientation b{font-size:10px;font-weight:750}.orientation span{font-size:29px;line-height:18px;color:var(--amber)}.part-labels{position:absolute;inset:0;z-index:3;pointer-events:none}.part-labels.hidden{display:none}.callout{display:flex;align-items:center;gap:6px;position:absolute;pointer-events:auto;transform:translate(-50%,-50%);background:#102230d9;box-shadow:0 3px 18px #06121d88;color:#d5edf3;border:1px solid #587080b8;border-radius:2px;font-size:9px;letter-spacing:.6px;font-weight:750;white-space:nowrap;padding:5px 9px 5px 5px;text-shadow:0 1px 2px #040e14}.callout:hover,.callout.active{border-color:var(--amber);background:#203444}.callout-id{color:#061722;background:var(--amber);display:inline-block;font-size:9px;padding:4px 5px}.sidepanel{display:flex;flex-direction:column;min-height:0;background:#0b1723;border-left:1px solid #2b4454;z-index:4}.panel-head{height:91px;flex:0 0 91px;padding:22px 22px 17px;border-bottom:1px solid #263b4b;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(130deg,#101d2b,#142232)}.panel-head h2{font-size:21px;letter-spacing:2.5px;margin:6px 0 0;font-weight:850}.head-symbol{color:#9fc3d3;border:1px solid #385364;padding:8px;font-size:20px}.panel-scroll{padding:18px 22px;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3e596b transparent}.unit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px;font-size:9px;letter-spacing:1px;color:#d0dfe3;font-weight:760}.indicator{background:var(--cyan);height:6px;width:6px;border-radius:50%;display:inline-block;margin-right:5px;box-shadow:0 0 10px var(--cyan)}.panel-tag{font-size:8px;color:#f0be75;border:1px solid #7f654b;padding:6px;letter-spacing:.9px}.parameter{display:block;margin-bottom:21px}.parameter-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:12px;font-size:11px;color:#c4d4dd}.parameter-top output{font-weight:800;color:var(--amber);font-size:11px;font-family:ui-monospace,monospace;white-space:nowrap}input[type=range]{-webkit-appearance:none;appearance:none;background:linear-gradient(to right,var(--amber) 0%,var(--amber) var(--fill,50%),#304453 var(--fill,50%),#304453 100%);height:3px;display:block;width:100%;border-radius:0;cursor:pointer;outline:none;margin:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#ffe5be;border:2px solid var(--amber);width:11px;height:11px;transform:rotate(45deg);box-shadow:0 0 8px #d3a56266}input[type=range]::-moz-range-thumb{background:var(--amber);border:1px solid #ffdfac;border-radius:0;width:10px;height:10px}.parameter-extents{display:flex;justify-content:space-between;color:#6a8190;font-size:8px;letter-spacing:1px;margin-top:10px}.section-header{border-top:1px solid #2a4050;padding-top:18px;margin:18px 0 18px;display:flex;justify-content:space-between;font-weight:800;letter-spacing:1.4px;font-size:10px}.section-header span:last-child{font-family:ui-monospace,monospace;font-size:9px;color:#7a8d99}.toggles{display:grid;gap:14px}.toggle-line{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#c0d0d9}.toggle-line input{position:absolute;opacity:0}.toggle-line i{display:inline-block;width:34px;height:18px;border:1px solid #465c6a;border-radius:15px;position:relative;transition:.2s;background:#243745;cursor:pointer}.toggle-line i:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;background:#9aaab4;border-radius:50%;transition:.2s}.toggle-line input:checked+i{border-color:var(--amber);background:#58442c}.toggle-line input:checked+i:after{background:var(--amber);transform:translateX(15px)}.toggle-line input:focus-visible+i{outline:2px solid var(--cyan)}.search-wrap{border:1px solid #2c4354;background:#101e2c;color:#7795a7;display:flex;align-items:center;gap:9px;padding:9px 10px}.search-wrap span{font-size:19px}.search-wrap input{min-width:0;width:100%;border:0;background:none;color:#e1eef3;outline:none;font-size:11px}.search-wrap input::placeholder{color:#7d96a5}.parts-list{display:grid;margin-top:9px}.part{background:transparent;border:0;border-bottom:1px solid #253b48;color:#e0eaed;text-align:left;padding:10px 2px;display:flex;align-items:center;gap:10px;width:100%}.part:hover,.part.active{background:#1d3140;color:white}.part-icon{border:1px solid #355367;color:var(--amber);height:29px;width:29px;display:grid;place-items:center;flex-shrink:0;font-size:16px}.part-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.part-body b{font-size:10px;letter-spacing:.3px;font-weight:750}.part-body small{color:#7f9bab;font-size:9px;letter-spacing:.4px}.part-caret{font-size:14px;color:#789eaf;padding:0 4px}.facts{padding-bottom:14px}.facts div{display:flex;justify-content:space-between;margin-bottom:12px;gap:7px;letter-spacing:.6px;font-size:9px;color:#829ba8}.facts b{color:#d6e3e9;font-size:9px;text-align:right}.panel-actions{background:#0e1a27;border-top:1px solid #304352;padding:12px 20px;display:flex;gap:8px;flex:0 0 auto}.primary-button,.secondary-button{border:1px solid #e6a655;background:#e5a557;color:#101924;font-size:11px;font-weight:850;letter-spacing:1.25px;height:42px}.primary-button{flex:1;display:flex;justify-content:center;align-items:center;gap:12px}.primary-button:hover{background:#f9bd72}.secondary-button{width:46px;border-color:#456071;background:#1a2d3b;color:#d1dfe8;font-size:20px}.secondary-button:hover{background:#2b4253}.telemetry{height:108px;flex:0 0 108px;background:#101d2a;border-top:1px solid #31495b;z-index:5;padding:12px 22px 12px}.tele-head{font-size:9px;letter-spacing:1.6px;font-weight:850;margin-bottom:13px;display:flex;align-items:center;gap:8px;color:#d5e5e9}.tele-items{display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) 170px;height:61px}.tele-item{min-width:0;padding:0 16px;border-right:1px solid #2a4050}.tele-item:first-child{padding-left:0}.tele-item small{color:#91a5b2;font-size:8px;letter-spacing:1px;font-weight:700;white-space:nowrap;display:block}.tele-item strong{display:block;margin-top:8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;font-size:24px;line-height:1;letter-spacing:-1px}.tele-item strong em{font-style:normal;font-size:9px;letter-spacing:.4px;color:var(--amber);margin-left:5px}.tele-bar{display:block;height:2px;background:#324754;margin-top:10px;width:90%}.tele-bar i{display:block;height:2px;width:30%;background:var(--amber);transition:width .2s}.tele-state{padding:1px 0 0 20px;display:flex;align-items:flex-start;flex-direction:column;justify-content:flex-start;gap:5px}.tele-state span,.tele-state small{font-size:8px;letter-spacing:1px;color:#8da7b6}.tele-state b{font-size:13px;letter-spacing:2px;color:var(--green)}.tele-state b[data-status=ALERT]{color:var(--red)}.tele-state b[data-status=TUNING]{color:var(--amber)}.toast{position:fixed;z-index:20;bottom:123px;left:50%;transform:translate(-50%,14px);background:#152b39eb;border:1px solid #7399a7;color:#e7f2f7;box-shadow:0 16px 50px #020912aa;font-size:11px;line-height:1.6;letter-spacing:.2px;padding:12px 18px;max-width:min(560px,85vw);opacity:0;pointer-events:none;transition:transform .22s,opacity .22s}.toast.visible{opacity:1;transform:translate(-50%,0)}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0c1b27;z-index:10;transition:opacity .6s}.loading.out{opacity:0;pointer-events:none}.loading-gear{color:var(--amber);font-size:43px;animation:spin 6s linear infinite}.loading-title{font-size:11px;font-weight:800;letter-spacing:2px;margin:22px 0 12px}.loading-line{width:185px;height:3px;background:#2b4353}.loading-line span{display:block;width:100%;height:100%;background:var(--amber);animation:grow .7s}.loading-sub{font-size:9px;letter-spacing:1px;color:#7e9baa;margin-top:12px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes grow{from{width:0}to{width:100%}}.render-error{position:absolute;z-index:11;inset:0;background:#071622;padding:70px 45px}.render-error h2{color:var(--amber)}
@media(max-width:1270px){.workspace{grid-template-columns:minmax(0,1fr) 310px}.sidepanel .panel-scroll{padding:16px}.topbar-center{display:none}.tele-items{grid-template-columns:repeat(6,minmax(0,1fr)) 145px}.tele-item{padding:0 9px}.tele-item strong{font-size:20px}.machine-scale,.view-bottom-left{display:none}.callout{font-size:8px}.camera-nav button{padding:8px}.view-top{left:23px}}
@media(max-width:900px){#app{min-height:0}.topbar{height:61px;flex-basis:61px;padding:0 12px}.brandmark{width:31px;height:31px;font-size:19px}.brand-title{font-size:15px}.brand-title b{font-size:10px}.eyebrow{font-size:7px;letter-spacing:1.1px}.live-chip{font-size:8px;padding:7px}.workspace{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.viewport{flex:0 0 55vh;min-height:320px}.sidepanel{flex:1 0 360px;border-left:none;border-top:1px solid #304c5c}.panel-head{height:68px;flex-basis:68px}.panel-scroll{overflow:visible}.form-controls{display:grid;grid-template-columns:1fr 1fr;column-gap:23px}.sidepanel .section-header{margin-top:8px}.part-labels{display:none}.telemetry{height:auto;flex-basis:auto;padding:12px}.tele-items{grid-template-columns:repeat(3,1fr);height:auto;row-gap:15px}.tele-state{display:none}.tele-item:nth-child(3){border-right:0}.tele-item strong{font-size:18px}.camera-nav{bottom:18px}.view-top h1{font-size:29px}.view-top p{font-size:10px}}
@media(max-width:600px){.header-right{gap:5px}.icon-button{width:29px;height:29px}.live-chip{display:none}.brand-title b{display:block;margin-top:2px}.brand-title{font-size:14px;line-height:1.1}.viewport{flex-basis:44vh;min-height:270px}.view-top{top:17px;left:17px}.view-top h1{font-size:25px;margin:10px 0 7px}.view-top p{font-size:9px}.orientation{right:15px;top:15px}.camera-nav{left:12px;right:12px;transform:none;bottom:12px}.nav-title{padding:0 7px}.camera-nav button{padding:7px 8px;font-size:8px}.form-controls{grid-template-columns:1fr}.sidepanel .panel-scroll{padding:16px}.tele-item{padding:0 8px}.tele-item strong{font-size:18px}.tele-head .dim{display:none}}
