             });
          }

          // Optimized vote handling with error recovery
          thumbsButtons.forEach(button => {
              button.addEventListener('mousedown', createRipple);

              button.addEventListener('click', async function() {
                  const featureId = this.getAttribute('data-feature-id');
                  const isUpvote = this.classList.contains('thumbs-up');
                  const featureCard = this.closest('.feature-card');

                  if (!featureC