@charset "UTF-8";
/* IMMUNE polls (2.69, design §1.2): the lobby poll card (web/polls.js) and the Activity → Polls rows (web/app.js). The card is a plain
   panel under the announcement bar slot: question, options or results, the status slot and one Vote button; results are a label, a
   thin bar and a whole-number percentage per option. No "Updated" stamp and no eye render here (owner console only). */
.lobby-poll{display:grid;gap:14px;margin:0 0 24px;padding:22px 24px}
.lobby-poll-question{margin:0;font-size:17px;line-height:1.4;overflow-wrap:anywhere}
.lobby-poll-options{display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0}
.lobby-poll-option{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--raised);cursor:pointer;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.lobby-poll-option:hover,.lobby-poll-option:focus-within{border-color:#4a515c}.lobby-poll-option:has(:checked){border-color:var(--gold);background:var(--gold-soft)}
.lobby-poll-option input{accent-color:var(--gold);width:16px;height:16px;flex:none;margin:0}
.lobby-poll form{display:grid;gap:14px}.lobby-poll form>.button{justify-self:start;min-width:120px}
.lobby-poll-voted,.lobby-poll-signin{margin:0}
.poll-results{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.poll-result{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label percent" "bar bar";align-items:center;gap:4px 12px;font-size:13px;line-height:1.4}
.poll-result-label{grid-area:label;min-width:0;overflow-wrap:anywhere}.poll-result.mine .poll-result-label{color:var(--action);font-weight:600}
.poll-result-percent{grid-area:percent;font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600}
.poll-result-bar{grid-area:bar;display:block;height:6px;border-radius:4px;background:var(--raised);overflow:hidden}
.poll-result-bar>span{display:block;height:100%;border-radius:4px;background:var(--gold);transition:width .25s ease}
.poll-result.mine .poll-result-bar>span{background:var(--action)}
.poll-no-votes{margin:0}
/* Activity → Polls (app.js pollRow): the question keeps the row's title style, the results stack under it, then the player's choice,
   the final option and the owner's remark (escaped). */
.poll-question{overflow-wrap:anywhere}.poll-question .status{margin-left:8px}
td .poll-results{margin:8px 0 6px;max-width:420px}
.poll-my-vote,.poll-final{margin:4px 0 0}.poll-remark{margin:6px 0 0}
@media(prefers-reduced-motion:reduce){.poll-result-bar>span{transition:none}}
@media(max-width:700px){.lobby-poll{padding:18px 16px;gap:12px}.lobby-poll-question{font-size:16px}.lobby-poll form>.button{width:100%}}
