And so the offensive frailty continues.

For the second consecutive day, the San Francisco Giants lost 3-1 to the Detroit Tigers. For the 10th consecutive time, they failed to score more than four runs. For the eighth time in that 10-game run, they failed to score more than three runs. Since scoring 26 runs in the span of three games in mid-May, the Giants have scored 21 runs over the course of 10 games.

And yet, they’ve won half of those games, which means they’re doing something very well: pitching. So let’s focus on that, even though they didn’t win on Tuesday.

It’s a sign of just how well the Giants are pitching that, for the first half of the game, it felt like the story was that Logan Webb didn’t have it. You almost forgot that the offense didn’t get on the plane to Michigan because Logan Webb was, shockingly, giving up runs. You’ve grown so accustomed to a shutdown shop of arms that you briefly forgot how most teams would be stoked to get six innings and three runs out of their starting pitcher.

And yet both words — the disappointment in the offense that has toiled so tirelessly that you barely notice it anymore, and the newfound discouragement by a good-good-not-great pitching performance — were married in the first inning by officiant Riley Greene.

In the top half of the inning, after Mike Yastrzemski had forced seven pitches out of Jack Flaherty before a leadoff single, Wilmer Flores came up to bat with one out. In a full count, and with Flaherty’s pitch count already rising, Flores was expecting a get-it-in, challenge fastball. He got one. He swung at it. He hit it hard. It had the sound and the look, and Wilmer had the trot.

Greene, playing in left field, drifted backwards until his shoulder blades were nestled firmly against the wall. Nonchalantly reaching up, glove higher than the barrier the ball was hoping to clear, Greene made the catch. The Giants would not score that inning.

In the bottom half of the inning, Greene came to bat with two outs and a runner on first base. He scorched a bizarre double, hit with a low enough trajectory to the right-center gap that it read like a single, but smacked with such vigor (114.5 mph of vigor, if we’re being specific) that neither Yastrzemski nor Jung Hoo Lee could cut it off. It easily scored Gleyber Torres, and the Tigers secured a lead that they would not relinquish.

It was emblematic of this recent skid the Giants have been on, if you can label a .500 stretch as a skid. The Giants had hit the ball hard, but not quite hard enough. They’d had a rally in the tamest sense of the word, and left it there. They’d gotten unlucky (per Statcast, Flores’ almost-dinger was pushed 10 feet by the biased wind), and had no secondary option for if luck reared the ugly side of its head. They’d relied on their excellent pitching so much that the simple act of allowing a run felt like a death sentence.

That continued into the second inning, when Willy Adames smacked a leadoff single, but the inning came to an unsatisfactory conclusion when Patrick Bailey hit one of the hardest balls we’ve seen from his bat in a while, only for it to result in a double play. The next batter, Detroit’s Wenceel Pérez, appearing in his first game of the year, and taking his first at-bat of the year, lined a ball over the fence for just the fourth home run of the year that Webb has surrendered.

It was 2-0 and you wondered: how can a game that is so close, so early, feel so over?

But over it was. Webb had a truly un-Webbian outing for better and for worse. He got into trouble, he gave up hits, he surrendered runs, and he only got four ground balls … but he struck out 10 batters and got 20 swing-throughs. That’s not the Webb we know, but it’s still the Webb we love.

He eventually allowed a third run when — guess who? — Greene singled home Colt Keith following a leadoff triple. But, despite a high pitch count and numerous rallies, he muscled through six innings before handing the ball to Tristan Beck, who took care of business for the final two frames.

The offense, meanwhile, was fully deflated from their futile first attempt at a rally, and had nothing left to give. From innings two through eight, they didn’t have a single at-bat with a runner in scoring position.

No one could provide a spark, so manager Bob Melvin attempted to provide one on his own. In the fifth inning, Bailey struck out looking after a nine-pitch battle ended in a 3-2 pitch by Flaherty that was a few inches below the plate in the eyes of objectivity and everyone else, save for Tony Randazzo. After Webb was unable to get such generosity on a similarly-placed pitch in the bottom half of the inning, Melvin let his frustrations out — or perhaps asked Randazzo to spare him the misery of watching the performance — and made sure to get his money’s worth before an early showed.

But it didn’t serve its intended purpose. Melvin surely made his players feel defended, but that’s not a feeling that injects talent into one’s swing, and so the futility continued.

They finally struck in the ninth inning, when Heliot Ramos led off with a single against closer Will Vest, and scored on a Ramos double, the lone extra-base hit of the game for the Giants. But Lee, Matt Chapman, and Adames, all representing the tying run in the game, went down quietly, sealing the team’s fate as losers of this series.

The can still end it on a high note come Wednesday morning. But it will likely require at least a modicum of offensive competence.