*{box-sizing:border-box;margin:0;padding:0}.flex{display:flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.poll-container{max-width:600px;margin:0 auto;padding:20px}.poll-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.poll-interface,.poll-results-section{padding:24px}.success-section{text-align:center;margin-bottom:32px}.success-icon{width:64px;height:64px;background:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#fff}.success-icon svg{width:32px;height:32px}.success-title{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 8px}.success-message{font-size:16px;color:#6b7280;margin:0}.results-header-compact{margin-bottom:.5rem}.thank-you-inline{display:inline-block;font-size:.75rem;font-weight:600;color:#10b981;background-color:#d1fae5;padding:.125rem .375rem;border-radius:.25rem;margin-bottom:.25rem}.results-question{font-size:.9375rem;font-weight:600;color:#1f2937;margin:.25rem 0 0;line-height:1.3}.security-warning{display:flex;align-items:center;gap:12px;background:#fef3c7;border:1px solid #f59e0b;color:#92400e;padding:12px 16px;margin-bottom:0}.warning-icon{font-size:20px;flex-shrink:0}.warning-text{flex:1;font-size:14px;line-height:1.4}.warning-close{background:none;border:none;color:#92400e;cursor:pointer;font-size:18px;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.warning-close:hover{background:#92400e1a}.security-info{display:flex;align-items:center;gap:12px;background:#e0f2fe;border:1px solid #0891b2;color:#0e7490;padding:12px 16px;font-size:14px}.info-icon{font-size:18px;flex-shrink:0}.info-text{flex:1}.poll-question{margin-bottom:1.5rem}.poll-question-title{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.25rem;line-height:1.3}.poll-question-description{color:#6b7280;font-size:.875rem;line-height:1.4}.poll-options{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.75rem}.poll-option{position:relative;display:flex;align-items:center;padding:.5rem .625rem;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;transition:all .15s ease;background-color:#fff;gap:.5rem}.poll-option:hover:not(.disabled){border-color:#93c5fd;background-color:#eff6ff;box-shadow:0 1px 2px #0000000d}.poll-option.selected{border-color:#3b82f6;background-color:#eff6ff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.poll-option.disabled{border-color:#e5e7eb;background-color:#f9fafb;cursor:not-allowed;opacity:.6}.radio-button{width:1rem;height:1rem;border:2px solid #9ca3af;border-radius:50%;margin-right:.375rem;transition:all .15s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:#fff}.radio-button.selected{border-color:#3b82f6;background-color:#3b82f6}.radio-button.disabled{border-color:#d1d5db;background-color:#f3f4f6}.radio-dot{width:.375rem;height:.375rem;background-color:#fff;border-radius:50%}.poll-option-text{flex:1;display:flex;align-items:center}.poll-option-text span{font-size:.875rem;font-weight:500;color:#1f2937;line-height:1.3}.poll-option-indicator{margin-left:.25rem;color:#3b82f6;width:1rem;height:1rem;flex-shrink:0}.poll-option-indicator svg{width:100%;height:100%}.poll-results{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.results-header{text-align:center}.results-title{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.results-total{color:#6b7280;font-size:.8125rem}.results-total-number{font-weight:600}.results-list{display:flex;flex-direction:column;gap:.5rem}.result-item{position:relative}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.result-label{display:flex;align-items:center;gap:.5rem}.result-option-text{font-weight:500;color:#1f2937;font-size:.875rem}.result-stats{text-align:right}.result-percentage{font-weight:600;font-size:.875rem;color:#1f2937}.result-votes{font-size:.75rem;color:#6b7280}.result-bar-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.75rem}.pie-chart-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:.5rem 0}.pie-chart-svg{width:160px;height:160px;transform:rotate(0)}.pie-segment{transition:opacity .2s ease,transform .2s ease;transform-origin:center}.pie-segment:hover{opacity:.85}.pie-segment.user-choice{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.donut-center-text{font-size:.5rem;fill:#6b7280}.donut-total-label{font-size:.4rem;fill:#9ca3af}.donut-total-value{font-size:.6rem;font-weight:600;fill:#1f2937}.pie-chart-legend{display:flex;flex-direction:column;gap:.375rem;width:100%}.legend-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:.375rem;transition:background-color .15s ease}.legend-item:hover{background-color:#f3f4f6}.legend-item.user-choice{background-color:#eff6ff;border:1px solid #bfdbfe}.legend-color{width:.75rem;height:.75rem;border-radius:.25rem;flex-shrink:0}.legend-text{flex:1;font-size:.8125rem;color:#374151;font-weight:500}.legend-percentage{font-size:.8125rem;font-weight:600;color:#1f2937}.poll-submit-section{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.submit-button{width:100%;padding:.5rem 1rem;border-radius:.375rem;font-weight:600;font-size:.875rem;transition:all .15s ease;border:none;outline:2px solid transparent;outline-offset:2px}.submit-button:focus{box-shadow:0 0 0 4px #3b82f626}.submit-button-content{display:flex;align-items:center;justify-content:center;gap:.5rem}.submit-button-icon{width:1rem;height:1rem;flex-shrink:0}.submit-button-icon svg{width:100%;height:100%}.submit-progress,.alert-content{width:100%}.alert-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.alert-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.alert-icon svg{width:100%;height:100%}.alert-title{font-weight:500}.alert-message{font-size:.875rem;margin-bottom:.5rem}.alert-action{text-decoration:underline;background:none;border:none;color:inherit;cursor:pointer;font-size:.875rem;padding:0;transition:opacity .2s ease}.alert-action:hover{opacity:.8}.alert-action:focus{outline:2px solid currentColor;outline-offset:2px}.error-boundary{text-align:center}.error-boundary-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;background-color:#fef2f2;border-radius:50%;margin-bottom:1rem;color:#ef4444}.error-boundary-icon svg{width:2rem;height:2rem}.error-boundary-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.error-boundary-message{color:#6b7280;margin-bottom:1.5rem;line-height:1.5}.error-boundary-actions{display:flex;flex-direction:column;gap:.75rem}.error-boundary-secondary-button{padding:.5rem 1.5rem;color:#6b7280;border:1px solid #d1d5db;border-radius:.5rem;background-color:#fff;cursor:pointer;transition:all .2s ease;font-size:.875rem}.error-boundary-secondary-button:hover{background-color:#f9fafb;border-color:#9ca3af}.error-boundary-secondary-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.error-boundary-details{margin-top:1.5rem;text-align:left}.error-boundary-details-summary{cursor:pointer;font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.error-boundary-details-summary:hover{color:#374151}.error-boundary-details-content{font-size:.75rem;color:#dc2626;background-color:#fef2f2;padding:.75rem;border-radius:.5rem;overflow:auto;white-space:pre-wrap;font-family:Courier New,monospace;border:1px solid #fecaca}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem}.loading-container.inline{display:inline-flex;flex-direction:row;padding:0}.loading-spinner{border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.small{width:1rem;height:1rem}.loading-spinner.medium{width:2rem;height:2rem}.loading-text{font-size:.875rem;color:#6b7280}.progress-section{width:100%}.progress-header{display:flex;justify-content:space-between;font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.submit-button.enabled{background-color:#2563eb;color:#fff}.submit-button.enabled:hover{background-color:#1d4ed8}.submit-button.enabled:active{background-color:#1e40af}.submit-button.disabled{background-color:#d1d5db;color:#6b7280;cursor:not-allowed}.submit-button.success{background-color:#10b981;color:#fff;cursor:default}.progress-bar{width:100%;background-color:#e5e7eb;border-radius:9999px;height:.5rem;overflow:hidden}.progress-fill{height:100%;background-color:#3b82f6;border-radius:9999px;transition:width .3s ease-out}.alert{padding:.625rem;border-radius:.375rem;border:1px solid}.alert.error{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.alert.success{background-color:#ecfdf5;border-color:#bbf7d0;color:#047857}.error-text{color:#dc2626;font-size:.875rem;text-align:center;margin:0}.result-bar{position:relative;height:1.25rem;border-radius:.25rem;overflow:hidden}.result-bar.user-choice{background-color:#dbeafe}.result-bar.other-choice{background-color:#f3f4f6}.result-fill{height:100%;border-radius:.25rem;transition:width .6s ease-out}.result-fill.user-choice{background-color:#3b82f6}.result-fill.other-choice{background-color:#0891b2}.badge{padding:.125rem .375rem;border-radius:9999px;font-size:.6875rem;font-weight:600}.badge.primary{background-color:#dbeafe;color:#1d4ed8}@media (max-width: 640px){.poll-container{padding:.5rem}.poll-card{padding:.75rem}.success-icon{width:2rem;height:2rem;margin-bottom:.375rem}.success-icon svg{width:1rem;height:1rem}.success-title{font-size:1rem}.success-message{font-size:.8125rem}.debug-section{margin-top:1rem;padding:.5rem}.poll-question-title{font-size:.9375rem}.poll-question-description{font-size:.8125rem}.results-title{font-size:.9375rem}.result-header{flex-direction:row;align-items:center;gap:.25rem}.result-stats{text-align:right}.submit-button{font-size:.875rem;padding:.5rem .75rem}.error-boundary-icon{width:2rem;height:2rem}.error-boundary-icon svg{width:1rem;height:1rem}.error-boundary-title{font-size:1rem}.error-boundary-message{font-size:.8125rem}.loading-container{padding:.5rem}.poll-option{padding:.375rem .5rem}.poll-option-text span,.result-option-text,.result-percentage{font-size:.8125rem}.result-bar{height:1rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.poll-option:focus{outline:2px solid #3b82f6;outline-offset:2px}
