Russia signalled on Tuesday it was bedding in for a long war in Ukraine as the conflict entered its fourth month with heavy fighting in the east but signs of some normality returning elsewhere.
"We will continue the special military operation until all the objectives have been achieved," Russian Defence Minister Sergei Shoigu said, using Moscow's name for the war.
Three months after Moscow's invasion, Western funds and weapons have helped Ukraine hold off its neighbour's advances in many areas, including the capital Kyiv.
Russia is now focused on securing and expanding its gains in the eastern Donbas region, near the border and home to pro-Russian separatist, as well as the southern coast.
Ukrainian Foreign Minister Dmytro Kuleba warned that the "Russian offensive in the Donbas is a ruthless battle, the largest one on European soil since WWII."
"The coming weeks of the war will be difficult," Ukraine's President Volodymyr Zelensky said Monday after regional leaders and residents reported heavy bombardments.
"The most difficult fighting situation" was in Donbas, he said, singling out the worst-hit towns of Bakhmut, Popasna and Severodonetsk.
Ukraine's armed forces said Russian troops were conducting non-stop "offensive operations" in the region.
In the village of Yakovlivka, on a major stretch of the eastern front, 55-year-old Ukrainian soldier Andriy hid in a ditch as shells fired by encroaching Russians whistled past.
- Too late to leave -
"Our guys have stopped firing back," he whispered after glancing up and down the road.
"We do not want to provoke them because then the Russians will start shooting at us even harder."
The governor of Lugansk said Russia had sent thousands of troops to capture his region and that Severodonetsk was under massive attack.
Sergiy Gaidai warned an estimated 15,000 civilians still in the city that it was too late to leave.
"Stay in a shelter, because such a density of shelling will not allow us to calmly gather people and come for them," he said on Telegram.
He later said four people died on Tuesday after Russian forces fired on the Azot chemical plant in Severodonetsk, where several bomb shelters had been set up.
Another resident who was injured in a central part of the city later died, he added.
More than six million people have fled Ukraine and eight million have been internally displaced since the war broke out, according to the United Nations.
Speaking to regional counterparts from the Russia-led Collective Security Treaty Organization, Russia's Shoigu blamed his country's slow advance on a "deliberate" attempt to avoid civilian casualties.
- Kharkiv metro reopens -
"We are not rushing to meet deadlines," added the secretary of Russia's Security Council, Nikolai Patrushev, in an interview.
Kyiv has pleaded with Western allies to send more weapons faster and take tougher action against Moscow.
The head of Ukrainian military intelligence, Kyrylo Budanov, said delays in getting to the frontline had left Kyiv "catastrophically short of heavy weapons".
He said, however, that he expected a "turning point" by August as they come through, in an interview to news outlet Ukrainska Pravda.
Speaking to political and business elites at the World Economic Forum in Davos on Monday, Zelensky urged an international oil embargo on Russia, as well as punitive measures against all its banks and the shunning of its IT sector.
The EU has proposed a ban on Russian oil imports, although Hungary is blocking the measure.
Some semblance of normality returned to Ukraine's second city of Kharkiv, where the metro was reopened Tuesday after months of use as a bomb shelter.
"We decided to relaunch services because we have to relaunch the economy," mayor Igor Terekhov told journalists, adding that train rides would be free for the next two weeks.
- 'State terrorist' -
The Kharkiv metro, with 30 stations, has sheltered thousands of residents seeking to escape indiscriminate shelling on the city, which is adjacent to the Russian border.
Three stations in areas that are occasionally shelled remain shuttered.
In Mariupol, the strategic southern port city that finally fell after a devastating siege, the Russian army said it had begun a de-mining operation.
"To date, more than 50 kilometres of the coast along the Sea of Azov has been examined and more than 300 various munitions have been neutralised," it said.
Mariupol Mayor Vadym Boychenko said 100,000 people were without water, without food, without electricity.
Speaking to Davos via video-link, he accused Russia of behaving like a "state terrorist", and warned disease risked further fatalities.
Referring to Ukraine's estimated death toll from the siege of Mariupol, he said: "We see that war already took lives of 20,000 people, and epidemics could take the lives of thousands more."
The siege has become emblematic of the horror of the conflict, along with towns such as Bucha, where the discovery of bodies dressed in civilian clothes after Russian troops withdrew prompted claims of war crimes.
A Kyiv court on Monday found a 21-year-old Russian soldier guilty of killing an unarmed civilian in northeast Ukraine, in the first verdict of its kind since the invasion began.
Vadim Shishimarin was handed a life sentence in a trial, as international institutions and Ukrainian authorities investigate thousands of other alleged war crimes.