/* Ledger — night edition broadsheet. Serif headline, hairlines, dotted leaders. */
.theme-ledger .vote-panel {
  width: min(520px, 92vw);
  padding: 18px 22px 14px;
  border-radius: 0;
  border: none;
  border-top: 8px solid var(--vs-accent);
  border-bottom: 3px double color-mix(in srgb, var(--vs-text) 35%, transparent);
  background: color-mix(in srgb, var(--vs-panel) 92%, #2a2418);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
}

.theme-ledger .vote-question {
  font-weight: 700;
  font-size: 1.28rem;
  letter-spacing: -0.02em;
  line-height: 1.3;
  text-transform: none;
}

.theme-ledger .vote-timer {
  font-style: italic;
  font-weight: 400;
  font-size: 0.95rem;
}

.theme-ledger .vote-header {
  border-bottom: 1px solid color-mix(in srgb, var(--vs-text) 28%, transparent);
  padding-bottom: 10px;
}

.theme-ledger .vote-options {
  gap: 0;
}

.theme-ledger .vote-option {
  border: none;
  border-radius: 0;
  border-bottom: 1px dotted color-mix(in srgb, var(--vs-text) 28%, transparent);
  background: transparent;
  overflow: visible;
}

.theme-ledger .vote-option-track {
  display: none;
}

.theme-ledger .vote-option-bar {
  top: auto;
  height: 100%;
  opacity: 0.12;
  background: var(--vs-bar-fill);
}

.theme-ledger .vote-option-inner {
  padding: 9px 0;
  grid-template-columns: 1.4rem 1fr auto;
}

.theme-ledger .vote-option-index {
  width: auto;
  height: auto;
  background: none;
  color: var(--vs-text);
  font-style: italic;
  justify-content: flex-start;
  font-size: 0.85rem;
}

.theme-ledger .vote-option-label {
  font-weight: 400;
  font-size: 0.98rem;
}

.theme-ledger .vote-percent {
  font-variant-numeric: lining-nums;
}

.theme-ledger .vote-footer {
  border-top: none;
  font-style: italic;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}

.theme-ledger .vote-status {
  text-transform: none;
  letter-spacing: 0;
  font-style: italic;
}

.theme-ledger .vote-panel.results .vote-option.winner {
  background: color-mix(in srgb, var(--vs-accent) 8%, transparent);
}

.theme-ledger .vote-panel.revealing .vote-option.winner::after {
  content: 'WIN';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%) rotate(-14deg);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: var(--vs-accent);
  border: 2px solid var(--vs-accent);
  padding: 2px 7px;
  animation: ledgerStamp 0.45s cubic-bezier(0.22, 1.4, 0.36, 1) both;
  pointer-events: none;
}

@keyframes ledgerStamp {
  0% { opacity: 0; transform: translateY(-50%) rotate(-14deg) scale(1.6); }
  100% { opacity: 1; transform: translateY(-50%) rotate(-14deg) scale(1); }
}
