SEATTLE -- The San Francisco 49ers can't find the end zone and because of it, they're 0-2 to open the 2017 season.
For the first time in franchise history, the 49ers failed to score a touchdown in either of their first two games, according to ESPN Stats & Information.
Last week against Carolina, a single trip to the end zone wouldn't have been enough, but on Sunday in Seattle, that inability to break through cost the 49ers a golden opportunity for a major upset as they dropped a 12-9 decision to the Seattle Seahawks at CenturyLink Field.
Despite a defensive performance in which the Niners repeatedly kept the Seahawks out of the end zone until the game's waning moments, the offense still lags far behind.
And though the 49ers also took a big step forward in the running game, they simply aren't getting enough from the passing game and quarterback Brian Hoyer.
"I think it looked out there like he struggled," coach Kyle Shanahan said. "I think our whole passing game did. So anytime you are, I think it was 2-of-12 on third down, averaging 3 [point] something yards a pass, obviously we didn't do a good job in the passing game."
Given his history of producing eye-popping passing numbers as an offensive coordinator, it's got to be hard for Shanahan not to be disappointed in the those struggles through the first two weeks.
To be sure, Hoyer and the Niners have played two top-tier defenses, but San Francisco's defense has done enough to keep them in both games. The 49ers' defense spent 36:58 on the field but didn't seem to tire until Seattle quarterback Russell Wilson hurt them with his legs on a pair of late fourth-quarter drives.
"I was proud of the defense," Shanahan said. "I thought they competed hard, the effort was there. I think they gave us a great chance to win that game. Still, regardless of what happens, we want to stop them at the end. I know they're disappointed about that, but I thought they played a very good game."
On Sunday, running backs Carlos Hyde and Matt Breida gashed the Seahawks to the tune of 8.4 yards per attempt on 19 rushes. Hyde became the first runner to rush for 100 yards or more in back-to-back games at Seattle since 2014.
Despite the running game forcing Seattle to defend everything, the passing game remained stuck in the mud.
In his first career game at CenturyLink Field, Hoyer never appeared comfortable. Although the 49ers allowed their share of pressure, the offensive line was better than a week ago with Laken Tomlinson taking over at left guard for Zane Beadles.
Still, Hoyer never got into a rhythm. For the second week in a row, he threw an interception right to the opposing middle linebacker for a costly early turnover that resulted in a Seattle field goal. He finished 15-of-27 for 99 yards with no touchdowns and a passer rating of 48.2.
What's more, Hoyer was unable to hit on anything down the field, averaging just 2.9 air yards on his 15 completions with his longest completion traveling 8 yards past the line of scrimmage in the air. He was 0-for-4 on passes 10-plus yards down the field and is now 2-of-13 with two interceptions on such attempts this season.
"I don't think there are any moral victories in the NFL, especially with the way I played," Hoyer said. "I feel pretty bad about it right now. I think the running game was something that you could be excited about. ... But for me, I'm looking at myself right now, what I can do to help this team win."
Even when Hoyer was on the mark, he didn't get much help as receiver Marquise Goodwin dropped a fourth-quarter pass in the red zone that might have gained a first down and allowed the Niners to score their first touchdown of the season. Instead, they settled for a field goal before Seattle responded with its first trip to the end zone.
It's still too early to start calling for changes at quarterback, especially considering rookie C.J. Beathard is the only option behind Hoyer. But there's no denying Hoyer must improve quickly if this season isn't going to slip away sooner than some might have expected.
Sure, the 49ers have been realistic about what this season will bring. They were very competitive in a tough environment Sunday against a team that has had their number for the better part of the past three years.
"We need to get better in every facet," Shanahan said. "Even if we scored a bunch of touchdowns, I'd tell you the same thing. We've had big challenges the last two weeks and there have been some things that we've done well, but we didn't play good enough and when you don't play good enough, especially against a team like we saw today and especially against the defense that we played last week, that's going to happen. Regardless of how you run the ball, you've got to be able to throw it too and you have got to be able to convert third downs if you want a chance at points so we didn't get that done. We've just got to go back to work and find a way to not let that happen on Thursday."
To move from competitive to victorious, Shanahan's offense is going to have to catch up to a defense that appears to be ahead of schedule.