Is there any way to build a "browser zoom"-esque feature into a dash app?

I would like to be able to incorporate a slider into a dash app that can rescale the app’s content (just like CTRL/+ and CTRL/- do), but separate from the browser-level zoom. The reason for this desire is that the dash app will be embedded into another webpage using an iframe, and adjusting the browser zoom on that page will also rescale the rest of the host website’s content, which is not desired.

My attempt was to try to use a clientside_callback connected to dcc.slider that would control the zoomLevel, like the following:

app.clientside_callback(
    """
    function(zoomLevel) {
            document.body.style.zoom = zoomLevel;
            return {}; 
    }
    """,
    Input('zoom-slider', 'value')
)

This ~almost~ worked, with a few artifacts. The biggest issue was that hover info boxes for elements in the dash app did not seem to scale correctly with everything else, and when the zoomLevel was reduced to smaller than 1, the hover boxes would end up smaller than the text which they contained. The other issue encountered was that the go.Scattermap element in the app had an issue tracking the cursor, it would think that the cursor was considerably to the left of its true location. This was not the case for other elements in the app, such as a go.Pie, go.Sunburst, and go.Scatter.

Curious if anyone has any advice for workarounds to avoid these artifacts, or any suggestions for alternatives to this approach.