/* Marquee — cinema billboard. Dark board, gold frame, condensed display type. No bulbs. */
.theme-marquee .vote-panel {
  width: min(480px, 92vw);
  padding: 20px 22px 14px;
  border-radius: 4px;
  border: 3px solid color-mix(in srgb, var(--vs-accent) 80%, #3a2a08);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--vs-accent) 18%, #14100a) 0 10px, transparent 10px),
    #120e0a;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--vs-bar-fill) 45%, transparent),
    0 18px 44px rgba(0, 0, 0, 0.55);
}

.theme-marquee .vote-question {
  font-size: 1.85rem;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
  line-height: 1.05;
}

.theme-marquee .vote-header {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  padding-top: 4px;
}

.theme-marquee .vote-timer {
  font-size: 1.5rem;
  letter-spacing: 0.18em;
  text-align: center;
}

.theme-marquee .vote-option {
  border-radius: 2px;
  border: 1px solid color-mix(in srgb, var(--vs-accent) 22%, transparent);
  background: rgba(0, 0, 0, 0.38);
}

.theme-marquee .vote-option-label {
  font-size: 1.35rem;
  letter-spacing: 0.04em;
  font-weight: 400;
}

.theme-marquee .vote-option-index {
  border-radius: 2px;
  background: var(--vs-accent);
  border: none;
  color: #1a1408;
}

.theme-marquee .vote-option-bar {
  opacity: 0.32;
  background: linear-gradient(90deg, var(--vs-bar-fill), transparent);
}

.theme-marquee .vote-footer {
  justify-content: center;
  border-top-color: color-mix(in srgb, var(--vs-accent) 22%, transparent);
  letter-spacing: 0.16em;
}

.theme-marquee .vote-panel.results .vote-option.winner {
  box-shadow: 0 0 22px color-mix(in srgb, var(--vs-accent) 40%, transparent);
}

.theme-marquee .vote-panel.revealing .vote-option.winner {
  animation: marqueeWin 0.9s ease both;
}

.theme-marquee .vote-panel.revealing .vote-option.winner .vote-option-label {
  animation: marqueeFlash 0.7s steps(4) both;
}

@keyframes marqueeWin {
  0% { filter: brightness(0.6); transform: scale(0.97); }
  40% { filter: brightness(1.8); transform: scale(1.03); }
  100% { filter: brightness(1); transform: scale(1); }
}

@keyframes marqueeFlash {
  0%, 40%, 80% { opacity: 1; }
  20%, 60% { opacity: 0.15; }
  100% { opacity: 1; }
}
