:root{--bg: #000000;--cyan: #00ffff;--green: #00ff7f;--yellow: #ffff00;--magenta: #ff00ff;--red: #ff0000;--gray: #cccccc;--dim: #555555}*{margin:0;padding:0;box-sizing:border-box}::selection{background:var(--cyan);color:#000}body,html{background:var(--bg);color:var(--green);min-height:100vh;width:100%;overflow-x:hidden;font-family:VT323,Courier New,Courier,monospace;font-size:18px;line-height:1.3}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;background:repeating-linear-gradient(0deg,rgba(0,255,127,.04) 0 1px,transparent 1px 3px)}body.alarm-on{animation:alarm-flash .6s steps(2,end) infinite}@keyframes alarm-flash{0%,to{background:#000}50%{background:#1a0000}}a{color:inherit;text-decoration:none}.scada-topbar{display:flex;flex-wrap:wrap;align-items:stretch;gap:2px;background:#000;padding:4px 4px 0;border-bottom:1px solid var(--cyan)}.topbar-btn{flex:1 1 auto;min-width:70px;padding:6px 14px;color:#000;font-family:VT323,monospace;font-size:18px;font-weight:700;text-align:center;letter-spacing:1px;text-transform:none;border:1px solid #000;cursor:pointer;transition:filter .1s}.topbar-btn:hover{filter:brightness(.8)}.title-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#000;border-bottom:1px solid var(--green);color:var(--cyan)}.title-name{font-size:22px;font-weight:700;letter-spacing:2px;text-shadow:0 0 4px currentColor}.title-ack{color:var(--magenta);padding:2px 10px;border:1px solid var(--magenta);font-size:14px;letter-spacing:2px}.title-sys{color:var(--yellow);font-size:16px}.intro-block{padding:20px 24px;max-width:1200px;color:var(--green);border-left:3px solid var(--cyan);margin:16px 16px 0;background:#00ff7f08}.intro-block p{font-size:16px;line-height:1.5;letter-spacing:.5px}.schematic-wrap{position:relative;overflow-x:auto;padding:20px 0}.schematic{position:relative;margin:0 auto}.pipes{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.pipe-line{fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;filter:drop-shadow(0 0 3px currentColor)}.pipe-valve{fill:#000;stroke:var(--cyan);stroke-width:2}.pipe-label{fill:var(--cyan);font-family:VT323,monospace;font-size:14px;text-shadow:0 0 3px currentColor}.ics-node{position:absolute;background:#000;border:2px solid var(--cyan);box-shadow:0 0 10px #00ffff40;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;z-index:5;display:flex;flex-direction:column}.ics-node:hover,.ics-node:focus{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--magenta),0 0 14px #00ffff73;border-color:var(--magenta);outline:none}.node-hdr{display:flex;justify-content:space-between;background:var(--magenta);color:#000;padding:4px 10px;font-weight:700;font-size:16px;letter-spacing:1px}.node-tag,.node-name{color:#000}.node-readouts{display:flex;justify-content:space-between;padding:6px 10px;font-size:18px;color:var(--yellow);text-shadow:0 0 3px currentColor;border-bottom:1px solid var(--cyan)}.node-readouts em{font-style:normal;color:var(--cyan);font-size:12px;margin-left:2px}.node-imgwrap{position:relative;overflow:hidden;border-bottom:1px solid var(--cyan)}.node-thumb{width:100%;height:180px;object-fit:cover;display:block;filter:grayscale(70%) contrast(115%) brightness(.95);transition:filter .2s,transform .2s}.ics-node:hover .node-thumb{filter:grayscale(0%) contrast(110%);transform:scale(1.03)}.node-open{position:absolute;top:6px;right:6px;background:#000000b3;color:var(--cyan);padding:2px 6px;font-size:14px;border:1px solid var(--cyan)}.node-open em{font-style:normal;font-size:11px;color:var(--cyan)}.node-load{display:flex;justify-content:space-between;padding:6px 10px;font-size:16px;color:var(--green);text-shadow:0 0 3px currentColor;border-bottom:1px dashed var(--dim)}.load-bar{letter-spacing:1px}.node-foot{display:flex;justify-content:space-between;align-items:center;padding:6px 10px}.node-price{color:var(--cyan);font-size:20px;font-weight:700;text-shadow:0 0 4px currentColor}.node-cta{color:var(--yellow);font-size:12px;letter-spacing:1px}.empty-state{display:flex;justify-content:center;align-items:center;padding:80px 20px}.empty-frame{border:2px dashed var(--red);padding:40px 60px;text-align:center;background:#ff00000a}.empty-title{color:var(--red);font-size:26px;letter-spacing:2px;margin-bottom:10px;text-shadow:0 0 4px currentColor}.empty-sub{color:var(--yellow);font-size:18px;margin-bottom:16px}.empty-blink{color:var(--green);font-size:28px;animation:blink 1s steps(2,end) infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.fn-bar{display:flex;flex-wrap:wrap;gap:4px;background:#000;padding:6px;border-top:2px solid var(--cyan);position:sticky;bottom:0;z-index:50}.fn-key{flex:1 1 auto;min-width:80px;padding:8px 6px;background:#1a1a1a;border:1px solid #555;border-right-color:#222;border-bottom-color:#222;border-top-color:#888;border-left-color:#888;font-family:VT323,monospace;font-size:16px;cursor:pointer;letter-spacing:1px;text-shadow:0 0 2px currentColor;transition:filter .1s}.fn-key:hover{filter:brightness(1.4)}.fn-key:active{border-top-color:#222;border-left-color:#222;border-right-color:#888;border-bottom-color:#888}.fn-key.blink{animation:blink .4s steps(2) infinite}.modal{display:none;position:fixed;inset:0;z-index:998;background:#000000f5;align-items:center;justify-content:center;flex-direction:column;padding:20px}.modal.active{display:flex}.close-btn{position:absolute;top:16px;right:28px;color:var(--cyan);font-size:42px;font-weight:700;cursor:pointer;font-family:monospace;text-shadow:0 0 4px currentColor;z-index:1}.close-btn:hover{color:var(--magenta)}.modal-content-wrapper{display:flex;align-items:center;gap:18px;max-width:95vw;max-height:90vh}.modal-inner{display:flex;gap:20px;align-items:flex-start;max-width:1100px;max-height:85vh;background:#000;border:2px solid var(--cyan);padding:16px;box-shadow:0 0 24px #00ffff4d}.modal-img{max-width:55vw;max-height:78vh;object-fit:contain;border:1px solid var(--cyan);background:#050505;display:block}.modal-info{max-width:320px;min-width:240px;display:flex;flex-direction:column;gap:12px;color:var(--green)}.modal-title{color:var(--magenta);font-size:26px;letter-spacing:1px;text-transform:uppercase;text-shadow:0 0 4px currentColor;font-weight:700}.modal-readouts{display:flex;justify-content:space-between;font-size:16px}.mod-r1{color:var(--green)}.mod-r2{color:var(--cyan);font-weight:700;text-shadow:0 0 4px currentColor}.modal-desc{color:#ddd;font-size:16px;line-height:1.5;border-left:2px solid var(--cyan);padding-left:10px}.modal-cta-row{display:flex;flex-direction:column;gap:8px;margin-top:8px}.modal-cta{display:block;padding:10px 14px;text-align:center;font-family:VT323,monospace;font-size:18px;letter-spacing:2px;border:2px solid;cursor:pointer;transition:filter .15s}.modal-cta:hover{filter:brightness(1.3)}.cta-ig{background:#000;color:var(--magenta);border-color:var(--magenta)}.cta-ig:hover{background:var(--magenta);color:#000}.cta-mail{background:#000;color:var(--cyan);border-color:var(--cyan)}.cta-mail:hover{background:var(--cyan);color:#000}.modal-hint{margin-top:4px;color:var(--yellow);font-size:13px;letter-spacing:1px}.nav-btn{background:#000;border:2px solid var(--cyan);color:var(--cyan);font-size:1.6rem;cursor:pointer;padding:8px 14px;font-family:monospace;transition:all .15s}.nav-btn:hover{background:var(--cyan);color:#000}@media(max-width:900px){.topbar-btn{font-size:14px;padding:5px 8px;min-width:50px}.title-name{font-size:16px;letter-spacing:1px}.title-bar{flex-wrap:wrap;gap:6px}.title-sys{font-size:13px}.intro-block p{font-size:14px}}@media(max-width:768px){.schematic-wrap{overflow:visible;padding:12px 8px}.schematic{width:100%!important;height:auto!important;display:flex;flex-direction:column;gap:16px}.pipes{display:none}.ics-node{position:static!important;width:100%!important;left:auto!important;top:auto!important}.node-thumb{height:220px}.fn-key{font-size:13px;min-width:60px;padding:6px 4px}.modal{padding:10px}.modal-inner{flex-direction:column;padding:10px;gap:10px}.modal-img{max-width:90vw;max-height:50vh}.modal-info{max-width:100%;min-width:0}.modal-content-wrapper{flex-direction:column;gap:12px}.nav-controls{display:flex;gap:30px;margin-top:10px}}
