@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes newbg{0%{background:rgba(239,68,68,.12)}100%{background:transparent}}
@keyframes alertSlideIn{0%{transform:translateY(-100%);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes alertFadeOut{0%{opacity:1}100%{opacity:0;transform:translateY(-100%)}}
.pulse-dot{animation:pulse 1.5s infinite}
.new-item{animation:newbg 3s ease-out}
.alert-banner-long{animation:alertSlideIn .4s ease-out forwards}
.leaflet-container{background:#0c1021!important;z-index:1!important}
#map{position:relative;z-index:1}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;background:#080e1c;color:#e5e7eb;margin:0}
*::-webkit-scrollbar{width:4px}
*::-webkit-scrollbar-thumb{background:#333;border-radius:2px}
a{color:inherit;text-decoration:none}
.tag{font-size:10px;padding:2px 6px;border-radius:3px;font-weight:700;text-transform:uppercase;white-space:nowrap}
.strike-row:hover{background:rgba(239,68,68,.06)}
.danger-word{color:#f87171;font-weight:700}
.feed-item{transition:background .2s}
.feed-item:hover{background:rgba(55,65,81,.4)!important}
.main-tab{transition:all .2s}
.main-tab:hover{color:#f87171}
@keyframes infraFlash{0%{background:rgba(234,179,8,.25);box-shadow:0 0 12px rgba(234,179,8,.3)}100%{background:transparent;box-shadow:none}}
.infra-changed{animation:infraFlash 3s ease-out}
@keyframes statFlash{0%{color:#fbbf24;transform:scale(1.15)}50%{color:#f59e0b}100%{color:inherit;transform:scale(1)}}
.stat-flash{animation:statFlash 2s ease-out}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.infra-ticker{display:inline-block;animation:tickerScroll 60s linear infinite;padding-left:100%}
.infra-ticker:hover,.infra-ticker.paused{animation-play-state:paused}
.main-tab{white-space:nowrap;flex-shrink:0}
.leaflet-popup-content-wrapper{background:#1a1f2e!important;color:#e5e7eb!important;border:1px solid #374151!important;border-radius:8px!important;box-shadow:0 10px 25px rgba(0,0,0,.5)!important}
.leaflet-popup-content{color:#e5e7eb!important}
.leaflet-popup-content div{color:#e5e7eb!important}
.leaflet-popup-content a{color:#60a5fa!important}
.leaflet-popup-content i{color:#9ca3af!important}
.leaflet-popup-tip{background:#1a1f2e!important;border:1px solid #374151!important}
