From d52427d71c8f6074e40712c67ddd479be8061ab0 Mon Sep 17 00:00:00 2001 From: Andrew Moore Date: Sun, 9 Aug 2026 23:12:58 -0700 Subject: [PATCH] Merge nucleic/rustic-north-robin-niry into main Mirrored from corpo 86dac28. --- src/pages/404.astro | 8 ++++++++ src/pages/index.astro | 20 +++++++++++++------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/pages/404.astro b/src/pages/404.astro index 6a4dc26..c383c8a 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -64,6 +64,14 @@ const description = 'The page you requested does not exist.'; background-color: var(--paper); } + /* Same as index: macOS Safari's bounce shows chrome-side material the page cannot + colour, so wide viewports go without it. */ + @media (min-width: 721px) { + html { + overscroll-behavior: none; + } + } + body { margin: 0; min-width: 320px; diff --git a/src/pages/index.astro b/src/pages/index.astro index 28c2ed4..fd6f209 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -159,13 +159,19 @@ const canonical = new URL('/', Astro.site); background-color: var(--paper); } - /* The rubber band is deliberately allowed everywhere, desktop included. It was - suppressed on wide viewports for a while (overscroll-behavior: none) when the - bounce was exposing fills the page didn't yet control — but the owner found the - page felt dead without it, and by now every pixel a bounce can reveal is owned: - body's background-color fills the gap, and the ambient layer carries its own - --paper apron beyond every edge. If banding ever returns out there, fix the - surface it comes from rather than re-locking the scroll. */ + /* Desktop keeps no rubber band, and this went back and forth twice — don't move it + again without new information. Unlocked, macOS Safari still banded even with + every page-side pixel owned (body gap fill, ambient apron): parts of its bounce + are chrome-side material — the render-time tint sample, the refresh spinner + well — that no page CSS reaches, and the owner judged the occasional band worse + than the lost bounce. Phones keep the native feel: the page actually scrolls + there, iOS fills its gap from body correctly, and none would also cost + pull-to-refresh. */ + @media (min-width: 721px) { + html { + overscroll-behavior: none; + } + } body { margin: 0;