For indispensable reporting on the coronavirus crisis, the election, and more, subscribe to the Mother Jones Daily newsletter.

The vote-counting stretched into Wednesday morning in Pennsylvania, where Democrat Conor Lamb narrowly leads Republican Rick Saccone in a congressional district that President Donald Trump carried by 20 points. Our own Clint Hendler spent Tuesday evening at the Hilton Garden Inn in Canonsburg, Pennsylvania, where Lamb supporters gathered to watch the results. Check out live coverage from him and others below.

Update 10

Most news outlets are still saying the race is to close to call, but Lamb declared victory early Wednesday morning. “It took a little longer than we thought,” he told cheering supporters. “But we did it.”

As the Pittsburgh Post-Gazette reported Wednesday morning, Lamb’s lead does appear to be holding, for now:

With 100 percent of the vote count in, Mr. Lamb was ahead by more than 600 votes. However, absentee and provisional ballots were still being counted overnight. Washington County finished tallying early Wednesday morning, showing Lamb with 609 votes and Saccone, 547. Greene County absentee votes were still out. […] If the race is still too close to call after the absentee ballots are counted, voters or candidates could call for a recount or recanvass of votes, but the process is onerous. Voters have until officials are done with the computation of the votes on Friday to file a challenge with their county Board of Elections. The computation includes the counting of absentee ballots.

Lamb’s victory speech goes heavy on themes of civility and consensus. But he was sure to get in some praise for his union backers, and closed with a strong rebuke to those who would paint him as GOP lite: “I’m a Pennsylvania Democrat, and a proud Democrat.” — Clint Hendler (@clinthendler) March 14, 2018

Update 9

As of 11:40 pm ET, the race was still too close to call, with Lamb clinging to a lead of fewer than 900 votes. The AP has said it won’t be projecting a winner tonight:

ADVISORY: The Associated Press is not declaring a winner in Tuesday's special election for PA's 18th CD because the race between Democrat Conor Lamb and Republican Rick Saccone is too close to call.

Under PA state law, supporters of the trailing candidate can request a recount. — Stephen Ohlemacher (@stephenatap) March 14, 2018

Update 8

Not much left to count. Still incredibly close.

Conor Lamb has increased his lead by 752 votes through absentee votes in Allegheny County. He now leads by 847 votes with Washington Co absentees, Washington Co 3 precincts & absentees. Won’t know until tomorrow. — bill peduto (@billpeduto) March 14, 2018

Scattered groans as a dump of Westmoreland votes come in and CNN cuts Lamb’s lead to just 95 votes. Ballroom’s current soundtrack? “Don’t Stop Believin’” — Clint Hendler (@clinthendler) March 14, 2018

But are they playing “Fight Song,” Clint?

This has gone on so long the Lamb campaigns’ election night playlist is repeating. — Clint Hendler (@clinthendler) March 14, 2018

Update 7

The race is getting pretty tight:

“Keep positive!” one Lamb backer tells her friends, as more and more Saccone votes come in and the Democrat’s lead narrows. — Clint Hendler (@clinthendler) March 14, 2018

Update 6

Bad news for anyone following the infamous New York Times needle. But the good news is that Clint’s tweets will be unaffected.

Well folks, we have some bad news. Westmoreland County has told us that they aren't going to report results by precinct tonight (though they had previously told us they would). The model runs on precinct results so, this is a problem. — Nate Cohn (@Nate_Cohn) March 14, 2018

Wasserman points to the same issue with the way results are being reported. Looks like we’ll just have to wait for them to count the actual votes.

So far, Lamb (D) is doing well enough in Westmoreland to pull this out: he's above 43% w/ 53% of precincts reporting there. BUT, unclear what precincts are left there. #PA18 — Dave Wasserman (@Redistrict) March 14, 2018

Update 5

*Now* Westmoreland is starting to come in, and things are tightening. — Clint Hendler (@clinthendler) March 14, 2018

Meanwhile, Lamb supporters are still seem confident:

Update 4

No results from Westmoreland County yet, home to many Trump voting democrats, and it could be favorable turf for Saccone. https://t.co/WEKdPQPHjs pic.twitter.com/xGhBd0zYFZ — Clint Hendler (@clinthendler) March 14, 2018

Update 3

The New York Times’ Nate Cohn says we could be in for a late night:

Overall, things are looking a lot like we thought a tied race would look, if a hair better for Lamb. It's going to be a while. pic.twitter.com/Bspgue32GU — Nate Cohn (@Nate_Cohn) March 14, 2018

Update 2

Here’s some more early data from the Cook Political Report’s Dave Wasserman:

More good news for Lamb. Bridgeville precinct 2 (Allegheny Co.): 2016: Clinton (D) +0.5%

2018: Lamb (D) +25.3% Lamb's above where he needs to be there. — Dave Wasserman (@Redistrict) March 14, 2018

Just in…Scott Township 2-2 (Allegheny Co.): 2016: Clinton (D) +9.2%

2018: Lamb (D) +30.2% Lamb is exceeding what he needs in Allegheny. Need to see more of #PA18… — Dave Wasserman (@Redistrict) March 14, 2018

The most GOP-heavy Allegheny precinct that's reported so far (Jefferson Hills) is only at 54.7% of its 2016 turnout, while most Dem-heavy precinct (Mt. Lebanon 5-7) is at 75.2% of its 2016 turnout. That mirrors 2017 specials and it's pretty ominous for Saccone (R). #PA18 — Dave Wasserman (@Redistrict) March 14, 2018

Update 1

The crowd is cheering very hard as CNN displays the first… 864 votes, which look good for Lamb. — Clint Hendler (@clinthendler) March 14, 2018

John Fetterman, the Bernie ‘16 backing mayor of Braddock, PA, and a Lt. Gov candidate tells me that Lamb has “deftly” handled balancing progressive priorities with this conservative district. All wings of the party “can celebrate the message Conor Lamb’s win will send.” pic.twitter.com/G1Prlz5cM9 — Clint Hendler (@clinthendler) March 14, 2018

First 2 precincts in Greene Co. give Lamb (D) a 212-196 lead. Clinton (D) didn't come close to winning a single precinct there in 2016. Good news for Lamb. #PA18 — Dave Wasserman (@Redistrict) March 14, 2018

Original Post:

I’m on the scene at @ConorLambPA’s election night event, in a Hilton Garden Inn ballroom in Canonsburg, PA, about a half hour south of Pittsburgh. pic.twitter.com/cKfAxEoAyt — Clint Hendler (@clinthendler) March 13, 2018

Best thing I’ve seen so far is this bundt cake lamb, baked by Tricia Connell of Scott Township, PA. “Lambs are a positive thing…He reminds me of one of my nephews, tall and thin. I’m old enough to be his mother.” pic.twitter.com/WNVOKJQQQP — Clint Hendler (@clinthendler) March 13, 2018

Can’t help but share the eye catching get ups of Judy and Mark Kramer of Bavington, PA, who helped found a Dem activist group in mostly red Washington County. pic.twitter.com/7iVuoQDTaV — Clint Hendler (@clinthendler) March 13, 2018

Things are filling up. Polls close at 8, and Republican sources have pretty loudly been signaling their candidate, @Saccone4PA18, is going down. People here are optimistic, and primed for good news. pic.twitter.com/eIamkwbxp7 — Clint Hendler (@clinthendler) March 14, 2018