*{box-sizing:border-box}body{margin:0;color:#123849;background:#f0f7f9;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{height:66px;display:flex;gap:14px;align-items:center;background:white;border-bottom:1px solid #e1e9ed;padding:0 18px}header strong{font-size:23px;color:#007fa6;white-space:nowrap}header small{margin-left:auto;color:#3f768a;font-size:11px;text-align:right}#layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;height:calc(100dvh - 66px)}#mapwrap{position:relative;overflow:hidden;background:#284e4c}#map{height:100%;width:100%;touch-action:none;cursor:grab;display:block}#map.dragging{cursor:grabbing}.toolbar{position:absolute;left:13px;right:13px;top:14px;display:flex;gap:7px;flex-wrap:wrap;pointer-events:none}.toolbar button{pointer-events:auto;border:1px solid #b6d8e8;border-radius:23px;background:#102f44ed;color:#fff;padding:10px 13px;font-weight:750;box-shadow:0 2px 8px #0003}.toolbar button.on{background:#0387b4}button{min-height:44px;min-width:44px;cursor:pointer;font:inherit}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible,#map:focus-visible{outline:3px solid #ffce60;outline-offset:3px}.navigation{position:absolute;top:125px;left:14px;display:grid;gap:5px}.navigation button{background:#fff;color:#19495d;border:1px solid #bad9df;border-radius:9px;font-size:24px}.notice{position:absolute;left:12px;right:12px;bottom:40px;color:#fff;background:#083349ed;border:1px solid #7bb1bc66;border-radius:12px;padding:12px 14px;font-size:12px;max-width:490px;line-height:1.5;pointer-events:none}.notice span{display:block;color:#bfe1e8;margin-top:3px}.attribution{position:absolute;bottom:0;left:0;right:0;background:#f0f9f3e8;padding:4px 8px;font-size:9px;line-height:1.3}.attribution a{color:#145368}aside{overflow:auto;background:white;padding:22px}aside small{color:#0790ad;letter-spacing:1.4px;font-size:10px;font-weight:850}aside h1{font-size:27px;line-height:1.15;margin:10px 0}aside p{font-size:13px;color:#547887;line-height:1.5}.read{border-radius:16px;background:#e9f8fb;padding:16px;font-size:34px;font-weight:800;color:#0080a7;margin:17px 0}.read span{display:block;font-size:10px;letter-spacing:1px;color:#537c89}.warning{background:#fff7e6;border:1px solid #eddfb5;border-radius:12px;padding:13px;color:#73551d;font-size:12px;line-height:1.6}.choices,.fixture-controls{display:grid;gap:7px;margin:13px 0 19px}.choices button,.fixture-controls button{border:1px solid #dbeaf0;border-radius:10px;background:#f7fbfd;padding:11px;text-align:left;color:#19495d;font-size:12px;font-weight:700}.choices button.selected{border-color:#00a4c0;background:#ddf7fc}#source-status{font-size:11px;background:#e6f8fa;padding:12px;border-radius:10px;overflow-wrap:anywhere}details{font-size:12px;line-height:1.5}summary{cursor:pointer;color:#007f9f}.river-outline{fill:none;stroke:#005470;stroke-width:11;stroke-linejoin:round;stroke-linecap:round}.river-line{fill:none;stroke:#4bc4d8;stroke-width:5;stroke-linejoin:round;stroke-linecap:round}.particle{fill:#e5fcff;opacity:.85;stroke:#72dbe8;stroke-width:.5}.pin-label{fill:#fff;font-size:12px;paint-order:stroke;stroke:#123b48;stroke-width:4;stroke-linejoin:round;pointer-events:none}.map-pin{fill:#efffff;stroke:#017fa4;stroke-width:3} @media(max-width:930px){#layout{display:block;height:auto}#mapwrap{height:min(74dvh,680px);min-height:500px}aside{padding:20px}.toolbar{gap:5px}.toolbar button{font-size:11px;padding:9px 11px}.notice{bottom:46px;font-size:11px}.attribution{font-size:8px}.navigation{top:125px}}@media(max-width:500px){header strong{font-size:19px}header small{font-size:10px}.toolbar{right:8px;left:8px}.toolbar button{padding:9px 10px}.notice{left:8px;right:8px;padding:10px}aside h1{font-size:25px}}

#map{background:radial-gradient(ellipse at center,#355f59,#214a49)}#flow-svg{position:absolute;inset:0;z-index:450;pointer-events:none}.toolbar,.navigation,.notice,.attribution{z-index:1000}.toolbar{right:10px}.navigation{top:124px}.leaflet-container{font:inherit}.leaflet-control-container{z-index:800}@media(max-width:500px){.navigation{top:165px}}

#qa-controls{padding:10px;background:#e6f8fa;border:1px dashed #14849c;border-radius:8px}#qa-controls button{padding:8px;margin:3px;border-radius:5px;border:1px solid #8cb9c3;background:white;color:#145267;font-size:11px}

.mapbox-logo{position:absolute;right:12px;bottom:30px;z-index:1001;display:block;width:88px;height:23px;text-indent:-9999px;overflow:hidden;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:88px 23px}.mapbox-logo[hidden]{display:none}
@media (max-width:700px){.mapbox-logo{bottom:100px}}

/* Temperature badges (illustrative values only) */
.wbadge-host{background:none;border:0}
.leaflet-marker-icon.wbadge-host:focus{outline:none}
.leaflet-marker-icon.wbadge-host:focus-visible .wbadge{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px #0a5b78}
.wbadge{--c:#8a959b;position:relative;width:56px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:15px;background:rgba(8,24,34,.82);border:2px solid var(--c);box-shadow:0 0 10px 1px var(--c),0 2px 6px rgba(0,0,0,.55);color:#fff;font:700 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.2px;text-shadow:0 1px 2px #000;cursor:pointer;transition:transform .15s}
.wbadge-val{position:relative;z-index:1}
.wbadge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:5px;flex:none}
.wbadge-ring{position:absolute;inset:-2px;border-radius:17px;border:2px solid var(--c);opacity:0;animation:wpulse 2.4s ease-out infinite;pointer-events:none}
.wbadge.sel{transform:scale(1.15);background:rgba(8,24,34,.95)}
.wbadge.na{--c:#8a959b;box-shadow:0 2px 6px rgba(0,0,0,.55)}
.wbadge.na .wbadge-ring{display:none}
.leaflet-marker-icon:hover .wbadge{transform:scale(1.08)}
@keyframes wpulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.55,1.9);opacity:0}}
@media (prefers-reduced-motion:reduce){.wbadge-ring{animation:none;display:none}.wbadge{transition:none}}
@media (max-width:700px){.wbadge{font-size:14px;width:60px;height:32px;border-radius:16px}}
.wpopup .leaflet-popup-content-wrapper{border-radius:14px;background:#0d2330;color:#eaf6fa;box-shadow:0 8px 28px rgba(0,0,0,.45)}
.wpopup .leaflet-popup-tip{background:#0d2330}
.wpopup .leaflet-popup-content{margin:14px 16px}
.wpopup a.leaflet-popup-close-button{color:#cfe3ea;width:28px;height:28px;font-size:20px}
.wcard-name{margin:0 18px 6px 0;font-size:15px;color:#fff}
.wcard-temp{font-size:28px;font-weight:800;line-height:1.1}
.wcard-temp.na{color:#9aa5ab}
.wcard-comfort{margin-top:4px;font-weight:600}
.wcard-desc{margin-top:6px;color:#b9d2db;font-size:12px}
.wcard-note{margin-top:10px;padding:6px 8px;border-radius:8px;background:rgba(255,190,90,.14);color:#ffd59a;font-size:12px;font-weight:700}
