What had been a lightning push by Ukraine to drive Moscow's forces from the eastern Kharkiv region slowed to a brutal slog Saturday, stalled by heavy rain and Russian resistance.
In the frontline town of Kupiansk against a background of constant shelling noise a column of dark smoke rose across the Oskil River, which separates the Ukrainian-held west bank from the east, still disputed by Russian forces.
"For now, the rain is making it difficult to use heavy weapons everywhere. We can only use paved roads," Ukrainian army sergeant Roman Malyna told AFP, as tanks and APCs maneuvered under the downpour.
"For now, because it's hard to move forward due to the weather, we are targeting their armored vehicles, ammunition depots and groups of soldiers," he said.
On Friday, Kupiansk's military administrator Andriy Kanashevych told AFP that it might take Ukrainian forces 10 days to fully secure the area.
Most of the shellfire on Saturday was outgoing — Ukrainian artillery targeting Russian positions in the woods beyond the east of the town — but with a Russian drone spotted overhead tension prevailed.
A few refugees were walking toward Ukrainian territory across the damaged bridge, its handrails still painted in the red, white and blue colors of Kupiansk's former Russian occupiers.
Two Ukrainian soldiers, well-equipped with U.S.-style assault rifles and body armor, and in good spirits despite fatigue and concern over the Russian drone buzzing above the debris-strewn road, also crossed back.
One of them, using the nom de guerre "Mario," said it was too soon to say when the east bank would come completely under Ukrainian control but was confident the Russians were in retreat.
"Only their bodies will be left behind," he said.
"In general, it's all good, taking into account the scale of the operation, we've had almost no losses," he told AFP.
Most of Kupiansk, a key rail hub once used by Russia to supply its forces further south on the Donetsk battlefront, fell to Ukraine in this month's counterattack against the invader.
But a narrow strip of the Kharkiv region on the east side of the Oskil River remains in Russian hands and prevents Ukraine from pushing on into the Lugansk region, which Moscow holds and is seeking to annex.
"Yes, we have enough weapons and men, but it depends on what happens on the other side," Sergeant Malyna said, referring to the Russian forces.
"They are trying to find the weak points in our defensive line. So, they try to attack us from time to time using tanks and marines.
"Our morale is good. We are ready to fight, but we need more heavy weapons and more precision weapons," he said, repeating a common Ukrainian appeal for more advanced arms from Kyiv's Western allies.
While the fighting continues, many civilians have fled a town that is without electricity and running water, and where shells whistle overhead.
Some, however, have nowhere to go and are reliant on food aid deliveries.
Civilians still cluster around portable generators in the doorways of five-story concrete apartment blocks as the rain courses down, charging tablets, flashlights and razors.
Most say they are glad that Ukrainian forces returned to free the town from Russian occupation, but the ongoing fighting has taken a toll.
Retired trapeze artist Lyudmila Belukha, 74, once performed for the Soviet-era Moscow Circus.
"I traveled across the entire Soviet Union and abroad, too," she said.
A widow — her late husband was a fellow circus performer — she lives alone in a Kupiansk housing estate.
Her sister has moved to Greece, while she has been without news of her nephew, who lives on the eastern bank of the river, for months.
"I'm at home alone, with my cats. Absolutely alone. My kitchen and balcony windows are broken. I need plastic wrap to fix them because it will be getting cold. I'm freezing," she said.
She was picking up a food parcel from humanitarian volunteers and said she was not starving, but: "We have no water, no gas, and no electricity. Nothing. There's no way to even boil water for tea."