.button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:14px;
  padding:0 20px;
  border:1px solid transparent;
  font-weight:700;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;
}
.button svg{width:18px;height:18px;transition:transform .25s ease}
.button:hover{transform:translateY(-2px)}
.button:hover svg{transform:translate(2px,-2px)}
.button-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  box-shadow:0 14px 32px rgba(124,58,237,.26);
}
.button-primary:hover{box-shadow:0 20px 44px rgba(124,58,237,.36)}
.button-secondary{
  background:var(--surface-glass);
  border-color:var(--line);
  backdrop-filter:blur(18px);
}
.button-secondary:hover{border-color:rgba(124,58,237,.3);box-shadow:var(--shadow-sm)}
.button-large{min-height:56px;padding:0 25px;border-radius:16px}
.icon-button{
  width:44px;height:44px;display:grid;place-items:center;border-radius:13px;
  border:1px solid var(--line);background:var(--surface-glass);cursor:pointer;
  backdrop-filter:blur(16px);transition:.25s ease;
}
.icon-button:hover{border-color:rgba(124,58,237,.35);transform:translateY(-2px)}
.icon-button svg{width:19px;height:19px}
.icon-shell{
  flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  color:var(--primary);background:linear-gradient(145deg,rgba(124,58,237,.16),rgba(79,70,229,.06));
  border:1px solid rgba(124,58,237,.12);
}
.icon-shell svg{width:20px;height:20px}
.icon-shell-light{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.15)}
.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-weight:800}
.text-link svg{width:17px}
