:root{color-scheme:dark;--ink:#071826;--edge:rgba(160,215,236,.16);--sea:#75d4d1;--cream:#f3fafb;--muted:#8aa7b6;--orange:#f5a862;--surface:rgba(5,20,32,.88)}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#0a2333;color:var(--cream);font-family:'DM Sans',Inter,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}#scene{position:absolute;inset:0;width:100%;height:100%;outline:none;display:block}#labels-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.marker{position:absolute;transform:translate(-50%,-50%);border:1px solid rgba(139,245,243,.55);border-radius:3px;padding:3px 7px;color:#d6fffc;background:#0a2739dd;font:10px 'Space Grotesk',monospace;white-space:nowrap}.marker[hidden]{display:none}#splash{position:fixed;inset:0;background:radial-gradient(circle at 50% 55%,#174862,#071421 68%);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100;transition:opacity .55s}.splash-logo{display:flex;align-items:center;gap:14px;font-family:'Space Grotesk',sans-serif;font-size:30px;letter-spacing:2px;font-weight:700}.splash-logo span:not(.logo-mark){color:#6de6d8}.splash-logo small{display:block;letter-spacing:3.2px;font-size:9px;color:#8aa7b6;font-weight:500}.logo-mark{width:64px;height:64px;border:1px solid #64d7cc;border-radius:50%;text-align:center;line-height:54px;font-size:70px;color:#64d7cc;font-family:Georgia,serif}.spinner{width:42px;height:42px;border:2px solid #607c8a;border-top-color:#78f5db;border-radius:50%;animation:spin .9s linear infinite;margin-top:55px}@keyframes spin{to{transform:rotate(360deg)}}#loading-message{font-size:14px;margin:18px 0 5px}#loading-detail{font-size:12px;color:#89a5b0;max-width:430px;text-align:center}#splash.loaded{opacity:0;pointer-events:none}.app-overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.app-overlay button,.app-overlay input,.app-overlay select,.app-overlay aside{pointer-events:auto}.topbar{position:absolute;top:0;left:0;right:0;height:71px;padding:0 26px;display:flex;align-items:center;gap:31px;background:linear-gradient(90deg,rgba(6,21,32,.95),rgba(6,21,32,.77));border-bottom:1px solid var(--edge);z-index:4}.brand{width:280px;display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-icon{border:2px solid #67dbc9;width:35px;height:35px;text-align:center;font-family:Georgia,serif;font-size:37px;line-height:25px;color:#67dbc9;border-radius:50%;font-weight:bold}.brand-text strong{display:block;font:700 18px 'Space Grotesk',sans-serif;letter-spacing:1.6px;line-height:1}.brand-text strong span{color:#64ddce}.brand-text small{display:block;color:#9eb2ba;font-size:8px;margin-top:5px;letter-spacing:2.1px}.top-stats{display:flex;align-items:center;gap:20px;flex:1}.top-stats>span{font-size:10px;font-weight:700;letter-spacing:1px;white-space:nowrap;color:#b1c6d0}.top-stats .live{color:#7fe7d6;display:flex;align-items:center;gap:7px}.live i,.chart-head i{display:inline-block;width:7px;height:7px;background:#5bf2c7;box-shadow:0 0 14px #4ff4c8;border-radius:50%}.top-right{display:flex;gap:5px}.pill{border:1px solid #42708877;background:#12304370;color:#b1cad4;padding:7px 8px;letter-spacing:.65px;font-size:9px;white-space:nowrap}.sidebar{position:absolute;top:85px;left:16px;bottom:17px;width:337px;display:flex;flex-direction:column;background:var(--surface);border:1px solid rgba(131,198,221,.23);border-radius:8px;box-shadow:0 22px 75px #0006;backdrop-filter:blur(20px);z-index:3;overflow:hidden}.panel-heading{padding:21px 22px 18px;display:flex;align-items:flex-start;justify-content:space-between;background:linear-gradient(145deg,rgba(37,91,112,.28),transparent 75%)}.eyebrow,.section-tag{font-size:9px;color:#72c7c8;font-weight:700;letter-spacing:1.7px}.panel-heading h1{font:600 22px 'Space Grotesk',sans-serif;letter-spacing:-.8px;margin:9px 0 2px}.panel-heading h1 em{color:#79e1c8;font-style:normal}.panel-heading p{color:#a0b6c0;font-size:10px;margin:0}.status-dot{height:7px;width:7px;background:#63ebcd;box-shadow:0 0 0 4px #69edd223,0 0 19px #69edd2;border-radius:50%;margin-top:5px}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 14px 15px;gap:7px}.kpi{padding:12px 11px 10px;border:1px solid var(--edge);background:#1732455a;border-radius:4px;min-height:88px}.kpi-label{font-size:9px;color:#9ab7c4;letter-spacing:.8px}.kpi-num{display:flex;align-items:baseline;gap:5px;margin-top:6px}.kpi-num strong{font:600 29px 'Space Grotesk',sans-serif;letter-spacing:-1px}.kpi-num span{font-size:12px;color:#68d8d0;font-weight:600}.kpi-num.small strong{font-size:21px}.kpi-foot{font-size:9px;color:#849fa9;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;border-block:1px solid var(--edge);margin:0 0 4px}.tabs button{height:43px;border:0;background:none;color:#8faeb8;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:1.1px}.tabs button.active{box-shadow:inset 0 -2px #6df1d6;color:#dcfff4;background:#4faaa115}.tabcontent{padding:15px 20px;overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#33596a transparent}.tabcontent[hidden]{display:none}.tabcontent .section-tag{margin:14px 0 17px}.tabcontent .section-tag:first-child{margin-top:3px}.control{margin:0 0 17px}.control label{display:flex;justify-content:space-between;font-size:11px;color:#b4c7cd;margin-bottom:7px}.control output{color:#77e5df;font:600 11px 'Space Grotesk',sans-serif}.control input[type=range]{width:100%;height:3px;appearance:none;background:#3f6876;border-radius:4px;accent-color:#69e2d2;cursor:pointer;display:block;margin:9px 0}.control input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border-radius:50%;background:#c5fff2;border:2px solid #308b8a;box-shadow:0 0 13px #75f0e480}.control input[disabled]{opacity:.33;cursor:not-allowed}.input-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 18px}.input-pair label,.select-label{font-size:9px;color:#99b5c1;letter-spacing:1px;display:block;margin-bottom:7px}.input-pair select,#turbineSelect{background:#142f41;color:#d1f1f2;border:1px solid #426878;border-radius:3px;padding:9px 7px;font-size:10px;max-width:100%;width:100%}.switch-row{display:grid;gap:12px;margin:10px 0 21px}.switch-row label{display:flex;gap:10px;align-items:center;color:#b2cbd1;font-size:11px}.switch-row input{accent-color:#66e2cc}.speed{margin:8px 0 20px}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn{border:1px solid #5f9290;background:#254651;color:#d6fbf4;font-size:10px;letter-spacing:.75px;font-weight:700;padding:12px 6px;border-radius:3px;transition:all .14s;min-height:38px}.btn:hover{background:#386979}.btn.solid{background:#55c2b4;color:#082532;border-color:#55c2b4}.btn.danger{border-color:#b86c64;color:#ffc5ad;background:rgba(130,48,44,.12)}.btn.danger:hover{background:rgba(168,65,53,.32)}.btn.subtle{background:none;color:#9cbfc8}.btn.wide{width:100%;margin-top:8px}.panel-bottom{padding:12px 18px;border-top:1px solid var(--edge);display:flex;justify-content:space-between;gap:6px;font-size:8px;color:#7e9fac;letter-spacing:.65px}.panel-bottom .data-flicker{color:#7cdebc}.right-controls{position:absolute;right:23px;top:91px;display:flex;flex-direction:column;gap:7px}.right-controls button{border:1px solid rgba(167,224,233,.35);color:#e3fbfb;background:rgba(8,28,42,.75);backdrop-filter:blur(14px);border-radius:4px;padding:12px 14px;min-width:160px;text-align:left;font-size:15px}.right-controls button:hover{background:#286174cf;border-color:#86e9e3}.right-controls button span{font-size:10px;letter-spacing:.8px;font-weight:700;margin-left:8px}.map-compass{position:absolute;right:30px;top:310px;text-align:center;color:#eaf9fb;text-shadow:0 0 20px #082b42;font:12px 'Space Grotesk',sans-serif;line-height:1.2}.map-compass span{display:block;color:#78e7df;font-size:37px}.map-compass small{font-size:10px}.data-strip{position:absolute;bottom:171px;left:369px;right:19px;background:linear-gradient(90deg,rgba(7,30,44,.92),rgba(7,30,44,.68));border:1px solid #6fa7b04c;border-radius:5px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 19px;min-height:64px;backdrop-filter:blur(12px)}.strip-label span{color:#6cddd0;font-size:8px;letter-spacing:1.4px}.strip-label strong{font-size:11px;letter-spacing:1px;display:block;margin-top:6px}.mini-stat{display:flex;flex-direction:column;gap:5px;min-width:92px}.mini-stat span{font-size:9px;color:#93b0bd;letter-spacing:.7px}.mini-stat strong{font:600 15px 'Space Grotesk',sans-serif;white-space:nowrap}.chart-card{position:absolute;left:369px;right:19px;bottom:29px;height:133px;background:rgba(5,24,36,.86);border:1px solid #76a8b43f;border-radius:5px;padding:12px 13px 8px;backdrop-filter:blur(16px)}.chart-head{height:20px;display:flex;justify-content:space-between;align-items:flex-start;font-size:10px;letter-spacing:.9px;font-weight:700}.chart-head span{display:flex;gap:8px;align-items:center}.chart-head small{color:#8eafbc;font-size:10px}.chart-card canvas{width:100%;height:92px;display:block}.footer-right{position:absolute;right:19px;bottom:8px;font-size:8px;letter-spacing:1.2px;color:#bdd6ddbb}.footer-right span{color:#6ff0cb}.asset-rows{border:1px solid var(--edge);padding:5px 12px;background:#16314666}.asset-rows>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff13;padding:12px 0;font-size:11px}.asset-rows>div:last-child{border-bottom:0}.asset-rows>div>span{color:#9fbbc5;font-size:10px;letter-spacing:.5px}.asset-rows strong{font:600 12px 'Space Grotesk',sans-serif}.asset-rows .status{font-size:10px;letter-spacing:1px}.status.online{color:#65ebc3}.status.fault{color:#fb7770}.status.maintenance{color:#ffc266}.tabcontent h2{font:600 19px 'Space Grotesk',sans-serif;margin:19px 0 11px}.alarm-box{background:#112b3a;padding:13px;border-left:2px solid #70d9d0;color:#c2e4e6;font-size:11px;margin:14px 0}.tiny-notice{font-size:10px;color:#819faa;line-height:1.5;margin:16px 0}.guide-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--edge);padding:10px 0;font-size:11px;color:#c4d3d9}.guide-row kbd{border:1px solid #467485;border-radius:3px;padding:5px 7px;font-family:monospace;font-size:10px;color:#8ef9e1}.guide-par{font-size:12px;line-height:1.8;color:#a7c4cd}
@media(max-width:1120px){.top-stats>span:nth-child(n+3){display:none}.topbar{gap:16px}.data-strip{padding:10px}.mini-stat span{font-size:8px}}@media(max-width:850px){.top-right{display:none}.topbar{height:60px}.brand{width:210px}.sidebar{top:70px;left:8px;width:294px;bottom:10px}.panel-heading{padding:14px}.kpi-grid{margin:0 8px 6px}.kpi{padding:9px 8px;min-height:75px}.kpi-num strong{font-size:23px}.tabcontent{padding:12px}.right-controls{right:8px;top:73px}.right-controls button{min-width:46px;width:46px;height:43px;padding:9px;text-align:center}.right-controls button span{display:none}.map-compass{top:268px;right:17px}.data-strip{left:316px;bottom:156px;flex-wrap:wrap}.strip-label{display:none}.mini-stat{min-width:100px}.chart-card{left:316px;bottom:20px}.footer-right{display:none}}
@media(max-width:600px){.top-stats{display:none}.topbar{padding:0 12px}.sidebar{top:auto;bottom:0;left:0;width:100%;height:46vh;border-radius:10px 10px 0 0}.panel-heading{padding:11px 15px}.panel-heading h1{font-size:17px;margin:3px 0 0}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:4px}.kpi{min-height:55px;padding:6px}.kpi-label{font-size:7px}.kpi-foot{display:none}.kpi-num strong,.kpi-num.small strong{font-size:15px}.kpi-num span{font-size:9px}.tabs button{height:34px}.panel-bottom{display:none}.right-controls{top:70px;right:8px}.data-strip,.chart-card{display:none}.map-compass{right:16px;top:263px}.tabcontent .section-tag{margin:10px 0}.control{margin-bottom:11px}}
