:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#d5e2dc;background:#101a1d;font-synthesis:none;--bg:#101a1d;--panel:#182427;--panel2:#1e2d30;--line:#2d3e41;--muted:#8ba2a3;--aqua:#55d4d8;--gold:#e1bb7c;--cream:#f6ead5;--red:#c57f6d}
*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(ellipse at 50% 0%,#253837 0%,#101a1d 55%);font-size:13px}button,input{font:inherit}button{cursor:pointer;transition:background .16s,border-color .16s,transform .14s,color .16s}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #b6ffeb;outline-offset:3px}button:disabled,input:disabled{opacity:.38;cursor:not-allowed}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}
.masthead{height:86px;display:flex;align-items:center;gap:17px;padding:0 28px;background:rgba(13,23,26,.91);border-bottom:1px solid var(--line)}.brandmark{height:48px;width:48px;border:1px solid #a48e67;border-radius:4px;display:grid;place-items:center;color:#e9c58b;background:linear-gradient(135deg,#17272a,#293c38);font-family:Georgia;font-size:38px}.brandmark-wave{transform:translateY(-3px)}.brand-name h1{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:23px;letter-spacing:.04em;color:#f2e8d9;line-height:1.1;margin:4px 0 0;font-weight:800}.brand-name h1 span{font-weight:400;color:#cfb88e}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:800;color:#a7baa8}.header-right{margin-left:auto;display:flex;align-items:center;gap:20px}.edition{font-size:10px;letter-spacing:.13em;font-weight:700;color:#9eaaa7}.live-pill{border:1px solid #436350;border-radius:100px;padding:9px 12px;font-size:9px;font-weight:800;letter-spacing:.11em;color:#b9e7c7;display:flex;align-items:center;gap:8px}.pulse-dot{display:inline-block;background:#88d59d;width:6px;height:6px;box-shadow:0 0 0 3px #82df9818;border-radius:50%}
.workspace{display:grid;grid-template-columns:272px minmax(0,1fr) 287px;max-width:1900px;margin:auto;min-height:calc(100vh - 125px)}.sidebar{background:#172326}.sidebar-left{border-right:1px solid var(--line)}.sidebar-right{border-left:1px solid var(--line)}.sidebar-head{padding:25px 20px 17px;border-bottom:1px solid var(--line)}.sidebar-head h2{font:800 20px 'Trebuchet MS',system-ui,sans-serif;color:#f2e5cc;margin:8px 0 4px}.sidebar-head p{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.pane{padding:22px 19px 21px;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:21px}.section-title h3{font-size:12px;color:#f1e6d2;margin:0;font-weight:700;flex:1}.section-title h3 small{display:block;font-size:9px;letter-spacing:.1em;color:#7a9999;margin-top:5px;font-weight:500}.side-indicator{height:23px;width:3px;background:var(--gold)}.side-indicator.downstream{background:#8dd0cc}.side-indicator.boat{background:#df8b74}.side-indicator.sim{background:#a7c3a2}.control-line{display:flex;align-items:center;justify-content:space-between;gap:9px}.control-line>div{display:grid;gap:5px}.control-line strong{font-size:11px;font-weight:700}.muted{color:#9aaba8;letter-spacing:.11em;font-size:9px}.secondary,.primary,.demo-button{background:#263638;color:#e3e9db;border:1px solid #465c58;border-radius:4px;padding:10px 11px;font-size:10px;letter-spacing:.04em;font-weight:700;white-space:nowrap}.secondary:hover:not(:disabled){background:#35494a;border-color:#71958e}.primary{background:#b9ac86;border-color:#d3bf97;color:#172323;flex:1}.primary:hover:not(:disabled){background:#e1cd9c}.slider-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:25px;margin-bottom:9px}.slider-label output{font-size:11px;font-weight:800;color:#c7ddce;font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:#aad2bd;height:5px;cursor:pointer}.track-hint{font-size:10px;line-height:1.5;color:#7e9796;margin-top:9px}.boat-buttons{display:grid;gap:8px}.boat-buttons .secondary{text-align:center;width:100%}.mini-status{margin:14px 0 0;color:#9eb9b5;font-size:10px}.button-row{display:flex;gap:8px;margin-top:24px}.button-row .secondary{flex:1}.demo-button{width:100%;margin-top:10px;padding:13px 8px;background:#32565a;border-color:#3f7a79;color:#bdf2ea;letter-spacing:.08em}.demo-button:hover{background:#3a686a}
.main-column{min-width:0;background:#111d1f;display:flex;flex-direction:column;padding:18px;gap:14px}.view-shell{border:1px solid #40514e;border-radius:5px;background:#142426;overflow:hidden;box-shadow:0 15px 35px #0003}.view-topline{height:40px;background:#1c2c2f;display:flex;align-items:center;justify-content:space-between;padding:0 19px;border-bottom:1px solid #31474a}.view-topline .eyebrow{color:#b0c2bb}.view-meta{display:flex;gap:14px;align-items:center;font-size:9px;letter-spacing:.11em;color:#90a7a1}.view-online{color:#89d0a7;display:flex;gap:7px;align-items:center}#viewport{height:clamp(420px,55vw,690px);min-height:420px;position:relative;overflow:hidden;background:radial-gradient(ellipse,#97bdb9,#5b8180);touch-action:pan-y}#viewport>canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#viewport>canvas:active{cursor:grabbing}.loading{position:absolute;inset:0;z-index:8;background:#273c3e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#d1e3dd;letter-spacing:.08em}.loading-symbol{font:52px Georgia;color:#e4c18e}.viewport-title{pointer-events:none;position:absolute;left:21px;top:18px;padding:9px 11px;background:#10272ac9;border:1px solid #afd1c050;border-radius:3px;color:#f0ebde;font-size:9px;letter-spacing:.12em;font-weight:700}.map-pin{color:#e2c899;margin-right:5px}.slash{color:#87a79f;margin:0 5px}.water-tag{position:absolute;right:19px;pointer-events:none;background:#112427b0;border:1px solid #e5efe84f;border-radius:3px;padding:9px 12px;display:grid;gap:4px;min-width:94px}.water-tag small{font-size:8px;color:#afc8bc;letter-spacing:.12em}.water-tag strong{font-size:16px;color:#ebefdc;font-family:'Trebuchet MS',system-ui,sans-serif}.top-tag{top:18px}.bottom-tag{top:99px}.viewport-bottom{position:absolute;bottom:0;left:0;right:0;pointer-events:none;display:flex;align-items:end;justify-content:space-between;gap:10px;padding:19px;background:linear-gradient(transparent,#152c30ad 35%,#102327d1)}.orbit-hint{font-size:8px;font-weight:700;color:#dbe4d4;letter-spacing:.07em}.orbit-hint i{font-style:normal;color:#b0cfba;margin:0 4px}.camera-choices{display:flex;gap:4px;pointer-events:auto}.cam{font-size:9px;color:#c6dbd3;background:#1b3033e8;padding:10px 9px;border:1px solid #738e8670;letter-spacing:.04em}.cam:hover,.cam.selected{background:#d6c7a3;border-color:#f1d5a0;color:#233330}
.telemetry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #34484a;background:#1b2b2e;border-radius:4px}.telemetry-cell{padding:20px 15px;min-width:0}.telemetry-cell:not(:last-child){border-right:1px solid #334648}.telemetry-label{font-size:9px;letter-spacing:.14em;font-weight:800;color:#90aaa4;white-space:nowrap}.telemetry-value{display:flex;align-items:baseline;gap:5px;margin:10px 0 8px;font:800 26px 'Trebuchet MS',system-ui,sans-serif;letter-spacing:-.04em;color:#f1e7d1;white-space:nowrap}.telemetry-value small{font-size:11px;font-weight:600;letter-spacing:0;color:#abc9c3}.telemetry-foot{font-size:8px;letter-spacing:.07em;color:#789997;line-height:1.45;display:block}.notice{border:1px solid #43625e;background:#1e3332;border-radius:3px;color:#d1ece4;display:flex;gap:12px;align-items:center;padding:13px 16px;font-size:11px;line-height:1.6}.notice[data-kind=warning]{border-color:#8d5e46;background:#392923;color:#f0cbac}.notice-mark{font-size:18px;color:#b1d5bc}.context-strip{display:flex;align-items:center;gap:18px;padding:19px 17px;border-top:1px solid #304347;margin-top:auto}.context-strip .eyebrow{white-space:nowrap;color:#d4b78d}.context-strip p{font-size:11px;color:#8fa6a1;line-height:1.6;margin:0}.context-strip p strong{color:#cfd8c5}.context-strip>a{font-size:9px;white-space:nowrap;letter-spacing:.06em;font-weight:800}
.water-profile{display:flex;gap:14px;align-items:stretch;height:172px}.profile-stack{flex:1;display:flex;flex-direction:column;justify-content:space-between}.profile-value{font-size:14px;font-weight:800;color:#dbe8db}.profile-value small{font-size:8px;color:#91aaa7;letter-spacing:.14em;display:block;margin-bottom:4px}.profile-value strong{color:#58d4d7}.level-track{width:48px;border:1px solid #657b70;border-radius:2px;position:relative;background:linear-gradient(0deg,#172e33,#283e40);overflow:hidden}.level-fill{position:absolute;bottom:0;left:0;right:0;height:0;background:linear-gradient(180deg,#74d6d6,#176a78);transition:height .15s}.level-marker{position:absolute;left:0;right:0;height:2px;z-index:2;background:#f0dbae;opacity:.8}.level-marker.high{top:0}.level-marker.low{bottom:0}.heads{display:grid;gap:10px;margin-top:17px}.heads>div{display:flex;justify-content:space-between;color:#a9b8b4;font-size:11px}.heads strong{color:#f0e8d7;font-size:11px}.chart-pane canvas{display:block;width:100%;height:144px;border:1px solid #32484b;background:#142327}.chart-legend{display:flex;justify-content:space-between;gap:5px;margin-top:10px;color:#8fa9a4;font-size:8px;letter-spacing:.03em}.chart-legend span{display:flex;align-items:center;gap:4px}.key{height:6px;width:12px;display:inline-block;background:#55d4d8;border-radius:1px}.key.upper{background:#c9b479}.key.lower{background:#6b9490}.steps{margin:0;padding:0;list-style:none;display:grid;gap:15px}.steps li{display:flex;align-items:flex-start;gap:12px;line-height:1.35;font-size:10px;color:#829895;transition:color .2s}.step-num{min-width:23px;height:23px;border:1px solid #48615d;border-radius:50%;display:grid;place-items:center;font:700 9px 'Trebuchet MS',system-ui,sans-serif}.steps li.active{color:#f4ecdb}.steps li.active .step-num{border-color:#d9bc88;background:#c4b08b;color:#1d2f2d}.steps li.done{color:#a8c7b8}.steps li.done .step-num{border-color:#5b8c70;color:#b1e6b6}.assumptions p{margin:11px 0;padding-bottom:9px;border-bottom:1px solid #304447;display:flex;justify-content:space-between;gap:8px;font-size:10px}.assumptions p span{color:#b8cfc6;font-family:Georgia,serif}.assumptions .footnote{border:none;font-size:10px;line-height:1.6;color:#7e9995;display:block}footer{height:39px;border-top:1px solid #2f4040;background:#10191b;display:flex;justify-content:space-between;align-items:center;padding:0 28px;color:#64827e;font-size:9px;letter-spacing:.12em}
@media(max-width:1399px){.workspace{grid-template-columns:246px minmax(0,1fr) 260px}.sidebar-head,.pane{padding-left:14px;padding-right:14px}.main-column{padding:12px}.telemetry-cell{padding:16px 10px}.telemetry-value{font-size:24px}.orbit-hint{display:none}}
@media(max-width:1100px){.workspace{grid-template-columns:260px minmax(0,1fr)}.sidebar-right{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #395256;border-left:none}.sidebar-right .sidebar-head{grid-column:1/-1}.sidebar-right .assumptions{grid-column:1/-1}.header-right .edition{display:none}#viewport{height:560px}}
@media(max-width:720px){.masthead{height:75px;padding:0 13px}.brandmark{height:40px;width:40px}.brand-name h1{font-size:19px}.brand-name .eyebrow{font-size:7px}.live-pill{font-size:7px;padding:7px}.workspace{display:flex;flex-direction:column}.main-column{order:0}.sidebar-left{order:1;border-left:0;border-top:1px solid var(--line)}.sidebar-right{order:2;display:block}.sidebar-left .sidebar-head,.sidebar-right .sidebar-head{padding:20px}.sidebar-left .pane{padding:15px 20px}.sidebar-left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-left .sidebar-head{grid-column:1/-1}.sidebar-left .pane:last-child{grid-column:1/-1}.control-line{flex-direction:column;align-items:stretch}.control-line button{text-align:center}.view-topline{padding:0 11px}.view-meta{font-size:8px}.view-online{display:none}#viewport{height:480px;min-height:480px}.viewport-title{top:10px;left:10px;font-size:8px;max-width:60%}.water-tag{right:9px;min-width:70px;padding:7px}.water-tag strong{font-size:12px}.bottom-tag{top:78px}.viewport-bottom{padding:10px}.cam{font-size:8px;padding:8px 7px}.telemetry{grid-template-columns:repeat(2,minmax(0,1fr))}.telemetry-cell:nth-child(2){border-right:0}.telemetry-cell:nth-child(-n+2){border-bottom:1px solid var(--line)}.telemetry-value{font-size:24px}.context-strip{display:block}.context-strip p{margin:10px 0}.context-strip>a{display:block}footer{height:auto;min-height:42px;gap:10px;flex-wrap:wrap;padding:14px}}
@media(max-width:390px){.sidebar-left{display:block}.header-right{display:none}#viewport{height:430px;min-height:430px}.view-topline .eyebrow{font-size:8px}.view-meta{display:none}.telemetry-label{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
