Subrayado creciente

Subrayado creciente: botón en CSS. Copia las reglas, o el prompt que reproduce el resultado.

underlinetext-buttonborder-drawminimal

CSS
.btn-065 {
  position: relative;
  font: 500 15px/1 system-ui,sans-serif;
  color: #111827;
  background: none;
  border: 0;
  padding: 6px 2px;
  cursor: pointer
}
.btn-065::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #111827;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s
}
.btn-065:hover::after {
  transform: scaleX(1)
}
.btn-065:focus-visible {
  outline: 2px solid #111827;
  outline-offset: 4px
}
.btn-065:active {
  color: #4b5563
}
HTML
<button class="btn-065">Read more</button>
Prompt

Un botón de texto plano (15px de peso medio, #111827, sin fondo ni borde, padding de 6px por 2px) con un subrayado de 2px que se dibuja de izquierda a derecha al pasar el cursor (scaleX de 0 a 1, origen a la izquierda, 250ms). En active el texto se agrisa a #4b5563. Outline de foco de 2px oscuro con offset de 4px.