Skip to content

fix(css): clear safe-area insets and honor reduced-motion on the Pro path#2

Open
Reebz wants to merge 1 commit into
bluedusk:mainfrom
Reebz:fix/safe-area-reduced-motion
Open

fix(css): clear safe-area insets and honor reduced-motion on the Pro path#2
Reebz wants to merge 1 commit into
bluedusk:mainfrom
Reebz:fix/safe-area-reduced-motion

Conversation

@Reebz

@Reebz Reebz commented Jun 9, 2026

Copy link
Copy Markdown

What

Found while viewing a deployed deck on a notched phone.

  • Add viewport-fit=cover to the viewport meta, without which env(safe-area-inset-*) resolves to zero on notched iOS.
  • Route the .progress-bar, .slide-counter, and .nav-hints bottom offsets through env(safe-area-inset-bottom, 0) via calc(), so notched devices clear the home indicator while desktop and non-notched layouts stay pixel-identical.
  • Append a @media (prefers-reduced-motion: reduce) block to components.css. Reduced-motion is documented for the Pro path but absent from it. This stops the infinite particle, glow, and bob loops and shortens entrance transitions. It mirrors the existing block in viewport-base.css, extended with animation-iteration-count: 1 so the looping animations actually halt.
  • Correct a stale claim in references/html-template.md about where reduced-motion lives.

A doc inconsistency worth a look

While here I noticed SKILL.md calls viewport-base.css mandatory for every deck (lines 55, 282, and 516), but the per-mode bullets (286 to 308) point the Pro path at a slide model that conflicts with it. I left SKILL.md untouched here to keep this PR small, and it is worth a separate clarification.

Test

  • With a simulated safe-area inset, the progress bar and counter sit above the home indicator. With none present, desktop offsets are unchanged.
  • Under prefers-reduced-motion: reduce, particle, glow, and bob animations stop and entrance transitions are near-instant.

Dependencies

Touches components.css, so it is cleanest to merge after the runtime null-guard and 100dvh PR.

Co-Authored-By: Leslie Barbara Knope (Claude Opus 4.8 (1M context)) noreply@anthropic.com

…path

Fixed bottom chrome sat under the iOS notch and home indicator because the viewport meta lacked viewport-fit=cover and the offsets ignored the safe area. Route the chrome offsets through env(safe-area-inset-bottom), which resolves to zero on desktop, so nothing moves there. Also add the prefers-reduced-motion block to the Pro path, where it was documented but absent, so the infinite particle, glow, and bob loops actually stop.

Co-Authored-By: Leslie Barbara Knope (Claude Opus 4.8 (1M context)) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 9, 2026

Copy link
Copy Markdown

@Reebz is attempting to deploy a commit to the bluedusk's projects Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant