*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;background:#0b1217;color:#e8eaed}:root{--header-top:12px;--header-left:16px;--shell-w:clamp(100px,36vw,380px);--shadow:0 6px 20px rgba(0,0,0,.3);--banner-bg:hsla(0,0%,8%,.78);--panel-bg:linear-gradient(180deg,rgba(27,31,38,.92),rgba(18,22,28,.92));--card-fg:#fff;--accent:#2cd3a4;--warn:#d06a61;--muted:hsla(0,0%,100%,.24)}.app{position:relative;height:100vh;width:100vw;overflow:hidden}.map{inset:0}.map,.uiStack{position:absolute}.uiStack{top:var(--header-top);left:var(--header-left);width:var(--shell-w);z-index:20}.header{display:flex;align-items:center;gap:8px;width:100%;background:var(--banner-bg);color:var(--card-fg);padding:8px 12px;border-radius:14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px) saturate(1.2);backdrop-filter:blur(6px) saturate(1.2)}.brand{font-weight:700;letter-spacing:.2px}.headerSpacer{flex:1 1}.chip{display:inline-block;background:#2f7d3f;color:#fff;border:none;border-radius:10px;padding:6px 12px;font-size:14px;cursor:pointer;box-shadow:var(--shadow);text-decoration:none}.chip.secondary{background:#2670b9}.controlsBtn{margin-top:8px;background:var(--banner-bg);color:var(--card-fg);border:1px solid hsla(0,0%,100%,.08);padding:6px 10px;border-radius:10px;cursor:pointer;box-shadow:var(--shadow)}.controlsPanel{width:100%;overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);transition:max-height .25s ease,opacity .18s ease,transform .18s ease;pointer-events:none;margin-top:8px}.controlsPanel.open{max-height:800px;opacity:1;transform:translateY(0);pointer-events:auto}.trayCard{background:var(--panel-bg);color:var(--card-fg);border-radius:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px) saturate(1.2);backdrop-filter:blur(6px) saturate(1.2);padding:16px}.tray .section{margin-bottom:14px}.tray .section:last-child{margin-bottom:0}.tray .sectionTitle{font-weight:700;margin:6px 0 8px;font-size:13px;letter-spacing:.2px;opacity:.95}.ctlPill{background:hsla(0,0%,100%,.1);color:#fff;border:1px solid hsla(0,0%,100%,.14);border-radius:12px;padding:8px 12px;font-weight:700;box-shadow:var(--shadow)}.pillSelect{-webkit-appearance:none;-moz-appearance:none;appearance:none}.pillSelect,.valuePill{box-shadow:inset 0 1px 0 rgba(0,0,0,.2),var(--shadow)}.valuePill{width:62px;text-align:center}.valuePill::-webkit-inner-spin-button,.valuePill::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.valuePill{-moz-appearance:textfield}.valuePill:focus{outline:2px solid hsla(0,0%,100%,.22);outline-offset:2px}.row{display:flex;align-items:center;gap:10px}.range{flex:1 1 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--muted);border-radius:999px;outline:none}.range,.range.small{height:4px}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.25);box-shadow:0 1px 3px rgba(0,0,0,.25);margin-top:-7px}.range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.25)}.resetBtn{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.14);border-radius:12px;padding:8px 14px;cursor:pointer}.legend,.resetBtn{color:#fff;box-shadow:var(--shadow)}.legend{position:absolute;left:var(--header-left);bottom:16px;width:var(--shell-w);max-width:92vw;z-index:15;background:rgba(18,22,28,.92);border-radius:16px;padding:12px 14px}.legend .colorbar,.legend .gradientBar,.legend .legend-bar,.legend .legendBar,.legend .legend__bar{height:10px;border-radius:6px;background:linear-gradient(90deg,var(--warn) 0,#e0c164 50%,var(--accent) 100%);margin:6px 0 8px}.legend .labels,.legend .legend-ticks,.legend .legendTicks,.legend .legend__ticks,.legend .ticks{display:flex;justify-content:space-between;gap:8px;font-size:12px;letter-spacing:.2px;opacity:.9}.legend .caption,.legend .legend-caption,.legend .legendCaption,.legend .legend__caption{margin-top:6px;font-size:11px;opacity:.85;line-height:1.25}.mm-tooltip{background:rgba(18,22,28,.92);color:#e9eef5;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;padding:6px 8px;font:13px/1.35 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;box-shadow:0 4px 14px rgba(0,0,0,.35)}.mm-tooltip .leaflet-tooltip-tip{background:rgba(18,22,28,.92);border:none}.leaflet-container .leaflet-popup-content,.leaflet-container .leaflet-tooltip{color:#e9eef5!important;background:rgba(18,22,28,.92);border:1px solid hsla(0,0%,100%,.12)}.leaflet-container .leaflet-tooltip .leaflet-tooltip-tip{background:rgba(18,22,28,.92);border:none}.pressable{transition:transform 80ms ease,filter .12s ease,box-shadow .12s ease,background-color .12s ease;will-change:transform,filter,background-color,box-shadow}.controls-toggle{position:relative;overflow:hidden}.pressable:hover{filter:brightness(1.05)}.pressable:active{transform:translateY(1px) scale(.985)}.controls-toggle.active,.pressable:active{box-shadow:inset 0 2px 6px rgba(0,0,0,.35)}.controls-toggle.active{transform:translateY(1px);filter:none}.controls-toggle.active:after{content:"";position:absolute;inset:0;background:hsla(0,0%,100%,.16);pointer-events:none;border-radius:inherit}