/* SwipeReader 0.2.4 — phone engine styles, on top of reader.css. */
/* the engine marks <html> while mounted (html.fr-swipe); header and strip heights stay the shared defaults (Chris, 2026-10-10) */
.sw-track { position: absolute; inset: var(--fr-top) 0 var(--fr-bottom); display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.sw-track::-webkit-scrollbar { display: none; }
.sw-slide { flex: 0 0 100%; scroll-snap-align: center; scroll-snap-stop: always; display: grid; place-items: center; }
.sw-page { position: relative; width: var(--sw-page-w); height: var(--sw-page-h); border-radius: 2px; box-shadow: 0 20px 50px rgba(0,0,0,.55), 0 4px 12px rgba(0,0,0,.35) !important; }
.sw-page img { -webkit-touch-callout: none; }
.sw-root .fr-footer { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
