:root{color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--mint:#7ce9c1;--muted:#7894a3;--line:#233846;--bg:#08131d;--blue:#53b9d4}*{box-sizing:border-box}html,body{padding:0;margin:0;width:100%;height:100%;background:#060f18;color:#e2f0f3;overflow:hidden;font-size:12px}button,input{font:inherit}button{cursor:pointer}#app{height:100vh;display:grid;grid-template-columns:minmax(0,1fr) 416px}#viewport{position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 60% 18%,#366c7c 0,#1a3446 38%,#071521 85%)}#scene{display:block;width:100%;height:100%;outline:none;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.viewportTop{position:absolute;top:18px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.coords{border:1px solid #8cbbc346;background:#071a26cb;backdrop-filter:blur(9px);padding:12px 16px;font-size:10px;letter-spacing:1.2px;font-weight:700;color:var(--mint)}.coords strong{color:#ecffff;font-size:11px}.coords .dim{color:#4c6974;padding:0 9px}.coords .site{color:#8fb0b9;margin-left:15px;font-weight:500}#fps{color:#a3c0ca;font-size:10px;letter-spacing:1px;background:#081922c8;padding:11px;border:1px solid #45616d70}#hudCrosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#b1fff4aa;font-size:27px;font-weight:200;pointer-events:none;display:none}#viewMarker{position:absolute;bottom:90px;left:25px;background:#071925e8;border-left:2px solid var(--mint);padding:10px 14px;pointer-events:none;min-width:170px;max-width:270px}#viewMarker span{display:block;font-size:13px;font-weight:800;letter-spacing:.8px}#viewMarker small{display:block;font-size:10px;color:#9ebac5;margin-top:6px;line-height:1.4}.markerDot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--mint);right:12px;top:12px;box-shadow:0 0 12px var(--mint)}.viewportBottom{position:absolute;bottom:20px;left:22px;display:flex;gap:14px;color:#afd3d6;letter-spacing:1px;font-size:9px;opacity:.9}.viewportBottom span:not(:first-child):before{content:'•';margin-right:13px;color:var(--mint)}#scaleBar{position:absolute;bottom:19px;right:24px;color:#afc8d0;display:flex;gap:7px;align-items:flex-end;font-size:9px}#scaleBar div{width:72px;border-bottom:2px solid #b9e5e8;height:8px;border-left:2px solid #b9e5e8;border-right:2px solid #b9e5e8}#panel{background:linear-gradient(160deg,#0b1a25,#07121c 60%);border-left:1px solid #29414c;display:flex;flex-direction:column;overflow:hidden}header.brand{height:84px;padding:21px 25px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);flex-shrink:0}.brandIcon{width:43px;height:43px;background:#83efc815;border:1px solid #83efc843;display:grid;place-items:center}.brandTop{font-size:21px;font-weight:900;letter-spacing:2px;color:#ecf9fb}.brandTop span{font-size:9px;font-weight:600;color:#6f9ca5;letter-spacing:1.3px}.brandSub{font-size:9px;color:var(--mint);letter-spacing:1.7px;margin-top:6px}.modeRow{height:48px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0}.status{font-size:10px;font-weight:800;color:#99eeca;letter-spacing:1px}.status i{display:inline-block;background:#87ebbc;width:7px;height:7px;border-radius:100%;box-shadow:0 0 11px #71f0bba4;margin-right:8px}#simClock{font-size:10px;color:#6e90a1;font-variant-numeric:tabular-nums}.tabs{height:49px;display:flex;border-bottom:1px solid var(--line);flex-shrink:0}.tab{flex:1;background:transparent;border:0;border-bottom:2px solid transparent;color:#698b9d;font-weight:800;letter-spacing:1.4px;font-size:10px}.tab:hover{color:white}.tab.active{border-bottom-color:var(--mint);color:var(--mint);background:#14312f58}.page{display:none;flex:1;overflow-y:auto;padding:22px 24px 24px;scrollbar-width:thin;scrollbar-color:#355462 transparent}.page.active{display:block}.sectionHead{font-size:10px;font-weight:900;letter-spacing:1.7px;color:#c5dfe1;display:flex;justify-content:space-between;align-items:center}.sectionHead span{color:#5e7d8c;font-size:8px;letter-spacing:.6px;font-weight:650}.metricHero{border:1px solid #37605e;background:linear-gradient(100deg,#163a3a,#12282d);padding:19px 19px 18px;display:flex;justify-content:space-between;align-items:end;margin-top:13px;min-height:120px}.metricHero span{color:#a2bfc0;letter-spacing:1.3px;font-size:9px;font-weight:800}.heroNumber{display:flex;align-items:baseline;gap:8px;margin-top:16px}.heroNumber strong{font-size:47px;letter-spacing:-1.8px;line-height:.95;color:#a5f9d7;font-weight:750;font-variant-numeric:tabular-nums}.heroNumber em{font-style:normal;font-size:12px;color:#a2cebd}.trend{width:116px;align-self:center;text-align:right}.trend svg{width:100%;height:49px;opacity:.85}.trend span{color:#84bfae;font-size:8px}.metricGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.metric{border:1px solid #263d48;background:#101f2b;min-height:91px;padding:14px}.metric span{color:#8da9b6;font-size:9px;letter-spacing:1px;font-weight:750}.metric strong{font-size:23px;font-variant-numeric:tabular-nums;font-weight:750;display:block;margin:10px 0 3px}.metric small{color:#7294a2;font-size:10px}.controlHead{margin-top:25px;margin-bottom:14px}.controlHead button{background:none;border:0;color:#84e6c0;font-size:9px;letter-spacing:.8px;font-weight:850}.control{margin-bottom:17px}.control>div:first-child{display:flex;justify-content:space-between;align-items:center}.control label{color:#bdcfd7;font-size:11px}.control output{font-size:11px;font-weight:850;font-variant-numeric:tabular-nums;color:var(--mint)}.control input[type=range]{margin:10px 0 5px;display:block;width:100%;height:5px;background:#2d4a53;accent-color:var(--mint);cursor:pointer}.rangeEdges{display:flex;justify-content:space-between;font-size:8px;color:#577989;letter-spacing:.7px}.toggleSection{border-top:1px solid var(--line);padding-top:15px;margin-top:3px;display:flex;flex-direction:column;gap:11px}.toggleSection label{display:flex;gap:10px;align-items:center;color:#a7bfcb;cursor:pointer;font-size:11px}.toggleSection input{accent-color:#7fe9c0;margin:0}.page#processPage{padding-top:23px}.minorText{color:#7899a9;line-height:1.6;font-size:11px;margin:14px 0 20px}.diagramCard{background:#0b202c;border:1px solid #284450;padding:10px 10px 0}.diagramTitle{font-size:8px;color:#8aa9b6;font-weight:800;letter-spacing:1px;padding:7px 8px}.diagramCard .svgPanel{width:100%;height:290px;display:block}.diagramCard .svgPanel svg{display:block;width:100%;height:100%}.processStat{display:flex;justify-content:space-between;padding:12px 2px;border-bottom:1px solid #1e3643;font-size:10px;letter-spacing:1px;color:#91aeb8}.processStat strong{font-size:13px;color:#a4f5d5;font-variant-numeric:tabular-nums}.disclaimer{color:#668492;font-size:10px;line-height:1.6;margin-top:24px}.chartLegend{display:flex;gap:18px;color:#739ba6;font-size:9px;letter-spacing:.6px}.chartLegend i{display:inline-block;width:7px;height:7px;margin-right:5px;background:var(--mint);border-radius:100%}.chartLegend i.blue{background:#54bcff}#history{width:100%;height:140px;display:block;background:#0b1e2a;border:1px solid #26404c;margin-bottom:10px}.districtList{display:flex;flex-direction:column;gap:9px;margin:16px 0 24px}.district{border:1px solid #2c4651;background:#10222d;padding:13px;display:flex;align-items:center;gap:12px;text-align:left;color:#dcebee;width:100%;transition:.2s}.district:hover,.district.selected{border-color:#78dfbe;background:#183630}.districtIcon{font-size:22px;width:36px;text-align:center}.district strong{font-size:12px;letter-spacing:.3px;display:block}.district small{color:#7a9aa8;font-size:10px;display:block;margin-top:5px}.district .arrow{margin-left:auto;font-size:18px;color:#79c7aa}.camGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.camGrid button{background:#10232d;border:1px solid #34515b;padding:13px;color:#91b0bd;letter-spacing:1px;font-size:10px;font-weight:800}.camGrid button.selected,.camGrid button:hover{border-color:var(--mint);color:var(--mint)}.assetSummary{padding:15px;border:1px solid #284852;margin-top:20px;color:#9abbc3;line-height:1.7;font-size:11px}footer{min-height:37px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:0 23px;gap:8px;flex-shrink:0;color:#527180;letter-spacing:.6px;font-size:8px}#loading{position:absolute;inset:0;background:linear-gradient(140deg,#081622f5,#14313cf5);z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .65s}#loading.hidden{opacity:0;pointer-events:none}.loadBrand{font-size:43px;font-weight:900;letter-spacing:3px;color:#eafff5}.loadBrand span{color:var(--mint);font-weight:300}.loadTrack{width:280px;height:3px;background:#39565f;margin:14px}.loadTrack div{height:100%;width:0;background:var(--mint);box-shadow:0 0 13px #88edc9;transition:.2s}#loading p{font-weight:800;font-size:10px;letter-spacing:2px;margin-top:20px;color:#9abac2}#loading small{color:#6d949e;font-size:10px;margin-top:5px}#err{position:absolute;z-index:99;top:10px;left:10px;right:430px;border:1px solid #c66;background:#230f17ed;color:#ffc2c5;padding:20px;font-size:13px;white-space:pre-wrap}@media(max-width:1050px){#app{grid-template-columns:minmax(0,1fr) 360px}.heroNumber strong{font-size:39px}header.brand{padding-left:16px}.brandTop{font-size:18px}.page{padding:17px}}@media(max-width:760px){html,body{overflow:auto}#app{display:flex;flex-direction:column;height:auto;min-height:100vh}#viewport{height:55vh;min-height:380px}#panel{min-height:65vh;overflow:visible}.page{max-height:650px}.coords .site{display:none}.viewportBottom{flex-wrap:wrap;max-width:70%}#err{right:10px}footer{flex-wrap:wrap}}
.secondDiagram{margin-top:10px}.secondDiagram .svgPanel{height:132px}
