/* ── World news filter buttons ──────────────────────────── */
.world-filter, .world-ticker-filter, .world-source-filter { padding: 4px 12px; background: transparent; border: 1px solid #30363d; border-radius: 20px; color: #8b949e; font-size: 12px; cursor: pointer; transition: all 0.15s; white-space: nowrap; }
.world-filter:hover, .world-ticker-filter:hover, .world-source-filter:hover { border-color: #58a6ff; color: #e0e0e0; }
.world-filter.active, .world-ticker-filter.active, .world-source-filter.active { background: #21262d; color: #e0e0e0; border-color: #58a6ff; }
.world-filter.bullish.active { background: #3fb95022; border-color: #3fb950; color: #3fb950; }
.world-filter.bearish.active { background: #f8514922; border-color: #f85149; color: #f85149; }
.world-filter.neutral.active  { background: #8b949e22; border-color: #8b949e; color: #8b949e; }

/* ── World refresh button ───────────────────────────────── */
#world-refresh-btn { padding: 5px 14px; background: transparent; border: 1px solid #30363d; border-radius: 6px; color: #8b949e; font-size: 13px; cursor: pointer; transition: all 0.15s; }
#world-refresh-btn:hover { border-color: #58a6ff; color: #58a6ff; }
#world-refresh-btn:disabled { opacity: 0.4; cursor: default; }
#world-last-updated { font-size: 11px; color: #8b949e; margin-left: auto; }

/* ── Ticker tags on world articles ─────────────────────── */
.world-ticker-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 5px 0 2px; }
.world-ticker-tag { font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 20px; border: 1px solid; background: transparent; cursor: pointer; position: relative; }
.world-ticker-tag:hover { filter: brightness(1.3); }
.world-ticker-reason { display: none; position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: #1c2129; border: 1px solid #30363d; border-radius: 8px; padding: 8px 12px; font-size: 12px; font-weight: 400; color: #c9d1d9; white-space: normal; width: max-content; max-width: 320px; line-height: 1.45; z-index: 100; box-shadow: 0 4px 16px rgba(0,0,0,0.4); pointer-events: none; }
.world-ticker-reason::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: #30363d; }
.world-ticker-tag.show-reason .world-ticker-reason { display: block; }

/* ── Industry tags on world articles ──────────────────── */
.world-industry-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 4px 0 2px; }
.world-industry-tag { font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #1c2129; color: #8b949e; border: 1px solid #30363d; letter-spacing: 0.3px; }

/* ── Analyzing animation ────────────────────────────────── */
@keyframes world-ticker-pulse { 0%,100% { opacity:0.5; } 50% { opacity:1; } }
.world-ticker-filter.analyzing { animation: world-ticker-pulse 1.2s ease-in-out infinite; cursor: default; }
.analyzing-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: currentColor; margin-left: 5px; vertical-align: middle; animation: world-ticker-pulse 1.2s ease-in-out infinite; }
