html.ctj-pwa-pull-enabled,html.ctj-pwa-pull-enabled body{overscroll-behavior-y:contain}
.ctj-pwa-refresh{position:fixed;z-index:2147483000;top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;max-width:calc(100vw - 32px);width:max-content;display:flex;align-items:center;gap:9px;padding:10px 15px;color:#263448;background:rgba(255,255,255,.97);border:1px solid #dce3eb;border-radius:24px;box-shadow:0 3px 16px #13223520;font:500 12px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-55px);transition:opacity .15s,transform .15s,visibility .15s}
.ctj-pwa-refresh[data-state="pull"],.ctj-pwa-refresh[data-state="release"],.ctj-pwa-refresh[data-state="loading"],.ctj-pwa-refresh[data-state="error"]{visibility:visible;opacity:1;transform:translate(-50%,var(--ctj-pull-offset,0px))}
.ctj-pwa-refresh[data-state="pull"]{opacity:var(--ctj-pull-opacity,1);transition:none}
.ctj-pwa-refresh__spinner{display:block;position:relative;flex:0 0 22px;width:22px;height:22px;transform:rotate(var(--ctj-pull-rotation,0deg))}
.ctj-pwa-refresh__spinner i{position:absolute;left:9.5px;top:1px;width:3px;height:6px;border-radius:2px;background:#536478;transform-origin:1.5px 10px;transform:rotate(calc(var(--ctj-spoke)*30deg));opacity:calc(.18 + var(--ctj-spoke)*.072)}
.ctj-pwa-refresh[data-state="loading"] .ctj-pwa-refresh__spinner{animation:ctj-pwa-refresh-spin .85s steps(12,end) infinite}
.ctj-pwa-refresh[data-state="error"] .ctj-pwa-refresh__spinner{display:none}
.ctj-pwa-refresh-button{position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 8px);left:8px;z-index:2147483001;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;border:0}
.ctj-pwa-refresh-button:focus-visible{clip-path:none;width:auto;height:auto;padding:10px 16px;border-radius:8px;border:2px solid #2271b1;background:#fff;color:#172e49;outline:2px solid #fff;font:600 14px/1.4 sans-serif}
@keyframes ctj-pwa-refresh-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ctj-pwa-refresh{transition:none}.ctj-pwa-refresh[data-state="loading"] .ctj-pwa-refresh__spinner{animation:none}}
