/* Wildfire and smoke (wildfire.html). Owner map-page rule: the map fills the window height, controls and panels in a right
   sidebar on desktop; stacked on phones (map first). Built on mf.css tokens, same structure as the fog microscope. */
html,body.wf-page{height:100%}
body.wf-page{display:flex;flex-direction:column;background:var(--bg)}
.wf-page .nav{position:relative;flex:none;z-index:30}
.wf-tag{font:600 10px Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);border:1px solid #d9c49a55;border-radius:4px;padding:3px 7px;white-space:nowrap}
.wf-banner{flex:none;display:flex;gap:6px 14px;align-items:center;flex-wrap:wrap;padding:6px 16px;background:#fbf9f4;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-2)}
.wf-banner b{color:var(--ink)}
.wf-banner h1{font-size:15px;margin:0;color:var(--ink);font-weight:700;letter-spacing:-.01em}
.wf{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:8px;padding:8px}
.wf-mapwrap{position:relative;min-height:0;min-width:0;border:1px solid var(--line);border-radius:6px;background:#dce8f2;overflow:hidden;display:flex;flex-direction:column}
.wf-mapbox{position:relative;flex:1;min-height:0;touch-action:none;cursor:grab;overflow:hidden}
.wf-mapbox.drag{cursor:grabbing}
.wf-mapbox canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.wf-legend{position:absolute;left:10px;bottom:10px;z-index:3;background:#fffefbf0;border:1px solid var(--line);border-radius:5px;padding:7px 9px 6px;max-width:min(440px,calc(100% - 64px));box-shadow:0 4px 14px #14171c14}
.wf-legend{padding-right:28px}
.wf-legend[hidden]{display:none}
.wf-lgx{position:absolute;right:4px;top:4px;width:22px;height:22px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink-2);cursor:pointer;font:600 13px Inter,system-ui,sans-serif;line-height:1}
.wf-lgchip{position:absolute;left:10px;bottom:10px;z-index:3;height:28px;padding:0 10px;border:1px solid var(--line);border-radius:14px;background:#fffefbf0;font:600 11.5px Inter,system-ui,sans-serif;color:var(--ink-2);cursor:pointer;box-shadow:0 2px 8px #14171c14}
.wf-lgchip[hidden]{display:none}
.wf-legend h4{margin:0 0 5px;font:600 11.5px Inter,system-ui,sans-serif;color:var(--ink);display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.wf-legend h4 small{font-weight:500;color:var(--ink-3);font-size:10.5px}
.wf-ramp{display:flex;height:11px;border-radius:2px;overflow:hidden;border:1px solid #14171c22}
.wf-ramp span{flex:1}
.wf-ticks{display:flex;justify-content:space-between;font:500 10px var(--mono);color:var(--ink-2);margin-top:2px;gap:4px}
.wf-sw{display:flex;flex-wrap:wrap;gap:3px 10px;font:500 11px Inter,system-ui,sans-serif;color:var(--ink-2);margin-top:5px}
.wf-sw i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:4px;vertical-align:-2px;border:1px solid #14171c26}
.wf-sw i.c{border-radius:50%}
.wf-tip{position:fixed;z-index:40;pointer-events:none;background:#0d1014ee;color:#f4efe5;border-radius:5px;padding:6px 9px;font:500 11.5px/1.45 Inter,system-ui,sans-serif;max-width:290px;white-space:normal;box-shadow:0 6px 18px #0005}
.wf-tip[hidden]{display:none}
.wf-tip b{color:#fff}.wf-tip small{color:#cfc6b5}
.wf-zoom{position:absolute;right:10px;bottom:10px;z-index:3;display:flex;flex-direction:column;gap:4px}
.wf-zoom button{width:32px;height:32px;border:1px solid var(--line);border-radius:4px;background:var(--card);font:600 16px Inter,system-ui,sans-serif;color:var(--ink-2);cursor:pointer}
.wf-presets{position:absolute;left:150px;top:10px;z-index:3;display:flex;flex-wrap:wrap;gap:4px;max-width:calc(100% - 150px)}
.wf-presets button{height:26px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:#fffefbe8;font:500 11px Inter,system-ui,sans-serif;color:var(--ink-2);cursor:pointer}
.wf-time{flex:none;display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--line);background:var(--card);flex-wrap:wrap}
.wf-time input[type=range]{flex:1;min-width:120px;accent-color:#b8975a}
.wf-time .vt{font:600 12.5px var(--mono);color:var(--ink);white-space:nowrap}
.wf-time .lead{font:500 11px var(--mono);color:var(--ink-3);white-space:nowrap}
.wf-btn{min-width:32px;height:30px;border:1px solid var(--line);border-radius:4px;background:var(--card);cursor:pointer;font-size:12px;color:var(--ink-2)}
.wf-msg{position:absolute;inset:0;display:grid;place-items:center;z-index:4;font:500 13px Inter,system-ui,sans-serif;color:var(--ink-2);background:#f8f6f1cc;text-align:center;padding:20px}
.wf-msg[hidden]{display:none}
.wf-side{min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px}
.wf-panel{min-width:0;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:9px 11px}
.wf-panel>h2{font:700 13px Inter,system-ui,sans-serif;margin:0 0 6px;color:var(--ink);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.wf-panel>h2 small{font-weight:500;color:var(--ink-3);font-size:11px;margin-left:auto}
.wf-lab{font:600 9.5px Inter,system-ui,sans-serif;letter-spacing:.15em;color:var(--ink-3);text-transform:uppercase;margin:8px 0 4px;display:flex;align-items:center;gap:4px}
.wf-sel{width:100%;height:32px;border:1px solid var(--line);border-radius:4px;background:var(--card);font:500 12.5px Inter,system-ui,sans-serif;color:var(--ink);padding:0 6px}
.wf-chks{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}
.wf-chk{font-size:12px;display:inline-flex;align-items:center;gap:5px;color:var(--ink-2);margin-top:4px}
.wf-sub{font-size:11.5px;color:var(--ink-3);margin:6px 0 0;line-height:1.45}
.wf-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:4px;overflow:hidden;margin:4px 0}
.wf-kpi{background:var(--card);padding:5px 7px;min-width:0}
.wf-kpi small{display:block;font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.wf-kpi b{font:700 14px var(--mono);color:var(--ink)}
.wf-kpi span{font-size:10.5px;color:var(--ink-3);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-st{display:inline-block;font:700 10px Inter,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:2px 6px;color:#fff;background:#7d8a96;white-space:nowrap}
.wf-st.OC{background:#c8261e}.wf-st.BH{background:#e08a1e}.wf-st.UC{background:#3f7d4a}.wf-st.MR{background:#6b5ea8}
.wf-list{width:100%;border-collapse:collapse;font-size:12px}
.wf-list td,.wf-list th{padding:4px 5px;border-bottom:1px solid var(--line-2);text-align:left;white-space:nowrap}
.wf-list th{font-size:10.5px;color:var(--ink-3);font-weight:600;cursor:pointer}
.wf-list tr[data-id]{cursor:pointer}
.wf-list tr[data-id]:hover,.wf-list tr.on{background:#f6f2e8}
.wf-list .r{text-align:right;font-family:var(--mono)}
.wf-scroll{max-height:320px;overflow:auto}
.wf-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.wf-filter select,.wf-filter input{height:28px;border:1px solid var(--line);border-radius:4px;background:var(--card);font:500 12px Inter,system-ui,sans-serif;color:var(--ink);padding:0 6px}
.wf-dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:11.5px;margin:4px 0}
.wf-dl dt{color:var(--ink-3)}.wf-dl dd{margin:0;color:var(--ink)}
.wf-tab{width:100%;border-collapse:collapse;font-size:11.5px}
.wf-tab th,.wf-tab td{padding:3px 5px;border-bottom:1px solid var(--line-2);text-align:right;white-space:nowrap}
.wf-tab th:first-child,.wf-tab td:first-child{text-align:left}
.wf-tab th{font-weight:600;color:var(--ink-3);font-size:10.5px}
.wf-tabw{overflow-x:auto;max-width:100%}
.wf-chart{position:relative}
.wf-chart svg{width:100%;height:auto;display:block}
.wf-chart svg text{font:9.5px Inter,system-ui,sans-serif;fill:#44566a}
.wf-small{font-size:11px;color:var(--ink-3);line-height:1.45;margin:4px 0 0}
.wf-note{font-size:12px;line-height:1.5;color:var(--ink-2);margin:4px 0}
.wf-quote{font-size:12px;line-height:1.5;color:var(--ink-2);border-left:3px solid #b8975a;background:#faf6ec;padding:6px 9px;border-radius:0 4px 4px 0;margin:6px 0}
.wf-feeds{list-style:none;margin:0;padding:0;font-size:11.5px}
.wf-feeds li{display:flex;gap:6px;padding:2px 0;border-bottom:1px solid var(--line-2)}
.wf-feeds li i{width:9px;height:9px;border-radius:50%;margin-top:4px;flex:none;background:#3f7d4a}
.wf-feeds li.bad i{background:#c8261e}
.wf-feeds li span{color:var(--ink-3);margin-left:auto;white-space:nowrap}
.wf-beta{font:600 9.5px Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;background:#efe4cc;color:#6e5529;border-radius:3px;padding:1px 5px}
.wf-detail[hidden]{display:none}
.wf-x{margin-left:auto;border:1px solid var(--line);background:var(--card);border-radius:4px;width:26px;height:26px;cursor:pointer;color:var(--ink-2)}
.wf-side .mfh-intro{margin:0}
.wf-side .mfh-intro ul{columns:1}
.wf-side .mfh-gloss dl{grid-template-columns:1fr}
.wf-wide{grid-column:1/-1}
.wf-below{padding:0 8px 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:8px}
.wf-foot{flex:none;font-size:11px;color:var(--ink-3);padding:4px 16px 8px}
@media(max-width:900px){
  body.wf-page{height:auto;display:block}
  html{height:auto}
  .wf{display:flex;flex-direction:column;padding:8px;width:100%;box-sizing:border-box}
  .wf>*{min-width:0;max-width:100%}
  .wf-mapwrap{height:min(74vh,640px);height:min(74dvh,640px)}
  .wf-side{overflow:visible}
  .wf-banner{padding:6px 12px}
  .wf-presets{max-width:calc(100% - 60px)}
  .wf-kpi span,.wf-tab th,.wf-tab td{white-space:normal}
  .wf-below{grid-template-columns:1fr}
  html,body.wf-page{overflow-x:hidden;max-width:100vw}
  .wf-panel{overflow-x:auto}
  .wf-time .vt{font-size:11.5px;white-space:normal}
  .wf-time input[type=range]{min-width:0;flex-basis:100%;order:5}
  .wf-presets{left:10px;top:44px}
  .wf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:901px){body.wf-page{overflow:hidden}.wf-below{display:none}}
