html,body,#app{height:100%;margin:0;background:#0a0f0c;color:#e7e3d3;font-family:Inter,Arial,sans-serif;overflow:hidden}#map{position:absolute;inset:0}.leaflet-tile-pane{filter:brightness(1.55) contrast(.9) saturate(.82)}#topbar{position:absolute;top:0;left:0;right:0;z-index:850;display:flex;justify-content:space-between;gap:16px;padding:16px 22px;background:linear-gradient(180deg,rgba(4,7,5,.98),rgba(4,7,5,.68),transparent);pointer-events:none}#topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px}.logo-mark{width:46px;height:46px;object-fit:cover;border-radius:10px;box-shadow:0 0 18px rgba(226,102,27,.25);border:1px solid rgba(226,102,27,.35);background:#0a0f0c}h1{margin:0;font-family:Impact,Arial Black,sans-serif;letter-spacing:2px;text-transform:uppercase;font-size:24px;line-height:1}#topbar p{margin:4px 0 0;color:#95a399;font-size:12px}#stats{display:flex;gap:8px;align-items:stretch}.stat{border:1px solid #24352c;background:rgba(10,15,12,.88);padding:8px 12px;min-width:84px;text-align:right;display:flex;flex-direction:column;justify-content:center}.stat b{display:block;color:#e2661b;font-size:20px;line-height:1.05}.stat span{font-size:9px;color:#7c8a80;text-transform:uppercase;letter-spacing:.7px}.impact-stat{min-width:92px;text-align:center;align-items:center}.impact-stat span{margin-top:5px}.facilities-stat{text-align:right}#drawer{position:absolute;left:18px;top:92px;bottom:18px;width:390px;z-index:830;background:rgba(8,12,10,.96);border:1px solid #24352c;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(0,0,0,.28)}#search{margin:12px;padding:10px 11px;background:#090d0a;border:1px solid #24352c;color:#e7e3d3;border-radius:0}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 12px 10px;max-height:146px;overflow:auto}.filters button{background:#111a14;border:1px solid #24352c;color:#7c8a80;padding:8px 6px;font-size:10px;text-transform:uppercase;cursor:pointer}.filters button.active{color:#e7e3d3;border-color:#e2661b;background:#151f18}#methodology{margin:0 12px 10px;border:1px solid #24352c;background:rgba(15,22,18,.8);padding:9px 10px;font-size:11px;line-height:1.45;color:#8d9a91}#list{overflow:auto;padding:0 10px 12px}.card{border:1px solid #24352c;background:rgba(13,20,15,.8);padding:10px;margin-bottom:8px;cursor:pointer;transition:.15s ease}.card:hover{border-color:#e2661b;transform:translateY(-1px)}.card h3{margin:0;font-size:14px;text-transform:uppercase;line-height:1.25}.card p{margin:6px 0 0;color:#7c8a80;font-size:11px;line-height:1.4}.chip{display:inline-block;font-size:9px;letter-spacing:.5px;text-transform:uppercase;border:1px solid #2d4136;color:#9aa69e;background:#111a14;padding:3px 5px;margin:6px 4px 0 0}.chip.high{border-color:#e2661b;color:#f1c08b}.chip.refinery{border-color:#e2661b}.chip.terminal{border-color:#4b8cc9;color:#9fc6e6}.chip.gas{border-color:#8b70d6;color:#c0b4ee}.chip.petro{border-color:#c9a227;color:#e8d88e}.marker{border-radius:50%;border:1.5px solid #f4efe0;box-shadow:0 0 18px rgba(226,102,27,.45)}.m-refinery{background:#e2661b}.m-terminal{background:#4b8cc9}.m-gas{background:#8b70d6}.m-petro{background:#c9a227}.m-depot{background:#d1453a}.m-lead{background:#76867c}#legend{position:absolute;right:12px;bottom:24px;z-index:820;background:rgba(8,12,10,.90);border:1px solid #24352c;padding:10px;font-size:11px;color:#9aa69e}#legend div{margin:4px 0}.swatch{display:inline-block;width:18px;height:3px;margin-right:6px;vertical-align:middle}#detail{position:absolute;top:0;right:0;bottom:0;width:520px;z-index:900;transform:translateX(100%);transition:transform .24s ease;background:rgba(8,12,10,.985);border-left:1px solid #24352c;overflow:auto;box-shadow:-16px 0 30px rgba(0,0,0,.35)}#detail.open{transform:translateX(0)}#close{position:fixed;right:16px;top:16px;z-index:5000;min-width:88px;min-height:44px;background:rgba(8,12,10,.96);border:1px solid #e2661b;color:#e7e3d3;font-weight:700;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(226,102,27,.35)}#detail:not(.open) #close{display:none}#detailInner{padding:76px 22px 24px}#detail h2{margin:0 0 8px;text-transform:uppercase;font-size:28px;line-height:1.1}.meta{color:#7c8a80;font-size:12px;line-height:1.5}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.metric{border-top:1px solid #24352c;border-bottom:1px solid #24352c;padding:10px 0}.metric b{display:block;color:#e2661b;font-size:22px;line-height:1.05}.metric span{font-size:9px;color:#7c8a80;text-transform:uppercase;letter-spacing:.7px}.section{font-size:12px;color:#7c8a80;text-transform:uppercase;letter-spacing:1px;margin:18px 0 8px}.event{border:1px solid #24352c;background:rgba(13,20,15,.72);padding:12px;margin:10px 0}.event h3{margin:0 0 4px;font-size:15px}.event p{font-size:12px;line-height:1.5;margin:8px 0}.event .impact{border-left:2px solid #e2661b;padding-left:8px;color:#d7c8aa}.sources a,.source-lead,.geo{display:block;color:#c9a227;text-decoration:none;border:1px solid rgba(201,162,39,.35);padding:8px;margin-top:7px;font-size:12px;background:rgba(9,13,10,.4)}.source-lead{color:#9aa69e;border-color:#24352c}.role{float:right;color:#7c8a80;text-transform:uppercase;font-size:9px;margin-left:8px}.needs{margin:8px 0 0;padding-left:18px;color:#9aa69e;font-size:12px}.needs li{margin:3px 0}.thumb{display:block;position:relative;aspect-ratio:16/9;background:#101611;border:1px solid #35473f;margin-bottom:10px;overflow:hidden;text-decoration:none}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb:after{display:none}.thumb-badge{position:absolute;left:12px;bottom:12px;z-index:2;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:#f4efe0;background:rgba(0,0,0,.52);padding:6px 8px;border:1px solid rgba(255,255,255,.18)}@media(max-width:900px){#topbar{display:block;padding:10px 12px}.brand{gap:10px}.logo-mark{width:40px;height:40px}h1{font-size:18px}#stats{margin-top:8px;display:grid;grid-template-columns:repeat(5,1fr)}.stat{padding:6px;min-width:0}.stat b{font-size:15px}.stat span{font-size:7px}#drawer{top:auto;left:0;right:0;bottom:0;width:auto;height:39vh;border-left:0;border-right:0}#map{bottom:39vh}#detail{width:100%;z-index:2000}#close{top:calc(env(safe-area-inset-top) + 12px);right:12px;min-width:92px;min-height:48px}#detailInner{padding-top:76px}.leaflet-control-zoom{display:none}.filters{grid-template-columns:repeat(4,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}#legend{display:none}}
.leaflet-countryBorders-pane,.leaflet-countryBorders-pane *{pointer-events:none!important}.leaflet-marker-pane{z-index:650!important}.leaflet-popup-pane{z-index:700!important}
.chip.depot{border-color:#d1453a;color:#eaa19a}.chip.power{border-color:#3f9edb;color:#9cd1f1}.chip.impact{border-color:#9aa69e;color:#d8ddd8}.m-power{background:#3f9edb}.m-impact{background:#9aa69e}.m-lead{background:#76867c}.m-terminal{background:#4b8cc9}.m-depot{background:#d1453a}.m-gas{background:#8b70d6}.m-petro{background:#c9a227}.m-refinery{background:#e2661b}
.badge-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:7px 0}.conf,.score{display:inline-block;border:1px solid #2d4136;background:#111a14;color:#9aa69e;text-transform:uppercase;letter-spacing:.6px;font-size:10px;padding:4px 7px}.conf.confirmed{border-color:#6bbf72;color:#bce8c1}.conf.strong{border-color:#c9a227;color:#eadc9a}.conf.monitoring{border-color:#e2661b;color:#f1c08b}.conf.reported{border-color:#76867c;color:#cbd2cd}.score{border-color:#24352c;color:#7c8a80}
@media(max-width:900px){.filters{grid-template-columns:repeat(4,1fr);max-height:98px}.filters button{font-size:9px;padding:7px 4px}.brand h1{font-size:16px}.flag-img{margin:0 2px}}

/* v10.1 UI fixes */
body.detail-open #legend{display:none!important}
.thumb.fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#111a14,#0a0f0c 55%,#20150f)}
.thumb.fallback img{object-fit:cover;opacity:.9;filter:saturate(.9) contrast(1.05)}
.thumb .thumb-title{position:absolute;left:12px;top:12px;right:12px;z-index:2;font-size:13px;line-height:1.25;text-transform:uppercase;color:#f4efe0;text-shadow:0 2px 8px rgba(0,0,0,.8);font-weight:700;letter-spacing:.7px}
@media(min-width:901px){body.detail-open .leaflet-control-container .leaflet-bottom.leaflet-right{display:none!important}}

/* v10.2 */
.ship-marker{font-size:28px;filter:drop-shadow(0 0 10px #ff6b22);background:rgba(8,12,10,.72);border:1px solid rgba(226,102,27,.75);border-radius:12px;padding:2px 5px}.chip.maritime{border-color:#4b8cc9;color:#b7d8f2}.m-maritime{background:#4b8cc9}


/* v10.3 cleanup */
.metrics.metrics3{grid-template-columns:repeat(3,1fr)}
.thumb:after,.thumb-title,.thumb-badge{display:none!important}
.thumb img{filter:none!important;opacity:1!important}
.ship-marker{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;font-size:16px!important;line-height:1!important;letter-spacing:0!important;padding:2px 5px!important;border-radius:8px!important;min-width:28px;min-height:18px;}
.score,.needs{display:none!important}
#methodology{font-size:10.5px;color:#87938c}
@media(max-width:900px){.metrics.metrics3{grid-template-columns:repeat(3,1fr)}.ship-marker{font-size:15px!important}}

/* v10.4 mobile bottom panel controls + campaign counter */
#drawerClose{display:none;position:absolute;right:10px;top:8px;z-index:20;width:36px;height:32px;border:1px solid #e2661b;background:rgba(8,12,10,.96);color:#e7e3d3;font-size:18px;font-weight:800;line-height:1;cursor:pointer}
#drawerOpen{display:none;position:absolute;left:12px;bottom:14px;z-index:1200;border:1px solid #e2661b;background:rgba(8,12,10,.94);color:#e7e3d3;padding:9px 12px;text-transform:uppercase;letter-spacing:.8px;font-size:11px}
.campaign-panel{border:1px solid #24352c;background:rgba(13,20,15,.72);padding:14px;margin-top:10px}.campaign-title{font-size:12px;color:#7c8a80;text-transform:uppercase;letter-spacing:1px}.campaign-number{font-size:28px;line-height:1.15;color:#e2661b;font-weight:900;margin:5px 0 10px}.campaign-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}.campaign-grid div{border:1px solid #24352c;padding:10px;background:rgba(9,13,10,.45)}.campaign-grid b{display:block;color:#e7e3d3;font-size:22px}.campaign-grid span{font-size:9px;color:#7c8a80;text-transform:uppercase;letter-spacing:.7px}
#detail.open #close{display:block;position:sticky;float:right;top:12px;margin:12px 12px 0 0;border-color:#e2661b;z-index:5001}
@media(max-width:900px){#drawerClose{display:block}#drawer{transition:transform .22s ease;padding-top:34px}#drawer.mobile-collapsed{transform:translateY(calc(100% - 42px))}#drawer.mobile-collapsed #search,#drawer.mobile-collapsed .filters,#drawer.mobile-collapsed #methodology,#drawer.mobile-collapsed #list{display:none}#drawerOpen.show{display:block}#detail{top:auto;bottom:0;height:72vh;width:100%;transform:translateY(100%);border-left:0;border-top:1px solid #24352c;border-radius:16px 16px 0 0}#detail.open{transform:translateY(0)}#detailInner{padding:22px 18px 24px}#detail.open #close{position:sticky;top:10px;float:right;min-width:44px;width:44px;height:40px;min-height:40px;font-size:0}#detail.open #close:after{content:'✕';font-size:20px}.campaign-number{font-size:23px}}

/* v10.6 public-label + mobile polish */
.detail-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 56px 12px 0;position:sticky;top:12px;z-index:4500;pointer-events:auto}
.detail-nav button{width:38px;height:34px;border:1px solid #e2661b;background:rgba(8,12,10,.96);color:#e7e3d3;font-size:24px;line-height:1;cursor:pointer}
.detail-nav span{border:1px solid #24352c;background:rgba(8,12,10,.88);color:#9aa69e;font-size:11px;letter-spacing:.7px;padding:8px 11px;text-transform:uppercase}
@media(max-width:900px){
  #drawer{height:45vh;padding-top:12px}
  #drawer.mobile-collapsed{transform:translateY(calc(100% - 54px))}
  #drawerClose{top:10px;right:12px;width:44px;height:40px}
  #drawerOpen{bottom:18px;left:14px;font-size:12px;padding:10px 16px}
  #list{padding-bottom:84px}
  #detail{height:74vh;border-radius:14px 14px 0 0}
  #detailInner{padding:16px 16px 86px}
  .detail-nav{margin:0 54px 10px 0;top:8px;justify-content:flex-start}
  .detail-nav button{width:36px;height:34px;font-size:22px}
  .detail-nav span{font-size:10px;padding:8px 9px}
}


/* v10.9 mobile/layout test */
#infoBtn{position:absolute;right:14px;top:12px;z-index:950;width:32px;height:32px;border:1px solid #e2661b;background:rgba(8,12,10,.88);color:#e7e3d3;border-radius:50%;font-weight:900;font-family:Georgia,serif;font-size:18px;line-height:28px;cursor:pointer;pointer-events:auto}
#infoModal{display:none;position:fixed;inset:0;z-index:6000;background:rgba(0,0,0,.55);align-items:center;justify-content:center;padding:18px}
#infoModal.open{display:flex}.info-card{position:relative;max-width:460px;background:rgba(8,12,10,.98);border:1px solid #24352c;box-shadow:0 18px 50px rgba(0,0,0,.45);padding:20px 20px 18px;color:#d7d9d1}.info-card h2{margin:0 0 10px;text-transform:uppercase;letter-spacing:1px;font-size:18px}.info-card p{margin:10px 0;color:#aeb8b0;line-height:1.5;font-size:14px}#infoClose{position:absolute;right:10px;top:10px;width:34px;height:30px;border:1px solid #e2661b;background:#0a0f0c;color:#e7e3d3;font-size:16px;cursor:pointer}
/* Public beta text lives in info modal, not in the facilities list */
#methodology{display:none!important}
@media(max-width:900px),(pointer:coarse){
  html,body,#app{height:100dvh;min-height:100dvh;overflow:hidden!important}
  #map{position:absolute!important;inset:0!important;bottom:0!important;height:auto!important}
  #topbar{padding:10px 12px 8px!important;z-index:860!important}
  #topbar .brand{padding-right:42px}
  #stats{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin-top:8px!important}
  .stat{min-width:0!important;padding:8px 5px!important}.stat b{font-size:18px!important}.stat span{font-size:8px!important}
  #drawer{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;height:min(58dvh,520px)!important;max-height:calc(100dvh - 148px)!important;z-index:1100!important;border-left:0!important;border-right:0!important;border-bottom:0!important;border-top:1px solid #24352c!important;background:rgba(8,12,10,.975)!important;transform:none!important;transition:height .2s ease,transform .2s ease!important;padding:56px 0 calc(env(safe-area-inset-bottom) + 12px)!important;overflow:hidden!important;box-shadow:0 -16px 36px rgba(0,0,0,.45)!important}
  #drawer.mobile-collapsed{height:66px!important;max-height:66px!important;padding:0!important;overflow:hidden!important;cursor:pointer!important}
  #drawer.mobile-collapsed::before{content:'FACILITIES';position:absolute;left:24px;top:14px;border:1px solid #e2661b;color:#e7e3d3;background:rgba(8,12,10,.96);padding:11px 18px;text-transform:uppercase;letter-spacing:1.6px;font-size:15px;line-height:1}
  #drawer.mobile-collapsed #drawerClose{display:none!important}
  #drawer.mobile-collapsed #search,#drawer.mobile-collapsed .filters,#drawer.mobile-collapsed #list,#drawer.mobile-collapsed #methodology{display:none!important}
  #drawerClose{display:block!important;position:absolute!important;right:14px!important;top:10px!important;width:44px!important;height:42px!important;border:1px solid #e2661b!important;background:rgba(8,12,10,.96)!important;color:#e7e3d3!important;font-size:20px!important;z-index:25!important}
  #drawerOpen{display:none!important}
  #search{margin:0 14px 10px!important;padding:13px 12px!important;font-size:16px!important}
  .filters{padding:0 14px 8px!important;max-height:80px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;overflow:auto!important}
  .filters button{font-size:9px!important;padding:8px 4px!important;white-space:nowrap!important}
  #list{padding:0 14px calc(env(safe-area-inset-bottom) + 110px)!important;overflow:auto!important}
  .card{padding:14px!important;margin-bottom:10px!important}.card h3{font-size:18px!important}.card p{font-size:14px!important}.chip{font-size:11px!important;padding:6px 8px!important}
  #detail{top:auto!important;bottom:0!important;height:min(78dvh,620px)!important;width:100%!important;max-width:none!important;transform:translateY(100%)!important;border-left:0!important;border-top:1px solid #24352c!important;border-radius:14px 14px 0 0!important;z-index:2200!important}.detail.open,#detail.open{transform:translateY(0)!important}
  #detailInner{padding:16px 16px calc(env(safe-area-inset-bottom) + 96px)!important}
  #detail.open #close{position:sticky!important;top:8px!important;float:right!important;width:44px!important;min-width:44px!important;height:40px!important;min-height:40px!important;font-size:0!important}
  #detail.open #close:after{content:'✕';font-size:20px!important}
  #infoBtn{right:10px;top:10px;width:30px;height:30px;font-size:17px;line-height:26px}
}
@media(max-height:520px) and (orientation:landscape){
  #topbar{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:6px 8px!important;background:linear-gradient(180deg,rgba(4,7,5,.96),rgba(4,7,5,.44),transparent)!important}
  .logo-mark{width:34px!important;height:34px!important}.brand{gap:8px!important;min-width:0!important;flex:1 1 auto!important}.brand>div{min-width:0!important}h1{font-size:18px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;letter-spacing:2px!important}#topbar p{font-size:12px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:72vw!important}
  #stats{display:grid!important;grid-template-columns:78px repeat(4,110px)!important;gap:6px!important;margin-top:0!important;flex:0 0 auto!important}.stat{height:42px!important;padding:5px 8px!important}.stat b{font-size:18px!important}.stat span{font-size:8px!important}.impact-stat{min-width:0!important}
  #drawer{height:min(55dvh,260px)!important;max-height:55dvh!important;padding-top:48px!important}#drawer.mobile-collapsed{height:54px!important;max-height:54px!important}#drawer.mobile-collapsed::before{top:9px;padding:10px 16px;font-size:13px}#drawerClose{top:7px!important;height:38px!important}#search{padding:9px 10px!important;font-size:14px!important}.filters{max-height:50px!important}.card h3{font-size:15px!important}.card p{font-size:12px!important}.chip{font-size:9px!important;padding:4px 6px!important}
  #detail{height:82dvh!important}.leaflet-control-container{display:none!important}
}

/* v10.9.1 mobile cleanup */
@media(max-width:900px),(pointer:coarse){
  /* Search was unreliable on mobile; filters are the public mobile navigation. */
  #search{display:none!important}
  #drawer{padding-top:58px!important}
  .filters{display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;padding:0 14px 12px!important;max-height:none!important;min-height:46px!important;scrollbar-width:none!important}
  .filters::-webkit-scrollbar{display:none!important}
  .filters button{flex:0 0 auto!important;min-width:82px!important;height:38px!important;font-size:10px!important;color:#b7c0b8!important;background:#101913!important;border-color:#2b4236!important;letter-spacing:.7px!important}
  .filters button.active{color:#f4efe0!important;border-color:#e2661b!important;background:#151f18!important}
  #list{padding-top:0!important}
  .sources a .role,.sources a .meta{display:none!important}
}
.sources a .meta{display:none!important}
.sources a .role{display:none!important}


/* v10.9.2 desktop public beta label */
@media(min-width:901px) and (hover:hover){
  #infoBtn{
    left:50%!important;
    right:auto!important;
    top:14px!important;
    transform:translateX(-50%)!important;
    width:auto!important;
    height:auto!important;
    min-height:30px!important;
    padding:7px 13px!important;
    border-radius:999px!important;
    font-family:inherit!important;
    font-size:11px!important;
    line-height:1!important;
    letter-spacing:1.2px!important;
    text-transform:uppercase!important;
  }
}
@media(max-width:900px),(pointer:coarse){
  #infoBtn{font-size:0!important;border-radius:50%!important;padding:0!important;}
}


/* v10.9.3 desktop filter cleanup */
@media(min-width:901px) and (hover:hover){
  .filters{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:12px!important;
  }
  .filters button{white-space:nowrap!important;}
  #list{scrollbar-color:#33443a #08100c;scrollbar-width:thin;}
  #list::-webkit-scrollbar{width:9px;}
  #list::-webkit-scrollbar-track{background:#08100c;}
  #list::-webkit-scrollbar-thumb{background:#33443a;border:2px solid #08100c;border-radius:999px;}
}


/* v10.9.5 campaign and national-impact controls */
#drawerHeader{display:flex;align-items:center;gap:10px;padding:11px 12px 6px;text-transform:uppercase;letter-spacing:1.4px;font-size:12px;color:#e7e3d3;font-weight:800}
.power-campaign-marker{display:inline-flex!important;align-items:center;justify-content:center;width:30px;height:30px;background:rgba(8,12,10,.86);border:1px solid rgba(255,214,71,.95);border-radius:50%;font-size:21px;line-height:1;filter:drop-shadow(0 0 11px rgba(255,214,71,.82));box-shadow:0 0 18px rgba(255,214,71,.35)}
.campaign-card{border-color:rgba(255,214,71,.42)!important;background:linear-gradient(180deg,rgba(22,23,12,.82),rgba(13,20,15,.78))!important}
@media(max-width:900px),(pointer:coarse){
  #drawerHeader{position:absolute!important;left:14px!important;top:10px!important;z-index:30!important;padding:0!important;gap:8px!important;font-size:15px!important;letter-spacing:1.6px!important}
  #impactBtn{width:22px!important;height:22px!important;font-size:13px!important;border-radius:5px!important}
  #drawer.mobile-collapsed::before{display:none!important;content:none!important}
  #drawer.mobile-collapsed #drawerHeader{display:flex!important;top:13px!important;left:16px!important}
  #drawer.mobile-collapsed #drawerHeader span{border:1px solid #e2661b;color:#e7e3d3;background:rgba(8,12,10,.96);padding:11px 18px;text-transform:uppercase;letter-spacing:1.6px;font-size:15px;line-height:1}
  #drawer:not(.mobile-collapsed) #drawerHeader{top:10px!important}
  #drawer{padding-top:62px!important}
  .power-campaign-marker{width:30px;height:30px;font-size:20px}
}

/* v11.0 consolidated multi-strike records */
.event-bullets{margin:9px 0 10px;padding-left:20px;color:#d7d4c9;font-size:12px;line-height:1.5}.event-bullets li{margin:6px 0}

#impactBtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #e2661b;background:rgba(8,12,10,.96);color:#f4efe0;border-radius:8px;font-size:16px;line-height:1;cursor:pointer;box-shadow:0 0 10px rgba(226,102,27,.18);margin:0 auto}
#impactBtn:hover{border-color:#f4efe0;transform:translateY(-1px)}
.impact-stat button{margin-top:0}


/* v11.2 preview: campaign controls, compact stats, share action */
#topActions{position:absolute;left:50%;top:14px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;z-index:12}
#topActions #infoBtn{position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important}
#shareBtn{min-height:30px;padding:7px 13px;border:1px solid #4c6d5a;border-radius:999px;background:rgba(8,12,10,.94);color:#e7e3d3;font:700 11px/1 inherit;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer}
#shareBtn:hover{border-color:#e2661b;color:#fff}
#stats{grid-template-columns:66px 72px repeat(4,minmax(74px,1fr))!important;gap:7px!important}
.stat{padding:7px 8px!important;min-height:48px!important}.stat b{font-size:19px!important}.stat span{font-size:8px!important}
.campaign-control{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;color:#cfd6cf;text-align:center;letter-spacing:.8px;font-size:7.5px;font-weight:800;line-height:1.05}
.campaign-control button{display:inline-flex;align-items:center;justify-content:center;width:29px;height:26px;padding:0;margin:0 0 3px;border:1px solid #e2661b;background:rgba(8,12,10,.96);color:#f4efe0;border-radius:7px;font-size:14px;line-height:1;cursor:pointer;box-shadow:0 0 10px rgba(226,102,27,.18)}
.campaign-control button:hover{border-color:#f4efe0;transform:translateY(-1px)}
.logistics-control button{border-color:#d8428c;color:#fff;background:linear-gradient(145deg,rgba(76,17,75,.95),rgba(171,35,113,.9));font-size:12px;font-weight:900;letter-spacing:-.5px}
.campaign-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.campaign-grid-3 div{min-width:0}.campaign-grid-3 b{font-size:20px}.campaign-grid-3 span{font-size:8px}
@media(max-width:900px),(pointer:coarse){
  #topActions{left:auto;right:10px;top:9px;transform:none;gap:6px}
  #shareBtn{padding:0;width:52px;height:30px;min-height:30px;font-size:8px;letter-spacing:.7px}
  #topActions #infoBtn{width:30px!important;height:30px!important}
  #stats{grid-template-columns:52px 58px repeat(4,minmax(0,1fr))!important;gap:5px!important;margin-top:8px!important}
  .stat{padding:6px 3px!important;min-height:44px!important}.stat b{font-size:16px!important}.stat span{font-size:7px!important;letter-spacing:.45px!important}
  .campaign-control{min-height:44px;font-size:6.5px;letter-spacing:.4px}.campaign-control button{width:25px;height:23px;font-size:12px;margin-bottom:2px}
  #topbar .brand{padding-right:96px!important}
}
@media(max-width:560px){
  #topbar p{max-width:74vw;font-size:9px!important;line-height:1.25}
  #stats{grid-template-columns:48px 54px repeat(4,minmax(0,1fr))!important;gap:4px!important}
  .stat b{font-size:15px!important}.stat span{font-size:6.5px!important}
}

/* v11.2 approved release refinements */
.wb-location-marker{width:14px;height:14px;border-radius:50%;box-sizing:border-box;box-shadow:0 0 12px rgba(216,66,140,.75);background:#d8428c;border:2px solid #ffe6f4}
.wb-probable{background:#9a65c7;border-color:#eadcff}.wb-reported{background:#7e8781;border-color:#d8ddd8}.wb-disputed{background:transparent;border:2px dashed #d8428c}
.thumb-failed:before{content:'Image unavailable';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9aa69e;font-size:12px;text-transform:uppercase;letter-spacing:.7px;background:#101611}
.flag-img{display:inline-block;width:25px;height:17px;margin:0 6px;vertical-align:-2px;border:1px solid rgba(255,255,255,.32);box-shadow:0 0 5px rgba(0,0,0,.35);object-fit:cover}
.filters{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-height:96px}
.filters button{padding:8px 4px}
.campaign-rationale{border:1px solid #3a2b36;background:linear-gradient(145deg,rgba(54,17,48,.72),rgba(15,22,18,.92));padding:14px;margin:0 0 14px}
.campaign-rationale h3{margin:0 0 8px;color:#f1c9df;text-transform:uppercase;font-size:16px}
.campaign-rationale p{font-size:12px;line-height:1.55;color:#d8ddd8}
.supporting-evidence{margin:12px 0 0}.supporting-evidence img{display:block;width:100%;height:auto;max-height:330px;object-fit:contain;background:#090d0a}.supporting-evidence figcaption{font-size:10px;color:#aeb8b0;padding-top:6px}
.thumb img.image-failed,.supporting-evidence img.image-failed{object-fit:contain;background:#101611;color:#c9a227;font-size:12px;padding:12px;box-sizing:border-box}
@media(max-width:900px),(pointer:coarse){.flag-img{width:20px;height:13px;margin:0 3px}.filters{grid-template-columns:repeat(5,minmax(0,1fr));max-height:60px}.filters button{font-size:8px;padding:7px 2px}}

/* v11.5 launch refinements: responsive header, logo lightbox, satellite view */
#topActions{transform:translateX(calc(-50% + var(--actions-offset,0px)))}
#stats{grid-template-columns:60px 66px repeat(4,62px)!important;width:max-content}
.stat{box-sizing:border-box;min-width:0!important;min-height:42px!important;padding:5px 6px!important;text-align:center!important;align-items:center}
.stat b{font-size:18px!important}.stat span{font-size:7.5px!important}
.logo-button{display:block;padding:0;margin:0;border:0;border-radius:10px;background:transparent;cursor:zoom-in;line-height:0}
.logo-button:focus-visible{outline:2px solid #e2661b;outline-offset:3px}
#logoModal{display:none;position:fixed;inset:0;z-index:7000;background:rgba(0,0,0,.82);align-items:center;justify-content:center;padding:24px}
#logoModal.open{display:flex}.logo-lightbox{position:relative;display:flex;align-items:center;justify-content:center;max-width:min(88vw,900px);max-height:88vh}
.logo-lightbox img{display:block;max-width:100%;max-height:88vh;width:auto;height:auto;object-fit:contain;border:1px solid rgba(226,102,27,.55);box-shadow:0 24px 70px rgba(0,0,0,.72)}
#logoClose{position:absolute;right:-12px;top:-12px;z-index:2;width:42px;height:42px;border:1px solid #e2661b;border-radius:50%;background:#0a0f0c;color:#fff;font-size:18px;cursor:pointer}
#basemapToggle{position:absolute;right:12px;bottom:148px;z-index:825;min-height:34px;padding:8px 11px;border:1px solid #e2661b;border-radius:7px;background:rgba(8,12,10,.94);color:#f4efe0;font:800 10px/1 Arial,sans-serif;letter-spacing:.75px;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35)}
#basemapToggle:hover{border-color:#fff}.satellite-mode .leaflet-tile-pane{filter:none!important}
.location-actions{display:flex;align-items:center;gap:9px;margin:12px 0 4px}.satellite-action{min-height:38px;padding:9px 12px;border:1px solid #4b8cc9;border-radius:6px;background:rgba(19,39,56,.72);color:#d8edff;font:800 10px/1 Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;cursor:pointer}.satellite-action:hover{border-color:#fff;color:#fff}.location-actions span{color:#8d9a91;font-size:10px;line-height:1.25}
.leaflet-control-attribution{max-width:min(62vw,620px);white-space:normal;text-align:right;background:rgba(8,12,10,.76)!important;color:#9aa69e!important;font-size:8px!important}.leaflet-control-attribution a{color:#c9a227!important}
@media(max-width:900px),(pointer:coarse){
  #topActions{transform:none}
  #stats{grid-template-columns:48px 54px repeat(4,50px)!important;width:max-content;max-width:calc(100vw - 16px)}
  .stat{min-height:40px!important;padding:4px 3px!important}.stat b{font-size:15px!important}.stat span{font-size:6.5px!important}
  #basemapToggle{right:10px;bottom:calc(39vh + 12px);min-height:32px;padding:7px 9px;font-size:8px}
  body.satellite-focus #map{bottom:42px}
  body.satellite-focus #basemapToggle{bottom:54px}
  #logoModal{padding:18px}.logo-lightbox{max-width:94vw}.logo-lightbox img{max-height:80vh}#logoClose{right:-8px;top:-8px}
  .location-actions{align-items:flex-start;flex-direction:column;gap:5px}.satellite-action{width:100%;min-height:42px}
  .leaflet-control-attribution{display:none}
}

/* v11.6 launch update: factual counters and mobile top-right rail */
.updated-line{display:block;margin-top:3px;color:#c9a227;font-size:10px;letter-spacing:.5px;text-transform:uppercase}
#stats{grid-template-columns:repeat(3,62px) 60px 66px!important;width:max-content}
.sites-hit-stat span{line-height:1.05}
@media(min-width:901px) and (hover:hover){
  #stats{grid-template-columns:repeat(3,66px) 60px 66px!important}
}
@media(max-width:900px),(pointer:coarse){
  #topbar{height:0!important;padding:0!important;background:linear-gradient(180deg,rgba(4,7,5,.96),rgba(4,7,5,.44),transparent)!important;overflow:visible!important}
  #topbar .brand{position:absolute!important;left:10px!important;top:12px!important;display:flex!important;align-items:center!important;gap:8px!important;padding-right:0!important;max-width:calc(100vw - 78px)!important}
  .logo-mark{width:38px!important;height:38px!important;border-radius:9px!important}
  .brand>div{min-width:0!important}
  h1{font-size:15px!important;line-height:1!important;letter-spacing:1px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
  .flag-img{width:18px!important;height:12px!important;margin:0 2px!important;vertical-align:-1px!important}
  #topbar p{max-width:calc(100vw - 86px)!important;margin:4px 0 0!important;font-size:8.5px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
  #topbar p br{display:none!important}
  .updated-line{display:block!important;margin-top:2px!important;font-size:7.5px!important;letter-spacing:.35px!important}
  #topActions{position:absolute!important;right:10px!important;top:8px!important;left:auto!important;transform:none!important;display:block!important;z-index:960!important}
  #shareBtn{display:none!important}
  #topActions #infoBtn{position:static!important;width:31px!important;height:31px!important;line-height:27px!important}
  #stats{position:absolute!important;right:8px!important;top:47px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;width:52px!important;max-width:52px!important;gap:5px!important;margin:0!important}
  .stat{width:52px!important;min-height:38px!important;padding:4px 3px!important}
  .stat b{font-size:15px!important;line-height:1!important}
  .stat span{font-size:6.6px!important;line-height:1.05!important;letter-spacing:.35px!important}
  .campaign-control{width:52px!important;min-height:40px!important;font-size:6.3px!important;letter-spacing:.3px!important}
  .campaign-control button{width:25px!important;height:23px!important;margin-bottom:2px!important}
  #basemapToggle{right:10px!important;bottom:78px!important;z-index:1250!important;min-height:32px!important;padding:7px 9px!important;font-size:8px!important}
  body.satellite-focus #map{bottom:42px!important}
  body.satellite-focus #basemapToggle{right:10px!important;bottom:54px!important}
}
@media(max-width:380px){
  h1{font-size:13px!important;letter-spacing:.4px!important}
  .logo-mark{width:34px!important;height:34px!important}
  #topbar .brand{gap:6px!important;max-width:calc(100vw - 70px)!important}
  #topbar p{font-size:7.5px!important}
}
@media(max-height:520px) and (orientation:landscape){
  #topbar{display:block!important}
  #topbar .brand{top:8px!important}
  #stats{top:43px!important}
}

/* v11.8 public-launch refinements */
#topbar{justify-content:space-between!important}
#stats{display:grid!important;grid-template-columns:repeat(3,66px)!important;grid-auto-rows:auto!important;width:max-content!important;gap:6px!important;margin-left:auto!important}
.stat{min-height:34px!important;padding:4px 6px!important}
.stat b{font-size:17px!important}.stat span{font-size:7.2px!important;line-height:1.05!important}
.campaign-control{grid-column:1 / -1!important;display:grid!important;grid-template-columns:31px 1fr!important;align-items:center!important;justify-content:start!important;gap:7px!important;min-height:32px!important;padding:3px 7px!important;border:1px solid #24352c;background:rgba(10,15,12,.88);font-size:8px!important;text-align:left!important}
.campaign-control button{margin:0!important}
.national-control{margin-top:1px!important}
.logistics-control span{color:#f1c9df!important}
.event-image{display:block;position:relative;aspect-ratio:16/9;border:1px solid #35473f;background:#101611;margin:8px 0 10px;overflow:hidden}
.event-image img{display:block;width:100%;height:100%;object-fit:cover}
.external-map-link{display:inline-flex;align-items:center;min-height:34px;padding:8px 10px;border:1px solid #6f5bbf;border-radius:6px;background:rgba(31,24,54,.76);color:#ddd7ff;text-decoration:none;font:800 10px/1 Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase}
.external-map-link:hover{border-color:#fff;color:#fff}
@media(max-width:900px),(pointer:coarse){
  #topbar .brand{left:9px!important;top:10px!important;max-width:calc(100vw - 74px)!important;align-items:center!important}
  h1{font-size:14px!important;letter-spacing:.55px!important}
  #topbar p{max-width:calc(100vw - 82px)!important;font-size:7.8px!important;line-height:1.05!important}
  #topActions{right:10px!important;top:8px!important}
  #stats{right:8px!important;top:47px!important;display:flex!important;flex-direction:column!important;width:52px!important;max-width:52px!important;gap:5px!important}
  .stat{width:52px!important;min-height:32px!important;padding:3px 3px!important}
  .stat b{font-size:14px!important}.stat span{font-size:6.2px!important;line-height:1.02!important}
  .campaign-control{width:52px!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;gap:2px!important;min-height:38px!important;padding:3px 2px!important;font-size:6px!important;text-align:center!important}
  .campaign-control button{width:24px!important;height:22px!important}
  #basemapToggle{right:10px!important;bottom:10px!important}
  body.satellite-focus #basemapToggle{right:10px!important;bottom:10px!important}
  .location-actions{align-items:stretch!important;gap:6px!important}
  .external-map-link{justify-content:center;width:100%;box-sizing:border-box;min-height:40px}
}
@media(max-width:380px){
  h1{font-size:13px!important;letter-spacing:.2px!important}
  .flag-img{width:16px!important;height:11px!important;margin:0 1px!important}
}

/* v11.9 compact hotfix */
#topbar{padding-top:10px!important}
#topbar .brand{align-items:flex-start!important}
#stats{margin-right:0!important;justify-self:end!important}
.campaign-control{max-width:66px!important;min-height:28px!important;padding:2px 4px!important;gap:4px!important}
.campaign-control button{width:24px!important;height:21px!important;font-size:11px!important}
.campaign-control span{font-size:6.6px!important;line-height:1!important}
@media(min-width:901px){
  #stats{position:absolute!important;right:14px!important;top:12px!important}
  #topActions{top:12px!important}
  #topbar .brand{position:absolute!important;left:18px!important;top:9px!important}
}
@media(max-width:900px),(pointer:coarse){
  #topbar .brand{top:8px!important}
  #topbar p br{display:block!important}
  #stats{right:6px!important}
  .campaign-control{width:50px!important;min-height:34px!important;padding:2px!important}
  .filters button{white-space:normal!important;line-height:1.05!important}
}

/* v11.10 final right-rail alignment: controls sit under Sources */
#stats{grid-template-columns:repeat(3,66px)!important;grid-auto-flow:row!important;align-items:stretch!important}
.campaign-control{grid-column:3!important;width:66px!important;max-width:66px!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;min-height:38px!important;padding:3px 2px!important;text-align:center!important;line-height:1.05!important}
.campaign-control button{width:25px!important;height:22px!important;margin:0!important;font-size:12px!important}
.campaign-control span{font-size:6.2px!important;line-height:1.05!important;white-space:normal!important}
@media(max-width:900px),(pointer:coarse){
  #stats{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:52px!important;max-width:52px!important;gap:5px!important}
  .stat{width:52px!important;box-sizing:border-box!important}
  .campaign-control{width:52px!important;max-width:52px!important;min-height:38px!important}
}

/* v11.11 search-first launch layout */
#drawer.search-hidden{display:none!important}
#drawer.search-hidden + #drawerOpen{display:none!important}
#drawer:not(.search-hidden) #drawerClose{display:block!important;position:absolute!important;right:10px!important;top:8px!important;width:36px!important;height:32px!important;z-index:25!important}
#searchBtn{min-height:30px;padding:7px 13px;border:1px solid #4c6d5a;border-radius:999px;background:rgba(8,12,10,.94);color:#e7e3d3;font:700 11px/1 inherit;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer}
#searchBtn:hover{border-color:#e2661b;color:#fff}
#topActions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:8px!important;max-width:calc(100vw - 24px)!important}
@media(max-width:900px),(pointer:coarse){
  #topActions{right:8px!important;top:8px!important;display:flex!important;flex-wrap:nowrap!important;gap:5px!important;max-width:calc(100vw - 16px)!important}
  #searchBtn,#shareBtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:52px!important;height:30px!important;min-height:30px!important;padding:0!important;font-size:8px!important;letter-spacing:.7px!important}
  #topbar .brand{padding-right:174px!important;max-width:calc(100vw - 16px)!important}
  #drawer.search-hidden{display:none!important}
  #drawer:not(.search-hidden){display:flex!important}
}

/* v11.11 map-first category rail */
#categoryRail{position:absolute;left:18px;top:126px;z-index:1200;display:flex;flex-direction:column;gap:6px;width:124px;padding:7px;background:rgba(8,12,10,.9);border:1px solid #24352c;box-shadow:0 12px 30px rgba(0,0,0,.3)}
#categoryButtons{display:flex;flex-direction:column;gap:5px}
#categoryButtons button{width:100%;box-sizing:border-box;padding:7px 8px;background:#111a14;border:1px solid #24352c;color:#9aa69e;text-align:left;font-size:9px;line-height:1.05;letter-spacing:.6px;text-transform:uppercase;cursor:pointer}
#categoryButtons button.active{color:#f4efe0;border-color:#e2661b;background:#151f18}
#categoryButtons{max-height:calc(100vh - 260px);overflow-y:auto;scrollbar-width:thin}
@media (min-width:901px) and (max-height:760px){#categoryRail{top:150px!important;max-height:calc(100vh - 170px)!important;overflow:hidden!important}#categoryButtons{max-height:calc(100vh - 235px)!important;overflow-y:auto!important}#categoryButtons button{padding:6px 8px!important}}
#categoryHide{align-self:flex-end;width:22px;height:20px;padding:0;border:1px solid #4c6d5a;background:#0a0f0c;color:#cfd6cf;font-size:16px;line-height:16px;cursor:pointer}
#categoryRestore{display:none;position:absolute;left:18px;top:126px;z-index:1200;width:30px;height:28px;padding:0;border:1px solid #e2661b;background:rgba(8,12,10,.94);color:#e7e3d3;font-size:18px;line-height:22px;cursor:pointer}
#categoryRestore.show{display:block}
@media(max-width:900px),(pointer:coarse){
  #categoryRail{left:8px;top:88px;width:108px;padding:5px;gap:4px}
  #categoryButtons{gap:4px}
  #categoryButtons button{padding:7px 6px;font-size:8px}
  #categoryHide{width:22px;height:20px}
  #categoryRestore{left:8px;top:88px}
}



/* v11.13 final header and right rail */
.brand h1{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;line-height:.9!important;white-space:nowrap!important}.brand .title-line{display:block!important}.brand .title-flags{display:flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;height:19px!important}.brand .title-flags .flag-img{width:22px!important;height:14px!important;margin:2px 4px!important}
#topActions{position:absolute!important;inset:0!important;left:0!important;top:0!important;transform:none!important;pointer-events:none!important;display:block!important;max-width:none!important}#topActions button{pointer-events:auto!important;position:absolute!important}
#searchBtn{left:18px!important;top:92px!important;width:124px!important;box-sizing:border-box!important}#shareBtn{left:50%!important;top:14px!important;transform:translateX(-50%)!important}#infoBtn{right:100px!important;top:14px!important;left:auto!important;transform:none!important;width:32px!important;height:32px!important;border-radius:50%!important;font-size:0!important;line-height:28px!important}
#stats{position:absolute!important;right:14px!important;top:14px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;width:76px!important;gap:6px!important;margin:0!important}#stats .stat{width:76px!important;min-width:76px!important;min-height:38px!important;box-sizing:border-box!important;padding:4px 3px!important}#stats .stat:nth-child(1){order:3!important}#stats .stat:nth-child(2){order:2!important}#stats .stat:nth-child(3){order:1!important}#stats .national-control{order:4!important;width:76px!important;max-width:76px!important;margin-top:2px!important}#stats .logistics-control{order:5!important;width:76px!important;max-width:76px!important;margin-top:12px!important}body.search-open #categoryRail,body.search-open #categoryRestore{display:none!important}.thumb.no-link{cursor:default!important}.thumb.no-link img{object-position:center 72%!important}
@media(max-width:900px),(pointer:coarse){.brand h1{font-size:15px!important;line-height:.92!important}.brand .title-flags{height:15px!important}.brand .title-flags .flag-img{width:18px!important;height:12px!important;margin:1px 3px!important}#searchBtn{left:8px!important;top:78px!important;width:108px!important}#shareBtn{left:50%!important;top:8px!important}#infoBtn{right:76px!important;top:8px!important;width:30px!important;height:30px!important}#stats{right:6px!important;top:8px!important;width:58px!important;gap:4px!important}#stats .stat,#stats .national-control,#stats .logistics-control{width:58px!important;min-width:58px!important;max-width:58px!important}#stats .stat{min-height:34px!important}.campaign-control{min-height:36px!important}}

#detail .thumb img[src='crimea_energy_2026.jpg']{object-position:center 72%!important}

/* v11.14 focused header and filter-rail correction */
#categoryHeader{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 2px 6px;color:#e7e3d3;font-size:9px;letter-spacing:1.15px;font-weight:800;text-align:center}
#categoryHeader span{flex:1;text-align:center}
#categoryHeader #categoryHide{flex:0 0 22px;align-self:auto}
#categoryRail.hidden{display:flex!important;height:34px!important;min-height:34px!important;overflow:hidden!important;padding:5px!important;box-sizing:border-box!important;gap:0!important}
#categoryRail.hidden #categoryHeader{padding:0!important;width:100%!important}
#categoryRail.hidden #categoryButtons{display:none!important}
#categoryRestore{display:none!important}
body.search-open #categoryRail{display:none!important}

/* v11.15 subtitle balance */
.brand p{text-align:center!important}
.brand .subtitle-line{display:block!important;white-space:nowrap!important}

/* Keep the map title compact; flags sit on opposite sides of the gap between lines. */
.brand h1{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;line-height:.82!important;padding:0 34px!important;box-sizing:border-box!important}
.brand .title-line{display:block!important}
.brand .title-flags{position:absolute!important;left:0!important;right:0!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;height:18px!important;align-self:auto!important;pointer-events:none!important}
.brand .title-flags .flag-img{width:22px!important;height:14px!important;margin:0!important}

/* Header controls clear the title metadata and remain stable while the map resizes. */
#searchBtn{position:absolute!important;left:18px!important;top:220px!important;width:124px!important;box-sizing:border-box!important}
#categoryRail{top:266px!important}
#topActions #infoBtn{position:absolute!important;right:100px!important;top:14px!important;left:auto!important;transform:none!important;width:32px!important;height:32px!important;border-radius:50%!important;font-size:0!important;line-height:28px!important}
@media(max-width:900px),(pointer:coarse){
  .brand h1{line-height:.86!important;padding:0 27px!important}
  .brand .title-flags{height:15px!important}
  .brand .title-flags .flag-img{width:18px!important;height:12px!important}
  #searchBtn{left:8px!important;top:116px!important;width:108px!important}
  #categoryRail{left:8px!important;top:160px!important}
  #topActions #infoBtn{right:76px!important;top:8px!important;width:30px!important;height:30px!important}
}

/* v18 launch pass: stable one-line title, fixed anchors, and full-frame campaign imagery. */
#topbar{position:absolute!important;inset:0!important;height:0!important;padding:0!important;pointer-events:none!important;overflow:visible!important}
#topbar .brand{position:absolute!important;inset:0!important;display:block!important;pointer-events:none!important}
#topbar .brand .logo-button{position:fixed!important;left:18px!important;top:18px!important;width:68px!important;height:68px!important;z-index:2100!important;pointer-events:auto!important}
#topbar .brand .logo-mark{width:100%!important;height:100%!important}
#topbar .brand>div:last-child{position:fixed!important;left:50%!important;top:22px!important;transform:translateX(-50%)!important;width:min(820px,calc(100vw - 230px))!important;max-width:none!important;z-index:1800!important;pointer-events:none!important}
#topbar .brand h1{position:relative!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;white-space:nowrap!important;text-align:center!important;font-size:clamp(18px,3.25vw,40px)!important;line-height:1!important;letter-spacing:1px!important}
#topbar .brand h1 .title-line{display:inline!important;white-space:nowrap!important}
#topbar .brand .title-flags{position:absolute!important;left:-52px!important;right:-52px!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;width:auto!important;height:20px!important;z-index:2002!important;pointer-events:none!important}
#topbar .brand .title-flags .flag-img{display:block!important;width:26px!important;height:17px!important;margin:0!important;visibility:visible!important;opacity:1!important}
#topbar .brand .subtitle-line{display:none!important}
#topbar .brand .updated-line{display:block!important;margin-top:8px!important;text-align:center!important;white-space:nowrap!important;font-size:clamp(9px,1vw,12px)!important}
#topActions #infoBtn{position:fixed!important;right:108px!important;top:18px!important;left:auto!important;width:38px!important;height:38px!important;z-index:2200!important}
#topActions #shareBtn{position:fixed!important;right:108px!important;top:70px!important;left:auto!important;transform:none!important;z-index:2200!important}
#stats{position:fixed!important;right:14px!important;top:18px!important;width:78px!important;z-index:2100!important}
#stats .stat,#stats .national-control,#stats .logistics-control{width:78px!important;min-width:78px!important;max-width:78px!important;box-sizing:border-box!important}
#stats .stat{min-height:38px!important;padding:4px 3px!important}
#stats .stat:nth-child(1){order:3!important}#stats .stat:nth-child(2){order:2!important}#stats .stat:nth-child(3){order:1!important}
#stats .national-control{order:4!important;margin-top:3px!important}#stats .logistics-control{order:5!important;margin-top:12px!important}
#stats .sites-hit-stat span{white-space:nowrap!important;text-align:center!important}
#searchBtn{position:fixed!important;left:18px!important;top:112px!important;width:124px!important;z-index:2200!important}
#categoryRail{top:168px!important;left:18px!important;z-index:1200!important;width:238px!important;box-sizing:border-box!important}
#categoryRail #categoryHeader{min-height:36px!important;box-sizing:border-box!important}
#drawer{width:min(520px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}
.approximate-marker{background:rgba(220,232,226,.12)!important;border:2px solid rgba(236,244,239,.85)!important;box-shadow:0 0 18px rgba(220,232,226,.3)!important}
.event-image.full-frame{aspect-ratio:auto!important;max-height:none!important;background:#101611!important}
.event-image.full-frame img{height:auto!important;max-height:none!important;object-fit:contain!important}
#detail .thumb img[src="crimea_energy_full_2026.jpg"]{object-fit:contain!important;object-position:center!important;background:#101611!important}
@media(max-width:900px),(pointer:coarse){
  #topbar .brand .logo-button{left:8px!important;top:8px!important;width:46px!important;height:46px!important}
  #topbar .brand>div:last-child{top:12px!important;width:calc(100vw - 120px)!important}
  #topbar .brand h1{font-size:clamp(13px,4.1vw,24px)!important;letter-spacing:.5px!important}
  #topbar .brand .title-flags{left:-8px!important;right:-8px!important;height:14px!important}
  #topbar .brand .title-flags .flag-img{width:18px!important;height:12px!important}
  #topbar .brand .updated-line{margin-top:5px!important;font-size:8px!important}
  #topActions #infoBtn{right:64px!important;top:8px!important;width:30px!important;height:30px!important}
  #topActions #shareBtn{right:62px!important;top:48px!important;min-width:76px!important;height:30px!important;padding:4px 10px!important;font-size:11px!important}
  #stats{right:6px!important;top:8px!important;width:58px!important}
  #stats .stat,#stats .national-control,#stats .logistics-control{width:58px!important;min-width:58px!important;max-width:58px!important}
  #stats .stat{min-height:34px!important}
  #searchBtn{left:8px!important;top:76px!important;width:108px!important;height:32px!important}
  #categoryRail{left:8px!important;top:120px!important;width:210px!important;max-width:calc(100vw - 16px)!important}
  #drawer{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;left:8px!important;right:auto!important;height:min(68dvh,520px)!important;max-height:calc(100dvh - 120px)!important}
  #topbar .brand .title-flags{left:-8px!important;right:-8px!important;height:14px!important}
}

/* v12 focused polish */
#filters{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
#filters button[data-filter="all"],#filters button[data-filter="all-no-wb"]{grid-column:auto!important}
#filters button[data-filter="refineries"],#filters button[data-filter="fuel-logistics"],#filters button[data-filter="power"],#filters button[data-filter="maritime"],#filters button[data-filter="wildberries"]{grid-column:1 / -1!important}
.area-note{margin:7px 0 9px!important;color:#d8c89e!important;font-size:11px!important;line-height:1.35!important}
.area-note span{color:#89958c!important;font-size:9px!important}
.thumb.no-link{cursor:default!important}
#detail .thumb img[src="taganrog_terminal_2026.jpg"],#detail .thumb img[src="taganrog_terminal_2026.webp"]{object-position:center 70%!important}
#stats .logistics-control span{font-size:5.8px!important;line-height:1!important}
#categoryRail.hidden{width:140px!important}
@media(max-width:900px),(pointer:coarse){
  #categoryRail.hidden{width:124px!important}
  #filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ===================================================================
   v13: consolidated header fix — appended intentionally so it wins
   the cascade over every earlier scattered header patch (v10.9 through
   v11.15) without deleting/touching any of that older code.
   Scope: (1) robust, zoom-proof info button — flexbox-centered icon
   instead of the old line-height/font-size:0 trick that could drift
   out of alignment at certain zoom levels; (2) desktop header layout:
   logo + title + subtitle centered as one group at the top of the
   page; (3) more vertical gap between the two title lines; (4) Share
   button moved to sit directly above the Search bubble instead of
   top-center (that spot is now the centered title block).
   =================================================================== */

/* --- Info button: robust flexbox centering, all viewport sizes --- */
#infoBtn,
#topActions #infoBtn{
  padding:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden!important;
}
/* --- Desktop header: centered logo/title/subtitle group --- */
@media (min-width:901px){
  #topbar{ min-height:190px!important; }
  #topbar .brand{
    position:absolute!important;
    left:50%!important;
    top:16px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
    gap:10px!important;
    max-width:640px!important;
  }
  #topbar .brand>div{ display:flex!important; flex-direction:column!important; align-items:center!important; }
  .brand h1{
    gap:12px!important;
    line-height:1.05!important;
  }
  .brand .title-line{ line-height:1.05!important; }
  .brand p{ margin-top:8px!important; }

  /* Share sits directly above the Search bubble (left column),
     freeing the top-center for the now-centered title block. */
  #shareBtn{
    left:18px!important;
    top:180px!important;
    transform:none!important;
  }
}
/* v14 responsive header reset */
.brand{position:absolute!important;inset:0!important;display:block!important;pointer-events:none!important}
.brand .logo-button{position:absolute!important;left:18px!important;top:10px!important;pointer-events:auto!important}
.brand>div:last-child{position:absolute!important;left:50%!important;top:14px!important;transform:translateX(-50%)!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;pointer-events:none!important;max-width:calc(100vw - 180px)!important}
.brand h1{display:block!important;position:relative!important;padding:0!important;margin:0!important;white-space:nowrap!important;font-size:clamp(17px,3vw,34px)!important;line-height:1!important;letter-spacing:1px!important}
.brand h1 .title-line{display:inline!important;line-height:1!important}
.brand .title-flags{position:absolute!important;left:-30px!important;right:-30px!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;height:auto!important;pointer-events:none!important}
.brand .title-flags .flag-img{width:22px!important;height:14px!important;margin:0!important}
.brand p{margin:7px 0 0!important;text-align:center!important}
.brand .subtitle-line{display:none!important}
.brand .updated-line{display:block!important;white-space:nowrap!important;font-size:clamp(9px,1vw,12px)!important}
#topActions #infoBtn{position:fixed!important;right:102px!important;top:14px!important;left:auto!important;transform:none!important;z-index:2000!important}
body.search-open #searchBtn,body.search-open #shareBtn{display:none!important}
@media(max-width:900px),(pointer:coarse){
  .brand .logo-button{left:8px!important;top:8px!important}
  .brand>div:last-child{top:9px!important;max-width:calc(100vw - 150px)!important}
  .brand h1{font-size:clamp(14px,4vw,24px)!important;letter-spacing:.5px!important}
  .brand .title-flags{left:-23px!important;right:-23px!important}
  .brand .title-flags .flag-img{width:18px!important;height:12px!important}
  #topActions #infoBtn{right:70px!important;top:8px!important}
}

/* v15 focused mobile polish: keep the title clear of controls and restore text search. */
.brand>div:last-child{max-width:calc(100vw - 180px)!important}
.brand .subtitle-line{display:none!important}
.external-map-note{display:block!important;margin-top:5px!important;color:#89958c!important;font-size:10px!important;line-height:1.35!important}
@media(max-width:900px),(pointer:coarse){
  .brand>div:last-child{top:9px!important;max-width:calc(100vw - 112px)!important}
  .brand h1{font-size:clamp(14px,4vw,22px)!important;line-height:1!important}
  #shareBtn{left:8px!important;top:78px!important;transform:none!important;width:108px!important;height:30px!important}
  #searchBtn{left:8px!important;top:116px!important;width:108px!important}
  #topActions #infoBtn{right:70px!important;top:8px!important;width:30px!important;height:30px!important}
  #search{display:block!important;margin:0 14px 10px!important;padding:10px 11px!important;height:40px!important;box-sizing:border-box!important;font-size:14px!important;line-height:18px!important}
  #drawer{padding-top:58px!important}
}

/* v16 focused header anchoring: logo, title, flags, info, and stats do not
   share a positioning context, so large and small viewports stay stable. */
#topbar{position:absolute!important;inset:0!important;padding:0!important;display:block!important;pointer-events:none!important;z-index:850!important}
#topbar .brand{position:absolute!important;inset:0!important;display:block!important;pointer-events:none!important;max-width:none!important;transform:none!important}
#topbar .brand .logo-button{position:fixed!important;left:18px!important;top:18px!important;z-index:2001!important;pointer-events:auto!important}
#topbar .brand>div:last-child{position:fixed!important;left:50%!important;top:25px!important;transform:translateX(-50%)!important;max-width:calc(100vw - 220px)!important;z-index:1800!important;pointer-events:none!important}
#topbar .brand h1{display:block!important;position:relative!important;padding:0!important;margin:0!important;white-space:nowrap!important;line-height:1!important}
#topbar .brand .title-line{display:inline!important;line-height:1!important}
#topbar .brand .title-flags{position:fixed!important;left:calc(50% - 250px)!important;right:calc(50% - 250px)!important;top:39px!important;transform:translateY(-50%)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;height:18px!important;z-index:2002!important;pointer-events:none!important}
#topbar .brand .title-flags .flag-img{display:block!important;width:22px!important;height:14px!important;margin:0!important;visibility:visible!important;opacity:1!important}
#topActions #infoBtn{position:fixed!important;right:110px!important;top:20px!important;left:auto!important;transform:none!important;z-index:2100!important}
#stats{position:fixed!important;right:14px!important;top:18px!important;z-index:1900!important}
#stats .sites-hit-stat{align-items:flex-end!important;text-align:right!important}
#stats .sites-hit-stat span{white-space:nowrap!important;text-align:right!important}
#stats .sites-hit-stat span br{display:none!important}
@media(max-width:900px),(pointer:coarse){
  #topbar .brand .logo-button{left:8px!important;top:8px!important}
  #topbar .brand>div:last-child{top:14px!important;max-width:calc(100vw - 110px)!important}
  #topbar .brand h1{font-size:clamp(14px,4vw,22px)!important;line-height:1!important}
  #topbar .brand .title-flags{left:calc(50% - 115px)!important;right:calc(50% - 115px)!important;top:24px!important;height:15px!important}
  #topbar .brand .title-flags .flag-img{width:18px!important;height:12px!important}
  #topActions #infoBtn{right:70px!important;top:8px!important;width:30px!important;height:30px!important}
  #stats{right:6px!important;top:8px!important}
  #stats .sites-hit-stat span{font-size:7px!important;white-space:nowrap!important}
}

/* v18 final cascade: these rules intentionally come last. */
#topbar{position:absolute!important;inset:0!important;height:0!important;padding:0!important;pointer-events:none!important;overflow:visible!important}
#topbar .brand{position:absolute!important;inset:0!important;display:block!important;pointer-events:none!important;max-width:none!important;transform:none!important}
#topbar .brand .logo-button{position:fixed!important;left:18px!important;top:18px!important;width:68px!important;height:68px!important;z-index:2100!important;pointer-events:auto!important}
#topbar .brand .logo-mark{width:100%!important;height:100%!important}
#topbar .brand>div:last-child{position:fixed!important;left:50%!important;top:22px!important;transform:translateX(-50%)!important;width:min(820px,calc(100vw - 230px))!important;max-width:none!important;z-index:1800!important;pointer-events:none!important}
#topbar .brand h1{position:relative!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;white-space:nowrap!important;text-align:center!important;font-size:clamp(18px,3.25vw,40px)!important;line-height:1!important;letter-spacing:1px!important}
#topbar .brand h1 .title-line{display:inline!important;white-space:nowrap!important}
#topbar .brand .title-flags{position:absolute!important;left:-52px!important;right:-52px!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;width:auto!important;height:20px!important;z-index:2002!important;pointer-events:none!important}
#topbar .brand .title-flags .flag-img{display:block!important;width:26px!important;height:17px!important;margin:0!important;visibility:visible!important;opacity:1!important}
#topbar .brand .subtitle-line{display:none!important}
#topbar .brand .updated-line{display:block!important;margin-top:8px!important;text-align:center!important;white-space:nowrap!important;font-size:clamp(9px,1vw,12px)!important}
#topActions #infoBtn{position:fixed!important;right:108px!important;top:18px!important;left:auto!important;width:38px!important;height:38px!important;z-index:2200!important}
#topActions #shareBtn{position:fixed!important;right:108px!important;top:70px!important;left:auto!important;transform:none!important;z-index:2200!important}
#stats{position:fixed!important;right:14px!important;top:18px!important;width:78px!important;z-index:2100!important}
#stats .stat,#stats .national-control,#stats .logistics-control{width:78px!important;min-width:78px!important;max-width:78px!important;box-sizing:border-box!important}
#stats .stat{min-height:38px!important;padding:4px 3px!important}
#stats .stat:nth-child(1){order:3!important}#stats .stat:nth-child(2){order:2!important}#stats .stat:nth-child(3){order:1!important}
#stats .national-control{order:4!important;margin-top:3px!important}#stats .logistics-control{order:5!important;margin-top:12px!important}
#stats .sites-hit-stat span{white-space:nowrap!important;text-align:center!important}
#searchBtn{position:fixed!important;left:18px!important;top:112px!important;width:124px!important;z-index:2200!important}
#categoryRail{top:168px!important;left:18px!important;z-index:1200!important;width:238px!important;box-sizing:border-box!important}
#drawer{width:min(520px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}
.approximate-marker{background:rgba(220,232,226,.12)!important;border:2px solid rgba(236,244,239,.85)!important;box-shadow:0 0 18px rgba(220,232,226,.3)!important}
.event-image.full-frame{aspect-ratio:auto!important;max-height:none!important;background:#101611!important}
.event-image.full-frame img{height:auto!important;max-height:none!important;object-fit:contain!important}
#detail .thumb img[src="crimea_energy_full_2026.jpg"]{object-fit:contain!important;object-position:center!important;background:#101611!important}
@media(max-width:900px),(pointer:coarse){
  #topbar .brand .logo-button{left:8px!important;top:8px!important;width:46px!important;height:46px!important}
  #topbar .brand>div:last-child{top:12px!important;width:calc(100vw - 120px)!important}
  #topbar .brand h1{font-size:clamp(13px,4.1vw,24px)!important;letter-spacing:.5px!important}
  #topbar .brand .title-flags{left:-27px!important;right:-27px!important;height:14px!important}
  #topbar .brand .title-flags .flag-img{width:18px!important;height:12px!important}
  #topbar .brand .updated-line{margin-top:5px!important;font-size:8px!important}
  #topActions #infoBtn{right:64px!important;top:8px!important;width:30px!important;height:30px!important}
  #topActions #shareBtn{right:62px!important;top:48px!important;min-width:76px!important;height:30px!important;padding:4px 10px!important;font-size:11px!important}
  #stats{right:6px!important;top:8px!important;width:58px!important}
  #stats .stat,#stats .national-control,#stats .logistics-control{width:58px!important;min-width:58px!important;max-width:58px!important}
  #stats .stat{min-height:34px!important}
  #searchBtn{left:8px!important;top:76px!important;width:108px!important;height:32px!important}
  #categoryRail{left:8px!important;top:120px!important;width:210px!important;max-width:calc(100vw - 16px)!important}
  #drawer{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;left:8px!important;right:auto!important;height:min(68dvh,520px)!important;max-height:calc(100dvh - 120px)!important}
}
.impact-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 0 18px;padding:0 0 8px;overscroll-behavior-inline:contain}
.impact-gallery figure{flex:0 0 100%;margin:0;scroll-snap-align:start;background:#07100c;border:1px solid #263a31}
.impact-gallery a{display:block}
.impact-gallery img{display:block;width:100%;max-height:520px;object-fit:contain;background:#050807}
.impact-gallery figcaption{padding:10px 12px;color:#aab2ad;font-size:13px;line-height:1.35}

/* v48 campaign tabs */
.campaign-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}
.campaign-tabs button{border:1px solid #405044;background:#0b1410;color:#c8d0cb;padding:10px 12px;font:700 13px/1.1 inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.campaign-tabs button.active{border-color:#e07432;color:#fff2df;background:#172017}
.campaign-infographic{margin:0 0 18px;border:1px solid #263a31;background:#07100c}
.campaign-infographic img{display:block;width:100%;height:auto}
.campaign-infographic figcaption{padding:8px 10px;color:#aab2ad;font-size:12px}
.ozon-location-marker{width:18px;height:18px;box-sizing:border-box;border-radius:50%;background:#4b9bd0;border:2px solid #eaf4f5;box-shadow:0 0 14px rgba(75,155,208,.7)}
