Cambio de texto vertical

Cambio de texto vertical: botón en CSS. Copia las reglas, o el prompt que reproduce el resultado.

text-swapsliderectangletwo-labels

CSS
.btn-116 {
  position: relative;
  overflow: hidden;
  font: 600 15px/1 system-ui,sans-serif;
  color: #fff;
  background: #111827;
  border: 0;
  border-radius: 8px;
  padding: 0 24px;
  height: 46px;
  cursor: pointer
}
.btn-116 span {
  display: block;
  line-height: 46px;
  transition: transform .3s cubic-bezier(.4,0,.2,1)
}
.btn-116 span::after {
  content: attr(data-alt);
  display: block;
  line-height: 46px;
  color: #a5b4fc
}
.btn-116:hover span {
  transform: translateY(-46px)
}
.btn-116:focus-visible {
  outline: 2px solid #111827;
  outline-offset: 3px
}
.btn-116:active {
  background: #000
}
HTML
<button class="btn-116"><span data-alt="On my way">Get started</span></button>
Prompt

Un botón oscuro #111827, radio de 8px, altura fija de 46px, texto blanco de 15px semibold con 24px de padding lateral. La etiqueta va dentro de una caja con overflow hidden; al pasar el cursor se desliza hacia arriba y desaparece, y una segunda etiqueta (desde un atributo data-alt, de color #a5b4fc) entra desde abajo en 300ms. En active se oscurece a negro. Foco con outline oscuro de 2px y offset de 3px.