:root{color-scheme:dark;--bg:#07131d;--panel:#0b1823;--panel2:#101f2b;--line:#223744;--muted:#78909d;--bright:#e6f5f4;--mint:#69e8d7;--yellow:#f0ba65;--orange:#ea9866;--red:#fb8579;--mono:'Consolas','SFMono-Regular',ui-monospace,monospace;--font:Inter,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--bright);font-size:12px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:2px}small{font-size:10px}p,h1,h2{margin:0}button{color:inherit}.topbar{height:72px;display:flex;align-items:center;padding:0 22px;border-bottom:1px solid #223944;background:#0a1722;gap:15px}.brand{display:flex;align-items:center;gap:13px;width:301px;flex-shrink:0}.brandmark{width:42px;height:42px;border:1px solid #3e8b88;border-radius:11px;background:linear-gradient(135deg,#143641,#081b28);display:flex;align-items:center;justify-content:center;color:#79eadd;font-size:38px;line-height:1;box-shadow:0 0 30px #4dffeb12 inset}.brandtitle>div{font-weight:900;letter-spacing:1.4px;font-size:15px;white-space:nowrap}.brandtitle em{color:var(--mint);font-style:normal;padding:0 2px}.brandtitle small{display:block;font-size:8px;color:#7795a1;letter-spacing:1.42px;margin-top:6px}.header-middle{flex:1;color:#768d9c}.breadcrumb{font-family:var(--mono);font-size:10px;letter-spacing:.9px}.breadcrumb b{color:#b5ced1;font-weight:500}.breadcrumb span{padding:0 12px;color:#3d6072}.header-actions{display:flex;align-items:center;gap:18px}.pulse-status{font-size:9px;font-weight:800;letter-spacing:1.2px;color:#8aeccf;white-space:nowrap}.pulse-status i,.tiny-dot{display:inline-block;border-radius:50%;background:#76eed0;width:6px;height:6px;margin-right:7px;box-shadow:0 0 9px #62ffe2}.pulse-status i{animation:blink 2.3s infinite}.clocktext{font:10px var(--mono);color:#89a1a9;white-space:nowrap}.headbtn{border:1px solid #2a4654;background:#102330;color:#afc7ce;border-radius:5px;height:32px;padding:0 12px;font-weight:800;font-size:10px;letter-spacing:.6px}.headbtn:hover,.circle-button:hover{background:#1b3b46}.headbtn:first-letter{color:var(--mint)}.workspace{height:calc(100% - 72px);display:grid;grid-template-columns:286px minmax(400px,1fr) 323px}.sidebar{background:#0a1824;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#29434f transparent}.leftbar{border-right:1px solid var(--line);padding:23px 17px 18px}.rightbar{border-left:1px solid var(--line);padding:22px 18px 16px}.micro{font:10px var(--mono);letter-spacing:1.3px;color:var(--mint)}.micro span{color:#456071}.rail-intro{padding:4px 5px 24px}.rail-intro h1{font-size:29px;line-height:1.12;letter-spacing:-1px;margin:14px 0 13px;font-weight:780}.rail-intro h1 span{color:var(--mint)}.rail-intro p{line-height:1.68;color:#8ba1ad;font-size:11px}.rail-heading{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);letter-spacing:1.2px;color:#859ca9;border-top:1px solid #1d333f;padding:17px 3px 11px}.rail-heading span:last-child{color:#4d7884}.rail-heading.withtop{margin-top:14px}.zone-list{display:grid;gap:4px}.zone{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid transparent;border-radius:6px;padding:11px 9px;background:transparent;transition:.16s}.zone:hover{background:#132a35}.zone.active{background:linear-gradient(90deg,#17363f,#112630);border-color:#285b61}.zone-index{font:11px var(--mono);width:25px;color:#5e8492}.zone.active .zone-index{color:var(--mint)}.zone strong{display:block;font-size:11px;font-weight:750;letter-spacing:.18px}.zone small{display:block;color:#7793a0;font-size:9px;margin-top:5px}.zone .chev{margin-left:auto;color:#476c79}.zone.active .chev{color:var(--mint)}.minimap-wrap{background:#0c202b;border:1px solid #21404d;border-radius:6px;padding:6px}.minimap-wrap canvas{display:block;width:100%;height:160px;background:radial-gradient(circle at center,#18343c,#091923);border-radius:3px}.map-row{display:flex;justify-content:space-between;padding:12px 3px 4px;font-size:8px;color:#9ab1b8;white-space:nowrap}.map-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px;background:#9cbbc1}.map-dot.mint,.chart-legend .mint{background:var(--mint)}.map-dot.orange{background:var(--orange)}.rail-foot{border-top:1px solid var(--line);padding:16px 5px 0;margin-top:21px}.rail-foot span{display:block;color:#628392;font:9px var(--mono);letter-spacing:1px}.rail-foot strong{display:block;font-size:16px;margin:5px 0 5px}.rail-foot small{color:#698a9a}.viewport{position:relative;min-height:0;overflow:hidden;background:#0b1922}.scene-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 48% 30%,#24444d 0%,#0b2530 45%,#071724 100%)}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}#scene:active{cursor:grabbing}.canvas-grain{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#06131cd9 0%,transparent 25%,transparent 65%,#06131cdc 100%)}.view-top{position:absolute;top:16px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:14px}.view-label{font:9px var(--mono);letter-spacing:1.3px;color:#b1c9cc;white-space:nowrap}.little-square{display:inline-block;width:7px;height:7px;border:1px solid #71e7d5;margin-right:8px;transform:rotate(45deg)}.view-label .separator{color:#46636d;padding:0 7px}.view-right{display:flex;gap:13px;font:9px var(--mono);color:#a9c4c8}.tiny-dot{box-shadow:none;width:5px;height:5px;margin-right:4px}.tiny-dot.orange{background:var(--orange)}.view-right .coord{color:#63808a}.kpi-row{position:absolute;top:44px;left:19px;right:19px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.kpi{padding:13px 14px 12px;background:#0b222cdd;border:1px solid #35525d99;backdrop-filter:blur(8px);border-radius:6px;min-width:0;box-shadow:0 7px 25px #0003}.kpi small{font:9px var(--mono);letter-spacing:1px;color:#9ab3bd;white-space:nowrap}.kpi small span{color:var(--mint);float:right}.kpi strong{display:block;margin-top:7px;color:#f3fffc;font-size:28px;letter-spacing:-1.5px;font-weight:760;font-variant-numeric:tabular-nums}.kpi sup{font:10px var(--mono);color:var(--mint);vertical-align:baseline;margin-left:7px;letter-spacing:0}.kpi>div{color:#7797a4;font-size:9px;margin-top:5px}.accent{color:var(--mint);font-size:7px}.labels-layer{position:absolute;inset:0;pointer-events:none}.world-label{position:absolute;transform:translate(-50%,-100%);min-width:140px;filter:drop-shadow(0 3px 8px #0009);transition:opacity .15s}.world-label .dot{display:block;margin:0 auto;width:8px;height:8px;border:1px solid #c1fcf0;background:#64e7d3;transform:rotate(45deg);box-shadow:0 0 10px #50f6dc}.world-label .line{display:block;width:1px;height:20px;background:#70d6d7a0;margin:0 auto}.world-label .info{border:1px solid #426471;background:#09212eea;padding:7px 9px;border-radius:3px;text-align:center}.world-label b{display:block;color:#ecfaf9;font-size:8px;letter-spacing:1px;white-space:nowrap}.world-label small{display:block;color:#7db0b8;font-size:8px;margin-top:4px;white-space:nowrap}.world-label.reactor .dot,.world-label.storage .dot{background:#ffaf73;border-color:#fff0c2;box-shadow:0 0 8px #ffad74}.world-label.reactor .line,.world-label.storage .line{background:#eda16aa0}.view-bottom{position:absolute;bottom:37px;left:21px;right:21px;display:flex;justify-content:space-between;gap:12px;align-items:end}.cam-controls{display:flex;gap:5px;flex-wrap:wrap}.cam-controls button,.overlay-toggle button{border:1px solid #426371;background:#09212cdb;backdrop-filter:blur(6px);padding:10px 11px;border-radius:4px;color:#b8d4d8;letter-spacing:.7px;font:9px var(--mono)}.cam-controls button:first-letter{color:var(--mint)}.cam-controls button:hover,.overlay-toggle button:hover,.overlay-toggle button.active{background:#1b3e46;border-color:#50a9a1;color:#e9f9f7}.overlay-toggle{display:flex;gap:6px}.controls-tip{position:absolute;bottom:13px;left:22px;color:#79a1aa;font:9px var(--mono);letter-spacing:.65px}.controls-tip i{font-style:normal;padding:0 8px;color:#3c6974}.render-stats{position:absolute;right:22px;bottom:13px;color:#8ab2ba;font:9px var(--mono)}.inspector{position:absolute;left:23px;bottom:113px;background:#0b222eee;border:1px solid #37606a;border-radius:6px;width:320px;padding:13px 15px;box-shadow:0 14px 60px #0008;backdrop-filter:blur(15px)}.inspector.hidden,.hidden{display:none!important}.inspector-head{display:flex;justify-content:space-between;color:#8fb1bc;font:9px var(--mono);letter-spacing:1px}.inspector-head b{color:var(--mint)}.inspector-head button{font-size:21px;background:none;border:0;color:#b7d0d3;margin-top:-9px}.inspector-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.inspector-values small{color:#7e9ba5;font-size:9px}.inspector-values strong{display:block;margin-top:5px;font:16px var(--mono);color:#ecfaf8}.secondary-btn{margin-top:15px;width:100%;background:#183d46;border:1px solid #377d7b;border-radius:4px;padding:9px;color:var(--mint);font:10px var(--mono);letter-spacing:.65px}.loading-screen{position:absolute;inset:0;background:linear-gradient(130deg,#091b27,#0d313a);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;text-align:center;z-index:8;font:12px var(--mono);letter-spacing:2px}.loading-glyph{font:80px var(--font);color:var(--mint);line-height:1;animation:spin 9s linear infinite}.loading-screen small{color:#7698a4;font:10px var(--font);letter-spacing:.4px}.loading-line{margin-top:8px;width:210px;height:2px;background:#22454c;overflow:hidden}.loading-line span{display:block;width:35%;height:100%;background:var(--mint);animation:loading 1.1s ease-in-out infinite alternate}.loading-screen.loaded{opacity:0;pointer-events:none;transition:opacity .7s}.right-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:21px}.right-header h2{font-size:21px;letter-spacing:-.5px;margin:8px 0 0}.circle-button{width:29px;height:29px;border:1px solid #2d4c56;background:#142834;border-radius:5px;color:var(--mint);font-size:18px}.scenarios{background:#10232f;border:1px solid #2b4653;border-radius:5px;padding:10px 12px;margin-bottom:19px}.scenarios label,.fault-label{font:9px var(--mono);letter-spacing:1px;color:#8ba8b1;display:block}.scenarios select,.alarm-section select{display:block;width:100%;margin-top:9px;background:#152f3b;border:1px solid #3b6070;border-radius:3px;color:#e2f5f3;padding:9px 10px;font-size:11px;outline:none}.greenstat{color:var(--mint)!important}.control-rack{padding:0 1px}.range-control{padding:7px 0 12px}.range-head{display:flex;justify-content:space-between;gap:9px;font-size:11px;color:#c0d3d8;margin-bottom:10px}.range-head output{color:#8cf0dd;font:11px var(--mono)}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:3px;background:linear-gradient(90deg,#6de3cf var(--pct,50%),#29414c var(--pct,50%));outline:none;border:0;cursor:ew-resize}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--mint);border:2px solid #0e3034;box-shadow:0 0 0 1px #5d9e98}input[type=range]::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:var(--mint);border:2px solid #0e3034}.range-scale{display:flex;justify-content:space-between;color:#587b87;font:8px var(--mono);margin-top:8px}.right-card{background:#10232e;border:1px solid #263f4c;border-radius:5px;margin-top:13px}.right-card-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #284451;padding:11px 12px}.right-card-heading strong{font:9px var(--mono);letter-spacing:1px;color:#b9d1d1}.right-card-heading span{font:9px var(--mono);color:#688f9b}.telemetry-grid{display:grid;grid-template-columns:1fr 1fr;padding:2px 12px}.telemetry-grid>div{padding:9px 3px;border-bottom:1px solid #25404b}.telemetry-grid>div:nth-last-child(-n+2){border:0}.telemetry-grid small{display:block;color:#7796a3;font-size:9px}.telemetry-grid strong{display:block;font:13px var(--mono);color:#e1f5f3;margin-top:6px}.chart-head{display:flex;justify-content:space-between;align-items:end;padding-top:21px}.chart-head small{display:block;font:9px var(--mono);color:#7b9aab;letter-spacing:1px}.chart-head strong{display:block;font-size:12px;margin-top:6px}.chart-legend{font-size:8px;color:#99b4b7}.chart-legend span{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 4px 0 8px}.chart-legend .gold{background:var(--yellow)}.chart-panel{background:#0c1e2a;border:1px solid #203e4b;border-radius:5px;margin-top:11px;padding:8px}.chart-panel canvas{display:block;width:100%;height:101px}.alarm-section{padding-top:12px}.alarm-section .rail-heading{padding-top:12px}.alarm{font-size:10px;line-height:1.5;color:#a4d6c7;padding:9px 10px;border-radius:3px;border:1px solid #235347;background:#123128;display:flex;align-items:start;gap:8px}.alarm.warning{background:#342b1a;border-color:#735b37;color:#f5c98a}.alarm.danger{background:#382323;border-color:#7e3e41;color:#f5a29e}.alarm-led{display:block;flex-shrink:0;width:7px;height:7px;margin-top:3px;border-radius:50%;background:#71ddac}.alarm.warning .alarm-led{background:#f4bd6c}.alarm.danger .alarm-led{background:#f27677}.fault-label{margin-top:14px}.alarm-section select{margin-top:7px}.right-foot{padding-top:16px}.right-foot button{width:100%;border:1px solid #316b68;border-radius:4px;color:#b3e9dd;background:#143a3c;padding:10px;font:10px var(--mono);letter-spacing:1px}.right-foot button:hover{background:#1d514c}.right-foot div{display:flex;gap:9px;justify-content:center;margin:15px;color:#597b89;font:9px var(--mono);letter-spacing:.65px}.right-foot strong{color:#91bdc2}.modal{position:fixed;inset:0;z-index:20;display:flex;justify-content:center;align-items:center;padding:24px;background:#040b11d9;backdrop-filter:blur(7px)}.modal-body{width:min(1000px,95vw);max-height:95vh;overflow:auto;background:#0c1d2a;border:1px solid #487279;border-radius:9px;box-shadow:0 30px 100px #000d;padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head small{color:var(--mint);font:10px var(--mono);letter-spacing:1.5px}.modal-head h2{font-size:25px;margin-top:8px}.modal-head button{border:1px solid #2c535b;border-radius:4px;background:#17323c;font-size:24px;width:35px;height:35px}.diagram-tabs{display:flex;gap:8px;margin:20px 0 14px}.diagram-tabs button{padding:10px 13px;border-radius:3px;border:1px solid #294854;background:#102a36;color:#84a9ae;font:10px var(--mono);letter-spacing:.8px}.diagram-tabs button.selected{border-color:#4da79c;color:var(--mint);background:#16403f}.diagram-image{border:1px solid #2c5562;border-radius:5px;overflow:hidden;background:#102631}.diagram-image img{display:block;max-width:100%;width:100%;max-height:460px;object-fit:contain}.diagram-live{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.diagram-live div{background:#122b37;border:1px solid #2b4a54;padding:13px;border-radius:4px}.diagram-live small{display:block;color:#839faa}.diagram-live strong{display:block;color:var(--mint);font:17px var(--mono);margin-top:5px}.diagram-note{margin-top:15px;color:#77909a;font-size:10px;line-height:1.5}@keyframes blink{50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loading{to{transform:translateX(200%)}}
@media(max-width:1400px){.workspace{grid-template-columns:238px minmax(420px,1fr) 285px}.leftbar{padding:18px 12px}.rightbar{padding:18px 13px}.brand{width:235px}.header-middle{display:none}.header-actions{margin-left:auto;gap:12px}.kpi{padding:10px}.kpi strong{font-size:24px}.kpi small{font-size:8px}.world-label .info{padding:5px 7px}}
@media(max-width:1120px){.workspace{grid-template-columns:minmax(400px,1fr) 280px}.leftbar{display:none}.brand{width:auto}.brandtitle small{display:none}.view-right{display:none}}
@media(max-width:700px){.topbar{height:56px;padding:0 10px}.workspace{height:calc(100% - 56px);display:block}.rightbar{display:none}.brandmark{width:30px;height:30px;font-size:27px}.brandtitle>div{font-size:12px}.header-actions{gap:7px}.pulse-status,.clocktext,.headbtn span{display:none}.headbtn{padding:0 9px}.view-top{left:12px;right:12px}.kpi-row{top:47px;left:10px;right:10px;grid-template-columns:repeat(2,1fr)}.kpi strong{font-size:22px}.kpi{padding:9px}.kpi small{font-size:8px}.world-label{display:none}.view-bottom{bottom:48px;left:10px;right:10px;display:block}.overlay-toggle{margin-top:8px}.controls-tip{left:10px;font-size:8px}.controls-tip span:nth-of-type(n+3){display:none}.render-stats{display:none}}

@media(max-width:700px){.workspace>.viewport{height:100%;min-height:0}}
