:root{--bg:#08151d;--paper:#0a1720;--edge:#1c303b;--muted:#73909f;--soft:#91aab6;--text:#e6f3f5;--ice:#9de4ec;--sea:#45bac8;--yellow:#e2c783;--green:#54dfae;--content-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--content-font)}button,input,select{font:inherit}button{cursor:pointer}#app{display:grid;grid-template-columns:minmax(0,1fr) 355px;grid-template-rows:73px minmax(0,1fr)}.topbar{grid-column:1/-1;z-index:9;display:flex;align-items:center;gap:38px;border-bottom:1px solid #28414b;background:#0a1820;padding:0 31px}.brand{width:332px;display:flex;align-items:center;gap:14px}.brand-mark{width:36px;height:36px;color:#bcf1f0;border:1px solid #47717c;display:grid;place-items:center;font-size:28px;line-height:1;transform:rotate(18deg)}.brand-text{display:flex;flex-direction:column;gap:3px}.brand .sup{font-size:8px;letter-spacing:2.25px;color:#749aa5;font-weight:800}.brand strong{font-size:18px;letter-spacing:2.7px;font-weight:800;white-space:nowrap}.brand strong i{color:#4b8592;font-style:normal}.hundred{color:#8bdbdc;font-size:12px;letter-spacing:0;padding-left:4px}.topnav{display:flex;align-self:stretch;gap:34px}.nav{color:#819da9;background:none;border:0;border-bottom:2px solid transparent;font-size:10px;font-weight:800;letter-spacing:1.4px;white-space:nowrap;padding:3px 0 0}.nav.active{color:#dcf7f6;border-color:#7fdcdd}.header-status{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:9px;color:#c5e6dc;white-space:nowrap;letter-spacing:1.25px;font-weight:750}.green-dot{width:7px;height:7px;border-radius:50%;background:#58dfad;box-shadow:0 0 10px #58dfad}.version{color:#6b8b9b;border-left:1px solid #28414b;margin-left:13px;padding-left:20px}#stage{position:relative;overflow:hidden;background:radial-gradient(circle at 61% 30%,#5a8695,#263e52 52%,#061a2b)}#viewport{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#viewport:active{cursor:grabbing}.stage-top,.top-right,.stage-bottom,.viewer-buttons,.camera-modes{position:absolute;pointer-events:none}.stage-top{top:26px;left:37px}.breadcrumbs{display:flex;gap:11px;align-items:center;color:#cbdce0;font-size:9px;letter-spacing:2px;font-weight:760}.breadcrumbs b{color:#598a97;font-weight:400}.breadcrumbs strong{color:white}.scene-title{margin-top:37px;font-size:clamp(30px,3vw,48px);font-weight:720;line-height:1.08;letter-spacing:-1.9px;text-shadow:0 3px 24px #0b273b66}.scene-title em{font-weight:360;font-style:normal;color:#ccf3ee}.scene-title p{font-size:10px;margin:18px 0;letter-spacing:3.5px;color:#dbedef;font-weight:800}.top-right{right:34px;top:27px;text-align:right}.live-kicker{display:flex;justify-content:flex-end;gap:10px;align-items:center;font-size:9px;letter-spacing:1.6px;font-weight:780;color:#d5f0ed}.live-kicker span{color:#a2bbc6;font-weight:500;letter-spacing:1px}.signal{height:6px;width:6px;border-radius:50%;background:#72e3b3}.weather-line{display:flex;align-items:baseline;gap:9px;justify-content:flex-end;margin-top:17px}.weather-line>span:nth-child(1){font-size:26px;color:#a2ecf0}.weather-line>span:nth-child(2){font-size:27px;font-weight:720;letter-spacing:-1px}.weather-line small{position:absolute;top:93px;right:1px;font-size:9px;letter-spacing:1.4px;color:#dae5ec}.viewer-buttons{left:37px;top:46%;display:flex;flex-direction:column;gap:8px}.viewer-buttons button{pointer-events:auto;height:37px;width:37px;border:1px solid #7aa5b788;color:#e8f8fb;background:#102f4088;backdrop-filter:blur(14px);font-size:19px}.viewer-buttons button:hover,.camera-modes button:hover{background:#235569dd}.camera-modes{left:37px;bottom:65px;display:flex;align-items:center;gap:3px;border:1px solid #6b9bab77;background:#0c2835b5;padding:5px;backdrop-filter:blur(15px)}.camera-modes button{pointer-events:auto;border:0;color:#99bfc9;background:transparent;font-size:10px;font-weight:740;letter-spacing:1px;padding:10px 11px}.camera-modes button.active,.camera-modes button.on{background:#99e2e6;color:#0a2834}.camera-separator{height:19px;width:1px;background:#4d7480;margin:0 5px}.stage-bottom{left:0;right:0;bottom:0;min-height:41px;display:flex;gap:27px;align-items:center;padding:0 38px;background:#0b2532b9;border-top:1px solid #81adbd4f;backdrop-filter:blur(16px);color:#b7d2dc;font-size:9px;letter-spacing:1.2px;font-weight:700}.stage-bottom .controls-hint{margin-left:auto;color:#d6eaf0}.dashboard{background:#091820;border-left:1px solid #2b4048;overflow:hidden}.dashboard-scroll{height:100%;overflow:auto;padding:30px 26px 18px;scrollbar-color:#46626d #0c1d27;scrollbar-width:thin}.panel-kicker,.metric-cap,.mini-label,.section-row .subtle,.chart-foot,.panel-foot,.map-legend{font-size:9px;letter-spacing:1.5px;font-weight:790;color:#7599a7}.panel-kicker{display:flex;justify-content:space-between;color:#84c8d0}.panel-kicker span{color:#5ee3b1;font-size:9px}.panel-overview h1{font-size:29px;font-weight:680;margin:14px 0 4px;letter-spacing:-.8px}.panel-overview p{color:#91abb9;margin:0 0 27px;font-size:12px}.metric-main{padding:20px 18px 17px;background:linear-gradient(135deg,#123543,#0b2733 78%);border:1px solid #346272}.metric-cap{display:flex;justify-content:space-between;gap:8px;color:#acd2db;font-size:9px}.metric-green{color:#65deb5;font-size:9px;letter-spacing:1px}.main-mw{display:flex;align-items:baseline;gap:8px;margin:11px 0 9px}.main-mw strong{font-size:48px;font-weight:650;letter-spacing:-2.1px;font-variant-numeric:tabular-nums}.main-mw span{font-size:20px;color:#a0d9df}.util-line,.installed-line{font-size:9px;letter-spacing:1px;color:#90b6bf;display:flex;justify-content:space-between;font-weight:700}.util-line strong{color:#d5f6ec}.progress-track{background:#28515c;height:5px;margin:10px 0 8px}.progress-fill{width:0;background:linear-gradient(to right,#4eb7ba,#70e1bd);height:100%;transition:width .5s}.installed-line{opacity:.7}.mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:12px 0 23px}.mini-metric{padding:15px 13px;border:1px solid #26424e;background:#0e2630}.mini-label{font-size:8px}.mini-value{margin:9px 0 1px;display:flex;gap:5px;align-items:baseline}.mini-value strong{font-size:28px;font-weight:680;letter-spacing:-1px}.mini-value small{font-size:11px;color:#9bc7d0}.mini-note{font-size:9px;color:#6e97a7}.div-line{height:1px;background:#243c46;margin:21px 0}.section-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 13px}.section-row h2{font-size:13px;font-weight:660;margin:0}.pill{border:1px solid #3e7479;color:#83d7ce;font-size:8px;font-weight:850;letter-spacing:1.1px;padding:5px 7px}.chart-head{display:flex;align-items:center;justify-content:space-between;margin:6px 0 2px}.chart-head strong{font-size:21px;font-weight:630;letter-spacing:-.5px}.chart-head span{font-size:11px;color:#65d8ad}#power-chart{width:100%;height:88px;display:block}.chart-foot{display:flex;justify-content:space-between;font-size:8px}.control-row{display:flex;align-items:flex-start;justify-content:space-between;margin:15px 0 9px;gap:8px}.control-row label{display:block;font-size:12px;font-weight:610}.row-caption{display:block;color:#6a94a3;font-size:9px;margin-top:4px}.control-row output{color:#a7e7e4;white-space:nowrap;font-size:12px;font-weight:720}.range{display:block;width:100%;height:5px;accent-color:#87dedd;margin:16px 0 23px;cursor:pointer}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.button-grid button{background:#102c36;border:1px solid #386171;color:#cce9eb;padding:11px 5px;font-size:9px;letter-spacing:.7px;font-weight:700;white-space:nowrap}.button-grid button:hover{background:#1c5360;border-color:#7ddcdf}.button-grid button:nth-child(2){background:#1e4a50;border-color:#5b9698;color:#c5f6f0}#turbine-select{background:#102b36;border:1px solid #315462;color:#e6f5f7;width:100%;padding:12px;font-weight:680;outline:none}.asset-data{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:16px 0}.asset-data div{display:flex;flex-direction:column;gap:6px}.asset-data span{color:#85a2ac;font-size:10px}.asset-data strong{font-size:15px}.inspect-button{width:100%;color:#07252e;background:#a0e8e6;border:0;padding:13px 12px;text-align:left;font-weight:820;font-size:10px;letter-spacing:1.1px;display:flex;justify-content:space-between}.inspect-button span{font-size:18px;line-height:.5}#radar{height:166px;width:100%;display:block;background:#0d2a38;border:1px solid #2d5563;cursor:crosshair}.map-legend{display:flex;justify-content:space-between;font-size:8px;margin:11px 0 0}.map-legend span:nth-child(1){color:#78dfc8}.map-legend span:nth-child(2){color:#e0bb80}.map-legend span:nth-child(3){color:#b2d9ee}.panel-foot{display:flex;flex-direction:column;gap:6px;font-size:8px;border-top:1px solid #29404a;padding-top:18px;margin-top:30px}.loading{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;color:#e4ffff;font-size:10px;letter-spacing:2px;font-weight:750}.load-ring{height:16px;width:16px;border:2px solid #577e8a;border-top-color:#b1faf2;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.inspection-card{position:absolute;left:50%;bottom:115px;transform:translateX(-50%);width:min(680px,70%);background:#0c2836ee;border:1px solid #5791a4a8;box-shadow:0 30px 80px #0006;padding:22px 30px;backdrop-filter:blur(20px);pointer-events:auto}.inspection-card.hidden{display:none}#inspection-close{position:absolute;top:19px;right:18px;color:white;border:0;background:none;font-size:17px}.inspector-kicker{font-size:9px;letter-spacing:2px;color:#9fddd9;font-weight:800}.inspection-card h2{font-size:28px;letter-spacing:-.6px;margin:9px 0 4px}.inspection-card p{margin:0;color:#a4c8d2;font-size:12px}.component-list{display:flex;gap:21px;margin:17px 0;color:#8ee4dc;font-size:8px;letter-spacing:1px;font-weight:700}.inspection-values{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #2d5260;padding-top:13px}.inspection-values div{display:flex;flex-direction:column;gap:5px}.inspection-values small{color:#81a9b7;font-size:9px;letter-spacing:1.4px}.inspection-values strong{font-size:19px}#toast{position:absolute;left:50%;top:72px;transform:translateX(-50%);background:#0b2a36e9;border:1px solid #6fb3c2;color:#e6f5f4;font-size:11px;letter-spacing:.6px;padding:11px 20px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:5}#toast.visible{opacity:1}dialog{background:#102c38;color:#def2f4;border:1px solid #719eac;max-width:480px;padding:35px;box-shadow:0 20px 60px #0007}dialog h2{font-size:21px;margin-top:0}dialog p{line-height:1.7;font-size:13px;color:#b6d2db}dialog button{background:#99dfd9;color:#0a2933;padding:10px 24px;border:0;font-weight:800}dialog::backdrop{background:#020b12ab}@media(max-width:1120px){#app{grid-template-columns:minmax(0,1fr) 320px}.topbar{gap:18px;padding:0 20px}.brand{width:260px}.brand .sup{font-size:7px}.brand strong{font-size:15px}.topnav{gap:16px}.stage-bottom{gap:13px;font-size:8px}.controls-hint{display:none}}@media(max-width:760px){#app{grid-template-columns:1fr;grid-template-rows:60px minmax(340px,55vh) minmax(0,1fr);overflow:auto}.topbar{gap:8px;padding:0 12px}.brand{width:auto;flex:1}.brand-mark{height:29px;width:29px}.brand .sup{font-size:6px;letter-spacing:1px}.brand strong{font-size:12px;letter-spacing:1px}.topnav{display:none}.header-status{font-size:7px;letter-spacing:0}.version{display:none}#stage{min-height:340px}.dashboard{min-height:450px;overflow:auto}.dashboard-scroll{height:auto}.scene-title{font-size:29px;margin-top:18px}.stage-top{top:15px;left:18px}.top-right{right:17px;top:18px}.weather-line{margin-top:11px}.weather-line>span:nth-child(2){font-size:19px}.weather-line small{top:71px;font-size:7px}.stage-bottom{padding:0 14px;gap:14px;font-size:7px}.stage-bottom span:nth-child(3),.stage-bottom span:nth-child(4){display:none}.camera-modes{left:18px;bottom:53px}.viewer-buttons{top:54%;left:18px}.inspection-card{width:92%;bottom:75px;padding:15px}.component-list{gap:7px;flex-wrap:wrap}.inspection-card h2{font-size:20px}}
