#map{width:100%;height:100%;position:absolute;top:0;left:0;background-color:var(--bg-base)}.fire-marker-container{position:absolute!important;background:none!important;border:none!important;display:flex;align-items:center;justify-content:center;contain:layout paint;min-width:24px;min-height:24px}.fire-icon{position:relative;z-index:2;transition:transform .2s ease-out}.fire-marker-container:hover .fire-icon{transform:scale(1.15)}.pulse-ring{position:absolute;top:50%;left:50%;border-radius:50%;opacity:0;transform:translate3d(-50%,-50%,0) scale(.72);transform-origin:center center;animation:pulse-ring 2.2s cubic-bezier(.215,.61,.355,1) infinite;z-index:1;pointer-events:none;will-change:transform,opacity}.pulse-ring.red{background:radial-gradient(circle,#ff3b3073,#ff3b3000 70%)}.pulse-ring.orange{background:radial-gradient(circle,#ff950073,#ff950000 70%)}.pulse-delay{animation-delay:1.1s}.map-pulse-paused .pulse-ring{animation:none!important;opacity:0!important}.satellite-spread-zone{filter:drop-shadow(0 0 18px rgba(245,158,11,.28));mix-blend-mode:screen}.satellite-active-zone{filter:drop-shadow(0 0 14px rgba(239,68,68,.34));mix-blend-mode:screen}.satellite-core-zone{filter:drop-shadow(0 0 10px rgba(220,38,38,.48))}.satellite-hotspot-halo{filter:blur(1px);mix-blend-mode:screen}.satellite-hotspot-core{filter:drop-shadow(0 0 5px rgba(255,120,48,.72))}.ipma-risk-zone{filter:drop-shadow(0 0 14px rgba(249,115,22,.24));mix-blend-mode:screen}.ipma-risk-point{filter:drop-shadow(0 0 7px rgba(255,255,255,.28))}.ipma-weather-point{filter:drop-shadow(0 0 7px rgba(56,189,248,.42))}.anepc-region-layer{filter:drop-shadow(0 1px 4px rgba(37,99,235,.18))}.satellite-popup-container .leaflet-popup-content-wrapper{overflow:hidden;border-radius:10px;background:#12161df0;color:#f8fafc;box-shadow:0 18px 50px #0000005c;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.satellite-popup-container .leaflet-popup-content{width:min(324px,calc(100vw - 48px))!important;margin:0}.satellite-popup-container .leaflet-popup-tip{background:#12161df0;border:1px solid rgba(255,255,255,.12)}.satellite-popup-container .leaflet-popup-close-button{color:#f8fafcb8!important;font-size:18px!important;padding:8px 10px 0 0!important}.sat-popup{padding:12px}.map-data-popup{padding:14px}.sat-popup-kicker{margin-bottom:3px;color:#e2e8f0a3;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sat-popup h3,.map-data-popup h3{margin:0;color:#fff;font-size:.94rem;line-height:1.2}.sat-popup p{margin:7px 0 9px;color:#e2e8f0d1;font-size:.74rem;line-height:1.35}.sat-popup-head{display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px;padding-right:18px}.sat-popup-score{display:grid;place-items:center;min-width:46px;height:46px;border-radius:10px;background:#ffffff12;border:1px solid rgba(255,255,255,.1)}.sat-popup-score strong{color:#fff;font-size:1rem;line-height:1}.sat-popup-score span{color:#e2e8f09e;font-size:.58rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.sat-popup-status{display:inline-flex;max-width:100%;margin-top:8px;padding:4px 8px;border-radius:999px;font-size:.7rem;font-weight:700;line-height:1.2}.sat-popup-status.active{background:#dc262633;color:#fecaca}.sat-popup-status.controlled{background:#16a34a33;color:#bbf7d0}.sat-popup-status.satellite,.sat-popup-status.unknown{background:#f59e0b33;color:#fde68a}.sat-popup-grid{display:grid;gap:6px;margin-top:10px}.sat-popup-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.sat-popup-metrics div{min-width:0;padding:8px;border-radius:8px;background:#ffffff0f}.sat-popup-metrics span,.sat-popup-model span,.sat-popup-mini-grid span{display:block;color:#e2e8f0a3;font-size:.66rem;line-height:1.2}.sat-popup-metrics strong{display:block;margin-top:3px;color:#fff;font-size:.82rem;line-height:1.1}.sat-popup-model{display:grid;gap:8px;margin-top:8px;padding:9px;border-radius:9px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.sat-popup-model strong{display:block;margin-top:3px;color:#fff;font-size:.78rem;line-height:1.25}.sat-popup-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.sat-popup-mini-grid span{padding:6px;border-radius:7px;background:#ffffff0d;text-align:center}.sat-popup-mini-grid b{display:block;color:#fff;font-size:.74rem;margin-bottom:2px}.sat-popup-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding:6px 8px;border-radius:6px;background:#ffffff0f}.sat-popup-row span{color:#e2e8f0ad;font-size:.73rem}.sat-popup-row strong{color:#fff;font-size:.76rem;font-weight:700;text-align:right}.sat-popup-note{margin-top:8px;color:#e2e8f0b3;font-size:.69rem;line-height:1.35}.sat-popup-details{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.sat-popup-details summary{cursor:pointer;color:#e2e8f0bd;font-size:.68rem;font-weight:700;list-style:none}.sat-popup-details summary::-webkit-details-marker{display:none}.sat-popup-details summary:after{content:"+";float:right;color:#e2e8f07a}.sat-popup-details[open] summary:after{content:"-"}.sat-popup-sources{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.sat-popup-sources span{display:inline-flex;max-width:100%;padding:4px 7px;border-radius:999px;background:#ffffff12;color:#e2e8f0bd;font-size:.62rem;line-height:1.15}@keyframes pulse-ring{0%{transform:translate3d(-50%,-50%,0) scale(.72);opacity:.72}72%{opacity:0}to{transform:translate3d(-50%,-50%,0) scale(2.05);opacity:0}}.map-notice{position:absolute;top:calc(env(safe-area-inset-top,0px) + 18px);left:50%;z-index:1200;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;width:min(390px,calc(100vw - 32px));padding:10px 12px;border-radius:12px;background:var(--bg-panel);border:1px solid var(--border-subtle);box-shadow:0 16px 44px var(--shadow-color);color:var(--color-text-primary);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);opacity:0;pointer-events:none;transform:translate(-50%,-10px) scale(.98);transition:opacity .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.map-notice.visible{opacity:1;transform:translate(-50%) scale(1)}.map-notice-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#f59e0b24;color:#f59e0b;font-size:15px}.map-notice.error .map-notice-icon{background:#ef444424;color:#ef4444}.map-notice strong,.map-notice small{display:block;min-width:0}.map-notice strong{font-size:.78rem;font-weight:850;line-height:1.15}.map-notice small{margin-top:2px;color:var(--color-text-secondary);font-size:.68rem;font-weight:650;line-height:1.25}@media(max-width:768px){.map-notice{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 72px);width:min(360px,calc(100vw - 20px));padding:9px 10px;transform:translate(-50%,10px) scale(.98)}.map-notice.visible{transform:translate(-50%) scale(1)}.map-notice strong{font-size:.72rem}.map-notice small{font-size:.63rem}}.leaflet-control-zoom{border:1px solid var(--border-subtle)!important;box-shadow:0 8px 32px var(--shadow-color)!important;border-radius:12px!important;overflow:hidden}.leaflet-control-zoom-in,.leaflet-control-zoom-out{background:var(--bg-panel)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;color:var(--color-text-primary)!important;border:none!important;width:34px!important;height:34px!important;line-height:34px!important;font-size:1rem!important;transition:background .2s,color .2s!important}.leaflet-control-zoom-in:hover,.leaflet-control-zoom-out:hover{background:var(--card-hover)!important}.leaflet-control-zoom-in{border-bottom:1px solid var(--border-subtle)!important}.leaflet-control-attribution{background:var(--bg-panel)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;color:var(--color-text-tertiary)!important;font-size:.68rem!important;border-top-left-radius:8px;border:1px solid var(--border-subtle)!important;border-bottom:none!important;border-right:none!important;padding:4px 10px!important}.leaflet-control-attribution a{color:var(--color-text-tertiary)!important}.leaflet-control-attribution a:hover{color:var(--color-text-secondary)!important}[data-theme=light] .leaflet-tile-pane{filter:saturate(.82) contrast(.9) brightness(.92)}[data-theme=light] .fire-icon{filter:drop-shadow(0 2px 5px rgba(49,57,70,.28))!important}@media(max-width:768px){.leaflet-control-zoom,.leaflet-control-attribution{display:none!important}.satellite-popup-container .leaflet-popup-content{width:min(330px,calc(100vw - 24px))!important}.sat-popup{padding:11px}.sat-popup h3{font-size:.9rem}.sat-popup-row{min-height:30px}.sat-popup-head{gap:8px}.sat-popup-score{min-width:42px;height:42px}.sat-popup-metrics{gap:5px}.sat-popup-metrics div,.sat-popup-model{padding:7px}}

@media(max-width:768px){.map-notice{top:calc(env(safe-area-inset-top,0px) + 72px)!important;transform:translate(-50%,10px) scale(.98)}.map-notice.visible{transform:translate(-50%) scale(1)}}
.wind-arrow-icon{background:transparent!important;border:none!important}
.wind-arrow-icon .wind-arrow-wrap{background:transparent!important;border:none!important;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.wind-arrow-icon .wind-arrow{position:relative;width:var(--arrow-size,24px);height:var(--arrow-size,24px);display:flex;align-items:center;justify-content:center;transform-origin:center}
.wind-arrow-icon .wind-arrow-svg{width:100%;height:100%;overflow:visible;animation:wind-pulse 1.2s ease-in-out infinite;transform-origin:center}
.wind-arrow-icon .wind-arrow-svg path{fill:var(--accent-wind,#3b82f6);stroke:rgba(255,255,255,.25);stroke-width:1.5px;stroke-linejoin:round}
@keyframes wind-pulse{0%,100%{transform:scale(.95);opacity:.85}50%{transform:scale(1.05);opacity:1}}
.sat-popup-wind-arrow{color:var(--accent-wind,#3b82f6);font-weight:900;filter:drop-shadow(0 0 4px rgba(59,130,246,.4));transition:transform .3s ease}
.sat-popup-wind-deg{color:var(--color-text-secondary);font-size:.72rem;font-weight:600}
.refresh-toast{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);left:50%;z-index:1300;transform:translate(-50%,10px) scale(.98);opacity:0;pointer-events:none;padding:10px 18px;border-radius:12px;background:var(--bg-panel);color:var(--color-text-primary);border:1px solid var(--border-subtle);box-shadow:0 16px 44px var(--shadow-color);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);font-size:.85rem;font-weight:700;transition:opacity .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.refresh-toast.visible{opacity:1;transform:translate(-50%) scale(1)}@media(max-width:768px){.refresh-toast{bottom:calc(env(safe-area-inset-bottom,0px) + 90px);font-size:.78rem}}

@media(max-width:768px){
  .leaflet-popup{max-width:calc(100vw - 20px)!important}
  .leaflet-popup-content-wrapper{
    max-width:calc(100vw - 20px)!important;
    max-height:min(66dvh,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 110px));
    overflow-y:auto!important;
    overscroll-behavior:contain;
    border-radius:12px!important;
    -webkit-overflow-scrolling:touch;
  }
  .leaflet-popup-content{
    width:auto!important;
    max-width:calc(100vw - 44px)!important;
    margin:0!important;
  }
  .satellite-popup-container .leaflet-popup-content{width:min(300px,calc(100vw - 44px))!important}
  .sat-popup,.map-data-popup{padding:clamp(9px,3vw,12px)}
  .sat-popup-head{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-right:22px}
  .sat-popup h3,.map-data-popup h3{font-size:clamp(.78rem,3.8vw,.92rem);line-height:1.18}
  .sat-popup-kicker{font-size:clamp(.55rem,2.7vw,.65rem)}
  .sat-popup p,.sat-popup-row span,.sat-popup-row strong,.sat-popup-model strong,.sat-popup-note,.sat-popup-details summary{font-size:clamp(.62rem,3vw,.74rem)}
  .sat-popup-score{min-width:clamp(36px,11vw,42px);height:clamp(36px,11vw,42px);border-radius:9px}
  .sat-popup-score strong{font-size:clamp(.82rem,3.7vw,.96rem)}
  .sat-popup-score span,.sat-popup-metrics span,.sat-popup-model span,.sat-popup-mini-grid span,.sat-popup-sources span{font-size:clamp(.54rem,2.6vw,.64rem)}
  .sat-popup-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .sat-popup-metrics div,.sat-popup-model,.sat-popup-mini-grid span{padding:clamp(5px,2.2vw,7px)}
  .sat-popup-row{min-height:0;padding:6px;gap:8px}
}

.user-loc-blip{background:transparent!important;border:none!important}
.user-loc-dot{position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;background:#3b82f6;border:2.5px solid #fff;box-shadow:0 0 6px rgba(59,130,246,.6);transform:translate(-50%,-50%);z-index:2}
.user-loc-pulse{position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;background:rgba(59,130,246,.35);transform:translate(-50%,-50%);animation:user-loc-pulse 2s ease-out infinite;z-index:1}
@keyframes user-loc-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.6}70%{transform:translate(-50%,-50%) scale(3);opacity:0}100%{transform:translate(-50%,-50%) scale(3);opacity:0}}

.user-loc-btn{position:fixed;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 130px);z-index:1000;width:44px;height:44px;border-radius:50%;border:none;background:var(--bg-panel);color:var(--color-text-primary);box-shadow:0 4px 16px rgba(0,0,0,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .25s ease,transform .25s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.user-loc-btn.visible{opacity:1;transform:scale(1)}
.user-loc-btn:active{transform:scale(.92)}
@media(max-width:768px){.user-loc-btn{bottom:calc(env(safe-area-inset-bottom,0px) + 90px)}}

/* Wind particles are near-white (leaflet-velocity "lighter" blend). Invert on light basemap so they stay visible. */
[data-theme=light] canvas.velocity-overlay{filter:invert(1) contrast(1.25);opacity:.92}
