/* OBSL V33 — custom iOS/PWA pull-to-refresh. No layout spacer, no permanent logo. */
html.obsl-ptr-capable,html.obsl-ptr-capable body{overscroll-behavior-y:none}
#obsl-pwa-pull-refresh{position:fixed;z-index:2147482400;top:max(1px,env(safe-area-inset-top));left:50%;width:48px;height:48px;display:grid;place-items:center;pointer-events:none;opacity:0;transform:translate3d(-50%,calc(-56px + var(--ptr-y,0px)),0);transition:opacity .11s ease;will-change:transform,opacity;background:transparent;border:0;box-shadow:none}
#obsl-pwa-pull-refresh.is-visible{opacity:1}
#obsl-pwa-pull-refresh .obsl-ptr-logo{display:block;width:42px;height:42px;object-fit:contain;filter:none;transform:scale(.9);transition:transform .12s ease}
#obsl-pwa-pull-refresh.is-ready .obsl-ptr-logo{transform:scale(1.07)}
#obsl-pwa-pull-refresh.is-loading .obsl-ptr-logo{animation:obslPtrPulse .68s ease-in-out infinite alternate}
@keyframes obslPtrPulse{from{opacity:.38;transform:scale(.88)}to{opacity:1;transform:scale(1.08)}}
html.obsl-ptr-active,html.obsl-ptr-active body{overscroll-behavior-y:none!important}
