<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://warframe.f-rpg.me/export.php?type=rss" rel="self" type="application/rss+xml" />
		<title>Whisper of the Void</title>
		<link>https://warframe.f-rpg.me/</link>
		<description>Whisper of the Void</description>
		<language>ru-ru</language>
		<lastBuildDate>Sun, 18 Oct 2026 17:56:54 +0300</lastBuildDate>
		<generator>MyBB/mybb.ru</generator>
		<item>
			<title>Когда замолкают сердца</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=228#p228</link>
			<description>&lt;p&gt;&lt;span style=&quot;font-style: italic&quot;&gt;«Едем дальше?»&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt;Голос Элеоноры снова коснулся сознания неожиданно мягко и осторожно. Будто она специально следила за тем, чтобы не зайти дальше той невидимой грани, что отделяет личное от дозволенного. Забавная штука, если задуматься. Человек, который потенциально способен услышать самые мерзкие уголки твоей души, сейчас ведет себя деликатнее половины знакомых мне людей.&lt;/p&gt;
						&lt;p&gt;Я коротко кивнул, продолжая за ней наблюдать. Не вмешиваясь, просто находясь рядом на случай, если очередная тварь снова выскочит. Несмотря на то, что Элеонора сказала о том, что Техрот был один, я все равно прислушивался. Инстинктивно, как хищник, только что отбивший атаку. Армейская привычка. Затишье на поле боя никогда не приносило мне успокоения. Чаще всего это была передышка перед следующей схваткой, а не предвестник победы. Я доверял ее чутью, но не доверял той хрени, что живет внутри нее. Может ли она воздействовать на восприятие, когда находится на расстоянии? Или, находясь и прячась, намеренно вводить в заблуждение?&lt;/p&gt;
						&lt;p&gt;&lt;strong&gt;&amp;#8211; Конечно едем, красотка. Старики сами сови костлявые задницы из этого дерьма не вызволят,&lt;/strong&gt; &amp;#8211; уголок рта едва заметно дернулся. &lt;strong&gt;&amp;#8211; И кто-то же должен проследить за тем, чтобы ты опять не решила подружиться с очередным телевизором!&lt;/strong&gt;&lt;/p&gt;
						&lt;p&gt;Шутка вышла привычной, легкой и почти естественной. Вот только настроение ни хрена не было легким. Произошедшее с Элеонорой и ее состояние после этого не давали мне покоя. И не только потому, что она была дорога мне как человек или часть команды. Впереди была миссия, из которой мы могли не вернуться, если что-то подобное повторится. А оно могло повториться. И от этого внутри становилось охренеть как паршиво.&lt;/p&gt;
						&lt;p&gt;Мы снова вывели байки на дорогу. Двигатели зарычали привычным баритоном, рассекая воздух. Город двинулся навстречу потоком серого бетона, разбитых витрин и ржавых остовов. Где-то вдали хлопнул выстрел, потом еще один &amp;#8211; обычный день в Хельвании. Ничего нового. Вот только чем дальше мы ехали, тем меньше мне нравилось то, что крутилось в голове. Первые минуты после произошедшего я пытался убедить себя, что все нормально, потом пытался отвлечься на миссию, на маршрут, на точки засады, да даже на то, черт подери, сколько кварталов осталось до дома престарелых! &lt;/p&gt;
						&lt;p&gt;Не помогло.&lt;/p&gt;
						&lt;p&gt;Перед глазами снова и снова вставал один и тот же момент &amp;#8211; кровь на ее губах. Ее было совсем немного, большинство людей вообще не заметили бы. Но я, к своему гребаному сожалению, заметил. И не смог отпустить. Наверное, потому что за последние годы слишком часто видел людей после всякого дерьма. После вещей, которые навсегда остаются где-то под ребрами &amp;#8211; в том самом вечно зудящем месте, где должно находиться сердце. &lt;/p&gt;
						&lt;p&gt;Как же это чертовски странно и одновременно забавно &amp;#8211; когда человеку действительно херово, он редко выглядит так, как показывали в кино до всего этого пиздеца с Техноцитом. Он не падает на колени и не хватается за голову с диким ором - это стадия истерики, из которой еще можно вытянуть без особых потерь рассудка. Обычно все самое страшное происходит намного тише. Где-то в глубине. Человек начинает улыбаться, шутить и говорить, что все нормально, когда изнутри буквально распирает от желания сорвать голос или сорваться с обрыва. Но он молчит и делает вид, что все в порядке. Так проще. Именно поэтому фразе «я в порядке» я не верю уже чертову уйму времени. Потому что чаще всего ее произносят люди, у которых все настолько хреново, что они сами не знают, стоит ли вообще начинать об этом говорить.&lt;/p&gt;
						&lt;p&gt;Элеонора сегодня использовала ее дважды. Сначала мысленно, а потом своим видом. Будто эта хрень только что не залазила к ней в башку и не пыталась выплавить там собственный рой. Я практически нихрена не слышал, но загривком чувствовал, что чуть не допустил того, за что Артур бы вышиб мне мозги на месте. &lt;/p&gt;
						&lt;p&gt;Я бросил взгляд в ее сторону. Элеонора ехала рядом все так же ровно и уверенно. Если смотреть со стороны &amp;#8211; хоть сейчас на рекламный плакат. Серьезно. Сильная, спокойная, собранная, волосы треплются на ветру &amp;#8211; почти идеальная картинка к высококлассному боевику. Увидь я ее такой до конца света, непременно попытался бы познакомиться. Возможно, даже придумал бы для этого что-нибудь остроумное. Ну, или хотя бы достаточно остроумное, чтобы она не ударила меня по морде с первого слова.&lt;/p&gt;
						&lt;p&gt;И именно поэтому мне захотелось выругаться. Потому что еще несколько минут назад эту женщину с плаката трясло так, будто она едва удерживалась внутри собственного тела. Я знал этот взгляд. Видел его не раз у других, и, наверное, у меня он тоже был после первого боя или контузии. Он появляется у людей, которые на секунду заглянули куда-то слишком далеко и увидели там что-то, чего видеть не стоило. Такие люди всегда возвращались оттуда немного другими. Совсем чуть-чуть. Настолько, что окружающие ничего не замечают, а изменения все равно остаются. Как трещина в сварном шве &amp;#8211; маленькая, почти невидимая до тех пор, пока однажды все не разваливается к чертям собачьим.&lt;/p&gt;
						&lt;p&gt;Черт. Да кого я вообще пытаюсь обмануть?&lt;/p&gt;
						&lt;p&gt;Я снова бросил взгляд на нее, затем на дорогу, потом опять на нее. И окончательно понял, что уже минут десять думаю нихрена не о миссии, из которой нахрен вообще можно не выбраться и не о доме престарелых, ради которого Артур вообще послал нас в эту мясорубку. А о том, насколько паршиво выглядела Элеонора возле той твари.&lt;/p&gt;
						&lt;p&gt;Твою мать...&lt;/p&gt;
						&lt;p&gt;Еще недавно сама мысль о телепате рядом вызывала у меня желание построить вокруг головы бетонный бункер. А теперь я ловлю себя на том, что всерьез беспокоюсь о ее самочувствии. Замечательно, Куинси Айзекс! Просто замечательно. Так и становятся ответственными взрослыми, да? Сначала переживаешь за человека, потом следишь, поел ли он, потом укрываешь пледом... А потом внезапно превращаешься в Артура Найтингейла!&lt;/p&gt;
						&lt;p&gt;От этой мысли меня передернуло так, что я чуть не рассмеялся. Нет уж, спасибо. Одного Артура в «Гексе» вполне достаточно &amp;#8211; он справляется на все тысячу процентов. Двух дедов этот мир еще потянет, а вот двух Артуров&amp;#8230;&lt;/p&gt;
						&lt;p&gt;Но легче почему-то не стало. Потому что за шутками все равно оставался простой факт - мне не нравилось то, что я видел. И еще сильнее не нравилось то, что видел не все. У снайпера все просто &amp;#8211; он всегда знает цель, остальное &amp;#8211; дело техники. И чем дольше я пытался собрать хоть что-то внятное из обрывков собственных догадок, тем сильнее хотелось расковырять себе черепушку и посмотреть, что там, черт возьми, заело.&lt;/p&gt;
						&lt;p&gt;Атомицикл резко сбросил скорость и недовольно рыкнул, словно попытался возразить этому бессмысленному маневру. Но без этого я просто не мог ехать дальше, понимая, что другого шанса может не быть.&lt;/p&gt;
						&lt;p&gt;Через сто метров я свернул в узкий проулок между двумя полуразрушенными зданиями и заглушил двигатель. В наступившей тишине было слышно, как остывающий металл байка тихо потрескивает. Пахло ржавчиной, пылью и чем-то сладковато-гнилым и мерзким. Я ждал, что Элеонора остановится следом и не умчится спасать дедов в одиночку.&lt;/p&gt;
						&lt;p&gt;И облегченно выдохнул, когда она остановилась.&lt;/p&gt;
						&lt;p&gt;Я не заговорил сразу. Выждал несколько секунд, глядя на нее без привычной ухмылки и без всего того дерьма, за которым обычно прятаться проще всего.&lt;/p&gt;
						&lt;p&gt;&lt;strong&gt;&amp;#8211; Ладно, красотка, &lt;/strong&gt;&amp;#8211; голос прозвучал неожиданно серьезно даже для меня самого. &lt;strong&gt;&amp;#8211; Давай попробуем еще раз, &lt;/strong&gt;- секундное молчание, выдох. Рука опустилась на топливный бак. &lt;strong&gt;&amp;#8211; Ты действительно в порядке?&lt;/strong&gt; &amp;#8211; Но прежде чем она успела ответить, я качнул головой, &lt;strong&gt;&amp;#8211; Только без этой универсальной фигни типа &lt;span style=&quot;font-style: italic&quot;&gt;«да все нормально, не беспокойся»&lt;/span&gt;. Этот трюк я использую половину своей жизни и меня им не проведешь. &lt;/strong&gt;&lt;/p&gt;
						&lt;p&gt;Уголок рта все-таки дрогнул. Совсем чуть-чуть, на мгновение &amp;#8211; привычка, которую сложно заглушить даже самым серьезным разговором.&lt;strong&gt; &lt;/p&gt;
						&lt;p&gt;&amp;#8211; Серьезно, Эли. Я видел, как тебя трясло после той твари и хочу понять, готова ли ты ехать дальше. Потому что если подобная хрень повторится, то я не хочу оказаться тем, кому придется нажать на спуск. &lt;/strong&gt;&lt;/p&gt;
						&lt;p&gt;В этот раз я даже не пытался шутить. Потому что впервые за долгое время действительно хотел услышать не правильный ответ&amp;#8230; а честный.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Quincy Isaacs)</author>
			<pubDate>Sun, 18 Oct 2026 17:56:54 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=228#p228</guid>
		</item>
		<item>
			<title>Миссия Куинси и Элеоноры</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=207#p207</link>
			<description>&lt;p&gt;пр оаааааааааааааааааалп б&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Sat, 30 May 2026 23:39:40 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=207#p207</guid>
		</item>
		<item>
			<title>Snake</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=202#p202</link>
			<description>&lt;p&gt;[hideprofile][html]&amp;lt;!-- ТЕХНО-ЗМЕЙКА (ХЁЛЬВАНИЯ) v.6 - JSONP РЕЙТИНГ --&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;hollvania-snake&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;snake-header&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;h2&amp;gt;&amp;#9889; TECHNO-CYTE SERPENT &amp;#9889;&amp;lt;/h2&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;stats&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div&amp;gt;ЗАРАЖЕНИЕ: &amp;lt;span id=&amp;quot;currentScore&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div&amp;gt;РЕКОРД: &amp;lt;span id=&amp;quot;highScore&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;lt;canvas id=&amp;quot;snakeCanvas&amp;quot; width=&amp;quot;400&amp;quot; height=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;button-panel&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;button id=&amp;quot;startBtn&amp;quot;&amp;gt;&amp;#128013; СТАРТ ИГРЫ&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;button id=&amp;quot;gameOverBtn&amp;quot; disabled&amp;gt;&amp;#128128; GAME OVER&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;button id=&amp;quot;resetBtn&amp;quot; disabled&amp;gt;&amp;#10227; НОВАЯ ИГРА&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;lt;div id=&amp;quot;leaderboardBlock&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;h3&amp;gt;&amp;#127942; ПОСЛЕДНИЕ ОПЕРАТОРЫ &amp;#127942;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div id=&amp;quot;rssLeaderboard&amp;quot;&amp;gt;Загрузка рейтинга...&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;rssNote&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://warframe.f-rpg.me/export.php?type=rss&amp;amp;tid=30&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;&amp;#128225; лента заражений&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;lt;style&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; #hollvania-snake {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; max-width: 500px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; margin: 20px auto;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #202020;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border: 2px solid #4d6885;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 16px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; font-family: &#039;Courier New&#039;, monospace;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; text-align: center;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; box-shadow: 0 0 15px rgba(77,104,133,0.5);&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; .snake-header h2 {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; text-shadow: 0 0 4px #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; margin: 0 0 10px;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; .stats {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; display: flex;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; justify-content: space-between;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #2a2a2a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 8px 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 8px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-bottom: 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ddd;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; .stats span {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; font-weight: bold;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 1.3rem;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; canvas {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #0a0a0e;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border: 2px solid #4d6885;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 8px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; box-shadow: 0 0 8px #4d6885;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; .button-panel {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-top: 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; display: flex;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; gap: 10px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; justify-content: center;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; button {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #2a2a2a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border: 1px solid #4d6885;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 6px 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 30px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; cursor: pointer;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; font-family: inherit;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; font-weight: bold;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; transition: 0.2s;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; button:hover:not(:disabled) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #584f67;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border-color: #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; box-shadow: 0 0 6px #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; button:disabled {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; opacity: 0.5;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; cursor: not-allowed;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; #leaderboardBlock {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-top: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border-top: 1px solid #584f67;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; padding-top: 12px;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; #leaderboardBlock h3 {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 1rem;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-bottom: 8px;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; .rss-item {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #1a1a1a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; margin: 6px 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 6px 10px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border-left: 3px solid #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; text-align: left;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 0.8rem;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ccc;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; .rss-item strong {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; .rssNote {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 0.7rem;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-top: 8px;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; .rssNote a {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #4d6885;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; text-decoration: none;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; .game-message {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #2a2a2a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ffc53a;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 4px 12px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-top: 10px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 0.75rem;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; display: inline-block;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;lt;script&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; (function(){&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; // ---------- ИГРА ----------&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const canvas = document.getElementById(&#039;snakeCanvas&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const ctx = canvas.getContext(&#039;2d&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const scoreSpan = document.getElementById(&#039;currentScore&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const highScoreSpan = document.getElementById(&#039;highScore&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const startBtn = document.getElementById(&#039;startBtn&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const gameOverBtn = document.getElementById(&#039;gameOverBtn&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const resetBtn = document.getElementById(&#039;resetBtn&#039;);&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const GRID = 20;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const CELL = canvas.width / GRID;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; let snake = [&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {x: 10, y: 10},&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {x: 9, y: 10},&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {x: 8, y: 10},&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {x: 7, y: 10}&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; ];&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; let direction = &#039;RIGHT&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; let nextDir = &#039;RIGHT&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; let food = {x: 15, y: 10};&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; let score = 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; let best = 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; let gameActive = false;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; let gameInterval = null;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; try {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let saved = localStorage.getItem(&#039;snake_hollvania_best&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(saved &amp;amp;&amp;amp; !isNaN(parseInt(saved))) best = parseInt(saved);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; highScoreSpan.innerText = best;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; } catch(e) {}&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function randomFood() {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let free = false;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let attempts = 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let newFood = null;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; while(!free &amp;amp;&amp;amp; attempts &amp;lt; 2000) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let fx = Math.floor(Math.random() * GRID);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let fy = Math.floor(Math.random() * GRID);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!snake.some(s =&amp;gt; s.x === fx &amp;amp;&amp;amp; s.y === fy)) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; newFood = {x: fx, y: fy};&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; free = true;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; attempts++;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!newFood) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; for(let i=0; i&amp;lt;GRID; i++) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; for(let j=0; j&amp;lt;GRID; j++) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!snake.some(s =&amp;gt; s.x === i &amp;amp;&amp;amp; s.y === j)) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; newFood = {x: i, y: j};&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; break;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(newFood) break;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; food = newFood;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function draw() {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.clearRect(0, 0, canvas.width, canvas.height);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.strokeStyle = &#039;#4d6885&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.lineWidth = 0.5;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; for(let i=0; i&amp;lt;=GRID; i++) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.beginPath();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.moveTo(i*CELL, 0);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.lineTo(i*CELL, canvas.height);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.stroke();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.moveTo(0, i*CELL);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.lineTo(canvas.width, i*CELL);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.stroke();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.shadowBlur = 5;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.shadowColor = &#039;#ffc53a&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.fillStyle = &#039;#ffc53a&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.beginPath();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.arc(food.x*CELL + CELL/2, food.y*CELL + CELL/2, CELL/2-2, 0, Math.PI*2);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.fill();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.fillStyle = &#039;#584f67&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.beginPath();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.arc(food.x*CELL + CELL/2, food.y*CELL + CELL/2, CELL/4, 0, Math.PI*2);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.fill();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.shadowBlur = 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; for(let i=0; i&amp;lt;snake.length; i++) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let s = snake[i];&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let grad = ctx.createLinearGradient(s.x*CELL, s.y*CELL, (s.x+1)*CELL, (s.y+1)*CELL);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; grad.addColorStop(0, &#039;#4d6885&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; grad.addColorStop(1, &#039;#2c3e55&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.fillStyle = grad;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.fillRect(s.x*CELL, s.y*CELL, CELL-1, CELL-1);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(i === 0) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.strokeStyle = &#039;#ffc53a&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.lineWidth = 2;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.strokeRect(s.x*CELL, s.y*CELL, CELL-1, CELL-1);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let head = snake[0];&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.fillStyle = &#039;#ff3333&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.beginPath();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.arc(head.x*CELL + CELL*0.7, head.y*CELL + CELL*0.3, 3, 0, Math.PI*2);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.arc(head.x*CELL + CELL*0.3, head.y*CELL + CELL*0.3, 3, 0, Math.PI*2);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ctx.fill();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function updateScoreUI() {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; scoreSpan.innerText = score;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(score &amp;gt; best) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; best = score;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; highScoreSpan.innerText = best;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; localStorage.setItem(&#039;snake_hollvania_best&#039;, best);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function move() {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!gameActive) return;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; direction = nextDir;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let newHead = {...snake[0]};&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; switch(direction) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; case &#039;RIGHT&#039;: newHead.x++; break;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; case &#039;LEFT&#039;:&amp;#160; newHead.x--; break;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; case &#039;UP&#039;:&amp;#160; &amp;#160; newHead.y--; break;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; case &#039;DOWN&#039;:&amp;#160; newHead.y++; break;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let willEat = (newHead.x === food.x &amp;amp;&amp;amp; newHead.y === food.y);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(willEat) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; snake.unshift(newHead);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; score++;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; updateScoreUI();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; randomFood();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(snake.length === GRID*GRID) { gameOver(true); return; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; } else {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; snake.unshift(newHead);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; snake.pop();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let collision = (newHead.x&amp;lt;0 || newHead.x&amp;gt;=GRID || newHead.y&amp;lt;0 || newHead.y&amp;gt;=GRID);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!willEat) collision = collision || snake.slice(1).some(s =&amp;gt; s.x === newHead.x &amp;amp;&amp;amp; s.y === newHead.y);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(collision) { gameOver(false); return; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; draw();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function gameOver(win) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!gameActive) return;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gameActive = false;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(gameInterval) clearInterval(gameInterval);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gameInterval = null;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let msg = document.createElement(&#039;div&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; msg.className = &#039;game-message&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; msg.innerText = win ? &#039;&amp;#9760;&amp;#65039; ПОБЕДА? СБОЙ СИСТЕМЫ &amp;#9760;&amp;#65039;&#039; : &#039;&amp;#9760;&amp;#65039; ЗМЕЙ УНИЧТОЖЕН &amp;#9760;&amp;#65039;&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; document.querySelector(&#039;.button-panel&#039;).after(msg);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; setTimeout(() =&amp;gt; msg.remove(), 3000);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gameOverBtn.disabled = false;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; resetBtn.disabled = false;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; startBtn.disabled = false;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; window.lastSnakeScore = score;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function startGame() {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(gameInterval) clearInterval(gameInterval);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; snake = [&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {x: 10, y: 10},&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {x: 9, y: 10},&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {x: 8, y: 10},&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {x: 7, y: 10}&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ];&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; direction = &#039;RIGHT&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; nextDir = &#039;RIGHT&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; score = 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; updateScoreUI();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; randomFood();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gameActive = true;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; draw();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gameInterval = setInterval(() =&amp;gt; { move(); }, 150);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; startBtn.disabled = true;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gameOverBtn.disabled = true;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; resetBtn.disabled = true;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; window.lastSnakeScore = 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function resetAndRestart() { startGame(); }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; async function sendScoreToForum(scoreVal) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(scoreVal === undefined) { alert(&amp;quot;Нет результата&amp;quot;); return; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const message = `&lt;span style=&quot;color: #ffc53a&quot;&gt;&lt;strong&gt;&amp;#128013; TECHNO-CYTE SERPENT: ${scoreVal} очков&lt;/strong&gt;&lt;/span&gt;`;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const postKey = document.querySelector(&#039;input[name=&amp;quot;my_post_key&amp;quot;]&#039;)?.value;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!postKey) { alert(&amp;quot;Не удалось отправить, скопируйте: &amp;quot;+message); return; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const tid = 30;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const form = new URLSearchParams();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; form.append(&#039;my_post_key&#039;, postKey);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; form.append(&#039;tid&#039;, tid);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; form.append(&#039;message&#039;, message);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; form.append(&#039;action&#039;, &#039;do_newreply&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; try {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let res = await fetch(&#039;/newreply.php?tid=&#039;+tid, {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; method: &#039;POST&#039;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; headers: { &#039;Content-Type&#039;: &#039;application/x-www-form-urlencoded&#039; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; body: form,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; credentials: &#039;same-origin&#039;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; });&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(res.ok) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; alert(&amp;quot;Результат отправлен!&amp;quot;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; loadLeaderboard();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; } else alert(&amp;quot;Ошибка отправки&amp;quot;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; } catch(e) { alert(&amp;quot;Ошибка сети&amp;quot;); }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; // ---------- РЕЙТИНГ ЧЕРЕЗ JSONP (export.php?type=js) ----------&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function loadLeaderboard() {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const container = document.getElementById(&#039;rssLeaderboard&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!container) return;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; container.innerHTML = &amp;quot;Загрузка рейтинга...&amp;quot;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; // Удаляем старый скрипт&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const oldScript = document.getElementById(&#039;jsonp-script&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(oldScript) oldScript.remove();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; // Уникальное имя функции&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const callbackName = &#039;jsonp_callback_&#039; + Date.now() + &#039;_&#039; + Math.floor(Math.random()*100000);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; window[callbackName] = function(data) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; delete window[callbackName];&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if (!data || !Array.isArray(data) || data.length === 0) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; container.innerHTML = &#039;&amp;lt;div class=&amp;quot;rss-item&amp;quot;&amp;gt;Нет сообщений&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let html = &#039;&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let count = 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; // Выводим последние 10 сообщений (первые в массиве — самые новые)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; for (let i = 0; i &amp;lt; data.length &amp;amp;&amp;amp; count &amp;lt; 10; i++) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const item = data[i];&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; // Поля: author, subject, message, dateline (Unix timestamp)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const author = item.author || &#039;Аноним&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let title = item.subject || item.message;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if (title &amp;amp;&amp;amp; title.length &amp;gt; 80) title = title.substring(0, 80) + &#039;&amp;#8230;&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const date = item.dateline ? new Date(item.dateline * 1000).toLocaleString() : &#039;&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; html += `&amp;lt;div class=&amp;quot;rss-item&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;${escapeHtml(author)}&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;${escapeHtml(title)}&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;${escapeHtml(date)}&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;`;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; count++;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; container.innerHTML = html;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; };&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const script = document.createElement(&#039;script&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; script.id = &#039;jsonp-script&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; script.src = `https://warframe.f-rpg.me/export.php?type=js&amp;amp;tid=30&amp;amp;callback=${callbackName}`;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; script.onerror = function() {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; delete window[callbackName];&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; container.innerHTML = &#039;&amp;lt;div class=&amp;quot;rss-item&amp;quot;&amp;gt;Ошибка загрузки рейтинга&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; };&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; document.head.appendChild(script);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function escapeHtml(str) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!str) return &#039;&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return str.replace(/[&amp;amp;&amp;lt;&amp;gt;]/g, m =&amp;gt; ({ &#039;&amp;amp;&#039;:&#039;&amp;amp;amp;&#039;, &#039;&amp;lt;&#039;:&#039;&amp;amp;lt;&#039;, &#039;&amp;gt;&#039;:&#039;&amp;amp;gt;&#039; }[m]));&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; window.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; loadLeaderboard();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; setInterval(loadLeaderboard, 30000);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; startBtn.addEventListener(&#039;click&#039;, startGame);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gameOverBtn.addEventListener(&#039;click&#039;, () =&amp;gt; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(gameActive) { &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gameActive = false; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(gameInterval) clearInterval(gameInterval); &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gameOver(false); &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; } else if(window.lastSnakeScore &amp;gt; 0) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; sendScoreToForum(window.lastSnakeScore);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; } else {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; alert(&amp;quot;Сыграйте сначала&amp;quot;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; });&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; resetBtn.addEventListener(&#039;click&#039;, resetAndRestart);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; window.addEventListener(&#039;keydown&#039;, (e) =&amp;gt; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(!gameActive) return;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; let k = e.key;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if(k === &#039;ArrowUp&#039; &amp;amp;&amp;amp; direction !== &#039;DOWN&#039;) nextDir = &#039;UP&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; else if(k === &#039;ArrowDown&#039; &amp;amp;&amp;amp; direction !== &#039;UP&#039;) nextDir = &#039;DOWN&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; else if(k === &#039;ArrowLeft&#039; &amp;amp;&amp;amp; direction !== &#039;RIGHT&#039;) nextDir = &#039;LEFT&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; else if(k === &#039;ArrowRight&#039; &amp;amp;&amp;amp; direction !== &#039;LEFT&#039;) nextDir = &#039;RIGHT&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; e.preventDefault();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; });&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; draw();&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; });&lt;br /&gt;&amp;#160; &amp;#160; })();&lt;br /&gt;&amp;lt;/script&amp;gt;[/html]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Sat, 30 May 2026 20:49:37 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=202#p202</guid>
		</item>
		<item>
			<title>Snake</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=201#p201</link>
			<description>&lt;p&gt;[html][/html][hideprofile]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Eleanor Nightingale)</author>
			<pubDate>Sat, 30 May 2026 20:48:35 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=201#p201</guid>
		</item>
		<item>
			<title>Тест</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=193#p193</link>
			<description>&lt;p&gt;[right]&lt;strong&gt;&lt;span style=&quot;font-style: italic&quot;&gt;&lt;em class=&quot;bbuline&quot;&gt;&lt;del&gt;[left][center][right][justify]&lt;/p&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;Свернутый текст&lt;/div&gt;&lt;blockquote&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;[quote][hide][/hide][quote][quote][size=12][font=Trebuchet Ms][table layout=&amp;quot;fixed&amp;quot;]
[tr]
[td] [/td]
[td] [/td]
[td] [/td]
[td] [/td]
[td] [/td]
[/tr]
[tr]
[td] [/td]
[td] [/td]
[td] [/td]
[td] [/td]
[td] [/td]
[/tr]
[tr]
[td] [/td]
[td] [/td]
[td] [/td]
[td] [/td]
[td] [/td]
[/tr]
[tr]
[td] [/td]
[td] [/td]
[td] [/td]
[td] [/td]
[td] [/td]
[/tr]
[/table][dice]1d20[/dice][arsenal]
Оружие: 
Броня: 
Артефакты: 
[/arsenal][size=10][font=Arial Narrow][/font][/size][/font][/size][/quote][/quote][/quote]&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;[/justify][/right][/center][/left]&lt;/del&gt;&lt;/em&gt;&lt;/span&gt;&lt;/strong&gt;[/right]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Sat, 30 May 2026 00:06:57 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=193#p193</guid>
		</item>
		<item>
			<title>Личное дело: Войд | А | RP</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=192#p192</link>
			<description>&lt;p&gt;Хаха&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Fri, 29 May 2026 21:57:46 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=192#p192</guid>
		</item>
		<item>
			<title>Журнал теневых операций</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=186#p186</link>
			<description>&lt;p&gt;r&lt;/p&gt;
						&lt;p&gt;[стиль: Void]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Tue, 26 May 2026 12:16:38 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=186#p186</guid>
		</item>
		<item>
			<title>Тестовая игровая тема</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=180#p180</link>
			<description>&lt;div class=&quot;quote-box answer-box&quot;&gt;&lt;cite&gt;LOG_DECRYPTED написал(а):&lt;/cite&gt;&lt;blockquote&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 15em&quot;&gt;&lt;pre&gt;
&amp;gt;&amp;gt;&amp;gt; SOURCE: TERMINAL_404
&amp;gt;&amp;gt;&amp;gt; ACTION: ASSET_EXTRACTION
&amp;gt;&amp;gt;&amp;gt; TARGET: Void
&amp;gt;&amp;gt;&amp;gt; ITEM:   Акариус
&amp;gt;&amp;gt;&amp;gt; STATUS: SECURED
&amp;gt;&amp;gt;&amp;gt; ID:     #VOID-210133
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (Quincy Isaacs)</author>
			<pubDate>Sat, 23 May 2026 19:14:43 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=180#p180</guid>
		</item>
		<item>
			<title>Личное дело</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=122#p122</link>
			<description>&lt;p&gt;&lt;span class=&quot;highlight-text&quot;&gt;Социальные связи&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;ACTIVITY&quot; id=&quot;block-1&quot;&gt;&lt;div class=&quot;SOCIAL&quot; id=&quot;block-2&quot;&gt;&lt;p&gt;&lt;strong&gt;СОЦИАЛЬНЫЕ СВЯЗИ&lt;/strong&gt;&lt;/p&gt;
						&lt;p&gt;Войд::&lt;br /&gt;конфликт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=1#p1&quot;&gt;Тестовое сообщение&lt;/a&gt;&lt;br /&gt;доверие: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=1#p2&quot;&gt;Тестовое сообщение&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Виспер::&lt;br /&gt;угроза: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=1#p1&quot;&gt;Тестовое сообщение&lt;/a&gt;&lt;br /&gt;дар: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=1#p2&quot;&gt;Тестовое сообщение&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Элис::&lt;br /&gt;спасение: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=25#p135&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=25#p135&lt;/a&gt;&lt;br /&gt;пари: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=30#p150&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=30#p150&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;[hideprofile]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Fri, 16 Jan 2026 12:05:48 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=122#p122</guid>
		</item>
		<item>
			<title>[Ополчение] Марианна: Потерянный протофрейм</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=120#p120</link>
			<description>&lt;p&gt;меланхолия&lt;/p&gt;
						&lt;p&gt;[npc-face: Мария Петрова]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Wed, 14 Jan 2026 12:38:52 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=120#p120</guid>
		</item>
		<item>
			<title>Личное досье (тест)</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=94#p94</link>
			<description>&lt;p&gt;&lt;span class=&quot;highlight-text&quot;&gt;ЛИЧНОЕ ДЕЛО&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;ACTIVITY&quot; id=&quot;block-3&quot;&gt;&lt;p&gt;[2025-12-06]&lt;/p&gt;&lt;div class=&quot;prsnlinfo&quot; id=&quot;block-10&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MASTER-RANK&quot; id=&quot;block-4&quot;&gt;&lt;p&gt;&lt;strong&gt;РАНГ МАСТЕРСТВА&lt;/strong&gt;&lt;/p&gt;
						&lt;p&gt;Основное оружие::&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p46&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p47&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p48&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Вторичное оружие::&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p43&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p44&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p41&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;&amp;#160; &lt;br /&gt;Оружие ближнего боя::&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p34&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p35&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &lt;br /&gt;Способности::&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p31&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p31&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;INVENTORY&quot; id=&quot;block-5&quot;&gt;&lt;p&gt;&lt;strong&gt;ИНВЕНТАРЬ&lt;/strong&gt;&lt;/p&gt;
						&lt;p&gt;Акцельтра: стартовое вооружение&lt;br /&gt;Бронко: купил за 20 в магазине&lt;br /&gt;Бассоцист: купил у Нигана за 50&lt;br /&gt;Катана: продал Лиззи за 40&lt;br /&gt;Токсики: потерял в битве за аванпост&lt;br /&gt;Акариус: украл у Нигана&lt;br /&gt;Цист: украл у Нигана&lt;br /&gt;Споромёт: стартовое вооружение&lt;br /&gt;Споротрикс: купил за 25&lt;br /&gt;Споромёт: продал Нигану за 50000&lt;br /&gt;Катана: украла Лиззи&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;ACHIEVEMENTS&quot; id=&quot;block-6&quot;&gt;&lt;p&gt;&lt;strong&gt;ДОСТИЖЕНИЯ&lt;/strong&gt;&lt;/p&gt;
						&lt;p&gt;Первопост: написать первый пост:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Хитрец: обмануть другого персонажа:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Любитель котиков: погладить котика:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Воин: победить в сложном бою:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p22&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Исследователь: открыть новую территорию:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Дипломат: успешно провести переговоры:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Мастер: достичь максимального уровня навыка:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p14&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Новатор: первым найти решение:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Защитник: защитить слабого:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Целитель: вылечить раненого:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Путешественник: посетить все локации:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;br /&gt;Коллекционер: собрать все предметы коллекции:: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=9#p23&quot;&gt;Тест личной карточки&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;SOCIAL&quot; id=&quot;block-7&quot;&gt;&lt;p&gt;&lt;strong&gt;СОЦИАЛЬНЫЕ СВЯЗИ&lt;/strong&gt;&lt;/p&gt;
						&lt;p&gt;Войд::&lt;br /&gt;конфликт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=1#p1&quot;&gt;Тестовое сообщение&lt;/a&gt;&lt;br /&gt;доверие: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=1#p2&quot;&gt;Тестовое сообщение&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Виспер::&lt;br /&gt;угроза: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=1#p1&quot;&gt;Тестовое сообщение&lt;/a&gt;&lt;br /&gt;дар: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=1#p2&quot;&gt;Тестовое сообщение&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Элис::&lt;br /&gt;спасение: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=25#p135&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=25#p135&lt;/a&gt;&lt;br /&gt;пари: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=30#p150&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=30#p150&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;флирт: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;br /&gt;близость: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=15#p150&quot;&gt;[Ополчение] Марианна: Потерянный протофрейм&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;FACTIONS&quot; id=&quot;block-8&quot;&gt;
						&lt;p&gt;Ополчение::&lt;br /&gt;О1225-01 &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=65#p2&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=65#p2&lt;/a&gt;&lt;br /&gt;О1225-02 &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=66#p2&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=66#p2&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Аутсайдеры::&lt;br /&gt;А1225-01 &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=67#p2&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=67#p2&lt;/a&gt;&lt;br /&gt;Босс: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=65#p2&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=65#p2&lt;/a&gt;&lt;br /&gt;Босс: &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=65#p3&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=65#p3&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Скальдра::&lt;/p&gt;
						&lt;p&gt;Ночная волна::&lt;br /&gt;Н1225-01 &lt;a href=&quot;https://warframe.f-rpg.me/viewtopic.php?id=69#p2&quot;&gt;https://warframe.f-rpg.me/viewtopic.php?id=69#p2&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;SIGNATURES&quot; id=&quot;block-9&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;[hideprofile]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Wed, 17 Dec 2025 20:47:43 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=94#p94</guid>
		</item>
		<item>
			<title>[Ополчение] Капитан Марков: эвакуация выживших тест тест тест тест тес</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=89#p89</link>
			<description>&lt;p&gt;Vvvv&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Tue, 16 Dec 2025 20:36:59 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=89#p89</guid>
		</item>
		<item>
			<title>Рынок</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=62#p62</link>
			<description>&lt;p&gt;Тестовое сообщение??&lt;br /&gt;Бросок: 1d20: 19&lt;/p&gt;&lt;div class=&quot;arsenal&quot; id=&quot;block-11&quot;&gt;&lt;p&gt;Мой арсенал&lt;/p&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Mon, 15 Dec 2025 11:00:09 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=62#p62</guid>
		</item>
		<item>
			<title>Переулок</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=57#p57</link>
			<description>&lt;p&gt;.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Mon, 15 Dec 2025 02:22:04 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=57#p57</guid>
		</item>
		<item>
			<title>Тестовая игровая тема</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=55#p55</link>
			<description>&lt;p&gt;Тестовое сообщение на форуме.&lt;/p&gt;
						&lt;p&gt;[Negan_доверие]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Tue, 09 Dec 2025 12:11:50 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=55#p55</guid>
		</item>
		<item>
			<title>Тест личной карточки</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=51#p51</link>
			<description>&lt;p&gt;&lt;strong&gt;Тёмный клинок&lt;/strong&gt;&lt;br /&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;https://warframe.3dn.ru/icons/250px-DarkDagger.png&quot; alt=&quot;https://warframe.3dn.ru/icons/250px-DarkDagger.png&quot; /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic&quot;&gt;Категория:&lt;/span&gt; Основное оружие&lt;br /&gt;&lt;span style=&quot;font-style: italic&quot;&gt;Редкость:&lt;/span&gt; Штамповка&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Fri, 14 Nov 2025 15:17:26 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=51#p51</guid>
		</item>
		<item>
			<title>Карточка героя</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=49#p49</link>
			<description>&lt;div class=&quot;herocard&quot; id=&quot;block-12&quot;&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Fri, 14 Nov 2025 10:54:11 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=49#p49</guid>
		</item>
		<item>
			<title>Скрипт сезона</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=35#p35</link>
			<description>&lt;p&gt;[html]&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;&amp;lt;html lang=&amp;quot;ru&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;title&amp;gt;Warframe Cards - Настольная игра&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;style&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; * {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin: 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; box-sizing: border-box;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; font-family: &#039;Segoe UI&#039;, Tahoma, Geneva, Verdana, sans-serif;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; body {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #fff;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; min-height: 100vh;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .container {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; max-width: 1200px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin: 0 auto;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .header {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; text-align: center;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-bottom: 40px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; background: rgba(0, 0, 0, 0.3);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border: 2px solid #00ffff;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .filters {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; display: flex;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; justify-content: center;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gap: 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-bottom: 30px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; flex-wrap: wrap;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .filter-btn {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 10px 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #2d3047;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #fff;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border: 1px solid #00ffff;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 25px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; cursor: pointer;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; transition: all 0.3s ease;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .filter-btn:hover, .filter-btn.active {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #00ffff;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #000;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .warframe-grid {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; display: grid;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gap: 25px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .warframe-card {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; background: linear-gradient(145deg, #2d3047 0%, #1b1b2f 100%);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border: 2px solid #00ffff;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; box-shadow: 0 10px 30px rgba(0, 255, 255, 0.1);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; transition: transform 0.3s ease, box-shadow 0.3s ease;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; position: relative;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; overflow: hidden;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .warframe-card:hover {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; transform: translateY(-10px);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; box-shadow: 0 15px 40px rgba(0, 255, 255, 0.2);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .warframe-card::before {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; content: &#039;&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; position: absolute;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; top: 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; left: 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; right: 0;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; height: 4px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; background: linear-gradient(90deg, #ff6b6b, #4ecdc4, #45b7d1, #96ceb4, #ffeaa7);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .card-header {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; display: flex;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; align-items: center;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-bottom: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .warframe-image {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; width: 80px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; height: 80px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 50%;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border: 2px solid #00ffff;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-right: 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; object-fit: cover;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .warframe-info {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; flex: 1;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .warframe-name {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 1.5em;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; font-weight: bold;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-bottom: 5px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #00ffff;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .warframe-roles {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; display: flex;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gap: 8px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; flex-wrap: wrap;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .role-tag {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; background: rgba(0, 255, 255, 0.2);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 4px 10px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 0.8em;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border: 1px solid #00ffff;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .abilities-section {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-top: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .section-title {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 1.1em;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-bottom: 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ff6b6b;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-bottom: 1px solid #444;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; padding-bottom: 5px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .ability {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; background: rgba(255, 255, 255, 0.05);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 10px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; padding: 12px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-bottom: 10px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-left: 3px solid #4ecdc4;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .ability.passive {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-left-color: #ffeaa7;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .ability-name {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; font-weight: bold;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #4ecdc4;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-bottom: 5px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; display: flex;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; align-items: center;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gap: 8px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .ability.passive .ability-name {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ffeaa7;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .ability-description {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 0.9em;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; line-height: 1.4;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #ccc;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .ability-icon {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; width: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; height: 20px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; background: #444;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-radius: 4px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; display: inline-block;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; .card-footer {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; margin-top: 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; padding-top: 15px;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; border-top: 1px solid #444;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; font-size: 0.8em;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; color: #888;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; text-align: center;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; @media (max-width: 768px) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; .warframe-grid {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; grid-template-columns: 1fr;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; .filters {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; flex-direction: column;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; align-items: center;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;h1&amp;gt;WARFRAME CARDS&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;p&amp;gt;Коллекция карточек для настольной ролевой игры&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;filters&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;button class=&amp;quot;filter-btn active&amp;quot; data-role=&amp;quot;all&amp;quot;&amp;gt;Все&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;button class=&amp;quot;filter-btn&amp;quot; data-role=&amp;quot;damage&amp;quot;&amp;gt;Урон&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;button class=&amp;quot;filter-btn&amp;quot; data-role=&amp;quot;support&amp;quot;&amp;gt;Поддержка&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;button class=&amp;quot;filter-btn&amp;quot; data-role=&amp;quot;survival&amp;quot;&amp;gt;Выживание&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;button class=&amp;quot;filter-btn&amp;quot; data-role=&amp;quot;stealth&amp;quot;&amp;gt;Скрытность&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;button class=&amp;quot;filter-btn&amp;quot; data-role=&amp;quot;crowdcontrol&amp;quot;&amp;gt;Контроль&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;warframe-grid&amp;quot; id=&amp;quot;warframeGrid&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;!-- Карточки будут добавляться через JavaScript --&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;lt;script&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; // Данные варфреймов&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; const warframesData = [&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; name: &amp;quot;Atlas&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; image: &amp;quot;https://content.warframe.com/PublicExport/Lotus/Interface/Icons/StoreIcons/Warframes/Atlas.png&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; roles: [&amp;quot;damage&amp;quot;, &amp;quot;survival&amp;quot;],&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; abilities: {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; passive: &amp;quot;Иммунитет к отбрасыванию при нахождении на земле. Поверженные окаменевшие враги оставляют Обломки, которые лечат Атласа или дают ему бонус к броне.&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; active: [&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Оползень&amp;quot;, description: &amp;quot;Мощный повторяющийся удар, который устремляется вперед и наносит урон по площади.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Тектоника&amp;quot;, description: &amp;quot;Создает каменную стену, блокирующую вражеский огонь. Можно зарядить, чтобы скатить ее вперед как валун.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Окаменение&amp;quot;, description: &amp;quot;Атака конусом, превращающая врагов в камень, делая их уязвимыми и позволяя оставлять Обломки.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Грохот&amp;quot;, description: &amp;quot;Призывает двух элементалей камня для сражения за Атласа.&amp;quot; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; name: &amp;quot;Banshee&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; image: &amp;quot;https://content.warframe.com/PublicExport/Lotus/Interface/Icons/StoreIcons/Warframes/Banshee.png&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; roles: [&amp;quot;crowdcontrol&amp;quot;],&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; abilities: {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; passive: &amp;quot;Все оружие Банши работает бесшумно, не предупреждая врагов при стрельбе.&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; active: [&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Звуковой удар&amp;quot;, description: &amp;quot;Излучает звуковую ударную волну, которая отбрасывает врагов в широком конусе.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Сонар&amp;quot;, description: &amp;quot;Обнаруживает уязвимые места врагов, которые умножают урон при попадании.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Тишина&amp;quot;, description: &amp;quot;Создает область, которая оглушает врагов, входящих в нее, и заглушает все звуки оружия.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Звуковое землетрясение&amp;quot;, description: &amp;quot;Создает ударные волны, наносящие урон и оглушающие всех врагов на большой площади.&amp;quot; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; name: &amp;quot;Frost&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; image: &amp;quot;https://content.warframe.com/PublicExport/Lotus/Interface/Icons/StoreIcons/Warframes/Frost.png&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; roles: [&amp;quot;crowdcontrol&amp;quot;, &amp;quot;survival&amp;quot;],&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; abilities: {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; passive: &amp;quot;Способности имеют увеличенную длительность эффекта статуса Холод. Враги с эффектом Холода в радиусе аффинити дают Фросту бонус к броне.&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; active: [&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Замораживание&amp;quot;, description: &amp;quot;Запускает ледяной снаряд, который замораживает единственную цель на месте.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Ледяная волна&amp;quot;, description: &amp;quot;Посылает волну острого льда вперед, нанося урон и замедляя врагов на широком пути.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Снежный шар&amp;quot;, description: &amp;quot;Создает защитную сферу льда, блокирующую вражеские выстрелы. Кратко неуязвим при создании.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Лавина&amp;quot;, description: &amp;quot;Выпускает волну мороза, которая наносит урон всем ближайшим врагам и снижает их броню.&amp;quot; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; name: &amp;quot;Volt&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; image: &amp;quot;https://content.warframe.com/PublicExport/Lotus/Interface/Icons/StoreIcons/Warframes/Volt.png&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; roles: [&amp;quot;damage&amp;quot;, &amp;quot;support&amp;quot;],&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; abilities: {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; passive: &amp;quot;Накопитель заряда: накапливает статическое электричество при движении, добавляя бонусный урон Электричеством к следующей атаке.&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; active: [&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Шок&amp;quot;, description: &amp;quot;Запускает снаряд, который передает урон Электричеством нескольким ближайшим врагам.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Скорость&amp;quot;, description: &amp;quot;Заряжает Вольта и ближайших союзников, значительно увеличивая их скорость передвижения и атаки.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Электрический щит&amp;quot;, description: &amp;quot;Развертывает энергетический барьер, блокирующий вражеский огонь и усиливающий выстрелы, произведенные сквозь него.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Разряд&amp;quot;, description: &amp;quot;Выпускает мощное электрическое поле, которое оглушает и наносит урон врагам на большой площади.&amp;quot; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; name: &amp;quot;Mag&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; image: &amp;quot;https://content.warframe.com/PublicExport/Lotus/Interface/Icons/StoreIcons/Warframes/Mag.png&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; roles: [&amp;quot;crowdcontrol&amp;quot;],&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; abilities: {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; passive: &amp;quot;Автоматически притягивает предметы в радиусе 8 метров к себе.&amp;quot;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; active: [&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Притяжение&amp;quot;, description: &amp;quot;Создает магнитный вихрь, который отбрасывает и притягивает врагов к Мэг.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Намагничивание&amp;quot;, description: &amp;quot;Захватывает цель в магнитном поле, которое захватывает снаряды и наносит периодический урон.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Поляризация&amp;quot;, description: &amp;quot;Излучает волну, которая истощает щиты и броню врагов, одновременно восстанавливая щиты союзников.&amp;quot; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; { name: &amp;quot;Раздавить&amp;quot;, description: &amp;quot;Телекинетически поднимает врагов, нанося массовый Магнитный урон и снимая их броню.&amp;quot; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; ];&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; // Функция для создания карточки варфрейма&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function createWarframeCard(warframe) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const card = document.createElement(&#039;div&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; card.className = &#039;warframe-card&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; card.dataset.roles = warframe.roles.join(&#039; &#039;);&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const rolesHTML = warframe.roles.map(role =&amp;gt; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; `&amp;lt;span class=&amp;quot;role-tag&amp;quot;&amp;gt;${getRoleName(role)}&amp;lt;/span&amp;gt;`&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ).join(&#039;&#039;);&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const abilitiesHTML = warframe.abilities.active.map((ability, index) =&amp;gt; `&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;ability&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;ability-name&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;span class=&amp;quot;ability-icon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ${index + 1}. ${ability.name}&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;ability-description&amp;quot;&amp;gt;${ability.description}&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; `).join(&#039;&#039;);&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; card.innerHTML = `&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;img src=&amp;quot;${warframe.image}&amp;quot; alt=&amp;quot;${warframe.name}&amp;quot; class=&amp;quot;warframe-image&amp;quot; onerror=&amp;quot;this.src=&#039;https://via.placeholder.com/80x80/2d3047/00ffff?text=?&#039;&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;warframe-info&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;warframe-name&amp;quot;&amp;gt;${warframe.name}&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;warframe-roles&amp;quot;&amp;gt;${rolesHTML}&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;abilities-section&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;section-title&amp;quot;&amp;gt;СПОСОБНОСТИ&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;ability passive&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;ability-name&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;span class=&amp;quot;ability-icon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; Пассивная&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;ability-description&amp;quot;&amp;gt;${warframe.abilities.passive}&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ${abilitiesHTML}&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;card-footer&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; Warframe RPG Card © 2024&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; `;&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return card;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; // Функция для получения русского названия роли&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function getRoleName(role) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const roleNames = {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &#039;damage&#039;: &#039;Урон&#039;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &#039;support&#039;: &#039;Поддержка&#039;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &#039;survival&#039;: &#039;Выживание&#039;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &#039;stealth&#039;: &#039;Скрытность&#039;,&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &#039;crowdcontrol&#039;: &#039;Контроль&#039;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; };&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return roleNames[role] || role;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; // Функция для фильтрации карточек&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; function filterCards(role) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const cards = document.querySelectorAll(&#039;.warframe-card&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; cards.forEach(card =&amp;gt; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if (role === &#039;all&#039; || card.dataset.roles.includes(role)) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; card.style.display = &#039;block&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; } else {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; card.style.display = &#039;none&#039;;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; });&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; }&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; // Инициализация&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; document.addEventListener(&#039;DOMContentLoaded&#039;, () =&amp;gt; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const grid = document.getElementById(&#039;warframeGrid&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; // Создаем карточки для каждого варфрейма&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; warframesData.forEach(warframe =&amp;gt; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; const card = createWarframeCard(warframe);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; grid.appendChild(card);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; });&lt;/p&gt;
						&lt;p&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; // Добавляем обработчики для кнопок фильтра&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; document.querySelectorAll(&#039;.filter-btn&#039;).forEach(btn =&amp;gt; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; btn.addEventListener(&#039;click&#039;, () =&amp;gt; {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; document.querySelectorAll(&#039;.filter-btn&#039;).forEach(b =&amp;gt; b.classList.remove(&#039;active&#039;));&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; btn.classList.add(&#039;active&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; filterCards(btn.dataset.role);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; });&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; });&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; });&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;[/html]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Tue, 11 Nov 2025 17:18:47 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=35#p35</guid>
		</item>
		<item>
			<title>Тестовое сообщение</title>
			<link>https://warframe.f-rpg.me/viewtopic.php?pid=30#p30</link>
			<description>&lt;p&gt;[html]&amp;lt;style&amp;gt;&lt;br /&gt;#season-widget {&lt;br /&gt;&amp;#160; &amp;#160; width: 200px;&lt;br /&gt;&amp;#160; &amp;#160; height: 200px;&lt;br /&gt;&amp;#160; &amp;#160; border: 2px solid;&lt;br /&gt;&amp;#160; &amp;#160; border-radius: 10px;&lt;br /&gt;&amp;#160; &amp;#160; display: flex;&lt;br /&gt;&amp;#160; &amp;#160; flex-direction: column;&lt;br /&gt;&amp;#160; &amp;#160; justify-content: center;&lt;br /&gt;&amp;#160; &amp;#160; align-items: center;&lt;br /&gt;&amp;#160; &amp;#160; font-family: Arial, sans-serif;&lt;br /&gt;&amp;#160; &amp;#160; font-weight: bold;&lt;br /&gt;&amp;#160; &amp;#160; position: relative;&lt;br /&gt;&amp;#160; &amp;#160; overflow: hidden;&lt;br /&gt;&amp;#160; &amp;#160; box-sizing: border-box;&lt;br /&gt;&amp;#160; &amp;#160; padding: 10px;&lt;br /&gt;&amp;#160; &amp;#160; text-align: center;&lt;br /&gt;&amp;#160; &amp;#160; margin: 10px;&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;/* Стили для сезонов */&lt;br /&gt;.season-autumn {&lt;br /&gt;&amp;#160; &amp;#160; background: linear-gradient(135deg, #fbe9e7, #ffab91);&lt;br /&gt;&amp;#160; &amp;#160; border-color: #ff8a65;&lt;br /&gt;&amp;#160; &amp;#160; color: #d84315;&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;.season-winter {&lt;br /&gt;&amp;#160; &amp;#160; background: linear-gradient(135deg, #e3f2fd, #bbdefb);&lt;br /&gt;&amp;#160; &amp;#160; border-color: #90caf9;&lt;br /&gt;&amp;#160; &amp;#160; color: #1565c0;&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;.season-spring {&lt;br /&gt;&amp;#160; &amp;#160; background: linear-gradient(135deg, #e8f5e8, #c8e6c9);&lt;br /&gt;&amp;#160; &amp;#160; border-color: #81c784;&lt;br /&gt;&amp;#160; &amp;#160; color: #2e7d32;&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;.season-summer {&lt;br /&gt;&amp;#160; &amp;#160; background: linear-gradient(135deg, #fff3e0, #ffcc80);&lt;br /&gt;&amp;#160; &amp;#160; border-color: #ffb74d;&lt;br /&gt;&amp;#160; &amp;#160; color: #ef6c00;&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;.season-name {&lt;br /&gt;&amp;#160; &amp;#160; font-size: 24px;&lt;br /&gt;&amp;#160; &amp;#160; margin-bottom: 10px;&lt;br /&gt;&amp;#160; &amp;#160; text-shadow: 1px 1px 2px rgba(0,0,0,0.1);&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;.season-timer {&lt;br /&gt;&amp;#160; &amp;#160; font-size: 12px;&lt;br /&gt;&amp;#160; &amp;#160; text-align: center;&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;.days-left {&lt;br /&gt;&amp;#160; &amp;#160; font-size: 16px;&lt;br /&gt;&amp;#160; &amp;#160; color: #d32f2f;&lt;br /&gt;&amp;#160; &amp;#160; font-weight: bold;&lt;br /&gt;&amp;#160; &amp;#160; display: block;&lt;br /&gt;&amp;#160; &amp;#160; margin-top: 5px;&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;/* Декоративные элементы */&lt;br /&gt;.decor {&lt;br /&gt;&amp;#160; &amp;#160; position: absolute;&lt;br /&gt;&amp;#160; &amp;#160; top: 10px;&lt;br /&gt;&amp;#160; &amp;#160; right: 10px;&lt;br /&gt;&amp;#160; &amp;#160; font-size: 20px;&lt;br /&gt;&amp;#160; &amp;#160; opacity: 0.5;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;lt;div id=&amp;quot;season-widget&amp;quot; class=&amp;quot;season-autumn&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;season-name&amp;quot;&amp;gt;ОСЕНЬ&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;season-timer&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; ВРЕМЯ ДО ОКОНЧАНИЯ СЕЗОНА: &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;lt;span class=&amp;quot;days-left&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt; ДНЕЙ&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;div class=&amp;quot;decor&amp;quot;&amp;gt;&amp;#127810;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
						&lt;p&gt;&amp;lt;script&amp;gt;&lt;br /&gt;// Простая и надежная версия расчета сезонов&lt;br /&gt;function getSeasonInfo() {&lt;br /&gt;&amp;#160; &amp;#160; // Начальная дата - 1 ноября 2025&lt;br /&gt;&amp;#160; &amp;#160; const startDate = new Date(&#039;2025-11-01&#039;);&lt;br /&gt;&amp;#160; &amp;#160; const now = new Date();&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; // Разница в днях&lt;br /&gt;&amp;#160; &amp;#160; const diffTime = now - startDate;&lt;br /&gt;&amp;#160; &amp;#160; const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; // Если дата раньше начала&lt;br /&gt;&amp;#160; &amp;#160; if (diffDays &amp;lt; 0) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return { season: &#039;autumn&#039;, name: &#039;ОСЕНЬ&#039;, decor: &#039;&amp;#127810;&#039;, daysLeft: 100 };&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; // Определяем текущий сезон (каждые 100 дней)&lt;br /&gt;&amp;#160; &amp;#160; const seasonCycle = Math.floor(diffDays / 100) % 4;&lt;br /&gt;&amp;#160; &amp;#160; const daysInSeason = diffDays % 100;&lt;br /&gt;&amp;#160; &amp;#160; const daysLeft = 100 - daysInSeason;&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; const seasons = [&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; { season: &#039;autumn&#039;, name: &#039;ОСЕНЬ&#039;, decor: &#039;&amp;#127810;&#039; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; { season: &#039;winter&#039;, name: &#039;ЗИМА&#039;, decor: &#039;&amp;#10052;&amp;#65039;&#039; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; { season: &#039;spring&#039;, name: &#039;ВЕСНА&#039;, decor: &#039;&amp;#127793;&#039; },&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; { season: &#039;summer&#039;, name: &#039;ЛЕТО&#039;, decor: &#039;&amp;#9728;&amp;#65039;&#039; }&lt;br /&gt;&amp;#160; &amp;#160; ];&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; return {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; ...seasons[seasonCycle],&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; daysLeft: daysLeft&lt;br /&gt;&amp;#160; &amp;#160; };&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;function updateSeasonWidget() {&lt;br /&gt;&amp;#160; &amp;#160; const seasonInfo = getSeasonInfo();&lt;br /&gt;&amp;#160; &amp;#160; const widget = document.getElementById(&#039;season-widget&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; if (!widget) {&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; console.error(&#039;Виджет не найден!&#039;);&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return;&lt;br /&gt;&amp;#160; &amp;#160; }&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; // Обновляем содержимое&lt;br /&gt;&amp;#160; &amp;#160; widget.querySelector(&#039;.season-name&#039;).textContent = seasonInfo.name;&lt;br /&gt;&amp;#160; &amp;#160; widget.querySelector(&#039;.days-left&#039;).textContent = seasonInfo.daysLeft;&lt;br /&gt;&amp;#160; &amp;#160; widget.querySelector(&#039;.decor&#039;).textContent = seasonInfo.decor;&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; // Обновляем классы&lt;br /&gt;&amp;#160; &amp;#160; widget.className = &#039;season-&#039; + seasonInfo.season;&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; console.log(&#039;Сезон обновлен:&#039;, seasonInfo);&lt;br /&gt;}&lt;/p&gt;
						&lt;p&gt;// Запускаем при загрузке&lt;br /&gt;document.addEventListener(&#039;DOMContentLoaded&#039;, function() {&lt;br /&gt;&amp;#160; &amp;#160; console.log(&#039;Документ загружен, обновляем виджет...&#039;);&lt;br /&gt;&amp;#160; &amp;#160; updateSeasonWidget();&lt;br /&gt;});&lt;/p&gt;
						&lt;p&gt;// Дублируем запуск на всякий случай&lt;br /&gt;window.onload = updateSeasonWidget;&lt;/p&gt;
						&lt;p&gt;// Для отладки - выводим информацию&lt;br /&gt;console.log(&#039;Скрипт сезонов загружен, текущий сезон:&#039;, getSeasonInfo());&lt;br /&gt;&amp;lt;/script&amp;gt;[/html]&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Void)</author>
			<pubDate>Fri, 24 Oct 2025 04:27:16 +0300</pubDate>
			<guid>https://warframe.f-rpg.me/viewtopic.php?pid=30#p30</guid>
		</item>
	</channel>
</rss>
