:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#d9e5eb;background:#0a1119;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #83e4c5;outline-offset:3px}button:disabled{opacity:.55;cursor:not-allowed}
.app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 29px;border-bottom:1px solid #263541;background:#0d151f;flex-shrink:0}.branding{display:flex;align-items:center;gap:12px}.brandmark{display:grid;place-items:center;width:37px;height:37px;background:#163f3e;border:1px solid #3c8175;color:#a2ffcf;font-size:26px;transform:rotate(-9deg)}.brandline{font-size:15px;font-weight:850;letter-spacing:.11em;color:#f4f5ed}.brandline span{color:#87e7c4}.brandline em{font-style:normal;font-weight:500;letter-spacing:.13em;color:#718b96;font-size:10px}.brandnote{font-size:9px;letter-spacing:.17em;color:#8599a8;margin-top:5px}.bullet{color:#5bd7b1;font-size:7px;margin:0 8px}.topcenter{letter-spacing:.14em;font-size:10px;color:#97aab7}.stagepulse{display:inline-block;width:7px;height:7px;background:#6fe3b6;border-radius:50%;box-shadow:0 0 12px #42c992;margin-right:10px}.topdivider{margin:0 12px;color:#4b636d}.topend{display:flex;align-items:center;gap:14px}.edition{font:11px ui-monospace,monospace;color:#a9c0c4;letter-spacing:.12em;padding:9px 10px;border:1px solid #344653}.iconbutton{width:34px;height:34px;background:#14212e;border:1px solid #354957;color:#b7d6db;border-radius:5px;font-weight:bold}
.workspace{display:grid;grid-template-columns:minmax(275px,307px) minmax(450px,1fr) minmax(282px,315px);min-height:calc(100vh - 72px);max-width:2180px;width:100%;margin:0 auto}.sidebar{background:#101a26;min-width:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#314957 transparent}.settings{border-right:1px solid #273745;padding:26px 22px 23px}.telemetry{border-left:1px solid #273745;padding:26px 21px 18px}.panel-head .eyebrow{margin-bottom:15px;display:block}.eyebrow{color:#6bcfae;font-size:10px;letter-spacing:.17em;font-weight:750}.panel-head h2{font-size:20px;font-weight:660;margin:0 0 9px;color:#eef5f7}.panel-head p{color:#8fa4b1;font-size:11.5px;line-height:1.7;margin:0 0 25px}.section-head{margin:24px 0 18px;display:flex;justify-content:space-between;color:#b6c6d1;font-size:10px;font-weight:760;letter-spacing:.13em;border-top:1px solid #2a3b47;padding-top:18px}.section-head span{font:10px ui-monospace,monospace;color:#69838d}.range-control{margin:0 0 23px}.range-label{display:flex;align-items:center;justify-content:space-between;gap:6px}.range-label label{color:#e1ebee;font-size:12px;font-weight:650}.range-label .sub{display:block;font-weight:400;font-size:10px;color:#768f9d;margin-top:4px}.range-label output{color:#a7ead3;background:#172d35;border:1px solid #234a4c;padding:5px 6px;min-width:69px;font:11px ui-monospace,monospace;text-align:center}.range-control input[type=range]{width:100%;margin:17px 0 5px;appearance:none;height:4px;border-radius:5px;background:linear-gradient(to right,#64d7ad 0%,#64d7ad var(--fill,50%),#314958 var(--fill,50%),#314958 100%);outline-offset:5px}.range-control input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;background:#a4f8d9;border:3px solid #153b36;border-radius:50%;box-shadow:0 0 0 1px #8edcbf;cursor:ew-resize}.range-control input::-moz-range-thumb{width:10px;height:10px;background:#a4f8d9;border:2px solid #153b36;border-radius:50%;cursor:ew-resize}.range-ext{display:flex;justify-content:space-between;font-size:10px;color:#6e8795}.toggleline{display:flex;align-items:center;justify-content:space-between;margin:16px 0;gap:6px}.toggleline strong,.toggleline small{display:block}.toggleline strong{font-size:12px;font-weight:600}.toggleline small{font-size:10px;color:#839da8;margin-top:3px}.togglewrap{position:relative;display:block;flex-shrink:0}.togglewrap input{position:absolute;opacity:0}.switch{display:block;width:36px;height:20px;background:#304451;border:1px solid #526472;border-radius:12px;transition:background .2s}.switch:before{content:'';display:block;width:14px;height:14px;background:#b2c0ca;border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .2s}.togglewrap input:checked+.switch{background:#2b8c72;border-color:#7bdab6}.togglewrap input:checked+.switch:before{transform:translateX(16px);background:#e2fff0}.togglewrap input:focus-visible+.switch{outline:2px solid #a4f8d9;outline-offset:3px}.speed-line{display:flex;justify-content:space-between;align-items:center;margin:19px 0}.speed-line label{font-size:11px;color:#aabfc9}.speed-line select{background:#1b2d39;border:1px solid #385461;color:#e8f3f4;border-radius:3px;padding:8px 4px;font-size:10px;max-width:114px}.preset-list{display:flex;flex-direction:column;gap:7px}.preset{display:flex;gap:11px;align-items:center;background:#162431;border:1px solid #29404d;color:#a7b9c4;text-align:left;border-radius:3px;padding:10px 12px;font-size:11.5px}.preset span{font:11px ui-monospace,monospace;color:#648793}.preset.active{background:#1a3b3a;border-color:#4bad8e;color:#ddfbe9}.preset.active span{color:#7becc6}.preset:hover{border-color:#75bfa7}.action-row{display:flex;gap:8px;margin-top:22px}.primary,.secondary{padding:12px 13px;border-radius:4px;border:1px solid #68e0b3;font-size:12px;font-weight:750}.primary{background:#8de7c6;color:#0a2829}.primary:hover{background:#adfce0}.secondary{background:#1b2b39;border-color:#385362;color:#d3e3e8}.action-row .primary{flex:1}.secondary:hover{background:#2b4150}.disclaimer{font-size:9px;line-height:1.6;color:#5f7c89;margin:23px 0 0;text-transform:uppercase;letter-spacing:.065em}
.viewer-section{min-width:0;display:flex;flex-direction:column;position:relative;background:#101d28}.view-heading{min-height:132px;display:flex;justify-content:space-between;align-items:center;padding:25px 32px 23px;gap:16px;border-bottom:1px solid #273a48;background:radial-gradient(ellipse at 65% 50%,#172b36 0%,#101c27 65%)}.view-heading h1{font-size:32px;font-weight:780;letter-spacing:.06em;margin:9px 0 1px;color:#f3f8f2;line-height:1}.view-heading h1 span{color:#72d6b3}.view-heading p{font-size:12px;color:#a4b9c1;margin:8px 0 0;letter-spacing:.01em}.view-info{display:flex;flex-direction:column;gap:11px;align-items:flex-end;font:10px ui-monospace,monospace;letter-spacing:.11em;color:#91aeb6;white-space:nowrap}.view-info span:last-child{color:#8ee5bd}.live-dot{display:inline-block;width:7px;height:7px;background:#68deb1;border-radius:50%;margin-right:7px;box-shadow:0 0 11px #59c798}.viewport{height:calc(100vh - 72px - 132px - 76px);min-height:445px;position:relative;background:#a6c7ca;overflow:hidden;touch-action:none}.viewport canvas#glCanvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.viewport canvas:active{cursor:grabbing}.view-top-left{position:absolute;top:20px;left:21px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.view-tag,.time-tag{background:rgba(9,29,39,.79);border:1px solid rgba(135,212,204,.27);padding:8px 11px;font:9px ui-monospace,monospace;color:#d9f4ed;letter-spacing:.1em;backdrop-filter:blur(8px)}.view-tag span{color:#8eeac5;margin:0 5px}.time-tag{width:max-content;color:#a1e9d1}.floating-status{position:absolute;right:16px;top:19px;padding:9px 12px;display:flex;align-items:center;gap:8px;background:rgba(11,34,41,.85);border:1px solid rgba(98,193,161,.6);color:#bdffdb;font:9px ui-monospace,monospace;letter-spacing:.08em}.status-beacon{height:7px;width:7px;background:#83f0bd;border-radius:50%}.floating-status.alert{border-color:#f3a76a;color:#ffd0a5}.floating-status.alert .status-beacon{background:#f4a962}.floating-status.flood{border-color:#ef756e;color:#ffbeba}.floating-status.flood .status-beacon{background:#e77669}.zoom-controls{position:absolute;right:17px;bottom:60px;display:flex;flex-direction:column;gap:3px}.zoom-controls button{width:35px;height:35px;border:1px solid rgba(144,198,204,.5);background:rgba(10,37,43,.8);color:#edfff4;font-size:19px}.zoom-controls button:hover{background:#23635b}.viewport-footer{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:linear-gradient(0deg,rgba(14,34,40,.88),rgba(14,34,40,.7));color:#d1e4e6;font:9px ui-monospace,monospace;letter-spacing:.07em;gap:8px}.viewport-footer i{color:#77d8b6;font-style:normal;margin:0 7px}.viewport-footer #renderStatus{color:#9ce8d0;white-space:nowrap}.hotspot{position:absolute;z-index:3;display:none;transform:translate(-50%,-50%);white-space:nowrap;background:rgba(17,41,46,.83);border:1px solid rgba(167,235,203,.8);box-shadow:0 0 0 3px rgba(30,77,65,.15);color:#d0ffe7;font:11px ui-monospace,monospace;padding:7px;border-radius:3px;backdrop-filter:blur(4px)}.hotspot span{color:#f4fff7;font-size:9px;margin-left:5px}.hotspot:hover{background:#25665a}.lower-bar{min-height:76px;padding:0 27px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #29414c}.lower-title{display:flex;align-items:center;gap:13px}.atlas-symbol{font-size:31px;color:#80dabb}.lower-title strong,.lower-title small{display:block}.lower-title strong{font-size:12px;color:#e5eee8}.lower-title small{font-size:10px;color:#8da9b4;margin-top:6px}.export{background:transparent;border:1px solid #395863;color:#addfd2;padding:11px 13px;font-size:11px;white-space:nowrap}.export:hover{background:#204341}.fatal-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:#101a26;color:#e7f1f3}.fatal-overlay[hidden]{display:none}.fatal-overlay p{max-width:460px;line-height:1.5;color:#b7c9ce}
.stat-primary{padding:19px;background:linear-gradient(120deg,#1b3a3a,#192d37 90%);border:1px solid #376c66;margin-top:3px}.stat-primary>span{color:#9ec5c5;font:10px ui-monospace,monospace;letter-spacing:.09em}.big-number{margin:8px 0 1px;display:flex;align-items:baseline;gap:7px}.big-number strong{font:700 clamp(36px,3vw,48px) ui-monospace,monospace;letter-spacing:-.09em;color:#e6fff3}.big-number span{color:#a0d3ca;font-size:18px}.stat-status{border-top:1px solid #386660;color:#80dfad;padding-top:13px;font-size:11px;margin-top:11px}.stat-status.warning{color:#f0ae72}.stat-status.flood{color:#f9877f}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.stat{padding:13px 12px;background:#152633;border:1px solid #2b4150;min-height:96px}.stat span,.stat strong,.stat small{display:block}.stat span{font:9px ui-monospace,monospace;letter-spacing:.07em;color:#8fa9b5}.stat strong{font:600 24px ui-monospace,monospace;letter-spacing:-.07em;color:#e6f3ed;margin:10px 0 2px}.stat small{font-size:10px;color:#879da9}.chart-header{display:flex;justify-content:space-between;align-items:end;margin:23px 0 14px}.chart-header h3{font-size:14px;margin:5px 0 0;color:#edf8f4}.chart-label{font:9px ui-monospace,monospace;letter-spacing:.08em;color:#72d7b2;border:1px solid #386c64;padding:5px 7px}.history{display:block;background:#111f2a;border:1px solid #2d4350;width:100%;height:155px}.chart-key{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-top:9px;font-size:9px;color:#94acb7}.key-line,.key-warning{display:inline-block;width:14px;height:2px;background:#7de4bd;margin-right:6px;vertical-align:middle}.key-warning{background:#e6a16b}.telemetry .section-head{margin-top:21px}.tabbar{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #30515a}.tab{padding:9px 0;background:none;border:0;border-bottom:2px solid transparent;color:#839da9;font-size:11px}.tab.selected{color:#8cf2c7;border-bottom-color:#7fe7bc;font-weight:700}.info-body{font-size:11px;line-height:1.72;color:#9fb6bf;padding:13px 0;min-height:135px}.info-body strong{color:#e4eeeb;font-size:12px}.info-body p{margin:8px 0}.info-body .formula{display:block;background:#182e39;border:1px solid #31545b;padding:10px;margin-top:10px;font:10px ui-monospace,monospace;color:#a9e5d0}.telemetry-bottom{display:flex;justify-content:space-between;gap:5px;border-top:1px solid #2b3c49;padding-top:16px;font:9px ui-monospace,monospace;color:#718e9e;letter-spacing:.05em;margin-top:auto}
dialog{border:1px solid #4c8d81;color:#e1f1ed;background:#11212d;max-width:630px;width:calc(100% - 30px);border-radius:5px;padding:25px 30px;box-shadow:0 20px 90px #0009}dialog::backdrop{background:#08131dcf;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-head h2{margin:0}.dialog-head button{background:none;border:0;color:#e0f2ee;font-size:25px}.helpgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.helpgrid>div{background:#172d38;border:1px solid #2f4b55;padding:13px}.helpgrid strong{font-size:12px}.helpgrid p,dialog>p{font-size:12px;line-height:1.55;color:#a9bfc6}
@media(max-width:1440px){.workspace{grid-template-columns:266px minmax(380px,1fr) 275px}.settings,.telemetry{padding-left:17px;padding-right:17px}.view-heading{padding:22px}.view-info{font-size:9px}.topcenter{display:none}}
@media(max-width:1080px){.workspace{grid-template-columns:245px minmax(330px,1fr)}.telemetry{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-content:start;border-left:0;border-top:1px solid #28434b}.telemetry>.panel-head,.telemetry>.stat-primary{grid-column:1}.telemetry>.stat-grid{grid-column:1}.telemetry>.chart-header,.telemetry>.history,.telemetry>.chart-key{grid-column:2}.telemetry>.chart-header{grid-row:1;margin:14px 0}.telemetry>.history{grid-row:2/4;height:240px}.telemetry>.chart-key{grid-row:4}.telemetry>.section-head,.telemetry>.tabbar,.telemetry>.info-body,.telemetry>.telemetry-bottom{grid-column:1/-1}.viewport{height:620px}.view-info{display:none}}
@media(max-width:700px){.topbar{height:62px;padding:0 14px}.brandline{font-size:11px}.brandline em,.edition{display:none}.brandnote{font-size:8px}.workspace{display:flex;flex-direction:column}.viewer-section{order:1}.settings{order:2;border-right:0;border-top:1px solid #334853}.telemetry{order:3;display:block}.view-heading{min-height:113px;padding:18px}.view-heading h1{font-size:27px}.view-heading p{font-size:11px}.viewport{height:60vh;min-height:410px}.view-top-left{top:12px;left:10px}.floating-status{top:12px;right:9px;font-size:8px;padding:7px}.hotspot{font-size:10px;padding:5px}.hotspot span{display:none}.viewport-footer{font-size:8px}.viewport-footer #renderStatus{display:none}.lower-bar{padding:0 13px}.lower-title strong{font-size:11px}.lower-title small{font-size:9px}.export{font-size:9px;padding:9px}.settings{padding:22px}.telemetry{padding:22px}.history{height:190px}.helpgrid{grid-template-columns:1fr}dialog{max-height:85vh;overflow:auto}}
