"We're going to win! We're going to win!" thundered thousands of supporters of French centrist Emmanuel Macron at his mega-rally in Paris six days before voting. In private, many sounded less confident.
Victory for the 39-year-old looked the most likely outcome of France's presidential election a month ago, but the race has tightened as the first round of voting looms on Sunday.
Polls now show a close four-way race developing between Macron, far-right candidate Marine Le Pen, scandal-hit conservative Francois Fillon and the surprise challenger, far-left firebrand Jean-Luc Melenchon.
Macron's biggest rally yet at the 20,000-capacity Bercy stadium in Paris on Monday night was a powerful show of force and a reminder of how his young new movement "En Marche" ("On the Move") has captured imaginations.
But research has consistently shown that support for the "neither right, nor left" candidate is among the most fragile of the major contenders, making him particularly vulnerable to late swings in sentiment.
About a third of French voters are thought to be still unsure of whom they will plump for on Sunday.
"We're crossing our fingers," Macron campaigner Isabelle Nkounkou told AFP at the rally after another weekend handing out leaflets in Cergy, northwest of the capital. "The last few days have been very tense."
Support for Melenchon, a 65-year-old career politician, has surged after the charismatic Communist-backed leftist gave two strong performances in televised debates over the last month.
His programme promising greater job protection, huge increases in public spending and a 100-percent tax on personal earnings above 400,000 euros ($430,000) a year was likened by Macron to Communist Cuba "without the sunshine".
"We're a bit worried by Melenchon's breakthrough," Dominique Dusart, 57, who heads En Marche in the Yonne area south of Paris, acknowledged before the meeting. "It has been a bit of a slap in the face because we weren't expecting it."
- Frontrunner under attack -
As well as polls showing a slight softening in support to around 23 percent ahead of the first round, Macron has faced other political difficulties.
The left-leaning Le Monde newspaper has reported uncertainty in his camp about how to approach the final straight, with some advisors pleading for more headline-grabbing announcements -- which have not materialised.
Strict new rules in place since April 10 that oblige television channels to offer equal airtime to all 11 presidential candidates have also meant that his face, once ubiquitous, is far less dominant.
And he has faced consistent questions about his personal wealth, which was declared as just a few hundred thousand euros despite his years spent working as an investment banker, presidential advisor and economy minister.
The son of doctors from northeastern Amiens had refused to divulge further information, pointing out that he had been audited and cleared by tax authorities as well as the state transparency watchdog.
But at the weekend, after attacks online accusing him of either burning through thousands of euros a day or hiding his wealth, he reversed course and gave a detailed account.
"You're going to hear 'he's got a account hidden in a tax haven', 'he's got money hidden in such or such a place'. It's completely false," Macron told BFM television on Sunday.
Far-right opponents and parts of the rightwing media have also focused on a senior En Marche campaigner in an area north of Paris who was accused of having Islamist sympathies.
The man's participation was suspended, but not before Macron was attacked by all sides.
"After the highs of a fortnight ago, you can sense Emmanuel Macron's campaign is fragile, but perhaps not at the point where it's going to shatter," said Philippe Braud, an analyst at the Cevipof institute at the Sciences Po university in Paris.
Marie Imbert, a 27-year-old fan wearing a t-shirt emblazoned with "Macron President", told AFP at the Paris rally Monday that the narrowing polls were a warning against complacency after one of the most unpredictable elections in decades.
"It's having a mobilising effect. It means we'll have to be on the ground working until midnight on Friday night," she said.
The top two finishers in Sunday's vote will go through to a run-off vote on May 7.