:root{--bg-dark: #2d3748;--bg-light: #4a5568;--bg-lighter: #718096;--color-warn: #ed8936;--color-success: #48bb78;--color-error: #f56565;--color-info: #4299e1;--btn-primary: #4299e1;--btn-primary-hover: #3182ce;--btn-secondary: #63b3ed;--btn-secondary-hover: #4299e1;--btn-success: #48bb78;--btn-success-hover: #38a169;--btn-error: #f56565;--btn-error-hover: #e53e3e;--btn-warn: #ed8936;--btn-warn-hover: #dd6b20}.icon-btn{background:none;border:none;color:#fff;font-size:18px;padding:8px;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;text-decoration:none}.icon-btn:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.icon-btn.bg-dark{background:var(--bg-dark)}.icon-btn.bg-dark:hover{background:#1a202c}.icon-btn.bg-light{background:var(--bg-light)}.icon-btn.bg-light:hover{background:#2d3748}.icon-btn.color-success{background:var(--btn-success)}.icon-btn.color-success:hover{background:var(--btn-success-hover)}.icon-btn.color-warn{background:var(--color-warn)}.icon-btn.color-warn:hover{background:var(--btn-warn-hover)}.icon-btn.btn-secondary{background:var(--btn-secondary)}.icon-btn.btn-secondary:hover{background:var(--btn-secondary-hover)}.icon-btn.btn-danger{background:var(--btn-error)}.icon-btn.btn-danger:hover{background:var(--btn-error-hover)}.icon-btn.color-error{background:var(--btn-error)}.icon-btn.color-error:hover{background:var(--btn-error-hover)}.icon-cluster{display:flex;gap:8px;align-items:center}.icon-cluster.right{justify-content:flex-end}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-dark);background:linear-gradient(to bottom,#2d3748 0%,#4a5568 50%,#718096 100%);background:-moz-linear-gradient(top,#2d3748 0%,#4a5568 50%,#718096 100%);background:-webkit-linear-gradient(top,#2d3748 0%,#4a5568 50%,#718096 100%);filter:progid: DXImageTransform.Microsoft.gradient(startColorstr="#30C5D2",endColorstr="#471069",GradientType=1);color:#fff;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}.nav-bar{background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);padding:1rem 0;margin-bottom:2rem}.nav-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 1rem}.nav-left{display:flex;align-items:center}.nav-logo{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none}.nav-right{display:flex;align-items:center;gap:1rem;flex:1;justify-content:flex-end}.nav-welcome{color:#fff;font-size:.9rem;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.nav-auth-group{display:flex;align-items:center;gap:1rem}.nav-right .nav-auth-group .btn-secondary{padding:.5rem 1rem!important;border-radius:4px!important;font-size:.9rem!important;font-weight:500!important;background:var(--moonstone)!important;border:1px solid var(--moonstone)!important;color:#fff!important;transition:all .2s!important}.nav-right .nav-auth-group .btn-secondary:hover{background:#4fb5c7!important;transform:translateY(-1px)!important}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1)}.nav-desktop .nav-link{margin-right:1em}.nav-link:hover{background:rgba(255,255,255,.2)}.coffee-link{background:linear-gradient(135deg,#ff6b6b,#ffa500);border:1px solid rgba(255,255,255,.3);font-weight:500}.coffee-link:hover{background:linear-gradient(135deg,#ff5252,#ff9800);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.donation-section{text-align:center;margin:1.5rem 0}.donate-btn{background:linear-gradient(135deg,#ff6b6b,#ffa500);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;font-size:1rem;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;margin:.5rem 0}.donate-btn:hover{background:linear-gradient(135deg,#ff5252,#ff9800);transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.donation-note{background:rgba(255,255,255,.1);padding:1rem;border-radius:8px;border-left:4px solid #ffa500;margin-top:1rem;font-size:.9rem}.nav-donate-form{display:inline-block}.nav-donate-btn{background:var(--color-warn);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:4px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.nav-donate-btn:hover{background:#d47304;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.nav-right .nav-signup-btn{background:rgba(48,197,210,.8)!important;border:1px solid rgba(48,197,210,.9)!important;color:#fff!important;padding:.5rem 1rem!important;border-radius:4px!important;font-weight:500!important;font-size:.9rem!important;text-decoration:none!important;transition:all .2s!important}.nav-right .nav-signup-btn:hover{background:rgba(48,197,210,.9)!important;transform:translateY(-1px)!important}.nav-signin-link{color:#fff;text-decoration:underline;font-size:.9rem;padding:.5rem;transition:color .2s;display:flex;align-items:center}.nav-signin-link:hover{color:#fffc}.hamburger{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;gap:4px}.hamburger span{width:25px;height:3px;background:white;border-radius:2px;transition:all .3s ease}.hamburger:hover span{background:rgba(255,255,255,.8)}.nav-mobile-menu{display:none;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.2);padding:1rem;margin-top:10px;flex-direction:column;gap:1rem}.nav-mobile-link{color:#fff;text-decoration:none;padding:.75rem 1rem;border-radius:4px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);transition:background-color .2s;text-align:center}.nav-mobile-link:hover{background:rgba(255,255,255,.2)}.nav-mobile-donate-form{display:flex;justify-content:center}.nav-mobile-donate-btn{background:linear-gradient(135deg,#ff6b6b,#ffa500);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;font-size:1rem;cursor:pointer;transition:all .2s;width:100%}.nav-mobile-donate-btn:hover{background:linear-gradient(135deg,#ff5252,#ff9800);transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.nav-mobile-logout{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1rem;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.nav-mobile-logout:hover{background:rgba(255,255,255,.2)}.polls-container{display:grid;gap:20px}.poll-card{padding:20px;border:1px solid #e1e8ed;border-radius:8px;background:#f8f9fa}.poll-actions-bottom{display:flex;gap:10px;margin-top:15px}.poll-actions-bottom .btn{padding:6px 12px;font-size:14px;text-decoration:none;border-radius:4px;transition:all .2s;flex:1;text-align:center}.desktop-text{display:inline}.mobile-text{display:none}@media (max-width: 675px){.desktop-text{display:none}.mobile-text{display:inline}.container{max-width:none!important;margin:0!important;padding:0!important}.card{margin:0!important;border-radius:0!important;width:100%!important;max-width:none!important}.polls-container{gap:5px;padding:0 5px}.poll-card{margin:0;padding:10px;border-radius:8px;max-width:100%;width:100%;box-sizing:border-box}.card{padding:5px!important}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6{font-size:16px!important}.card p,.card span,.card div:not(.btn):not([class*=btn]),.card label,.card li,.card td,.card th{font-size:16px!important}.mobile-text-button{padding:6px 10px!important;font-size:12px!important;color:#fff!important;background:rgba(48,197,210,.8)!important;border:1px solid rgba(48,197,210,.9)!important}.mobile-text-button.btn-danger{background:var(--bright-pink-crayola)!important;border-color:#e55a66!important}.mobile-text-button:hover{background:rgba(48,197,210,.9)!important}.mobile-text-button.btn-danger:hover{background:#e55a66!important}.poll-actions-bottom{display:flex;flex-direction:column;gap:8px;margin-top:15px}.poll-actions-bottom .btn{padding:8px 12px!important;font-size:14px!important;color:#fff!important;text-align:center;text-decoration:none;border-radius:4px;transition:all .2s}.poll-actions-bottom .btn:hover{transform:translateY(-1px)}.poll-actions-bottom .btn-secondary{background:var(--moonstone)!important;border:1px solid var(--moonstone)!important}.poll-actions-bottom .btn-secondary:hover{background:#4fb5c7!important}.poll-actions-bottom .btn:not(.btn-secondary){background:var(--apple-green)!important;border:1px solid #8fa300!important}.poll-actions-bottom .btn:not(.btn-secondary):hover{background:#8fa300!important}.mobile-text-button{white-space:nowrap;flex-shrink:0}}@media (max-width: 675px){.nav-desktop{display:none}.hamburger,.nav-mobile-menu{display:flex}.nav-right{gap:.5rem;flex:1;justify-content:flex-end}.nav-logo{font-size:1.2rem;flex-shrink:1}.hamburger{padding:.3rem;flex-shrink:0;order:3}.hamburger span{width:20px;height:2px}.nav-welcome{font-size:.75rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;order:2}.nav-signup-btn{padding:5px 10px;font-size:.75rem;white-space:nowrap;flex-shrink:0;order:2}.nav-signin-link{font-size:.75rem;padding:.3rem;white-space:nowrap;flex-shrink:0;order:3}}.header{text-align:center;margin-bottom:40px}.header h1{font-size:2.5rem;color:#fff;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.header p{font-size:1.1rem;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3);margin-bottom:30px}.card{background:rgba(255,255,255,.95);border-radius:12px;box-shadow:0 8px 32px #0003;padding:30px;margin-bottom:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.form-group input,.form-group textarea{width:100%;padding:12px;border:2px solid #e1e8ed;border-radius:8px;font-size:16px;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3498db}.btn{background:var(--btn-primary);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s ease}.btn:hover{background:var(--btn-primary-hover)}.btn:disabled{background:#bdc3c7;cursor:not-allowed}a.btn,a.btn:hover{text-decoration:none}.btn-secondary{background:var(--btn-secondary);color:#fff;border:1px solid var(--btn-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #62c0ce33}.btn-secondary:hover{background:var(--btn-secondary-hover);border-color:var(--btn-secondary-hover);box-shadow:0 4px 12px #62c0ce4d;transform:translateY(-1px)}.btn-success{background:var(--btn-success)}.btn-success:hover{background:var(--btn-success-hover)}.btn-danger{background:var(--btn-error)}.btn-danger:hover{background:var(--btn-error-hover)}.option-item{display:flex;align-items:center;padding:15px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-bottom:10px;cursor:grab;transition:all .3s ease;touch-action:none;-webkit-user-select:none;user-select:none}.option-item:hover{border-color:#3498db;background:#e3f2fd}.option-item.dragging{opacity:.5;transform:rotate(5deg)}.option-item img{width:60px;height:60px;object-fit:cover;border-radius:6px;margin-right:15px;background:transparent!important;cursor:pointer!important;pointer-events:auto;position:relative;z-index:10}.image-container{position:relative;display:inline-block;margin-right:15px}.image-container img{width:60px;height:60px;object-fit:cover;border-radius:6px;background:transparent!important;cursor:pointer!important}.expand-icon{position:absolute;bottom:4px;right:4px;background:rgba(0,0,0,.7);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;opacity:0;transition:opacity .2s ease;pointer-events:none;border:1px solid rgba(255,255,255,.3)}.image-container:hover .expand-icon{opacity:1}img{background:transparent!important}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6{color:#222!important}.card p,.card label,.card li,.card td,.card th,.card ol,.card ul{color:#333}.card .subtitle,.card .description,.card .help-text,.card .secondary-text{color:#555!important}.card .btn,.card a.btn,.card button.btn,.card .btn-secondary,.card a.btn-secondary,.card button.btn-secondary,.card .btn-danger,.card a.btn-danger,.card button.btn-danger,.card .btn-success,.card a.btn-success,.card button.btn-success{color:#fff!important}.option-content{flex:1;cursor:grab}.option-content:active{cursor:grabbing}.option-text{font-weight:600;margin-bottom:5px}.option-image-placeholder{width:60px;height:60px;background:#e9ecef;border-radius:6px;margin-right:15px;display:flex;align-items:center;justify-content:center;color:#6c757d}.image-modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:rgba(0,0,0,.9)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:1000!important;padding:20px!important;opacity:0;animation:modalFadeIn .3s ease-out forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;transform:scale(.8);animation:modalScaleIn .3s ease-out forwards}@keyframes modalScaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.image-modal-overlay.closing{animation:modalFadeOut .3s ease-in forwards}.image-modal-content.closing{animation:modalScaleOut .3s ease-in forwards}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalScaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}.image-modal-close{position:absolute;top:-40px;right:0;background:rgba(255,255,255,.2);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-modal-close:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.image-modal-close:active{transform:scale(.95)}.image-modal-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080;background:transparent!important}.rank-number{background:#3498db;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:15px;cursor:grab}.rank-number:active{cursor:grabbing}.drag-handle{color:#7f8c8d;font-size:20px;margin-right:10px;cursor:grab;transition:color .2s ease;padding:8px;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;touch-action:none}.drag-handle:hover{color:#5d6d7e;background-color:#f0f0f0}.drag-handle:active{cursor:grabbing}@media (max-width: 675px){.drag-handle{min-width:48px;height:48px;padding:12px;font-size:22px;pointer-events:auto}.option-item{min-height:60px;width:90%;margin-right:10%;touch-action:pan-y;cursor:default}.option-content{cursor:default}}.results{margin-top:30px}.results h3{margin-bottom:20px;color:#2c3e50}.round{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px}.round h4{margin-bottom:15px;color:#2c3e50}.result-item{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:white;border-radius:6px;margin-bottom:8px;border-left:4px solid #3498db}.result-item.winner{border-left-color:#27ae60;background:#d5f4e6}.result-item img{width:40px;height:40px;object-fit:cover;border-radius:4px;margin-right:10px}.result-content{display:flex;align-items:center;flex:1}.result-stats{text-align:right}.result-votes{font-weight:700;font-size:1.1rem}.result-percentage{color:#7f8c8d;font-size:.9rem}.loading{text-align:center;padding:40px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.error{background:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #f5c6cb}.success{background:#d4edda;color:#155724;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #c3e6cb}.dropzone{border:2px dashed #bdc3c7;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:border-color .3s ease;background:#f8f9fa}.dropzone:hover,.dropzone.active{border-color:#3498db;background:#e3f2fd}.dropzone p{color:#7f8c8d;margin-bottom:10px}.dropzone small{color:#95a5a6}.image-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.image-preview-item{position:relative;width:100px;height:100px}.image-preview-item img{width:100%;height:100%;object-fit:cover;border-radius:6px}.image-preview-item button{position:absolute;top:-8px;right:-8px;background:#e74c3c;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:14px}.navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.nav-left{display:flex;gap:10px}.navigation button{padding:8px 16px;background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.navigation button:hover{background:rgba(255,255,255,.3);border-color:#ffffff80;box-shadow:0 4px 12px #00000026}.navigation button.active{background:rgba(255,255,255,.9);color:#2c3e50;border-color:#fffc}.nav-left .btn-secondary{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:0 2px 8px #0000001a}.nav-left .btn-secondary:hover{background:rgba(255,255,255,.3);border-color:#ffffff80;box-shadow:0 4px 12px #00000026}input[type=checkbox]{width:18px;height:18px;accent-color:#3498db;cursor:pointer}.checkbox-label{display:flex;align-items:flex-start;gap:20px;cursor:pointer;line-height:1.4;font-size:14px;color:#555;width:100%;max-width:100%}.checkbox-label input[type=checkbox]{margin-top:2px;flex-shrink:0}.checkbox-label span{flex:1;min-width:0;margin-left:.5rem}p{margin-top:1em}
