Inverse first-principles catalyst design