Barra de progresso estática

Barra de progresso estática: um botão em CSS. Copie as regras, ou o prompt que o reconstrói.

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

Um botão de progresso cuja porcentagem de preenchimento é definida por uma custom property --p no elemento (estilo inline, por exemplo 64%): um gradiente de duas cores com transição dura mostra verde #86efac até esse ponto e cinza #f1f5f9 depois, borda de 1px #cbd5e1, raio de 6px, texto monospace 14px semibold #0f172a, padding 13px por 22px. Hover e active só escurecem um pouco. Focus com outline verde de 2px. Altere --p via JS ou uma classe para avançar.