.mf-weather{color:#163d54}.mf-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mf-weather h4{margin:0 0 10px}.mf-weather p,.mf-dialog p{line-height:1.55}.mf-weather footer{font-size:.82rem;line-height:1.6;margin-top:18px;color:#4b6575}.mf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mf-card{background:#f5faff;border:1px solid #cbdfe9;border-radius:12px;padding:16px;min-width:0;overflow-wrap:anywhere}.mf-value{display:block;font-size:1.15rem;line-height:1.5}.mf-card p{font-size:.9rem}.mf-card summary,.mf-details>summary{cursor:pointer;color:#185a7c;padding:10px 0}.mf-summary,.mf-official,.mf-source{border:1px solid #d0e1e9;border-radius:12px;margin:14px 0;padding:16px}.mf-summary{background:#eaf5fd}.mf-source-state{font-size:.85rem;color:#4b6575}.mf-official-level{padding:3px 8px;border-radius:5px;font-weight:600}.mf-level-1{background:#d8eedf;color:#19452c}.mf-level-2{background:#fff2ad;color:#514500}.mf-level-3{background:#ffe1bd;color:#6c3600}.mf-level-4{background:#f6d4d4;color:#711919}.mf-table-wrap{max-width:100%;overflow:auto}.mf-table-wrap table{width:100%;border-collapse:collapse}.mf-table-wrap th,.mf-table-wrap td{text-align:left;padding:10px;white-space:nowrap}.mf-table-wrap tbody tr:nth-child(even){background:#f0f6fa}.mf-stations{margin-top:24px}.mf-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mf-card dd{margin:0;text-align:right}.mf-curve{margin:16px 0;color:#1c719b}.mf-curve svg{width:100%;height:auto;max-height:180px}.mf-dialog{width:min(760px,calc(100vw - 32px));max-height:88dvh;overflow:auto;border:1px solid #bed7e6;border-radius:16px;padding:24px;color:#163d54;box-sizing:border-box}.mf-dialog::backdrop{background:#0b283980}.mf-dialog button,.mf-intro button{background:#e7f3fc;border:1px solid #a9cde2;color:#174c6d;border-radius:7px;padding:9px 12px;cursor:pointer}.mf-dialog button.primary{background:#176b98;color:white}.mf-dialog input[type=search]{display:block;width:100%;padding:12px;margin:8px 0;border:1px solid #abc9db;border-radius:8px;box-sizing:border-box}.mf-search-results{max-height:260px;overflow:auto}.mf-selected-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #d8e6ee}.mf-selected-row>span,.mf-selected-row>label{flex:1;min-width:0}.mf-dialog footer{margin-top:20px}.mf-refresh-error{color:#804100}.mf-dialog button:disabled{opacity:.5;cursor:default}@media(max-width:650px){.mf-grid{grid-template-columns:1fr}.mf-intro{flex-direction:column}.mf-dialog{padding:14px}.mf-selected-row{flex-wrap:wrap}.mf-selected-row>label,.mf-selected-row>span{flex-basis:100%}.mf-card{padding:13px}}

/* MF2: one scrolling body; selected stations above search; actions always visible. */
.mf-dialog[open]{display:flex;flex-direction:column;overflow:hidden;padding:0;max-height:88dvh}
.mf-dialog>form{display:flex;flex-direction:column;min-height:0;width:100%;margin:0;overflow:auto;padding:20px;box-sizing:border-box}
.mf-dialog .mf-search-results{max-height:none;overflow:visible}
.mf-dialog footer{position:sticky;bottom:-20px;z-index:2;background:#fff;padding:12px 0;margin-top:14px;border-top:1px solid #bed7e6;box-shadow:0 -6px 12px #fff}
.mf-dialog footer button{width:100%}
.mf-dialog .mf-intro{flex-direction:row;align-items:center}
.mf-dialog .mf-intro h3{margin:0}
@media(max-width:650px){.mf-dialog>form{padding:14px}.mf-dialog footer{bottom:-14px}}
/* MF4: rules scoped to weather content and its dashboard synthesis. */
.mf-weather{font-size:.92rem}.mf-weather p{margin:6px 0;line-height:1.4}.mf-weather h4{margin:0;font-size:1rem}.mf-weather small{font-size:.78rem;line-height:1.4}.mf-weather footer{margin-top:10px;font-size:.73rem}.mf-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mf-buttons{display:flex;gap:8px;flex-wrap:wrap}.mf-stations{margin:0 0 12px}.mf-observations{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:8px;margin-top:8px}.mf-observation{padding:10px 12px}.mf-observation .mf-section-head{align-items:baseline}.mf-station-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px;margin:8px 0}.mf-station-values>span{display:flex;justify-content:space-between;gap:8px;font-size:.83rem}.mf-station-values strong{white-space:nowrap}.mf-measurement-note{font-size:.77rem;color:#4b6575}.mf-weather .mf-official{padding:12px;margin:10px 0}.mf-vigilance-lines{margin:8px 0}.mf-vigilance-lines>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:5px 0}.mf-vigilance-lines>div>small{margin-left:auto}.mf-weather .mf-official a{font-size:.8rem}.mf-model{border:1px solid #cbdfe9;border-radius:12px;padding:12px;margin:10px 0;background:#fff}.mf-model-explanation{font-size:.82rem;color:#4b6575}.mf-model>summary{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;cursor:pointer;list-style:revert}.mf-model>summary::before{content:'▸';color:#185a7c}.mf-model[open]>summary::before{content:'▾'}.mf-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.mf-metric{background:#f1f7fb;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:4px}.mf-metric>span{font-size:.78rem;color:#4b6575}.mf-metric>strong{font-size:1rem;line-height:1.35}.mf-metric>small{font-size:.72rem}.mf-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mf-curve{margin:10px 0}.mf-curve figcaption{font-size:.85rem;font-weight:600}.mf-curve svg{max-height:160px;fill:#247cab}.mf-curve svg text{fill:#4b6575;font-size:11px}.mf-details>summary{font-size:.82rem;padding:10px 0 0}.mf-forest summary>span{font-size:.82rem;font-weight:400}.mf-source-error{font-size:.8rem;color:#804100;margin-left:8px}.mf-dialog fieldset{border:1px solid #cbdfe9;border-radius:8px;padding:12px;margin:12px 0}.mf-email-recipient{display:block;padding:5px 0}.mf-phenomena,.mf-email-thresholds{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.mf-email-thresholds input{display:block;width:100%;box-sizing:border-box;padding:8px;border:1px solid #abc9db;border-radius:6px}.mf-dialog select{padding:8px}.mf-dialog footer button+button{margin-top:8px}.mf-dashboard-summary{border:1px solid #b9d3e2;border-left:5px solid #7299ad;background:#f2f8fc;border-radius:12px;padding:12px 16px;margin:12px 0;color:#163d54}.mf-dashboard-summary[hidden]{display:none}.mf-dashboard-summary h3{margin:0;font-size:1rem}.mf-dashboard-summary .mf-dashboard-lines{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0;font-size:.88rem;line-height:1.65}.mf-dashboard-summary p{margin:5px 0}.mf-dashboard-summary>small{font-size:.72rem;color:#4b6575}.mf-dashboard-level-2{border-left-color:#ddbc27}.mf-dashboard-level-3{border-left-color:#df862d}.mf-dashboard-level-4{border-left-color:#c64d4d}.mf-dashboard-local{border-left-color:#8b639e}.mf-dashboard-summary .mf-official-level{padding:2px 6px}.mf-dashboard-summary button{background:#e7f3fc;color:#174c6d;border:1px solid #a9cde2;border-radius:7px;padding:8px 10px}.mf-weather .mf-table-wrap td,.mf-weather .mf-table-wrap th{padding:7px 10px;font-size:.82rem}
@media(max-width:950px){.mf-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.mf-charts,.mf-dashboard-summary .mf-dashboard-lines,.mf-phenomena,.mf-email-thresholds{grid-template-columns:1fr}.mf-station-values{grid-template-columns:1fr}.mf-vigilance-lines>div>small{margin-left:0;width:100%}.mf-section-head{align-items:flex-start}.mf-model{padding:10px}.mf-dashboard-summary{padding:10px 12px}.mf-metric{padding:8px}.mf-metric>strong{font-size:.92rem}}
.mf-dialog .mf-email-recipient,.mf-dialog .mf-phenomena>label,.mf-dialog form>label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:8px;font-weight:400}.mf-dialog input[type=checkbox],.mf-dialog input[type=radio]{width:auto;max-width:none;display:inline-block;flex:0 0 auto;margin:3px 0 0}.mf-dialog .mf-intro{position:sticky;top:-20px;z-index:3;background:#fff;padding:8px 0}.mf-dialog .mf-intro h3{font-size:1.1rem}@media(max-width:650px){.mf-dialog .mf-intro{top:-14px}}

/* MF5: hydrology follows weather vertically, at every screen width. */
.mf-dashboard-summary .mf-dashboard-lines{grid-template-columns:1fr;gap:8px}

/* MF7: station provenance, shared bell and readable forecast values on hover/focus. */
.mf-weather .mf-observation p.mf-station-provenance{font-size:.7rem;line-height:1.35;margin:4px 0;color:#536c7a}
.mf-weather .mf-email-settings{display:inline-flex;align-items:center;gap:6px}
.mf-weather .mf-email-settings .watch-bell-icon{flex:0 0 16px}
.mf-weather .mf-curve{position:relative;min-width:0}
.mf-weather .mf-chart-tooltip{position:absolute;top:24px;z-index:10;max-width:calc(100% - 8px);box-sizing:border-box;white-space:pre-line;background:#eaf5fd;color:#163d54;border:1px solid #9fc4d9;border-radius:8px;padding:8px 10px;font-size:.74rem;line-height:1.45;box-shadow:0 3px 12px #163d5426;pointer-events:none}
.mf-weather .mf-chart-tooltip[hidden]{display:none}
.mf-weather .mf-chart-hit-area{fill:transparent;cursor:crosshair}
.mf-weather .mf-curve svg:focus-visible{outline:2px solid #247cab;outline-offset:3px;border-radius:4px}

/* MF8: compact value in a reserved line above the plot, never over the curve. */
.mf-weather .mf-chart-tooltip{position:static;display:flex;align-items:center;height:3.3em;min-height:3.3em;max-width:100%;margin:4px 0;white-space:normal;padding:3px 8px;box-shadow:none;z-index:auto;line-height:1.35}
.mf-weather .mf-chart-tooltip[hidden]{display:flex;visibility:hidden}
