From 7cdf856459673f6220f93528f80da3e108b8e6ae Mon Sep 17 00:00:00 2001 From: Josh Harris Date: Thu, 16 Jul 2026 17:07:32 +0100 Subject: [PATCH 1/5] fix: reserve top space for Playwire flex ad unit instead of letting it cover nav bar Playwire's "flex" ad unit injects #pw-oop-flex_container as body's first child. Since body uses flex/flex-row/overflow-hidden for its own layout, the ad's wrapper (unlike its already-fixed inner content) becomes an untracked flex item that distorts the layout and lets the ad's fixed/max-z-index creative cover the nav bar with no reserved space. Mirrors the existing bottom_rail handling by taking the container out of flex flow, and adds a --flex-ad-height custom property (kept in sync via ResizeObserver/MutationObserver) so body's padding-top pushes content below the ad instead of under it. --- index.html | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 96ecbd3a45..46f51a5016 100644 --- a/index.html +++ b/index.html @@ -18,12 +18,19 @@ transition: opacity 0.5s ease-out; } - /* iOS safe area support */ + /* iOS safe area support, plus reserved space for Playwire's "flex" + ad unit (a top banner injected as body's first child). Its + height is mirrored into --flex-ad-height by the script near + the end of , so the nav bar is pushed below it instead + of being covered. */ body { - padding-top: env(safe-area-inset-top); + padding-top: calc( + env(safe-area-inset-top) + var(--flex-ad-height, 0px) + ); padding-right: env(safe-area-inset-right); padding-bottom: env(safe-area-inset-bottom); padding-left: env(safe-area-inset-left); + transition: padding-top 0.3s ease; } /* Prevent Playwire bottom rail from affecting flex layout, @@ -33,6 +40,20 @@ z-index: 150 !important; } + /* Prevent Playwire's "flex" ad unit (top banner) from being + treated as a flex item in body's flex-row layout. It's + injected as body's first child; the ad creative itself is + already position:fixed, but the wrapping container Playwire + adds is not, so — like bottom_rail above — it must be taken + out of flow or it shifts/clips the rest of the page under + body's overflow-hidden. */ + [id^="pw-oop-flex"] { + position: fixed !important; + top: 0; + left: 0; + width: 100%; + } + /* Google Funding Choices CCPA link override */ .fc-dns-link, .fc-ccpa-root, @@ -463,6 +484,44 @@ }); + + + + From bb10055d6b3ee91d496c55dbda12be1618b2f12b Mon Sep 17 00:00:00 2001 From: evanpelle Date: Thu, 23 Jul 2026 10:49:54 -0700 Subject: [PATCH 3/5] fix url --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index c200f6c7b1..35a536eef0 100644 --- a/index.html +++ b/index.html @@ -539,7 +539,7 @@ From e2d73f86f411cc382c188dfd27ce1812c8049f81 Mon Sep 17 00:00:00 2001 From: evanpelle Date: Thu, 23 Jul 2026 11:21:25 -0700 Subject: [PATCH 4/5] remove duplicate script --- index.html | 5 ----- 1 file changed, 5 deletions(-) diff --git a/index.html b/index.html index 35a536eef0..29570b67aa 100644 --- a/index.html +++ b/index.html @@ -530,11 +530,6 @@ >