Abel's offering also pre-figured the need for a blood sacrifice...
This is the key to Abel's offering. Without the shedding of blood there is no remission of sins. From the time of Adam to the time of Christ clean animals were to be sacrificed and their blood poured out so that there would be an atonement for sins. At the same time human beings were forbidden to consume blood, and that still applies to Christians. But atonement means a "covering".
God accepted these sacrifices as a covering for sins in anticipation of the ultimate sacrifice of Christ (who was slain from BEFORE the foundation of the world in God's eyes). Christ was the Lamb of God who took away the sin of the world. He was the Propitiation for the sins of the whole world.
There is no doubt that Adam and Eve would have taught Cain and Abel the meaning and the necessity of such sacrifices to God. But Cain was already under the influence of Satan (called "the Wicked One"), therefore he refused to do what God required, and did what he pleased. In fact he was an evil man. Therefore his offering was rejected.
Not as Cain, who was of that Wicked One, and slew his brother. And wherefore slew he him? Because his own works were evil, and his brother's righteous. (1 John 3:12)