:root{--bg:#04101a;--pane:rgba(5,22,34,.88);--edge:rgba(95,166,193,.2);--txt:#d9eaf0;--dim:#7e9baa;--cyan:#58e3f5;--amber:#f3b968;--font:'Inter','Segoe UI',Arial,sans-serif;--mono:'IBM Plex Mono','Consolas',monospace;}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--txt);font-family:var(--font)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
#scene{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}#scene:active{cursor:grabbing}
.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 27%,rgba(1,6,17,.53) 100%)}
.topbar{position:absolute;z-index:20;top:0;left:0;right:0;height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 28px 0 25px;background:linear-gradient(180deg,rgba(3,13,23,.96),rgba(3,13,23,.66) 84%,transparent);border-bottom:1px solid rgba(101,194,219,.13)}
.brand{display:flex;align-items:center;gap:13px}.brand-symbol{width:48px;height:48px;border:1px solid rgba(75,226,244,.65);display:grid;place-items:center;font-size:27px;color:var(--cyan);background:linear-gradient(135deg,rgba(52,197,238,.14),rgba(11,27,46,.1));clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%)}.brand-name{font-size:22px;letter-spacing:3.5px;font-weight:750;white-space:nowrap}.brand-name span{font-weight:300;color:var(--cyan)}.brand-sub{font-family:var(--mono);font-size:9px;letter-spacing:1.9px;color:#91aeba;margin-top:4px}.brand-sub em{font-style:normal;color:var(--cyan)}.header-status{display:flex;align-items:center;gap:9px;color:#91b7c3;font-size:10px;font-family:var(--mono);letter-spacing:1.7px}.live-indicator{height:7px;width:7px;background:#58ffc3;border-radius:50%;box-shadow:0 0 11px #58ffc3;animation:pulse 2s infinite}.status-sep{color:#53778a;margin:0 2px}.header-actions{display:flex;gap:8px}.icon-button{width:37px;height:37px;background:rgba(22,48,63,.65);border:1px solid var(--edge);border-radius:4px;color:#c8f3fc;font-family:var(--mono);font-size:17px}
.panel{position:absolute;z-index:12;top:94px;bottom:83px;border:1px solid rgba(88,178,197,.17);background:linear-gradient(145deg,rgba(6,25,38,.94),rgba(5,18,29,.82));backdrop-filter:blur(14px);box-shadow:0 16px 60px rgba(0,0,0,.28);overflow:auto;scrollbar-color:#275163 transparent;scrollbar-width:thin}.sidebar{left:18px;width:300px;padding:21px 19px}.controls{right:18px;width:299px;padding:19px}.eyebrow{color:#68d9e9;font:10px var(--mono);letter-spacing:1.65px;display:flex;gap:9px;align-items:center}.tiny-square{display:inline-block;width:6px;height:6px;background:var(--cyan);box-shadow:0 0 9px #36b8d9}.sidebar h2{font-size:25px;line-height:1.14;margin:23px 0 12px;font-weight:650;letter-spacing:-.6px}.sidebar h2 em{font-style:normal;color:var(--cyan)}.sidebar-description{font-size:12px;line-height:1.6;color:#8daab6;margin:0 0 22px}.search-wrap{border:1px solid rgba(105,194,210,.25);background:rgba(10,39,54,.63);height:37px;display:flex;align-items:center;gap:10px;padding:0 11px}.search-wrap span{font-size:21px;color:#79b4cc}.search-wrap input{border:0;outline:0;background:transparent;color:#e4f6fa;min-width:0;width:100%;font-size:11px}.search-wrap input::placeholder{color:#658392}.node-list{margin-top:14px}.location{display:flex;gap:11px;align-items:center;text-align:left;width:100%;padding:12px 6px 12px 8px;color:#d0e3e9;background:transparent;border:0;border-bottom:1px solid rgba(93,153,174,.1);transition:background .18s}.location:hover,.location.active{background:rgba(47,168,201,.12)}.location-symbol{width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(86,188,209,.31);font-size:17px;color:#83e5ee;flex:none}.location>span:nth-child(2){font-size:12px;flex:1}.location small{display:block;margin-top:4px;color:#6f9bad;font:9px var(--mono);letter-spacing:1.2px}.chev{font-size:15px;color:#4da8c3}.sidebar-foot{border-top:1px solid rgba(84,171,191,.27);display:flex;flex-direction:column;gap:5px;padding-top:14px;margin-top:15px}.sidebar-foot>span{color:#6e9aab;letter-spacing:1.1px;font:9px var(--mono)}.sidebar-foot strong{font-size:25px;font-weight:600;letter-spacing:1px;color:#e4fbff}.sidebar-foot small{font:10px var(--mono);color:var(--cyan)}
.energy-top{display:flex;align-items:center;gap:12px;margin:20px 0 9px}.energy-top div{display:flex;flex-direction:column;gap:5px}.energy-top span{font:9px var(--mono);letter-spacing:1px;color:#82b6c5}.energy-top strong{font:700 25px var(--mono);letter-spacing:-1.5px;color:#e6ffff}.energy-top small{font:8px var(--mono);letter-spacing:.55px;color:#5fe9c7}#telemetry-graph{display:block;width:100%;height:66px;margin:0 0 14px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(88,171,191,.16);border:1px solid rgba(88,171,191,.15)}.stats-grid div{background:#0b2431;padding:10px}.stats-grid span{display:block;font:8px var(--mono);color:#80b0c1;letter-spacing:1px}.stats-grid b{display:block;margin-top:6px;font:600 14px var(--mono);color:#d1eef4}.control-section{font:9px var(--mono);color:#5fcee0;letter-spacing:1.5px;margin:20px 0 13px;border-bottom:1px solid rgba(83,173,187,.23);padding-bottom:9px}.range-row{margin:0 0 11px}.range-row label{display:flex;justify-content:space-between;color:#adc7d1;font-size:11px}.range-row strong{color:#81e7f3;font:11px var(--mono)}input[type=range]{appearance:none;-webkit-appearance:none;background:linear-gradient(90deg,#134457,#185264);height:3px;width:100%;outline:0;margin:10px 0 4px}input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border:2px solid #91f2ff;background:#0a2939;transform:rotate(45deg);box-shadow:0 0 8px #28b6d0}input[type=range]::-moz-range-thumb{height:10px;width:10px;border:1px solid #91f2ff;background:#0a2939;box-shadow:0 0 8px #28b6d0}.switch-bar{display:flex;gap:6px;margin-top:12px}.switch-bar button{flex:1;border:1px solid rgba(59,171,196,.27);background:#0b2734;color:#afe0e9;font:9px var(--mono);letter-spacing:1px;padding:9px}.switch-bar button span{color:#60ffce}.switch-bar button.off{opacity:.5}.foot-heading{margin:21px 0 15px}.speed{margin:0}
.bottom-bar{position:absolute;z-index:18;bottom:0;left:0;right:0;min-height:67px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 24px;background:linear-gradient(0deg,rgba(5,20,32,.98),rgba(5,20,32,.85));border-top:1px solid rgba(89,184,199,.2)}.bottom-actions{display:flex;gap:7px;flex-wrap:wrap}.bottom-actions button,.small-cta{border:1px solid rgba(69,202,222,.35);background:rgba(11,54,70,.8);color:#b7edf9;padding:11px 12px;font:10px var(--mono);letter-spacing:1.1px;transition:background .2s}.bottom-actions button:hover,.small-cta:hover{background:rgba(34,129,158,.38)}.bottom-actions button:first-child{background:rgba(46,146,173,.24);border-color:#4cbed4;color:#e2fcff}.bottom-stats{display:flex;gap:16px;font:9px var(--mono);letter-spacing:.8px;color:#6b9aac;white-space:nowrap}.bottom-stats b{color:#abdce8;font-weight:500}
.inspection{position:absolute;z-index:22;bottom:95px;left:50%;transform:translateX(-50%);width:min(480px,calc(100vw - 24px));padding:17px 20px 20px;background:rgba(5,26,41,.96);border:1px solid #40aec7;box-shadow:0 0 60px rgba(0,0,0,.6);backdrop-filter:blur(17px)}.inspection-head{display:flex;justify-content:space-between;align-items:center;color:var(--cyan);font:10px var(--mono);letter-spacing:1.4px}.inspection-head button{font-size:23px;border:0;color:#c2eaf1;background:none}.inspection h3{margin:10px 0;font-size:21px}.inspection p{font-size:13px;line-height:1.6;color:#a4bfca}.inspect-coords{font:10px var(--mono);letter-spacing:.4px;color:#79a7b5;margin:18px 0}.inspect-coords span{color:#c8eaf2}.modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;background:rgba(0,6,14,.77);backdrop-filter:blur(8px)}.modal-panel{width:min(490px,calc(100vw - 30px));padding:26px;background:#082030;border:1px solid #338da5;box-shadow:0 0 60px #000}.modal-panel h2{font-size:25px;margin:18px 0}.modal-panel p{font-size:12px;color:#a6c6d0;line-height:1.6}.help-grid{display:grid;grid-template-columns:130px 1fr;gap:10px;margin:24px 0}.help-grid span{color:#5cdbe9;font:10px var(--mono)}.help-grid strong{font:11px var(--font);font-weight:400;color:#d2e7ee}
#marker-layer{position:fixed;inset:0;pointer-events:none;z-index:4}.world-marker{position:absolute;display:none;transform:translate(-50%,-50%);border:1px solid rgba(63,191,219,.36);background:rgba(3,21,36,.65);font:9px var(--mono);color:#a2e9f8;letter-spacing:.8px;padding:5px 8px;white-space:nowrap;text-shadow:0 0 8px #0cd6ec}.world-marker:after{content:'';position:absolute;left:50%;bottom:-13px;border-left:1px solid #2acbea;height:12px}.world-marker[data-system=reactor]{color:#ffce91;border-color:rgba(255,172,86,.65)}.world-marker[data-system=loom]{color:#b4fcef}.hidden{display:none!important}.hud-minimal .sidebar,.hud-minimal .controls,.hud-minimal .bottom-bar,.hud-minimal #marker-layer{display:none!important}.hud-minimal .topbar{opacity:.35}.boot-screen{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#040d18;font:11px var(--mono);letter-spacing:2px;color:#67cfe2}.boot-ring{width:80px;height:80px;border:2px solid #245c74;border-top-color:#41dcf8;border-radius:50%;animation:spin 1.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35;box-shadow:none}}
@media(max-width:1100px){.header-status{display:none}.sidebar{width:265px}.controls{width:255px;padding:15px}.bottom-stats{gap:8px}.bottom-bar{padding:9px 12px;flex-wrap:wrap}.bottom-actions button{padding:9px 8px}.brand-name{font-size:18px}}
@media(max-width:700px){.topbar{height:63px;padding:0 12px}.brand-symbol{height:38px;width:38px}.brand-name{font-size:15px;letter-spacing:1.3px}.brand-sub{font-size:7px;letter-spacing:.8px}.panel{top:73px;bottom:70px;height:auto}.sidebar{left:9px;width:220px;max-height:42vh;padding:13px}.controls{right:9px;top:auto;bottom:80px;max-height:38vh;width:220px;padding:13px}.sidebar h2{font-size:18px;margin:13px 0 7px}.sidebar-description{font-size:10px;margin-bottom:10px}.node-list{max-height:22vh;overflow:auto}.bottom-bar{padding:7px;min-height:66px}.bottom-actions button{font-size:8px;letter-spacing:0;padding:7px}.bottom-stats{font-size:7px}.inspection{bottom:79px}.energy-top svg{width:70px;height:70px}.energy-top strong{font-size:19px}.stats-grid b{font-size:11px}}
