(AP) -- Russian President Vladimir Putin appeared at a huge flag-waving rally at a packed Moscow stadium Friday and lavished praise on his troops fighting in Ukraine, three weeks into the invasion that has led to heavier-than-expected Russian losses on the battlefield and increasingly authoritarian rule at home.
Meanwhile, the leader of Russia's delegation in diplomatic talks with Ukraine said the sides have narrowed their differences. The Ukrainian side said its position remained unchanged.
The invasion has touched off a burst of antiwar protests inside Russia, and the Moscow rally was surrounded by suspicions it was a Kremlin-manufactured display of patriotism. Several Telegram channels critical of the Kremlin reported that students and employees of state institutions in a number of regions were ordered by their superiors to attend rallies and concerts marking the eighth anniversary of Moscow's annexation of Crimea, which was seized from Ukraine. Those reports could not be independently verified.
Elsewhere, Russian troops continued to rain lethal fire on Ukrainian cities, including the capital, Kyiv, and pounded an aircraft repair installation on the outskirts of Lviv, close to the Polish border. Ukrainian officials said late Friday that the besieged southern port city of Mariupol lost its access to the Azov Sea, and Russian forces were still trying to storm the city. It was unclear whether they had seized it.
Ukrainian President Volodymyr Zelenskyy said Russian forces are blockading the largest cities to create a "humanitarian catastrophe" with the goal of persuading Ukrainians to cooperate. He said the Russians are preventing supplies from reaching surrounded cities in central and southeastern Ukraine.
"This is a totally deliberate tactic," Zelenskyy said in his nighttime video address to the nation, which was recorded outside in Kyiv, with the presidential office behind him.
In a rare public appearance by Putin since the start of the war, he praised Russian troops: "Shoulder to shoulder, they help and support each other," he said. "We have not had unity like this for a long time," he added to cheers from the crowd.
Moscow police said more than 200,000 people were in and around the Luzhniki stadium. The event included patriotic songs, including a performance of "Made in the U.S.S.R.," with the opening lines "Ukraine and Crimea, Belarus and Moldova, it's all my country."
Seeking to portray the war as just, Putin paraphrased the Bible to say of Russia's troops: "There is no greater love than giving up one's soul for one's friends."
Taking to the stage where a sign read "For a world without Nazism," he railed against his foes in Ukraine with a baseless claim that they are "neo-Nazis." Putin continued to insist his actions were necessary to prevent "genocide" -- an idea flatly rejected by leaders around the globe.
Video feeds of the event cut out at times but showed a loudly cheering crowd that broke into chants of "Russia!"
Putin's appearance marked a change from his relative isolation of recent weeks, when he has been shown meeting with world leaders and his staff either at extraordinarily long tables or via videoconference.
In the wake of the invasion, the Kremlin has clamped down harder on dissent and the flow of information, arresting thousands of antiwar protesters, banning sites such as Facebook and Twitter, and instituting tough prison sentences for what is deemed to be false reporting on the war, which Moscow refers to as a "special military operation."
The OVD-Info rights group that monitors political arrests reported that at least seven independent journalists had been detained ahead of or while covering the anniversary events in Moscow and St. Petersburg.
High above the conflict, three Russian cosmonauts arrived Friday at the International Space Station wearing bright yellow flight suits with blue accents matching the colors of the Ukrainian flag. Video of one of the cosmonauts taken as the capsule prepared to dock with the space station showed him wearing a blue flight suit. It was unclear what, if any, message the yellow uniforms were intended to send.
When cosmonaut Oleg Artemyev was asked about the yellow suits, he said every crew chooses its own suits, and they had a lot of yellow material they needed to use "so that's why we had to wear yellow."
Since the war started, many people have used the Ukrainian flag and its colors to show solidarity with the country.
Back in Moscow, Putin stood on stage in a white turtleneck and a blue down jacket and spoke for about five minutes. Some people, including presenters at the event, wore T-shirts or jackets with a "Z" -- a symbol seen on Russian tanks and other military vehicles in Ukraine and embraced by supporters of the war.
Putin's quoting of the Bible and an 18th-century Russian admiral reflected his increasing focus in recent years on history and religion as binding forces in Russia's post-Soviet society. His branding of his enemies as Nazis evoked what many Russians consider their country's finest hour, the defense of the motherland from Germany during World War II.
The rally came as Vladimir Medinsky, who led Russian negotiators in several rounds of talks with Ukraine, said that the sides have moved closer to agreement on the issue of Ukraine dropping its bid to join NATO and adopting a neutral status.
"That is the issue where the parties have made their positions maximally close," Medinsky said in remarks carried by Russian media. He added that the sides are now "halfway" on issues regarding the demilitarization of Ukraine.
Mikhailo Podolyak, an adviser to Zelenskyy, characterized the Russian assessment as intended "to provoke tension in the media." He tweeted: "Our positions are unchanged. Ceasefire, withdrawal of troops & strong security guarantees with concrete formulas."
Zelenskyy again appealed to Putin to hold talks with him directly. "It's time to meet, time to speak," he said. "I want to be heard by everyone, especially in Moscow."
In other developments, U.S. President Joe Biden and Chinese leader Xi Jinping spoke for nearly two hours in a bid by the U.S. to deter Beijing from providing military or economic assistance for Russia's invasion.
Earlier Friday, one person was reported killed in the missile attack near Lviv. Satellite photos showed the strike destroyed a repair hangar and appeared to damage two other buildings. Ukraine said it had shot down two of six missiles in the volley, which came from the Black Sea.
The early morning attack was the closest strike yet to the center of Lviv, which has become a crossroads for people fleeing from other parts of Ukraine and for others entering to deliver aid or join the fight. The war has swelled the city's population by some 200,000.
Zelenskyy boasted that Ukraine's defenses have proved much stronger than expected, and Russia "didn't know what we had for defense or how we prepared to meet the blow."
But British Chief of Defense Intelligence Lt. Gen. Jim Hockenhull warned that after failing to take major Ukrainian cities, Russian forces are shifting to a "strategy of attrition" that will entail "reckless and indiscriminate use of firepower," resulting in higher civilian casualties and a worsening humanitarian crisis.
In city after city around Ukraine, hospitals, schools and buildings where people sought safety have been attacked. Rescue workers continued to search for survivors in the ruins of a theater that was being used a shelter when it was blasted by a Russian airstrike Wednesday in Mariupol.
Ludmyla Denisova, the Ukrainian Parliament's human rights commissioner, said at least 130 people had survived the theater bombing.
"But according to our data, there are still more than 1,300 people in these basements, in this bomb shelter," Denisova told Ukrainian television. "We pray that they will all be alive, but so far there is no information about them."
Satellite images on Friday from Maxar Technologies showed a long line of cars leaving Mariupol as people tried to evacuate, as well as devastation to homes, apartment buildings and stores.
Early morning barrages also hit a residential building in the Podil neighborhood of Kyiv, killing at least one person, according to emergency services, who said 98 people were evacuated from the building. Kyiv Mayor Vitali Klitschko said 19 were wounded in the shelling.
Ukrainian officials said a fireman was killed when Russian forces shelled an area where firefighters were trying to put out a blaze in the village of Nataevka, in the Zaporizhzhia region.
Two others were killed when strikes hit residential and administrative buildings in the eastern city of Kramatorsk, according to the regional governor, Pavlo Kyrylenko.
Maj. Gen. Oleksandr Pavlyuk, who is leading the defense of the region around Ukraine's capital, said his forces are well-positioned to defend the city and vowed: "We will never give up. We will fight until the end. To the last breath and to the last bullet."