Anillo cónico giratorio

Anillo cónico giratorio: botón en CSS. Copia las reglas, o el prompt que reproduce el resultado.

gradient-borderanimatedpillconicproperty

CSS
@property --a101 {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg
}
.btn-101 {
  position: relative;
  font: 600 15px/1 system-ui,sans-serif;
  color: #fff;
  background: #0b1020;
  border: 0;
  border-radius: 999px;
  padding: 14px 30px;
  cursor: pointer;
  isolation: isolate
}
.btn-101::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: conic-gradient(from var(--a101),#22d3ee,#a855f7,#f43f5e,#22d3ee);
  z-index: -1;
  animation: spin101 3s linear infinite
}
.btn-101::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #0b1020;
  z-index: -1
}
.btn-101:hover::after {
  background: #141b33
}
.btn-101:focus-visible {
  outline: 2px solid #a855f7;
  outline-offset: 4px
}
.btn-101:active {
  transform: scale(.97)
}
@keyframes spin101 {
  to {
    --a101: 360deg
  }
}
@media (prefers-reduced-motion: reduce) {
  .btn-101, .btn-101 * { animation: none; transition: none; }
}
HTML
<button class="btn-101">Launch</button>
Prompt

Un botón píldora con un borde arcoíris animado de 2px hecho con un degradado cónico (#22d3ee a #a855f7 a #f43f5e) que gira cada 3 segundos mediante un ángulo @property, interior oscuro #0b1020, texto blanco de 15px semibold, padding de 14px por 30px. Al pasar el cursor el interior se aclara a #141b33, en active se escala a 0.97. El foco es un outline violeta de 2px con offset de 4px.