.details-panel{position:absolute;top:calc(100% - 24px);right:24px;bottom:auto;transform:translateY(-100%);z-index:1001;width:360px;background:var(--bg-panel);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 20px 50px var(--shadow-color);padding:20px;display:flex;flex-direction:column;gap:16px;opacity:1;transform:translateY(-100%);transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s ease,border-color .3s;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.details-panel.hidden{transform:translateY(120%);opacity:0;pointer-events:none}.close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:var(--card-hover);color:var(--color-text-primary)}.close-btn .ui-icon{font-size:16px}.details-header{display:flex;flex-direction:row;align-items:center;gap:14px;padding-right:24px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.details-header-main{display:flex;flex-direction:column;gap:9px;min-width:0;flex:1}.wind-indicator{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:76px;min-height:84px;padding:0;background:transparent;border:none;overflow:visible}.wind-indicator:empty{display:none}.wind-indicator .wind-chevron{--chevron-size:66px}.wind-indicator .wind-chevron-num{font-size:.72rem}.wind-indicator .wind-chevron-num small{font-size:.58rem}.wind-indicator .wind-chevron-dir{font-size:.7rem}.wind-indicator .wind-chevron-label{margin-top:4px;padding:3px 7px;gap:4px}.details-status-row{display:flex;align-items:center;gap:7px;min-width:0;padding-right:22px;flex-wrap:wrap}.details-status-row .status-badge{flex-shrink:0}.details-code-pill{min-width:0;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:999px;background:var(--card-bg);border:1px solid var(--border-subtle);color:var(--color-text-tertiary);font-size:.58rem;font-weight:800;letter-spacing:.04em}.details-code-pill.hidden{display:none}.details-header h3{font-size:1.2rem;font-weight:800;line-height:1.12;letter-spacing:0;color:var(--color-text-primary)}.location-container{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary)}.loc-icon{font-size:14px;color:var(--color-text-secondary)}#details-location{font-size:.82rem;font-weight:500}.resources-section{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--border-subtle)}.resources-section h4{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.resources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.resource-card{position:relative;min-width:0;background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;padding:9px 10px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;text-align:left;gap:8px;transition:all .2s ease}.resource-card:hover,.resource-card:focus-visible{border-color:color-mix(in srgb,var(--border-subtle),var(--color-text-secondary) 40%);background:var(--card-hover);outline:none}.resource-card:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:10;width:max-content;max-width:180px;padding:6px 8px;border-radius:7px;background:#fff;border:1px solid rgba(17,24,39,.1);box-shadow:0 10px 26px #0000004d;color:#111827;font-size:.66rem;font-weight:800;line-height:1.2;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease}[data-theme=light] .resource-card:after{background:#111827;border-color:#ffffff1f;box-shadow:0 10px 26px #1118273d;color:#fff}.resource-card:hover:after,.resource-card:focus-visible:after,.resource-card.tooltip-visible:after{opacity:1;transform:translate(-50%)}.res-icon{font-size:16px}.resource-ops .res-icon,.resource-ops .res-value{color:var(--color-red)}.resource-land .res-icon,.resource-land .res-value{color:var(--color-orange)}.resource-air .res-icon,.resource-air .res-value{color:var(--color-blue)}.resource-entities .res-icon,.resource-entities .res-value{color:var(--color-green)}.res-info{display:flex;flex-direction:column;min-width:0;gap:2px}.res-value{font-size:1rem;font-weight:800;line-height:1}.res-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;font-weight:800;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.02em}.details-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:14px;border-top:1px solid var(--border-subtle)}.meta-item{display:flex;align-items:center;gap:10px}.meta-icon{font-size:16px;color:var(--color-text-secondary)}.meta-info{display:flex;flex-direction:column;gap:2px}.meta-label{font-size:.65rem;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase}.meta-value{font-size:.8rem;font-weight:600;color:var(--color-text-primary)}.risk-section{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--border-subtle)}.risk-section h4{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-secondary)}.risk-card{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding:10px;border:1px solid var(--border-subtle);border-left:3px solid var(--color-blue);border-radius:9px;background:linear-gradient(135deg,rgba(35,104,184,.1),transparent 58%),var(--card-bg)}.risk-summary-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.risk-card>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.risk-label{min-width:0;overflow:visible;color:var(--color-text-primary);font-size:.74rem;font-weight:800;letter-spacing:0;line-height:1.22;text-transform:none;white-space:normal}.risk-card strong{display:inline-flex;align-items:center;justify-content:center;max-width:132px;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--color-blue),transparent 86%);border:1px solid color-mix(in srgb,var(--color-blue),transparent 70%);color:var(--color-text-primary);font-size:.68rem;line-height:1.15;text-align:center;white-space:nowrap}.risk-meta{min-width:0;overflow:visible;text-overflow:clip;white-space:normal;color:var(--color-text-secondary);font-size:.65rem;font-weight:700;line-height:1.35}.risk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.risk-grid span{min-width:0}.risk-grid>span{display:grid;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:5px;padding:6px 5px;border-radius:7px;background:color-mix(in srgb,var(--card-bg),transparent 8%);color:var(--color-text-primary);font-size:.64rem;font-weight:700;white-space:nowrap;overflow:hidden}.risk-grid>span>span:last-child{overflow:hidden;text-overflow:ellipsis}.weather-icon{color:var(--color-text-secondary);font-size:13px}.risk-card.low{border-color:#34c7593d;border-left-color:var(--color-green)}.risk-card.moderate{border-color:#ff950042;border-left-color:var(--color-orange)}.risk-card.high,.risk-card.critical{border-color:#ff3b3052;border-left-color:var(--color-red)}.risk-card.weather{border-color:#2368b842;border-left-color:var(--color-blue)}.correlation-section{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--border-subtle)}.correlation-section summary{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:34px;padding:8px 10px;border-radius:8px;background:var(--card-bg);border:1px solid var(--border-subtle);cursor:pointer;list-style:none}.correlation-section summary::-webkit-details-marker{display:none}.correlation-section summary .ui-icon{grid-column:1;grid-row:1 / span 2;font-size:14px;color:var(--color-text-secondary)}.correlation-section summary:after{content:"+";display:inline-grid;grid-column:3;grid-row:1 / span 2;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--card-hover);color:var(--color-text-secondary);font-size:.8rem;font-weight:800}.correlation-section[open] summary:after{content:"-"}.correlation-section summary span:not(.ui-icon){grid-column:2;grid-row:1;min-width:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-secondary)}.correlation-section summary small{display:block;grid-column:2;grid-row:2;margin-top:2px;overflow:hidden;color:var(--color-text-tertiary);font-size:.6rem;font-weight:700;letter-spacing:0;line-height:1.2;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.correlation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.correlation-chip{min-width:0;padding:8px;border-radius:8px;background:var(--card-bg);border:1px solid var(--border-subtle)}.correlation-chip strong,.correlation-chip span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.correlation-chip strong{color:var(--color-text-primary);font-size:.7rem;line-height:1.2;white-space:nowrap}.correlation-chip span{margin-top:3px;color:var(--color-text-secondary);font-size:.62rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2; line-clamp:2;-webkit-box-orient:vertical}.correlation-chip.active,.correlation-chip.critical{border-color:#ff3b3057;background:#ff3b3014}.correlation-chip.high,.correlation-chip.moderate{border-color:#ff95004d;background:#ff950014}.correlation-chip.controlled,.correlation-chip.ok,.correlation-chip.low{border-color:#34c75942;background:#34c75912}.correlation-note{margin:0;color:var(--color-text-tertiary);font-size:.62rem;line-height:1.35}.details-actions{display:flex;gap:8px;margin-top:2px}.details-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:8px 10px;border-radius:8px;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.primary-btn{background:var(--color-red);border:1px solid rgba(255,255,255,.1);color:#fff}.primary-btn:hover{background:#ff453a;transform:translateY(-1px);box-shadow:0 4px 12px var(--glow-red)}.secondary-btn{background:var(--card-bg);border:1px solid var(--border-subtle);color:var(--color-text-primary)}.secondary-btn:hover{background:var(--card-hover);border-color:var(--color-text-secondary)}@media(max-width:768px){.details-panel{top:auto;left:0;right:0;bottom:0;width:auto;max-width:100%;max-height:60vh;height:auto;overflow-y:auto;overflow-x:hidden;padding:28px 20px calc(env(safe-area-inset-bottom,0px) + 20px);border-radius:24px 24px 0 0;border-left:0;border-right:0;border-bottom:0;gap:20px;transform:translateY(var(--sheet-drag-y,0));overscroll-behavior:contain;will-change:transform;scrollbar-width:none}.details-panel::-webkit-scrollbar{display:none}.details-panel.sheet-dragging{transition:none}.details-panel:before{content:"";position:absolute;top:10px;left:50%;width:40px;height:4px;border-radius:999px;background:var(--border-subtle);transform:translate(-50%)}.close-btn{width:44px;height:44px;top:20px;right:20px;background:var(--card-bg);border:1px solid var(--border-subtle);padding:0}.close-btn .ui-icon{font-size:18px}.details-header{display:flex;flex-direction:row;gap:12px;padding-right:56px;padding-bottom:20px;border-bottom:1px solid var(--border-subtle);min-width:0;align-items:center}.details-header-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.details-status-row{gap:8px;min-width:0;padding-right:0;flex-wrap:wrap}.status-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 14px;font-size:1rem;font-weight:700;text-transform:none;letter-spacing:0;max-width:100%}.status-badge:after{display:none !important}.status-badge .status-icon{font-size:18px;flex-shrink:0}#details-status-text{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.details-code-pill{display:none !important}.details-header h3{font-size:1.25rem;font-weight:800;line-height:1.3;word-break:break-word;overflow-wrap:break-word;min-width:0}.location-container{font-size:1rem;min-width:0;gap:8px;overflow:hidden}.loc-icon{font-size:18px;flex-shrink:0}#details-location{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.wind-indicator{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:80px;min-height:88px;padding:0;background:transparent;border:none;overflow:visible}.wind-indicator:empty{display:none}.wind-indicator .wind-chevron{--chevron-size:70px !important}.wind-indicator .wind-chevron-num{font-size:.8rem}.wind-indicator .wind-chevron-num small{font-size:.62rem}.wind-indicator .wind-chevron-dir{font-size:.76rem}.wind-indicator .wind-chevron-label{margin-top:5px;padding:3px 7px;gap:4px}.resources-section{padding-top:20px;border-top:1px solid var(--border-subtle);gap:12px;min-width:0}.resources-section h4{display:none}.resources-grid{display:flex;justify-content:space-between;gap:4px;min-width:0}.resource-card{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;padding:10px 4px;background:transparent !important;border:0 !important;box-shadow:none !important;grid-template-columns:none !important;text-align:center}.resource-card:after{display:none !important}.resource-card:hover,.resource-card:focus-visible{background:transparent !important;border-color:transparent !important}.res-icon{font-size:20px;flex-shrink:0}.res-info{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;overflow:hidden}.res-value{font-size:1.25rem;font-weight:800;line-height:1;text-align:center}.res-label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:none;letter-spacing:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.details-meta-grid{display:flex;gap:16px;padding-top:20px;border-top:1px solid var(--border-subtle);min-width:0}.meta-item{flex:1;min-width:0;gap:10px;align-items:center;overflow:hidden}.meta-icon{font-size:20px;flex-shrink:0}.meta-info{display:flex;flex-direction:column;gap:4px;min-width:0;overflow:hidden}.meta-label{font-size:.875rem;text-transform:none;font-weight:500;letter-spacing:0}.meta-value{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-section{padding-top:20px;border-top:1px solid var(--border-subtle);gap:12px;min-width:0}.risk-section h4{display:none}.risk-card{background:transparent;border:0;padding:0;gap:10px;min-width:0;grid-template-columns:minmax(0,1fr) !important}.risk-card>div:first-child{display:flex;align-items:baseline;gap:8px;min-width:0;grid-template-columns:none !important}.risk-label{font-size:1rem;font-weight:700;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-card strong{font-size:1rem;padding:4px 10px;flex-shrink:0;max-width:none}.risk-meta{display:block;font-size:1rem;line-height:1.5;color:var(--color-text-secondary);font-weight:500;word-break:break-word;overflow-wrap:break-word}.risk-grid{display:none}.correlation-section{display:none}.details-actions{display:flex !important;gap:10px;padding-top:20px;border-top:1px solid var(--border-subtle);margin-top:0}.details-btn{flex:1;justify-content:center;min-height:52px;font-size:1rem;font-weight:600;gap:8px;border-radius:14px;padding:12px 16px}.primary-btn{border-radius:14px}.secondary-btn{border-radius:14px}.btn-icon{font-size:1.125rem;flex-shrink:0}.fire-detail-extra{padding-top:20px;gap:16px;min-width:0;overflow:hidden}.fire-detail-section h4{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.burn-area-grid{gap:8px}.burn-area-grid div,.burn-area-geometry{padding:10px 8px;border-radius:10px;min-width:0}.burn-area-grid span{font-size:.875rem;margin-bottom:4px}.burn-area-grid strong{font-size:1rem}.fire-weather .weather-row{padding:12px;border-radius:12px;gap:12px;overflow:hidden}.wind-text{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fire-weather small{font-size:.875rem}.weather-meta{font-size:1rem;gap:12px;flex-wrap:wrap}}
@media(max-width:480px){.details-panel{padding:28px 16px calc(env(safe-area-inset-bottom,0px) + 16px);gap:16px;max-height:70vh}.details-header{gap:8px;padding-right:48px}.wind-indicator{width:68px;min-height:76px}.wind-indicator .wind-chevron{--chevron-size:58px !important}.wind-indicator .wind-chevron-num{font-size:.7rem}.wind-indicator .wind-chevron-dir{font-size:.68rem}.details-header h3{font-size:1.125rem}.close-btn{width:44px;height:44px;top:16px;right:16px}.resources-grid{gap:2px}.resource-card{min-height:56px;padding:8px 2px}.res-value{font-size:1.125rem}.res-label{font-size:.8125rem}.meta-label{font-size:.8125rem}.meta-value{font-size:1rem}.risk-label{font-size:1rem}.risk-card strong{font-size:1rem}.risk-meta{font-size:1rem}.details-btn{min-height:48px;font-size:1rem;padding:10px 12px;border-radius:12px}.primary-btn{border-radius:12px}.secondary-btn{border-radius:12px}}
/* --- fire-detail extra panel --- */
.fire-detail-extra{border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:12px;padding-top:14px}.fire-detail-extra[hidden]{display:none}.fire-detail-section h4{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-tertiary);margin:0 0 8px}.burn-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.burn-area-grid div,.burn-area-geometry{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;padding:7px 6px;text-align:center}.burn-area-grid span{display:block;font-size:.55rem;color:var(--color-text-tertiary);margin-bottom:3px}.burn-area-grid strong{font-size:.72rem;color:var(--color-text-primary);font-weight:700}.burn-area-geometry{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.fire-weather .weather-row{display:flex;align-items:center;gap:10px;background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:10px;padding:10px}.weather-icon{font-size:18px;line-height:1}.wind-text{font-size:.85rem;font-weight:700;color:var(--color-text-primary);flex:1}.fire-weather small{display:block;font-size:.55rem;color:var(--color-text-tertiary);margin-top:2px}.weather-meta{display:flex;gap:10px;font-size:.62rem;color:var(--color-text-secondary);margin-top:6px}.weather-meta strong{color:var(--color-text-primary)}

/* wind chevron overlay */
.wind-chevron-icon{background:transparent!important;border:none!important}
.leaflet-pane .wind-chevron-icon{pointer-events:none}
.wind-chevron{--chevron-size:44px;position:relative;width:var(--chevron-size);height:var(--chevron-size);display:flex;flex-direction:column;align-items:center}
.wind-chevron-orb{position:relative;width:var(--chevron-size);height:var(--chevron-size);border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--chevron-color),transparent 78%),color-mix(in srgb,var(--chevron-color),transparent 92%));border:1.5px solid color-mix(in srgb,var(--chevron-color),transparent 35%);filter:drop-shadow(0 2px 5px rgba(0,0,0,.45))}
.wind-chevron-orb::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,var(--chevron-color),color-mix(in srgb,var(--chevron-color),transparent 75%) 30%,color-mix(in srgb,var(--chevron-color),transparent 75%) 70%,var(--chevron-color));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.wind-chevron-glyph{position:relative;z-index:2;width:54%;height:54%;fill:var(--chevron-color);stroke:rgba(0,0,0,.5);stroke-width:.6;transform:rotate(var(--chevron-deg,0deg));transition:transform .3s ease;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.wind-chevron-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--chevron-color);animation:chevron-ring-pulse 2.4s ease-out infinite}
.wind-chevron.no-pulse .wind-chevron-ring{display:none}
@keyframes chevron-ring-pulse{0%{transform:scale(.85);opacity:.75}100%{transform:scale(1.4);opacity:0}}
.wind-chevron-label{margin-top:4px;display:flex;align-items:center;gap:4px;background:rgba(0,0,0,.72);border:1px solid color-mix(in srgb,var(--chevron-color),transparent 55%);border-radius:6px;padding:3px 6px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);white-space:nowrap}
.wind-chevron-num{font-size:.62rem;font-weight:800;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums}
.wind-chevron-num small{font-size:.5rem;font-weight:600;color:#e2e8f0;margin-left:2px}
.wind-chevron-dir{font-size:.62rem;font-weight:800;color:var(--chevron-color);line-height:1.1}
@media(prefers-reduced-motion:reduce){.wind-chevron-ring{animation:none!important}}

/* wind-driven propagation arrows ("Camada") — GPU transform/opacity only */
.prop-arrow-icon{background:transparent!important;border:none!important}
.leaflet-pane .prop-arrow-icon{pointer-events:none}
.prop-arrow-rot{width:100%;height:100%}
.prop-arrow-rot svg path,.prop-arrow-inner svg path{filter:drop-shadow(0 0 3px rgba(255,68,51,.65))}
.prop-arrow-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;animation:prop-drift var(--tick-period,1600ms) linear infinite;animation-delay:var(--tick-delay,0ms)}
@keyframes prop-drift{0%{transform:translateX(var(--tick-start,-30px)) scale(.72);opacity:0}14%{opacity:1}86%{opacity:.92}100%{transform:translateX(var(--tick-end,30px)) scale(1.06);opacity:0}}
/* gentler drift for reduced-motion: still conveys wind flow, no scale pop */
@keyframes prop-drift-soft{0%{transform:translateX(var(--tick-start,-30px));opacity:0}20%{opacity:.85}80%{opacity:.85}100%{transform:translateX(var(--tick-end,30px));opacity:0}}
@media(prefers-reduced-motion:reduce){
  .prop-arrow-inner{animation:none;opacity:.85}
  /* essential wind arrows keep moving even under reduced-motion */
  .prop-arrow-inner.prop-arrow-essential{animation:prop-drift-soft var(--tick-period,1600ms) linear infinite!important;animation-delay:var(--tick-delay,0ms)!important;opacity:1}
}

/* burn perimeter — dual-layer (front + núcleo), breathing when active.
   Leaflet's SVG renderer puts the className directly on the <path>, so match
   the path itself (path.p-front), not a descendant. */
path.p-front{filter:drop-shadow(0 0 7px var(--glow-red))}
path.p-front-breathe{animation:p-breathe 2.6s ease-in-out infinite}
@keyframes p-breathe{0%,100%{filter:drop-shadow(0 0 4px var(--glow-red))}50%{filter:drop-shadow(0 0 13px var(--color-red))}}
path.p-core{filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}
path.p-dominado{filter:none!important;animation:none!important}
path.p-estimativa{filter:drop-shadow(0 0 5px var(--glow-orange))}
@media(prefers-reduced-motion:reduce){path.p-front-breathe{animation:none!important}}

/* Burn / FIRMS map popups — keep readable width even on mobile with details sheet open */
.burn-popup-wrapper{z-index:900}
.burn-popup-wrapper .leaflet-popup-content-wrapper{
  background:var(--bg-panel);
  color:var(--color-text-primary);
  border:1px solid var(--border-subtle);
  border-radius:12px;
  box-shadow:0 14px 40px var(--shadow-color);
  overflow:hidden;
}
.burn-popup-wrapper .leaflet-popup-tip{background:var(--bg-panel);border:1px solid var(--border-subtle)}
.burn-popup-wrapper .leaflet-popup-content{
  margin:0!important;
  width:auto!important;
  min-width:min(220px,calc(100vw - 48px))!important;
  max-width:min(280px,calc(100vw - 40px))!important;
}
.burn-popup-wrapper a.leaflet-popup-close-button{
  color:var(--color-text-secondary)!important;
  width:28px;height:28px;padding:6px 8px 0 0!important;font-size:18px!important;
}
.burn-perimeter-popup{padding:12px 36px 12px 14px;display:grid;gap:6px}
.burn-popup-kicker{
  font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--color-text-tertiary);
}
.burn-perimeter-popup h3{
  margin:0;font-size:.95rem;font-weight:800;line-height:1.2;
  color:var(--color-text-primary);padding-right:4px;
}
.burn-popup-value{
  margin:0;font-size:.88rem;font-weight:800;color:var(--color-text-primary);line-height:1.25;
}
.burn-popup-meta{
  margin:0;font-size:.74rem;font-weight:600;line-height:1.35;
  color:var(--color-text-secondary);
}
.burn-popup-note{
  margin:0;font-size:.72rem;font-weight:650;line-height:1.4;
}
.burn-popup-note-warn{color:#ffcf5c}
.burn-popup-note-ok{color:#57d38c}
[data-theme=light] .burn-popup-note-warn{color:#a16207}
[data-theme=light] .burn-popup-note-ok{color:#15803d}
@media(max-width:768px){
  .burn-perimeter-popup{padding:11px 34px 11px 12px;gap:5px}
  .burn-perimeter-popup h3{font-size:.9rem}
  .burn-popup-value,.burn-popup-meta{font-size:.76rem}
  .burn-popup-note{font-size:.72rem}
}

/* FIRMS ember hotspots — warm fire-glow gradient kept as literals (no theme
   token expresses the ember ramp); GPU opacity/transform only. */
.hs-icon{background:transparent!important;border:none!important}
.leaflet-pane .hs-icon{pointer-events:none}
.hs-core{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#fff4c2 0%,#ffd24a 30%,#ff9f45 55%,rgba(255,68,51,.35) 78%,transparent 90%);animation:hs-flicker var(--hs-period,1400ms) ease-in-out infinite;animation-delay:var(--hs-delay,0ms)}
@keyframes hs-flicker{0%,100%{opacity:.78;transform:scale(.94)}50%{opacity:1;transform:scale(1.1)}}
.hs-core.reduced{animation:none;opacity:.9}
@media(prefers-reduced-motion:reduce){.hs-core{animation:none!important;opacity:.9}}

/* propagation estimate row in the details panel */
.prop-estimate-row .prop-estimate{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.prop-estimate-label{font-size:.82rem;font-weight:800;color:var(--color-orange)}
.prop-estimate-pct{font-size:1rem;font-weight:800;color:var(--color-text-primary);font-variant-numeric:tabular-nums}
.prop-estimate-note{display:block;margin-top:4px;font-size:.58rem;line-height:1.4;color:var(--color-text-tertiary)}

/* Responsive mobile detail sheet: keep it readable without letting it dominate small screens. */
@media(max-width:768px){
  .details-panel{
    top:auto;
    height:auto;
    max-height:min(68dvh,calc(100dvh - env(safe-area-inset-top,0px) - 92px));
    padding:clamp(18px,4.5vw,24px) clamp(14px,4vw,20px) calc(env(safe-area-inset-bottom,0px) + clamp(14px,4vw,20px));
    gap:clamp(11px,2.8vw,16px);
    border-radius:clamp(16px,5vw,22px) clamp(16px,5vw,22px) 0 0;
  }
  .details-header{gap:clamp(8px,2.6vw,12px);padding-right:52px;padding-bottom:clamp(12px,3.4vw,18px)}
  .details-header-main{gap:clamp(6px,2vw,10px)}
  .status-badge{min-height:clamp(25px,7vw,32px);padding:5px clamp(8px,3vw,12px);font-size:clamp(.72rem,3.2vw,.95rem)}
  .status-badge .status-icon{font-size:clamp(14px,4vw,18px)}
  #details-status-text{font-size:clamp(.72rem,3.2vw,.95rem)}
  .details-header h3{font-size:clamp(.92rem,4.6vw,1.18rem);line-height:1.18}
  .location-container,#details-location{font-size:clamp(.72rem,3.3vw,.95rem)}
  .loc-icon{font-size:clamp(14px,4vw,18px)}
  .close-btn{width:clamp(36px,10vw,44px);height:clamp(36px,10vw,44px);top:clamp(14px,4vw,20px);right:clamp(14px,4vw,20px)}
  .wind-indicator{width:clamp(56px,16vw,76px);min-height:clamp(64px,18vw,88px)}
  .wind-indicator .wind-chevron{--chevron-size:clamp(50px,15vw,68px)!important}
  .wind-indicator .wind-chevron-num{font-size:clamp(.68rem,3.2vw,.8rem)}
  .wind-indicator .wind-chevron-num small{font-size:clamp(.52rem,2.6vw,.62rem)}
  .wind-indicator .wind-chevron-dir{font-size:clamp(.64rem,3vw,.76rem)}
  .resources-section,.details-meta-grid,.risk-section,.details-actions,.fire-detail-extra{padding-top:clamp(10px,3.2vw,16px)}
  .resource-card{min-height:clamp(48px,14vw,62px);gap:clamp(3px,1.6vw,6px);padding:clamp(6px,2.2vw,10px) 2px}
  .res-icon{font-size:clamp(16px,5vw,20px)}
  .res-value{font-size:clamp(.9rem,4.6vw,1.18rem)}
  .res-label{font-size:clamp(.62rem,3vw,.8rem)}
  .details-meta-grid{gap:clamp(8px,3vw,14px)}
  .meta-icon{font-size:clamp(15px,4.5vw,19px)}
  .meta-label{font-size:clamp(.62rem,3vw,.8rem)}
  .meta-value{font-size:clamp(.74rem,3.6vw,.94rem)}
  .risk-card{gap:clamp(6px,2.2vw,10px)}
  .risk-label,.risk-meta{font-size:clamp(.72rem,3.3vw,.94rem)}
  .risk-card strong{font-size:clamp(.72rem,3.3vw,.94rem);padding:3px 8px}
  .details-btn{min-height:clamp(40px,12vw,50px);font-size:clamp(.76rem,3.6vw,.95rem);border-radius:clamp(10px,3.6vw,14px);padding:9px clamp(10px,3.4vw,14px)}
  .fire-detail-section h4{font-size:clamp(.72rem,3.2vw,.9rem)}
  .burn-area-grid span,.fire-weather small{font-size:clamp(.62rem,2.9vw,.76rem)}
  .burn-area-grid strong,.wind-text,.weather-meta{font-size:clamp(.72rem,3.3vw,.9rem)}
}
@media(max-width:380px),(max-height:680px){
  .details-panel{max-height:min(60dvh,calc(100dvh - env(safe-area-inset-top,0px) - 112px));gap:10px}
  .details-header{padding-bottom:10px}
  .details-actions{display:none!important}
  .wind-indicator{width:52px;min-height:62px}
  .wind-indicator .wind-chevron{--chevron-size:46px!important}
  .wind-indicator .wind-chevron-num{font-size:.62rem}
  .wind-indicator .wind-chevron-num small{font-size:.5rem}
  .wind-indicator .wind-chevron-dir{font-size:.58rem}
  .wind-indicator .wind-chevron-label{margin-top:3px;padding:2px 5px}
  .resources-section,.details-meta-grid,.risk-section,.fire-detail-extra{padding-top:10px}
}
