.poll { display: grid; gap: 12px; margin: 22px 0; }
.poll-opt { position: relative; overflow: hidden; display: flex; align-items: center; gap: 14px; width: 100%; min-height: 64px; padding: 14px 18px; border-radius: 18px; border: 2px solid var(--line); background: var(--surface-2); color: var(--text); font: inherit; text-align: left; cursor: pointer; transition: transform .12s ease, border-color .12s ease; }
.poll-opt:hover:not(:disabled) { border-color: var(--accent); transform: translateY(-1px); }
.poll-opt:active:not(:disabled) { transform: scale(.98); }
.poll-opt:disabled { cursor: default; }
.poll-emoji { font-size: 1.8rem; line-height: 1; position: relative; }
.poll-text { flex: 1; position: relative; }
.poll-text strong { display: block; font-size: 1.1rem; }
.poll-text small { color: var(--muted); font-size: .9rem; }
.poll-pct { position: relative; font-weight: 800; font-size: 1.1rem; display: none; }
.poll-bar { position: absolute; inset: 0 auto 0 0; width: 0; background: var(--accent); opacity: .22; transition: width .6s ease; }
.voted .poll-pct { display: block; }
.poll-opt.mine { border-color: var(--accent); }
.poll-status { min-height: 1.4em; color: var(--muted); font-size: .95rem; }
.poll-thanks { display: none; text-align: center; padding: 20px 0 4px; }
.voted ~ .poll-thanks, .poll-thanks.show { display: block; }
.poll-thanks .btn-coffee { font-size: 1.15rem; padding: 14px 26px; }
.poll-coffee-small { margin-top: 26px; font-size: .95rem; color: var(--muted); text-align: center; }
