<button class="btn-90">
  <div class="blobs"></div>
  <span>Button</span>
</button>

<svg width="0" height="0">
  <defs>
    <filter id="goo">
      <feGaussianBlur in="SourceGraphic" stdDeviation="10" result="blur" />
      <feColorMatrix
        in="blur"
        type="matrix"
        values="1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 18 -7"
        result="goo"
      />
      <feBlend in="SourceGraphic" in2="goo" />
    </filter>
  </defs>
</svg>
				
			
				
					.btn-90,
.btn-90 *,
.btn-90 :after,
.btn-90 :before,
.btn-90:after,
.btn-90:before {
  border: 0 solid;
  box-sizing: border-box;
}
.btn-90 {
  -webkit-tap-highlight-color: 
transparent;
  -webkit-appearance: button;
  background-color: 
#000;
  background-image: none;
  color: 
#fff;
  cursor: pointer;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif,
    Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  font-size: 100%;
  font-weight: 900;
  line-height: 1.5;
  margin: 0;
  -webkit-mask-image: -webkit-radial-gradient(#000, #fff);
  padding: 0;
}
.btn-90:disabled {
  cursor: default;
}
.btn-90:-moz-focusring {
  outline: auto;
}
.btn-90 svg {
  display: block;
  vertical-align: middle;
}
.btn-90 [hidden] {
  display: none;
}
.btn-90 {
  --size: 60px;
  background: none;
  border-radius: 999px;
  box-sizing: border-box;
  display: block;
  -webkit-mask-image: none;
  padding: 20px 0;
  position: relative;
  text-transform: uppercase;
}
.btn-90 span {
  font-weight: 900;
  mix-blend-mode: difference;
}
.btn-90 .blobs {
  filter: url(#goo);
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.btn-90 .blobs:after,
.btn-90 .blobs:before {
  background: 
#fff;
  border-radius: 50%;
  content: "";
  height: var(--size);
  pointer-events: none;
  position: absolute;
  top: calc(50% - var(--size) / 2);
  transition: transform 0.8s;
  width: var(--size);
}
.btn-90 .blobs:before {
  left: 100%;
}
.btn-90 .blobs:after {
  right: 100%;
}
.btn-90:hover .blobs:before {
  transform: translateX(-100%);
}
.btn-90:hover .blobs:after {
  transform: translateX(100%);
}