alDescription(offer);
                
                // Set a timeout in case gathering takes too long
                setTimeout(() => {
                    if (gatherBtn.disabled) {
                        showStatus(`Gathering timed out. Found ${candidates.length} candidates.`, 'success');
                        gatherBtn.disabled = false;
                    }
                }, 10000);
                
            } catch (error) {
                showStatus(`Error: ${error.message}`, 'error');
    