Pulse loading ghost
Pulse loading ghost: a CSS button. Copy the rules, or the prompt that rebuilds it.
CSS
.btn-085 {
font: 600 14px/1 system-ui,sans-serif;
color: #9ca3af;
background: #f3f4f6;
border: 1px dashed #d1d5db;
border-radius: 8px;
padding: 12px 24px;
cursor: wait;
animation: btn-085-p 1.6s ease-in-out infinite
}
@keyframes btn-085-p {
0%,100% {
opacity: 1
}
50% {
opacity: .45
}
}
.btn-085:focus-visible {
outline: 2px solid #9ca3af;
outline-offset: 3px
}
@media (prefers-reduced-motion: reduce) {
.btn-085, .btn-085 * { animation: none; transition: none; }
}
HTML
<button class="btn-085" disabled>Please wait</button>Prompt
A disabled placeholder button that pulses: #f3f4f6 fill, 1px dashed #d1d5db border, grey #9ca3af 14px semibold text "Please wait", 8px radius, 12px by 24px padding, cursor wait. Its opacity breathes between 100% and 45% every 1.6s.