[hideprofile][html]<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Forbidden Rites | Активные акции</title>
<script src="https://cdn.tailwindcss.com"></script>
<style>
body { background-color: #0a0a0a; color: #d1d1d1; font-family: 'Courier New', Courier, monospace; }
.npc-card {
background: #121212;
border: 1px solid #3c6a5e;
transition: all 0.4s ease;
position: relative;
overflow: hidden;
height: 350px;
}
.npc-card img {
filter: grayscale(90%) brightness(0.6);
transition: all 0.5s ease;
height: 200px;
width: 100%;
object-fit: cover;
}
.npc-card:hover img { filter: grayscale(0%) brightness(1); transform: scale(1.05); }
.details {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(10, 10, 10, 0.96);
padding: 1.5rem;
opacity: 0;
transition: opacity 0.4s ease;
overflow-y: auto;
pointer-events: none;
border: 1px solid #3c6a5e;
}
.npc-card:hover .details { opacity: 1; pointer-events: auto; }
.faction-tag { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.15em; padding: 2px 8px; border: 1px solid; display: inline-block; }
.vanguard { color: #4a90e2; border-color: #4a90e2; }
.order { color: #a855f7; border-color: #a855f7; }
.syndicate { color: #f97316; border-color: #f97316; }
.neutral { color: #9ca3af; border-color: #9ca3af; }
.filter-btn { background: #1a1a1a; border: 1px solid #3c6a5e; color: #3c6a5e; padding: 0.5rem 1rem; margin: 0.25rem; cursor: pointer; transition: 0.3s; }
.filter-btn:hover, .filter-btn.active { background: #3c6a5e; color: #fff; }
</style>
</head>
<body class="p-4 md:p-8">
<div class="max-w-6xl mx-auto">
<h1 class="text-3xl uppercase tracking-widest text-[#3c6a5e] mb-2 border-b border-[#3c6a5e] pb-4">Архив активных операций: Санхай</h1>
<p class="text-gray-500 mb-8 italic">Наведите на досье, чтобы просмотреть условия акции.</p>
<div class="flex flex-wrap justify-center mb-8 gap-2" id="filter-nav">
<button class="filter-btn active" onclick="filterNPC('all')">Все</button>
<button class="filter-btn" onclick="filterNPC('vanguard')">Vanguard-S</button>
<button class="filter-btn" onclick="filterNPC('order')">The Order</button>
<button class="filter-btn" onclick="filterNPC('syndicate')">Syndicate</button>
<button class="filter-btn" onclick="filterNPC('neutral')">Neutral</button>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" id="npc-grid">
<!-- VANGUARD-S: Vorn -->
<div class="npc-card" data-faction="vanguard">
<img src="https://placeholder.apptor.studio/300/200/product1.png" alt="Commander Vorn">
<div class="p-4">
<span class="faction-tag vanguard">Vanguard-S</span>
<h2 class="text-lg font-bold mt-1">Командор Элиас Ворн</h2>
</div>
<div class="details">
<h3 class="text-blue-400 font-bold mb-2 uppercase text-xs">Операция: Зачистка Индустриального сектора</h3>
<p class="text-sm mb-4">Ворн — ветеран «Авангарда». Считает, что любой контакт с аномалией ведет к деградации личности.</p>
<div class="bg-gray-900 p-3 border-l-2 border-blue-500 text-xs">
<p class="font-bold">ЗАДАЧА:</p>
<p>Провести зачистку сектора 12-Б. Необходимо ликвидировать группу мародеров, прикрывающихся поиском металлолома, а по факту занимающихся незаконной добычей Осколков. Особые указания: артефакты не изымать, а уничтожать на месте.</p>
</div>
</div>
</div>
<!-- VANGUARD-S: Sato -->
<div class="npc-card" data-faction="vanguard">
<img src="https://placeholder.apptor.studio/300/200/product1.png" alt="Analyst Sato">
<div class="p-4">
<span class="faction-tag vanguard">Vanguard-S</span>
<h2 class="text-lg font-bold mt-1">Аналитик Сато</h2>
</div>
<div class="details">
<h3 class="text-blue-400 font-bold mb-2 uppercase text-xs">Операция: «Тихий час»</h3>
<p class="text-sm mb-4">Сато ищет математические закономерности в смертях. Втайне от командования она ведет свое расследование.</p>
<div class="bg-gray-900 p-3 border-l-2 border-blue-500 text-xs">
<p class="font-bold">ЗАДАЧА:</p>
<p>Внедрение в гражданские группы выживших. Нужно передавать данные о частоте возникновения «Тихих Часов» в определенных зонах. Внимание: в случае обнаружения связи с Орденом — сдать объект немедленно.</p>
</div>
</div>
</div>
<!-- ORDER: Sol -->
<div class="npc-card" data-faction="order">
<img src="https://placeholder.apptor.studio/300/200/product1.png" alt="Archivist Sol">
<div class="p-4">
<span class="faction-tag order">The Order</span>
<h2 class="text-lg font-bold mt-1">Архивариус Элара Сол</h2>
</div>
<div class="details">
<h3 class="text-purple-400 font-bold mb-2 uppercase text-xs">Операция: Калибровка портала</h3>
<p class="text-sm mb-4">Элара верит, что Санхай — это колыбель новой реальности.</p>
<div class="bg-gray-900 p-3 border-l-2 border-purple-500 text-xs">
<p class="font-bold">ЗАДАЧА:</p>
<p>Требуется доставить 3 стабилизатора в Башню 92 во время фазы «Тихого Часа». Стабилизаторы должны быть установлены в строго определенных узловых точках. Оплата: доступ к архивам данных Ордена.</p>
</div>
</div>
</div>
<!-- ORDER: Vesper -->
<div class="npc-card" data-faction="order">
<img src="https://placeholder.apptor.studio/300/200/product1.png" alt="Ritualist Vesper">
<div class="p-4">
<span class="faction-tag order">The Order</span>
<h2 class="text-lg font-bold mt-1">Ритуалист Веспер</h2>
</div>
<div class="details">
<h3 class="text-purple-400 font-bold mb-2 uppercase text-xs">Операция: Поиск Осколков</h3>
<p class="text-sm mb-4">Бывший инженер, он собирает стабилизаторы из того, что удается найти на руинах.</p>
<div class="bg-gray-900 p-3 border-l-2 border-purple-500 text-xs">
<p class="font-bold">ЗАДАЧА:</p>
<p>Прочесать Индустриальный сектор в поисках «фонящих» фрагментов. Нужно не просто найти предмет, а принести его в рабочем состоянии. Веспер обещает изготовить из них портативное устройство, подавляющее паранойю от использования реликвий.</p>
</div>
</div>
</div>
<!-- SYNDICATE: Kuro -->
<div class="npc-card" data-faction="syndicate">
<img src="https://placeholder.apptor.studio/300/200/product1.png" alt="Broker Kuro">
<div class="p-4">
<span class="faction-tag syndicate">Syndicate</span>
<h2 class="text-lg font-bold mt-1">Куро (Брокер)</h2>
</div>
<div class="details">
<h3 class="text-orange-500 font-bold mb-2 uppercase text-xs">Операция: Золотой груз</h3>
<p class="text-sm mb-4">Главный посредник Рынка Тени. Его не интересуют причины — только маржа.</p>
<div class="bg-gray-900 p-3 border-l-2 border-orange-500 text-xs">
<p class="font-bold">ЗАДАЧА:</p>
<p>Груз продовольствия для Доков заблокирован «Авангардом». Задача: провести караван через старую канализацию, минуя посты патрулей. Если груз прибудет в целости — получите процент от перепродажи и «билет» на свободное перемещение между секторами.</p>
</div>
</div>
</div>
<!-- SYNDICATE: Jax -->
<div class="npc-card" data-faction="syndicate">
<img src="https://placeholder.apptor.studio/300/200/product1.png" alt="Smuggler Jax">
<div class="p-4">
<span class="faction-tag syndicate">Syndicate</span>
<h2 class="text-lg font-bold mt-1">Контрабандист Джакс</h2>
</div>
<div class="details">
<h3 class="text-orange-500 font-bold mb-2 uppercase text-xs">Операция: Охота на Авангард</h3>
<p class="text-sm mb-4">Король улиц Трущоб. Знает тайные ходы там, где их быть не должно.</p>
<div class="bg-gray-900 p-3 border-l-2 border-orange-500 text-xs">
<p class="font-bold">ЗАДАЧА:</p>
<p>Перехватить логистический отчет офицера «Авангарда». Отчет нужен для того, чтобы знать время и маршрут патрулей на следующую неделю. Цена вопроса высока, так как придется идти на прямой конфликт с гарнизоном.</p>
</div>
</div>
</div>
<!-- NEUTRAL: Dr. Hein -->
<div class="npc-card" data-faction="neutral">
<img src="https://placeholder.apptor.studio/300/200/product1.png" alt="Dr. Hein">
<div class="p-4">
<span class="faction-tag neutral">Neutral</span>
<h2 class="text-lg font-bold mt-1">Доктор Марк Хейн</h2>
</div>
<div class="details">
<h3 class="text-gray-400 font-bold mb-2 uppercase text-xs">Операция: Поиск медикаментов</h3>
<p class="text-sm mb-4">Бывший военный медик. Единственный, кто лечит «артефактный психоз».</p>
<div class="bg-gray-900 p-3 border-l-2 border-gray-500 text-xs">
<p class="font-bold">ЗАДАЧА:</p>
<p>На складах в Доках осталась партия антисептиков и нейролептиков, которые «Авангард» собирается утилизировать как «непригодные». Нужно успеть их выкрасть до того, как их сожгут. Это спасет сотни жизней в Трущобах.</p>
</div>
</div>
</div>
<!-- NEUTRAL: Mara -->
<div class="npc-card" data-faction="neutral">
<img src="https://placeholder.apptor.studio/300/200/product1.png" alt="Mara">
<div class="p-4">
<span class="faction-tag neutral">Neutral</span>
<h2 class="text-lg font-bold mt-1">Мара (Скиталец)</h2>
</div>
<div class="details">
<h3 class="text-gray-400 font-bold mb-2 uppercase text-xs">Операция: Карта тишины</h3>
<p class="text-sm mb-4">Мара живет вне секторов, постоянно перемещаясь. Она видит больше, чем кто-либо.</p>
<div class="bg-gray-900 p-3 border-l-2 border-gray-500 text-xs">
<p class="font-bold">ЗАДАЧА:</p>
<p>Мара нашла зону, где «Тихий Час» наступает чаще всего. Ей нужны добровольцы, чтобы расставить датчики и замерить уровень искажений. Это даст данные, которые можно продать любой из фракций... или использовать для спасения группы людей.</p>
</div>
</div>
</div>
<!-- NEUTRAL: Leo -->
<div class="npc-card" data-faction="neutral">
<img src="https://placeholder.apptor.studio/300/200/product1.png" alt="Reporter Leo">
<div class="p-4">
<span class="faction-tag neutral">Neutral</span>
<h2 class="text-lg font-bold mt-1">Репортер Лео</h2>
</div>
<div class="details">
<h3 class="text-gray-400 font-bold mb-2 uppercase text-xs">Операция: Глас народа</h3>
<p class="text-sm mb-4">Лео — последний журналист, который все еще пытается достучаться до правды.</p>
<div class="bg-gray-900 p-3 border-l-2 border-gray-500 text-xs">
<p class="font-bold">ЗАДАЧА:</p>
<p>Необходимо доставить накопитель с записью того, что *на самом деле* происходит в Индустриальном секторе, к одному из ретрансляторов Авангарда, чтобы перехватить сигнал и пустить его в общую сеть. Это может раскрыть глаза всему городу.</p>
</div>
</div>
</div>
</div>
</div>
<script>
function filterNPC(faction) {
document.querySelectorAll('.filter-btn').forEach(btn => btn.classList.remove('active'));
event.currentTarget.classList.add('active');
document.querySelectorAll('.npc-card').forEach(card => {
if (faction === 'all' || card.dataset.faction === faction) {
card.style.display = 'block';
} else {
card.style.display = 'none';
}
});
}
</script>
</body>
</html>[/html]