Barra de progreso

Barra de progreso: botón en CSS. Copia las reglas, o el prompt que reproduce el resultado.

loadingprogressanimated-filloutline

CSS
.btn-084 {
  position: relative;
  overflow: hidden;
  font: 600 14px/1 system-ui,sans-serif;
  color: #065f46;
  background: #ecfdf5;
  border: 1px solid #6ee7b7;
  border-radius: 8px;
  padding: 12px 24px;
  cursor: progress
}
.btn-084::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 0;
  background: #a7f3d0;
  animation: btn-084-p 2.4s ease-in-out infinite
}
@keyframes btn-084-p {
  0% {
    width: 0
  }
  70% {
    width: 100%
  }
  100% {
    width: 100%;
    opacity: 0
  }
}
.btn-084 span {
  position: relative
}
.btn-084:focus-visible {
  outline: 2px solid #059669;
  outline-offset: 3px
}
@media (prefers-reduced-motion: reduce) {
  .btn-084, .btn-084 * { animation: none; transition: none; }
}
HTML
<button class="btn-084" disabled><span>Uploading</span></button>
Prompt

Un botón de carga verde pálido (relleno #ecfdf5, borde de 1px #6ee7b7, texto verde oscuro #065f46 de 14px semibold, radio de 8px, padding de 12px por 24px, deshabilitado) donde una barra menta #a7f3d0 crece desde el borde izquierdo hasta el ancho completo en 2.4s, se desvanece y se repite, detrás del texto "Uploading".