:root { --sticky-header-height:70px; }
html { scroll-padding-top:calc(var(--sticky-header-height) + 52px); }
.explorer { scroll-margin-top:10px; }
.header { position:sticky; top:0; z-index:40; }
/* Lift the hero's stacking context only while search suggestions are open. */
.intro.hero-proposal.compact-hero:has(#search-results:not([hidden])) { z-index:35; }
.header.is-pinned { border-radius:0; }
.live-strip { position:sticky; top:var(--sticky-header-height); z-index:29; display:flex; align-items:center; gap:12px; height:52px; margin:0 0 12px; padding:5px 8px 5px 13px; background:#fff; border:1px solid #DCE4EF; border-radius:8px; color:#0B2D5B; box-shadow:0 5px 14px #0B2D5B08; }
.live-strip.is-pinned { border-radius:0; }
.live-label { display:inline-flex; align-items:center; gap:6px; flex:none; color:#D61D30; font:700 10px/1 Inter,Arial,sans-serif; letter-spacing:.4px; }
.live-label>span { position:relative; display:block; width:5px; height:5px; border-radius:50%; background:#FF2D3D; }
.live-label>span::after { content:''; position:absolute; inset:0; border-radius:inherit; background:inherit; pointer-events:none; animation:live-pulse 2.4s ease-out infinite; }
@keyframes live-pulse { 0% { transform:scale(1); opacity:.55; } 75%,100% { transform:scale(2.8); opacity:0; } }
.live-current { flex:1; min-width:0; touch-action:pan-y; }
.live-title { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#0B2D5B; font:600 13px/1.35 Inter,Arial,sans-serif; text-decoration:none; }
.live-title:hover { color:#D61D30; text-decoration:underline; text-underline-offset:3px; }
.live-meta { display:flex; align-items:center; gap:5px; margin-top:2px; min-width:0; overflow:hidden; color:#567095; font:400 10px/1.35 Inter,Arial,sans-serif; }
.live-meta time { white-space:nowrap; flex:none; font-variant-numeric:tabular-nums; }
.live-meta a { color:#567095; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.live-meta a:hover { text-decoration:underline; }
.live-place { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:200px; }
.live-origin { font-size:9px; white-space:nowrap; }
.live-tools { display:flex; align-items:center; gap:0; flex:none; }
.live-tools button { display:inline-flex; align-items:center; justify-content:center; gap:5px; height:44px; min-width:44px; padding:0 7px; border:0; background:transparent; border-radius:6px; color:#567095; font:400 11px/1 Inter,Arial,sans-serif; }
.live-tools button:hover { color:#0B2D5B; background:#F3F6FB; }
.live-strip svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.live-tools .live-step { position:relative; width:32px; min-width:32px; padding:0; }
.live-tools .live-step svg { width:13px; height:13px; }
.live-tools .live-refresh { width:auto; min-width:82px; padding:0 7px; font-weight:600; }
.live-refresh svg { width:14px; height:14px; }
.live-refresh.is-refreshing svg { animation:live-refresh-spin 1s linear infinite; }
@keyframes live-refresh-spin { to { transform:rotate(360deg); } }
.live-tools button:disabled { opacity:.4; cursor:default; }
.live-filter-button.is-filtered { color:#D61D30; }
.live-filter-panel { position:absolute; right:6px; top:calc(100% + 5px); width:300px; max-width:calc(100vw - 36px); padding:14px; background:#fff; border:1px solid #DCE4EF; border-radius:10px; box-shadow:0 8px 25px #0B2D5B20; }
.live-filter-panel>label { display:block; margin:0 0 9px; color:#0B2D5B; font:600 13px/1.4 Inter,Arial,sans-serif; }
.live-location-input { display:flex; align-items:center; gap:8px; padding:0 10px; border:1px solid #DCE4EF; border-radius:6px; margin-bottom:8px; }
.live-location-input input { min-width:0; width:100%; height:44px; font:400 16px/1.4 Inter,Arial,sans-serif; border:0; background:#fff; color:#0B2D5B; outline-offset:2px; }
.live-zone-options { max-height:280px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.live-zone-options button { display:block; width:100%; min-height:44px; padding:10px; color:#365A86; border:0; background:#fff; text-align:left; border-radius:5px; font:400 12px/1.4 Inter,Arial,sans-serif; }
.live-zone-options button:hover { background:#F3F6FB; }
.live-zone-options button[aria-pressed=true] { background:#EEF4FC; color:#0B2D5B; font-weight:600; }
.live-zone-options p { font:400 12px/1.4 Inter,Arial,sans-serif; color:#567095; margin:12px 0; }
.live-strip [hidden] { display:none!important; }
.live-empty { display:block; color:#567095; font:400 11px/1.4 Inter,Arial,sans-serif; }
.live-strip.is-unavailable .live-label>span { background:#A7B5C8; }
.live-strip.is-unavailable .live-label>span::after { animation:none; opacity:0; }
@media(prefers-reduced-motion:reduce) { .live-label>span::after { animation:none; opacity:0; } .live-refresh.is-refreshing svg { animation:none; } }
.live-strip a:focus-visible,.live-strip button:focus-visible,.live-strip input:focus-visible { outline:2px solid #1474CA; outline-offset:2px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1100px) { .live-origin { display:none; } }
@media(max-width:900px) { :root { --sticky-header-height:105px; } }
@media(max-width:600px) {
 .live-strip { display:grid; grid-template-columns:auto minmax(0,1fr); height:auto; min-height:70px; gap:2px 8px; padding:6px 7px 3px 9px; margin-bottom:10px; }
 .live-current { grid-column:2; }
 .live-tools { grid-column:1/-1; justify-content:flex-end; }
 .live-label { font-size:8px; gap:4px; }
 .live-label>span { width:4px; height:4px; }
 .live-title { font-size:12px; white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
 .live-tools .live-refresh { min-width:68px; padding:0 4px; gap:3px; font-size:10px; }
 .live-meta { font-size:9px; gap:4px; }
 .live-place { display:none; }
 .live-tools button { padding:0; }
 .live-filter-button #news-filter-caption { display:none; }
 .live-filter-button.is-filtered #news-filter-caption { display:inline; font-size:9px; }
 .live-filter-button.is-filtered svg { width:12px; }
 .live-filter-panel { right:0; }
}
@media(max-width:360px) {
 .live-strip { gap:6px; }
 .live-tools .live-filter-button { width:32px; min-width:32px; }
 .header nav a,.header nav button,.header nav .contact-nav { font-size:11px; padding-inline:0; }
}
