.polling-page{display:flex;flex-direction:column;height:calc(100vh - 56px);max-width:600px;margin:0 auto;padding:2rem 1.5rem 1rem}.polling-header{flex-shrink:0;text-align:center;margin-bottom:1.5rem}.polling-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:900;letter-spacing:-.03em;color:#3b3a5c;margin-bottom:.25rem}.polling-subtitle{font-size:.9rem;color:#94a3b8}.polling-stage{flex:1 1;display:flex;flex-direction:column;min-height:0}@keyframes pollFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.poll-card{flex:1 1;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;box-shadow:0 2px 12px rgba(0,0,0,.05);margin-bottom:1.25rem;animation:pollFadeIn .2s ease}.poll-question{font-size:1.15rem;font-weight:700;color:#3b3a5c;margin-bottom:1.25rem;line-height:1.4}.poll-options{display:flex;flex-direction:column;gap:.6rem}.poll-option{width:100%;padding:.75rem 1.1rem;background:#f0f4ff;border:1.5px solid #e2e8f0;border-radius:9px;font-size:.95rem;font-weight:600;color:#3b3a5c;text-align:left;cursor:pointer;transition:background .12s,border-color .12s,transform .08s;font-family:inherit}.poll-option:hover:not(:disabled){background:#e8edff;border-color:var(--accent-blue)}.poll-option:active:not(:disabled){transform:scale(.98)}.poll-option--pending{opacity:.7;cursor:default}.poll-option--other{color:#94a3b8;border-style:dashed}.poll-result{position:relative;display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-radius:9px;overflow:hidden;background:#f8fafc;border:1.5px solid #e2e8f0;min-height:44px}.poll-result--chosen{border-color:var(--accent-purple);background:rgba(168,85,247,.04)}.poll-result-bar{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(96,165,250,.18),rgba(168,85,247,.18));border-radius:7px;transition:width .4s ease;z-index:0}.poll-result--chosen .poll-result-bar{background:linear-gradient(90deg,rgba(96,165,250,.28),rgba(168,85,247,.28))}.poll-result-label{position:relative;z-index:1;font-size:.95rem;font-weight:600;color:#3b3a5c;flex:1 1}.poll-result-pct{position:relative;z-index:1;font-size:.9rem;font-weight:700;color:#64748b;min-width:3ch;text-align:right}.poll-result--chosen .poll-result-label,.poll-result--chosen .poll-result-pct{color:var(--accent-purple)}.poll-total{margin-top:1rem;font-size:.8rem;color:#94a3b8;text-align:right}.poll-other-expanded{display:flex;flex-direction:column;gap:.5rem}.poll-other-input{width:100%;padding:.75rem 1rem;border:1.5px solid var(--accent-blue);border-radius:9px;font-size:.95rem;font-family:inherit;color:#3b3a5c;background:#f0f4ff;outline:none}.poll-other-input:focus{border-color:var(--accent-purple);box-shadow:0 0 0 3px rgba(168,85,247,.12)}.poll-other-actions{display:flex;gap:.5rem}.poll-option--submit{flex:1 1;background:var(--gradient);color:#fff;border:none;text-align:center}.poll-option--submit:hover:not(:disabled){opacity:.88}.poll-quote-textarea{resize:none;line-height:1.6}.poll-text-submitted{padding:1.25rem;background:rgba(168,85,247,.05);border:1.5px solid var(--accent-purple);border-radius:9px}.poll-text-submitted-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-purple);margin-bottom:.5rem}.poll-text-submitted-quote{font-size:1rem;color:#3b3a5c;line-height:1.6;font-style:italic}.poll-other-cancel{padding:.75rem 1rem;background:none;border:1.5px solid #e2e8f0;border-radius:9px;font-size:.875rem;font-weight:600;color:#94a3b8;cursor:pointer;font-family:inherit;transition:background .12s}.poll-other-cancel:hover:not(:disabled){background:#f1f5f9}.poll-vote-error{font-size:.8rem;color:#ef4444;text-align:center;margin-bottom:.5rem}.polling-nav{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;gap:1rem}.polling-nav-arrow{font-size:1.1rem;padding:.4rem .75rem;background:none;border:1.5px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-family:inherit;transition:background .12s,color .12s;flex-shrink:0}.polling-nav-arrow:hover:not(:disabled){background:#f1f5f9;color:#3b3a5c}.polling-nav-arrow:disabled{opacity:.3;cursor:default}.polling-dots{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.polling-dot{width:8px;height:8px;border-radius:50%;border:none;background:#e2e8f0;cursor:pointer;padding:0;transition:all .2s}.polling-dot--voted{background:var(--accent-mid);opacity:.5}.polling-dot--active{width:22px;border-radius:4px;background:var(--gradient);opacity:1}.polling-dot--active.polling-dot--voted{opacity:1}