Lava lamp interior
Lava lamp interior: a CSS button. Copy the rules, or the prompt that rebuilds it.
CSS
.btn-113 {
position: relative;
overflow: hidden;
font: 700 15px/1 system-ui,sans-serif;
color: #fff;
background: #7c2d12;
border: 0;
border-radius: 999px;
padding: 14px 32px;
cursor: pointer;
isolation: isolate
}
.btn-113::before,.btn-113::after {
content: "";
position: absolute;
width: 70%;
height: 200%;
top: -50%;
left: -20%;
border-radius: 45% 55% 60% 40%/50% 40% 60% 50%;
background: #f97316;
filter: blur(6px);
opacity: .75;
z-index: -1;
animation: lava113 5s ease-in-out infinite alternate
}
.btn-113::after {
left: 50%;
background: #facc15;
animation-delay: -2.5s
}
.btn-113:hover::before,.btn-113:hover::after {
animation-duration: 2s
}
.btn-113:focus-visible {
outline: 2px solid #f97316;
outline-offset: 4px
}
.btn-113:active {
transform: scale(.97)
}
@keyframes lava113 {
to {
transform: translate(20%,10%) rotate(40deg);
border-radius: 55% 45% 40% 60%/40% 60% 40% 60%
}
}
@media (prefers-reduced-motion: reduce) {
.btn-113, .btn-113 * { animation: none; transition: none; }
}
HTML
<button class="btn-113">Melt</button>Prompt
A dark brown #7c2d12 pill with two blurred orange #f97316 and yellow #facc15 blobs drifting and rotating inside it (5s alternating loop, blur 6px, 75% opacity, overflow hidden) like a lava lamp. White 15px bold text, 14px by 32px padding. Hover speeds the blobs to 2s; active scales to 0.97. Focus 2px orange outline offset 4px.