Squircle squeeze

Squircle squeeze: a CSS button. Copy the rules, or the prompt that rebuilds it.

liquidsquirclemorphscalesoft-body

CSS
.btn-115 {
  font: 600 15px/1 system-ui,sans-serif;
  color: #fff;
  background: #0f766e;
  border: 0;
  border-radius: 18px;
  padding: 14px 28px;
  cursor: pointer;
  transition: border-radius .3s,transform .3s,background .2s
}
.btn-115:hover {
  border-radius: 28px;
  transform: scaleX(1.06) scaleY(.94);
  background: #0d9488
}
.btn-115:focus-visible {
  outline: 2px solid #0f766e;
  outline-offset: 3px
}
.btn-115:active {
  border-radius: 10px;
  transform: scaleX(.96) scaleY(1.04);
  background: #115e59
}
HTML
<button class="btn-115">Confirm</button>
Prompt

A teal #0f766e squircle button (18px radius), white 15px semibold text, 14px by 28px padding. On hover it squashes like a soft body: radius grows to 28px while it stretches 6% wider and 6% shorter, colour #0d9488, all over 300ms. Active does the opposite squeeze (narrower and taller, 10px radius, #115e59). Focus 2px teal outline offset 3px.