It took me a minute to figure out a good solution for part 2, but I'm pretty happy with the custom-sort-function implementation.
I also really like the LINQ one-liners for getting the actual totals. I feel like future-me is going to be mad and confused, but right now it feels fun!