A Russian airstrike killed at least seven people in Lviv, according to Ukrainian officials. It was the first attack on the western city since Russia’s invasion of Ukraine began in late February. The Washington Post reports:

Shops and cafes in the usually bustling city center closed as locals headed to underground shelters. News that the deadly strikes had hit near the city’s landmark train depot, the first stop for many families fleeing violence elsewhere, was interpreted as a clear message: Nowhere in Ukraine is safe from Russian attack.

NBC News reporters witnessed the strike:

The first indication of the missiles was the sound of jets, which was unusual as few aircraft have flown over the city since the start of the war. The missiles that NBC News were able to see looked almost like two planes falling out of the sky until dull explosions could be heard and smoke poured from the blast sites.

Emergency services worked quickly to extinguish the fires, though the sudden sense of unease brought by the strikes still lingered.

Lviv Mayor Andriy Sadovyi told a news conference that there were now “no safe or unsafe locations in Ukraine,” highlighting that the Russian missiles struck a civilian garage, as well as military targets.

“All the cities and villages are in the same situation,” Sadovyi said. “The aggressor is committing acts of genocide. They are killing innocent civilians.

The New York Times adds:

The attack on Lviv came as Russia unleashed a broad series of strikes across Ukraine, hitting what Moscow said were more than 100 military targets in apparent preparation for a major offensive in the east. Russia has unleashed further destruction in recent days on the major eastern cities of Kharkiv and Mariupol, which are seen as crucial to Moscow’s attempt to consolidate control over a large arc of its neighbor after its effort to take Kyiv, Ukraine’s capital, was blocked.

In Mariupol, a port city devastated by weeks of siege warfare, Russia intensified its bombing of a vast, fortress-like steel plant where a group of Ukrainian fighters remain holed up after rejecting Russian demands to surrender on Sunday. The fate of Mariupol, which officials on both sides suggested could soon fall under Russian control, remained unclear and largely dependent on how long the remaining Ukrainian forces could hold out in underground tunnels of the Azovstal steel plant.

British intelligence reports that Ukrainian troops in Mariupol are “severely” testing Russian forces and causing the occupiers to “diverted men and materiel, slowing Russia’s advance elsewhere.”

On Sunday, the last Ukrainian troops holding out in Mariupol rejected Russia’s ultimatum to surrender or face destruction.

“There [are] still our military forces, our soldiers, so they will fight until the end,” Prime Minister Denys Shmyhal told ABC News.

Ukrainian President Volodymyr Zelensky said that the continued bombardment of Mariupol can upend the already fragile peace talks between the two warring nations.

The Washington Post adds:

The drawn-out Russian siege of Mariupol “has come at significant cost to its residents,” according to the British Ministry of Defense, which cited extensive material destruction and civilian casualties.

Vadym Boychenko, Mariupol’s mayor, recently told the Associated Press that at least 10,000 civilians have died during Russia’s siege of the city, and said the death toll could surpass 20,000, with bodies “carpeted through the streets.”

Petro Andryushchenko, an adviser to the mayor of Mariupol, accused Russian forces on Monday of holding at least 20,000 people in “filtration camps,” to forcibly remove them to Russian-held territory. Russia has previously rebutted such reports. One Mariupol resident told The Washington Post last month that she and her family were forcibly relocated to Russia through a filtration camp.