:root{--bg:#050b13;--panel:#071321;--panel2:#0a1828;--line:#1c3146;--muted:#8fa4ba;--text:#f7fbff;--red:#ff3a3a;--orange:#ff9e2a;--blue:#4198ff;--green:#62d47a;--shadow:0 18px 50px rgba(0,0,0,.25)}
*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(circle at 50% -10%,#102743 0,#07111f 28%,#040910 72%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}body{min-height:100vh}.topbar{position:sticky;top:0;z-index:1000;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:14px 18px;background:rgba(4,10,17,.94);border-bottom:1px solid #16283a;backdrop-filter:blur(14px)}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:white;min-width:max-content}.brand-globe{font-size:34px;filter:drop-shadow(0 0 10px #2f8cff88)}.brand strong{display:block;font-size:21px;letter-spacing:.4px}.brand em{color:var(--red);font-style:normal}.brand small{display:block;color:#b9c6d5;margin-top:2px}.nav{display:flex;justify-content:center;gap:8px}.nav-btn,.icon-btn,#viewAllBtn{border:0;color:#dfe8f1;background:transparent;cursor:pointer}.nav-btn{padding:10px 15px;border:1px solid transparent;border-radius:9px;font-size:14px}.nav-btn:hover,.nav-btn.active{background:#0c1928;border-color:#31506d}.nav-btn.active{box-shadow:inset 0 -2px var(--red)}.top-actions{display:flex;align-items:center;gap:9px}.search-wrap{display:flex;align-items:center;gap:8px;width:260px;background:#0a1725;border:1px solid #263f57;border-radius:10px;padding:9px 12px;color:#8197ad}.search-wrap input{width:100%;border:0;outline:0;background:transparent;color:white}.icon-btn{width:38px;height:38px;border:1px solid #294158;border-radius:50%;font-size:17px}.live-badge{display:flex;gap:7px;align-items:center;background:#3b1115;border:1px solid #742127;padding:8px 11px;border-radius:8px;font-weight:800;font-size:12px}.live-badge i{width:8px;height:8px;background:var(--red);border-radius:50%;box-shadow:0 0 10px var(--red);animation:pulse 1.4s infinite}.panel{background:linear-gradient(180deg,rgba(8,21,35,.96),rgba(5,15,26,.96));border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;padding:12px 12px 0}.map-panel{min-height:680px;position:relative;overflow:hidden}.stats{position:absolute;z-index:500;top:14px;left:14px;display:flex;gap:8px;flex-wrap:wrap}.stat{min-width:125px;padding:10px 12px;background:rgba(7,18,30,.94);border:1px solid #2a4056;border-radius:9px}.stat b{display:block;font-size:18px;margin-top:2px}.stat small{font-size:10px;letter-spacing:.6px}.stat.breaking{border-color:#6e2528}.stat.breaking small{color:var(--red)}.stat.developing small{color:var(--orange)}.stat.major small{color:var(--blue)}#map{height:680px;background:#061221}.leaflet-container{font-family:inherit}.leaflet-control-attribution{background:#071321cc!important;color:#7f93a7!important}.leaflet-control-attribution a{color:#aac8e8!important}.news-marker{background:transparent;border:0}.marker-core{position:relative;width:20px;height:20px;border-radius:50%;border:4px solid white;box-shadow:0 0 0 7px rgba(255,255,255,.10)}.marker-core:before,.marker-core:after{content:"";position:absolute;inset:-12px;border:2px solid currentColor;border-radius:50%;opacity:.65;animation:ring 1.8s infinite}.marker-core:after{inset:-23px;opacity:.35;animation-delay:.55s}.marker-core.breaking{background:var(--red);color:var(--red);box-shadow:0 0 22px var(--red)}.marker-core.developing{background:var(--orange);color:var(--orange);box-shadow:0 0 22px var(--orange)}.marker-core.major{background:var(--blue);color:var(--blue);box-shadow:0 0 22px var(--blue)}@keyframes ring{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.25);opacity:0}}@keyframes pulse{50%{opacity:.45}}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#07111d;color:white;border:1px solid #30455b}.leaflet-popup-content{margin:10px 12px;min-width:190px}.leaflet-popup-content strong{display:block;margin-bottom:4px}.leaflet-popup-content small{color:#a6b7c7}.map-legend{position:absolute;z-index:500;left:50%;transform:translateX(-50%);bottom:150px;display:flex;gap:18px;padding:8px 14px;background:#071422e8;border:1px solid #253e55;border-radius:9px;font-size:12px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.dot.breaking{background:var(--red)}.dot.developing{background:var(--orange)}.dot.major{background:var(--blue)}.lead-card{position:absolute;z-index:550;left:14%;right:14%;bottom:14px;min-height:128px;display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px;background:linear-gradient(135deg,#091522f5,#06111df5);border:1px solid #6b2428;border-radius:13px}.lead-card h2{margin:5px 0 8px;font-size:21px}.lead-card p{margin:0;color:#b8c7d6;max-width:780px}.lead-card .meta{color:#9eb0c2;font-size:12px}.lead-card .badge{display:inline-block;padding:4px 8px;border-radius:5px;font-weight:900;font-size:11px;margin-right:8px}.badge.breaking{background:var(--red)}.badge.developing{background:#a45b0a}.badge.major{background:#165fab}.lead-actions{display:flex;flex-direction:column;justify-content:center;gap:9px}.action{padding:11px 14px;border-radius:8px;border:1px solid #34506a;background:#0e1c2c;color:white;text-decoration:none;font-weight:700;text-align:center}.action.primary{background:#e62e32;border-color:#ff5557}.breaking-panel{min-height:680px;padding:12px;overflow:hidden}.section-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #23364a;padding:0 4px 10px}.section-title h2{font-size:15px;margin:0}.section-title button{color:#ff5b5b}.story-list{display:flex;flex-direction:column}.story{position:relative;padding:13px 7px 13px 15px;border-bottom:1px solid #1c3043;cursor:pointer}.story:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:4px;border-radius:5px;background:var(--sev)}.story:hover{background:#0b1b2b}.story-top{display:flex;justify-content:space-between;gap:8px;font-size:12px}.story-country{font-weight:800}.story-time{color:var(--sev)}.story h3{font-size:15px;line-height:1.25;margin:7px 0}.story small{color:#8fa4b8}.ticker{margin:10px 12px 0;padding:8px 10px;display:flex;overflow:hidden}.ticker-head{display:flex;gap:10px;align-items:center;min-width:240px;border-right:1px solid #24384c;padding-right:15px}.ticker-head>strong{background:#e53236;border-radius:6px;padding:6px 8px}.ticker-head span small{display:block;color:#8299ae}.ticker-track{display:flex;overflow:auto;scrollbar-width:none}.ticker-item{min-width:170px;padding:4px 14px;border-right:1px solid #23364b;cursor:pointer}.ticker-item small{display:block;color:var(--sev);font-size:10px;font-weight:800;margin-top:2px}.feature-strip{display:grid;grid-template-columns:repeat(5,1fr);margin:10px 12px 18px;padding:10px}.feature-strip>div{display:flex;gap:12px;align-items:center;padding:7px 18px;border-right:1px solid #203447}.feature-strip>div:last-child{border:0}.feature-strip b{font-size:27px;color:#72a9e8}.feature-strip span small{display:block;color:#8296aa}.drawer{position:fixed;z-index:2000;inset:0;background:#02070dbd;display:grid;place-items:center;padding:20px}.drawer-card{width:min(850px,100%);max-height:80vh;overflow:auto;padding:22px;position:relative}.drawer-close{position:absolute;right:14px;top:10px;background:transparent;border:0;color:white;font-size:30px;cursor:pointer}.drawer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.drawer-item{padding:13px;background:#0a1828;border:1px solid #263f57;border-radius:10px;cursor:pointer}.drawer-item small{color:#92a6b9;display:block;margin-top:5px}.empty{padding:30px;color:#9bb0c3;text-align:center}
@media(max-width:1100px){.topbar{grid-template-columns:1fr auto}.nav{order:3;grid-column:1/-1;justify-content:flex-start;overflow:auto}.dashboard{grid-template-columns:1fr}.breaking-panel{min-height:auto}.story-list{display:grid;grid-template-columns:repeat(2,1fr)}.feature-strip{grid-template-columns:repeat(2,1fr)}.search-wrap{width:200px}}
@media(max-width:700px){.topbar{padding:10px}.brand strong{font-size:16px}.brand small{font-size:11px}.brand-globe{font-size:27px}.top-actions .search-wrap{display:none}.live-badge{padding:7px}.dashboard{padding:8px 8px 0}.map-panel,#map{height:610px;min-height:610px}.stats{right:10px;left:10px}.stat{min-width:0;flex:1;padding:7px}.stat:nth-child(4){display:none}.map-legend{bottom:190px;white-space:nowrap;gap:10px}.lead-card{left:8px;right:8px;bottom:8px;grid-template-columns:1fr;min-height:170px;padding:12px}.lead-card h2{font-size:17px}.lead-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lead-actions{flex-direction:row}.lead-actions .action{flex:1;padding:8px}.story-list{grid-template-columns:1fr}.ticker{margin:8px}.ticker-head{min-width:140px}.feature-strip{margin:8px;grid-template-columns:1fr}.feature-strip>div{border-right:0;border-bottom:1px solid #203447}.drawer-list{grid-template-columns:1fr}}

.brand mark{background:#5a4727;color:#ffd96b;border:1px solid #8b6e38;border-radius:6px;padding:2px 6px;font-size:10px;margin-left:6px}.controlbar{margin:10px 12px 0;padding:9px 12px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:7px;color:#9fb2c4;font-size:12px}.control-group select{background:#0b1928;color:white;border:1px solid #294158;border-radius:8px;padding:7px}.chip{background:#0a1828;border:1px solid #294158;color:#dbe6f0;border-radius:999px;padding:6px 10px;cursor:pointer}.chip.active{border-color:#ff4a4a;background:#261015}.control-status{margin-left:auto;font-size:11px;color:#8ea5ba}.score{display:inline-grid;place-items:center;min-width:38px;height:24px;padding:0 7px;border:1px solid #36516b;border-radius:999px;font-size:11px;font-weight:900}.score.hot{border-color:#7d2b2b;color:#ff6666}.source-tier{display:inline-block;margin-top:7px;font-size:10px;color:#8db5de;border:1px solid #274d73;border-radius:5px;padding:2px 6px}.save-btn{border:1px solid #36516b;background:#0b1928;color:white;border-radius:8px;padding:7px 10px;cursor:pointer}.save-btn.saved{color:#ffd55d;border-color:#80692e}.toast{position:fixed;right:18px;bottom:18px;z-index:3000;background:#0b1928;border:1px solid #37536e;color:white;padding:12px 16px;border-radius:10px;box-shadow:0 15px 40px #0008}.section-title small{display:block;color:#7890a6;margin-top:3px}.lead-card .lead-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lead-card .lead-head .save-btn{margin-left:auto}.source-note{color:#7890a6;font-size:11px;margin-top:7px}.country-watch{display:flex;justify-content:space-between;align-items:center;gap:10px}.country-watch button{white-space:nowrap}.drawer-item .score{float:right}.story .story-score{position:absolute;right:6px;bottom:10px}.story h3{padding-right:46px}
@media(max-width:700px){.controlbar{margin:8px;padding:8px}.control-status{width:100%;margin-left:0}.control-group:nth-child(2){display:none}.lead-card .lead-head .save-btn{margin-left:0}.brand mark{display:inline-block}.story h3{padding-right:42px}}

/* V2.1: author CSS must never override the HTML hidden attribute. */
[hidden]{display:none!important}.drawer[hidden]{display:none!important}

/* V2.5 event-location + grouped country markers */
.marker-core{display:grid;place-items:center}
.marker-count{position:absolute;left:13px;top:-10px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#07111f;border:1px solid #fff;color:#fff;font-size:10px;font-weight:900;line-height:1;box-shadow:0 2px 10px #000a;z-index:4}
.marker-core.country-fallback{border:0;background:transparent;color:var(--red);box-shadow:none}
.marker-core.country-fallback:before,.marker-core.country-fallback:after{border-style:dashed;border-radius:4px;animation:country-diamond-ring 1.8s infinite}
.marker-core.country-fallback:after{animation-delay:.55s}
.country-marker-diamond{display:block;width:16px;height:16px;border:3px dashed #fff;border-radius:2px;background:#d92d31;box-shadow:0 0 22px var(--red);transform:rotate(45deg)}
.country-level-key{display:inline-block;width:10px;height:10px;margin-right:7px;border:2px dashed #fff;border-radius:1px;background:var(--red);transform:rotate(45deg);vertical-align:-1px}
.legend-location-accuracy{border-left:1px solid #3a5066;padding-left:16px;margin-left:2px}
@keyframes country-diamond-ring{0%{transform:rotate(45deg) scale(.6);opacity:.8}100%{transform:rotate(45deg) scale(1.25);opacity:0}}
.country-location-note{margin:6px 0 4px;padding:5px 7px;border:1px dashed #ff7377;border-radius:6px;color:#ffb2b4;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.cluster-story{padding:7px 0;border-top:1px solid #24384c}
.cluster-story:first-of-type{margin-top:6px}
.cluster-story b{display:block;font-size:12px;line-height:1.25}
.cluster-story small{display:block;margin-top:3px;color:#91a8bc}

/* V2.5 smart clusters + corroborated events */
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(39,104,173,.26)!important}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#0d2944!important;color:#fff!important;border:1px solid #5ca9ff;box-shadow:0 0 22px #2f8cff88;font-weight:900}
.event-proof,.corroborated{display:inline-flex;align-items:center;gap:4px;color:#71dfa0;border:1px solid #276344;background:#09261a;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800}
.corroborated{margin:6px 0;display:flex;border-radius:6px}

/* V2.5.2 map navigation */
.world-view-btn{position:absolute;z-index:900;left:18px;top:auto;bottom:155px;border:1px solid #47759d;background:#071727e8;color:#fff;border-radius:9px;padding:8px 12px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px #0008;backdrop-filter:blur(8px)}.world-view-btn:hover{border-color:#73b7ee;background:#0c2238}.world-view-btn[hidden]{display:none!important}@media(max-width:700px){.world-view-btn{left:12px;top:auto;bottom:205px;padding:7px 9px;font-size:12px}}
.mobile-tour-btn{display:none}

.category-indicator{display:flex;align-items:center;gap:8px;background:#0c2236;border:1px solid #2d668e;color:#dceeff;border-radius:999px;padding:6px 9px;font-size:12px}.category-indicator b{color:#7fcaff}.category-indicator button{border:0;background:#173650;color:#fff;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1}.category-indicator[hidden]{display:none!important}@media(max-width:700px){.category-indicator{order:8}}

/* V2.6 severity focus: only the selected severity card is visually emphasized. */
.stats.severity-focus .stat{opacity:.58;border-color:#2a4056;box-shadow:none;background:rgba(7,18,30,.90)}
.stats.severity-focus .stat.selected-stat{opacity:1;transform:translateY(-1px);box-shadow:0 0 0 1px currentColor,0 8px 22px rgba(0,0,0,.25)}
.stats.severity-focus .stat.breaking.selected-stat{border-color:var(--red);background:rgba(62,15,18,.95);color:#fff}
.stats.severity-focus .stat.developing.selected-stat{border-color:var(--orange);background:rgba(55,34,8,.95);color:#fff}
.stats.severity-focus .stat.major.selected-stat{border-color:var(--blue);background:rgba(11,39,70,.95);color:#fff}
.stats.severity-focus .stat:last-child{opacity:.72}

/* V2.6.1 — map control placement, severity-aware clusters, compact story card */
.map-panel .leaflet-top.leaflet-left{top:112px;left:10px}
.map-panel .leaflet-control-zoom{margin-top:0!important;margin-left:0!important;box-shadow:0 8px 24px #0007}
.map-panel .leaflet-control-zoom a{background:#071727e8!important;color:#fff!important;border-color:#31516d!important}
.map-panel .leaflet-control-zoom a:hover{background:#0d2942!important;color:#fff!important}

.gna-cluster{background:transparent!important;border:0!important}
.gna-cluster-shell{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:13px;color:#fff;border:3px solid rgba(255,255,255,.92);position:relative;box-shadow:0 0 0 7px rgba(255,255,255,.08),0 0 22px currentColor}
.gna-cluster-shell:before{content:"";position:absolute;inset:-11px;border:2px solid currentColor;border-radius:50%;opacity:.45}
.gna-cluster-shell.breaking{background:#d92d31;color:var(--red)}
.gna-cluster-shell.developing{background:#b96c13;color:var(--orange)}
.gna-cluster-shell.major{background:#1970c4;color:var(--blue)}

.lead-card{left:18px;right:auto;bottom:18px;width:min(620px,calc(100% - 36px));min-height:0;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 14px 13px;background:linear-gradient(135deg,rgba(8,21,35,.97),rgba(5,15,26,.97));box-shadow:0 16px 42px rgba(0,0,0,.45);backdrop-filter:blur(12px)}
.lead-card h2{font-size:17px;line-height:1.25;margin:6px 34px 6px 0}
.lead-card p{font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lead-card .source-note{font-size:10px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:455px}
.lead-head{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11px;padding-right:28px}
.lead-actions{min-width:108px;gap:7px}
.lead-actions .action{padding:8px 10px;font-size:12px}
.lead-close{position:absolute;right:9px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:#102338;color:#dce9f5;font-size:20px;line-height:1;cursor:pointer}
.lead-close:hover{background:#203b55;color:white}
.lead-card[hidden]{display:none!important}
.map-legend{bottom:22px;left:50%;}
.world-view-btn{bottom:68px}

.stats.severity-focus .stat.selected-stat.breaking{box-shadow:0 0 0 1px var(--red),0 0 18px rgba(255,58,58,.28)}
.stats.severity-focus .stat.selected-stat.developing{box-shadow:0 0 0 1px var(--orange),0 0 18px rgba(255,158,42,.25)}
.stats.severity-focus .stat.selected-stat.major{box-shadow:0 0 0 1px var(--blue),0 0 18px rgba(65,152,255,.25)}

@media(max-width:700px){
  .legend-location-accuracy{padding-left:9px;margin-left:0}
  .legend-location-full{display:none}
  .map-panel .leaflet-top.leaflet-left{top:96px;left:8px}
  .lead-card{left:8px;right:8px;bottom:8px;width:auto;grid-template-columns:1fr;padding:12px;max-height:225px;overflow:auto}
  .lead-card h2{font-size:16px;margin-right:32px}
  .lead-card .source-note{max-width:none;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .lead-actions{flex-direction:row;min-width:0}
  .map-legend{bottom:242px}
  .world-view-btn{bottom:286px}
}

/* V2.9.13 Preview — transparent location accounting and evidence-safe markers. */
.map-accounting{
  position:absolute;
  z-index:520;
  top:14px;
  right:14px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid #31516d;
  border-radius:9px;
  background:rgba(5,17,29,.94);
  color:#a9bbcc;
  font:700 10px/1.15 Inter,ui-sans-serif,system-ui,sans-serif;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.map-accounting:hover,.map-accounting:focus-visible{border-color:#66a9e2;color:#eaf5ff;outline:none}
.map-accounting b{color:#fff;letter-spacing:.04em}
.map-accounting span+span{padding-left:8px;border-left:1px solid #294158}
.broadcast-view .map-accounting{top:112px;right:14px}
.broadcast-view .saved-only-control{display:none!important}

.marker-core.country-fallback.developing .country-marker-diamond{background:var(--orange);box-shadow:0 0 22px var(--orange)}
.marker-core.country-fallback.major .country-marker-diamond{background:var(--blue);box-shadow:0 0 22px var(--blue)}
.marker-core.maritime-region{display:grid;place-items:center;background:#0b568b!important;color:#55bfff!important;border-color:#d8f2ff;box-shadow:0 0 24px #43b8ff}
.maritime-marker-wave{display:block;color:#fff;font-size:17px;font-weight:900;line-height:1;transform:translateY(-2px)}
.region-level-key{display:inline-grid;place-items:center;width:14px;height:14px;margin-right:5px;border:2px solid #a8e3ff;border-radius:50%;background:#0b568b;color:#fff;font-style:normal;font-size:12px;font-weight:900;line-height:1;vertical-align:-2px}

.location-breakdown-group{margin:0 0 18px}
.location-breakdown-group h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;color:#dceaf7;font-size:14px}
.location-breakdown-group h3 span{min-width:28px;padding:3px 7px;border:1px solid #31516d;border-radius:999px;text-align:center;color:#9fc8ea;font-size:11px}

@media(max-width:700px){
  .map-accounting{top:90px;left:10px;right:10px;justify-content:center;gap:5px;padding:6px 7px;font-size:8px;white-space:nowrap}
  .map-accounting span+span{padding-left:5px}
  .map-legend .legend-region{display:inline-flex;align-items:center}
}


/* V2.7 — event intelligence, trending UI, and non-overlapping world-view control */
.world-view-btn{left:10px;top:205px;bottom:auto;max-width:170px;padding:7px 10px;font-size:11px;line-height:1.2}
.trend-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #805d1e;background:#241a08;color:#ffd56a;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;white-space:nowrap}
.trending-intro{margin-bottom:12px;padding:11px 13px;border:1px solid #294963;background:#091a2a;border-radius:10px;color:#a9bfd1;font-size:12px;line-height:1.45}
.trending-item{display:flex;align-items:flex-start;gap:10px}
.trend-rank{min-width:42px;height:34px;border-radius:9px;display:grid;place-items:center;background:#291c08;border:1px solid #87621e;color:#ffd15e;font-weight:900;font-size:13px}
.story small{display:block;padding-right:42px}.story .event-proof{margin-top:4px}
@media(max-width:700px){.world-view-btn{left:8px;top:180px;bottom:auto;max-width:140px;font-size:10px}.drawer-card{width:min(96vw,680px);max-height:88vh}.drawer-list{grid-template-columns:1fr}.trend-chip{font-size:9px}.lead-card{max-height:215px}}

/* V2.7.4 — accuracy + polish: story card stays inside map, active filters are explicit */
.lead-card{
  bottom:62px;
  max-height:188px;
  overflow:auto;
  scrollbar-width:thin;
}
.map-legend{left:50%;right:auto;transform:translateX(-50%);bottom:18px}
.category-indicator{gap:6px;flex-wrap:wrap}
.country-filter-chip{display:inline-flex;align-items:center;gap:4px;padding-left:4px;border-left:1px solid #31506d}
.drawer-item.active-choice{border-color:#55aef4;background:#0d2942;box-shadow:inset 0 0 0 1px #2f8cff55}
.country-flag{display:inline-block;width:16px;height:12px;object-fit:cover;vertical-align:-1px;border-radius:1px;box-shadow:0 0 0 1px #ffffff38;flex:0 0 auto}.country-globe{display:inline-block;line-height:1;vertical-align:-1px}.story-country,.ticker-item>span,.country-focus-label b,.section-title h2,.drawer-item b{align-items:center}.story-country,.country-focus-label b{display:inline-flex;gap:5px}.ticker-item>span,.section-title h2,.drawer-item b{gap:4px}.ticker-item>span,.section-title h2{display:flex}.drawer-item b .country-flag{margin-right:3px}.leaflet-popup-content strong .country-flag,.lead-head>.country-flag{margin-right:3px}
.category-choice{position:relative}
.category-choice.active-choice:after{content:'✓ Active';position:absolute;right:10px;top:10px;color:#75dca0;font-size:10px;font-weight:900}
.breaking-panel{overflow:auto;max-height:680px}
.loading-map-note{position:absolute;z-index:700;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 16px;border-radius:10px;background:#071727e8;border:1px solid #31516d;color:#b9cbe0}
@media(max-width:1100px){.breaking-panel{max-height:none}}
@media(max-width:700px){
  .lead-card{bottom:56px;max-height:250px}
  .map-legend{right:8px;bottom:14px;left:auto;transform:none;gap:8px;padding:6px 9px;font-size:10px}
  .world-view-btn{top:178px}
  .category-grid{grid-template-columns:1fr}
}

/* V2.7.5 QA: normal desktop story cards should not show an unnecessary internal scrollbar. */
@media(min-width:701px){.lead-card{max-height:none;overflow:visible}.lead-card p{max-height:3.7em;overflow:hidden}}

/* V2.7.5 QA: prevent page-level horizontal scrolling while preserving intentional nav/ticker scrollers. */
html,body{max-width:100%;overflow-x:hidden}
.topbar,.controlbar,.dashboard,.ticker,.feature-strip{min-width:0;max-width:100%}
.nav{min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
@media(max-width:700px){
  .topbar{grid-template-columns:minmax(0,1fr);gap:8px;overflow:hidden}
  .brand{min-width:0;max-width:100%;overflow:visible}
  .brand>span:last-child{min-width:0;overflow:visible}
  .brand strong,.brand small{white-space:nowrap;overflow:visible;text-overflow:clip}
  .top-actions{width:100%;min-width:0;gap:6px;justify-content:flex-start}
  .icon-btn{width:34px;height:34px;flex:0 0 34px}
  .live-badge{flex:0 0 auto}
  .nav{width:100%;justify-content:flex-start;padding-bottom:2px}
  .nav-btn{flex:0 0 auto;padding:8px 10px;font-size:12px}
}

/* V2.7.5 QA: keep story actions reachable on compact phones while the card content scrolls. */
@media(max-width:700px){
  .lead-card .lead-actions{position:sticky;bottom:0;z-index:3;background:linear-gradient(180deg,rgba(5,15,26,0),rgba(5,15,26,.98) 24%);padding-top:12px;padding-bottom:2px}
}

/* V2.7.7 QA: keep primary navigation labels intact at constrained desktop/tablet widths. */
.nav-btn{white-space:nowrap}

.seo-hub{margin:10px 12px 18px;padding:20px 22px;color:#dcecff}
.seo-hub h1{margin:0 0 8px;font-size:21px}.seo-hub h2{margin:18px 0 8px;font-size:18px}
.seo-hub p{margin:6px 0 14px;color:#9fb4c9;max-width:900px}
.seo-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.seo-link-grid a,.seo-trust-links a{color:#bfeeff;text-decoration:none}
.seo-link-grid a{border:1px solid rgba(94,202,255,.22);background:rgba(9,35,58,.55);padding:9px 11px;border-radius:9px}
.seo-link-grid a:hover,.seo-trust-links a:hover{text-decoration:underline}
@media(max-width:600px){.seo-hub{margin:8px;padding:16px}.seo-link-grid{grid-template-columns:1fr 1fr}}


/* V2.9.10 Broadcast Final — applies only to ?broadcast=1. */
.broadcast-view,.broadcast-view *{cursor:none!important}
.broadcast-view .leaflet-control-attribution{display:none!important}
.continent-label-wrap{background:transparent!important;border:0!important}
.continent-label{display:block;width:140px;text-align:center;color:rgba(222,232,242,.66);font:800 13px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em;text-shadow:0 1px 5px #02060c,0 0 9px #02060c;white-space:nowrap;pointer-events:none}
.broadcast-ticker{position:fixed;z-index:2147483000;left:0;right:0;bottom:0;width:100vw;height:43px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(3,9,16,.98),rgba(8,20,33,.98));border-top:1px solid #274158;box-shadow:0 -5px 18px rgba(0,0,0,.35);overflow:hidden;color:#f5f8fb}
.broadcast-ticker[hidden]{display:none!important}
.broadcast-ticker>strong{height:100%;min-width:112px;display:grid;place-items:center;padding:0 12px;background:#0a2035;border-right:1px solid #31526e;font-size:11px;letter-spacing:.1em;white-space:nowrap}
.broadcast-ticker.breaking-now>strong{background:#8d171c;color:white}
.broadcast-ticker-window{overflow:hidden;flex:1;min-width:0;white-space:nowrap}
#broadcastTickerTrack{height:43px;display:flex;align-items:center;overflow:hidden}
.broadcast-ticker-crawl{display:inline-flex;align-items:center;width:max-content;gap:24px;animation:gnaBroadcastTicker 75s linear infinite;will-change:transform}
.broadcast-ticker-item{font-size:13px;font-weight:650;color:#f3f6f9}
.broadcast-ticker-item b{font-size:10px;letter-spacing:.04em;margin-right:5px}
.broadcast-ticker-item.developing b{color:#ffb45b}.broadcast-ticker-item.major b{color:#75b8ff}
.broadcast-ticker-item em{font-style:normal;color:#8fa5ba;font-size:11px}
.broadcast-ticker-crawl>i{font-style:normal;color:#49647e}
.broadcast-ticker-breaking{display:flex;align-items:center;gap:12px;padding:0 16px;font-size:13px;min-width:0}
.broadcast-ticker-breaking b{color:#ff7377;white-space:nowrap}.broadcast-ticker-breaking span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}
@keyframes gnaBroadcastTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.broadcast-view .lead-card{position:fixed;left:24px;right:auto;bottom:51px;width:min(620px,calc(100vw - 390px));max-height:215px;overflow:hidden}
.broadcast-view .map-legend{left:50%;right:auto;transform:translateX(-50%);bottom:145px}
.broadcast-view .story h3{font-size:16px;line-height:1.22}
@media(max-width:900px){.broadcast-ticker>strong{min-width:94px}.broadcast-ticker-item{font-size:12px}.continent-label{font-size:11px}}


/* V2.9.9 — broadcast-only country-level focus label.
   Shows which country is being displayed when exact event coordinates
   are unavailable. It intentionally does not create an event marker. */
.country-focus-label{
  display:none;
}
.broadcast-view .country-focus-label{
  position:absolute;
  z-index:850;
  top:112px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border:1px solid #4d7898;
  border-radius:9px;
  background:rgba(5,15,26,.92);
  box-shadow:0 3px 14px rgba(0,0,0,.28);
  color:#f4f8fb;
  white-space:nowrap;
  pointer-events:none;
  letter-spacing:.035em;
}
.broadcast-view .country-focus-label[hidden]{
  display:none!important;
}
.broadcast-view .country-focus-label b{
  font-size:13px;
  font-weight:900;
}
.broadcast-view .country-focus-label span{
  color:#9fc1dc;
  font-size:10px;
  font-weight:800;
}

/* V2.9.11 launch layer: additive website-to-YouTube journey. */
.watch-live-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:9px 13px;border:1px solid #8c3035;border-radius:9px;background:#3b1115;color:#fff;text-decoration:none;font-size:13px;font-weight:850;box-shadow:inset 0 -2px #d83a3f}
.watch-live-btn:hover,.watch-live-btn:focus-visible{background:#59171c;border-color:#dc4b50;outline:2px solid #ff7b7f;outline-offset:2px}
.live-promo{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:10px 12px 18px;padding:20px 22px;border-color:#503039;background:linear-gradient(110deg,rgba(48,14,19,.96),rgba(8,24,40,.96) 58%,rgba(6,18,31,.96))}
.live-promo-copy{max-width:760px}.live-promo-eyebrow{display:inline-flex;align-items:center;gap:7px;color:#ff8588;font-size:11px;font-weight:900;letter-spacing:.1em}.live-promo-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red)}.live-promo h2{margin:7px 0 5px;font-size:22px}.live-promo p{margin:0;color:#afc2d3;line-height:1.45}.live-promo-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.live-promo-actions a{padding:11px 14px;border-radius:9px;text-decoration:none;font-weight:850;white-space:nowrap}.live-promo-primary{background:#dc3036;border:1px solid #ff6166;color:#fff}.live-promo-secondary{background:#0b2134;border:1px solid #31506d;color:#dcefff}.live-promo-actions a:hover,.live-promo-actions a:focus-visible{filter:brightness(1.12);outline:2px solid #8bd8ff;outline-offset:2px}

/* Keep every primary navigation item reachable on common 1280–1440px desktop
   widths. Broadcast mode retains the proven single-row V2.9.10 header. */
@media(min-width:1101px) and (max-width:1450px){
  body:not(.broadcast-view) .topbar{grid-template-columns:minmax(0,1fr) auto}
  body:not(.broadcast-view) .nav{order:3;grid-column:1/-1;justify-content:flex-start;overflow-x:auto}
}

/* Broadcast-only first-impression identity. Existing map, story and ticker hooks are unchanged. */
.gna-launch-broadcast{display:none}
.broadcast-view .gna-launch-broadcast{position:absolute;z-index:2147482000;top:14px;right:14px;width:292px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid #365875;border-radius:10px;background:linear-gradient(135deg,rgba(4,12,21,.96),rgba(9,29,47,.94));box-shadow:0 8px 24px rgba(0,0,0,.38);color:#f6fbff;pointer-events:none;text-shadow:0 1px 4px #000}
.gna-launch-broadcast-title{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.07em}.gna-launch-live-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 9px var(--red)}.gna-launch-broadcast>b{font-size:17px;letter-spacing:.035em}.gna-launch-broadcast>span{color:#c4d5e4;font-size:11px}.gna-launch-broadcast>small{color:#91a9bd;font-size:10px}.gna-launch-broadcast>em{margin-top:3px;color:#7edfff;font-size:12px;font-style:normal;font-weight:900}.broadcast-view .watch-live-btn{display:none}

/* The captured stream is non-interactive. Keep its 1280px header legible and
   reserve all available space for the brand and live-state indicator. */
.broadcast-view .topbar{grid-template-columns:minmax(0,1fr) auto;gap:12px}
.broadcast-view .nav,.broadcast-view .top-actions .search-wrap,.broadcast-view .top-actions .icon-btn{display:none!important}
.broadcast-view .brand-globe{width:32px;height:32px;flex:0 0 32px;font-size:0;background:url('/assets/icon.svg') center/contain no-repeat;filter:drop-shadow(0 0 10px #2f8cff88)}
.broadcast-view .brand small{font-size:0;overflow:visible;text-overflow:clip}
.broadcast-view .brand small::after{content:"Live world news map • GlobeNewsAlerts.com";font-size:12px;color:#b9c6d5;white-space:nowrap}

.gna-launch-cycle{letter-spacing:.015em}
.gna-launch-severity{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:9px;font-weight:900;letter-spacing:.03em}
.gna-launch-severity span{display:flex;align-items:center;gap:3px;white-space:nowrap}
.gna-launch-severity i{width:6px;height:6px;border-radius:50%;box-shadow:0 0 7px currentColor}
.gna-launch-breaking{color:#ff6468}.gna-launch-breaking i{background:#ff4147}
.gna-launch-developing{color:#ffb052}.gna-launch-developing i{background:#ff991f}
.gna-launch-major{color:#69b2ff}.gna-launch-major i{background:#368eea}

/* V2.9.11 RC4: the full explainer is periodic rather than a permanent sticker. */
.broadcast-view .gna-launch-broadcast{opacity:1;visibility:visible;transition:opacity .4s ease,visibility 0s linear 0s}
.broadcast-view .gna-launch-broadcast.gna-launch-broadcast-hidden{opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s}

/* Fit the complete kiosk document inside the proven 1280x720 capture. Normal
   website pages keep their existing responsive, vertically scrolling layout. */
.broadcast-view{width:100vw;height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.broadcast-view .topbar{position:relative;flex:0 0 auto;padding:10px 24px}
.broadcast-view .controlbar{flex:0 0 auto;margin:6px 24px 0;padding:7px 12px;flex-wrap:nowrap;min-height:44px;overflow:hidden}
.broadcast-view .control-status{white-space:nowrap}
.broadcast-view .dashboard{width:100%;flex:1 1 0;min-height:0;height:auto;padding:8px 24px 43px}
.broadcast-view .map-panel,.broadcast-view #map,.broadcast-view .breaking-panel{height:100%;min-height:0;max-height:none}
.broadcast-view .map-legend{display:flex!important;left:50%;right:auto;bottom:18px;transform:translateX(-50%);z-index:500}
.broadcast-view .breaking-panel{overflow:auto;scrollbar-width:none}
.broadcast-view .breaking-panel::-webkit-scrollbar{display:none}
.broadcast-view>.ticker,.broadcast-view>.feature-strip,.broadcast-view>.live-promo,.broadcast-view>.seo-hub{display:none!important}

@media(max-width:1100px){.watch-live-btn{flex:0 0 auto}.live-promo{align-items:flex-start}.live-promo-actions{justify-content:flex-start}}
@media(max-width:700px){.watch-live-btn{padding:8px 10px;font-size:12px}.live-promo{margin:8px;display:block;padding:17px}.live-promo h2{font-size:19px}.live-promo-actions{margin-top:14px}.live-promo-actions a{flex:1;text-align:center;padding:10px}.broadcast-view .gna-launch-broadcast{top:8px;right:8px;width:250px;padding:8px 10px}.gna-launch-broadcast>b{font-size:14px}}
@media(prefers-reduced-motion:reduce){.live-promo-eyebrow i,.gna-launch-live-dot{animation:none}.broadcast-view .gna-launch-broadcast{transition:none}}

/* V2.9.11 RC15: mobile map-first presentation. The broadcast and desktop
   layouts remain governed by their proven rules above. */
@media(max-width:700px){
  body:not(.broadcast-view) .topbar{
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px 8px;
    padding:7px 8px;
  }
  body:not(.broadcast-view) .brand{gap:6px}
  body:not(.broadcast-view) .brand-globe{font-size:22px}
  body:not(.broadcast-view) .brand strong{font-size:12px;letter-spacing:.1px}
  body:not(.broadcast-view) .brand small,
  body:not(.broadcast-view) .brand mark{display:none}
  body:not(.broadcast-view) .top-actions{
    width:auto;
    justify-content:flex-end;
    gap:4px;
  }
  body:not(.broadcast-view) .icon-btn{
    width:30px;
    height:30px;
    flex-basis:30px;
    font-size:14px;
  }
  body:not(.broadcast-view) .live-badge{
    height:30px;
    gap:5px;
    padding:0 7px;
    font-size:10px;
  }
  body:not(.broadcast-view) .live-badge i{width:6px;height:6px}
  body:not(.broadcast-view) .nav{
    grid-column:1/-1;
    order:3;
    gap:4px;
    padding:0 0 1px;
  }
  body:not(.broadcast-view) .nav-btn,
  body:not(.broadcast-view) .watch-live-btn{
    min-height:32px;
    padding:6px 8px;
    font-size:11px;
  }

  body:not(.broadcast-view) .controlbar{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:5px;
    margin:6px 8px 0;
    padding:6px;
  }
  body:not(.broadcast-view) .control-group:first-child{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    width:100%;
  }
  body:not(.broadcast-view) .control-group:first-child>span,
  body:not(.broadcast-view) .control-group:nth-child(2),
  body:not(.broadcast-view) .control-group:nth-child(3){display:none}
  body:not(.broadcast-view) .chip{
    min-width:0;
    padding:6px 3px;
    overflow:hidden;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body:not(.broadcast-view) .control-status{
    width:100%;
    margin:0;
    overflow:hidden;
    font-size:9px;
    line-height:1.3;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body:not(.broadcast-view) .category-indicator{
    width:100%;
    max-width:100%;
    justify-content:center;
    overflow:hidden;
  }

  body:not(.broadcast-view) .dashboard{padding:6px 8px 0}
  body:not(.broadcast-view) .map-panel{scroll-margin-top:78px}
  body:not(.broadcast-view) .map-panel,
  body:not(.broadcast-view) #map{
    height:clamp(360px,58svh,500px);
    min-height:360px;
  }
  body:not(.broadcast-view) .map-panel.has-active-story,
  body:not(.broadcast-view) .map-panel.has-active-story #map{
    height:clamp(500px,calc(100svh - 158px),680px);
    min-height:500px;
  }
  body:not(.broadcast-view) .stats{
    top:8px;
    right:8px;
    left:8px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    flex-wrap:nowrap;
  }
  body:not(.broadcast-view) .stat,
  body:not(.broadcast-view) .stat:nth-child(4){
    display:block;
    min-width:0;
    padding:6px 5px;
    overflow:hidden;
    border-radius:7px;
  }
  body:not(.broadcast-view) .stat small{
    display:block;
    overflow:hidden;
    font-size:clamp(7.5px,2.05vw,9px);
    letter-spacing:0;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body:not(.broadcast-view) .stat b{margin-top:1px;font-size:15px}
  body:not(.broadcast-view) .map-panel .leaflet-top.leaflet-left{top:61px;left:7px}
  body:not(.broadcast-view) .world-view-btn{
    top:61px;
    bottom:auto;
    left:49px;
    z-index:1001;
    min-height:36px;
    white-space:nowrap;
  }
  body:not(.broadcast-view) .mobile-tour-btn{
    position:absolute;
    z-index:1001;
    top:61px;
    right:7px;
    display:block;
    min-height:36px;
    padding:7px 9px;
    border:1px solid #47759d;
    border-radius:9px;
    background:#071727e8;
    color:#fff;
    box-shadow:0 8px 24px #0008;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
    cursor:pointer;
    backdrop-filter:blur(8px);
  }
  body:not(.broadcast-view) .mobile-tour-btn.running{border-color:#ff5c62;background:#35141ae8}
  body:not(.broadcast-view) .map-legend{
    right:auto;
    bottom:8px;
    left:50%;
    max-width:calc(100% - 16px);
    gap:7px;
    padding:6px 7px;
    overflow-x:auto;
    transform:translateX(-50%);
    font-size:9px;
    scrollbar-width:none;
  }
  body:not(.broadcast-view) .map-legend::-webkit-scrollbar{display:none}
  body:not(.broadcast-view) .map-legend .dot{width:7px;height:7px;margin-right:3px}
  body:not(.broadcast-view) .legend-location-accuracy{padding-left:7px}
  body:not(.broadcast-view) .country-level-key{width:8px;height:8px;margin-right:5px}

  body:not(.broadcast-view) .lead-card{
    right:6px;
    bottom:6px;
    left:6px;
    width:auto;
    max-height:min(46svh,360px);
    padding:11px;
    overflow:auto;
    border-radius:11px;
  }
  body:not(.broadcast-view) .lead-head{gap:4px;font-size:10px}
  body:not(.broadcast-view) .lead-card h2{margin:6px 30px 5px 0;font-size:15px}
  body:not(.broadcast-view) .lead-card p{-webkit-line-clamp:2;font-size:12px}
  body:not(.broadcast-view) .lead-card .source-note{-webkit-line-clamp:2;font-size:9px}
  body:not(.broadcast-view) .lead-card .lead-actions{padding-top:9px}
  body:not(.broadcast-view) .lead-actions .action{min-height:36px;padding:7px 8px;font-size:11px}
  body:not(.broadcast-view) .lead-close{width:30px;height:30px}
}

@media(max-width:350px){
  body:not(.broadcast-view) .brand strong{font-size:11px}
  body:not(.broadcast-view) .icon-btn{width:28px;height:28px;flex-basis:28px}
  body:not(.broadcast-view) .live-badge{height:28px;padding:0 6px}
  body:not(.broadcast-view) .nav-btn,
  body:not(.broadcast-view) .watch-live-btn{padding-right:7px;padding-left:7px}
}

/* V2.9.11 RC19 — compact card-free phone markers; Leaflet hit areas stay unchanged. */
@media(max-width:700px){
  body:not(.broadcast-view) .map-panel:not(.has-active-story) .gna-cluster-shell{
    width:32px;
    height:32px;
    margin:4px;
    border-width:2px;
    font-size:11px;
    box-shadow:0 0 0 4px rgba(255,255,255,.07),0 0 13px currentColor;
  }
  body:not(.broadcast-view) .map-panel:not(.has-active-story) .gna-cluster-shell:before{
    inset:-7px;
    border-width:1px;
    opacity:.38;
  }
  body:not(.broadcast-view) .map-panel:not(.has-active-story) .marker-core{
    width:16px;
    height:16px;
    margin:2px;
    border-width:3px;
    box-shadow:0 0 13px currentColor;
  }
  body:not(.broadcast-view) .map-panel:not(.has-active-story) .marker-core:before{
    inset:-8px;
    border-width:1px;
  }
  body:not(.broadcast-view) .map-panel:not(.has-active-story) .marker-core:after{
    inset:-15px;
    border-width:1px;
    opacity:.25;
  }
  body:not(.broadcast-view) .map-panel:not(.has-active-story) .marker-core.country-fallback{
    border:0;
    box-shadow:none;
  }
  body:not(.broadcast-view) .map-panel:not(.has-active-story) .country-marker-diamond{
    width:13px;
    height:13px;
    border-width:2px;
    box-shadow:0 0 13px var(--red);
  }
}

/* V2.9.12 — clean, English-only website world labels and mobile attribution clearance. */
.site-continent-label-wrap{background:transparent!important;border:0!important}
.site-continent-label{
  display:block;
  width:140px;
  color:rgba(222,232,242,.68);
  font:800 12px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.09em;
  text-align:center;
  text-shadow:0 1px 5px #02060c,0 0 9px #02060c;
  white-space:nowrap;
  pointer-events:none;
}
body:not(.broadcast-view) .story h3,
body:not(.broadcast-view) .story small{padding-right:0}
@media(max-width:700px){
  body:not(.broadcast-view) .site-continent-label{
    width:88px;
    font-size:7.5px;
    letter-spacing:.035em;
  }
  body:not(.broadcast-view) .map-legend{bottom:30px}
  body:not(.broadcast-view) .leaflet-control-attribution{
    max-width:calc(100vw - 24px);
    padding:1px 4px;
    overflow:visible;
    font-size:7.5px;
    line-height:1.2;
    text-align:right;
    text-overflow:clip;
    white-space:normal;
  }
}

/* V2.9.11 RC26 — visitor-local website clock and permanent broadcast UTC.
   The normal clock lives in the status row so the compact phone header keeps
   its proven geometry. Broadcast mode moves the same element beside LIVE. */
.gna-clock{
  display:inline-flex;
  flex:0 0 auto;
  align-items:baseline;
  gap:6px;
  min-height:28px;
  padding:5px 9px;
  border:1px solid #294158;
  border-radius:8px;
  background:#081725;
  color:#dfeaf4;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.gna-clock-zone{color:#7894ad;font-size:8px;font-weight:900;letter-spacing:.08em}
.gna-clock-value{font-size:12px;line-height:1}
.controlbar>.gna-clock{margin-left:auto}
.controlbar>.gna-clock+.control-status{margin-left:0}
.broadcast-view .top-actions>.gna-clock{
  min-height:32px;
  padding:6px 10px;
  border-color:#31506d;
  background:#071521;
}
.broadcast-view .gna-clock-zone{color:#8fb0cc}
.broadcast-view .gna-clock-value{font-size:13px}

@media(max-width:700px){
  body:not(.broadcast-view) .controlbar{
    grid-template-columns:auto minmax(0,1fr);
  }
  body:not(.broadcast-view) .control-group:first-child,
  body:not(.broadcast-view) .category-indicator{grid-column:1/-1}
  body:not(.broadcast-view) .controlbar>.gna-clock{
    margin:0;
    min-height:23px;
    padding:3px 6px;
    gap:5px;
  }
  body:not(.broadcast-view) .gna-clock-zone{font-size:7px}
  body:not(.broadcast-view) .gna-clock-value{font-size:10px}
  body:not(.broadcast-view) .controlbar>.gna-clock+.control-status{
    width:auto;
    min-width:0;
    text-align:right;
  }
}
/* V2.9.13 RC2: compact broadcast popups; ordinary desktop/phone popups unchanged. */
.broadcast-view .broadcast-story-popup .leaflet-popup-content{font-size:12px;line-height:1.35;margin:12px 22px 12px 14px}
.broadcast-view .broadcast-story-popup .cluster-story{padding:6px 0;margin:0}
.broadcast-view .broadcast-story-popup .cluster-story b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:13px;line-height:1.35}
.broadcast-view .broadcast-story-popup .cluster-story small{display:block;font-size:11px;line-height:1.3}
.broadcast-view .broadcast-story-popup .country-location-note{padding:3px 0;margin:2px 0;font-size:11px}
.broadcast-view .broadcast-story-popup .trend-chip{margin:3px 0}
.broadcast-view .broadcast-story-popup .corroborated{font-size:11px;padding:3px 0}
.broadcast-view .broadcast-story-popup .popup-more-events{font-size:11px;color:#b9cddd;padding-top:3px}
/* RC3: reserve measured legend space; do not move or hide its attribution. */
.broadcast-view .lead-card{bottom:var(--gna-story-bottom,128px)}
