.poll-meta { color: var(--mut); font-size: 0.72rem; margin-bottom: 20px; }
.poll-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }

.poll-opt { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px;
    width: 100%; text-align: left; font-family: var(--body); font-size: 1rem; color: var(--cream);
    background: var(--bg-2); border: var(--bd); border-radius: 12px 9px 13px 10px;
    padding: 13px 16px; overflow: hidden; cursor: pointer; transition: border-color 0.15s var(--ease); }
.poll-opt:hover:not(:disabled) { border-color: var(--sienna); }
.poll-opt:disabled { cursor: default; }
/* 득표율만큼 왼쪽부터 차오르는 막대 */
.poll-opt .fill { position: absolute; inset: 0 auto 0 0; width: 0; background: rgba(194, 118, 79, 0.28);
    transition: width 0.5s var(--ease); }
.poll-opt .label, .poll-opt .pct { position: relative; }
.poll-opt .label { font-weight: 600; word-break: keep-all; }
.poll-opt .pct { font-family: var(--mono); font-size: 0.82rem; font-weight: 700; color: var(--cream-2); white-space: nowrap; }
.poll-opt.mine { border-color: var(--sienna); }
.poll-opt.mine .fill { background: rgba(194, 118, 79, 0.55); }
.poll-opt.mine .label::after { content: ' ✓'; color: var(--sienna); }

.poll-note { color: var(--mut); font-size: 0.82rem; margin-bottom: 14px; }
.form-error { background: rgba(194, 118, 79, 0.18); border: 2px solid var(--sienna); color: var(--cream);
    border-radius: 10px; padding: 10px 14px; margin-bottom: 14px; font-size: 0.88rem; }
.report-link { text-decoration: none; }
