.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:0 19px;
  overflow:hidden;
  border:1px solid rgba(216,180,254,.34);
  border-radius:11px;
  background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.2),0 9px 24px rgba(109,40,217,.24);
  color:#fff!important;
  font-family:Arial,sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  line-height:1;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease;
}
.btn:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.14) 48%,transparent 75%);
  transform:translateX(-120%);
  transition:transform .45s ease;
}
.btn:hover{
  transform:translateY(-2px);
  border-color:rgba(233,213,255,.65);
  box-shadow:inset 0 1px rgba(255,255,255,.24),0 13px 30px rgba(109,40,217,.34);
  filter:saturate(1.08);
}
.btn:hover:before{transform:translateX(120%)}
.btn:active{transform:translateY(0);box-shadow:inset 0 1px rgba(255,255,255,.16),0 5px 14px rgba(109,40,217,.22)}
.btn:focus-visible{outline:3px solid rgba(216,180,254,.34);outline-offset:3px}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none}
.btn>*{position:relative;z-index:1}
.btn-arrow{min-width:172px;min-height:52px;padding-inline:22px;border-radius:13px}
.btn-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.btn-arrow:hover svg{transform:translateX(3px)}
html[data-theme="dark"] .btn{border-color:#4a4a4a;background:linear-gradient(135deg,#f8f8f8,#d8d8d8);box-shadow:0 9px 24px rgba(0,0,0,.25);color:#090909!important}
html[data-theme="light"] .btn{border-color:#7c3aed;background:linear-gradient(135deg,#9b4de0,#7130cb);box-shadow:0 9px 24px rgba(88,28,135,.2);color:#fff!important}
@media(prefers-reduced-motion:reduce){.btn,.btn:before,.btn-arrow svg{transition:none}}
