Where did I go wrong?
This is one of those slav positions where white is always a little better but black is very solid. The first 18 moves were solid and good play by both sides.
I think the problem started with the move 19 ..Nf8?! as it is not timed well and in this structure the knight is probably better on d7 instead of g6 anyway (protecting the queenside dark sqaures as well as each other). Offering the rook trade is a big decision that I don't think is needed at this particular moment and you can offer it almost anytime. The question you should ask is "is there any better/more useful move in the position?"
19 ..h6 is a good waiting and improving move. After that you want to start trading pieces and Bd6 followed by Bf4 is an idea.
The real problem was the exchange sac for a pawn. You do exchange sacs to force a breakthrough in an attack or to put your opponent in an awkward position immediately. Your exchange sac did none of that and had no follow up. After some almost forced trades (black doesn't want to trade at all if possible), white traded down and black just conceded a point of material for nothing.
Better was just retreating the queen back to b8.
27. Rd8?? was the obvious blunder of the game but actually your position was already not good being a point down straight. Even if you saw that and played something else white is still better and has good chances to win.
I think letting yourself get to the point where your queen felt so uncomfortable you felt pressured into the obviously bad exchange sac is what we need to look at. 10. . . . bd6 is one early idea, but I'm sure there are others (maybe 15. . . . nd5 for example). I think by move 19, the position is already uncomfortable, but Wrathss is probably correct that you can stay tight and fight for equality with better play. 21. ... Qe5 looks like a mistake, but white is obviously just lots more comfortable at this point between the properly set up white rooks and the posibility of occupying c5. At this point, maybe the best way to try and relieve pressure is to exchange rooks, play qe8, with the idea of either exchanging the second set of rooks or forcing the white rook to move off the dfile.
My take is that you gradually accumulated a somewhat greater than normal positional defecit through the opening/early mid game, and it made you uncomfortable enough to make a dubious exchange sac. Accordingly, I'd head over to 365chess.com and see where you deviated from what is generally played - often very instructive in a situation like this, where white got more out of the opening than they should have.
If you need help, please contact our Help and Support team.