[hidden] { display: none !important; }
.poll-slide .poll-heading { margin-top: 52px; max-width: 1530px; font-size: 68px; line-height: 1.12; }
.poll-mode { display: flex; gap: 8px; margin-top: 24px; }
.poll-mode label { display: flex; align-items: center; gap: 10px; padding: 10px 18px; border: 1px solid var(--line); font-size: 22px; cursor: pointer; }
.poll-mode label:has(:checked) { border-color: var(--copper); background: #f4f4f4; }
.poll-mode input { accent-color: var(--copper); width: 18px; height: 18px; }
.poll-mode svg { width: 24px; height: 24px; }
.poll-question-view { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 60px; align-items: center; margin-top: 22px; }
.poll-instruction { font-size: 26px; color: var(--muted); margin-bottom: 22px; }
.stage-options { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.stage-option { display: flex; align-items: baseline; gap: 18px; border-top: 2px solid var(--line); padding: 18px 0; min-height: 92px; font-size: 26px; line-height: 1.25; }
.stage-option span { color: var(--copper); font-size: 21px; min-width: 28px; }
.poll-qr { text-align: center; }
.poll-qr img { display: block; width: 370px; height: 370px; margin: auto; }
.poll-qr a { display: block; margin-top: 10px; color: var(--ink); font-size: 22px; overflow-wrap: anywhere; }
.poll-qr p { margin: 12px 0 0; font-size: 19px; color: #8a4826; }
.poll-results-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 50px; margin-top: 26px; height: 470px; }
.poll-results-layout.circular { grid-template-columns: 650px minmax(0, 1fr); }
.poll-chart { position: relative; min-width: 0; height: 470px; }
.poll-legend { display: grid; align-content: center; gap: 12px; min-width: 0; }
.legend-row { display: grid; grid-template-columns: 18px minmax(0, 1fr) 85px; gap: 18px; align-items: center; min-height: 56px; font-size: 23px; }
.legend-row .swatch { width: 18px; height: 18px; }
.legend-row .label { overflow-wrap: anywhere; line-height: 1.2; }
.legend-row strong { text-align: right; }
#result-status { margin: 14px 0 0; color: var(--muted); font-size: 21px; }
.controls a { display: grid; place-items: center; width: 42px; height: 42px; color: white; border: 1px solid #777; }
.controls button { display: grid; place-items: center; }
.controls svg { width: 23px; height: 23px; }
.controls button:disabled { opacity: .4; cursor: default; }
.controls [data-connection] { font-size: 13px; }
.controls:focus-within, .controls:hover { opacity: 1; }
:fullscreen .controls { opacity: 0; transition: opacity .2s; }
:fullscreen .controls:hover, :fullscreen .controls:focus-within { opacity: 1; }
.live-error { position: fixed; top: 8px; left: 8px; z-index: 20; padding: 12px; background: white; color: #9b2525; }
@media (max-width: 600px) { .controls { right: 8px; bottom: 8px; gap: 6px; } .controls [data-connection] { display: none; } }
@media print { .live-error { display: none; } }