.map-root{position:relative;height:100%;width:100%;isolation:isolate}.leaflet-halos-pane,.leaflet-halos-pane .map-halo{pointer-events:none}.leaflet-halos-pane{opacity:var(--ui-halo-opacity)}.map-halo-pulse{animation:map-halo-pulse 3s ease-in-out infinite}@keyframes map-halo-pulse{0%,to{transform:scale(.85);opacity:1}50%{transform:scale(1.15);opacity:.6}}@media (prefers-reduced-motion:reduce){.map-halo-pulse{animation:none}}:where(.leaflet-marker-pane)>.leaflet-marker-icon{transition:opacity .2s ease}@media (prefers-reduced-motion:reduce){:where(.leaflet-marker-pane)>.leaflet-marker-icon{transition:none}}.leaflet-container .leaflet-top.leaflet-left .leaflet-control-zoom{margin:12px 0 0 12px;padding:3px;border:none;border-radius:11px;background:var(--ui-card);backdrop-filter:blur(8px);box-shadow:0 4px 16px rgba(15,23,42,.16),0 1px 3px rgba(15,23,42,.1)}.leaflet-container .leaflet-control-zoom.leaflet-bar a,.leaflet-container .leaflet-control-zoom.leaflet-bar a:first-child,.leaflet-container .leaflet-control-zoom.leaflet-bar a:last-child{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--ui-slate-600);font:600 18px/1 var(--font-inter),system-ui,sans-serif;text-indent:0;transition:background-color .15s ease,color .15s ease}.leaflet-container .leaflet-control-zoom.leaflet-bar a+a{margin-top:1px}.leaflet-container .leaflet-control-zoom.leaflet-bar a:hover{background:var(--ui-slate-100);color:var(--ui-slate-900)}.leaflet-container .leaflet-control-zoom.leaflet-bar a:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}.leaflet-container .leaflet-control-zoom.leaflet-bar a.leaflet-disabled{background:transparent;color:var(--ui-slate-300);cursor:default}@media (max-width:640px){.leaflet-container .leaflet-top.leaflet-left .leaflet-control-zoom{margin:8px 0 0 8px;padding:2px;border-radius:10px}.leaflet-container .leaflet-control-zoom.leaflet-bar a,.leaflet-container .leaflet-control-zoom.leaflet-bar a:first-child,.leaflet-container .leaflet-control-zoom.leaflet-bar a:last-child{width:28px;height:28px;font-size:17px}}.map-bottom a:focus-visible,.map-bottom button:focus-visible,.map-layer-stack button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.map-layer-stack{position:absolute;top:12px;right:12px;z-index:1000;display:flex;flex-direction:column;align-items:stretch;gap:8px;width:64px}.map-layer-buttons{padding:4px;border-radius:18px}.map-layer-button,.map-layer-buttons{display:flex;flex-direction:column;gap:2px}.map-layer-button{align-items:center;justify-content:center;min-height:52px;border-radius:14px;color:var(--ui-slate-600);font-size:11px;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.map-layer-button:hover{background:var(--ui-slate-100)}.map-layer-button[aria-pressed=true]{background:var(--ui-accent);color:#fff}.map-bottom{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:min(1200px,calc(100% - 200px));z-index:1000;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}.map-bottom>*{pointer-events:auto}.map-color-scale{width:200px;padding:6px 18px 4px 12px;border-radius:12px}.map-color-scale-caption{position:relative;display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--ui-slate-700);line-height:16px;cursor:pointer;border-radius:4px}.map-color-scale-caption:after{content:"";position:absolute;inset:-6px -8px}.map-color-scale-sep,.map-color-scale-unit{font-weight:500;color:var(--ui-slate-500)}.map-color-scale-unit{-webkit-text-decoration:underline transparent;text-decoration:underline transparent;text-underline-offset:2px;transition:text-decoration-color .15s ease}.map-color-scale-caption:focus-visible .map-color-scale-unit,.map-color-scale-caption:hover .map-color-scale-unit,.map-color-scale-caption[aria-expanded=true] .map-color-scale-unit{color:var(--ui-accent-text);text-decoration-color:currentColor}.map-color-scale-chevron{font-size:16px!important;margin-left:-2px;color:var(--ui-slate-400)}.map-color-scale-caption:focus-visible .map-color-scale-chevron,.map-color-scale-caption:hover .map-color-scale-chevron,.map-color-scale-caption[aria-expanded=true] .map-color-scale-chevron{color:var(--ui-accent-text)}.map-color-scale-bar{height:8px;margin-top:3px;border-radius:4px}.map-color-scale-ticks{position:relative;height:15px;font-size:10.5px;line-height:15px;color:var(--ui-slate-500);font-variant-numeric:tabular-nums}.map-color-scale-ticks span{position:absolute;top:0;white-space:nowrap}.map-color-scale-ticks .map-color-scale-plus{left:100%}@media (max-width:640px){.map-layer-stack{top:8px;right:8px;width:48px}.map-layer-button{min-height:40px}.map-layer-label{display:none}.map-bottom{bottom:22px;width:calc(100% - 12px);gap:6px}.map-color-scale{width:168px;padding:5px 18px 3px 10px}.map-color-scale-bar{height:6px}.map-color-scale-ticks{height:14px;font-size:10px;line-height:14px}}.map-timeline{gap:12px;width:100%;padding:8px 10px;border-radius:999px}.map-play-button,.map-timeline{display:flex;align-items:center}.map-play-button{justify-content:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--ui-accent);color:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(15,135,255,.35);transition:background-color .15s ease}.map-play-button:hover:not(:disabled){background:#0a74e0}.map-play-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.map-readout{flex:none;width:112px;line-height:1.2}.map-readout-time{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.map-readout-loading,.map-readout-time{color:var(--ui-slate-900);white-space:nowrap}.map-readout-loading{font-size:14px;font-weight:700}.map-readout-sub{display:flex;align-items:center;gap:6px;margin-top:3px;min-height:20px;font-size:12px;color:var(--ui-slate-500);font-variant-numeric:tabular-nums}.map-now-chip{height:20px;padding:0 9px;border-radius:10px;border:1px solid var(--ui-accent-border);background:var(--ui-raised);color:var(--ui-accent-text);font-size:11px;font-weight:700;cursor:pointer;position:relative}.map-now-chip:after{content:"";position:absolute;inset:-8px -6px}.map-now-chip:hover{background:var(--ui-accent-tint-weak)}.map-now-chip.is-now{border-color:var(--ui-accent-tint);background:var(--ui-accent-tint)}.map-readout-rel{font-weight:600;color:var(--ui-slate-500)}.map-track-area{position:relative;flex:1;min-width:0;padding-top:2px}.map-track-rail{position:absolute;top:2px;left:0;right:0;height:28px;pointer-events:none}.map-track{position:absolute;top:10px;left:calc(var(--map-slider-thumb) / 2);right:calc(var(--map-slider-thumb) / 2);height:8px;border-radius:4px;background:var(--ui-slate-200);overflow:hidden}.map-track-past{position:absolute;top:0;bottom:0;left:0;background:var(--ui-track-past)}.map-track-day,.map-track-hour{position:absolute;transform:translateX(-50%);background:var(--ui-card-solid)}.map-track-day{top:0;bottom:0;width:2px}.map-track-hour{top:2px;bottom:2px;width:1px;opacity:.8}.map-track-now{position:absolute;top:5px;height:18px;width:3px;border-radius:2px;transform:translateX(-50%);background:var(--ui-accent)}.map-timeline.is-loading .map-day-labels,.map-timeline.is-loading .map-track-rail{opacity:.45}input[type=range].map-time-slider{position:relative;display:block;width:100%;height:28px;margin:0;background:transparent;border-radius:0;cursor:pointer}input[type=range].map-time-slider:focus{outline:none}input[type=range].map-time-slider::-webkit-slider-runnable-track{background:transparent}input[type=range].map-time-slider::-moz-range-track{background:transparent}input[type=range].map-time-slider::-webkit-slider-thumb{box-sizing:border-box;width:var(--map-slider-thumb);height:var(--map-slider-thumb);background-color:var(--ui-accent);background-image:none;border:3px solid #fff;box-shadow:0 1px 4px rgba(15,23,42,.35);cursor:grab}input[type=range].map-time-slider::-moz-range-thumb{box-sizing:border-box;width:var(--map-slider-thumb);height:var(--map-slider-thumb);background-color:var(--ui-accent);background-image:none;border:3px solid #fff;box-shadow:0 1px 4px rgba(15,23,42,.35);cursor:grab}input[type=range].map-time-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(15,135,255,.35),0 1px 4px rgba(15,23,42,.35)}input[type=range].map-time-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px rgba(15,135,255,.35),0 1px 4px rgba(15,23,42,.35)}input[type=range].map-time-slider:disabled{cursor:not-allowed}input[type=range].map-time-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;background-color:var(--ui-slate-400)}input[type=range].map-time-slider:disabled::-moz-range-thumb{cursor:not-allowed;background-color:var(--ui-slate-400)}.map-day-labels{position:relative;height:16px;font-size:12px;font-weight:600;line-height:16px;color:var(--ui-slate-400)}.map-day-labels span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.map-day-labels span.is-current{color:var(--ui-slate-900)}.map-day-labels span.map-hour-label{font-size:10px;font-weight:500;color:var(--ui-text-faint)}.map-settings{flex:none}@media (max-width:640px){.map-timeline{flex-wrap:wrap;row-gap:4px;padding:8px 12px 6px;border-radius:20px}.map-readout{flex:1;width:auto;display:flex;align-items:baseline;gap:8px}.map-readout-sub{margin-top:0}.map-track-area{order:3;flex-basis:100%}.map-play-button{width:40px;height:40px}}.map-station-panel{--panel-chart-base-h:124px;--panel-compact-h:52px;--panel-chart-h:calc(var(--panel-chart-base-h) + var(--panel-dir-strip-h, 0px));position:relative;width:100%;padding:6px 10px;border-radius:20px;animation:map-panel-in .18s ease-out}@keyframes map-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.map-station-panel{animation:none}}@media (min-width:1400px){.map-station-panel{--panel-chart-base-h:145px}}.map-station-info{position:absolute;z-index:1;top:6px;left:var(--gutter-left,10px);width:var(--gutter-w,100px);height:var(--panel-chart-h);display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.map-station-name{font-size:13px;font-weight:700;line-height:16px;color:var(--ui-slate-900);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere;pointer-events:auto;text-decoration:none;transition:color .15s ease}.map-station-name-last{white-space:nowrap}.map-station-name .map-station-name-chevron-end{display:none}.map-station-name-chevron{font-size:17px!important;margin-left:-1px;vertical-align:-4px;color:var(--ui-slate-400);transition:color .15s ease,transform .15s ease}@media (hover:hover){.map-station-name:hover{color:var(--ui-accent-text)}.map-station-name:hover .map-station-name-chevron{color:var(--ui-accent-text);transform:translateX(2px)}}.map-station-cta{flex:none;flex-direction:column;justify-content:center;width:60px;height:40px;border-radius:12px;background:var(--ui-accent);color:#fff;font-size:11.5px;font-weight:700;line-height:14px;white-space:nowrap;text-decoration:none;box-shadow:0 1px 2px rgba(15,23,42,.18);transition:background-color .15s ease}.map-station-cta,.map-station-cta-line{display:flex;align-items:center}.map-station-cta-icon{font-size:16px!important;margin:0 -5px 0 -1px;transition:transform .15s ease}@media (hover:hover){.map-station-cta:hover{background:#0a74e0}.map-station-cta:hover .map-station-cta-icon{transform:translateX(2px)}}@media (prefers-reduced-motion:reduce){.map-station-cta-icon,.map-station-name-chevron{transition:none}}.map-station-caption{font-size:11px;font-weight:500;line-height:14px;color:var(--ui-slate-500)}.map-station-value{display:flex;align-items:baseline;white-space:nowrap;color:var(--ui-slate-900);font-variant-numeric:tabular-nums;line-height:28px}.map-station-value-num{font-size:26px;font-weight:700;letter-spacing:-.02em}.map-station-value-unit{font-size:13px;font-weight:600;color:var(--ui-slate-600);white-space:pre}.map-station-value-arrow{display:inline-flex;flex:none;width:19px;height:19px;margin-right:3px;align-self:baseline}.map-station-value .map-station-obs-dot{margin-left:5px;align-self:center}.map-station-value-note{font-size:14px;font-weight:600;line-height:28px;color:var(--ui-slate-500);white-space:nowrap}.map-station-actions{position:absolute;z-index:1;top:6px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.map-station-actions .map-station-close{order:-1}.map-station-chart{position:relative;height:var(--panel-chart-h);-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:height .2s ease}@media (prefers-reduced-motion:reduce){.map-station-chart{transition:none}}@media (min-width:641px){.map-station-panel.is-compact .map-station-chart{height:calc(var(--panel-compact-h) - 12px)}.map-station-panel.is-compact .map-station-info{right:128px;width:auto;height:calc(var(--panel-compact-h) - 12px);flex-direction:row;align-items:center;justify-content:flex-start;gap:16px}.map-station-panel.is-compact .map-station-name{flex:0 1 auto;min-width:0;-webkit-line-clamp:2}.map-station-panel.is-compact .map-station-value-block{flex:none}.map-station-panel.is-compact .map-station-value-note{line-height:20px}.map-station-panel.is-compact .map-station-actions{top:calc((var(--panel-compact-h) - 40px) / 2);flex-direction:row;align-items:center;gap:6px}.map-station-panel.is-compact .map-station-close{order:0}}.map-station-ytick{font-size:10.5px;fill:var(--ui-slate-500);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--ui-card-solid);stroke-width:3px;stroke-linejoin:round}.map-station-ytick.is-inside{font-size:9.5px}.map-station-chart-note{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ui-slate-500);pointer-events:none}@media (max-width:640px){.map-station-panel{--panel-chart-base-h:90px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;-moz-column-gap:8px;column-gap:8px;row-gap:2px;padding:4px 12px;border-radius:16px}.map-station-info{position:static;width:auto;height:auto;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:8px;min-width:0}.map-station-name{display:flex;flex:0 1 auto;align-items:center;min-width:0}.map-station-name-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.map-station-name-last .map-station-name-chevron{display:none}.map-station-name .map-station-name-chevron-end{display:inline-block;flex:none;vertical-align:0}.map-station-value-block{flex:none}.map-station-caption{display:none}.map-station-value{line-height:20px}.map-station-value-num{font-size:17px}.map-station-value-unit{font-size:12px}.map-station-value-arrow{width:12.5px;height:12.5px;margin-right:2px}.map-station-value-note{font-size:12px;line-height:20px}.map-station-actions{position:static;flex-direction:row;align-items:center;gap:6px}.map-station-actions .map-station-close{order:0}.map-station-chart{grid-column:1/-1}.map-station-panel.is-compact{row-gap:0}.map-station-panel.is-compact .map-station-chart{height:0}}