.mobile-sync-status[hidden]{display:none!important}
.mobile-sync-status{box-sizing:border-box;display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:7px;overflow:hidden;width:100%;height:0;padding:0 16px;color:#405f8f;font-family:inherit;font-size:12px;line-height:1.4;text-align:center}
.mobile-sync-status i{display:block;flex:0 0 22px;width:22px;height:22px;border:2px solid #d5deea;border-top-color:#405f8f;border-radius:50%;transform:rotate(var(--pull-rotation,0deg))}
.mobile-sync-status[data-phase=loading] i{animation:nodly-pull-spin .8s linear infinite}
.mobile-sync-status[data-phase=complete] i,.mobile-sync-status[data-phase=error] i{display:none}
@keyframes nodly-pull-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.mobile-sync-status[data-phase=loading] i{animation:none}}
@media(min-width:769px){.mobile-sync-status{display:none!important}}
@media(max-width:768px){
  /* Keep the mobile canvas within the layout viewport, without disabling pinch zoom. */
  body.authenticated .main-area,body.authenticated .main-area>.view,body.authenticated .mobile-home{box-sizing:border-box;min-width:0;max-width:100%;}
  body.authenticated .mobile-home{width:100%;margin-inline:0;overflow-wrap:anywhere}
  /* Include sign-in/recovery BEFORE .authenticated is set. The shared auth
     typography otherwise wins at 14px and can trigger focus zoom on iOS.
     Keep pinch zoom enabled; do not reset a user's viewport scale. */
  html body .auth-gateway :is(.auth-input input,.auth-form input,.auth-form select){font-size:16px!important}
  /* Safari zooms focused controls below 16px. Keep editable controls readable. */
  html body.authenticated input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),html body.authenticated select,html body.authenticated textarea{font-size:16px!important}
  body.authenticated .main-area{overscroll-behavior-y:contain}
}
