@media (max-width: 640px){
  html, body{
    height:100%;
    min-height:100%;
    overflow:hidden !important;
    overscroll-behavior-y:none !important;
    overscroll-behavior:none !important;
  }

  body{
    position:relative;
    max-width:100%;
  }

  #pageScrollRoot{
    position:fixed;
    inset:0;
    width:100%;
    max-width:none;
    margin:0;
    padding-left:16px;
    padding-right:16px;
    padding-top:0;
    padding-bottom:calc(env(safe-area-inset-bottom, 0px) + var(--mobile-scroll-extra-bottom, max(220px, 42vh)));
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:none;
    overscroll-behavior-x:none;
    touch-action:pan-y pinch-zoom;
    background:var(--bg);
    box-sizing:border-box;
    scroll-padding-top:calc(var(--topbar-h) + var(--topbar-gap));
  }

  #pageScrollRoot > .card:last-of-type{
    margin-bottom:0;
  }

  #pageScrollBottomSpacer{
    display:block;
    width:100%;
    height:1px;
    pointer-events:none;
    opacity:0;
  }

  body.sidebar-open #pageScrollRoot{
    overflow:hidden;
  }
}
