Progreso estático

Progreso estático: botón en CSS. Copia las reglas, o el prompt que reproduce el resultado.

progressrectanglefillcustom-propertypercentage

CSS
.btn-182 {
  --p: 0%;
  position: relative;
  font: 600 14px/1 ui-monospace,Menlo,monospace;
  color: #0f172a;
  background: linear-gradient(90deg,#86efac var(--p),#f1f5f9 var(--p));
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 13px 22px;
  cursor: pointer;
  transition: filter .2s
}
.btn-182:hover {
  filter: brightness(.97)
}
.btn-182:focus-visible {
  outline: 2px solid #16a34a;
  outline-offset: 3px
}
.btn-182:active {
  filter: brightness(.93)
}
HTML
<button class="btn-182" style="--p:64%">Uploading 64%</button>
Prompt

Un botón de progreso cuyo porcentaje de relleno se fija con una custom property --p en el elemento (estilo inline, p. ej. 64%): un degradado de dos colores con borde duro muestra verde #86efac hasta ese punto y gris #f1f5f9 después, borde 1px #cbd5e1, radio 6px, texto monospace 14px semibold #0f172a, padding 13px por 22px. Hover y active solo atenúan ligeramente. Focus con outline verde de 2px. Cambia --p desde JS o con una clase para avanzar.