:root{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-tertiary:#2a2a2a;--text-primary:#fff;--text-secondary:#ccc;--text-muted:#888;--accent-primary:#3b82f6;--accent-secondary:#60a5fa;--accent-hover:#2563eb;--border-color:#404040;--error-color:#ef4444;--success-color:#10b981;--warning-color:#f59e0b;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-accent:linear-gradient(135deg,#3b82f6,#2563eb);--gradient-success:linear-gradient(135deg,#10b981,#059669);--gradient-bg:radial-gradient(circle at top right,#3b82f61a 0%,#0000 50%),radial-gradient(circle at bottom left,#8b5cf61a 0%,#0000 50%);--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;--shadow-xl:0 20px 25px -5px #0009,0 10px 10px -5px #0000004d;--shadow-glow:0 0 20px #3b82f64d;--glow-primary:0 0 20px #3b82f666;--glow-success:0 0 15px #10b98166;--glow-danger:0 0 15px #ef44444d;--glow-icon:drop-shadow(0 0 6px currentColor);--btn-gradient-primary:linear-gradient(135deg,#3b82f6,#2563eb 50%,#1d4ed8);--btn-gradient-success:linear-gradient(135deg,#10b981,#059669);--btn-gradient-danger:linear-gradient(135deg,#ef4444,#dc2626);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--glass-bg:#1a1a1ab3;--glass-border:#ffffff1a}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0;overflow-x:hidden}#root,body{background-attachment:fixed;background-color:#0f0f0f;background-color:var(--bg-primary);background-image:radial-gradient(circle at top right,#3b82f61a 0,#0000 50%),radial-gradient(circle at bottom left,#8b5cf61a 0,#0000 50%);background-image:var(--gradient-bg)}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{color:#fff;color:var(--text-primary);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 1rem;margin:0 0 var(--space-md) 0}h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#2563eb);background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800}h2{font-size:2rem;font-weight:700}h3{font-size:1.5rem}h3,h4{font-weight:600}h4{font-size:1.25rem}p{color:#ccc;color:var(--text-secondary);line-height:1.7;margin:0 0 1rem;margin:0 0 var(--space-md) 0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.card{animation:fadeInUp .4s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1a1a1ab3;background:var(--glass-bg);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;box-shadow:var(--shadow-md);margin-bottom:1rem;margin-bottom:var(--space-md);padding:.75rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.card:hover{border-color:#3b82f633;box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006,0 0 25px #3b82f61f;box-shadow:var(--shadow-lg),0 0 25px #3b82f61f;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse-scale{0%,to{filter:drop-shadow(0 0 20px rgba(245,158,11,.3));transform:scale(1)}50%{filter:drop-shadow(0 0 30px rgba(245,158,11,.5));transform:scale(1.05)}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-glow{0%{background:linear-gradient(90deg,#f59e0b,#f97316 50%,#ef4444);box-shadow:0 0 10px #f59e0b80}25%{background:linear-gradient(90deg,#f97316,#ef4444 50%,#f59e0b);box-shadow:0 0 15px #f9731699}50%{background:linear-gradient(90deg,#ef4444,#f59e0b 50%,#f97316);box-shadow:0 0 20px #ef4444b3}75%{background:linear-gradient(90deg,#f59e0b,#ef4444 50%,#f97316);box-shadow:0 0 15px #f59e0b99}to{background:linear-gradient(90deg,#f59e0b,#f97316 50%,#ef4444);box-shadow:0 0 10px #f59e0b80}}@keyframes drift{0%,to{transform:translate(0)}25%{transform:translate(40px,-30px)}50%{transform:translate(60px,15px)}75%{transform:translate(25px,45px)}}@keyframes drift-reverse{0%,to{transform:translate(0)}25%{transform:translate(-40px,25px)}50%{transform:translate(-55px,-20px)}75%{transform:translate(-20px,-40px)}}.menu-loading-modal-content{padding:3rem 2rem}@media (max-width:768px){.menu-loading-modal-content{padding:2rem 1.5rem}.menu-loading-modal-content h2{font-size:1.5rem!important}.menu-loading-modal-content p{font-size:1rem!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-md);box-shadow:0 1px 2px 0 #0000004d;box-shadow:var(--shadow-sm);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;gap:var(--space-sm);justify-content:center;min-height:44px;min-width:44px;overflow:hidden;padding:.5rem .75rem;position:relative;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn:hover:not(:disabled):before{height:300px;width:300px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb 50%,#1d4ed8);background:var(--btn-gradient-primary);box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 20px #3b82f666;box-shadow:var(--shadow-md),var(--glow-primary);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006,0 0 30px #3b82f680;box-shadow:var(--shadow-lg),0 0 30px #3b82f680;transform:translateY(-2px)}.btn-primary:active:not(:disabled){box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 20px #3b82f666;box-shadow:var(--shadow-md),var(--glow-primary);transform:translateY(0)}.btn-secondary{background:#2a2a2a;background:var(--bg-tertiary);border:1px solid #404040;border:1px solid var(--border-color);color:#fff;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#404040;background:var(--border-color);border-color:#fff3;box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-loading{cursor:wait;overflow:visible!important;pointer-events:none;position:relative}.btn-loading:before{display:none!important}.btn-loading:after{animation:shimmer-border 1.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fff6,#fffc,#fff6,#0000);background-size:200% 100%;border-radius:inherit;content:"";inset:-3px;position:absolute;z-index:-1}@keyframes shimmer-border{0%{background-position:200% 0;opacity:.5}50%{opacity:1}to{background-position:-200% 0;opacity:.5}}.btn-primary.btn-loading{animation:glow-pulse-primary 1.2s ease-in-out infinite;box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 10px #3b82f699,0 0 20px #3b82f666,0 0 30px #3b82f633;box-shadow:var(--shadow-md),0 0 10px #3b82f699,0 0 20px #3b82f666,0 0 30px #3b82f633}@keyframes glow-pulse-primary{0%,to{box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 10px #3b82f699,0 0 20px #3b82f666,0 0 30px #3b82f633;box-shadow:var(--shadow-md),0 0 10px #3b82f699,0 0 20px #3b82f666,0 0 30px #3b82f633}50%{box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 15px #3b82f6cc,0 0 30px #3b82f699,0 0 45px #3b82f64d;box-shadow:var(--shadow-md),0 0 15px #3b82f6cc,0 0 30px #3b82f699,0 0 45px #3b82f64d}}.btn-secondary.btn-loading{animation:glow-pulse-secondary 1.2s ease-in-out infinite;box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 15px #ffffff26;box-shadow:var(--shadow-md),0 0 15px #ffffff26}@keyframes glow-pulse-secondary{0%,to{box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 10px #ffffff1a;box-shadow:var(--shadow-md),0 0 10px #ffffff1a}50%{box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 20px #fff3;box-shadow:var(--shadow-md),0 0 20px #fff3}}.btn-vote-circle.btn-loading{animation:vote-button-glow .8s ease-in-out infinite}.btn-vote-circle.btn-loading:after{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;border-top-color:initial}@keyframes vote-button-glow{0%,to{box-shadow:0 0 0 2px currentColor;opacity:1}50%{box-shadow:0 0 12px 4px currentColor;opacity:.8}}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-weight:500;margin-bottom:.5rem}.form-input,.form-label{color:#fff;color:var(--text-primary)}.form-input{background-color:#2a2a2a;background-color:var(--bg-tertiary);border:1px solid #404040;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 1px 2px 0 #0000004d;box-shadow:var(--shadow-sm);font-size:1rem;padding:.875rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);width:100%}.form-input:hover{border-color:#fff3}.form-input:focus{background-color:#2a2a2acc;border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f633,0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;box-shadow:0 0 0 3px #3b82f633,var(--shadow-md);outline:none;transform:translateY(-1px)}.form-input::placeholder{color:#888;color:var(--text-muted)}.form-error{color:#ef4444;color:var(--error-color);font-size:.875rem;margin-top:.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-4>*+*{margin-left:1rem}.space-y-4>*+*{margin-top:.5rem}.spinner{animation:spin .8s linear infinite;border:3px solid #3b82f633;border-radius:50%;border-top-color:#3b82f6;border-top:3px solid var(--accent-primary);height:24px;width:24px}.spinner-large{border-width:4px;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes subtlePulse{0%,to{border-color:#404040;border-color:var(--border-color);box-shadow:0 0 0 0 #3b82f600}50%{border-color:#3b82f680;box-shadow:0 0 8px 2px #3b82f64d}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{animation:shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#2a2a2a,#ffffff14 20%,#ffffff1f 40%,#ffffff14 60%,#2a2a2a);background:linear-gradient(90deg,var(--bg-tertiary) 0,#ffffff14 20%,#ffffff1f 40%,#ffffff14 60%,var(--bg-tertiary) 100%);background-size:200% 100%;border-radius:4px;border-radius:var(--radius-sm)}.admin-skeleton,.poll-skeleton,.review-skeleton{padding:1rem}.skeleton-header-card{animation:fadeInUp .4s ease-out}.skeleton-choice-card{animation:fadeInUp .4s ease-out both}.skeleton-choices-container{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.skeleton-choice-item{padding:.25rem 0}.skeleton-add-form{animation:fadeInUp .4s ease-out .5s both}.skeleton-review-choice{animation:fadeInUp .3s ease-out both;background:#1a1a1a;background:var(--bg-secondary)}.skeleton.skeleton-pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton-choice-card:hover{box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;box-shadow:var(--shadow-md);transform:none}@media (prefers-reduced-motion:reduce){.skeleton{animation:none;background:#2a2a2a;background:var(--bg-tertiary)}}@keyframes progressBar{0%{width:0}}.progress-bar{animation:progressBar .6s ease-out;transition:width .6s cubic-bezier(.4,0,.2,1)}.choice-winner{position:relative}.choice-winner,.choice-winner.choice-voted{animation:golden-glow-pulse 2s ease-in-out infinite;border:2px solid #fbbf24!important;box-shadow:0 0 0 2px #fbbf244d,0 0 20px #fbbf2466,0 0 40px #fbbf2433,0 4px 6px -1px #0006,0 2px 4px -1px #0000004d!important;box-shadow:0 0 0 2px #fbbf244d,0 0 20px #fbbf2466,0 0 40px #fbbf2433,var(--shadow-md)!important}.choice-winner.choice-voted:before{background:linear-gradient(135deg,#fbbf241a,#fcd34d0d)}@keyframes golden-glow-pulse{0%,to{border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf244d,0 0 20px #fbbf2466,0 0 40px #fbbf2433,0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;box-shadow:0 0 0 2px #fbbf244d,0 0 20px #fbbf2466,0 0 40px #fbbf2433,var(--shadow-md)}25%{border-color:#fcd34d;box-shadow:0 0 0 2px #fcd34d66,0 0 25px #fcd34d80,0 0 50px #fcd34d4d,0 10px 15px -3px #00000080,0 4px 6px -2px #0006;box-shadow:0 0 0 2px #fcd34d66,0 0 25px #fcd34d80,0 0 50px #fcd34d4d,var(--shadow-lg)}50%{border-color:#fde047;box-shadow:0 0 0 2px #fde04780,0 0 30px #fde04799,0 0 60px #fde04766,0 20px 25px -5px #0009,0 10px 10px -5px #0000004d;box-shadow:0 0 0 2px #fde04780,0 0 30px #fde04799,0 0 60px #fde04766,var(--shadow-xl)}75%{border-color:#fcd34d;box-shadow:0 0 0 2px #fcd34d66,0 0 25px #fcd34d80,0 0 50px #fcd34d4d,0 10px 15px -3px #00000080,0 4px 6px -2px #0006;box-shadow:0 0 0 2px #fcd34d66,0 0 25px #fcd34d80,0 0 50px #fcd34d4d,var(--shadow-lg)}}.glass-effect{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1a1a1ab3;background:var(--glass-bg);border:1px solid #ffffff1a;border:1px solid var(--glass-border)}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#2563eb);background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text}.fade-in{animation:fadeIn .4s ease-out}.fade-in-up{animation:fadeInUp .4s ease-out}.fade-in-up[style*=animation-delay]{animation-fill-mode:both}.slide-in{animation:slideIn .3s ease-out}.slide-in[style*=animation-delay]{animation-fill-mode:both}html{scroll-behavior:smooth}::selection{background-color:#3b82f64d;color:#fff;color:var(--text-primary)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes pulse-glow-icon{0%,to{filter:drop-shadow(0 0 4px rgba(245,158,11,.4));opacity:1}50%{filter:drop-shadow(0 0 8px rgba(245,158,11,.7));opacity:.6}}.btn-remove{background:#2a2a2a;background:var(--bg-tertiary);border:1px solid #404040;border:1px solid var(--border-color);box-shadow:0 1px 2px 0 #0000004d;box-shadow:var(--shadow-sm);color:#ccc;color:var(--text-secondary);padding:.5rem .75rem}.btn-remove:hover:not(:disabled){background:#404040;background:var(--border-color);border-color:#ef44444d;box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;box-shadow:var(--shadow-md);color:#ef4444e6;transform:translateY(-1px)}.btn-remove:active:not(:disabled){transform:translateY(0)}.btn-remove:disabled{cursor:not-allowed;opacity:.5}.btn-vote-circle{align-items:center;border:2px solid;border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;min-height:32px;min-width:32px;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);width:32px}.btn-vote-circle.upvote{background:#10b98126;border-color:#10b981;border-color:var(--success-color);color:#10b981;color:var(--success-color)}.btn-vote-circle.upvote:hover:not(:disabled){background:#10b981;background:var(--success-color);box-shadow:0 0 15px #10b98166;box-shadow:var(--glow-success);color:#fff;transform:scale(1.1)}.btn-vote-circle.downvote{background:#ef444426;border-color:#ef4444;border-color:var(--error-color);color:#ef4444;color:var(--error-color)}.btn-vote-circle.downvote:hover:not(:disabled){background:#ef4444;background:var(--error-color);box-shadow:0 0 15px #ef44444d;box-shadow:var(--glow-danger);color:#fff;transform:scale(1.1)}.btn-vote-circle:disabled{cursor:not-allowed;opacity:.5}.vote-count-inline{align-items:center;display:flex;font-size:.85rem;font-weight:600;gap:.5rem}.vote-count-inline .upvotes{align-items:center;color:#10b981;color:var(--success-color);display:flex;gap:.15rem}.vote-count-inline .downvotes{align-items:center;color:#ef4444;color:var(--error-color);display:flex;gap:.15rem}.choice-voted{border-color:#6b7280!important;box-shadow:0 0 0 2px #6b728033,0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;box-shadow:0 0 0 2px #6b728033,var(--shadow-md)}.choice-voted:before{background:linear-gradient(135deg,#6b72800d,#0000);border-radius:12px;border-radius:var(--radius-lg);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 2px #6b728033,0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;box-shadow:0 0 0 2px #6b728033,var(--shadow-md)}50%{box-shadow:0 0 0 4px #6b72804d,0 10px 15px -3px #00000080,0 4px 6px -2px #0006;box-shadow:0 0 0 4px #6b72804d,var(--shadow-lg)}}@keyframes slide-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-20px)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes scale-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}.choice-voted-pulse{animation:pulse-glow 2s ease-in-out infinite}.vote-count-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:active:not(:disabled){transform:scale(.95)}.btn-ripple{overflow:hidden;position:relative}.btn-ripple:after{animation:ripple .6s ease-out;background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.btn:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--accent-primary);outline-offset:2px}.btn-remove:focus-visible{outline-color:#ef4444;outline-color:var(--error-color)}@media (max-width:768px){.container{padding:0 1rem;padding:0 var(--space-md)}h1{font-size:2rem}h2{font-size:1.5rem;word-break:break-word}.card{border-radius:8px;border-radius:var(--radius-md);padding:.75rem}.btn{font-size:.9375rem;min-height:44px}.btn,.btn-remove{min-width:44px;padding:.5rem .75rem}.space-y-4>*+*{margin-top:.5rem}.card[role=dialog]{margin:1rem;max-width:95%;width:95%}}@media (hover:none) and (pointer:coarse){.btn{min-height:48px;padding:.875rem 1.75rem}.btn-remove{min-width:44px}.btn-primary:hover:not(:disabled),.btn-remove:hover:not(:disabled),.btn:hover:not(:disabled),.card:hover{transform:none}}@media (max-width:768px){:root{--space-md:0.75rem;--space-lg:1rem;--space-xl:1.5rem}.container{padding:0 1rem;padding:0 var(--space-md)}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.btn{min-height:48px;padding:.625rem 1rem}.form-input{font-size:16px;min-height:48px}}.header{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1a1a1ab3;background:var(--glass-bg);border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--glass-border);box-shadow:0 1px 2px 0 #0000004d;box-shadow:var(--shadow-sm);padding:.75rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header,.header-logo{transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.header-logo{align-items:center;color:#fff;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.5rem;font-weight:800;gap:.5rem;margin:0;text-decoration:none;-webkit-user-select:none;user-select:none}.header-logo:hover{transform:scale(1.05)}.nav-menu{gap:.75rem}.nav-link,.nav-menu{align-items:center;display:flex}.nav-link{border-radius:8px;border-radius:var(--radius-md);color:#ccc;color:var(--text-secondary);font-weight:600;gap:.5rem;padding:.5rem .75rem;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.nav-link.active,.nav-link:hover{background:#ffffff1a;color:#fff;color:var(--text-primary)}@media (max-width:480px){.nav-link span{display:none}.nav-link{padding:.5rem}.nav-link svg{font-size:1.5rem}}.homepage-container{margin:0 auto;max-width:600px;padding:2rem 0}.poll-card{animation-fill-mode:both;margin:0 0 1.5rem;max-width:100%}.poll-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem}.poll-card-description{color:#ccc;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.poll-icon-primary{color:#3b82f6;color:var(--accent-primary)}.poll-icon-primary,.poll-icon-secondary{filter:drop-shadow(0 0 6px currentColor);filter:var(--glow-icon);font-size:1.75rem}.poll-icon-secondary{color:#60a5fa;color:var(--accent-secondary)}.form-label-flex{align-items:center;display:flex;gap:.5rem}.poll-code-input{font-family:monospace;font-size:1.25rem;font-weight:700;letter-spacing:.15em;text-align:center;text-transform:uppercase}.file-input-wrapper{overflow:hidden;position:relative}.file-input-help{color:#ccc;color:var(--text-secondary);display:block;font-size:.875rem;margin-top:.5rem}.full-width{width:100%}.content-container{margin:0 auto;max-width:600px;padding:0 1rem;padding:0 var(--space-md)}.home-grid{display:flex;flex-direction:column;gap:1rem;gap:var(--space-md)}.home-grid>.poll-card{margin-bottom:0}.admin-grid{display:flex;flex-direction:column;gap:1.5rem;gap:var(--space-lg)}.admin-container{margin:0 auto;max-width:600px;padding:0 1rem;padding:0 var(--space-md)}.poll-container{margin:0 auto;max-width:600px;padding:2rem 1rem;padding:2rem var(--space-md)}@media (min-width:1024px){.homepage-container{max-width:960px;padding:2rem 1.5rem;padding:2rem var(--space-lg)}.home-grid{grid-gap:1.5rem;grid-gap:var(--space-lg);align-items:start;display:grid;gap:1.5rem;gap:var(--space-lg);grid-template-columns:repeat(3,1fr)}.content-container{max-width:700px;padding:0 1.5rem;padding:0 var(--space-lg)}.poll-container{max-width:700px;padding:2rem 1.5rem;padding:2rem var(--space-lg)}.admin-container{max-width:900px;padding:0 1.5rem;padding:0 var(--space-lg)}.admin-grid{grid-gap:2rem;grid-gap:var(--space-xl);display:grid;gap:2rem;gap:var(--space-xl);grid-template-columns:repeat(2,1fr)}.card{padding:1.25rem}.poll-card{margin-bottom:0}}.legal-container{margin:0 auto;max-width:800px;min-height:80vh;padding:2rem 1rem;padding:2rem var(--space-md)}.legal-header{margin-bottom:3rem;text-align:center}.legal-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#2563eb);background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.legal-subtitle{color:#888;color:var(--text-muted);font-size:1.1rem;margin-top:.5rem}.template-marker{background:#fbbf241a;border:1px dashed #fbbf2480;border-radius:4px;color:#fbbf24;font-weight:700;padding:0 4px}.accordion-container{display:flex;flex-direction:column;gap:1.25rem}.accordion-item{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1a1a1ab3;background:var(--glass-bg);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:12px;border-radius:var(--radius-lg);overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.accordion-item:hover{border-color:#3b82f666;box-shadow:0 0 20px #3b82f626}.accordion-item.active{background:#1e1e1ed9;border-color:#3b82f699;box-shadow:0 0 30px #3b82f633}.accordion-header{align-items:center;background:#0000;border:none;color:#fff;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;outline:none;padding:1.5rem;text-align:left;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);width:100%}.accordion-header:focus-visible{background:#ffffff0d;box-shadow:inset 0 0 0 2px #3b82f6;box-shadow:inset 0 0 0 2px var(--accent-primary)}.accordion-header:hover{background:#ffffff08}.accordion-header-left{align-items:center;display:flex;gap:1.25rem}.accordion-icon{align-items:center;color:#3b82f6;color:var(--accent-primary);display:flex;filter:drop-shadow(0 0 8px rgba(59,130,246,.5));font-size:1.75rem}.accordion-title{font-size:1.25rem;font-weight:600;letter-spacing:.01em;margin:0}.accordion-chevron{color:#888;color:var(--text-muted);font-size:1.5rem;transition:transform .4s cubic-bezier(.4,0,.2,1)}.accordion-item.active .accordion-chevron{color:#3b82f6;color:var(--accent-primary);transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.accordion-item.active .accordion-content{max-height:3000px}.accordion-body{border-top:1px solid #ffffff0d;color:#ccc;color:var(--text-secondary);font-size:1.05rem;line-height:1.8;margin-top:.5rem;padding:0 1.5rem 2rem}.accordion-body h4{color:#fff;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:2rem 0 .75rem}.accordion-body h4:first-child{margin-top:1rem}.accordion-body p{margin-bottom:1rem}.accordion-body ul{margin:1rem 0;padding-left:1.5rem}.accordion-body li{margin-bottom:.5rem}.legal-last-updated{color:#888;color:var(--text-muted);font-size:.9rem;margin-top:3rem;opacity:.8;padding-top:2rem;text-align:center}.footer,.legal-last-updated{border-top:1px solid #ffffff1a;border-top:1px solid var(--glass-border)}.footer{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a0a0a80;margin-top:auto;padding:1.5rem 0;position:relative;z-index:10}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between}.footer-copyright{color:#888;color:var(--text-muted);font-size:.9rem;margin:0}.footer-links{align-items:center;display:flex;gap:2rem}.footer-links a{color:#ccc;color:var(--text-secondary);font-size:.9rem;padding:.5rem 0;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}.footer-links a:hover{color:#3b82f6;color:var(--accent-primary)}@media (max-width:768px){.legal-container{padding:1.5rem 1rem;padding:1.5rem var(--space-md)}.legal-title{font-size:2rem}.accordion-header{padding:1.25rem}.accordion-header-left{gap:.75rem}.accordion-icon{font-size:1.5rem}.accordion-title{font-size:1.1rem}.accordion-body{font-size:1rem;padding:0 1.25rem 1.5rem}.footer{margin-bottom:env(safe-area-inset-bottom);padding:1.5rem 0}.footer-content{flex-direction:column;gap:1.5rem;text-align:center}.footer-links{flex-direction:column;gap:.5rem;width:100%}.footer-links a{background:#ffffff08;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-md);display:block;padding:.75rem;width:100%}.footer-links a:active{background:#ffffff14;transform:scale(.98)}}.auth-modal-backdrop{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000bf;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.auth-modal{background:#1a1a1a;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0009,0 10px 10px -5px #0000004d,0 0 40px #3b82f626;box-shadow:var(--shadow-xl),0 0 40px #3b82f626;max-width:420px;padding:2rem;position:relative;width:100%}.auth-modal-close{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-md);color:#888;color:var(--text-muted);cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.auth-modal-close:hover{background:#2a2a2a;background:var(--bg-tertiary);color:#fff;color:var(--text-primary)}.auth-modal-header{margin-bottom:1.5rem;text-align:center}.auth-modal-title{font-size:1.75rem;font-weight:700;margin:0}.auth-tabs{background:#2a2a2a;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--radius-md);display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem}.auth-tab{background:#0000;border:none;border-radius:4px;border-radius:var(--radius-sm);color:#ccc;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.75rem 1rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.auth-tab.active,.auth-tab:hover{color:#fff;color:var(--text-primary)}.auth-tab.active{background:#1a1a1a;background:var(--bg-secondary);box-shadow:0 1px 2px 0 #0000004d;box-shadow:var(--shadow-sm)}.auth-form{gap:1rem}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:.5rem}.auth-label{align-items:center;color:#ccc;color:var(--text-secondary);display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.auth-icon{color:#888;color:var(--text-muted);font-size:1rem}.auth-input{background:#2a2a2a;background:var(--bg-tertiary);border:1px solid #404040;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#fff;color:var(--text-primary);font-size:1rem;padding:.875rem 1rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.auth-input:focus{border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f633;outline:none}.auth-input::placeholder{color:#888;color:var(--text-muted)}.auth-input-wrapper{align-items:center;display:flex;position:relative}.auth-input-wrapper .auth-input{padding-right:3rem}.auth-password-toggle{align-items:center;background:#0000;border:none;color:#888;color:var(--text-muted);cursor:pointer;display:flex;font-size:1.25rem;padding:.5rem;position:absolute;right:.75rem;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}.auth-password-toggle:hover{color:#fff;color:var(--text-primary)}.password-strength{align-items:center;display:flex;gap:.75rem;margin-top:.25rem}.password-strength-bar{display:flex;flex:1 1;gap:4px}.password-strength-segment{background:#2a2a2a;background:var(--bg-tertiary);border-radius:2px;flex:1 1;height:4px;transition:background-color .15s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-fast)}.password-strength-segment.active{background:#10b981;background:var(--success-color)}.password-strength-label{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.auth-field-error{color:#ef4444;color:var(--error-color);font-size:.8rem}.auth-message{border-radius:8px;border-radius:var(--radius-md);font-size:.9rem;padding:.875rem 1rem;text-align:center}.auth-message.error{background:#ef444426;border:1px solid #ef44444d;color:#ef4444;color:var(--error-color)}.auth-message.success{background:#10b98126;border:1px solid #10b9814d;color:#10b981;color:var(--success-color)}.auth-submit{font-size:1rem;margin-top:.5rem;padding:1rem}.auth-loading{display:flex;gap:.25rem}.auth-loading-dot{animation:auth-dot-bounce 1.4s ease-in-out infinite both;background:currentColor;border-radius:50%;height:6px;width:6px}.auth-loading-dot:first-child{animation-delay:-.32s}.auth-loading-dot:nth-child(2){animation-delay:-.16s}@keyframes auth-dot-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.auth-modal-footer{color:#ccc;color:var(--text-secondary);font-size:.9rem;margin-top:1.5rem;text-align:center}.auth-link{background:#0000;border:none;color:#60a5fa;color:var(--accent-secondary);cursor:pointer;font-size:inherit;font-weight:600;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}.auth-link:hover{color:#3b82f6;color:var(--accent-primary);text-decoration:underline}.auth-buttons{align-items:center;display:flex;gap:.75rem}.auth-login-btn{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff0d!important;border:1px solid #ffffff26!important;border-radius:9999px!important;border-radius:var(--radius-full)!important;color:#fff!important;color:var(--text-primary)!important;font-weight:500!important;padding:.5rem 1.25rem!important;transition:all .3s ease!important}.auth-login-btn:hover{background:#ffffff1a!important;border-color:#ffffff4d!important;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.auth-login-btn svg{font-size:1rem}.auth-signup-btn{animation:gradient-shift 3s ease infinite;background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#3b82f6)!important;background-size:200% 200%!important;border:none!important;border-radius:9999px!important;border-radius:var(--radius-full)!important;box-shadow:0 2px 10px #3b82f666,0 0 20px #8b5cf633!important;color:#fff!important;font-weight:600!important;min-height:auto!important;padding:.5rem 1.5rem!important;transition:all .3s ease!important}.auth-signup-btn:hover{box-shadow:0 4px 20px #3b82f680,0 0 30px #8b5cf64d!important;transform:translateY(-2px) scale(1.02)}.auth-signup-btn:active{transform:translateY(0) scale(.98)}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.btn-sm{font-size:.875rem;min-height:36px;padding:.5rem 1rem}.user-menu-container{position:relative}.user-menu-trigger{align-items:center;background:#2a2a2a;background:var(--bg-tertiary);border:1px solid #404040;border:1px solid var(--border-color);border-radius:9999px;border-radius:var(--radius-full);color:#fff;color:var(--text-primary);cursor:pointer;display:flex;gap:.5rem;padding:.375rem .75rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.user-menu-trigger:hover{border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f633}.user-avatar{border-radius:50%;height:28px;object-fit:cover;width:28px}.user-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--gradient-primary);color:#fff;display:flex;font-size:.875rem;font-weight:600;justify-content:center}.user-name{font-size:.9rem;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{animation:dropdown-slide .15s ease-out;background:#1a1a1a;background:var(--bg-secondary);border:1px solid #404040;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0009,0 10px 10px -5px #0000004d;box-shadow:var(--shadow-xl);min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:100}@keyframes dropdown-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{background:#2a2a2a;background:var(--bg-tertiary);display:flex;flex-direction:column;gap:.25rem;padding:.875rem 1rem}.user-menu-email{color:#ccc;color:var(--text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role-badge{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--gradient-primary);border-radius:9999px;border-radius:var(--radius-full);color:#fff;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:.125rem .5rem;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.user-menu-divider{background:#404040;background:var(--border-color);height:1px}.user-menu-item{align-items:center;background:#0000;border:none;color:#fff;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.875rem 1rem;text-align:left;transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast);width:100%}.user-menu-item:hover{background:#2a2a2a;background:var(--bg-tertiary)}.user-menu-item svg{color:#888;color:var(--text-muted);font-size:1.1rem}.protected-route-loading{align-items:center;color:#ccc;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:50vh}.protected-route-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #404040;border-top-color:#3b82f6;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-primary);height:40px;width:40px}.protected-route-forbidden{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:50vh;text-align:center}.protected-route-forbidden h2{color:#ef4444;color:var(--error-color)}.protected-route-forbidden p{color:#ccc;color:var(--text-secondary);margin-bottom:1rem}@media (max-width:768px){.auth-modal{margin:.5rem;max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.5rem}.auth-modal-title{font-size:1.5rem}.auth-buttons{gap:.25rem}.auth-signup-btn,.user-name{display:none}.user-menu-trigger{background:#0000;border:none;padding:.25rem}.user-avatar{height:32px;width:32px}.user-menu-dropdown{right:-.5rem}}.dashboard{margin:0 auto;max-width:1000px;padding:2rem 0;padding:var(--space-xl) 0}.dashboard-header h1{font-size:2.5rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.dashboard-subtitle{color:#ccc;color:var(--text-secondary);font-size:1.1rem;margin:0}.dashboard-stats{display:flex;gap:1rem;gap:var(--space-md);justify-content:center;margin-bottom:2rem;margin-bottom:var(--space-xl)}.dashboard-stat-card{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:linear-gradient(135deg,#1e293b99,#0f172acc);border:1px solid #ffffff14;border-radius:12px;border-radius:var(--radius-lg);display:flex;gap:.875rem;min-width:140px;padding:.875rem 1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.dashboard-stat-card:hover{border-color:#ffffff26;box-shadow:0 8px 24px #00000040;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:8px;border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;width:40px}.stat-icon.polls{background:linear-gradient(135deg,#a855f740,#8b5cf666);color:#c084fc}.stat-icon.votes{background:linear-gradient(135deg,#3b82f640,#2563eb66);color:#60a5fa}.stat-icon.active{background:linear-gradient(135deg,#10b98140,#05966966);color:#34d399}.stat-content{align-items:baseline;display:flex;gap:.5rem}.stat-value{color:#fff;color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1}.stat-label{color:#ccc;color:var(--text-secondary);font-size:.8rem;font-weight:500;white-space:nowrap}.dashboard-stat-card.skeleton{background:#1a1a1a;background:var(--bg-secondary);border-color:#404040;border-color:var(--border-color);min-height:auto}.dashboard-stat-card.skeleton .skeleton-icon{background:#2a2a2a;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--radius-md);height:40px;width:40px}.dashboard-stat-card.skeleton .skeleton-content{align-items:center;display:flex;gap:.5rem}.dashboard-stat-card.skeleton .skeleton-line{background:#2a2a2a;background:var(--bg-tertiary);border-radius:4px;border-radius:var(--radius-sm);height:20px;width:60px}.dashboard-stat-card.skeleton .skeleton-line.short{height:14px;width:80px}.dashboard-header{text-align:center}.dashboard-header,.dashboard-section{margin-bottom:3rem;margin-bottom:var(--space-2xl)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--space-lg);position:relative;z-index:20}.section-header.stuck{box-shadow:0 4px 20px #0000004d}.section-header h2{font-size:1.5rem;margin:0}.create-poll-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb 50%,#1d4ed8);background:var(--btn-gradient-primary);border:none;border-radius:8px;border-radius:var(--radius-md);box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 20px #3b82f666;box-shadow:var(--shadow-md),var(--glow-primary);color:#fff;display:inline-flex;font-weight:600;gap:.5rem;overflow:hidden;padding:.75rem 1.25rem;position:relative;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.create-poll-btn:before{animation:btn-shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes btn-shimmer{0%{left:-100%}50%,to{left:100%}}.create-poll-btn:hover{box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006,0 0 30px #3b82f680;box-shadow:var(--shadow-lg),0 0 30px #3b82f680;transform:translateY(-2px)}.dashboard-polls-grid{grid-gap:.5rem;grid-gap:var(--space-sm);display:grid;gap:.5rem;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding-top:12px}.dashboard-poll-card{background:#1a1a1a;background:var(--bg-secondary);border:1px solid #ffffff14;border-radius:12px;border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:visible;padding:1rem;padding:var(--space-md);position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.dashboard-poll-card:hover{border-color:#638cdc40;box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006,0 0 25px #3b82f61f;box-shadow:var(--shadow-lg),0 0 25px #3b82f61f;transform:translateY(-3px)}.dashboard-poll-card.expired{opacity:.7}.dashboard-poll-card.expired:hover{opacity:1}.dashboard-poll-card.skeleton{background:#1a1a1a;background:var(--bg-secondary);display:flex;flex-direction:column;gap:.5rem;gap:var(--space-sm);min-height:200px}.dashboard-poll-card.skeleton .skeleton-line{animation:shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#2a2a2a,#ffffff14 50%,#2a2a2a);background:linear-gradient(90deg,var(--bg-tertiary) 0,#ffffff14 50%,var(--bg-tertiary) 100%);background-size:200% 100%;border-radius:4px;border-radius:var(--radius-sm);height:16px}.dashboard-poll-card.skeleton .skeleton-line.title{height:20px;width:85%}.dashboard-poll-card.skeleton .skeleton-line.meta{height:12px;width:60%}.dashboard-poll-card.skeleton .skeleton-badges{margin-top:auto}.dashboard-poll-card.skeleton .skeleton-badge{height:24px;width:70px}.dashboard-poll-card.skeleton .skeleton-badge,.dashboard-poll-card.skeleton .skeleton-btn{animation:shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#2a2a2a,#ffffff14 50%,#2a2a2a);background:linear-gradient(90deg,var(--bg-tertiary) 0,#ffffff14 50%,var(--bg-tertiary) 100%);background-size:200% 100%}.dashboard-poll-card.skeleton .skeleton-btn{border-radius:8px;border-radius:var(--radius-md);height:36px;margin-top:.5rem;margin-top:var(--space-sm);width:100%}.dashboard-poll-card.skeleton .skeleton-badges{display:flex;gap:8px;margin-top:16px}.dashboard-poll-card.skeleton .skeleton-badge{background:#2a2a2a;background:var(--bg-tertiary);border-radius:9999px;border-radius:var(--radius-full);height:28px;width:80px}.poll-card-header{align-items:flex-start;display:flex;gap:.5rem;gap:var(--space-sm);margin-bottom:.5rem;margin-bottom:var(--space-sm)}.editable-title{align-items:center;display:flex;flex:1 1;gap:.25rem;gap:var(--space-xs);min-width:0}.editable-title-text{color:#fff;color:var(--text-primary);font-size:.95rem;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editable-title.editing{align-items:stretch;flex-direction:column;gap:.5rem;gap:var(--space-sm);width:100%}.editable-title-input{background:#2a2a2a;background:var(--bg-tertiary);border:1px solid #3b82f6;border:1px solid var(--accent-primary);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 0 0 3px #3b82f633;color:#fff;color:var(--text-primary);font-size:1rem;outline:none;padding:.75rem 1rem;width:100%}.editable-title-actions{display:flex;gap:.25rem;gap:var(--space-xs)}.edit-action-btn{align-items:center;border:none;border-radius:4px;border-radius:var(--radius-sm);color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:28px}.edit-action-btn,.edit-action-btn:hover{background:#2a2a2a;background:var(--bg-tertiary)}.edit-action-btn:hover{color:#fff;color:var(--text-primary)}.edit-action-btn.edit{opacity:0;transition:opacity .15s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-fast)}.editable-title:hover .edit-action-btn.edit{opacity:1}.edit-action-btn.save{background:#10b98133;color:#10b981;color:var(--success-color)}.edit-action-btn.save:hover{background:#10b98159}.edit-action-btn.cancel{background:#ef444433;color:#ef4444;color:var(--error-color)}.edit-action-btn.cancel:hover{background:#ef444459}.date-tooltip-container{left:16px;position:absolute;top:0;transform:translateY(-50%);z-index:10}.status-badge{align-items:center;border:none;border-radius:11px;box-shadow:0 1px 2px 0 #0000004d;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-size:.6rem;font-weight:600;gap:.2rem;height:22px;justify-content:center;letter-spacing:.3px;min-width:22px;padding:0 .5rem;text-transform:uppercase;transition:all .2s cubic-bezier(.4,0,.2,1);width:auto}.status-badge.active{animation:badge-pulse 2.5s ease-in-out infinite;background:#10b981;background:var(--success-color);border:none;color:#fff}@keyframes badge-pulse{0%,to{box-shadow:0 0 0 0 #10b98166}50%{box-shadow:0 0 12px 3px #10b98140}}.status-badge.active:hover{animation:none;box-shadow:0 4px 12px #10b9814d;transform:scale(1.05)}.status-badge.expired{background:#1e4078e6;border:1px solid #ef44444d;color:#ef4444;color:var(--error-color)}.status-badge.expired:hover{box-shadow:0 4px 12px #ef44444d;transform:scale(1.05)}.date-tooltip-trigger{align-items:center;background:#2a2a2a;background:var(--bg-tertiary);border:none;border-radius:4px;border-radius:var(--radius-sm);color:#888;color:var(--text-muted);cursor:pointer;display:flex;font-size:.9rem;height:24px;justify-content:center;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:28px}.date-tooltip-trigger:hover{background:#404040;background:var(--border-color);color:#fff;color:var(--text-primary)}.date-tooltip{box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;box-shadow:var(--shadow-lg);left:0;position:absolute;top:calc(100% + 8px);z-index:1000}.date-tooltip,.date-tooltip-portal{animation:fadeInUp .15s ease-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0f0f0ffa;border:1px solid #404040;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);min-width:180px;padding:.75rem}.date-tooltip-portal{box-shadow:0 10px 40px #00000080;z-index:10000}.date-tooltip:after{border:6px solid #0000;border-bottom:6px solid var(--border-color);bottom:100%;content:"";left:20px;position:absolute}.date-tooltip-item{display:flex;flex-direction:column;gap:.15rem}.date-tooltip-item+.date-tooltip-item{border-top:1px solid #404040;border-top:1px solid var(--border-color);margin-top:.5rem;padding-top:.5rem}.date-tooltip-label{color:#888;color:var(--text-muted);font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.date-tooltip-value{color:#fff;color:var(--text-primary);font-size:.8rem;font-weight:500}@media (max-width:768px){.date-tooltip{left:0;min-width:160px;transform:translateX(0)}.date-tooltip:after{left:14px;transform:none}}.poll-card-meta{display:none;display:flex;flex:1 1;flex-direction:column;gap:.25rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.meta-item{align-items:center;display:flex;font-size:.75rem;gap:.35rem}.meta-item,.meta-item svg{color:#888;color:var(--text-muted)}.meta-item svg{font-size:1rem}.poll-card-title-area{align-items:center;display:flex;flex:1 1;min-height:40px}.poll-card-title-area,.poll-card-title-area .editable-title{justify-content:center}.poll-card-title-area .editable-title-text{font-size:1rem;line-height:1.4;max-width:100%;text-align:center;white-space:normal}.poll-card-footer{align-items:center;border-top:1px solid #ffffff14;display:flex;justify-content:space-between;margin-top:auto;padding-top:.5rem;padding-top:var(--space-sm)}.poll-card-votes{align-items:center;color:#3b82f6;color:var(--accent-primary);display:flex;gap:.35rem}.poll-card-votes svg{font-size:1rem}.poll-card-votes .vote-count{font-size:1rem;font-weight:700}.poll-card-votes .vote-label{color:#888;color:var(--text-muted);font-size:.75rem}.poll-card-actions{align-items:center;display:flex;gap:.5rem}.poll-action-icon{align-items:center;background:#2a2a2a;background:var(--bg-tertiary);border:1px solid #404040;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#ccc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:32px}.poll-action-icon:hover{background:#3b82f6;background:var(--accent-primary);border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 4px 12px #3b82f64d;color:#fff;transform:translateY(-2px)}.copied-label{animation:fadeIn .2s ease-out;color:#10b981;color:var(--success-color);font-size:.75rem;font-weight:600}.poll-action-icon.copied{background:#10b981;background:var(--success-color);border-color:#10b981;border-color:var(--success-color);color:#fff}.action-tooltip-container{position:relative}.action-tooltip{animation:tooltip-fade-in .15s ease-out forwards;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f0f0ff2;border:1px solid #404040;border:1px solid var(--border-color);border-radius:4px;border-radius:var(--radius-sm);bottom:calc(100% + 8px);color:#fff;color:var(--text-primary);font-size:.75rem;font-weight:500;opacity:0;padding:.4rem .75rem;pointer-events:none;white-space:nowrap;z-index:50}.action-tooltip,.action-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.action-tooltip:after{border:5px solid #0000;border-top-color:#0f0f0ff2;content:"";top:100%}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateX(-50%) translateY(4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.dashboard-empty-state{padding:3rem 1.5rem;padding:var(--space-2xl) var(--space-lg)}.empty-state-icon-wrapper{align-items:center;display:flex;justify-content:center;margin-bottom:1.5rem;margin-bottom:var(--space-lg);position:relative}.empty-state-ring{animation:ring-pulse 3s ease-in-out infinite;border:1px solid;border-radius:50%;position:absolute}.empty-state-ring:first-child{animation-delay:0s;border-color:#3b82f626;height:100px;width:100px}.empty-state-ring:nth-child(2){animation-delay:.5s;border-color:#8b5cf61a;height:140px;width:140px}.empty-state-ring:nth-child(3){animation-delay:1s;border-color:#3b82f60d;height:180px;width:180px}@keyframes ring-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.empty-state-icon{background:linear-gradient(135deg,#3b82f626,#8b5cf633);border-radius:16px;border-radius:var(--radius-xl);height:64px;width:64px;z-index:1}.dashboard-empty-state h3{font-size:1.25rem}.dashboard-empty-state p{font-size:.95rem}.empty-state-cta{padding:.75rem 1.5rem}.polls-stagger-container{display:contents}.filter-sort-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-md);justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--space-md)}.filter-pills{display:flex;gap:.5rem}.filter-pill{background:#0000;border:1px solid #ffffff14;border-radius:9999px;border-radius:var(--radius-full);color:#ccc;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;padding:.4rem .9rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.filter-pill:hover{color:#fff;color:var(--text-primary)}.filter-pill.active,.filter-pill:hover{border-color:#3b82f6;border-color:var(--accent-primary)}.filter-pill.active{background:#3b82f6;background:var(--accent-primary);color:#fff}.sort-dropdown{align-items:center;display:flex;gap:.5rem}.sort-dropdown label{color:#888;color:var(--text-muted);font-size:.8rem}.sort-dropdown select{background:#2a2a2a;background:var(--bg-tertiary);border:1px solid #ffffff14;border-radius:8px;border-radius:var(--radius-md);color:#fff;color:var(--text-primary);cursor:pointer;font-size:.8rem;outline:none;padding:.4rem .75rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.sort-dropdown select:focus,.sort-dropdown select:hover{border-color:#3b82f6;border-color:var(--accent-primary)}.filter-no-results{align-items:center;color:#ccc;color:var(--text-secondary);display:flex;flex-direction:column;padding:2rem;padding:var(--space-xl);text-align:center}.filter-no-results svg{color:#888;color:var(--text-muted);font-size:2rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}@media (max-width:480px){.filter-sort-controls{align-items:stretch;flex-direction:column}.filter-pills,.sort-dropdown{justify-content:center}}.poll-action-btn{align-items:center;background:#0000;border:1px solid #3b82f6;border:1px solid var(--accent-primary);border-radius:4px;border-radius:var(--radius-sm);color:#3b82f6;color:var(--accent-primary);cursor:pointer;display:inline-flex;font-size:.7rem;font-weight:500;gap:.3rem;justify-content:center;padding:.35rem .6rem;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.poll-action-btn:hover{background:#3b82f6;background:var(--accent-primary);color:#fff}.poll-action-btn.view{background:#0000;border-color:#3b82f6;border-color:var(--accent-primary);color:#3b82f6;color:var(--accent-primary)}.poll-action-btn.view:hover{background:#3b82f6;background:var(--accent-primary);color:#fff}.dashboard-empty-state{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a1ab3;background:var(--glass-bg);border:1px dashed #404040;border:1px dashed var(--border-color);border-radius:16px;border-radius:var(--radius-xl);flex-direction:column;padding:3rem;padding:var(--space-2xl);text-align:center}.dashboard-empty-state,.empty-state-icon{align-items:center;display:flex;justify-content:center}.empty-state-icon{background:linear-gradient(135deg,#3b82f633,#8b5cf633);border-radius:50%;color:#3b82f6;color:var(--accent-primary);font-size:2.5rem;height:80px;margin-bottom:1.5rem;margin-bottom:var(--space-lg);width:80px}.dashboard-empty-state h3{color:#fff;color:var(--text-primary);margin:0 0 .5rem;margin:0 0 var(--space-sm) 0}.dashboard-empty-state p{color:#ccc;color:var(--text-secondary);margin:0 0 1.5rem;margin:0 0 var(--space-lg) 0}.empty-state-cta{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb 50%,#1d4ed8);background:var(--btn-gradient-primary);border:none;border-radius:8px;border-radius:var(--radius-md);box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 20px #3b82f666;box-shadow:var(--shadow-md),var(--glow-primary);color:#fff;display:inline-flex;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.empty-state-cta:hover{box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0006,0 0 30px #3b82f680;box-shadow:var(--shadow-lg),0 0 30px #3b82f680;transform:translateY(-2px)}.dashboard-error{align-items:center;display:flex;flex-direction:column;gap:1rem;gap:var(--space-md);justify-content:center;padding:3rem;padding:var(--space-2xl);text-align:center}.dashboard-error svg{color:#ef4444;color:var(--error-color);font-size:3rem}.dashboard-error p{color:#ccc;color:var(--text-secondary);margin:0}.retry-btn{background:#2a2a2a;background:var(--bg-tertiary);border:1px solid #404040;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#fff;color:var(--text-primary);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.retry-btn:hover{background:#404040;background:var(--border-color)}.dashboard-pagination{align-items:center;border-top:1px solid #404040;border-top:1px solid var(--border-color);display:flex;gap:1.5rem;gap:var(--space-lg);justify-content:center;margin-top:2rem;margin-top:var(--space-xl);padding-top:1.5rem;padding-top:var(--space-lg)}.pagination-btn{align-items:center;background:#2a2a2a;background:var(--bg-tertiary);border:1px solid #404040;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#fff;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.9rem;gap:.35rem;padding:.6rem 1rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:#404040;background:var(--border-color);transform:translateY(-1px)}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#ccc;color:var(--text-secondary);font-size:.9rem}.oauth-buttons{flex-direction:column;margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.oauth-button,.oauth-buttons{display:flex;gap:.5rem;gap:var(--space-sm)}.oauth-button{align-items:center;background:#1a1a1a;background:var(--bg-secondary);border:1px solid #404040;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#fff;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:500;justify-content:center;padding:.875rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);width:100%}.oauth-button:hover:not(:disabled){background:#2a2a2a;background:var(--bg-tertiary);border-color:#fff3;transform:translateY(-1px)}.oauth-button:disabled{cursor:not-allowed;opacity:.6}.oauth-button svg{font-size:1.25rem}.oauth-button.google:hover:not(:disabled){border-color:#4285f480;box-shadow:0 0 15px #4285f433}.oauth-button.discord{background:linear-gradient(135deg,#5865f21a,#5865f20d)}.oauth-button.discord:hover:not(:disabled){border-color:#5865f280;box-shadow:0 0 15px #5865f233}.oauth-divider{align-items:center;color:#888;color:var(--text-muted);display:flex;font-size:.85rem;gap:1rem;gap:var(--space-md);margin:1rem 0;margin:var(--space-md) 0}.oauth-divider:after,.oauth-divider:before{background:#404040;background:var(--border-color);content:"";flex:1 1;height:1px}@media (max-width:768px){.dashboard{padding:1rem 0;padding:var(--space-md) 0}.dashboard-header h1{font-size:1.75rem}.dashboard-stats{flex-direction:row;flex-wrap:wrap;gap:.5rem;gap:var(--space-sm);justify-content:center}.dashboard-stat-card{flex:0 0 calc(50% - 0.5rem);flex:0 0 calc(50% - var(--space-sm));min-width:0;padding:.5rem;padding:var(--space-sm);width:auto}.section-header{align-items:stretch;backdrop-filter:none;-webkit-backdrop-filter:none;background:#0000;box-shadow:none!important;flex-direction:column;gap:.5rem;gap:var(--space-sm);margin:0 0 1.5rem;margin:0 0 var(--space-lg) 0;padding:0;position:static}.section-header h2{font-size:1.25rem;text-align:left}.create-poll-btn{justify-content:center}.poll-card-header{flex-direction:column}.poll-card-status{align-self:flex-start}.poll-card-actions{justify-content:stretch}.poll-action-btn{flex:1 1;justify-content:center}}.App{display:flex;flex-direction:column;min-height:100vh;text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.23a7d04b.css.map*/