Angle brackets arrow

Angle brackets arrow: a CSS button. Copy the rules, or the prompt that rebuilds it.

bracketcorner-marktextcodechevron

CSS
.btn-155 {
  position: relative;
  font: 600 14px/1 system-ui,sans-serif;
  color: #0f172a;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  padding: 12px 34px;
  cursor: pointer;
  transition: border-color .2s,padding .2s
}
.btn-155::before,.btn-155::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font: 700 14px/1 ui-monospace,Menlo,monospace;
  color: #94a3b8;
  transition: color .2s,left .2s,right .2s
}
.btn-155::before {
  content: "<";
  left: 12px
}
.btn-155::after {
  content: "/>";
  right: 12px
}
.btn-155:hover {
  border-color: #0f172a;
  padding: 12px 38px
}
.btn-155:hover::before {
  color: #0f172a;
  left: 10px
}
.btn-155:hover::after {
  color: #0f172a;
  right: 10px
}
.btn-155:focus-visible {
  outline: 2px solid #0f172a;
  outline-offset: 3px
}
.btn-155:active {
  background: #f1f5f9
}
HTML
<button class="btn-155">Open source</button>
Prompt

A white button with a 1px #cbd5e1 border, 4px radius, 14px semibold #0f172a text and wide 34px side padding holding a grey monospace "<" on the left and "/>" on the right like a code tag. On hover the border and both brackets turn dark, the padding widens to 38px and the brackets shift 2px outward. Active #f1f5f9. Focus 2px dark outline.