body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.App-header{background-color:#2c3e50;box-shadow:0 2px 4px #0000001a;color:#fff;padding:1rem 2rem}.App-header h1{font-size:2rem;margin:0 0 .5rem}.App-header p{margin:0 0 1rem;opacity:.9}.connection-status{display:flex;font-size:.9rem;gap:.5rem}.status-indicator{border-radius:50%;display:inline-block;height:12px;width:12px}.status-text{font-weight:500}.App-main{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.loading{padding:4rem 2rem;text-align:center}.loading h2{color:#2c3e50;margin-bottom:1rem}.loading p{color:#7f8c8d}.app-content{margin:0 auto;max-width:800px}.identity-info{background-color:#ecf0f1;border-radius:8px;margin-bottom:2rem;padding:1rem;text-align:center}.identity-info code{background-color:#34495e;border-radius:4px;color:#fff;font-family:Courier New,monospace;padding:.2rem .5rem}.placeholder-content{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:3rem 2rem;text-align:center}.placeholder-content h3{color:#2c3e50;margin-bottom:1rem}.placeholder-content p{color:#7f8c8d;margin-bottom:1rem}.connection-error{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:3rem 2rem;text-align:center}.connection-error h3{color:#e74c3c;margin-bottom:1rem}.error-details{background-color:#ffeaa7;border-radius:8px;margin-top:1.5rem;padding:1rem}.retry-button{background-color:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .3s}.retry-button:hover{background-color:#2980b9}.App-footer{background-color:#34495e;color:#fff;margin-top:auto;padding:1rem;text-align:center}.App-footer p{margin:0;opacity:.8}.poll-creation{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.poll-creation h2{color:#2c3e50;margin-top:0}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:2px solid #ecf0f1;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#3498db;outline:none}.form-group small{color:#7f8c8d;display:block;font-size:.875rem;margin-top:.25rem}.option-input{display:flex;gap:.5rem;margin-bottom:.5rem}.option-input input{flex:1 1}.btn-remove{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.5rem;height:36px;line-height:1;transition:background-color .3s;width:36px}.btn-remove:hover:not(:disabled){background:#c0392b}.btn-add-option{background:#ecf0f1;border:none;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.9rem;margin-top:.5rem;padding:.5rem 1rem;transition:background-color .3s}.btn-add-option:hover:not(:disabled){background:#bdc3c7}.btn-primary{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem;transition:background-color .3s;width:100%}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed}.alert{border-radius:6px;margin-bottom:1rem;padding:1rem}.alert-error{background:#ffeaa7;border:1px solid #fdcb6e;color:#d63031}.alert-success{background:#d5f4e6;border:1px solid #00b894;color:#00b894}.poll-list{margin-top:2rem}.poll-list h2{color:#2c3e50;margin-bottom:1.5rem}.polls-container{display:flex;flex-direction:column;gap:1.5rem}.empty-state,.error-state,.loading-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:3rem 2rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #ecf0f1;border-radius:50%;border-top-color:#3498db;height:50px;margin:0 auto 1rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{color:#e74c3c;margin-bottom:1rem}.btn-retry{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .3s}.btn-retry:hover{background:#2980b9}.poll-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:box-shadow .3s}.poll-card:hover{box-shadow:0 4px 12px #00000026}.poll-header{border-bottom:2px solid #ecf0f1;margin-bottom:1.5rem;padding-bottom:1rem}.poll-question{color:#2c3e50;font-size:1.25rem;margin:0 0 .75rem}.poll-meta{align-items:center;color:#7f8c8d;display:flex;font-size:.875rem;justify-content:space-between}.poll-creator{font-weight:500}.poll-options{display:flex;flex-direction:column;gap:.75rem}.poll-option{background:#f8f9fa;border:2px solid #ecf0f1;border-radius:8px;padding:1rem;transition:all .3s}.poll-option.clickable{cursor:pointer}.poll-option.clickable:hover{background:#ecf8ff;border-color:#3498db}.poll-option.user-voted{background:#d5f4e6;border-color:#00b894}.option-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.option-text{color:#2c3e50;font-weight:500}.option-stats{color:#7f8c8d;font-size:.875rem}.vote-bar-container{background:#ecf0f1;border-radius:3px;height:6px;margin-top:.5rem;overflow:hidden}.vote-bar{background:linear-gradient(90deg,#3498db,#2980b9);height:100%;transition:width .5s ease}.user-vote-indicator{color:#00b894;display:inline-block;font-size:.875rem;font-weight:500;margin-top:.5rem}.poll-footer{border-top:1px solid #ecf0f1;margin-top:1rem;padding-top:1rem;text-align:center}.voted-message{color:#00b894;font-weight:500;margin:0}.total-votes{color:#7f8c8d;font-size:.875rem;margin:0}.protocol-status{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1.5rem}.protocol-status h3{color:#2c3e50;margin-bottom:1rem;margin-top:0}.protocol-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.protocol-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;gap:.75rem;padding:.5rem}.protocol-icon{font-size:1.25rem;text-align:center;width:24px}.protocol-name{color:#2c3e50;font-weight:500;min-width:120px}.protocol-desc{color:#7f8c8d;font-size:.9rem}.protocol-note{background:#ecf8ff;border-left:4px solid #3498db;border-radius:4px;padding:1rem}.protocol-note p{color:#2c3e50;font-size:.9rem;margin:0}.connection-status{align-items:center;border-radius:20px;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.status-icon{font-size:12px;line-height:1}.status-connected{background-color:#4caf501a;border:1px solid #4caf504d;color:#2d7a2d}.status-connected .status-icon{animation:pulse-slow 3s infinite}.status-connecting{background-color:#ffc1071a;border:1px solid #ffc1074d;color:#856404}.status-connecting .status-icon{animation:pulse-fast 1s infinite}.status-disconnected{background-color:#f443361a;border:1px solid #f443364d;color:#721c24}.status-disconnected .status-icon{animation:none}.status-text{font-weight:600;margin-right:4px}.peer-count{font-size:12px;font-weight:400;opacity:.8}@keyframes pulse-slow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}@keyframes pulse-fast{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.connection-status:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}@media (prefers-color-scheme:dark){.status-connected{background-color:#4caf5033;border-color:#4caf5080;color:#4caf50}.status-connecting{background-color:#ffc10733;border-color:#ffc10780;color:#ffc107}.status-disconnected{background-color:#f4433633;border-color:#f4433680;color:#f44336}.connection-status:hover{box-shadow:0 2px 8px #ffffff1a}}@media (max-width:480px){.connection-status{font-size:12px;padding:6px 12px}.status-icon{font-size:10px}.peer-count{display:none}}
/*# sourceMappingURL=main.54fd77dc.css.map*/