diff --git a/static/js/main.js b/static/js/main.js index 56a96c1..fa07d41 100644 --- a/static/js/main.js +++ b/static/js/main.js @@ -351,15 +351,15 @@ const cvFooter = document.querySelector('.cv-footer'); if (!cvContainer) return; - // Convert percentage to decimal (100 = 1.0, 50 = 0.5, etc.) - const zoomLevel = zoomValue / 100; + // Convert percentage to scale factor (100 = 1.0, 150 = 1.5, etc.) + const scale = zoomValue / 100; requestAnimationFrame(() => { - // Use CSS zoom property which affects actual layout space - // Unlike transform: scale(), zoom reduces document space at lower values - cvContainer.style.zoom = zoomLevel; + // Use transform: scale() for true visual zoom without constraints + // This allows zoom to extend beyond viewport at >100% + cvContainer.style.transform = `scale(${scale})`; if (cvFooter) { - cvFooter.style.zoom = zoomLevel; + cvFooter.style.transform = `scale(${scale})`; } // Update display