`;
}).join('');
pdfContentEl.classList.remove('hidden');
html2canvas(pdfContentEl, { scale: 2 }).then(canvas => {
pdfContentEl.classList.add('hidden');
const imgData = canvas.toDataURL('image/png');
const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' });
const pdfWidth = pdf.internal.pageSize.getWidth();
const margin = 40;
const imgWidth = pdfWidth - (margin * 2);
const imgHeight = (canvas.height * imgWidth) / canvas.width;
pdf.addImage(imgData, 'PNG', margin, margin, imgWidth, imgHeight);
pdf.save('paywall-strategy-report.pdf');
}).catch(err => {
console.error("Error generating PDF:", err);
pdfContentEl.classList.add('hidden');
});
};
const formatCurrency = (val) => new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(val);
// --- Event Listeners & Initial Load ---
[monthlyVisitorsInput, conversionRateInput].forEach(input => input.addEventListener('input', calculateAndRender));
addTierBtn.addEventListener('click', () => addTier());
pdfBtn.addEventListener('click', handleDownloadPdf);
// Default Tiers
addTier('Basic', 9.99, 'Access to standard articles\nMonthly newsletter');
addTier('Premium', 19.99, 'Access to all articles\nAd-free experience\nExclusive content');
});