body {
  /*
  background: -moz-linear-gradient(45deg, #02e1ba 0%, #26c9f2 29%, #d911f2 66%, #ffa079 100%);
  background: -webkit-linear-gradient(45deg, #02e1ba 0%,#26c9f2 29%,#d911f2 66%,#ffa079 100%);
  background: linear-gradient(45deg, #02e1ba 0%,#26c9f2 29%,#d911f2 66%,#ffa079 100%);
  */
  background: -moz-linear-gradient(45deg, #2196F3 0%, #03A9F4 25%, #00BCD4 50%, #009688 75%, #455A64 100%);
  background: -webkit-linear-gradient(45deg, #2196F3 0%,#03A9F4 25%,#00BCD4 50%,#009688 75%, #455A64 100%);
  background: linear-gradient(45deg, #2196F3 0%,#03A9F4 25%,#00BCD4 50%,#009688 75%, #455A64 100%);
  background-size: 300% 300%;
  -webkit-animation: Gradient 145s ease infinite;
  -moz-animation: Gradient 145s ease infinite;
  animation: Gradient 145s ease infinite;
  overflow: hidden;
  position: relative; 
}

@-webkit-keyframes Gradient {
  0% { background-position: 0 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

@-moz-keyframes Gradient {
  0% { background-position: 0 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

@keyframes Gradient {
  0% { background-position: 0 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

body::before, 
body::after {
  content: "";
  position: absolute;
  left: -20vmin;
  top: -20vmin;
  width: 70vmax;
  height: 70vmax;
  background: rgba(255, 255, 255, 0.07);
  animation: morph 45s linear infinite alternate, 
            spin 80s linear infinite;
  z-index: 1;
  will-change: border-radius, transform;
  transform-origin: 55% 55%;
  pointer-events: none; 
}

body::after {
  width: 70vmin;
  height: 70vmin;
  left: auto;
  right: -10vmin;
  top: auto;
  bottom: 0;
  animation: morph 120s linear infinite alternate, 
             spin 140s linear infinite reverse;
  transform-origin: 20% 20%; 
}


@keyframes morph {
  0% { border-radius: 40% 60% 60% 40% / 70% 30% 70% 30%; }
  100% { border-radius: 40% 60%; } 
}

@keyframes spin {
  to { transform: rotate(1turn); } 
}