Liquid pill wobble
Liquid pill wobble: a CSS button. Copy the rules, or the prompt that rebuilds it.
CSS
.btn-112 {
font: 600 15px/1 system-ui,sans-serif;
color: #052e16;
background: #4ade80;
border: 0;
border-radius: 999px;
padding: 14px 30px;
cursor: pointer;
transition: background .2s
}
.btn-112:hover {
animation: wobble112 1.4s ease-in-out infinite;
background: #22c55e
}
.btn-112:focus-visible {
outline: 2px solid #052e16;
outline-offset: 3px
}
.btn-112:active {
animation: none;
border-radius: 14px;
background: #16a34a
}
@keyframes wobble112 {
0%,100% {
border-radius: 999px
}
25% {
border-radius: 40% 60% 55% 45%/55% 45% 55% 45%
}
50% {
border-radius: 60% 40% 45% 55%/45% 55% 45% 55%
}
75% {
border-radius: 45% 55% 60% 40%/55% 45% 50% 50%
}
}
@media (prefers-reduced-motion: reduce) {
.btn-112, .btn-112 * { animation: none; transition: none; }
}
HTML
<button class="btn-112">Drip</button>Prompt
A green #4ade80 pill with dark green #052e16 15px semibold text and 14px by 30px padding. While hovered it wobbles continuously through four asymmetric border-radius shapes (1.4s loop) as if made of liquid, and darkens to #22c55e. Active stops the wobble, snaps to 14px corners and #16a34a. Focus 2px dark green outline.