Very cool. This would have saved me tons of time in college.
One minor usability issue, clicking the different style after generating the citation doesn't have any result until you generate a new citation. That is a little unintuitive. I would either switch to the different style immediately or put some separation in the UI between the returned citation and the components that are used to generate a new citation.