:root{--bg:#0a1c25;--panel:#102832;--panel2:#132e38;--line:#29434d;--muted:#819ca6;--text:#e9f1ed;--teal:#73d8c6;--teal2:#2da99a;--amber:#e9bc75;--red:#dc766a;--shadow:0 8px 40px #00111944;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:760px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:#07171f}.header{height:75px;min-height:75px;background:#0b232d;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #29434b;padding:0 26px;gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:39px;height:39px;border:1px solid #5fa99f;display:grid;place-items:center;transform:rotate(-13deg);border-radius:7px;color:var(--teal)}.logo-waves{font-size:30px;transform:rotate(13deg);line-height:1}.brand-name{font-size:15px;font-weight:800;letter-spacing:2px;white-space:nowrap}.brand-slash{color:var(--teal);margin:0 3px}.brand-sub{color:#8eacb3;font-size:9px;letter-spacing:1.7px;margin-top:4px;white-space:nowrap}.dotsep{padding:0 3px}.header-center{display:flex;align-items:center;gap:13px;font-size:10px;color:#aec6c7;letter-spacing:1px}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.live-dot{width:7px;height:7px;background:#62d3aa;border-radius:50%;box-shadow:0 0 0 4px #62d3aa19}.h-divider{width:1px;height:16px;background:#385460}.header-right{display:flex;align-items:center;gap:12px}.build-code{font-size:9px;letter-spacing:1.4px;color:#819da3;white-space:nowrap}.icon-btn,.view-icon{border:1px solid #36515c;border-radius:5px;background:#193640;color:#d6ece5;font-size:16px;height:31px;width:31px}.btn{background:#1b4c52;color:#baf6e5;padding:9px 13px;border:1px solid #45847f;border-radius:5px;letter-spacing:1px;font-size:10px;font-weight:750}.main-layout{display:grid;grid-template-columns:300px minmax(360px,1fr) 290px;flex:1;min-height:calc(100vh - 75px);height:calc(100vh - 75px)}.sidebar{background:#0c222c;padding:22px 18px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#244a54 transparent}.left-panel{border-right:1px solid #29434b}.right-panel{border-left:1px solid #29434b}.section-heading{font-weight:750;letter-spacing:1.6px;font-size:10px;display:flex;align-items:center;justify-content:space-between;color:#d0e2dd}.head-count{font-size:9px;font-weight:500;color:#678995}.heading-spaced{margin-top:28px}.muted{color:var(--muted)}.tiny{font-size:10px;letter-spacing:1px}.hero-metric{border-bottom:1px solid #29434b;padding:19px 0 19px}.metric-large{font-size:47px;font-weight:300;letter-spacing:-2px;margin:2px 0 5px;font-variant-numeric:tabular-nums}.metric-unit{font-size:16px;color:#89b5b1;margin-left:5px;font-weight:500}.metric-description{display:flex;gap:7px;align-items:center;color:#9cc3b6;font-size:11px}.healthy-dot{width:6px;height:6px;background:#68d1aa;border-radius:50%}.two-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.metric-tile{background:#102c37;border:1px solid #234451;border-radius:5px;padding:13px 11px}.tile-value{font-size:22px;font-weight:600;letter-spacing:-.4px;font-variant-numeric:tabular-nums;margin:10px 0 5px}.tile-value small{font-size:11px;font-weight:500;color:#9ab9b6}.metric-tile .tiny:last-child{font-size:9px;letter-spacing:0}.system-card{margin-top:18px}.sys-label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.7px}.round-icon{font-size:16px;color:#7ccfbf}.sys-num{margin-left:auto;font-size:11px;color:#e4eeee;font-family:ui-monospace,monospace}.track{height:5px;background:#2d464e;border-radius:3px;margin-top:12px;overflow:hidden}.track-fill{height:100%;width:0;background:linear-gradient(90deg,#329888,#7ce6d1);transition:width .4s}.gray-track .track-fill{background:linear-gradient(90deg,#567887,#cba667)}.sys-caption{font-size:10px;color:#839fa6;margin-top:6px}.scenario-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px}.scenario{border:1px solid #34525b;background:#102c37;color:#b9cccf;border-radius:5px;padding:11px;text-align:left;display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.38;min-height:53px;transition:.2s}.scenario:hover,.scenario.active{border-color:#5cae9f;background:#183b40;color:#edfaf5}.scenario-symbol{font-size:19px;color:#78b7b1;width:19px;text-align:center}.scenario[data-scenario=compound] .scenario-symbol{color:#e5a86a}.action-stack{display:grid;gap:8px;margin-top:13px}.action-btn{border:1px solid #3b6e72;background:#173e44;color:#b9ede2;border-radius:4px;padding:11px 10px;font-size:10px;font-weight:800;text-align:left;letter-spacing:.65px}.action-btn span{font-size:15px;vertical-align:middle;margin-right:9px}.action-btn.warn{background:#3b2c31;border-color:#80514b;color:#f5b4a7}.action-btn.subtle{border-color:#344b53;background:transparent;color:#c4d3d3}.sidebar-footer{display:flex;align-items:center;margin-top:25px;color:#799aa2;font-size:9px;letter-spacing:.9px}.small-sq{width:6px;height:6px;background:#67c8aa;margin-right:8px}.status-version{margin-left:auto}.centre{display:flex;flex-direction:column;min-width:0;background:#0b1b25}.viewport-shell{position:relative;flex:1;min-height:340px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#436c77,#0f2c40)}#scene{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.viewport-shell:active #scene{cursor:grabbing}.rain-overlay{pointer-events:none;position:absolute;inset:0;opacity:0;background:repeating-linear-gradient(102deg,transparent 0,transparent 12px,#d4ecf64d 13px,transparent 14px,transparent 41px);background-size:260px 500px;animation:rain 1s linear infinite;mix-blend-mode:screen;transition:opacity 1s}@keyframes rain{to{background-position:-70px 500px}}.view-top{position:absolute;left:22px;right:22px;top:19px;display:flex;justify-content:space-between;pointer-events:none;gap:12px}.view-mode-tabs{background:#0b2730d9;display:flex;border:1px solid #ffffff2b;padding:4px;border-radius:6px;box-shadow:0 5px 25px #0004;pointer-events:auto}.view-tab{font-size:10px;font-weight:750;letter-spacing:.85px;padding:9px 11px;color:#b3ced0;background:none;border:0;border-radius:4px;white-space:nowrap}.view-tab.active{background:#32676a;color:#e9fffa}.view-tab:hover{color:white}.top-view-right{display:flex;gap:9px;pointer-events:auto}.pill-dark{border:1px solid #ffffff2b;background:#102d36d9;display:flex;align-items:center;gap:7px;border-radius:5px;padding:0 11px;height:32px;font-size:9px;letter-spacing:1px;white-space:nowrap}.pill-dot{width:5px;height:5px;border-radius:50%;background:#6fe2bf}.view-icon{height:32px;background:#0b2730d9;border-color:#ffffff2b}.view-left-info{position:absolute;left:26px;top:92px;pointer-events:none;text-shadow:0 3px 16px #0008}.eyebrow{color:#a8ebe0;font-size:10px;font-weight:700;letter-spacing:2px}.view-title{font-size:28px;font-weight:700;letter-spacing:-.6px;margin:7px 0}.view-caption{font-size:12px;color:#e3eeec;opacity:.85}.view-bottom-left,.view-bottom-right{position:absolute;bottom:20px;left:23px;font-size:10px;color:#f2f6f0;padding:8px 10px;background:#0b2632a8;border:1px solid #ffffff2d;border-radius:4px;letter-spacing:.6px}.view-bottom-right{left:auto;right:20px;font-size:9px;color:#c3d8d5}.coord-icon{margin-right:8px;font-size:18px;color:var(--teal)}.viewport-rail{position:absolute;right:20px;top:112px;display:grid;gap:6px}.viewport-rail button{width:34px;height:34px;background:#0a2a36d9;border:1px solid #d2ece434;color:#e8f5f1;border-radius:4px;font-size:19px}.viewport-rail button:hover{background:#326c6a}.bottom-data{height:232px;min-height:232px;border-top:1px solid #304c54;background:#0d2731;padding:17px 25px 12px;box-shadow:0 -5px 25px #081c2745}.chart-top{display:flex;justify-content:space-between;gap:15px;align-items:center}.chart-title{font-size:11px;font-weight:800;letter-spacing:1.5px;white-space:nowrap}.chart-badge{font-size:8px;color:#76d2c0;background:#1a4847;border:1px solid #3b7873;border-radius:3px;padding:4px 6px;margin-left:7px;letter-spacing:.8px;vertical-align:1px}.chart-legend{display:flex;gap:15px;color:#a5bec2;font-size:10px;white-space:nowrap}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend b{height:3px;width:15px;display:inline-block}.legend-sea{background:#60b9d9}.legend-basin{background:#72ddbd}.legend-limit{background:#dcab6b}.chart-frame{height:150px;width:100%;margin-top:10px}.chart-frame canvas{width:100%;height:100%}.chart-bottom{display:flex;justify-content:space-between;color:#72939e;font-size:9px;letter-spacing:1.2px}.alert-card{margin-top:14px;border:1px solid #3c746e;background:#17413f;border-radius:5px;padding:15px 14px}.alert-card.warning{background:#4b3b2d;border-color:#997149}.alert-card.danger{background:#4d2b2e;border-color:#b46d65}.alert-row{display:flex;gap:8px;font-weight:800;color:#a2e9d3;font-size:13px;letter-spacing:.7px}.alert-card.warning .alert-row{color:#f0c28d}.alert-card.danger .alert-row{color:#ffaca3}.status-indicator{font-size:10px}.alert-message{font-size:11px;line-height:1.55;color:#b9d1cb;margin:10px 0 16px}.risk-wrap{display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:1px;color:#9ebbb9}.risk-track{height:5px;margin-top:9px;background:#34524e}.risk-track .track-fill{background:#7cdbb4}.alert-card.warning .track-fill{background:#dca65f}.alert-card.danger .track-fill{background:#e07669}.inspector-panel{border:1px solid #31515a;background:#112d37;border-radius:5px;margin-top:13px;padding:15px}.inspector-head{display:flex;justify-content:space-between;align-items:center;gap:5px}.inspector-title{font-size:17px;font-weight:800;letter-spacing:.2px;margin-top:5px}.gate-chip{font-size:9px;border:1px solid #388c7b;padding:5px 7px;border-radius:3px;color:#9de4d0}.form-label{display:flex;justify-content:space-between;color:#90aab0;font-size:9px;letter-spacing:.9px;margin-top:21px}.inspector-panel input[type=range]{width:100%;accent-color:#70d5bd;cursor:pointer;margin:10px 0 12px}.inspector-values{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#adc8c7;margin-top:7px}.inspector-values strong{font-size:13px;color:white}.slider-endpoints{display:flex;justify-content:space-between;font-size:9px;color:#7e9fa7}.inspector-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.inspector-grid button{font-size:9px;font-weight:750;padding:9px 0;border:1px solid #4b807c;border-radius:4px;color:#b8eee0;background:#204a4c}.inspector-grid button:last-child{border-color:#6a5852;background:#352e31;color:#e9b8aa}.full-secondary{border:1px solid #3e5b62;background:transparent;color:#b0cecc;width:100%;padding:10px;margin-top:7px;border-radius:4px;font-size:9px;font-weight:750;letter-spacing:.5px}.inspector-facts{display:flex;justify-content:space-between;margin-top:16px;border-top:1px solid #2b4b54;padding-top:12px}.inspector-facts>div{display:grid;gap:6px}.inspector-facts span{font-size:9px;color:#819ea3}.inspector-facts b{font-size:11px;font-weight:600}.asset-links{margin-top:12px;display:grid;gap:4px}.asset-links button{background:none;color:#c3d7d5;border:0;border-bottom:1px solid #2a454e;display:flex;align-items:center;gap:8px;text-align:left;font-size:11px;padding:11px 4px}.asset-links button:hover{color:#78dfc8}.asset-links button>span:last-child{margin-left:auto;color:#7bb7b2}.speed-block{margin-top:12px}.speed-buttons{display:flex;gap:4px;margin-top:10px}.speed-buttons button{flex:1;border:1px solid #31545b;background:#173642;color:#aac4c5;font-size:10px;padding:9px 0;border-radius:3px}.speed-buttons button.active{background:#2f7773;color:#fff}.sim-transport{display:flex;gap:8px;margin-top:9px}.sim-transport button{flex:1;background:#234449;border:1px solid #426a6b;color:#d0ebe3;padding:10px 0;font-size:10px;letter-spacing:.6px;border-radius:3px}.quality-row{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#94afb4;margin-top:18px}.quality-row select{background:#1a3b45;color:#d0e9e8;border:1px solid #3b5d65;border-radius:3px;padding:6px;font-size:10px}.event-log{margin-top:9px;max-height:180px;overflow-y:auto}.event-item{display:flex;gap:10px;font-size:10px;color:#acbfbd;line-height:1.4;padding:9px 0;border-bottom:1px solid #253d44}.event-item .time{color:#72ccb6;font-family:ui-monospace,monospace}.right-footer{font-size:8px;line-height:1.5;color:#668891;letter-spacing:.5px;margin:20px 0}.canvas-error{position:absolute;inset:30%;border:1px solid #ecae9d;background:#132a36;color:#ffc8bd;display:grid;place-items:center;text-align:center;padding:30px;font-size:14px}.canvas-error[hidden],.modal-backdrop[hidden]{display:none}.modal-backdrop{position:fixed;inset:0;background:#03121ad1;display:grid;place-items:center;z-index:20;padding:25px}.modal{background:#13303b;border:1px solid #4a7775;border-radius:9px;max-width:580px;width:100%;padding:27px;position:relative;box-shadow:0 18px 80px #0009}.modal-close{position:absolute;right:17px;top:16px;border:0;background:none;color:#b9d7d2}.modal-eyebrow{font-size:10px;letter-spacing:2px;color:#7cdbca}.modal h2{margin:14px 0 18px;font-size:24px}.modal-rows p{border-bottom:1px solid #2a4b52;color:#a6c4c1;padding:9px 0;font-size:12px}.modal-rows b{color:#dbf2ec}.modal-primary{background:#2b7971;color:#fff;border:1px solid #75bdab;border-radius:4px;padding:12px 14px;letter-spacing:1px;font-size:11px;margin-top:17px}.modal-primary:hover{background:#33867a}@media(max-width:1450px){.main-layout{grid-template-columns:265px minmax(320px,1fr) 260px}.header{padding:0 17px}.brand-name{font-size:13px}.header-center{gap:8px}.sidebar{padding:18px 14px}.view-tab{padding:8px;font-size:9px}.chart-legend{gap:6px;font-size:9px}.chart-title{font-size:10px}}@media(max-width:1100px){.header-center,.build-code{display:none}.main-layout{grid-template-columns:225px minmax(290px,1fr) 226px}.view-caption,.view-bottom-right{display:none}.view-tab span{display:none}.chart-top{display:block}.chart-legend{margin-top:8px}}@media(max-width:800px){body{min-width:350px}.header{height:65px;min-height:65px}.main-layout{display:flex;flex-wrap:wrap;height:auto;min-height:0}.left-panel,.right-panel{width:50%;order:2;max-height:none}.centre{width:100%;order:1;height:650px}.bottom-data{height:220px;min-height:220px}.viewport-shell{min-height:370px}.header-right .btn-export{display:none}}@media(max-width:580px){.left-panel,.right-panel{width:100%}.brand-sub{font-size:8px}.brand-name{font-size:12px}}
