.rhk-poll{border:1px solid #d4d4d4;border-radius:8px;padding:16px;margin:16px 0;background:#fafafa}
.rhk-poll-title{font-size:15px;font-weight:700;margin:0 0 4px}
.rhk-poll-question{font-size:14px;margin:0 0 12px;color:#333}
.rhk-poll-meta{font-size:12px;color:#888;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px}
.rhk-poll-meta .poll-closed{color:#c00;font-weight:600}
.rhk-poll-meta .poll-deadline{color:#666}
.rhk-poll-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rhk-poll-option{position:relative;min-height:44px;display:flex;align-items:center;border:1px solid #ccc;border-radius:6px;cursor:pointer;padding:0;overflow:hidden;transition:border-color .15s}
.rhk-poll-option:hover{border-color:#888}
.rhk-poll-option.is-selected{border-color:var(--accent,#b25e44);background:#faf0eb}
.rhk-poll-option.is-result{cursor:default}
.rhk-poll-option.is-result:hover{border-color:#ccc}
.rhk-poll-option input[type=checkbox],.rhk-poll-option input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.rhk-poll-option input:focus-visible+label{outline:2px solid var(--accent,#b25e44);outline-offset:-2px;border-radius:5px}
.rhk-poll-option label{display:flex;align-items:center;width:100%;min-height:44px;padding:8px 12px;cursor:inherit;gap:8px;font-size:14px;z-index:1}
.rhk-poll-option .poll-check{width:18px;height:18px;border:2px solid #aaa;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}
.rhk-poll-option.is-multiple .poll-check{border-radius:3px}
.rhk-poll-option.is-selected .poll-check{border-color:var(--accent,#b25e44);background:var(--accent,#b25e44)}
.rhk-poll-option.is-selected .poll-check::after{content:'';display:block;width:8px;height:8px;background:#fff;border-radius:50%}
.rhk-poll-option.is-multiple.is-selected .poll-check::after{border-radius:1px;width:10px;height:6px;background:none;border-bottom:2px solid #fff;border-left:2px solid #fff;transform:rotate(-45deg);margin-top:-2px}
.rhk-poll-bar{position:absolute;left:0;top:0;bottom:0;background:#f1e1da;border-radius:5px;transition:width .3s ease}
.rhk-poll-option.is-mine .rhk-poll-bar{background:#e8cbbb}
.rhk-poll-result-label{display:flex;align-items:center;width:100%;min-height:44px;padding:8px 12px;gap:8px;font-size:14px;z-index:1;position:relative}
.rhk-poll-result-label .poll-text{flex:1}
.rhk-poll-result-label .poll-pct{font-weight:600;font-size:13px;color:#333;min-width:40px;text-align:right}
.rhk-poll-result-label .poll-count{font-size:12px;color:#888;min-width:24px;text-align:right}
.rhk-poll-result-label .poll-mine-mark{color:var(--accent,#b25e44);font-size:12px;margin-left:2px}
.rhk-poll-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;align-items:center}
.rhk-poll-actions button{min-height:44px;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;border:1px solid #ccc;background:#fff;transition:background .15s}
.rhk-poll-actions button:focus-visible{outline:2px solid var(--accent,#b25e44);outline-offset:2px}
.rhk-poll-actions button:hover:not(:disabled){background:#f0f0f0}
.rhk-poll-actions button:disabled{opacity:.5;cursor:not-allowed}
.rhk-poll-actions .poll-vote-btn{background:var(--accent,#b25e44);color:#fff;border-color:var(--accent,#b25e44);font-weight:600}
.rhk-poll-actions .poll-vote-btn:hover:not(:disabled){background:#9e4e37}
.rhk-poll-error{color:#c00;font-size:13px;margin-top:8px}
.rhk-poll-status{font-size:12px;color:#888;margin-top:8px}
.rhk-poll-note{font-size:12px;color:#888;margin:8px 0 0;font-style:italic}
.rhk-poll-session-note{font-size:12px;color:#627079;margin:8px 0 0}
.rhk-poll-lock-note{font-size:12px;color:#c00;margin:8px 0 0;font-style:italic}
@media(max-width:640px){.rhk-poll{padding:12px}}

.rhk-poll-question,.rhk-poll-title,.rhk-poll-option .poll-text{overflow-wrap:anywhere;min-width:0}.rhk-poll-option label{margin:0}.rhk-poll-session-note,.rhk-poll-note{color:#627079}
