Right now she is hurt and angry over the baby and she's holding on to it because she doesn't know what else to do. Even if she is a teen, she's still a child and those feeling are very big for a young person.
She also has past abandonment issues with her bio mom. So there are a whirlwind of feelings coming though and she's directing it at you.
Some stepkids rationalize that if the stepmom weren't in the picture, their parents would be "happily married." So they direct their anger at their stepmoms (or dads).
First--let go of the little things. Who cares about a light? She's deliberately picking fights. You can just let things go. Anything she can pick a fight about she will. So just let things go.
Another thing you can do is LET HER BE MAD. See, when a child is angry at you they will automatically do the opposite of whatever you want. The solution is to let a child be mad. You can go up to her and say "I understand you are angry at me, for whatever reason. I just want you to know that I'm here for you, and when you're done being angry I'll still be here. Anytime you want to talk, let me know."
Then just let her be mad. IGNORE IT. Not in a mean way where you deliberately avoid them (like you would ignore a temper tantrum) but just make no comment. Go about your life. If she wants to sit in the other room and not talk to you, let her do it. Stop trying to get her to talk to you.
Be nice to her like you normally would, though. So if you need her to do something, you can ask her to do it. I'm not saying ignore her to be mean, I'm saying to let her be mad. There is a difference.
The minute you stop "chasing" after her by trying to talk to her or getting upset, that's when her game of being mad no longer serves a purpose. And it will stop. Then you welcome her back.
Ever argue with someone? The more they argue back, the more you argue back. But as soon as they give up and say "oh, you're right" the game of arguing ends.
I know this works because I use it all the time. My SD gets mad, so she will argue or do the opposite of everything you say. My husband can't stand her being upset, so he will try to talk to her or do nice things to her to get her to not be mad. That just makes it WORSE! The minute he gives up and says "okay, go ahead and be mad" that's when 5 minutes later she is her C. self again. What good is a game if no one will play?
So, stop playing her game. First you have to get her to stop playing the "I'm mad at you" game before you can get to the root of any issues. Once she's done playing, I guarantee you'll be able to talk to her.
I wish you luck! And yes, years down the road she will see her mistakes and you'll have a better relationship.
Good luck!
ETA I forgot to mention that she may turn up the drama when she sees that what she's doing has no effect. So be prepared. What I do is ignore it. If she can't speak to me in a respectful way, then I'm not hearing. I don't argue or ask for her to speak respectfully, I just ignore. You'll actually know it's working if she turns up the drama. The calmer you handle it, the faster she will blow up--and then fizzle out.