Marshawn Lynch got his 100 yards. He scored the first touchdown rushing this season against San Francisco, and with it came another shower of Skittles that required industrial blowers to clear the end zone of debris.
Didn't matter. Seattle's hope of completing its second-half rally with a spot in the postseason is over.
"We lost. Thanks y'all. I appreciate it," Lynch said.
The Seahawks' late-season charge toward an unlikely playoff berth ended Saturday thanks to four field goals from David Akers and one big turnover in San Francisco's 19-17 victory.
The loss snapped Seattle's three-game winning streak and ended its hopes of recovering from a 2-6 start. Even with a victory, the Seahawks (7-8) were going to need plenty of help in the final two weeks to reach the postseason, but those hopes were dashed when Tarvaris Jackson fumbled while being tackled from behind by Larry Grant with 1:07 left.
"We've really come a long ways," Seattle coach Pete Carroll said. "I know we have one game left, and we're looking forward to get that done and finish on a good note, but our football team is so much different than we were early on. It's just sticking to it; playing tough."
Lynch has personified what Carroll wants out of his team. He became the first running back to top 100 yards rushing against the 49ers since Week 11 of the 2009 season with his 107 yards on 21 carries. Against the top run defense in the NFL, Lynch gashed the 49ers for powerful runs of 18, 15 and 10 yards in the first half, before a more workmanlike effort in the final 30 minutes as Seattle's offense struggled to get anything going.
He also ended the 49ers' streak of denying touchdowns on the ground. Lynch scooted around the left side for a 4-yard TD with 6:41 left that gave Seattle a 17-16 lead and came moments after Heath Farwell blocked Andy Lee's punt to set up the Seahawks' only points of the second half.
San Francisco (12-3) was the first team in NFL history to not allow a touchdown rushing through 14 games. Then the 49ers ran into Lynch.
"We take pride in stopping the run and not giving up a 100-yard rusher or a rushing touchdown," Grant said. "They got the opportunity to do that today. Hats off to Marshawn. He's one of the best in the league and the best we've played against all year long."
Lynch has 100 yards or more in six of his last eight games and has touchdowns in the last 11. Even though he was reluctant to talk, Lynch's teammates were effusive in their praise.
"If Marshawn Lynch isn't in the Pro Bowl, there is something wrong with the voting system. Plain and simple," said Seattle wide receiver Doug Baldwin, who caught a 13-yard TD pass in the first quarter. "He's proved it week in and week out. ... Rushing for over 100 yards on the No. 1-ranked rush defense in the NFL, that's not something that's easily achieved, and he did it."
Seattle took a 10-3 halftime lead and gave San Francisco the playoff preview it sought heading into the postseason, with the 49ers having already wrapped up the NFC West title.
But the 49ers made the plays that put them in position for the No. 2 seed in the NFC playoffs. None was bigger than Alex Smith finding Michael Crabtree for a 41-yard gain that set up Akers' fourth field goal, from 39 yards out with 2:57 left, to give the 49ers the lead.
Akers connected earlier from 53, 29 and 44 yards and set an NFL record with 42 field goals this season.
"All our players and coaches, everybody is really happy for David's success," Harbaugh said. "Another great effort by him today."
While it was a long shot that they would reach the playoffs, the Seahawks will lament a few mistakes that cost them against San Francisco. None was bigger than a botched opportunity from the San Francisco 1 late in the first half.
Seattle seemed poised to go to halftime with a 14-3 lead, only to flub what was a momentum turning goal-line sequence. After a lengthy review to see if Lynch had scored on a second-down run from the 4, Seattle's third-and-goal play from the 1 was a complete disaster. With some players still in their stances, Jackson was forced to scramble and was knocked out of bounds at the 1. Instead of risking a fourth-down attempt, Carroll settled for a 19-yard field goal from Steven Hauschka and a 10-3 lead.
"I thought it was a false start penalty. Thought we heard a whistle. Even the defense stopped, thinking it was a false start penalty. Unfortunate for us, fortunate for them," Seattle fullback Michael Robinson said. "It was on me. I should have just kept playing."
The play seemed to be a preview for Seattle's offensive struggles in the second half. The Seahawks managed only 72 yards of offense, Jackson was just 5 of 11 for 51 yards and their only score came after Farwell's play on special teams.
Still, even being in that position with playoffs being talked about in Week 16 was progress from the midseason mess Seattle appeared to be.
"We had opportunities to win the game, but we didn't make those plays when it came down to it," Jackson said. "Obviously, we've got to be able to make those plays. We've got to be able to grow and mature enough to where we're able to make those plays when it really counts."
Notes: San Francisco won in Seattle for the first time since 2008. ... Seattle finished the season 4-4 at home.... Seattle has two blocked punts in its past three games. ... Grant started in place of standout linebacker Patrick Willis, who was inactive with a hamstring injury. ... Lynch was the first back to top 100 yards against the 49ers since Green Bay's Ryan Grant.
Follow Tim Booth on Twitter: http://twitter.com/ByTimBooth