/* ---------- TICKER TAPE ---------- */
.ticker-tape {
  width: 100%;
  overflow: hidden;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  padding: 10px 0;
  position: relative;
  z-index: 2;
}

.ticker-track {
  display: flex;
  gap: 48px;
  animation: tickerScroll 45s linear infinite;
  width: max-content;
}

.ticker-tape:hover .ticker-track {
  animation-play-state: paused;
}

.ticker-item {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  font-family: var(--font-mono);
  font-size: 0.85rem;
}

.ticker-name {
  color: var(--text-secondary);
  font-weight: 600;
}

.ticker-price {
  color: var(--text-primary);
  font-weight: 700;
}

.ticker-change.up {
  color: var(--bull-green);
}

.ticker-change.down {
  color: var(--bear-red);
}

.ticker-separator {
  color: var(--text-muted);
  font-size: 0.6rem;
}

@keyframes tickerScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
