html,body{overscroll-behavior-y:none}
#app{padding-top:calc(env(safe-area-inset-top,0px) + var(--pull-offset,0px))}
#app.pull-dragging{user-select:none}
#app.pull-settling{transition:padding-top .18s ease-out}
.pull-indicator{position:fixed;left:50%;z-index:45;width:32px;height:32px;pointer-events:none;opacity:0;transform:translate(-50%,calc(var(--pull-distance,0px) / 2 - 16px));color:#aab0b8;transition:opacity .15s}
.pull-indicator.visible{opacity:1}
.pull-indicator svg{display:block;width:32px;height:32px;transform:rotate(var(--pull-turn,0deg))}
.pull-indicator circle{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:48 22}
.pull-indicator.spinning svg{animation:pull-spin .7s linear infinite}
.pull-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes pull-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#app.pull-settling{transition:none}.pull-indicator.spinning svg{animation:none}}
