@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Libre+Caslon+Display&display=swap');
:root{color-scheme:dark;--paper:#e5e8df;--muted:#829397;--cyan:#82c7d2;--line:#294045;--mono:'DM Mono',monospace;--serif:'Libre Caslon Display',Georgia,serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#030708;color:var(--paper);font-family:var(--mono);font-size:12px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:hover{color:#fff}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}button:disabled{opacity:.4;cursor:wait}#atlas{position:relative;width:100%;height:100%;isolation:isolate}canvas{position:absolute;inset:0;width:100%;height:100%}#water{cursor:grab;touch-action:none}#water:active{cursor:grabbing}#flow,#labels{pointer-events:none}header{position:absolute;top:38px;left:40px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2px;color:#8fa4a6;font-weight:400}.small-line{display:inline-block;width:20px;height:1px;background:#82c7d2;vertical-align:middle;margin-right:8px}h1{font-family:var(--serif);font-size:clamp(46px,5.4vw,88px);line-height:.91;letter-spacing:-2.5px;font-weight:400;margin:20px 0 18px}h1 em{font-weight:400;color:#b9d9d9}.intro{font-size:10px;line-height:1.8;color:#8fa1a5;letter-spacing:.2px}.top-right{position:absolute;top:40px;right:40px;text-align:right}.text-button{font-size:10px;letter-spacing:.3px;padding:5px 0}.text-button span{color:#9bb9bd;margin-left:8px}#feed-status{display:flex;gap:7px;justify-content:flex-end;align-items:center;color:#819b9d;font-size:9px;margin-top:13px}#feed-status i{width:5px;height:5px;border-radius:50%;background:#80bdae;box-shadow:0 0 8px #80bdae55}.regions{position:absolute;top:36px;left:50%;transform:translateX(-50%);display:flex;padding:4px;background:#081012d9;border:1px solid #243034;border-radius:30px;white-space:nowrap;backdrop-filter:blur(12px)}.regions button{font-size:10px;padding:10px 15px;color:#91a5a7;border-radius:25px;transition:background .2s}.regions button.selected{color:#dfece7;background:#24373b}.map-tools{position:absolute;right:36px;top:46%;display:flex;flex-direction:column;gap:1px;border:1px solid #263b40;border-radius:5px;overflow:hidden;background:#061012d9}.map-tools button{font-size:20px;width:37px;height:37px;color:#b2c9cb}.map-tools button+button{border-top:1px solid #263b40}.map-tools button:hover{background:#20383d}.legend{position:absolute;bottom:215px;left:40px;width:196px}.legend .eyebrow{font-size:8px;letter-spacing:1.4px}#colour-ramp{height:4px;margin:12px 0 6px;border-radius:2px;background:linear-gradient(90deg,#174383,#0084b0,#3ec3b9,#b5d78c,#ead9a2)}.legend-ends{display:flex;justify-content:space-between;font-size:9px;color:#a6b9b9}.legend p{font-size:8px;line-height:1.9;letter-spacing:.2px;color:#698286;margin-top:16px}.layer-switch{display:flex;gap:14px;margin-top:14px}.layer-switch button{font-size:9px;padding:0 0 7px;color:#6f898e;border-bottom:1px solid transparent}.layer-switch .selected{border-color:#8ecbd0;color:#c2d9d8}.map-hint{position:absolute;right:40px;bottom:196px;font-size:8px;letter-spacing:1.2px;color:#50676b;pointer-events:none}.map-hint span{padding:0 8px}.playback{position:absolute;bottom:49px;left:40px;right:40px;background:linear-gradient(110deg,#0d191be8,#071113eb);border:1px solid #26393e;border-radius:7px;padding:18px 22px 15px;backdrop-filter:blur(16px)}.time-top{display:flex;align-items:center;justify-content:space-between}.time-top .eyebrow{font-size:8px;letter-spacing:1.5px}time{font-size:14px;letter-spacing:.7px;display:block;margin-top:8px}.scrubber{display:flex;align-items:center;gap:18px;margin-top:14px}.play-button{width:27px;height:27px;border:1px solid #496267;border-radius:50%;font-size:10px;flex-shrink:0;padding:0 0 0 2px}.play-button[aria-pressed=true]{padding:0}.scrubber input{width:100%;height:18px;accent-color:#b3d8d6;cursor:pointer}.scrubber .text-button{padding:0;font-size:9px}.time-bottom{display:flex;justify-content:space-between;gap:12px;font-size:8px;color:#657d81;margin:10px 0 0 45px;letter-spacing:.4px}.time-bottom #frame-status{color:#849b9e}footer{position:absolute;left:40px;right:40px;bottom:17px;color:#7c969a;font-size:9px;display:flex;align-items:center;gap:9px;letter-spacing:.3px}.brand-mark{font-size:17px;color:#80b3bd}.footer-credit{margin-left:auto;font-size:8px;color:#4f686c}.readout{position:absolute;z-index:4;background:#0b191def;border:1px solid #3b565e;padding:13px 16px;pointer-events:none;min-width:190px;backdrop-filter:blur(10px);border-radius:4px;font-size:10px;line-height:2;box-shadow:0 10px 30px #0008}.readout strong{font-size:16px;color:#d6ede8;font-weight:400}.readout small{display:block;color:#76979c;font-size:8px;letter-spacing:.7px}.readout .values{display:flex;gap:20px}.readout .nodata{font-size:11px;line-height:1.6;color:#b0c4c6}#notice{position:absolute;left:50%;top:95px;transform:translateX(-50%);font-size:10px;color:#d3dfd9;background:#14282de8;border:1px solid #314a50;padding:10px 16px;border-radius:5px;max-width:460px;line-height:1.6;display:none}.source-panel{position:absolute;z-index:10;right:0;top:0;bottom:0;width:min(490px,100%);overflow:auto;padding:52px 40px;background:#0a1417f7;border-left:1px solid #29434b;box-shadow:-50px 0 100px #0008;backdrop-filter:blur(20px)}.source-panel h2{font-family:var(--serif);font-size:46px;font-weight:400;line-height:1.05;letter-spacing:-1px;margin:22px 0}.source-panel p{font-size:11px;line-height:1.9;color:#9bafb3}.source-panel strong{color:#d3dfdd;font-weight:500}.source-panel a{color:#9ccacf;text-decoration:none;border-bottom:1px solid #344f57}.source-panel dl{font-size:10px;display:grid;grid-template-columns:96px 1fr;gap:15px 8px;margin:28px 0;line-height:1.6}.source-panel dt{color:#6e9298}.source-panel dd{margin:0;color:#becfd0;overflow-wrap:anywhere}.source-panel h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:30px 0 10px}.source-panel .fine-print{color:#63838b;font-size:9px;margin-top:35px}.close-button{position:absolute;right:22px;top:18px;font-size:28px;color:#a1b9bd}[hidden]{display:none!important}
@media(max-width:1000px){.regions{top:auto;bottom:199px}.legend{bottom:250px;width:165px}.map-hint{display:none}h1{font-size:58px}.top-right{right:25px}.regions button{padding:9px 13px}.time-bottom #frame-status{display:none}}
@media(max-width:600px){header{top:24px;left:22px}header .eyebrow{font-size:7px;letter-spacing:1.2px}h1{font-size:46px;letter-spacing:-1.5px;margin-top:15px}.intro{font-size:8px}.top-right{top:24px;right:20px}.top-right .text-button{font-size:9px}#feed-status{font-size:8px;max-width:145px;line-height:1.5}.legend{bottom:224px;left:22px;width:145px;background:#030708b0;padding:10px;border-radius:4px}.legend p{display:none}.legend .eyebrow{font-size:7px}.layer-switch{gap:12px;margin-top:12px}.layer-switch button{font-size:8px}.regions{bottom:173px;width:calc(100% - 44px);justify-content:center}.regions button{font-size:8px;padding:9px 12px}.playback{bottom:40px;left:18px;right:18px;padding:14px 15px 11px}.time-top .eyebrow{font-size:7px}time{font-size:11px;letter-spacing:.1px}.time-bottom{font-size:6px;margin-left:0}.scrubber{gap:12px;margin-top:9px}footer{left:22px;right:22px;bottom:9px;font-size:8px}.footer-credit{display:none}.map-tools{right:18px;top:40%}.map-tools button{width:33px;height:33px}.source-panel{padding:44px 28px}.readout{min-width:160px;font-size:9px}.readout strong{font-size:13px}#notice{top:195px;width:calc(100% - 44px);font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

#colour-ramp{background:linear-gradient(90deg,#1e5578,#3a94be,#55cdd8,#a0ebdb,#eef1be)}
.mode-switch{display:inline-flex;border:1px solid #294047;border-radius:20px;padding:3px;margin:12px 0 2px;gap:2px}.mode-switch button{font-size:9px;color:#819ea5;padding:7px 12px;border-radius:20px}.mode-switch .selected{background:#29464e;color:#e1eae5}#feed-status{margin-top:7px}#river-status{font-size:8px;color:#6d9199;margin-top:7px;max-width:245px;line-height:1.5}.regions button{padding-left:12px;padding-right:12px}
.film-link{display:inline-block;color:#a8c7ca;font-size:9px;letter-spacing:.3px;text-decoration:none;border-bottom:1px solid #315058;padding:0 0 5px;pointer-events:auto}.film-link:hover{color:#e0ece7}#feed-status[data-state=retained] i{background:#bca766;box-shadow:0 0 8px #bca76640}#feed-status[data-state=retained] span{color:#b8ad8a}.regions{max-width:calc(100% - 80px);overflow-x:auto;scrollbar-width:thin}.regions button{flex-shrink:0}.source-panel #source-status{font-size:9px;color:#9caaa1}
@media(max-width:600px){.film-link{font-size:7px}.regions{justify-content:flex-start;max-width:calc(100% - 44px)}.regions button{padding-left:9px;padding-right:9px}.top-right{max-width:175px}#river-status{font-size:7px;max-width:165px;line-height:1.45}}
@media(max-width:1000px){.legend{bottom:246px}.regions button{padding-left:10px;padding-right:10px}}
@media(max-width:600px){.mode-switch button{font-size:8px;padding:6px 9px}#river-status{max-width:145px;font-size:7px}.regions{overflow-x:auto;justify-content:flex-start}.regions button{padding:9px 11px;flex-shrink:0}.legend{bottom:224px}.source-panel h2{font-size:39px}}
/* The map owns the main view; the timeline is a closed secondary disclosure. */
.current-summary{position:absolute;right:40px;bottom:50px;z-index:5;display:flex;align-items:center;gap:24px;max-width:calc(100% - 80px);padding:11px 15px;background:#071113dd;border:1px solid #243a40;border-radius:6px;backdrop-filter:blur(12px)}.current-summary .eyebrow{font-size:7px;letter-spacing:1px}.current-summary time{font-size:11px;letter-spacing:.3px;margin-top:5px}.current-summary .text-button{font-size:9px;white-space:nowrap}.current-summary button span{display:inline-block;transition:transform .15s}.current-summary button[aria-expanded=true] span{transform:rotate(180deg)}.playback{z-index:6;left:auto;right:40px;bottom:118px;width:min(720px,calc(100% - 80px));padding:16px 19px}.time-explainer{font-size:8px;line-height:1.6;color:#7d999f;margin:6px 22px 0 0}.time-actions{display:flex;gap:20px;align-items:center}.panel-close{font-size:24px;line-height:1;color:#9ab4ba;padding:0 1px}.legend{bottom:105px}.map-hint{bottom:120px}.coverage-note{position:absolute;z-index:3;bottom:116px;left:40px;width:275px;padding:12px 14px;background:#09171bdc;border:1px solid #29434a;border-radius:5px;font-size:9px;line-height:1.7;color:#8faab0}.coverage-note strong{display:block;color:#c0d7d6;font-weight:400;margin-bottom:5px}.coverage-note span{display:block}
@media(max-width:1000px){.regions{bottom:119px}.legend{bottom:174px}.current-summary{bottom:49px;right:25px}.playback{right:25px;bottom:119px}.coverage-note{bottom:174px}}
@media(max-width:600px){.current-summary{left:18px;right:18px;bottom:40px;max-width:none;gap:12px;padding:10px 12px;justify-content:space-between}.current-summary .eyebrow{font-size:6px;letter-spacing:.7px}.current-summary time{font-size:10px;letter-spacing:0}.current-summary .text-button{font-size:8px}.regions{bottom:108px}.legend{bottom:160px}.playback{left:18px;right:18px;bottom:105px;width:auto;max-height:calc(100% - 250px);overflow:auto;padding:15px}.time-explainer{font-size:7px;margin-right:12px;max-width:215px}.time-actions{gap:15px}.time-actions .text-button{font-size:8px}.time-bottom{font-size:6px}.coverage-note{left:22px;right:22px;bottom:160px;width:auto;padding:10px 12px;font-size:8px}.coverage-note strong{margin-bottom:3px}}
.experimental-note{position:absolute;z-index:3;left:40px;bottom:49px;width:330px;padding:10px 13px;background:#101919eb;border:1px solid #665b3c;border-radius:5px;font-size:9px;line-height:1.65;color:#c2b895}.experimental-note strong{display:block;font-weight:400;color:#e0d4ad}.experimental-note span,.experimental-note small{display:block}.experimental-note small{font-size:8px;color:#a5b4b4;margin-top:3px}#atlas[data-simcoe-experiment=visible] .legend{bottom:158px}.layer-switch button:disabled{opacity:.4;cursor:default}
.current-summary>div{min-width:0}.current-summary time{line-height:1.5}
@media(max-width:1000px){#atlas[data-simcoe-experiment=visible] .legend{bottom:188px}}
@media(max-width:600px){.experimental-note{left:22px;right:22px;bottom:155px;width:auto;padding:9px 11px;font-size:8px}.experimental-note small{font-size:7px}#atlas[data-simcoe-experiment=visible] .legend{bottom:245px}}

.footer-credit a{color:inherit;text-decoration:none}.top-right .text-button{display:block;margin-left:auto}.mode-switch{margin-top:8px}
.drainage-key{font-size:8px;line-height:2;color:#859c9f;margin-top:11px}.drainage-key span{display:inline-block;width:21px;margin-right:6px;vertical-align:middle}.divide-swatch{border-top:1px dashed #a58c58}.tributary-swatch{border-top:1px solid #36626c}
#outer-estuary-status{font-size:8px;color:#b4ad8b;margin-top:6px;max-width:245px;line-height:1.5}

/* Speed uses the film palette; the existing temperature palette remains separate. */
#atlas[data-colour-layer="speed"] #colour-ramp{background:linear-gradient(90deg,rgb(59,131,174),rgb(71,173,206),rgb(95,211,220),rgb(164,235,220),rgb(240,242,185))}
.speed-ticks{position:relative;height:17px;margin-top:6px;font-size:9px;line-height:1.3;color:#a6b9b9}.speed-ticks span{position:absolute;top:0;transform:translateX(-50%)}.speed-ticks span:first-child{transform:none}.speed-ticks span:last-child{transform:translateX(-100%)}#legend-scale-note{font-size:7px;letter-spacing:.35px;line-height:1.5;color:#7b989d;margin-top:2px}
.companion-film-link{display:block;width:max-content;max-width:100%;color:#78989e;font-size:8px;line-height:1.6;letter-spacing:.15px;text-decoration:none;margin-top:9px;pointer-events:auto}.companion-film-link:hover{color:#b7d4d3}
@media(max-width:600px){.speed-ticks{font-size:8px;height:15px}#legend-scale-note{font-size:6px}.companion-film-link{font-size:7px;margin-top:7px}}
