/* * Mobile fix for the LibreSign public signing page. * * PROBLEM: src/ExternalApp.vue sets `height: 100vh` on `html body #content` * and again on `#app-sidebar` under `@media (max-width: 512px)`. iOS Safari * resolves 100vh against the LARGE viewport -- as though the browser chrome * were hidden -- so the element extends behind the bottom toolbar and the * signing action bar is clipped off-screen. The built `external` chunk uses * 100vh seven times and dvh/svh/safe-area zero times. * * WHY NOT safe-area-inset: the page's viewport meta is * `width=device-width, initial-scale=1.0, minimum-scale=1.0` with no * `viewport-fit=cover`, so env(safe-area-inset-bottom) resolves to 0 here. * * WHY dvh: the dynamic viewport unit tracks the chrome as it shows and hides, * which is exactly the behaviour wanted. Browsers without dvh support drop the * declaration entirely and keep LibreSign's own 100vh -- so this degrades to * today's behaviour rather than to something broken. No @supports needed. * * SCOPING IS LOad-BEARING. `#content` and `#app-sidebar` are Nextcloud-wide * IDs used throughout the authenticated UI. Every rule below is scoped to * `#body-public` + `.app-public`, which the public signing page sets: *
*