.poll-shell{padding:4.5rem 0;background:#0b2f57;color:#f8f2e7}.poll-shell .section-kicker{color:#c9d8e5}.poll-shell .section-title{color:#fffdf8}.poll-intro{margin-top:1rem;max-width:38rem;color:#d7e1e9;line-height:1.75}.poll-card{padding:1.6rem;border:1px solid rgba(255,255,255,.18);border-radius:1.4rem;background:rgba(255,253,248,.08);box-shadow:0 20px 55px rgba(0,0,0,.14);backdrop-filter:blur(8px)}.poll-status{margin:0 0 1rem;color:#f8f2e7;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.poll-options{display:grid;gap:.75rem;margin-bottom:1rem}.poll-options button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 6.5rem;gap:1rem;align-items:center;width:100%;min-height:3.6rem;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.26);border-radius:.9rem;background:#fffdf8;color:#17212b;text-align:left;cursor:pointer;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.poll-options button:hover,.poll-options button:focus-visible{transform:translateY(-1px);border-color:#b9d0df;box-shadow:0 10px 22px rgba(0,0,0,.12);outline:none}.poll-options button:disabled{cursor:default}.poll-options button.is-selected{border-color:#8faec1;box-shadow:0 0 0 3px rgba(143,174,193,.2)}.poll-option-label{position:relative;z-index:2;font-weight:700}.poll-result{position:relative;z-index:2;height:1.7rem;border-radius:999px;background:#e6edf1;overflow:hidden}.poll-result-bar{position:absolute;inset:0 auto 0 0;width:0;background:#9fb9c9;transition:width .45s ease}.poll-result strong{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;height:100%;font-size:.78rem;color:#08264a}.poll-feedback{min-height:1.5rem;margin:.4rem 0 1rem;color:#d7e1e9;font-size:.9rem}.poll-card .button{margin-top:.3rem}.poll-card:not(.has-results) .poll-result{display:none}.poll-card:not(.has-results) .poll-options button{grid-template-columns:1fr}.poll-card.has-results .poll-result{display:block}.poll-card.has-voted .poll-options button:not(.is-selected){opacity:.88}@media(max-width:640px){.poll-shell{padding:3.5rem 0}.poll-card{padding:1.2rem}.poll-options button{grid-template-columns:minmax(0,1fr) 5.2rem;gap:.65rem;padding:.8rem}.poll-option-label{font-size:.95rem}}
