.poll-composer { padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.poll-composer[hidden] { display:none; }
.poll-composer fieldset, .poll-card fieldset { border:0; padding:0; margin:16px 0; min-width:0; }
.poll-composer legend { font-weight:700; margin-bottom:10px; }
.poll-composer>small { display:block; text-align:right; color:var(--muted); }
.poll-answer-editor { display:flex; gap:8px; margin-bottom:10px; }
.poll-answer-editor input { margin:0; min-width:0; }
.poll-answer-editor .poll-answer-emoji { flex:0 0 56px; width:56px; padding:8px; text-align:center; }
.poll-answer-editor button { flex:0 0 36px; border:0; background:transparent; color:var(--muted); font-size:24px; }
.poll-settings { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:20px; }
.poll-settings>label { flex:1 1 220px; }
.poll-settings .poll-multiple { display:flex; gap:10px; align-items:center; }
.poll-multiple input { width:18px; height:18px; margin:0; flex:none; }
.poll-card { border:1px solid var(--line); border-radius:14px; padding:clamp(16px,3vw,24px); background:var(--surface-soft); margin-block:16px; }
.poll-card h3 { margin:8px 0 16px; font-family:inherit; font-size:1.1rem; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.poll-card form { margin:0; }
.poll-card .poll-option { position:relative; display:flex; align-items:center; gap:12px; overflow:hidden; margin:8px 0; padding:13px; border:1px solid var(--line); border-radius:9px; background:var(--surface); cursor:pointer; }
.poll-option input { flex:0 0 18px; width:18px; height:18px; margin:0; }
.poll-option span { flex:1; overflow-wrap:anywhere; }
.poll-card .poll-option { font-size:.9rem; font-weight:500; line-height:1.5; }
.poll-option>strong, .poll-results strong { font-size:inherit; font-weight:600; }
.poll-option>input,.poll-option>span,.poll-option>strong { position:relative; z-index:1; }
.poll-option.is-selected { border-color:var(--green); }
.poll-option progress { position:absolute; inset:0; width:100%; height:100%; border:0; appearance:none; opacity:.3; background:transparent; }
.poll-option progress::-webkit-progress-bar { background:transparent; }
.poll-option progress::-webkit-progress-value { background:var(--green); }
.poll-option progress::-moz-progress-bar { background:var(--green); }
.poll-meta,.poll-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:14px; }
.poll-meta { color:var(--muted); font-size:.8rem; }
.poll-results { margin-top:16px; font-size:.85rem; }
.poll-results summary { cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.poll-results>div { display:flex; gap:10px; justify-content:space-between; flex-wrap:wrap; padding-block:10px; border-bottom:1px solid var(--line); }
.poll-results a,.poll-close { text-decoration:underline; text-underline-offset:3px; }
.poll-close { margin-top:16px; }
.poll-status:not([hidden]) { padding:12px; background:var(--sage); border-radius:8px; color:var(--green); }
.poll-delete { margin-top:14px; font-size:.8rem; color:var(--muted); }
.poll-delete summary { cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.poll-heading-meta { display:flex; flex-wrap:wrap; gap:4px 12px; color:var(--muted); font-size:.75rem; font-weight:500; line-height:1.5; }
