.vota { min-width: 0; max-width: 100%; color: var(--store-text); font-family: var(--store-font); }
.vota__question { margin: 0 0 16px; font-weight: var(--store-font-weight-strong); font-size: 1.2rem; line-height: 1.35; font-family: var(--store-title-font); text-align: var(--content-align); overflow-wrap: anywhere; }
.vota__options { display: grid; gap: 10px; }
.vota__option { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) 3.5ch; align-items: center; gap: 10px; width: 100%; min-height: 58px; margin: 0; padding: 15px 18px; overflow: hidden; border: max(1px, var(--link-border-width)) solid var(--link-border-color); border-radius: var(--link-radius); background: var(--link-bg); color: var(--link-text); font: inherit; font-size: .94rem; line-height: 1.45; text-align: left; box-shadow: var(--link-shadow); cursor: pointer; transition: transform 120ms ease, box-shadow 180ms ease; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.vota__option:disabled { cursor: default; opacity: 1; color: var(--link-text); }
.vota__option:focus-visible { outline: 3px solid var(--store-text); outline-offset: 4px; }
.vota__option:active:not(:disabled), .vota__option.is-pending { transform: scale(.985); }
.vota__option.is-pending, .vota__option.is-selected { box-shadow: inset 0 0 0 1px currentColor, var(--link-shadow); }
.vota__label { position: relative; display: flex; align-items: baseline; gap: 8px; min-width: 0; overflow-wrap: anywhere; }
.vota__check { display: inline-block; flex: 0 0 1em; }
.vota__number { position: relative; font-size: .85rem; text-align: right; font-variant-numeric: tabular-nums; }
.vota__bar { position: absolute; z-index: -1; inset: 0 auto 0 0; background: color-mix(in srgb, var(--link-text) 13%, transparent); transition: width 420ms cubic-bezier(.22, .61, .36, 1); pointer-events: none; }
.vota__option.is-selected .vota__bar { background: color-mix(in srgb, var(--link-text) 20%, transparent); }
.vota__status { min-height: 1.5em; margin: 12px 0 0; color: var(--store-muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.vota__error { margin: 6px 0 0; font-size: .85rem; color: var(--store-text); }
.vota__error:empty { display: none; }
.vota__outcome { margin: 0 0 14px; font-weight: var(--store-font-weight-strong); overflow-wrap: anywhere; }
.vota__outcome[hidden] { display: none; }
.vota__count { grid-column: 1 / -1; position: relative; font-size: .75rem; opacity: .8; }
.poll-editor { max-width: 640px; margin-inline: auto; }
.poll-editor form { display: grid; gap: 28px; }
.poll-editor__field { display: grid; gap: 10px; }
.poll-editor label, .poll-editor legend { font-weight: 600; }
.poll-editor input[type=text], .poll-editor input[type=datetime-local], .poll-editor textarea, .poll-editor select, .poll-editor__share input { width: 100%; min-height: 48px; min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--surface); font: inherit; }
.poll-editor textarea { resize: vertical; }
.poll-editor fieldset { min-width: 0; border: 0; margin: 0; padding: 0; }
.poll-editor legend { margin-bottom: 12px; }
.poll-editor__options { display: grid; gap: 10px; }
.poll-editor__option { display: flex; align-items: center; gap: 6px; }
.poll-editor__option label { flex: 1; min-width: 0; }
.poll-editor__controls { display: flex; }
.poll-editor__controls button { min-width: 40px; min-height: 44px; border: 0; border-radius: 10px; background: transparent; color: var(--ink); font: inherit; cursor: pointer; }
.poll-editor__controls button:disabled { opacity: .25; cursor: default; }
.poll-editor input[readonly] { color: var(--muted); }
.poll-editor__add { margin-top: 12px; padding: 8px 0; }
.poll-editor__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.poll-editor__hint { color: var(--muted); font-size: .85rem; font-weight: 400; margin: 0 0 12px; }
.poll-editor__error { color: var(--danger); font-size: .9rem; }
.poll-editor__share, .poll-editor__results { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--line); }
.poll-editor__share h2, .poll-editor__results > h2 { font-size: 1.1rem; margin: 0 0 12px; }
.poll-editor__share input { font-size: .85rem; margin-bottom: 14px; }
.poll-editor__share [role=status] { font-size: .85rem; min-height: 1.2em; color: var(--muted); }
.poll-editor__results { --store-text: var(--ink); --store-muted: var(--muted); --store-font: inherit; --store-title-font: inherit; --store-font-weight-strong: 600; --content-align: left; --link-text: var(--ink); --link-bg: var(--surface); --link-border-color: var(--line); --link-border-width: 1px; --link-radius: 12px; --link-shadow: 0 0 0 transparent; }
.block-preview__poll { display: grid; gap: 8px; width: 85%; padding: 12px; color: var(--ink); font-size: .85rem; }
.block-preview__poll span { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.block-preview__poll span:last-child { background: color-mix(in srgb, var(--ink) 10%, var(--surface)); }
@media (prefers-reduced-motion: reduce) { .vota__option, .vota__bar { transition: none; } .vota__option.is-pending, .vota__option:active:not(:disabled) { transform: none; } }
