:root{--bg:#071722;--panel:#091b28;--panel2:#0b2130;--line:#1a3544;--muted:#7e9aa8;--text:#e7f0f4;--cyan:#58d7ed;--gold:#f3b55f;--green:#69d8b6;--red:#f97872;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:#05131e;color:var(--text);overflow:hidden}button,select,input{font:inherit}button{cursor:pointer}#app{display:flex;flex-direction:column;width:100%;height:100dvh;min-height:500px;overflow:hidden}
.topbar{height:72px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 25px;background:#071620;border-bottom:1px solid #294252;z-index:5;gap:20px}
.brand{display:flex;gap:14px;align-items:center;min-width:270px}.brand-icon{height:39px;width:39px;border:1px solid #33758c;border-radius:6px;display:grid;place-items:center;color:#8ee7f3;background:#123343}.windmill{font-size:29px;line-height:1;animation:turn 18s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}.brand-label{font-size:9px;letter-spacing:.165em;color:#8db2c2;font-weight:750}.brand-label span:not(.brand-split){color:var(--cyan)}.brand-split{padding:0 3px;color:#436171}.brand strong{font-size:18px;font-weight:850;letter-spacing:.08em;display:block;line-height:1.3}.brand strong em{font-style:normal;color:var(--cyan)}.top-center{display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:.13em;font-weight:730}.top-green{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 12px #65ecc4}.top-separator{height:12px;width:1px;background:#2d4855;margin:0 8px}.dim{color:var(--muted)}.header-actions{display:flex;align-items:center;gap:8px}.clock{font-size:10px;color:#8fb9cc;letter-spacing:.11em;margin-right:10px}.icon-button{background:#0c2634;border:1px solid #285366;color:#b2d6e3;border-radius:4px;width:33px;height:31px;font-weight:800;font-size:18px}
.workspace{flex:1;min-height:0;display:grid;grid-template-columns:298px minmax(320px,1fr) 294px;position:relative}.sidebar{background:linear-gradient(120deg,#091d2a,#091923);overflow-y:auto;overflow-x:hidden;padding:21px 20px 20px;z-index:2;scrollbar-color:#2a5465 transparent;scrollbar-width:thin}.left-panel{border-right:1px solid #294252}.right-panel{border-left:1px solid #294252;background:linear-gradient(135deg,#0b1e2b,#081723)}
.section-heading{display:flex;justify-content:space-between;align-items:center;color:#aec7d1;font-weight:800;font-size:10px;letter-spacing:.13em}.section-heading.second{padding-top:22px;margin-top:22px;border-top:1px solid var(--line)}.live-icon{color:var(--green);font-size:9px;font-weight:700;letter-spacing:.07em}.section-mark{color:#6c91a1}
.metric-block{padding-top:20px}.metric-block small,.stat-grid small{color:#7fa6b7;font-size:9px;font-weight:720;letter-spacing:.12em}.big-power{display:flex;align-items:baseline;gap:8px;padding-top:5px}.big-power strong{font-size:52px;font-weight:750;letter-spacing:-.065em;font-variant-numeric:tabular-nums}.big-power span{font-size:18px;color:var(--cyan)}.progress-track{width:100%;height:5px;border-radius:10px;background:#234251;overflow:hidden;margin-top:8px}.progress-track i{display:block;background:linear-gradient(to right,#1e9cb2,#6de1e8);height:100%;width:0%;transition:width .3s}.metric-secondary{display:flex;justify-content:space-between;gap:6px;color:#6f98a8;font-size:8px;letter-spacing:.045em;padding-top:9px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:19px;gap:18px 9px;padding-bottom:4px}.stat-grid strong{display:block;margin-top:7px;font-size:21px;font-variant-numeric:tabular-nums;font-weight:710}.stat-grid strong em,.unit-stats em{font-style:normal;color:#8aaebe;font-size:11px;font-weight:570}.stat-grid .green{color:var(--green)}
.control-row{margin-top:18px}.control-row label{display:flex;justify-content:space-between;font-size:10px;font-weight:720;letter-spacing:.065em;color:#bacfd9}.control-row label span{font-weight:500;letter-spacing:0;color:var(--cyan);font-size:11px}.control-row b{font-size:14px;font-weight:740}.control-row input{appearance:none;width:100%;height:5px;border-radius:5px;margin:15px 0 8px;background:linear-gradient(to right,#49bdd2,#426676);accent-color:var(--cyan);cursor:pointer}.control-row input::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:#a1f2f3;border:2px solid #184e61;box-shadow:0 0 8px #46bcdb99}.hint-row{display:flex;justify-content:space-between;color:#547688;font-size:8px;letter-spacing:.09em}.scenario-buttons{display:flex;gap:6px;margin-top:19px}.subtle-button{background:#132d3b;color:#9dc0cd;border:1px solid #274759;padding:9px 6px;border-radius:3px;font-size:9px;letter-spacing:.025em;font-weight:760;flex:1}.subtle-button.active{color:var(--cyan);border-color:#3890a4;background:#123544}.subtle-button.warning:hover{color:var(--gold)}.emergency{width:100%;background:#38252c;border:1px solid #8b454c;border-radius:4px;color:#ff9c91;padding:13px 8px;font-size:10px;letter-spacing:.09em;font-weight:760;margin-top:17px}.emergency.active{background:#622d35;color:#fff}.sidebar-note{font-size:10px;color:#698a9c;margin-top:15px;line-height:1.6}
.scene-panel{position:relative;min-width:0;min-height:0;background:linear-gradient(180deg,#739aa1 0%,#395d6c 30%,#102d3b 72%,#09212e 100%);overflow:hidden}#sky{position:absolute;inset:0;background:radial-gradient(ellipse at 72% 20%,#b9bdab82 0%,transparent 28%),linear-gradient(to bottom,#9aabb1 0%,#648995 32%,#375d6f 53%,#17394c 72%,#092532 100%)}#scene{display:block;position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}#scene:active{cursor:grabbing}.vignette{pointer-events:none;position:absolute;inset:0;background:linear-gradient(to bottom,#061c2a3b 0%,transparent 30%,transparent 76%,#05162278),linear-gradient(to right,#061a272a,transparent 16%,transparent 83%,#061a2738)}.location-tag{pointer-events:none;position:absolute;top:23px;left:24px;display:flex;gap:11px;align-items:center;text-shadow:0 2px 10px #051520}.horizon-bullet{border:1px solid #c9eefba0;color:#d8faff;padding:5px 8px;background:#06344970;font-size:19px}.location-tag strong{font-size:11px;display:block;letter-spacing:.14em;color:#e1f6ff}.location-tag span{display:block;color:#bdd8df;font-size:9px;letter-spacing:.13em;margin-top:5px}.scene-tools{position:absolute;top:86px;left:24px;display:flex;flex-direction:column;gap:6px}.tool{display:flex;align-items:center;gap:9px;border:1px solid #4c8390aa;color:#c7ebf0;background:#092b3dc5;backdrop-filter:blur(7px);padding:8px 11px;border-radius:3px;font-size:13px;font-weight:800;text-align:left;min-width:139px}.tool span{font-size:9px;letter-spacing:.09em}.tool.active{border-color:#68d9ee;color:#9ff3ff;background:#0b435ac2}.north-indicator{position:absolute;top:30px;right:26px;color:#c0e5ef;text-align:center;text-shadow:0 0 8px #003c58}.north-indicator div{font-size:26px;line-height:25px}.north-indicator span{font-size:10px;letter-spacing:.16em}.scene-hints{position:absolute;left:23px;bottom:22px;display:flex;gap:12px;flex-wrap:wrap;font-size:8px;letter-spacing:.1em;color:#c1d4db;text-shadow:0 1px 4px #022}.scene-hints span+span{border-left:1px solid #ffffff50;padding-left:12px}.render-stats{position:absolute;right:21px;bottom:22px;font-size:9px;letter-spacing:.1em;color:#c8e0e6;text-shadow:0 1px 5px #012}.selection-marker{position:absolute;z-index:3;transform:translate(-50%,-96%);pointer-events:none;text-align:center;color:#b9fbff;font-size:9px;font-weight:760;letter-spacing:.1em;text-shadow:0 0 12px #021}.selection-marker span{background:#0c3447d9;padding:6px 9px;border:1px solid #58cee2;display:block;border-radius:3px}.selection-marker i{height:24px;width:1px;display:block;background:#70dbe3;margin:0 auto}.selection-marker[hidden]{display:none}
.loader{position:absolute;inset:0;background:#051622e8;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:4;gap:15px;text-align:center;transition:opacity .45s}.loader-mark{font-size:60px;color:var(--cyan);animation:turn 5s linear infinite}.loader strong{font-size:12px;letter-spacing:.17em}.loader span{color:#8cacb8;font-size:11px}.loader.hidden{opacity:0;pointer-events:none}.toast{position:absolute;left:50%;bottom:66px;transform:translateX(-50%);background:#102b3be8;border:1px solid #60c8de;color:#d9f5fc;padding:11px 17px;font-size:11px;z-index:6;max-width:80%;text-align:center}.toast[hidden]{display:none}
.selected-header{padding:23px 0 14px;border-bottom:1px solid var(--line)}.selected-header>span:first-child{font-size:9px;color:#87b4c2;letter-spacing:.13em}.selected-header h2{margin:6px 0 10px;font-size:30px;letter-spacing:.025em}.status-chip{display:inline-block;font-size:9px;letter-spacing:.08em;border:1px solid #346658;color:#82e3bd;background:#173a38;padding:6px 8px;border-radius:3px}.status-chip.warning{border-color:#7c6944;color:var(--gold);background:#332e21}.status-chip.offline{border-color:#784549;color:#fd9692;background:#35242d}.selected-display{height:134px;display:flex;align-items:center;justify-content:center;gap:23px;position:relative;border-bottom:1px solid var(--line)}.selected-display>span{font-size:10px;color:#c1e0e8;letter-spacing:.095em;line-height:1.6}.selected-display em{font-size:9px;color:#7799aa;font-style:normal;letter-spacing:0}.rotor-art{width:90px;height:90px;display:grid;place-items:center;position:relative}.art-ring{width:80px;height:80px;border:1px dashed #407387;border-radius:50%;position:absolute}.art-ring:before,.art-ring:after{content:'';position:absolute;border-radius:50%;inset:12px;border:1px solid #2d6475}.art-ring:after{inset:30px}.art-hub{height:11px;width:11px;background:#87ddea;border-radius:50%;position:relative;animation:turn 6s linear infinite}.art-hub i{position:absolute;display:block;background:linear-gradient(90deg,#c3edf1,#4393ac);height:35px;width:5px;left:3px;bottom:6px;clip-path:polygon(40% 0,100% 0,80% 100%,20% 100%);transform-origin:50% 100%}.art-hub i:nth-child(2){transform:rotate(120deg)}.art-hub i:nth-child(3){transform:rotate(240deg)}
.unit-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px 10px;padding:20px 0 21px;border-bottom:1px solid var(--line)}.unit-stats span{font-size:9px;display:block;letter-spacing:.1em;color:#7b9eae}.unit-stats strong{display:block;font-size:22px;font-weight:710;margin-top:7px;font-variant-numeric:tabular-nums}.unit-navigator{display:flex;justify-content:space-between;align-items:center;margin:15px 0;color:#9fbfc9;font-size:10px;letter-spacing:.1em}.unit-navigator button{background:#102b39;border:1px solid #285064;color:#9bd5e3;width:35px;height:28px;border-radius:3px}.unit-navigator #unitIndex{color:#dcf8fc;font-weight:800}.inspect-btn-row,.service-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.primary-action,.service-button,.unit-stop{font-size:9px;font-weight:800;letter-spacing:.045em;padding:10px 4px;border-radius:3px}.primary-action{background:#0f5266;color:#c2f5fe;border:1px solid #32899e}.primary-action.muted{background:#18384a;border-color:#315869;color:#c4e1ed}.service-btn-row{margin-top:9px}.service-button{background:#17343e;border:1px solid #345867;color:#d8eaf3}.service-button.red{color:#f9aaa3}.service-button.green{color:#8de5c4}.unit-stop{width:100%;color:#b7cbd2;background:transparent;border:1px solid #34505d;margin-top:8px}.right-panel .section-heading.second{padding-top:18px;margin-top:19px}#minimap{width:100%;height:148px;margin-top:14px;background:#071d2b;border:1px solid #284555;cursor:crosshair}.map-key{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.045em;margin-top:8px;color:#87a9b7}.map-key i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.key-online{background:#6fe1d3}.key-warn{background:#f8bd70}.key-off{background:#ec7974}
.bottom-bar{height:97px;flex:none;display:flex;align-items:center;gap:18px;padding:12px 26px;background:#071924;border-top:1px solid #284656;z-index:5}.timeline-title{min-width:187px}.timeline-title span{display:block;font-size:9px;color:#75a0ad;letter-spacing:.14em;font-weight:750}.timeline-title strong{display:block;margin-top:7px;font-size:10px;letter-spacing:.11em;color:#b9d6e3}#trend{height:75px;width:100%;flex:1;min-width:90px}.footer-controls{display:flex;align-items:center;gap:8px}.sim-speed label{font-size:8px;color:#7b9ead;letter-spacing:.1em;display:block;margin-bottom:5px}.sim-speed select{background:#123040;color:#c9e6ee;border:1px solid #2e5567;border-radius:3px;padding:8px 10px;font-size:10px;min-width:105px}.reset-button{background:#113143;color:#9acbd9;border:1px solid #315568;font-size:10px;font-weight:720;border-radius:3px;padding:10px 13px;margin-top:13px;white-space:nowrap}.footer-mark{color:#587986;border-left:1px solid #2b4956;padding-left:17px;font-size:9px;font-weight:740;letter-spacing:.1em;white-space:nowrap}.footer-mark span{color:#3b6879;padding:0 2px}
dialog{max-width:530px;width:min(90vw,530px);background:#0c2534;border:1px solid #478399;color:#d1e9f1;padding:25px 27px;box-shadow:0 30px 100px #0017;border-radius:5px;line-height:1.8;font-size:13px}dialog::backdrop{background:#010b11b8}.help-header{display:flex;justify-content:space-between;gap:14px;align-items:center;color:var(--cyan);letter-spacing:.13em;font-size:12px}.help-header button{border:0;background:none;font-size:21px;color:#cbecf3}.help-small{font-size:11px;color:#82a3b1}
@media(max-width:1200px){.workspace{grid-template-columns:252px minmax(300px,1fr) 244px}.sidebar{padding:18px 13px}.big-power strong{font-size:43px}.footer-mark{display:none}.scene-hints span:nth-child(n+3){display:none}.unit-stats strong{font-size:19px}.brand{min-width:240px}}@media(max-width:900px){html,body{overflow:auto}#app{height:auto;min-height:100dvh;overflow:visible}.top-center{display:none}.topbar{height:64px}.workspace{grid-template-columns:250px minmax(350px,1fr)}.right-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px}.right-panel>.section-heading:first-child,.selected-header,.selected-display,.unit-stats{grid-column:1}.right-panel>.section-heading.second,#minimap,.map-key,.unit-navigator,.inspect-btn-row,.service-btn-row,.unit-stop{grid-column:2}.right-panel .section-heading.second{margin-top:0}.scene-panel{min-height:530px}.bottom-bar{min-height:97px}.clock{display:none}}@media(max-width:650px){.workspace{display:flex;flex-direction:column}.scene-panel{min-height:520px;order:1}.left-panel{order:2}.right-panel{order:3;display:block}.topbar{padding:0 12px}.brand{min-width:unset}.header-actions{gap:4px}.sidebar{max-height:unset;padding:24px}.bottom-bar{flex-wrap:wrap;height:auto;padding:17px;gap:12px}.timeline-title{min-width:130px}#trend{min-width:150px;height:66px}.footer-controls{width:100%;justify-content:flex-end}.scene-tools{top:88px;left:13px}.location-tag{top:19px;left:13px}.scene-hints{left:12px;bottom:12px}.render-stats{display:none}}
