Disentangling, Amplifying, and Debiasing: Learning Disentangled Representations for Fair Graph Neural Networks