diff --git a/src/facets/themes/winamp/browser/element.js b/src/facets/themes/winamp/browser/element.js index 16595fc0..82f03820 100644 --- a/src/facets/themes/winamp/browser/element.js +++ b/src/facets/themes/winamp/browser/element.js @@ -245,7 +245,13 @@ this.#renderIfWindowChanged(); ); this.#resizeObserver = new ResizeObserver((entries) => { - this.#viewportHeight = entries[0].contentRect.height; + // Cap to window.innerHeight to guard against measuring the scroll height + // before shadow DOM stylesheets finish loading (when the panel has no + // flex constraints and expands to its full virtual content size). + this.#viewportHeight = Math.min( + entries[0].contentRect.height, + window.innerHeight, + ); this.#renderIfWindowChanged(); });