/* Shared poll components. Poll-specific words/options live in each cue.json. */
.poll-results { margin-top: 20px; }
.result-row { margin-bottom: 20px; }
.result-row > div:first-child { display: flex; justify-content: space-between; gap: 20px; font-size: 17px; }
.result-row strong { white-space: nowrap; font-weight: 500; color: var(--accent); }
.result-track { background: #30393e; height: 5px; margin-top: 10px; }
.result-track i { display: block; height: 100%; background: var(--accent); }
.join-instructions { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; font-size: 16px; }
.join-instructions strong { overflow-wrap: anywhere; }
.join-instructions b { font: 24px Consolas, monospace; color: var(--accent); letter-spacing: 2px; }
.join-instructions span { width: 100%; }
.poll-controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 15px 0; }
.poll-hint { color: var(--muted); font-size: 14px; line-height: 1.6; }
.public-page .poll-results { border: 1px solid var(--line); padding: 32px; }
.public-page .result-row { margin-bottom: 32px; }
.public-page .result-row > div:first-child { font-size: 24px; }
@media (max-height: 850px) { .public-page .result-row > div:first-child { font-size: 20px; } }

/* Free-text answers are aggregated by the server before reaching any client. */
.text-answer-list { display: flex; flex-direction: column; gap: 10px; }
.text-answer { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 13px 16px; border: 1px solid var(--line); background: #181f24; font-size: 18px; }
.text-answer span { overflow-wrap: anywhere; }
.text-answer strong { display: grid; place-items: center; flex: 0 0 auto; min-width: 34px; height: 34px; padding: 0 9px; border-radius: 999px; background: var(--accent); color: #171b18; font: 700 16px Consolas,monospace; }
.poll-invitation { border: 1px solid var(--line); background: #181f24; padding: 38px; }
.poll-invitation strong { display: block; margin: 18px 0; color: var(--accent); font: clamp(24px,2vw,38px) Consolas,monospace; overflow-wrap: anywhere; }
.poll-invitation p { color: var(--muted); font-size: 18px; line-height: 1.5; }
.public-page .free-text-results { max-height: 52vh; overflow: auto; }
.public-page .text-answer { padding: 16px 20px; font-size: 22px; }

/* Projection results and invitations inherit the bright poll stage while
   retaining enough dark contrast to read from the back of a room. */
.public-page .poll-cue .poll-invitation,
.public-page .poll-cue .poll-results,
.public-page .poll-cue .text-answer {
  color:var(--poll-ink);
  border-color:#17201d66;
  background:#fff4d338
}
.public-page .poll-cue .poll-invitation strong,
.public-page .poll-cue .poll-invitation p,
.public-page .poll-cue .result-row strong {
  color:var(--poll-ink)
}
.public-page .poll-cue .result-track { background:#17201d33; }
.public-page .poll-cue .result-track i { background:var(--poll-ink); }
.public-page .poll-cue .text-answer strong { color:var(--accent); background:var(--poll-ink); }
