/* Monthly poll (home page card and /poll). Yes and No are drawn identically on purpose. */
.poll-card { border-left: 4px solid var(--bronze); gap: 12px; }
.poll-card[hidden] { display: none; }
.poll-body { display: flex; flex-direction: column; gap: 12px; }
.poll-q { font-size: 22px; line-height: 1.3; max-width: 760px; }
h3.poll-q { font-size: 19px; }
.poll-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.poll-btn { min-width: 110px; justify-content: center; font-size: 17px; }
.poll-bars { display: flex; flex-direction: column; gap: 8px; max-width: 560px; }
.poll-bar { display: grid; grid-template-columns: 7.5em 1fr 3.2em; align-items: center; gap: 10px; font-size: 15px; }
.poll-bar-label { font-weight: 600; }
.poll-you { font-size: 12px; font-weight: 500; color: var(--ink-3); }
.poll-track { display: block; height: 14px; background: var(--side-bg); border-radius: 7px; overflow: hidden; }
.poll-fill { display: block; height: 100%; background: #2B3440; border-radius: 7px; }
.poll-pct { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.poll-thanks { font-size: 15px; color: var(--ink-2); }
.poll-err { color: var(--ink); font-weight: 600; }
.poll-foot { max-width: 760px; }
.poll-list { display: flex; flex-direction: column; gap: 16px; }
.poll-past { gap: 10px; }
@media (max-width: 600px) { .poll-q { font-size: 20px; } .poll-bar { grid-template-columns: 6.5em 1fr 3em; } }
.poll-ts:empty { display: none; }
.poll-ts { max-width: 400px; }
