The Pokedex data is fetched from Pokemon Showdown's public API, I'm not sure why some of the pokemon have negative numbers like that but if you take a look in the Pokedex there are a good few of them ->
Pokedex
I just figured that's how they are in the actual games, never really verified it myself. If I can find out their correct numbers I can modify our fetcher script to submit the correct values, but it does make me wonder why Showdown would have incorrect values like that.
As for the descriptions, blame
@CommonTravelGuy >_>