.breaking-news{display:flex;gap:8px;align-items:center;border-bottom:1px solid #ddd;padding:8px 0;min-width:0;height:42px;font-size:14px}
.breaking-news>strong{flex:none;color:#bc1717;white-space:nowrap}
.breaking-news-arrow{flex:none;color:#bc1717}
.breaking-news-viewport{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}
.breaking-news-track{display:flex;width:max-content}
.breaking-news .breaking-news-stories{display:flex;align-items:center;flex:none;width:max-content;min-width:var(--ticker-viewport,0px);margin:0;padding:0;list-style:none}
.breaking-news li{flex:none;white-space:nowrap;line-height:24px}
.breaking-news li::after{content:'•';padding:0 20px;color:#888}
.breaking-news a:focus-visible{outline:2px solid #bc1717;outline-offset:-2px}
.breaking-news-toggle{flex:none;width:28px;height:26px;padding:0;border:0;background:transparent;color:#555;visibility:hidden}
.breaking-news-ready .breaking-news-toggle{visibility:visible}
.breaking-news-ready .breaking-news-viewport{overflow:hidden}
.breaking-news-ready .breaking-news-track{animation:breaking-news-scroll var(--ticker-duration,60s) linear infinite}
.breaking-news-viewport:hover .breaking-news-track{animation-play-state:paused}
.breaking-news-paused .breaking-news-viewport,.breaking-news-viewport:is(:focus-visible,:has(a:focus-visible)){overflow-x:auto}
.breaking-news-paused .breaking-news-track,.breaking-news-viewport:is(:focus-visible,:has(a:focus-visible)) .breaking-news-track{animation:none;transform:none}
.breaking-news-paused .breaking-news-copy,.breaking-news-viewport:is(:focus-visible,:has(a:focus-visible)) .breaking-news-copy{display:none}
@keyframes breaking-news-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
 .breaking-news-ready .breaking-news-viewport{overflow-x:auto}
 .breaking-news-ready .breaking-news-track{animation:none;transform:none}
 .breaking-news .breaking-news-copy{display:none}
 .breaking-news-ready .breaking-news-toggle{visibility:hidden}
}

/* Same lightweight pause/play geometry as the main carousel, without text glyphs. */
.breaking-news-state-icon{display:inline-block;width:13px;height:16px;border-left:4px solid currentColor;border-right:4px solid currentColor;vertical-align:middle}
.breaking-news-paused .breaking-news-state-icon{width:0;height:0;border:8px solid transparent;border-right:0;border-left:13px solid currentColor}
/* Production has no visible pause button. Keyboard users retain an explicit stop. */
.breaking-news-toggle:not(:focus-visible){position:absolute;width:1px;height:1px;min-width:0;min-height:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%)}
