Brilho com reflexo

Brilho com reflexo: um botão em CSS. Copie as regras, ou o prompt que o reconstrói.

sparkleairoundedshimmerlight

CSS
.btn-179 {
  position: relative;
  font: 600 14px/1 system-ui,sans-serif;
  color: #4c1d95;
  background: #f5f3ff;
  border: 1px solid #ddd6fe;
  border-radius: 10px;
  padding: 12px 22px;
  cursor: pointer;
  overflow: hidden;
  transition: border-color .2s,background .2s
}
.btn-179::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 40%;
  background: linear-gradient(100deg,#fff0,#fff9,#fff0);
  transform: skewX(-15deg);
  animation: shimmer179 2.6s ease-in-out infinite
}
.btn-179::after {
  content: "\2726";
  position: absolute;
  right: 8px;
  top: 4px;
  font-size: 9px;
  color: #a78bfa;
  animation: tw179 1.4s ease-in-out infinite
}
.btn-179:hover {
  border-color: #a78bfa;
  background: #ede9fe
}
.btn-179:focus-visible {
  outline: 2px solid #7c3aed;
  outline-offset: 3px
}
.btn-179:active {
  background: #ddd6fe
}
@keyframes shimmer179 {
  to {
    left: 120%
  }
}
@keyframes tw179 {
  50% {
    opacity: .2;
    transform: scale(.6)
  }
}
@media (prefers-reduced-motion: reduce) {
  .btn-179, .btn-179 * { animation: none; transition: none; }
}
HTML
<button class="btn-179">Summarize with AI</button>
Prompt

Um botão de IA lavanda claro #f5f3ff com borda de 1px #ddd6fe, raio de 10px, texto #4c1d95 14px semibold, padding 12px por 22px. Uma faixa branca inclinada de reflexo varre o botão a cada 2.6s (overflow hidden), e uma estrelinha de 9px (unicode 2726) em #a78bfa pulsa no canto superior direito. No hover aprofunda para #ede9fe com borda lavanda; active #ddd6fe. Focus com outline violeta de 2px.