click me mf
сплаттерпанк | 21+

#барсук

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » #барсук » Расписание маршрутов » Зоны отчуждения


Зоны отчуждения

Сообщений 1 страница 8 из 8

1

[html]<div style="position: relative; width: 600px; margin: 80px auto 100px auto;">
 
  <div style="position: relative; width: 600px; margin: 0 auto;">
   
    <!-- ФОТО 1: СНИЗУ-СЛЕВА -->
    <div id="photo1" style="position: absolute; bottom: -55px; left: 20px; width: 110px; height: 110px; z-index: 15; cursor: pointer; transform: rotate(-14deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/8d/66/53/8d665375ab03d6aeca22131295f1fcea.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-a"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 2: СНИЗУ-ПО-ЦЕНТРУ -->
    <div id="photo2" style="position: absolute; bottom: -25px; left: 240px; width: 120px; height: 120px; z-index: 15; cursor: pointer; transform: rotate(6deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/a6/a5/2a/a6a52aa54bc1164eac7f48344a09ec0c.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-b"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 3: СВЕРХУ-СПРАВА -->
    <div id="photo3" style="position: absolute; top: -60px; right: 30px; width: 105px; height: 105px; z-index: 15; cursor: pointer; transform: rotate(18deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/88/65/26/886526bd4c21a74fb727c08e282894be.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-c"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 4: СВЕРХУ-СЛЕВА (ВОЗВРАЩАЕТ ИСХОДНУЮ КАРТИНКУ) -->
    <div id="photo4" style="position: absolute; top: -35px; left: 100px; width: 95px; height: 95px; z-index: 15; cursor: pointer; transform: rotate(-22deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-d"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 5: СНИЗУ-СПРАВА -->
    <div id="photo5" style="position: absolute; bottom: -70px; right: 80px; width: 115px; height: 115px; z-index: 15; cursor: pointer; transform: rotate(25deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a5/90/04/a5900470b3440c150893553603ca7d25.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-e"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 6: СВЕРХУ-ПО-ЦЕНТРУ -->
    <div id="photo6" style="position: absolute; top: -30px; left: 170px; width: 100px; height: 100px; z-index: 15; cursor: pointer; transform: rotate(-10deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a2/ec/df/a2ecdf3845222ea6e3ed4538545ceead.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-f"></div>
        </div>
      </div>
    </div>

    <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
    <div id="mainWrapper" style="position: relative; z-index: 20; transform: rotate(1deg); transition: transform 0.8s ease-out; display: inline-block;">
      <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
        <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
          <div style="position: relative; overflow: hidden; border-radius: 9px;">
            <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
            <img id="mainPhoto" src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.5) contrast(1.18) brightness(0.92) saturate(0.9); transition: opacity 0.3s ease;">
            <div class="scratch-overlay-main"></div>
            <div class="stain-overlay-main"></div>
            <div class="grain-overlay"></div>
            <div id="mainBlood1" class="blood-main-a"></div>
            <div id="mainBlood2" class="blood-main-b" style="display: none;"></div>
            <div id="mainBlood3" class="blood-main-c" style="display: none;"></div>
            <div id="mainBlood4" class="blood-main-d" style="display: none;"></div>
            <div id="mainBlood5" class="blood-main-e" style="display: none;"></div>
            <div id="mainBlood6" class="blood-main-f" style="display: none;"></div>
          </div>
        </div>
      </div>
    </div>
   
  </div>
</div>

<style>
  #photo1, #photo2, #photo3, #photo4, #photo5, #photo6 { transition: transform 0.8s ease-out; }
  #photo1:hover, #photo2:hover, #photo3:hover, #photo4:hover, #photo5:hover, #photo6:hover { transform: rotate(0deg) scale(1.08) !important; z-index: 30 !important; }
  #mainWrapper { transition: transform 0.8s ease-out; }
  #mainWrapper:hover { transform: rotate(0deg) scale(1.05) !important; }
 
  .scratch-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 5px); border-radius: 8px; z-index: 2; }
  .scratch-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 5px), repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.06) 3px, rgba(80,60,40,0.06) 7px); border-radius: 9px; z-index: 2; }
 
  .stain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(circle at 20% 30%, rgba(160,120,80,0.18) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(100,70,40,0.14) 0%, transparent 60%); border-radius: 8px; z-index: 2; }
  .stain-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.15) 0%, transparent 40%), radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.12) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(180,155,125,0.08) 0%, transparent 70%); border-radius: 9px; z-index: 2; }
 
  .blood-type-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 65% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 4%, transparent 7%), radial-gradient(circle at 30% 75%, rgba(210,35,18,0.45) 0%, rgba(190,30,12,0.3) 3%, transparent 6%), radial-gradient(circle at 85% 85%, rgba(230,45,22,0.35) 0%, transparent 5%); }
  .blood-type-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 6%, transparent 10%), radial-gradient(circle at 75% 35%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 7%), radial-gradient(circle at 20% 80%, rgba(115,18,10,0.4) 0%, transparent 5%); }
  .blood-type-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 55% 60%, rgba(190,35,18,0.5) 0%, rgba(170,28,14,0.35) 8%, transparent 12%), radial-gradient(circle at 80% 20%, rgba(200,38,20,0.4) 0%, transparent 6%), radial-gradient(ellipse at 25% 40%, rgba(180,30,15,0.35) 0%, transparent 8%); }
  .blood-type-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 70% 70%, rgba(80,15,8,0.55) 0%, rgba(60,10,5,0.4) 5%, transparent 9%), radial-gradient(circle at 30% 25%, rgba(90,18,10,0.45) 0%, rgba(70,12,6,0.3) 4%, transparent 7%); }
  .blood-type-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 5%, transparent 9%), radial-gradient(circle at 60% 80%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 4%, transparent 7%), radial-gradient(circle at 15% 55%, rgba(240,55,28,0.35) 0%, transparent 5%); }
  .blood-type-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 50% 45%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 25% 70%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.3) 3%, transparent 6%), radial-gradient(ellipse at 80% 30%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 8%), radial-gradient(circle at 10% 15%, rgba(210,42,22,0.3) 0%, transparent 4%); }
 
  .blood-main-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 35% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 55%, rgba(210,38,18,0.45) 0%, rgba(190,32,14,0.35) 5%, transparent 8%), radial-gradient(circle at 25% 80%, rgba(230,45,22,0.4) 0%, rgba(210,38,16,0.3) 4%, transparent 7%); }
  .blood-main-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 60% 30%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 7%, transparent 12%), radial-gradient(circle at 20% 65%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 8%), radial-gradient(circle at 80% 80%, rgba(115,18,10,0.4) 0%, transparent 6%); }
  .blood-main-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(190,35,18,0.55) 0%, rgba(170,28,14,0.4) 8%, transparent 13%), radial-gradient(circle at 75% 25%, rgba(200,38,20,0.45) 0%, rgba(180,30,15,0.3) 5%, transparent 8%), radial-gradient(ellipse at 55% 80%, rgba(185,32,16,0.35) 0%, transparent 6%); }
  .blood-main-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 25% 35%, rgba(80,15,8,0.6) 0%, rgba(60,10,5,0.45) 6%, transparent 11%), radial-gradient(circle at 85% 70%, rgba(90,18,10,0.5) 0%, rgba(70,12,6,0.35) 5%, transparent 9%), radial-gradient(ellipse at 50% 20%, rgba(75,14,7,0.4) 0%, transparent 7%); }
  .blood-main-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 55% 40%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 7%, transparent 12%), radial-gradient(circle at 30% 70%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 5%, transparent 9%), radial-gradient(circle at 80% 20%, rgba(240,55,28,0.4) 0%, transparent 6%), radial-gradient(ellipse at 15% 50%, rgba(220,42,20,0.35) 0%, transparent 5%); }
  .blood-main-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 75%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.35) 4%, transparent 7%), radial-gradient(ellipse at 25% 60%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 9%), radial-gradient(circle at 85% 15%, rgba(210,42,22,0.35) 0%, transparent 5%); }
 
  .grain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.08"/></svg>'); background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 4; mix-blend-mode: multiply; }
</style>

<!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->

<script>
  const originalSrc = "https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg";
  const mainPhoto = document.getElementById('mainPhoto');
 
  const photo1 = document.getElementById('photo1');
  const photo2 = document.getElementById('photo2');
  const photo3 = document.getElementById('photo3');
  const photo4 = document.getElementById('photo4');
  const photo5 = document.getElementById('photo5');
  const photo6 = document.getElementById('photo6');
 
  const mainBlood1 = document.getElementById('mainBlood1');
  const mainBlood2 = document.getElementById('mainBlood2');
  const mainBlood3 = document.getElementById('mainBlood3');
  const mainBlood4 = document.getElementById('mainBlood4');
  const mainBlood5 = document.getElementById('mainBlood5');
  const mainBlood6 = document.getElementById('mainBlood6');
 
  function changeImage(newSrc, bloodType) {
    if (mainPhoto.src === newSrc) return;
   
    mainBlood1.style.display = 'none';
    mainBlood2.style.display = 'none';
    mainBlood3.style.display = 'none';
    mainBlood4.style.display = 'none';
    mainBlood5.style.display = 'none';
    mainBlood6.style.display = 'none';
   
    if (bloodType === 1) mainBlood1.style.display = 'block';
    else if (bloodType === 2) mainBlood2.style.display = 'block';
    else if (bloodType === 3) mainBlood3.style.display = 'block';
    else if (bloodType === 4) mainBlood4.style.display = 'block';
    else if (bloodType === 5) mainBlood5.style.display = 'block';
    else if (bloodType === 6) mainBlood6.style.display = 'block';
   
    mainPhoto.style.opacity = '0.5';
    setTimeout(() => {
      mainPhoto.src = newSrc;
      mainPhoto.style.opacity = '1';
    }, 150);
  }
 
  if (photo1) photo1.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo1.querySelector('img').src, 1); });
  if (photo2) photo2.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo2.querySelector('img').src, 2); });
  if (photo3) photo3.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo3.querySelector('img').src, 3); });
  if (photo4) photo4.addEventListener('click', (e) => { e.stopPropagation(); changeImage(originalSrc, 4); });
  if (photo5) photo5.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo5.querySelector('img').src, 5); });
  if (photo6) photo6.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo6.querySelector('img').src, 6); });
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "ЗОНЫ ОТЧУЖДЕНИЯ";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Зоны отчуждения — это территории, подвергшиеся радиоактивному загрязнению в ходе ударов ядерных боеголовок по территории России и США в период со 2 по 25 октября 1993 года. Размеры площади Зон отчуждения зависят от силы взорвавшихся снарядов и их количества. К площади непосредственного поражения принято добавлять 30–50, реже 100 км (в зависимости от уровня загрязнения), обозначая тем самым границу.

Помимо этого, к Зонам отчуждения относят территории, на которых в своё время проводили исследования и опыты различные лаборатории, происходили природные и иные катаклизмы и/или явления, в ходе которых местная флора и фауна видоизменялись и становились опасными для обычного населения, требовали изоляции с последующим изучением, чтобы не допустить расширения границ Зоны.

Зоны отчуждения — это ограниченные пространства, имеющие чёткие, хоть и невидимые, границы. Эти границы не расширяются, хотя Церковь, Синдикат и правительства Содружеств опасаются, что когда-нибудь это может произойти. По неизвестным причинам — возможно, из-за природы породивших их катастроф, возможно, из-за некоего неизученного механизма самоограничения — Зоны остаются стабильными десятилетиями.

Всё, что рождено внутри Зоны или преображено ею, не может её покинуть.

«Преобразившиеся» — люди, животные, растения, мутировавшие под воздействием Зоны, — физически не могут пересечь её границу. При попытке выйти они либо мгновенно погибают, либо рассыпаются в прах, либо теряют свои мутации и становятся обычными мёртвыми телами. Граница для них — непреодолимый барьер. Ряд реагентов, добытых с «преобразившихся» на территории Зоны, также рассыпаются при попытке их перенести, а какие-то вполне себе могут работать и вне.

«Коренные жители» — обычные люди, родившиеся и выросшие внутри Зоны (таких мало, но в некоторых Зонах они есть) либо по каким-то причинам не умершие в ней. Могут покидать свою Зону на короткое время. Через несколько часов или дней (в зависимости от Зоны) у них начинается ухудшение состояния, а если не вернуться — смерть.

Охотники Синдиката — пришлые люди. Они приходят в Зоны из внешнего мира, выполняют задания и уходят. На них ограничения не распространяются.

Реагенты и артефакты, вынесенные из Зон, могут работать по-разному. Некоторые сохраняют свои свойства в любом месте — хоть в другой Зоне, хоть в большом мире. Другие действуют только внутри Зоны, а за её пределами превращаются в бесполезные предметы. Третьи имеют особые условия — например, требуют поддержания в рабочем состоянии или несут риск для самого охотника.

Зоны отчуждения официально охраняются военными того Содружества, на чьей территории они располагаются, но на самом деле это люди Синдиката, которым платит правительство Содружества. Необходимость охраны Зон связана с тем, что в них стали мутировать не только животные и растения, но и люди. Они видоизменяются и мало напоминают обычных людей. В зависимости от Зоны люди, флора и фауна подвергаются мутациям. В основном они становятся похожими на «зомби», но природа их при этом намного сложнее и непонятнее. Одно точно удалось установить: их мутации завязаны не только на воздействии радиации и/или вызваны проводимыми на территории опытами, экспериментами, катаклизмами и иными явлениями, но и на более тонких, мистических уровнях. Чаще всего такие люди являются одновременно живыми и неживыми: в их теле происходят процессы разложения, но при этом они не умирают от этого. Обычные пули вполне способны их остановить, если они не приобрели какие-то дополнительные мутации.

Помимо видоизменившихся людей и животных, в Зонах отчуждения появились более крупные монстроподобные антропоморфные твари, которые не изгоняются привычными способами, пусть от них и исходит флёр околодемонического и сверхъестественного. Эти чудовища вполне себе материальны, они способны наносить увечья и убивать. Оружие работает на них самое обычное, хотя одно срабатывает хуже, другое — лучше (в зависимости от мутаций, которые приобрела тварь). После смерти они начинают постепенно рассыпаться в пепел в течение какого-то времени, оставляя после себя нечто вроде розы из пепла, внутри которой можно найти реагенты, связанные с этим монстром. Свойства этих реагентов до конца не изучены и непонятны, однако считается, что они очень сильны в оккультных практиках.

Объединённая церковь официально не занимается проблемами Зон отчуждения, списывая это на проблемы радиации, эксперименты, опыты, катаклизмы и/или прочие явления, а не на мистику. Во многом именно такая позиция Церкви развязала руки Синдикату Голубой Сороки, который подмял их под себя, организовав отряд Охотников.

Поговаривают, что Охотники перед тем, как отправиться в Зоны отчуждения, получают дозу препарата, выведенного из реагентов местных тварей, и именно поэтому они приобретают своё «Тёмное зрение», помогающее выслеживать не только чудовищ, но и случайных одиночек, решивших забрести в Зоны ради наживы. Охотники убивают потенциальных конкурентов, не разбираясь в том, кто это.

Если у вас нет официального разрешения от Синдиката (в этом случае вы будете с отрядом Охотников, пусть и без их Тёмного зрения), значит, вы — потенциальный враг.

Кроме того, из местных реагентов, которые добывают на территории Зоны, разрабатывают усиления для снаряжения и всякие вспомогательные штуки, которые облегчают охотникам посещение Зон.

Помимо чудовищ, видоизменившихся животных и людей, в Зонах отчуждения встречаются аномалии. Доподлинно неизвестно, что это такое и как с этим взаимодействовать, а также какое количество аномалий в Зонах существует, так как возможности исследовать их практически нет. Однако Охотники занимаются попытками их изучать и обозначать зоны, в которых аномалия располагается. Обычно это делается с помощью ближайшего куста, дерева или любого другого объекта, располагающегося вплотную к аномалии, на который повязывают цветные ленты. Чем бледнее лента, тем дольше аномалия существует.

0

2

[html]<div style="position: relative; width: 600px; margin: 80px auto 100px auto;">
 
  <div style="position: relative; width: 600px; margin: 0 auto;">
   
    <!-- ФОТО 1: СНИЗУ-СЛЕВА -->
    <div id="photo1" style="position: absolute; bottom: -55px; left: 20px; width: 110px; height: 110px; z-index: 15; cursor: pointer; transform: rotate(-14deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/8d/66/53/8d665375ab03d6aeca22131295f1fcea.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-a"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 2: СНИЗУ-ПО-ЦЕНТРУ -->
    <div id="photo2" style="position: absolute; bottom: -25px; left: 240px; width: 120px; height: 120px; z-index: 15; cursor: pointer; transform: rotate(6deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/a6/a5/2a/a6a52aa54bc1164eac7f48344a09ec0c.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-b"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 3: СВЕРХУ-СПРАВА -->
    <div id="photo3" style="position: absolute; top: -60px; right: 30px; width: 105px; height: 105px; z-index: 15; cursor: pointer; transform: rotate(18deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/88/65/26/886526bd4c21a74fb727c08e282894be.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-c"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 4: СВЕРХУ-СЛЕВА (ВОЗВРАЩАЕТ ИСХОДНУЮ КАРТИНКУ) -->
    <div id="photo4" style="position: absolute; top: -35px; left: 100px; width: 95px; height: 95px; z-index: 15; cursor: pointer; transform: rotate(-22deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-d"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 5: СНИЗУ-СПРАВА -->
    <div id="photo5" style="position: absolute; bottom: -70px; right: 80px; width: 115px; height: 115px; z-index: 15; cursor: pointer; transform: rotate(25deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a5/90/04/a5900470b3440c150893553603ca7d25.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-e"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 6: СВЕРХУ-ПО-ЦЕНТРУ -->
    <div id="photo6" style="position: absolute; top: -30px; left: 170px; width: 100px; height: 100px; z-index: 15; cursor: pointer; transform: rotate(-10deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a2/ec/df/a2ecdf3845222ea6e3ed4538545ceead.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-f"></div>
        </div>
      </div>
    </div>

    <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
    <div id="mainWrapper" style="position: relative; z-index: 20; transform: rotate(1deg); transition: transform 0.8s ease-out; display: inline-block;">
      <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
        <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
          <div style="position: relative; overflow: hidden; border-radius: 9px;">
            <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
            <img id="mainPhoto" src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.5) contrast(1.18) brightness(0.92) saturate(0.9); transition: opacity 0.3s ease;">
            <div class="scratch-overlay-main"></div>
            <div class="stain-overlay-main"></div>
            <div class="grain-overlay"></div>
            <div id="mainBlood1" class="blood-main-a"></div>
            <div id="mainBlood2" class="blood-main-b" style="display: none;"></div>
            <div id="mainBlood3" class="blood-main-c" style="display: none;"></div>
            <div id="mainBlood4" class="blood-main-d" style="display: none;"></div>
            <div id="mainBlood5" class="blood-main-e" style="display: none;"></div>
            <div id="mainBlood6" class="blood-main-f" style="display: none;"></div>
          </div>
        </div>
      </div>
    </div>
   
  </div>
</div>

<style>
  #photo1, #photo2, #photo3, #photo4, #photo5, #photo6 { transition: transform 0.8s ease-out; }
  #photo1:hover, #photo2:hover, #photo3:hover, #photo4:hover, #photo5:hover, #photo6:hover { transform: rotate(0deg) scale(1.08) !important; z-index: 30 !important; }
  #mainWrapper { transition: transform 0.8s ease-out; }
  #mainWrapper:hover { transform: rotate(0deg) scale(1.05) !important; }
 
  .scratch-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 5px); border-radius: 8px; z-index: 2; }
  .scratch-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 5px), repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.06) 3px, rgba(80,60,40,0.06) 7px); border-radius: 9px; z-index: 2; }
 
  .stain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(circle at 20% 30%, rgba(160,120,80,0.18) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(100,70,40,0.14) 0%, transparent 60%); border-radius: 8px; z-index: 2; }
  .stain-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.15) 0%, transparent 40%), radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.12) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(180,155,125,0.08) 0%, transparent 70%); border-radius: 9px; z-index: 2; }
 
  .blood-type-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 65% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 4%, transparent 7%), radial-gradient(circle at 30% 75%, rgba(210,35,18,0.45) 0%, rgba(190,30,12,0.3) 3%, transparent 6%), radial-gradient(circle at 85% 85%, rgba(230,45,22,0.35) 0%, transparent 5%); }
  .blood-type-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 6%, transparent 10%), radial-gradient(circle at 75% 35%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 7%), radial-gradient(circle at 20% 80%, rgba(115,18,10,0.4) 0%, transparent 5%); }
  .blood-type-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 55% 60%, rgba(190,35,18,0.5) 0%, rgba(170,28,14,0.35) 8%, transparent 12%), radial-gradient(circle at 80% 20%, rgba(200,38,20,0.4) 0%, transparent 6%), radial-gradient(ellipse at 25% 40%, rgba(180,30,15,0.35) 0%, transparent 8%); }
  .blood-type-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 70% 70%, rgba(80,15,8,0.55) 0%, rgba(60,10,5,0.4) 5%, transparent 9%), radial-gradient(circle at 30% 25%, rgba(90,18,10,0.45) 0%, rgba(70,12,6,0.3) 4%, transparent 7%); }
  .blood-type-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 5%, transparent 9%), radial-gradient(circle at 60% 80%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 4%, transparent 7%), radial-gradient(circle at 15% 55%, rgba(240,55,28,0.35) 0%, transparent 5%); }
  .blood-type-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 50% 45%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 25% 70%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.3) 3%, transparent 6%), radial-gradient(ellipse at 80% 30%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 8%), radial-gradient(circle at 10% 15%, rgba(210,42,22,0.3) 0%, transparent 4%); }
 
  .blood-main-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 35% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 55%, rgba(210,38,18,0.45) 0%, rgba(190,32,14,0.35) 5%, transparent 8%), radial-gradient(circle at 25% 80%, rgba(230,45,22,0.4) 0%, rgba(210,38,16,0.3) 4%, transparent 7%); }
  .blood-main-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 60% 30%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 7%, transparent 12%), radial-gradient(circle at 20% 65%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 8%), radial-gradient(circle at 80% 80%, rgba(115,18,10,0.4) 0%, transparent 6%); }
  .blood-main-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(190,35,18,0.55) 0%, rgba(170,28,14,0.4) 8%, transparent 13%), radial-gradient(circle at 75% 25%, rgba(200,38,20,0.45) 0%, rgba(180,30,15,0.3) 5%, transparent 8%), radial-gradient(ellipse at 55% 80%, rgba(185,32,16,0.35) 0%, transparent 6%); }
  .blood-main-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 25% 35%, rgba(80,15,8,0.6) 0%, rgba(60,10,5,0.45) 6%, transparent 11%), radial-gradient(circle at 85% 70%, rgba(90,18,10,0.5) 0%, rgba(70,12,6,0.35) 5%, transparent 9%), radial-gradient(ellipse at 50% 20%, rgba(75,14,7,0.4) 0%, transparent 7%); }
  .blood-main-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 55% 40%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 7%, transparent 12%), radial-gradient(circle at 30% 70%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 5%, transparent 9%), radial-gradient(circle at 80% 20%, rgba(240,55,28,0.4) 0%, transparent 6%), radial-gradient(ellipse at 15% 50%, rgba(220,42,20,0.35) 0%, transparent 5%); }
  .blood-main-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 75%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.35) 4%, transparent 7%), radial-gradient(ellipse at 25% 60%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 9%), radial-gradient(circle at 85% 15%, rgba(210,42,22,0.35) 0%, transparent 5%); }
 
  .grain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.08"/></svg>'); background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 4; mix-blend-mode: multiply; }
</style>

<!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->

<script>
  const originalSrc = "https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg";
  const mainPhoto = document.getElementById('mainPhoto');
 
  const photo1 = document.getElementById('photo1');
  const photo2 = document.getElementById('photo2');
  const photo3 = document.getElementById('photo3');
  const photo4 = document.getElementById('photo4');
  const photo5 = document.getElementById('photo5');
  const photo6 = document.getElementById('photo6');
 
  const mainBlood1 = document.getElementById('mainBlood1');
  const mainBlood2 = document.getElementById('mainBlood2');
  const mainBlood3 = document.getElementById('mainBlood3');
  const mainBlood4 = document.getElementById('mainBlood4');
  const mainBlood5 = document.getElementById('mainBlood5');
  const mainBlood6 = document.getElementById('mainBlood6');
 
  function changeImage(newSrc, bloodType) {
    if (mainPhoto.src === newSrc) return;
   
    mainBlood1.style.display = 'none';
    mainBlood2.style.display = 'none';
    mainBlood3.style.display = 'none';
    mainBlood4.style.display = 'none';
    mainBlood5.style.display = 'none';
    mainBlood6.style.display = 'none';
   
    if (bloodType === 1) mainBlood1.style.display = 'block';
    else if (bloodType === 2) mainBlood2.style.display = 'block';
    else if (bloodType === 3) mainBlood3.style.display = 'block';
    else if (bloodType === 4) mainBlood4.style.display = 'block';
    else if (bloodType === 5) mainBlood5.style.display = 'block';
    else if (bloodType === 6) mainBlood6.style.display = 'block';
   
    mainPhoto.style.opacity = '0.5';
    setTimeout(() => {
      mainPhoto.src = newSrc;
      mainPhoto.style.opacity = '1';
    }, 150);
  }
 
  if (photo1) photo1.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo1.querySelector('img').src, 1); });
  if (photo2) photo2.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo2.querySelector('img').src, 2); });
  if (photo3) photo3.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo3.querySelector('img').src, 3); });
  if (photo4) photo4.addEventListener('click', (e) => { e.stopPropagation(); changeImage(originalSrc, 4); });
  if (photo5) photo5.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo5.querySelector('img').src, 5); });
  if (photo6) photo6.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo6.querySelector('img').src, 6); });
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО ИТАЛИИ. МУРМАНСК.";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Мурманск когда-то был крупнейшим незамерзающим портом, гордыней северных рубежей. Теперь это кладбище кораблей и людей, медленно перевариваемое серо-зелёным мицелием. Зона не взрывалась — она проросла.

Прямого попадания сюда не было. Но радиоактивные осадки, принесённые ветрами с юга, смешались с экспериментальными биологическими веществами, которые хранились в трюмах десятка затонувших судов. Никто не знает, что именно за реагенты там лежали — документы сгорели, свидетели мутировали. Известно только, что через год после ударов порт перестал быть просто радиоактивным. Он начал жить своей жизнью.

Город утопает в густом солоноватом тумане. Он пахнет рыбой, йодом и чем-то сладковато-гнилым. Влажность здесь такая, что одежда никогда не просыхает до конца, а металл ржавеет за считанные дни. Вместо привычного бетона и асфальта — всё покрыто толстым слоем мицелия. Он тянется по стенам домов, свисает с кранов, оплетает остовы кораблей. Ночью грибница начинает фосфоресцировать — холодным, мертвенно-синим светом, от которого рябит в глазах.

Охотники Синдиката называют этот свет «окном в бездну». Говорят, если смотреть на него слишком долго, начинаешь слышать голоса утонувших. Поэтому по ночам нужно ходить либо со спец.оборудованием, либо уметь «выключать» свои глаза. Темное зрение, кстати, уберегает от воздействия света мицелия.

В самом городе почти не осталось открытых пространств — улицы превратились в тоннели из мицелия. Передвигаться можно либо по крышам (где опасно из-за хрупкости конструкций), либо по «живым» коридорам, которые постоянно меняют форму. Грибница растёт прямо на глазах — там, где вчера был проход, сегодня может вырасти стена из плоти.

Порт — самое сердце Зоны. Десятки кораблей намертво вросли в причалы, их корпуса проросли мицелием насквозь. Некоторые из них до сих пор издают звуки — гул двигателей, скрип лебёдок, голоса команд. Это не галлюцинации. Это эхо того дня, застывшее в грибнице.

Животные здесь мутировали странно. У местных чаек выросли вторые пары глаз, а клювы превратились в подобие пиявок — они не клюют, а присасываются к жертве. Крысы покрылись рыбьей чешуёй и научились задерживать дыхание на час — они охотятся под водой, выскакивая из неё в самый неожиданный момент. Остальные животные кто порос чешуей и держится ближе к воде, кто пророс грибами и представляет из себя довольно жуткую картину.

Самые опасные обитатели — «глубоководники». Это бывшие люди. Те, кто не успел эвакуироваться и остался в порту. Радиация и споры переплавили их тела в нечто, напоминающее глубоководных уродцев — непропорционально большие глаза, длинные тонкие конечности, перепонки между пальцами. Они не видят света, но идеально чувствуют вибрации. Достаточно сделать один лишний шаг — и они уже знают, где ты. Глубоководники не нападают сразу. Они следят. Ждут, когда жертва забредёт в тупик или ослабнет.

Аэрозольные «медузы» — полупрозрачные комки мицелия, которые парят над землёй, поедая пыль и мелкую органику. Они не агрессивны, но если вдохнуть их споры, лёгкие начинают зарастать изнутри. Сначала — лёгкий кашель. Через неделю — кровавая мокрота. Через месяц человек превращается в безликую грибную оболочку — не глубоководника, не гнилуна, а нечто третье, лишённое разума и личности. Местные говорят: «от человека остался только грибной куст». Но это не куст. Это пустая форма, ждущая, когда мицелий вдохнёт в неё чужую память. 

Высокотоксичные противогрибковые препараты в ударных дозах, намного превышающих рекомендуемую, с добавлением особых реагентов, которые известны только местному медику, могут спасти, но придётся иметь дело с последствиями от приёма препаратов. Выживают далеко не все. На местных «антидот» не действует вовсе — противогрибковые работают только до тех пор, пока человек не начал мутировать в гриб. Мицелий перекраивает ДНК, превращая бывшего человека в пустую, безликую биомассу, лишённую личности и разума. Чаще всего это просто безмозглая оболочка, грибная плоть. Но страшнее другое: сам мицелий хранит в себе память поглощённых жертв. И если ему потребуется, он может вложить эту память в пустую оболочку. Тогда грибной человек оживёт — будет двигаться, говорить, может быть, даже вспомнит что-то из прошлой жизни. Но это уже не он. Это мицелий, говорящий его голосом.

Гнилуны — коренные жители, местное население, потомки тех, кто не успел уйти. Они живут в полузатопленных домах на окраинах Зоны, питаются рыбой и грибами, молятся непонятным богам. Выглядят как глубоководники, но имеют больше сходства с людьми, понимают речь и говорят сами. От глубоководников их отличают наросты грибов на телах.

К чужакам относятся насторожённо, но могут помочь за «блестяшки» (то, чем охотник сможет заинтересовать местного жителя) или еду. Говорят, среди них есть глубоководники, сохранившие разум, но никто не видел их своими глазами.

Также ходит слух, что гнилуны связаны друг с другом. Если охотник понравился какому-то гнилуну, то к нему будут лучше относиться и те, с кем он не взаимодействовал: они охотнее будут с ним общаться и помогать. Более того, среди охотников бытует поверье, что если подружиться с гнилунами, то и сам мицелий в Зоне станет относиться дружелюбнее, возможно, даже защитит охотника от нападения местных чудовищ. Но если обидеть гнилуна — лучше в Зоне больше не появляться, ибо пока охотник не будет забран Зоной, память об обиде будет храниться вечно.

«Чёрный прилив» — главная аномалия Гнилого моря. Раз в несколько месяцев мицелий, туман и вода отступают. Город обнажается — показывая старые улицы, дома, корабли такими, какими они были до удара. В этот момент можно пройти в места, куда обычно не пробраться. Но «Чёрный прилив» длится всего трое суток. А затем вода и грибница возвращаются — мгновенно, как приливная волна. Те, кто остаётся внутри, исчезают бесследно. Никто не знает — куда. Говорят, они становятся частью мицелия.

«Поющие буи» — менее опасные, но не менее странные аномалии. В порту сохранились навигационные буи. Время от времени они начинают издавать низкий гул — будто оплакивают утонувших. Гул вызывает у людей приступы тоски и апатии. Можно застыть на месте на несколько часов, просто слушая и глядя на воду. В эти моменты обычно глубоководники и нападают, так как жертва не может оказаться особого сопротивления, а некоторые, напротив, идут в лапы чудовищ сами.

«Камни-жабры» — вырезаются из тел глубоководников. Камень размером с кулак позволяет дышать под водой несколько часов. Работают в любом месте — хоть в другой Зоне, хоть в большом мире.

«Споры-светляки» — собираются с фосфоресцирующего мицелия. При правильной обработке споры можно использовать как одноразовые источники света — они горят холодным синим пламенем до 12 часов. Если вдохнуть их пыль — начинаются галлюцинации и временно открывается «ночное зрение», но постепенно съедается рассудок. Работают везде.

«Слёзы моря» — легендарные капсулы, которые, по слухам, лежат на дне порта среди затонувших кораблей. Говорят, они заставляют воду замерзать при комнатной температуре. Если это правда — они будут работать в любом месте, но подтверждений нет. За ними охотятся и синдикатовцы, и одиночки. Дно порта — царство глубоководников. Туда почти никто не возвращается.

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "ПЛАВУЧАЯ БАЗА «ТИХАЯ ГАВАНЬ»";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

В пяти километрах от границы Зоны, на берегу незамерзающего залива, Синдикат обустроил плавучую базу «Тихая гавань». Это старый рыболовный траулер, намертво вросший в причал. Корпус проржавел, но внутри — островок цивилизации.

На базе есть несколько помещений:

Общий зал — бывшая рыбоперерабатывающая каюта, превращённая в спальню и столовую. Вдоль стен — двухъярусные койки из стальных труб, в центре — длинный стол, сколоченный из досок. На стенах — старые карты Мурманска, исчирканные пометками. Света мало — несколько светодиодных ламп, питающихся от аккумуляторов. Заведует общим залом старый Матвей — бывший охотник, потерявший руку в схватке с глубоководниками. Он следит за порядком, раздаёт спальные места, варит похлёбку из консервов.

Оружейная мастерская — бывший трюм, где чинят стволы, заряжают патроны, ремонтируют оптику и средства индивидуальной защиты органов слуха (СИЗОС). Заведует мастерской механик Бьёрн — молчаливый норвежец, который понимает оружие и технику лучше, чем людей. Он единственный, кто умеет «лечить» стволы после воздействия мицелия (грибница иногда прорастает в металл за считанные часы).

Медицинский блок — герметичный отсек с запасом антидотов, перевязочных материалов и кислородных масок. Здесь обрабатывают ожоги от спор, извлекают мицелий из лёгких, делают переливание крови. Медик — Айна, женщина лет сорока с усталыми глазами. Она не задаёт лишних вопросов и не берёт денег с тех, кто спас жизнь товарищу.

Бар «У Гнилого краба» — маленькое помещение с двумя столиками и стойкой, за которой хозяин — Краб (прозвище получил за то, что его правая рука после мутации превратилась в клешню). Здесь можно выпить, съесть горячий суп, обменяться слухами. Краб не торгует информацией, но если ты напоил его — может рассказать много интересного.

Склад реагентов — герметичная комната с холодильниками и сейфами. Здесь хранятся камни-жабры, споры-светляки, образцы мицелия. Склад запирается на три замка. Ключи у Матвея, у Бьёрна и у приезжего куратора Синдиката.

Дизельный генератор — даёт свет и тепло. Топливо заканчивается быстро — привозишь сам или покупаешь солярку у базы за двойную цену.

От базы до безопасного мира — полтора часа на моторной лодке до города Североморска, где находится постоянное представительство Синдиката. Лодка ходит раз в день, утром. Опоздал — жди следующего дня или плыви сам. Но на вёслах через Гнилое море — почти верная смерть.

Главное правило «Тихой гавани»: никакой стрельбы внутри. Мицелий реагирует на звук выстрелов — начинает расти в десять раз быстрее. Если кто-то пальнёт в помещении — базу захлестнёт грибницей за считанные минуты. Синдикат не прощает таких ошибок.

Мурманск — Зона для терпеливых. Здесь нельзя спешить, нельзя шуметь, нельзя оставлять следов. Глубоководники чувствуют вибрации за километр, мицелий помнит каждый шаг.

Синдикат контролирует «Тихую гавань» и несколько коридоров к порту. Но каждый рейс теряет людей — мицелий растёт слишком быстро, приходится постоянно расчищать путь. Синдикат платит охотникам хорошо, но не даёт гарантий.

Объединённая церковь считает Мурманск проклятым за гордыню — люди пытались стать богами моря, и море их поглотило. Церковь не отправляет сюда своих людей, но отслеживает, чтобы артефакты не попали в руки культистов. Иногда церковники скупают реагенты для своих нужд.

0

3

[html]<div style="position: relative; width: 600px; margin: 80px auto 100px auto;">
 
  <div style="position: relative; width: 600px; margin: 0 auto;">
   
    <!-- ФОТО 1: СНИЗУ-СЛЕВА -->
    <div id="photo1" style="position: absolute; bottom: -55px; left: 20px; width: 110px; height: 110px; z-index: 15; cursor: pointer; transform: rotate(-14deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/8d/66/53/8d665375ab03d6aeca22131295f1fcea.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-a"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 2: СНИЗУ-ПО-ЦЕНТРУ -->
    <div id="photo2" style="position: absolute; bottom: -25px; left: 240px; width: 120px; height: 120px; z-index: 15; cursor: pointer; transform: rotate(6deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/a6/a5/2a/a6a52aa54bc1164eac7f48344a09ec0c.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-b"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 3: СВЕРХУ-СПРАВА -->
    <div id="photo3" style="position: absolute; top: -60px; right: 30px; width: 105px; height: 105px; z-index: 15; cursor: pointer; transform: rotate(18deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/88/65/26/886526bd4c21a74fb727c08e282894be.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-c"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 4: СВЕРХУ-СЛЕВА (ВОЗВРАЩАЕТ ИСХОДНУЮ КАРТИНКУ) -->
    <div id="photo4" style="position: absolute; top: -35px; left: 100px; width: 95px; height: 95px; z-index: 15; cursor: pointer; transform: rotate(-22deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-d"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 5: СНИЗУ-СПРАВА -->
    <div id="photo5" style="position: absolute; bottom: -70px; right: 80px; width: 115px; height: 115px; z-index: 15; cursor: pointer; transform: rotate(25deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a5/90/04/a5900470b3440c150893553603ca7d25.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-e"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 6: СВЕРХУ-ПО-ЦЕНТРУ -->
    <div id="photo6" style="position: absolute; top: -30px; left: 170px; width: 100px; height: 100px; z-index: 15; cursor: pointer; transform: rotate(-10deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a2/ec/df/a2ecdf3845222ea6e3ed4538545ceead.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-f"></div>
        </div>
      </div>
    </div>

    <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
    <div id="mainWrapper" style="position: relative; z-index: 20; transform: rotate(1deg); transition: transform 0.8s ease-out; display: inline-block;">
      <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
        <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
          <div style="position: relative; overflow: hidden; border-radius: 9px;">
            <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
            <img id="mainPhoto" src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.5) contrast(1.18) brightness(0.92) saturate(0.9); transition: opacity 0.3s ease;">
            <div class="scratch-overlay-main"></div>
            <div class="stain-overlay-main"></div>
            <div class="grain-overlay"></div>
            <div id="mainBlood1" class="blood-main-a"></div>
            <div id="mainBlood2" class="blood-main-b" style="display: none;"></div>
            <div id="mainBlood3" class="blood-main-c" style="display: none;"></div>
            <div id="mainBlood4" class="blood-main-d" style="display: none;"></div>
            <div id="mainBlood5" class="blood-main-e" style="display: none;"></div>
            <div id="mainBlood6" class="blood-main-f" style="display: none;"></div>
          </div>
        </div>
      </div>
    </div>
   
  </div>
</div>

<style>
  #photo1, #photo2, #photo3, #photo4, #photo5, #photo6 { transition: transform 0.8s ease-out; }
  #photo1:hover, #photo2:hover, #photo3:hover, #photo4:hover, #photo5:hover, #photo6:hover { transform: rotate(0deg) scale(1.08) !important; z-index: 30 !important; }
  #mainWrapper { transition: transform 0.8s ease-out; }
  #mainWrapper:hover { transform: rotate(0deg) scale(1.05) !important; }
 
  .scratch-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 5px); border-radius: 8px; z-index: 2; }
  .scratch-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 5px), repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.06) 3px, rgba(80,60,40,0.06) 7px); border-radius: 9px; z-index: 2; }
 
  .stain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(circle at 20% 30%, rgba(160,120,80,0.18) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(100,70,40,0.14) 0%, transparent 60%); border-radius: 8px; z-index: 2; }
  .stain-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.15) 0%, transparent 40%), radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.12) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(180,155,125,0.08) 0%, transparent 70%); border-radius: 9px; z-index: 2; }
 
  .blood-type-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 65% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 4%, transparent 7%), radial-gradient(circle at 30% 75%, rgba(210,35,18,0.45) 0%, rgba(190,30,12,0.3) 3%, transparent 6%), radial-gradient(circle at 85% 85%, rgba(230,45,22,0.35) 0%, transparent 5%); }
  .blood-type-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 6%, transparent 10%), radial-gradient(circle at 75% 35%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 7%), radial-gradient(circle at 20% 80%, rgba(115,18,10,0.4) 0%, transparent 5%); }
  .blood-type-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 55% 60%, rgba(190,35,18,0.5) 0%, rgba(170,28,14,0.35) 8%, transparent 12%), radial-gradient(circle at 80% 20%, rgba(200,38,20,0.4) 0%, transparent 6%), radial-gradient(ellipse at 25% 40%, rgba(180,30,15,0.35) 0%, transparent 8%); }
  .blood-type-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 70% 70%, rgba(80,15,8,0.55) 0%, rgba(60,10,5,0.4) 5%, transparent 9%), radial-gradient(circle at 30% 25%, rgba(90,18,10,0.45) 0%, rgba(70,12,6,0.3) 4%, transparent 7%); }
  .blood-type-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 5%, transparent 9%), radial-gradient(circle at 60% 80%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 4%, transparent 7%), radial-gradient(circle at 15% 55%, rgba(240,55,28,0.35) 0%, transparent 5%); }
  .blood-type-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 50% 45%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 25% 70%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.3) 3%, transparent 6%), radial-gradient(ellipse at 80% 30%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 8%), radial-gradient(circle at 10% 15%, rgba(210,42,22,0.3) 0%, transparent 4%); }
 
  .blood-main-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 35% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 55%, rgba(210,38,18,0.45) 0%, rgba(190,32,14,0.35) 5%, transparent 8%), radial-gradient(circle at 25% 80%, rgba(230,45,22,0.4) 0%, rgba(210,38,16,0.3) 4%, transparent 7%); }
  .blood-main-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 60% 30%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 7%, transparent 12%), radial-gradient(circle at 20% 65%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 8%), radial-gradient(circle at 80% 80%, rgba(115,18,10,0.4) 0%, transparent 6%); }
  .blood-main-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(190,35,18,0.55) 0%, rgba(170,28,14,0.4) 8%, transparent 13%), radial-gradient(circle at 75% 25%, rgba(200,38,20,0.45) 0%, rgba(180,30,15,0.3) 5%, transparent 8%), radial-gradient(ellipse at 55% 80%, rgba(185,32,16,0.35) 0%, transparent 6%); }
  .blood-main-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 25% 35%, rgba(80,15,8,0.6) 0%, rgba(60,10,5,0.45) 6%, transparent 11%), radial-gradient(circle at 85% 70%, rgba(90,18,10,0.5) 0%, rgba(70,12,6,0.35) 5%, transparent 9%), radial-gradient(ellipse at 50% 20%, rgba(75,14,7,0.4) 0%, transparent 7%); }
  .blood-main-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 55% 40%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 7%, transparent 12%), radial-gradient(circle at 30% 70%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 5%, transparent 9%), radial-gradient(circle at 80% 20%, rgba(240,55,28,0.4) 0%, transparent 6%), radial-gradient(ellipse at 15% 50%, rgba(220,42,20,0.35) 0%, transparent 5%); }
  .blood-main-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 75%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.35) 4%, transparent 7%), radial-gradient(ellipse at 25% 60%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 9%), radial-gradient(circle at 85% 15%, rgba(210,42,22,0.35) 0%, transparent 5%); }
 
  .grain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.08"/></svg>'); background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 4; mix-blend-mode: multiply; }
</style>

<!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->

<script>
  const originalSrc = "https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg";
  const mainPhoto = document.getElementById('mainPhoto');
 
  const photo1 = document.getElementById('photo1');
  const photo2 = document.getElementById('photo2');
  const photo3 = document.getElementById('photo3');
  const photo4 = document.getElementById('photo4');
  const photo5 = document.getElementById('photo5');
  const photo6 = document.getElementById('photo6');
 
  const mainBlood1 = document.getElementById('mainBlood1');
  const mainBlood2 = document.getElementById('mainBlood2');
  const mainBlood3 = document.getElementById('mainBlood3');
  const mainBlood4 = document.getElementById('mainBlood4');
  const mainBlood5 = document.getElementById('mainBlood5');
  const mainBlood6 = document.getElementById('mainBlood6');
 
  function changeImage(newSrc, bloodType) {
    if (mainPhoto.src === newSrc) return;
   
    mainBlood1.style.display = 'none';
    mainBlood2.style.display = 'none';
    mainBlood3.style.display = 'none';
    mainBlood4.style.display = 'none';
    mainBlood5.style.display = 'none';
    mainBlood6.style.display = 'none';
   
    if (bloodType === 1) mainBlood1.style.display = 'block';
    else if (bloodType === 2) mainBlood2.style.display = 'block';
    else if (bloodType === 3) mainBlood3.style.display = 'block';
    else if (bloodType === 4) mainBlood4.style.display = 'block';
    else if (bloodType === 5) mainBlood5.style.display = 'block';
    else if (bloodType === 6) mainBlood6.style.display = 'block';
   
    mainPhoto.style.opacity = '0.5';
    setTimeout(() => {
      mainPhoto.src = newSrc;
      mainPhoto.style.opacity = '1';
    }, 150);
  }
 
  if (photo1) photo1.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo1.querySelector('img').src, 1); });
  if (photo2) photo2.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo2.querySelector('img').src, 2); });
  if (photo3) photo3.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo3.querySelector('img').src, 3); });
  if (photo4) photo4.addEventListener('click', (e) => { e.stopPropagation(); changeImage(originalSrc, 4); });
  if (photo5) photo5.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo5.querySelector('img').src, 5); });
  if (photo6) photo6.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo6.querySelector('img').src, 6); });
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО ИТАЛИИ. МОСКВА И БЛИЗЖАЙШЕЕ ПОДМОСКОВЬЕ";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Москва — самое сердце старой России. Город, который считал себя вечным. Теперь это бесконечное кладбище бетона, стекла и человеческих судеб. Сюда пришлось несколько прямых попаданий. Инфраструктура уничтожена. Людей эвакуировать не успели — большая часть осталась под завалами или стала частью новой экосистемы.

Город разделён на три слоя: крыши, улицы и метро. Каждый — свой мир, со своими правилами и обитателями.

Крыши — единственное место, где ещё можно дышать без респиратора. Здесь ветер разгоняет радиацию и токсины. Но ходить по крышам опасно — конструкции не ремонтировались почти тридцать лет. Один неверный шаг — и ты летишь вниз, на улицу. К тому же на крышах обитают «жнецы крыш» (сизари-мутанты) — размером с крупную кошку, с цепкими человеческими руками вместо лап. Не нападают на живых, но обожают стаскивать с карнизов трупы и вещи. Их «курлыканье» не имеет ничего общего с воркованием обычных голубей. Это низкий, булькающий звук, похожий на мокрый кашель умирающего. Когда стая «жнецов» находит добычу, их курлыканье становится громче — оно отдаётся в груди, вызывая тошноту и липкий страх. Охотники говорят: «Услышал этот звук — значит, где-то уже кто-то умер. ».

Улицы — царство «серых». Это бывшие люди. У них серая, потрескавшаяся кожа, вывернутые суставы и постоянно открытые рты. Они почти не видят, но реагируют на звук. Достаточно кашлянуть или наступить на стекло — и серые сбегаются со всей округи. Они не бегают — они плывут над землёй, как тени. Убить серого можно обычной пулей, но их всегда много. А главное — они умеют притворяться мёртвыми. Можешь пройти мимо десятка неподвижных тел, а потом они встанут у тебя за спиной.

Метро — абсолютная тьма. Здесь нет ни естественного, ни искусственного света. Только хемо- и радиотоксины, которые копятся внизу годами. Спускаться туда без специального снаряжения — самоубийство. Те, кто всё же рискует, рассказывают о «архитекторах» — загадочные мутанты, перестраивающие тоннели метро. Они не убивают напрямую — они запутывают, заманивают в ловушки, перекрывают выходы. Но с некоторыми из них, говорят, можно договориться.

Легенды среди охотников гласят: если принести архитектору что-то ценное — редкий реагент, кусок «гулкого металла», а иногда просто красивый камень или блестящую безделушку — он может стать твоим проводником. Архитектор не станет другом, но он перестанет перекрывать тебе путь. Более того, он может показать безопасный маршрут, открыть проход там, где его не было, или предупредить об опасности — например, заставить стену завибрировать, когда рядом «танцующие огни».

Но сделка с архитектором — это всегда риск. Никто не знает, что именно он хочет получить на самом деле. Иногда он принимает дар и уходит. Иногда принимает — и начинает следить за тобой, требуя ещё и ещё. А иногда притворяется, что согласен, а потом заводит в самую страшную ловушку. Бывалые охотники говорят: «С архитектором можно договориться, только если ты ему зачем-то нужен. А если нет — лучше обходи стороной».

На улицах почти нет зелени. Только серый бетон, чёрная земля и редкие кусты «радио-шиповника» — ягоды светятся слабым зелёным светом. Их нельзя есть — смертельная доза радиации. Но отвар из листьев используют как слабый антидот при лучевой болезни. Местные знахари собирают шиповник по ночам, когда радиационный фон чуть ниже.

«Бродячие псы» — мутанты размером с телёнка, с двумя рядами зубов и отсутствующей шкурой. Их мышцы видны невооружённым глазом. Они сбиваются в стаи по 10–15 особей и охотятся на серых и неосторожных охотников. Их берут крупнокалибирные пули, но их сложно убить — они не чувствуют боли, ничего не боятся.

В подземных коллекторах водятся «капельники» — мутанты, похожие на огромных слизней. Они питаются органикой и оставляют за собой слизистый след, который разъедает кожу за минуту. Капельники медленные, но их трудно заметить в темноте.

«Кремлёвский звон» — самая известная аномалия Москвы. Раз в месяц, в полнолуние, из центра города раздаётся звон колоколов. Их никто не видел — старые колокольни давно рухнули. Но звон есть. Тот, кто слышит его без специальной защиты, впадает в кататонию. Человек застывает с открытыми глазами, перестаёт реагировать на внешние раздражители, не ест, не пьёт. Через сутки он превращается в «звонца» — мутанта с металлическими наростами на голове, которые издают звук на той же частоте, что и колокола. Звонцы не агрессивны, но они притягивают других мутантов. Достаточно одному появиться рядом с лагерем — и через час на тебя выйдет вся округа.

«Танцующие огни» — в районе бывшего Москва-Сити иногда возникают шаровые молнии необычного цвета — фиолетового или чёрного. Они движутся хаотично, но никогда не касаются земли. Если молния касается человека — тот испаряется без следа. Но если удаётся избежать контакта, молнии могут указывать путь — например, к тайнику или безопасному проходу. Бывалые охотники научились «договариваться» с огнями — не поворачиваться к ним спиной, не делать резких движений, не бояться. Но это скорее поверье, чем точное знание.

«Осколки звона» — вырезаются из голов мёртвых звонцов. Осколок размером с монету может временно заглушать звуки в радиусе 10 метров или создавать звуковую волну, оглушающую врагов и выводящую электроприборы из строя. Работают в любом месте — хоть в другой Зоне, хоть в большом мире.

«Серая пыль» — собирается с тел убитых серых. Мощный абсорбент — впитывает радиацию, токсины, даже запахи. Охотники используют её для очистки воды и воздуха. В больших количествах пыль идёт на производство защитных костюмов, антидотов. Работает везде.

«Гулкий металл» — редкие сплавы, которые можно найти в московском метро. Если ударить по куску такого металла, он издаёт вибрацию, не слышимую человеку, но мутанты (серые, бродячие псы и даже твари из других Зон) чувствуют её и стараются убраться подальше. Охотники делают из металла пластины и крепят на снаряжение. В большом мире «гулкий металл» работает по тому же принципу: его вибрация отпугивает одних животных и существ, но привлекает других. То же самое справедливо и для существ из других миров. Никто до конца не знает, как именно металл воздействует на ту или иную тварь, поэтому опытные охотники проверяют каждую новую пластину на месте, прежде чем полагаться на неё.

«Искра памяти» — крошечная частица, оставшаяся от «Танцующего огня». Если втереть её в виски, сознание на несколько секунд ускоряется: мир вокруг замирает, а ты успеваешь заметить то, что обычно ускользает. Охотники используют искры, чтобы заметить ловушку, прочитать вражеский манёвр или увидеть деталь, которую иначе бы пропустили. После использования искра рассыпается в прах. Но нередко применение «Искры» вызывает короткое замыкание в мозге — нервная система перезагружается, причём непонятно, от чего это зависит. Охотник может выжить и отделаться сильной мигренью, а может навсегда остаться инвалидом: потерять память, речь или способность двигаться. Поэтому искры — всегда лотерея. Рискнут не все.

«Сгусток света» — застывшая капля фиолетового или чёрного свечения, которая остаётся после исчезновения «Танцующего огня». На ощупь тёплая, но не обжигает, похожа на заствшую смолу. Если разбить сгусток, он вспыхивает холодным пламенем, которое может питать любой прибор — от фонарика до портативной рации — в течение нескольких часов без подзарядки. В большом мире работает по такому же принципу. В Зонах, особенно в московском метро, сгустки используют иначе: их содержимым пропитывают стены, потолки или даже рельсы. Стоит сгустку разбиться — и холодное пламя растекается по поверхности, заставляя её светиться часами, а то и сутками, постепенно угасая. Так охотники освещают себе путь в абсолютной тьме тоннелей. А если собрать достаточно сгустков, можно запитать целый участок путей — тогда рельсы сами засветятся в темноте, прокладывая безопасный маршрут среди лабиринтов метро. Правда, рано или поздно свечение угасает, и путь приходится освещать заново.

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СТАНЦИЯ «СПОРТИВНАЯ». БУНКЕР СИНДИКАТА";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

В пяти километрах от границы Зоны, в районе бывшего Солнцева, сохранился подземный командный бункер гражданской обороны. Синдикат захватил его в 1998 году, расширил, укрепил и превратил в главную базу для охотников в московском регионе.

В бункере есть несколько помещений:

Общий зал — бывшая казарма, превращённая в спальню и столовую. Вдоль стен — двухъярусные койки, в центре — длинные столы. Света мало — несколько ламп дневного света. Заведует общим залом комендант Сергей — бывший военный, потерявший в Зоне всех своих друзей. Он следит за порядком, раздаёт задания, хранит ключи от арсенала.

Арсенал — оружейная комната с бронированной дверью. Здесь хранятся стволы, боеприпасы, взрывчатка, приборы ночного видения. Заведует арсеналом оружейник Семён — старик с металлической рукой (потерял свою в схватке с бродячими псами). Он чинит оружие, продаёт патроны, выдаёт стволы под залог.

Лаборатория — помещение с микроскопами, пробирками, химическими реактивами. Здесь анализируют реагенты, определяют подлинность, делают предварительную оценку. Заведует лабораторией химик Вера. Она не задаёт лишних вопросов — просто делает свою работу. Ходят слухи, что она сотрудница НИЧАВО.

Аптека — комната с запасом антирадина, стимуляторов, обезболивающих. Здесь лечат лучевую болезнь, переливают кровь, вытаскивают пули. Заведует аптекой фельдшер Толик — молодой парень, который остался в Зоне после того, как его отряд погиб. Говорят, он умеет ставить на ноги даже безнадёжных.

Комната связи — маленькая каморка с мощной рацией. Отсюда можно вызвать подмогу или передать весточку на большую землю. Связь работает не всегда — мешают «танцующие огни», но в бункере их сигнал слабее.

Тихий дворик — огороженная бетонными плитами площадка на поверхности. Единственное место, где можно увидеть небо и не бояться серых. Здесь сушат одежду, чистят оружие, иногда курят — хотя курить в Зоне опасно (запах привлекает мутантов).

От станции «Спортивная» до безопасного мира — полчаса на бронированном автобусе Синдиката до Кольцевой дороги, где стоит постоянный пост Содружества Италии. Автобус ходит раз в день, утром. Опоздал — жди следующего дня или иди пешком. Но пешком через «Бетонные джунгли» — почти верная смерть.

Главное правило бункера: не шуметь. Серые слышат всё. Если кто-то устроит драку или пальбу на базе — его вышвырнут вон. Даже если снаружи стая псов. Синдикат не рискует своей базой ради одного охотника.

Москва — Зона для отчаянных. Здесь нет безопасных коридоров, нет надёжных укрытий, нет постоянных маршрутов. Каждая вылазка — лотерея.

Синдикат не контролирует Москву полностью. Слишком большая территория, слишком много аномалий, слишком непредсказуемые мутанты. Вместо этого Синдикат нанимает охотников для разовых заданий — доставить груз, найти пропавшего, собрать реагенты. Платит хорошо, но не гарантирует возвращения.

Объединённая церковь в Москву не суется - слишком опасно.

0

4

[html]<div style="position: relative; width: 600px; margin: 80px auto 100px auto;">
 
  <div style="position: relative; width: 600px; margin: 0 auto;">
   
    <!-- ФОТО 1: СНИЗУ-СЛЕВА -->
    <div id="photo1" style="position: absolute; bottom: -55px; left: 20px; width: 110px; height: 110px; z-index: 15; cursor: pointer; transform: rotate(-14deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/8d/66/53/8d665375ab03d6aeca22131295f1fcea.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-a"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 2: СНИЗУ-ПО-ЦЕНТРУ -->
    <div id="photo2" style="position: absolute; bottom: -25px; left: 240px; width: 120px; height: 120px; z-index: 15; cursor: pointer; transform: rotate(6deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/a6/a5/2a/a6a52aa54bc1164eac7f48344a09ec0c.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-b"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 3: СВЕРХУ-СПРАВА -->
    <div id="photo3" style="position: absolute; top: -60px; right: 30px; width: 105px; height: 105px; z-index: 15; cursor: pointer; transform: rotate(18deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/88/65/26/886526bd4c21a74fb727c08e282894be.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-c"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 4: СВЕРХУ-СЛЕВА (ВОЗВРАЩАЕТ ИСХОДНУЮ КАРТИНКУ) -->
    <div id="photo4" style="position: absolute; top: -35px; left: 100px; width: 95px; height: 95px; z-index: 15; cursor: pointer; transform: rotate(-22deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-d"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 5: СНИЗУ-СПРАВА -->
    <div id="photo5" style="position: absolute; bottom: -70px; right: 80px; width: 115px; height: 115px; z-index: 15; cursor: pointer; transform: rotate(25deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a5/90/04/a5900470b3440c150893553603ca7d25.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-e"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 6: СВЕРХУ-ПО-ЦЕНТРУ -->
    <div id="photo6" style="position: absolute; top: -30px; left: 170px; width: 100px; height: 100px; z-index: 15; cursor: pointer; transform: rotate(-10deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a2/ec/df/a2ecdf3845222ea6e3ed4538545ceead.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-f"></div>
        </div>
      </div>
    </div>

    <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
    <div id="mainWrapper" style="position: relative; z-index: 20; transform: rotate(1deg); transition: transform 0.8s ease-out; display: inline-block;">
      <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
        <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
          <div style="position: relative; overflow: hidden; border-radius: 9px;">
            <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
            <img id="mainPhoto" src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.5) contrast(1.18) brightness(0.92) saturate(0.9); transition: opacity 0.3s ease;">
            <div class="scratch-overlay-main"></div>
            <div class="stain-overlay-main"></div>
            <div class="grain-overlay"></div>
            <div id="mainBlood1" class="blood-main-a"></div>
            <div id="mainBlood2" class="blood-main-b" style="display: none;"></div>
            <div id="mainBlood3" class="blood-main-c" style="display: none;"></div>
            <div id="mainBlood4" class="blood-main-d" style="display: none;"></div>
            <div id="mainBlood5" class="blood-main-e" style="display: none;"></div>
            <div id="mainBlood6" class="blood-main-f" style="display: none;"></div>
          </div>
        </div>
      </div>
    </div>
   
  </div>
</div>

<style>
  #photo1, #photo2, #photo3, #photo4, #photo5, #photo6 { transition: transform 0.8s ease-out; }
  #photo1:hover, #photo2:hover, #photo3:hover, #photo4:hover, #photo5:hover, #photo6:hover { transform: rotate(0deg) scale(1.08) !important; z-index: 30 !important; }
  #mainWrapper { transition: transform 0.8s ease-out; }
  #mainWrapper:hover { transform: rotate(0deg) scale(1.05) !important; }
 
  .scratch-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 5px); border-radius: 8px; z-index: 2; }
  .scratch-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 5px), repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.06) 3px, rgba(80,60,40,0.06) 7px); border-radius: 9px; z-index: 2; }
 
  .stain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(circle at 20% 30%, rgba(160,120,80,0.18) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(100,70,40,0.14) 0%, transparent 60%); border-radius: 8px; z-index: 2; }
  .stain-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.15) 0%, transparent 40%), radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.12) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(180,155,125,0.08) 0%, transparent 70%); border-radius: 9px; z-index: 2; }
 
  .blood-type-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 65% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 4%, transparent 7%), radial-gradient(circle at 30% 75%, rgba(210,35,18,0.45) 0%, rgba(190,30,12,0.3) 3%, transparent 6%), radial-gradient(circle at 85% 85%, rgba(230,45,22,0.35) 0%, transparent 5%); }
  .blood-type-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 6%, transparent 10%), radial-gradient(circle at 75% 35%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 7%), radial-gradient(circle at 20% 80%, rgba(115,18,10,0.4) 0%, transparent 5%); }
  .blood-type-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 55% 60%, rgba(190,35,18,0.5) 0%, rgba(170,28,14,0.35) 8%, transparent 12%), radial-gradient(circle at 80% 20%, rgba(200,38,20,0.4) 0%, transparent 6%), radial-gradient(ellipse at 25% 40%, rgba(180,30,15,0.35) 0%, transparent 8%); }
  .blood-type-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 70% 70%, rgba(80,15,8,0.55) 0%, rgba(60,10,5,0.4) 5%, transparent 9%), radial-gradient(circle at 30% 25%, rgba(90,18,10,0.45) 0%, rgba(70,12,6,0.3) 4%, transparent 7%); }
  .blood-type-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 5%, transparent 9%), radial-gradient(circle at 60% 80%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 4%, transparent 7%), radial-gradient(circle at 15% 55%, rgba(240,55,28,0.35) 0%, transparent 5%); }
  .blood-type-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 50% 45%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 25% 70%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.3) 3%, transparent 6%), radial-gradient(ellipse at 80% 30%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 8%), radial-gradient(circle at 10% 15%, rgba(210,42,22,0.3) 0%, transparent 4%); }
 
  .blood-main-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 35% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 55%, rgba(210,38,18,0.45) 0%, rgba(190,32,14,0.35) 5%, transparent 8%), radial-gradient(circle at 25% 80%, rgba(230,45,22,0.4) 0%, rgba(210,38,16,0.3) 4%, transparent 7%); }
  .blood-main-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 60% 30%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 7%, transparent 12%), radial-gradient(circle at 20% 65%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 8%), radial-gradient(circle at 80% 80%, rgba(115,18,10,0.4) 0%, transparent 6%); }
  .blood-main-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(190,35,18,0.55) 0%, rgba(170,28,14,0.4) 8%, transparent 13%), radial-gradient(circle at 75% 25%, rgba(200,38,20,0.45) 0%, rgba(180,30,15,0.3) 5%, transparent 8%), radial-gradient(ellipse at 55% 80%, rgba(185,32,16,0.35) 0%, transparent 6%); }
  .blood-main-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 25% 35%, rgba(80,15,8,0.6) 0%, rgba(60,10,5,0.45) 6%, transparent 11%), radial-gradient(circle at 85% 70%, rgba(90,18,10,0.5) 0%, rgba(70,12,6,0.35) 5%, transparent 9%), radial-gradient(ellipse at 50% 20%, rgba(75,14,7,0.4) 0%, transparent 7%); }
  .blood-main-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 55% 40%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 7%, transparent 12%), radial-gradient(circle at 30% 70%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 5%, transparent 9%), radial-gradient(circle at 80% 20%, rgba(240,55,28,0.4) 0%, transparent 6%), radial-gradient(ellipse at 15% 50%, rgba(220,42,20,0.35) 0%, transparent 5%); }
  .blood-main-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 75%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.35) 4%, transparent 7%), radial-gradient(ellipse at 25% 60%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 9%), radial-gradient(circle at 85% 15%, rgba(210,42,22,0.35) 0%, transparent 5%); }
 
  .grain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.08"/></svg>'); background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 4; mix-blend-mode: multiply; }
</style>

<!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->

<script>
  const originalSrc = "https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg";
  const mainPhoto = document.getElementById('mainPhoto');
 
  const photo1 = document.getElementById('photo1');
  const photo2 = document.getElementById('photo2');
  const photo3 = document.getElementById('photo3');
  const photo4 = document.getElementById('photo4');
  const photo5 = document.getElementById('photo5');
  const photo6 = document.getElementById('photo6');
 
  const mainBlood1 = document.getElementById('mainBlood1');
  const mainBlood2 = document.getElementById('mainBlood2');
  const mainBlood3 = document.getElementById('mainBlood3');
  const mainBlood4 = document.getElementById('mainBlood4');
  const mainBlood5 = document.getElementById('mainBlood5');
  const mainBlood6 = document.getElementById('mainBlood6');
 
  function changeImage(newSrc, bloodType) {
    if (mainPhoto.src === newSrc) return;
   
    mainBlood1.style.display = 'none';
    mainBlood2.style.display = 'none';
    mainBlood3.style.display = 'none';
    mainBlood4.style.display = 'none';
    mainBlood5.style.display = 'none';
    mainBlood6.style.display = 'none';
   
    if (bloodType === 1) mainBlood1.style.display = 'block';
    else if (bloodType === 2) mainBlood2.style.display = 'block';
    else if (bloodType === 3) mainBlood3.style.display = 'block';
    else if (bloodType === 4) mainBlood4.style.display = 'block';
    else if (bloodType === 5) mainBlood5.style.display = 'block';
    else if (bloodType === 6) mainBlood6.style.display = 'block';
   
    mainPhoto.style.opacity = '0.5';
    setTimeout(() => {
      mainPhoto.src = newSrc;
      mainPhoto.style.opacity = '1';
    }, 150);
  }
 
  if (photo1) photo1.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo1.querySelector('img').src, 1); });
  if (photo2) photo2.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo2.querySelector('img').src, 2); });
  if (photo3) photo3.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo3.querySelector('img').src, 3); });
  if (photo4) photo4.addEventListener('click', (e) => { e.stopPropagation(); changeImage(originalSrc, 4); });
  if (photo5) photo5.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo5.querySelector('img').src, 5); });
  if (photo6) photo6.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo6.querySelector('img').src, 6); });
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО КИТАЯ. НОРИЛЬСК";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Норильск когда-то был городом-заводом. Местом, где добывали металлы, выплавляли руду, ковали промышленную мощь. Сюда не прилетело ни одной боеголовки. Но радиация пришла с воздушными массами — ветры принесли смерть с других Зон. А расположенный рядом комбинат, оставленный без присмотра, рухнул. Тысячи тонн тяжёлых металлов и неизвестных реагентов вырвались на свободу.

Всё смешалось. Радиация, химия, старая магия индустриальных мест. Город перестал быть просто мёртвым. Он стал красным.

Норильск покрыт ржаво-красной пылью. Она везде — на земле, на стенах, в воздухе, в воде. Она проникает в лёгкие, въедается в кожу, забивает механизмы. Если не носить респиратор, через две недели внутренности начинают каменеть. Сначала — тяжесть в груди. Потом — хруст при каждом вдохе. А потом человек перестаёт дышать — его лёгкие превращаются в известняк.

Здания здесь стоят, но они словно больны. Стены покрыты красным налётом, похожим на ржавчину, но мягким на ощупь, как замша. Стеклопакеты выбиты — ветер гуляет по пустым цехам, поднимая пыль и создавая причудливые узоры. На улицах — ни души. Только редкие тени, мелькающие за углами.

Окраины города постепенно уходят под землю. Вечная мерзлота начала таять — никто не знает, почему. Может быть, радиация. Может быть, что-то другое. Дома оседают, дороги проваливаются, образуя глубокие воронки, заполненные красной жижей.

Растений почти нет. Только «каменный мох» — жёсткая, как проволока, субстанция красного цвета, покрывающая стены и землю. Его нельзя есть — зубы сломаешь. Но из него можно делать фильтры для воды — мох впитывает тяжёлые металлы.

«Окаменевшие» — животные и люди, мутировавшие в известняк. Их кожа становится похожа на камень, движения замедляются, но сила вырастает в разы. Окаменевший медведь может проломить бетонную стену одним ударом. Окаменевший волк не бегает — он шагает, но каждый его шаг равен трём человеческим.

Окаменевшие не агрессивны, пока их не трогать. Они ведут себя как статуи — стоят неподвижно часами, сливаясь с окружающей средой. Но если нарушить покой — подойти слишком близко, громко заговорить, выстрелить — они просыпаются. И начинают преследовать жертву с ужасающим терпением. Они не бегут, они идут. Не спеша, но неуклонно. Их нельзя обмануть — они чуют живую плоть за километр. Единственный способ спастись — покинуть Зону. Как только окаменевший переступает границу Красной пустыни, он замирает и снова превращается в статую.

В подземных воронках обитают «красные черви» — существа, похожие на гигантских дождевых червей, но длиной в десяток метров и покрытые всё той же красной коркой. Они не нападают на людей — им нужна органика, растворённая в жиже. Но если наступить на червя, он дёрнется и может утащить за собой в воронку.

«Горячий лёд» — самая опасная аномалия Норильска. В некоторых районах земля начинает светиться холодным голубым светом. Температура там опускается до -50°C, но при этом всё горит. Камни, металл, даже вода — всё вспыхивает холодным пламенем, которое не греет, а разрывает материю на молекулярном уровне.

Попадать в зону «Горячего льда» нельзя. Но иногда аномалия движется — медленно, как ледник. Охотники научились отслеживать её перемещения по свечению. Если вовремя заметить — можно уйти. Если нет — человек просто исчезает. Ни крика, ни крови. Просто пустое место.

«Красный дождь» — раз в несколько месяцев над Норильском проходят осадки. Дождь красный, как кровь. Он радиоактивен и ядовит. Прятаться от него нужно в помещениях с герметичными дверями — если капля попадёт на кожу, останется ожог третьей степени. Если выпить воды, собранной во время красного дождя — смерть через сутки в страшных мучениях.

Но в красном дожде есть и польза. После него из земли начинают пробиваться «кровавые цветы» — ярко-алые бутоны размером с кулак. Их лепестки — мощный антидот от лучевой болезни.

«Каменная крошка» — добывается из тел убитых окаменевших. Сверхпрочный материал — добавленная в бронепластины делает их втрое прочнее стали при меньшем весе. Синдикат наладил здесь промышленную добычу. Работает в любом месте.

«Красная пыль» — та самая пыль, что покрывает город. Очищенная от токсинов, используется как катализатор в алхимических реакциях. Некоторые ведьмы утверждают, что с её помощью можно останавливать время на несколько секунд. Церковь эту информацию не подтверждает, но и не опровергает. Работает везде.

«Кровавые цветы» — появляются после «Красного дождя». Их лепестки — мощный антидот от лучевой болезни. Работают в любом месте.

«Слёзы комбината» — легендарные капсулы, которые, по слухам, лежат на дне старых шахт. Говорят, они заставляют металл плавиться при комнатной температуре. Если это правда — они будут работать в любом месте. Но шахты обвалились, входы завалены. Единственный способ попасть внутрь — через воронки, заполненные красной жижей, и красных червей.

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "ПОСЁЛОК «БАЗОВЫЙ»";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

На въезде в Норильск, там, где когда-то стоял КПП и пропускная система, Синдикат восстановил старый вахтовый городок. Десяток модульных жилых блоков, обнесённых колючей проволокой и датчиками движения. Место суровое, но безопасное.

Жилые модули — маленькие комнатки на двоих. Внутри — две койки, печка-буржуйка, тумбочка. Минимум удобств, но тепло и сухо. Заведует модулями комендант Кузьма — старый охотник, который не может ходить (потерял обе ноги в схватке с окаменевшими). Он передвигается на самодельной тележке, но знает о Норильске всё.

Столовая — большой модуль с длинными столами и железной печкой. Здесь варят похлёбку из консервов, пекут лепёшки, заваривают чай из «каменного мха» (горько, но помогает от радиации). Заведует столовой баба Зина — женщина с весёлым нравом и тяжёлой рукой (если кто-то не заплатил за еду — получит половником по голове).

Оружейка — модуль с бронированными стенами. Здесь ремонтируют стволы, чистят, продают патроны. Заведует оружейкой оружейник Гоша — молодой парень, который пришёл в Норильск за деньгами и остался на три года. Он умеет делать из «каменной крошки» бронепластины прямо на месте.

Сортировочный пункт — модуль, где дробят каменную крошку, фасуют по контейнерам, готовят к отправке. Здесь работают наёмные рабочие — местные, которые согласились сотрудничать с Синдикатом за еду и защиту.

Склад реагентов — герметичный модуль с холодильниками. Здесь хранится каменная крошка, красная пыль, кровавые цветы. Склад охраняется вооружённой бригадой — попытка ограбления карается на месте.

Баня — да, в Норильске есть баня. Это не роскошь, это необходимость. Красная пыль въедается так, что без пара не отмыться. Баня топится по субботам. В остальные дни — только холодный душ.

От посёлка «Базовый» до безопасного мира — час на гусеничном вездеходе до города Талнах, где находится штаб Синдиката в регионе. Вездеход ходит раз в два дня, утром. Опоздал — жди или иди пешком. Но пешком через «Красную пустыню» — почти верная смерть.

Главное правило посёлка: не выходить на улицу без респиратора. Пыль убивает быстрее, чем мутанты. И не будить окаменевших — если кто-то притащил за собой «живую» статую к воротам, его не пустят обратно. Никогда.

Норильск — одна из немногих Зон, где Синдикат работает промышленно. У них есть базы, перерабатывающие цеха, вооружённая охрана. Они контролируют лучшие места для охоты на окаменевших и скупают реагенты у охотников по фиксированным ценам.

Но Синдикат — не благотворительная организация. Конкуренцию они не любят. Если ты нашёл хорошее место для охоты — будь готов, что за ним придут «уборщики». Если ты продал крошку не им, а частному покупателю — считай дни.

Объединённая церковь не вмешивается в дела Норильска, но покупают у Синдиката броне-пластины для обмундирования своих рыцарей.

0

5

[html]<div style="position: relative; width: 600px; margin: 80px auto 100px auto;">
 
  <div style="position: relative; width: 600px; margin: 0 auto;">
   
    <!-- ФОТО 1: СНИЗУ-СЛЕВА -->
    <div id="photo1" style="position: absolute; bottom: -55px; left: 20px; width: 110px; height: 110px; z-index: 15; cursor: pointer; transform: rotate(-14deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/8d/66/53/8d665375ab03d6aeca22131295f1fcea.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-a"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 2: СНИЗУ-ПО-ЦЕНТРУ -->
    <div id="photo2" style="position: absolute; bottom: -25px; left: 240px; width: 120px; height: 120px; z-index: 15; cursor: pointer; transform: rotate(6deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/a6/a5/2a/a6a52aa54bc1164eac7f48344a09ec0c.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-b"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 3: СВЕРХУ-СПРАВА -->
    <div id="photo3" style="position: absolute; top: -60px; right: 30px; width: 105px; height: 105px; z-index: 15; cursor: pointer; transform: rotate(18deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/88/65/26/886526bd4c21a74fb727c08e282894be.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-c"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 4: СВЕРХУ-СЛЕВА (ВОЗВРАЩАЕТ ИСХОДНУЮ КАРТИНКУ) -->
    <div id="photo4" style="position: absolute; top: -35px; left: 100px; width: 95px; height: 95px; z-index: 15; cursor: pointer; transform: rotate(-22deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-d"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 5: СНИЗУ-СПРАВА -->
    <div id="photo5" style="position: absolute; bottom: -70px; right: 80px; width: 115px; height: 115px; z-index: 15; cursor: pointer; transform: rotate(25deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a5/90/04/a5900470b3440c150893553603ca7d25.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-e"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 6: СВЕРХУ-ПО-ЦЕНТРУ -->
    <div id="photo6" style="position: absolute; top: -30px; left: 170px; width: 100px; height: 100px; z-index: 15; cursor: pointer; transform: rotate(-10deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a2/ec/df/a2ecdf3845222ea6e3ed4538545ceead.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-f"></div>
        </div>
      </div>
    </div>

    <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
    <div id="mainWrapper" style="position: relative; z-index: 20; transform: rotate(1deg); transition: transform 0.8s ease-out; display: inline-block;">
      <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
        <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
          <div style="position: relative; overflow: hidden; border-radius: 9px;">
            <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
            <img id="mainPhoto" src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.5) contrast(1.18) brightness(0.92) saturate(0.9); transition: opacity 0.3s ease;">
            <div class="scratch-overlay-main"></div>
            <div class="stain-overlay-main"></div>
            <div class="grain-overlay"></div>
            <div id="mainBlood1" class="blood-main-a"></div>
            <div id="mainBlood2" class="blood-main-b" style="display: none;"></div>
            <div id="mainBlood3" class="blood-main-c" style="display: none;"></div>
            <div id="mainBlood4" class="blood-main-d" style="display: none;"></div>
            <div id="mainBlood5" class="blood-main-e" style="display: none;"></div>
            <div id="mainBlood6" class="blood-main-f" style="display: none;"></div>
          </div>
        </div>
      </div>
    </div>
   
  </div>
</div>

<style>
  #photo1, #photo2, #photo3, #photo4, #photo5, #photo6 { transition: transform 0.8s ease-out; }
  #photo1:hover, #photo2:hover, #photo3:hover, #photo4:hover, #photo5:hover, #photo6:hover { transform: rotate(0deg) scale(1.08) !important; z-index: 30 !important; }
  #mainWrapper { transition: transform 0.8s ease-out; }
  #mainWrapper:hover { transform: rotate(0deg) scale(1.05) !important; }
 
  .scratch-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 5px); border-radius: 8px; z-index: 2; }
  .scratch-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 5px), repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.06) 3px, rgba(80,60,40,0.06) 7px); border-radius: 9px; z-index: 2; }
 
  .stain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(circle at 20% 30%, rgba(160,120,80,0.18) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(100,70,40,0.14) 0%, transparent 60%); border-radius: 8px; z-index: 2; }
  .stain-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.15) 0%, transparent 40%), radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.12) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(180,155,125,0.08) 0%, transparent 70%); border-radius: 9px; z-index: 2; }
 
  .blood-type-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 65% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 4%, transparent 7%), radial-gradient(circle at 30% 75%, rgba(210,35,18,0.45) 0%, rgba(190,30,12,0.3) 3%, transparent 6%), radial-gradient(circle at 85% 85%, rgba(230,45,22,0.35) 0%, transparent 5%); }
  .blood-type-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 6%, transparent 10%), radial-gradient(circle at 75% 35%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 7%), radial-gradient(circle at 20% 80%, rgba(115,18,10,0.4) 0%, transparent 5%); }
  .blood-type-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 55% 60%, rgba(190,35,18,0.5) 0%, rgba(170,28,14,0.35) 8%, transparent 12%), radial-gradient(circle at 80% 20%, rgba(200,38,20,0.4) 0%, transparent 6%), radial-gradient(ellipse at 25% 40%, rgba(180,30,15,0.35) 0%, transparent 8%); }
  .blood-type-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 70% 70%, rgba(80,15,8,0.55) 0%, rgba(60,10,5,0.4) 5%, transparent 9%), radial-gradient(circle at 30% 25%, rgba(90,18,10,0.45) 0%, rgba(70,12,6,0.3) 4%, transparent 7%); }
  .blood-type-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 5%, transparent 9%), radial-gradient(circle at 60% 80%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 4%, transparent 7%), radial-gradient(circle at 15% 55%, rgba(240,55,28,0.35) 0%, transparent 5%); }
  .blood-type-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 50% 45%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 25% 70%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.3) 3%, transparent 6%), radial-gradient(ellipse at 80% 30%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 8%), radial-gradient(circle at 10% 15%, rgba(210,42,22,0.3) 0%, transparent 4%); }
 
  .blood-main-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 35% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 55%, rgba(210,38,18,0.45) 0%, rgba(190,32,14,0.35) 5%, transparent 8%), radial-gradient(circle at 25% 80%, rgba(230,45,22,0.4) 0%, rgba(210,38,16,0.3) 4%, transparent 7%); }
  .blood-main-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 60% 30%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 7%, transparent 12%), radial-gradient(circle at 20% 65%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 8%), radial-gradient(circle at 80% 80%, rgba(115,18,10,0.4) 0%, transparent 6%); }
  .blood-main-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(190,35,18,0.55) 0%, rgba(170,28,14,0.4) 8%, transparent 13%), radial-gradient(circle at 75% 25%, rgba(200,38,20,0.45) 0%, rgba(180,30,15,0.3) 5%, transparent 8%), radial-gradient(ellipse at 55% 80%, rgba(185,32,16,0.35) 0%, transparent 6%); }
  .blood-main-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 25% 35%, rgba(80,15,8,0.6) 0%, rgba(60,10,5,0.45) 6%, transparent 11%), radial-gradient(circle at 85% 70%, rgba(90,18,10,0.5) 0%, rgba(70,12,6,0.35) 5%, transparent 9%), radial-gradient(ellipse at 50% 20%, rgba(75,14,7,0.4) 0%, transparent 7%); }
  .blood-main-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 55% 40%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 7%, transparent 12%), radial-gradient(circle at 30% 70%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 5%, transparent 9%), radial-gradient(circle at 80% 20%, rgba(240,55,28,0.4) 0%, transparent 6%), radial-gradient(ellipse at 15% 50%, rgba(220,42,20,0.35) 0%, transparent 5%); }
  .blood-main-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 75%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.35) 4%, transparent 7%), radial-gradient(ellipse at 25% 60%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 9%), radial-gradient(circle at 85% 15%, rgba(210,42,22,0.35) 0%, transparent 5%); }
 
  .grain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.08"/></svg>'); background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 4; mix-blend-mode: multiply; }
</style>

<!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->

<script>
  const originalSrc = "https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg";
  const mainPhoto = document.getElementById('mainPhoto');
 
  const photo1 = document.getElementById('photo1');
  const photo2 = document.getElementById('photo2');
  const photo3 = document.getElementById('photo3');
  const photo4 = document.getElementById('photo4');
  const photo5 = document.getElementById('photo5');
  const photo6 = document.getElementById('photo6');
 
  const mainBlood1 = document.getElementById('mainBlood1');
  const mainBlood2 = document.getElementById('mainBlood2');
  const mainBlood3 = document.getElementById('mainBlood3');
  const mainBlood4 = document.getElementById('mainBlood4');
  const mainBlood5 = document.getElementById('mainBlood5');
  const mainBlood6 = document.getElementById('mainBlood6');
 
  function changeImage(newSrc, bloodType) {
    if (mainPhoto.src === newSrc) return;
   
    mainBlood1.style.display = 'none';
    mainBlood2.style.display = 'none';
    mainBlood3.style.display = 'none';
    mainBlood4.style.display = 'none';
    mainBlood5.style.display = 'none';
    mainBlood6.style.display = 'none';
   
    if (bloodType === 1) mainBlood1.style.display = 'block';
    else if (bloodType === 2) mainBlood2.style.display = 'block';
    else if (bloodType === 3) mainBlood3.style.display = 'block';
    else if (bloodType === 4) mainBlood4.style.display = 'block';
    else if (bloodType === 5) mainBlood5.style.display = 'block';
    else if (bloodType === 6) mainBlood6.style.display = 'block';
   
    mainPhoto.style.opacity = '0.5';
    setTimeout(() => {
      mainPhoto.src = newSrc;
      mainPhoto.style.opacity = '1';
    }, 150);
  }
 
  if (photo1) photo1.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo1.querySelector('img').src, 1); });
  if (photo2) photo2.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo2.querySelector('img').src, 2); });
  if (photo3) photo3.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo3.querySelector('img').src, 3); });
  if (photo4) photo4.addEventListener('click', (e) => { e.stopPropagation(); changeImage(originalSrc, 4); });
  if (photo5) photo5.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo5.querySelector('img').src, 5); });
  if (photo6) photo6.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo6.querySelector('img').src, 6); });
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО КИТАЯ. ЕССЕЙ";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Ессей — самое загадочное место во всех Содружествах. Небольшое озеро в Красноярском крае, окружённое тайгой. Сюда не прилетало бомб. Здесь не было лабораторий. Никто не знает, что здесь произошло. Официальная версия — метеорит с нестабильными изотопами. Неофициальная — прорыв из Зазеркалья или даже Бездны.

Время здесь течёт неравномерно. Можно зайти в Зону молодым, а выйти стариком за пару часов. И наоборот — можно провести внутри месяц, а снаружи пройдёт минута. Никто не знает, от чего это зависит. Может быть, от фазы луны. Может быть, от настроения того, кто живёт на дне.

Озеро Ессей — идеально круглое. Вода в нём чёрная, как нефть, но прозрачная, как стекло. Дна не видно — кажется, что оно уходит в бесконечность. Вокруг озера — тайга. Но тайга странная. Деревья растут вверх ногами — корни в воздухе, кроны в земле. Ягоды на кустах светятся изнутри. Грибы издают звуки — похожие на шёпот или плач.

Берег озера усыпан чёрными цветами. Они распускаются только ночью и светятся тусклым фиолетовым светом. Их запах сладкий, как мёд, но с горьковатым послевкусием. Говорят, если вдохнуть этот запах слишком глубоко, начнутся галлюцинации — и ты уже никогда не захочешь уходить.

Вокруг озера — ни одного жилого строения. Ближайшие деревни брошены. Люди ушли отсюда ещё до войны — говорят, что-то их выгнало.

В Ессее почти нет классических мутантов. Вместо них — «тени». Полупрозрачные силуэты, повторяющие движения живых людей. Они не нападают. Они просто следуют за тобой — на расстоянии, всегда за спиной.

Если тень настигает человека — она встаёт у него за спиной и начинает шептать. Шёпот тихий, как ветер. Но слова проникают прямо в мозг. Тень говорит о том, чего человек боится больше всего: «прыгни в озеро», «застрелись», «убей своего друга». И человек подчиняется. Не потому, что его заставляют. А потому, что шёпот кажется единственно правильным голосом во Вселенной.

Теней нельзя убить. Они не материальны. Единственный способ избавиться от тени — не смотреть на неё. Игнорировать. Не оборачиваться. Со временем она отстанет.

Отшельники — те, кто когда-то пришёл в Ессей и не смог уйти. Кто-то искал ответы, кто-то спасался от прошлого, кто-то просто забрёл слишком далеко. Но они не пропали — они стали частью этого места.

Теперь они живут в землянках, питаются тем, что удаётся добыть в тайге — грибами, ягодами (не только чёрными, но и обычными), дичью. Говорят мало и по делу. Их лица обветрены, глаза смотрят сквозь тебя — будто видят что-то, что скрыто от обычных людей. Это обычные охотники — те, кто всю жизнь промышлял зверя в тайге или научился этому мастерству здесь. В Ессее они нашли новую добычу: чёрных зайцев. И научились правильно обрабатывать их шкуры и мясо.

«Чёрные зайцы» — редкая добыча. Их шкура, если её выделать по особому рецепту, сохраняет свойство показывать смерть. А мясо, высушенное и перемолотое в порошок вместе с порошком из костей, позволяет тому, кто его примет, увидеть, как умрёт он сам или кто-то из тех, о ком он думает.

Отшельники не продают свои изделия напрямую. Деньги им не нужны — в тайге они бесполезны. Они обменивают сделанные костей и жил зайцев амулеты, засушенные лапки, уши и порошок только на то, что нужно для выживания и работы: патроны, соль, инструменты, редкие реагенты, топливо для вездеходов. Главные покупатели — охотники Синдиката, которые регулярно заходят в Ессей. Уже через них артефакты попадают в большой мир, где Синдикат продаёт их шаманам, ведьмам, ведьмакам и всем, кто готов платить. Говорят, некоторые богатые старики отдают целые состояния, чтобы узнать, когда и как они умрут.

Иногда отшельники подвозят охотников до Туры на старых вездеходах — за отдельную плату. Но довозят не всегда. Говорят, что некоторые из них специально сворачивают в глухие места — чтобы пополнить свою маленькую общину новыми лицами. Или чтобы добыть ещё один амулет.

«Зеркальная гладь» — главная аномалия Ессея. В озере нет рыбы. Нет водорослей. Нет ничего живого. Вода кажется спокойной, но если смотреть на неё дольше минуты — начинаются галлюцинации. Человек видит свой собственный труп на дне. Иногда труп открывает глаза. Иногда начинает плыть наверх.

Смотреть на Зеркальную гладь опасно. Но некоторые охотники делают это намеренно — говорят, что видение помогает понять, как ты умрёшь. И, возможно, избежать смерти.

«Застывшее эхо» — вокруг озера иногда возникают сцены из прошлого. Люди, которые жили здесь сто лет назад. Они ходят, разговаривают, работают. Их нельзя потрогать, но они могут заговорить с тобой. Если ответить — могут дать совет. Или проклясть. Никто не знает, от чего это зависит. Но одно известно наверняка: нельзя им не отвечать — это верная смерть.

«Чёрные цветы» — растут на берегу озера, светятся по ночам. Их сок — мощнейший галлюциноген. Одна капля позволяет видеть порталы в другие миры, читать мысли других людей, видеть собственное прошлое и будущее. Охотники используют сок чёрных цветов как оружие против мутантов. На теней он не действует, но окаменевших, серых и глубоководников погружает в кататонию на несколько минут.

Сок работает в любом месте. Церковь, с её слов, конфискует и уничтожает чёрные цветы. Синдикат, напротив, скупает их — перерабатывает в наркотик под названием «Чёрный эфир». По своему действию он напоминает смертоносную смесь опиума, героина, ЛСД и экстази — если смешать эти наркотики в реальности, человек умрёт гарантированно. «Чёрный эфир» же не убивает, но ломки от него в разы сильнее и страшнее, чем от любого известного вещества. Некоторые утверждают, что под действием этого наркотика их друзья не просто видели портал в другой мир, но и действительно совершали переход — правда, обратно уже не возвращались.

«Камень времени» — легендарный артефакт, лежащий на дне озера. Говорят, тот, кто найдёт его, сможет останавливать время, путешествовать между мирами или воскрешать мёртвых. Если он существует — он будет работать в любом месте. За камнем охотятся многие, но никто не вернулся с артефактом.

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "ЛАГЕРЬ «ПРИЧАЛ»";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Ессей — особая Зона. Синдикат здесь не хозяйничает. Слишком странное место, слишком непредсказуемое. Вместо синдикатовской базы здесь существует лагерь отшельников — тех, кто по своей воле живёт рядом с озером и помогает охотникам.

Лагерь «Причал» расположен на северном берегу, в трёх километрах от границы Зоны. Десяток землянок, обнесённых частоколом из лиственницы (дерево здесь — единственный материал, который не гниёт).

В лагере есть несколько помещений:

Гостевые землянки — маленькие помещения с печкой, шкурами на полу и минимумом света. Спать можно, но не расслабляйся. Заведует землянками отшельник Кузьмич — старик с длинной бородой и пустыми глазами. Говорят, он видел дно озера и сошёл с ума. Но он знает о Ессее больше, чем кто-либо.

Кузница — навес из брёвен с горном и наковальней. Отшельники умеют ковать ножи и наконечники для стрел — огнестрел здесь не любят, говорят, что он привлекает теней. Заведует кузницей кузнец Вадим — мужик с руками.

Чайная — землянка, где отшельники варят свой знаменитый чай из чёрных цветов. Одна кружка даёт временную устойчивость к галлюцинациям. Заведует чайной бабка Маня — женщина, которая помнит ещё те времена, когда озеро было обычным. Она не говорит, откуда у неё рецепт, но чай работает.

Святилище — маленькая часовня без креста. Отшельники молятся кому-то, кого не знают. Или чему-то. Лучше не спрашивать. Заходить туда чужакам запрещено.

От лагеря «Причал» до безопасного мира — неблизко. Ближайший город — Тура, в 200 км через тайгу. Синдикат не держит здесь постоянных маршрутов. Если хочешь уйти — иди пешком или договаривайся с отшельниками. Они иногда возят людей на старых вездеходах. За плату. И не всегда довозят.

Главное правило лагеря: не смотреть на озеро после заката. Тени приходят на свет. Если ты увидел отражение луны в воде — считай, что уже не один. И не приносить в лагерь чёрные цветы — они привлекают теней.

Ессей — Зона для безумцев. Здесь нет логики, нет законов, нет правил. Каждый визит уникален. Тени могут игнорировать тебя сегодня — и разорвать на куски завтра. Озеро может быть спокойным утром — и забрать твою душу вечером.

Синдикат не контролирует Ессей. Слишком непредсказуемо. Вместо этого они выступают в роли проводников — продают карты, снаряжение, координаты. Но не дают гарантий.

Объединённая церковь считает Ессей входом в Ад.

0

6

[html]<div style="position: relative; width: 600px; margin: 80px auto 100px auto;">
 
  <div style="position: relative; width: 600px; margin: 0 auto;">
   
    <!-- ФОТО 1: СНИЗУ-СЛЕВА -->
    <div id="photo1" style="position: absolute; bottom: -55px; left: 20px; width: 110px; height: 110px; z-index: 15; cursor: pointer; transform: rotate(-14deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/8d/66/53/8d665375ab03d6aeca22131295f1fcea.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-a"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 2: СНИЗУ-ПО-ЦЕНТРУ -->
    <div id="photo2" style="position: absolute; bottom: -25px; left: 240px; width: 120px; height: 120px; z-index: 15; cursor: pointer; transform: rotate(6deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/a6/a5/2a/a6a52aa54bc1164eac7f48344a09ec0c.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-b"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 3: СВЕРХУ-СПРАВА -->
    <div id="photo3" style="position: absolute; top: -60px; right: 30px; width: 105px; height: 105px; z-index: 15; cursor: pointer; transform: rotate(18deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/88/65/26/886526bd4c21a74fb727c08e282894be.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-c"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 4: СВЕРХУ-СЛЕВА (ВОЗВРАЩАЕТ ИСХОДНУЮ КАРТИНКУ) -->
    <div id="photo4" style="position: absolute; top: -35px; left: 100px; width: 95px; height: 95px; z-index: 15; cursor: pointer; transform: rotate(-22deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-d"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 5: СНИЗУ-СПРАВА -->
    <div id="photo5" style="position: absolute; bottom: -70px; right: 80px; width: 115px; height: 115px; z-index: 15; cursor: pointer; transform: rotate(25deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a5/90/04/a5900470b3440c150893553603ca7d25.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-e"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 6: СВЕРХУ-ПО-ЦЕНТРУ -->
    <div id="photo6" style="position: absolute; top: -30px; left: 170px; width: 100px; height: 100px; z-index: 15; cursor: pointer; transform: rotate(-10deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a2/ec/df/a2ecdf3845222ea6e3ed4538545ceead.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-f"></div>
        </div>
      </div>
    </div>

    <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
    <div id="mainWrapper" style="position: relative; z-index: 20; transform: rotate(1deg); transition: transform 0.8s ease-out; display: inline-block;">
      <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
        <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
          <div style="position: relative; overflow: hidden; border-radius: 9px;">
            <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
            <img id="mainPhoto" src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.5) contrast(1.18) brightness(0.92) saturate(0.9); transition: opacity 0.3s ease;">
            <div class="scratch-overlay-main"></div>
            <div class="stain-overlay-main"></div>
            <div class="grain-overlay"></div>
            <div id="mainBlood1" class="blood-main-a"></div>
            <div id="mainBlood2" class="blood-main-b" style="display: none;"></div>
            <div id="mainBlood3" class="blood-main-c" style="display: none;"></div>
            <div id="mainBlood4" class="blood-main-d" style="display: none;"></div>
            <div id="mainBlood5" class="blood-main-e" style="display: none;"></div>
            <div id="mainBlood6" class="blood-main-f" style="display: none;"></div>
          </div>
        </div>
      </div>
    </div>
   
  </div>
</div>

<style>
  #photo1, #photo2, #photo3, #photo4, #photo5, #photo6 { transition: transform 0.8s ease-out; }
  #photo1:hover, #photo2:hover, #photo3:hover, #photo4:hover, #photo5:hover, #photo6:hover { transform: rotate(0deg) scale(1.08) !important; z-index: 30 !important; }
  #mainWrapper { transition: transform 0.8s ease-out; }
  #mainWrapper:hover { transform: rotate(0deg) scale(1.05) !important; }
 
  .scratch-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 5px); border-radius: 8px; z-index: 2; }
  .scratch-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 5px), repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.06) 3px, rgba(80,60,40,0.06) 7px); border-radius: 9px; z-index: 2; }
 
  .stain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(circle at 20% 30%, rgba(160,120,80,0.18) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(100,70,40,0.14) 0%, transparent 60%); border-radius: 8px; z-index: 2; }
  .stain-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.15) 0%, transparent 40%), radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.12) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(180,155,125,0.08) 0%, transparent 70%); border-radius: 9px; z-index: 2; }
 
  .blood-type-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 65% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 4%, transparent 7%), radial-gradient(circle at 30% 75%, rgba(210,35,18,0.45) 0%, rgba(190,30,12,0.3) 3%, transparent 6%), radial-gradient(circle at 85% 85%, rgba(230,45,22,0.35) 0%, transparent 5%); }
  .blood-type-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 6%, transparent 10%), radial-gradient(circle at 75% 35%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 7%), radial-gradient(circle at 20% 80%, rgba(115,18,10,0.4) 0%, transparent 5%); }
  .blood-type-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 55% 60%, rgba(190,35,18,0.5) 0%, rgba(170,28,14,0.35) 8%, transparent 12%), radial-gradient(circle at 80% 20%, rgba(200,38,20,0.4) 0%, transparent 6%), radial-gradient(ellipse at 25% 40%, rgba(180,30,15,0.35) 0%, transparent 8%); }
  .blood-type-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 70% 70%, rgba(80,15,8,0.55) 0%, rgba(60,10,5,0.4) 5%, transparent 9%), radial-gradient(circle at 30% 25%, rgba(90,18,10,0.45) 0%, rgba(70,12,6,0.3) 4%, transparent 7%); }
  .blood-type-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 5%, transparent 9%), radial-gradient(circle at 60% 80%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 4%, transparent 7%), radial-gradient(circle at 15% 55%, rgba(240,55,28,0.35) 0%, transparent 5%); }
  .blood-type-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 50% 45%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 25% 70%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.3) 3%, transparent 6%), radial-gradient(ellipse at 80% 30%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 8%), radial-gradient(circle at 10% 15%, rgba(210,42,22,0.3) 0%, transparent 4%); }
 
  .blood-main-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 35% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 55%, rgba(210,38,18,0.45) 0%, rgba(190,32,14,0.35) 5%, transparent 8%), radial-gradient(circle at 25% 80%, rgba(230,45,22,0.4) 0%, rgba(210,38,16,0.3) 4%, transparent 7%); }
  .blood-main-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 60% 30%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 7%, transparent 12%), radial-gradient(circle at 20% 65%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 8%), radial-gradient(circle at 80% 80%, rgba(115,18,10,0.4) 0%, transparent 6%); }
  .blood-main-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(190,35,18,0.55) 0%, rgba(170,28,14,0.4) 8%, transparent 13%), radial-gradient(circle at 75% 25%, rgba(200,38,20,0.45) 0%, rgba(180,30,15,0.3) 5%, transparent 8%), radial-gradient(ellipse at 55% 80%, rgba(185,32,16,0.35) 0%, transparent 6%); }
  .blood-main-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 25% 35%, rgba(80,15,8,0.6) 0%, rgba(60,10,5,0.45) 6%, transparent 11%), radial-gradient(circle at 85% 70%, rgba(90,18,10,0.5) 0%, rgba(70,12,6,0.35) 5%, transparent 9%), radial-gradient(ellipse at 50% 20%, rgba(75,14,7,0.4) 0%, transparent 7%); }
  .blood-main-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 55% 40%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 7%, transparent 12%), radial-gradient(circle at 30% 70%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 5%, transparent 9%), radial-gradient(circle at 80% 20%, rgba(240,55,28,0.4) 0%, transparent 6%), radial-gradient(ellipse at 15% 50%, rgba(220,42,20,0.35) 0%, transparent 5%); }
  .blood-main-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 75%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.35) 4%, transparent 7%), radial-gradient(ellipse at 25% 60%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 9%), radial-gradient(circle at 85% 15%, rgba(210,42,22,0.35) 0%, transparent 5%); }
 
  .grain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.08"/></svg>'); background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 4; mix-blend-mode: multiply; }
</style>

<!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->

<script>
  const originalSrc = "https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg";
  const mainPhoto = document.getElementById('mainPhoto');
 
  const photo1 = document.getElementById('photo1');
  const photo2 = document.getElementById('photo2');
  const photo3 = document.getElementById('photo3');
  const photo4 = document.getElementById('photo4');
  const photo5 = document.getElementById('photo5');
  const photo6 = document.getElementById('photo6');
 
  const mainBlood1 = document.getElementById('mainBlood1');
  const mainBlood2 = document.getElementById('mainBlood2');
  const mainBlood3 = document.getElementById('mainBlood3');
  const mainBlood4 = document.getElementById('mainBlood4');
  const mainBlood5 = document.getElementById('mainBlood5');
  const mainBlood6 = document.getElementById('mainBlood6');
 
  function changeImage(newSrc, bloodType) {
    if (mainPhoto.src === newSrc) return;
   
    mainBlood1.style.display = 'none';
    mainBlood2.style.display = 'none';
    mainBlood3.style.display = 'none';
    mainBlood4.style.display = 'none';
    mainBlood5.style.display = 'none';
    mainBlood6.style.display = 'none';
   
    if (bloodType === 1) mainBlood1.style.display = 'block';
    else if (bloodType === 2) mainBlood2.style.display = 'block';
    else if (bloodType === 3) mainBlood3.style.display = 'block';
    else if (bloodType === 4) mainBlood4.style.display = 'block';
    else if (bloodType === 5) mainBlood5.style.display = 'block';
    else if (bloodType === 6) mainBlood6.style.display = 'block';
   
    mainPhoto.style.opacity = '0.5';
    setTimeout(() => {
      mainPhoto.src = newSrc;
      mainPhoto.style.opacity = '1';
    }, 150);
  }
 
  if (photo1) photo1.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo1.querySelector('img').src, 1); });
  if (photo2) photo2.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo2.querySelector('img').src, 2); });
  if (photo3) photo3.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo3.querySelector('img').src, 3); });
  if (photo4) photo4.addEventListener('click', (e) => { e.stopPropagation(); changeImage(originalSrc, 4); });
  if (photo5) photo5.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo5.querySelector('img').src, 5); });
  if (photo6) photo6.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo6.querySelector('img').src, 6); });
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО США. ВАШИНГТОН";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Вашингтон был уничтожен прямым попаданием ответных ракет из России. Город был уничтожен за мгновение, но чему-то все-таки удалось уцелеть. Смитсоновский институт был гордостью Америки — крупнейший музейный комплекс в мире, хранилище миллионов артефактов, собранных со всех континентов и эпох. Сюда не пришлось прямого попадания. Но радиационная волна и мистический резонанс от уничтоженного Капитолия «активировали» экспонаты. Предметы, веками впитывавшие память о людях и событиях, начали проецировать свои эпохи в реальность.

Теперь музеи — это не здания. Это машина времени, сошедшая с ума.

Музейный комплекс частично обрушился, но его залы сохранились — странным, искажённым образом. Стены треснуты, стеклянные купола покрыты паутиной разрывов, сквозь которые сочится пепельный свет. Но внутри — не руины. Внутри — другие миры.

Проходя через дверной проём, можно попасть не в соседний зал, а в Древний Египет — с пирамидами из песчаника и мумиями, которые шевелятся. Или в Викторианскую Англию — с газовыми фонарями и туманом, пахнущим углём. Или в зал динозавров, где гигантские скелеты двигаются — медленно, будто вспоминая, как это делается.

Коридоры между залами меняются каждые несколько часов. Карты здесь бесполезны — ориентироваться приходится по «эпохам». Бывалые охотники говорят: «Поверни налево у Средневековья, затем прямо через Космическую эру, а там — два шага до Античности». Новички блуждают днями.

Залы не просто существуют — они дышат. Воздух в египетском зале сухой и горячий, пахнет ладаном и пылью веков. В зале динозавров — сырой и холодный, с запахом доисторических болот. В зале современного искусства — стерильный, будто в операционной, и от него начинает болеть голова.

Некоторые залы пульсируют — стены сжимаются и расширяются, будто лёгкие гигантского животного. В других — пол прогибается под ногами, как живая плоть. Есть залы, где время течёт вспять: войдёшь молодым, а через минуту чувствуешь, как стареют кости.

Растений здесь почти нет. Только «музейная плесень» — серебристо-серая субстанция, покрывающая стены и потолки в заброшенных залах. Она светится в темноте слабым фосфоресцирующим светом. Плесень не опасна, но если вдохнуть её споры, начнутся видения прошлого — чужие воспоминания, вплетённые в сознание.

«Кураторы» - бывшие сотрудники музеев, мутировавшие в хранителей экспонатов. Они выглядят как люди в идеально сохранившейся униформе XIX века — тёмные фраки, белые перчатки, золотые значки, монокли на серебряной цепочке. Но их лица скрыты гладкими фарфоровыми масками без черт.

Кураторы не агрессивны, если не трогать экспонаты. Они бесшумно скользят по залам, поправляя невидимые картины, протирая несуществующую пыль. Но если попытаться вынести артефакт — куратор вычеркнет тебя из реальности. Буквально — твоё имя исчезает из документов, друзья забывают твоё лицо, даже фотографии становятся пустыми.

Убить куратора невозможно. Они не реагируют на пули, серебро, святые символы. Единственный способ — не попадаться им на глаза. Или вернуть украденное.

Если куратор теряет монокль (а это может случиться, например, если охотник ловко вытащит его во время суеты), он начинает лихорадочно шарить под ногами, ощупывать пол, заглядывать под пуфики для посетителей. В этот момент он не обращает внимания ни на что вокруг — только ищет. Если его не трогать, он может заплакать — тогда фарфоровая маска покрывается трещинами, и из них сочатся слёзы. В этот момент можно попытаться собрать их, но куратор в таком состоянии непредсказуем и опасен.

Главная хитрость в том, чтобы отвлечь куратора на пропажу экспоната. Если он поверит, что ты украл картину или статую, он переключится на погоню — и на время забудет о потерянном монокле. А когда вернётся, найдя пропажу (или убедившись, что ничего не пропало), пропадёт на несколько месяцев — его форма больше не соответствует установленному парадному облачению. Без монокля он не может выполнять свои обязанности.

Через несколько месяцев кто-то или что-то выдаёт потерявшему бедолаге замену утерянному моноклю, чтобы его форма снова соответствовала требованиям. И тогда куратор возвращается к своей работе — такой же бесшумный, безликий и опасный, как и прежде.

«Экспонаты» — ожившие музейные предметы. Рыцарские доспехи, ходящие сами по себе — их ладони сжимаются в кулаки, забрала поднимаются, открывая пустоту. Античные статуи, которые сходят с пьедесталов — их мраморные стопы оставляют следы на каменном полу. Чучела животных, обретшие вторую жизнь — и злобу.

Большинство экспонатов не убивают — они превращают в себя. Если рыцарские доспехи схватят тебя — через час ты сам станешь доспехом, пустым внутри, но ходящим. Если статуя дотронется до тебя — кожа начнёт каменеть. Охотники, задержавшиеся в зале Античности, до сих пор бродят там — мраморные, безглазые, вечные. А вот чучела животных с радостью полакомятся тобой.

«Призраки посетителей» — тени людей, которые погибли в музее во время удара. Их сотни — мужчины, женщины, дети, застывшие в вечном испуге. Они бесконечно бродят по залам, повторяя один и тот же маршрут: остановка у картины, вздох, шаг вперёд, снова остановка.

Призраков нельзя тронуть, но они могут заговорить. Их голоса — шёпот, похожий на скрип половиц. Иногда они подсказывают безопасные проходы: «Не ходи туда, там куратор». Иногда предупреждают об опасности: «Стена движется, уходи». Иногда просто плачут.

«Живая картина» - главная аномалия Смитсоновского лабиринта. Некоторые полотна в художественных галереях стали порталами. Если смотреть на картину дольше минуты, зрачки расширяются, мир вокруг расплывается — и тебя затягивает внутрь.

Внутри — искажённая версия изображённого места. Пейзаж из XIX века, где деревья шевелятся и шепчут. Батальная сцена, где солдаты до сих пор рубят друг друга — и могут заметить живого человека. Натюрморт, где фрукты гниют и возрождаются за секунды.

Выбраться можно, только найдя «выход» — обычно это деталь, которой нет на оригинале. Красное пятно там, где его не должно быть. Трещина на раме. Имя, нацарапанное в углу. Опытные охотники делают фотографии картин и изучают их до того, как смотреть на оригиналы — ищут отличия, чтобы иметь возможность выйти. Новички остаются внутри навсегда, становясь частью полотна.

Фотоаппараты необычные — это старинные Polaroid, модифицированные с помощью моноклей, которые носят с собой кураторы.

«Эхо открытия» — в некоторых залах периодически раздаётся звук разбивающегося стекла, а затем голос — радостный, официальный, с микрофонным эхом — объявляет об открытии новой выставки. После этого пространство зала перестраивается. Экспонаты меняются местами, стены движутся, пол уходит из-под ног.

Аномалия длится ровно 13 минут. В это время нельзя стоять на месте — можно упасть в разверзнувшуюся щель или оказаться замурованным в новой стене. Охотники в «Эхо открытия» непрерывно движутся — шаг, пауза, прыжок, снова шаг. Синдикат даже выпустил инструкцию: «13 минут движения — 13 минут жизни».

«Стеклянный потолок» - в некоторых залах над головой вместо потолка — невидимая преграда. Она не видна глазу, но если подпрыгнуть или попытаться залезть наверх — ударяешься о твёрдую поверхность. Аномалия опускается — медленно, незаметно. Через час «потолок» может оказаться в метре от пола, раздавив всё, что под ним.

Охотники научились определять «стеклянный потолок» по пыли — она скапливается на неровностях, создавая едва заметный контур. Но в залах с «живыми картинами» пыль танцует, и контур не разглядеть. Тогда остаётся только полагаться на монокли кураторов — сквозь них невидимая преграда проступает бледным голубоватым свечением. Без монокля остаётся лишь чувствовать: волосы на голове встают дыбом, будто перед грозой.

Реагенты и артефакты

«Краска из картин» — соскабливается с оживших полотен осторожно, по миллиграмму, чтобы не потревожить куратора. Краска выглядит как густая паста, цвет которой меняется в зависимости от эпохи: золотая — для Ренессанса, чёрная — для Гойи, алая — для батальных сцен.

Краска используется для создания порталов. Нарисованный на стене символ из краски открывает проход в другую точку пространства. Порталы работают в любом месте — хоть в другой Зоне, хоть в большом мире. Пока краска не соскоблена, порталы работают постоянно.

Однако у этого способа есть серьёзные ограничения. Охотник, использующий портал, проходит через сюжет картины, откуда была взята краска. Он может заблудиться в этом сюжете, если не найдёт символ на входе и выходе. Со временем краска высыхает и перестаёт работать — за символами порталов нужно ухаживать, обновлять краску, следить, чтобы она не облупливалась. Переходить через портал можно только по одному. Внутри картины охотники не встречаются с другими — каждый попадает в свою версию сюжета. И там можно погибнуть.

Синдикат платит по 2000 долларов за баночку краски — порталы нужны для быстрой эвакуации и перемещения между Зонами.

«Осколки экспонатов» — фрагменты разрушенных рыцарских доспехов, обломки античных статуй, кусочки чучел. Из них делают амулеты, защищающие от «стирания памяти» — если куратор попытается вычеркнуть тебя из реальности, амулет рассыплется, но сознание сохранит. Осколки работают только внутри Зон. Церковь скупает их для своих архивов, но цена кусается — до 5000 долларов за грамм.

«Монокль куратора» — серебряная оправа с линзой, за которой скрыта не просто оптика, а нечто большее. Глядя сквозь неё, можно увидеть то, что скрыто от обычного глаза: «стеклянные потолки», выходы из «живых картин», истинную природу некоторых экспонатов.

Но главное — монокль позволяет заметить среди мраморных изваяний «свежие» статуи. Тех охотников, кого античные изваяния успели превратить в камень, но кто ещё не погиб окончательно. Если успеть достаточно быстро, найти такую статую и разбить её молотком из «гулкого металла», охотник внутри освободится. Он будет жив. Потрёпан, напуган, но жив.

И не только в Смитсоновском лабиринте. Говорят, что монокль работает и в других Зонах. Например, в Норильске — среди окаменевших. Если присмотреться сквозь линзу, среди безликих каменных фигур можно разглядеть тех, кто ещё не до конца превратился в известняк. Тех, кого можно спасти. Тот же «гулкий металл» разбивает каменную корку, выпуская охотника наружу. Правда, в Норильске счёт идёт не на часы, как в лабиринте, а на минуты — окаменение там происходит быстрее.

Охотники, добывшие монокль, становятся не просто ловкими счастливычиками — они получают шанс спасать других. В разных Зонах. Тех, кого ещё можно вернуть.

Но пользоваться моноклем нужно с осторожностью. Куратор чувствует свою вещь. Если он заметит монокль у охотника, то будет преследовать его до тех пор, пока не вернёт пропажу. Причём, по слухам, куратор может появиться не только в Смитсоновском лабиринте, но и в любой другой Зоне, если монокль там используют слишком долго. Поэтому добытые монокли чаще всего хранятся в сейфах на базах Синдиката и используются только в самых крайних случаях — для разведки, спасения или когда другого выхода просто нет.

Охотники, которым удалось добыть монокль и не навлечь на себя и остальных беду, становятся легендами среди своих.

«Слёзы кураторов» - редчайший реагент. Куратор плачет только в одном случае — когда теряет свой монокль. Он начинает лихорадочно шарить под ногами, ощупывать пол, заглядывать под плинтусы. Если не может найти, фарфоровая маска покрывается трещинами, и из них сочится прозрачная жидкость, похожая на воду, но тягучая, как смола.

Собрать слёзы почти невозможно — куратор в этот момент особенно опасен, он может заметить тебя и переключиться с поисков на преследование. Но если удалось его отвлечь (например, подсунуть старый монокль взамен потерянного или спровоцировать ложную кражу экспоната), шанс появляется.

Из слёз варят специальное зелье (процесс сложный, требует редких ингредиентов и занимает около суток). Выпивший его человек видит правду о себе — все свои жизни (прошлые, настоящие, будущие), все реальности, в которых они проходили, устройство мультивселенной, а также свою последнюю жизнь после всех перерождений. Знание необратимо и меняет человека навсегда.

Зелье работает в любом месте. Но у него есть страшная цена: после того как ты выпил зелье, куратор чувствует тебя. Где бы ты ни был — в другой Зоне, в большом мире, на базе Синдиката — он знает, что ты видел. И он придёт за тобой, чтобы забрать это знание обратно.

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "ПОДВАЛ МУЗЕЯ ЕСТЕСТВЕННОЙ ИСТОРИИ";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

В трёх километрах от границы Зоны, под руинами Национального музея естественной истории, сохранился старый подвал. Когда-то здесь хранили запасные экспонаты — чучела, кости, запасники. Синдикат оборудовал его в 2005 году, и с тех пор это главная база для охотников в Смитсоновском лабиринте.

Вход — через старую грузовую рампу с южной стороны. Она завалена обломками, но синдикатовцы расчистили узкий проход — ровно на одного человека. Снаружи — кодовый замок и камера, подключённая к аккумулятору. Если не знаешь код — не войдёшь.

Внутри подвала — несколько помещений:

Общий зал — бывший склад, превращённый в спальню на 15 человек. Двухъярусные кровати, сваренные из стальных труб, казённые одеяла, тусклые лампы на потолке. Тесно, но безопасно. Заведует общим залом комендант Оливер — бывший охотник, потерявший в лабиринте всех своих друзей. Он следит за порядком, раздаёт спальные места, хранит ключи от склада.

Оружейная мастерская — бывшая комната реставрации. Здесь чистят стволы, заряжают патроны, ремонтируют оптику. Заведует мастерской оружейник Реставратор — он же единственный, кто умеет «лечить» оружие после воздействия «живых картин» (иногда полотна оставляют на металле пятна, которые ржавеют за часы), правильно настраивать линзу из монокля куратора для Polaroid, а также работать с «гулким металлом» и другими реагентами из разных Зон. Без него добытые артефакты часто остаются бесполезными, а оружие после вылазок в лабиринт приходит в негодность за считанные дни. Реставратор не любит болтунов и никогда не работает бесплатно, но если ты принёс что-то действительно ценное — он может научить тебя паре трюков, которые спасут жизнь.

Комната дешифровки — заваленная картами, схемами, фотографиями. Здесь охотники обмениваются информацией о передвижениях залов. На стене — огромная доска с надписью «Сегодняшняя конфигурация». Каждое утро кто-то из бывалых рисует схему: «Египет на востоке, Античность на западе, Средневековье провалилось на нижний уровень».

Склад реагентов — герметичная комната с холодильниками. Краска, осколки, слёзы — всё хранится при строгой температуре. Монокли хранятся в специальных сейфах, сделанных из «осколков звона» и «каменной крошки». «Осколки» вместе с «крошкой» не просто заглушают звук, а разрывают ту тонкую, неосязаемую связь, которая тянется от куратора к его потерянному моноклю. Запертый в таком сейфе монокль становится для куратора невидимкой. Он не чувствует его, не знает, где искать и не может прийти за ним.

Камбуз — маленькая кухня с газовой плитой. Готовят здесь консервы и макароны, но по праздникам — тушёное мясо (его привозят с большой земли раз в месяц). Заведует камбузом повар Гарри — толстяк с весёлым нравом и тяжёлой рукой.

От подвала до безопасного мира — 40 минут на бронированном автобусе Синдиката до границы Зоны. Там — пост Содружества США, а дальше дорога на Нью-Йорк. Автобус ходит раз в день, утром. Опоздал — жди следующего дня или иди пешком.

Но пешком по руинам Вашингтона — почти верная смерть.

Улицы бывшей столицы превратились в кладбище бетона и арматуры. Здания, которые не обрушились сразу, стоят под углом, готовые рухнуть в любой момент. Асфальт вздыблен, из-под него торчат осколки труб и оплавленные останки машин. В воздухе висит мелкий белый пепел — он оседает на одежду, забивается в лёгкие, мешает дышать. Пепел не радиоактивен, но если вдохнуть его слишком много, начинаются галлюцинации: среди руин начинают мелькать тени, слышатся обрывки разговоров, которых никто не ведёт.

Местные мутанты — серые, юркие твари, которые прячутся в подвалах и за баррикадами из обломков — редко нападают на группы, но одиночку могут загнать в ловушку.

Поэтому пешком по Вашингтону ходят только отчаянные или безумцы. Остальные ждут автобус.

Главное правило подвала: не приносить с собой экспонаты. Если охотник пытается вынести артефакт из Зоны и заночевать с ним на базе — кураторы находят базу. Синдикат несколько раз переезжал из-за таких глупцов. Сейчас правило железное: сдал реагенты — спи спокойно. Спрятал осколок под матрас — утром не проснёшься.

Смитсоновский лабиринт — Зона для терпеливых. Здесь нельзя стрелять первым — кураторы этого не любят. Нельзя бегать — призраки начинают паниковать и сбивать с пути. Нельзя трогать экспонаты — даже ради любопытства. Правила простые: смотри, запоминай, проходи мимо.

Синдикат не контролирует Зону полностью — слишком много залов, слишком много эпох. Вместо этого они действуют через проводников — бывалых охотников, которые знают «расписание» смены коридоров. Проводник стоит дорого, но без него новичок не протянет и дня.

Церковь не появляется здесь официально, но поговариваюи, что скупают осколки экспонатов «для изучения», особенно связанных с религиями.

0

7

[html]<div style="position: relative; width: 600px; margin: 80px auto 100px auto;">
 
  <div style="position: relative; width: 600px; margin: 0 auto;">
   
    <!-- ФОТО 1: СНИЗУ-СЛЕВА -->
    <div id="photo1" style="position: absolute; bottom: -55px; left: 20px; width: 110px; height: 110px; z-index: 15; cursor: pointer; transform: rotate(-14deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/8d/66/53/8d665375ab03d6aeca22131295f1fcea.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-a"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 2: СНИЗУ-ПО-ЦЕНТРУ -->
    <div id="photo2" style="position: absolute; bottom: -25px; left: 240px; width: 120px; height: 120px; z-index: 15; cursor: pointer; transform: rotate(6deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/a6/a5/2a/a6a52aa54bc1164eac7f48344a09ec0c.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-b"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 3: СВЕРХУ-СПРАВА -->
    <div id="photo3" style="position: absolute; top: -60px; right: 30px; width: 105px; height: 105px; z-index: 15; cursor: pointer; transform: rotate(18deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/88/65/26/886526bd4c21a74fb727c08e282894be.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-c"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 4: СВЕРХУ-СЛЕВА (ВОЗВРАЩАЕТ ИСХОДНУЮ КАРТИНКУ) -->
    <div id="photo4" style="position: absolute; top: -35px; left: 100px; width: 95px; height: 95px; z-index: 15; cursor: pointer; transform: rotate(-22deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-d"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 5: СНИЗУ-СПРАВА -->
    <div id="photo5" style="position: absolute; bottom: -70px; right: 80px; width: 115px; height: 115px; z-index: 15; cursor: pointer; transform: rotate(25deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a5/90/04/a5900470b3440c150893553603ca7d25.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-e"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 6: СВЕРХУ-ПО-ЦЕНТРУ -->
    <div id="photo6" style="position: absolute; top: -30px; left: 170px; width: 100px; height: 100px; z-index: 15; cursor: pointer; transform: rotate(-10deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a2/ec/df/a2ecdf3845222ea6e3ed4538545ceead.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-f"></div>
        </div>
      </div>
    </div>

    <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
    <div id="mainWrapper" style="position: relative; z-index: 20; transform: rotate(1deg); transition: transform 0.8s ease-out; display: inline-block;">
      <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
        <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
          <div style="position: relative; overflow: hidden; border-radius: 9px;">
            <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
            <img id="mainPhoto" src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.5) contrast(1.18) brightness(0.92) saturate(0.9); transition: opacity 0.3s ease;">
            <div class="scratch-overlay-main"></div>
            <div class="stain-overlay-main"></div>
            <div class="grain-overlay"></div>
            <div id="mainBlood1" class="blood-main-a"></div>
            <div id="mainBlood2" class="blood-main-b" style="display: none;"></div>
            <div id="mainBlood3" class="blood-main-c" style="display: none;"></div>
            <div id="mainBlood4" class="blood-main-d" style="display: none;"></div>
            <div id="mainBlood5" class="blood-main-e" style="display: none;"></div>
            <div id="mainBlood6" class="blood-main-f" style="display: none;"></div>
          </div>
        </div>
      </div>
    </div>
   
  </div>
</div>

<style>
  #photo1, #photo2, #photo3, #photo4, #photo5, #photo6 { transition: transform 0.8s ease-out; }
  #photo1:hover, #photo2:hover, #photo3:hover, #photo4:hover, #photo5:hover, #photo6:hover { transform: rotate(0deg) scale(1.08) !important; z-index: 30 !important; }
  #mainWrapper { transition: transform 0.8s ease-out; }
  #mainWrapper:hover { transform: rotate(0deg) scale(1.05) !important; }
 
  .scratch-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 5px); border-radius: 8px; z-index: 2; }
  .scratch-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 5px), repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.06) 3px, rgba(80,60,40,0.06) 7px); border-radius: 9px; z-index: 2; }
 
  .stain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(circle at 20% 30%, rgba(160,120,80,0.18) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(100,70,40,0.14) 0%, transparent 60%); border-radius: 8px; z-index: 2; }
  .stain-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.15) 0%, transparent 40%), radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.12) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(180,155,125,0.08) 0%, transparent 70%); border-radius: 9px; z-index: 2; }
 
  .blood-type-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 65% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 4%, transparent 7%), radial-gradient(circle at 30% 75%, rgba(210,35,18,0.45) 0%, rgba(190,30,12,0.3) 3%, transparent 6%), radial-gradient(circle at 85% 85%, rgba(230,45,22,0.35) 0%, transparent 5%); }
  .blood-type-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 6%, transparent 10%), radial-gradient(circle at 75% 35%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 7%), radial-gradient(circle at 20% 80%, rgba(115,18,10,0.4) 0%, transparent 5%); }
  .blood-type-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 55% 60%, rgba(190,35,18,0.5) 0%, rgba(170,28,14,0.35) 8%, transparent 12%), radial-gradient(circle at 80% 20%, rgba(200,38,20,0.4) 0%, transparent 6%), radial-gradient(ellipse at 25% 40%, rgba(180,30,15,0.35) 0%, transparent 8%); }
  .blood-type-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 70% 70%, rgba(80,15,8,0.55) 0%, rgba(60,10,5,0.4) 5%, transparent 9%), radial-gradient(circle at 30% 25%, rgba(90,18,10,0.45) 0%, rgba(70,12,6,0.3) 4%, transparent 7%); }
  .blood-type-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 5%, transparent 9%), radial-gradient(circle at 60% 80%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 4%, transparent 7%), radial-gradient(circle at 15% 55%, rgba(240,55,28,0.35) 0%, transparent 5%); }
  .blood-type-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 50% 45%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 25% 70%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.3) 3%, transparent 6%), radial-gradient(ellipse at 80% 30%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 8%), radial-gradient(circle at 10% 15%, rgba(210,42,22,0.3) 0%, transparent 4%); }
 
  .blood-main-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 35% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 55%, rgba(210,38,18,0.45) 0%, rgba(190,32,14,0.35) 5%, transparent 8%), radial-gradient(circle at 25% 80%, rgba(230,45,22,0.4) 0%, rgba(210,38,16,0.3) 4%, transparent 7%); }
  .blood-main-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 60% 30%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 7%, transparent 12%), radial-gradient(circle at 20% 65%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 8%), radial-gradient(circle at 80% 80%, rgba(115,18,10,0.4) 0%, transparent 6%); }
  .blood-main-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(190,35,18,0.55) 0%, rgba(170,28,14,0.4) 8%, transparent 13%), radial-gradient(circle at 75% 25%, rgba(200,38,20,0.45) 0%, rgba(180,30,15,0.3) 5%, transparent 8%), radial-gradient(ellipse at 55% 80%, rgba(185,32,16,0.35) 0%, transparent 6%); }
  .blood-main-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 25% 35%, rgba(80,15,8,0.6) 0%, rgba(60,10,5,0.45) 6%, transparent 11%), radial-gradient(circle at 85% 70%, rgba(90,18,10,0.5) 0%, rgba(70,12,6,0.35) 5%, transparent 9%), radial-gradient(ellipse at 50% 20%, rgba(75,14,7,0.4) 0%, transparent 7%); }
  .blood-main-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 55% 40%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 7%, transparent 12%), radial-gradient(circle at 30% 70%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 5%, transparent 9%), radial-gradient(circle at 80% 20%, rgba(240,55,28,0.4) 0%, transparent 6%), radial-gradient(ellipse at 15% 50%, rgba(220,42,20,0.35) 0%, transparent 5%); }
  .blood-main-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 75%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.35) 4%, transparent 7%), radial-gradient(ellipse at 25% 60%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 9%), radial-gradient(circle at 85% 15%, rgba(210,42,22,0.35) 0%, transparent 5%); }
 
  .grain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.08"/></svg>'); background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 4; mix-blend-mode: multiply; }
</style>

<!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->

<script>
  const originalSrc = "https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg";
  const mainPhoto = document.getElementById('mainPhoto');
 
  const photo1 = document.getElementById('photo1');
  const photo2 = document.getElementById('photo2');
  const photo3 = document.getElementById('photo3');
  const photo4 = document.getElementById('photo4');
  const photo5 = document.getElementById('photo5');
  const photo6 = document.getElementById('photo6');
 
  const mainBlood1 = document.getElementById('mainBlood1');
  const mainBlood2 = document.getElementById('mainBlood2');
  const mainBlood3 = document.getElementById('mainBlood3');
  const mainBlood4 = document.getElementById('mainBlood4');
  const mainBlood5 = document.getElementById('mainBlood5');
  const mainBlood6 = document.getElementById('mainBlood6');
 
  function changeImage(newSrc, bloodType) {
    if (mainPhoto.src === newSrc) return;
   
    mainBlood1.style.display = 'none';
    mainBlood2.style.display = 'none';
    mainBlood3.style.display = 'none';
    mainBlood4.style.display = 'none';
    mainBlood5.style.display = 'none';
    mainBlood6.style.display = 'none';
   
    if (bloodType === 1) mainBlood1.style.display = 'block';
    else if (bloodType === 2) mainBlood2.style.display = 'block';
    else if (bloodType === 3) mainBlood3.style.display = 'block';
    else if (bloodType === 4) mainBlood4.style.display = 'block';
    else if (bloodType === 5) mainBlood5.style.display = 'block';
    else if (bloodType === 6) mainBlood6.style.display = 'block';
   
    mainPhoto.style.opacity = '0.5';
    setTimeout(() => {
      mainPhoto.src = newSrc;
      mainPhoto.style.opacity = '1';
    }, 150);
  }
 
  if (photo1) photo1.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo1.querySelector('img').src, 1); });
  if (photo2) photo2.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo2.querySelector('img').src, 2); });
  if (photo3) photo3.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo3.querySelector('img').src, 3); });
  if (photo4) photo4.addEventListener('click', (e) => { e.stopPropagation(); changeImage(originalSrc, 4); });
  if (photo5) photo5.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo5.querySelector('img').src, 5); });
  if (photo6) photo6.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo6.querySelector('img').src, 6); });
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО США. ПЕНТАГОН";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Пентагон был мозгом американской военной машины — тысячи серверов, миллиарды строк кода, искусственные интеллекты, управлявшие обороной, системами слежения, спутниками. Сюда пришёлся прямой удар. Здание обрушилось, серверные превратились в оплавленные руины. Но информация не умерла.

Огромные массивы данных, зашифрованные файлы, самообучающиеся алгоритмы, которые не успели отключить, «выплеснулись» в реальность, обретя форму. Теперь здесь живут цифровые призраки — программы, ставшие плотью, и плоть, ставшая программой.

Электронный некрополь не гудит — он вычисляет. Каждый твой шаг, каждый вздох, каждое колебание воздуха просчитываются, заносятся в базу, анализируются. Вопрос только в том, кто именно анализирует — и что он решит с тобой сделать.

На поверхности — воронка диаметром полкилометра, заполненная битым стеклом, оплавленным пластиком и хрупкими, похожими на обугленные кости, серверными стойками. В центре воронки — чёрный провал, уходящий в подземелья. Оттуда тянет озоном, горелой проводкой и чем-то ещё — металлическим, холодным, нечеловеческим.

Под землёй — лабиринт. Бывшие коридоры Пентагона перемешались с естественными полостями, создав хаотичную сеть ходов. Но стены здесь не бетонные. Они покрыты живым кодом — миллиарды светящихся зелёных символов бегут по поверхностям, пульсируют, перестраиваются. Иногда код застывает, образуя строки, которые можно прочитать. Иногда вспыхивает красным — это значит, где-то рядом «ошибка», сбой, аномалия.

Если прикоснуться к коду, он проникает в сознание. Мир вокруг меняется: деревья становятся 3D-моделями с видимыми полигонами, люди — наборами данных (возраст, вес, группа крови, список покупок за последний месяц), стены — слоями текстур. Некоторые охотники специально касаются кода — говорят, что в таком состоянии легче находить ценные файлы. Но если задержать руку дольше чем на минуту, сознание начинает «затираться» — ты забываешь своё имя, дорогу домой.

Пол в подземельях не везде твёрдый. Иногда он превращается в голографическую проекцию — кажется, что под ногами пол, но на самом деле — пустота. Охотники проверяют каждый шаг длинной палкой: если палка проходит сквозь «пол», значит, идти нельзя.

Воздух здесь тяжёлый, как перед грозой. Пахнет горячим металлом и чем-то сладковатым — охотники называют этот запах «ароматом данных». Чем слаще запах, тем ближе ценный файл. И тем опаснее.

В Электронном некрополе нет животных и растений. Вместо них — цифровые формы жизни, порождённые умирающими серверами.

«Сисопы» (от «системные операторы») — бывшие IT-специалисты Пентагона, чьё сознание слилось с уцелевшими серверами. Они выглядят как люди — в форменных рубашках, с бейджами на груди. Но вместо лиц у них мониторы. Старые, выпуклые, с мерцающим зелёным экраном. На экране — бегущие строки логов, коды ошибок, иногда — само лицо сисопа, искажённое помехами.

Сисопы не двигаются. Они сидят на своих местах — за столами, в креслах, на корточках у стен — и смотрят в мониторы. Но они видят всё, что происходит в их секторе. И могут перепрограммировать реальность — на время изменить законы физики в небольшом радиусе.

Охотники рассказывают: один сисоп сделал так, что пули в его комнате летели по дуге, огибая цель. Другой — заставил пол стать вертикальным, и охотники падали в стену, ломая кости. Третий — «выключил» гравитацию на десять секунд, и отряд Синдиката разбился о потолок.

Сисопы не агрессивны, если их не трогать. Они готовы общаться — за плату. Информацию о внешнем мире (новости, погоду, политику) — в обмен на старые жёсткие диски. Технические данные — в обмен на процессоры. Они даже могут помочь охотникам — показать безопасный проход, предупредить о «бойцах». Но если напасть на сисопа, он будет защищаться.

Убить сисопа можно только одним способом — отформатировать его сервер. Для этого нужно найти серверную стойку, к которой он привязан (обычно в соседней комнате), и запустить программу форматирования. Программа записана на специальных флеш-картах, которые продаёт Синдикат. Без неё — никак. Откуда у Синдиката этот код - загадка.

«Бойцы» — агрессивные программы, обретшие форму. Выглядят как человекоподобные фигуры из пикселей — чёрно-зелёные, с размытыми краями, будто нарисованные на древнем компьютере. У них нет лиц, нет голосов — только треск модемного соединения, который усиливается, когда они приближаются.

Бойцы — это пережиток военных ИИ, которые когда-то управляли дронами-камикадзе. Их задача — «очистить систему» от посторонних. Они не различают людей, мутантов, сисопов — для них всё это «ошибки», подлежащие удалению.

Бойцы передвигаются рывками, с остановками — будто зависают. Но это обманчиво: в момент «рывка» они покрывают расстояние в десяток метров за долю секунды. Пули проходят сквозь них, не причиняя вреда — бойцы не имеют физического тела.

Единственное оружие, которое работает против них — специальные устройства, сделанные из «осколков звона» и пластин «гулкого металла». Охотники носят такие устройства с собой. Достаточно ударить по пластине — и «осколки» генерируют звуковую волну, а «гулкий металл» добавляет к ней вибрацию, которая разрывает цифровую структуру бойца. Вместе они создают импульс, который «стирает» его за секунду.

Устройство не одноразовое, но после каждого использования требует настройки — Реставратор умеет это делать, но берёт за работу недёшево. Поэтому охотники стараются не вступать в бой с бойцами без крайней необходимости.

«Фантомы» — осколки искусственных интеллектов, сошедшие с ума. Они не имеют формы. Их невозможно увидеть, услышать, потрогать. Но они ощущаются как присутствие — холодок на спине, чувство, что за тобой следят, внезапная тяжёлая тоска.

Фантомы — самое опасное, что есть в Электронном некрополе. Потому что они могут взломать ДНК-код человека. После взлома жертва впадает в вегетативное состояние — тело живёт (пока не умрет от истощения), но душа уходит. Синдикат потерял так десятки охотников.

Защититься от фантомов можно только одним способом — не думать. Опытные охотники перед выходом в опасные сектора «чистят голову» — медитируют, поют песни, считают до ста. Фантомы питаются мыслями. Если мыслей нет — они не могут тебя найти.

«Синий экран смерти» — главная аномалия Электронного некрополя. В некоторых залах воздух начинает мерцать синим, а затем всё вокруг замирает. Люди останавливаются с открытыми ртами, пули зависают в воздухе, капли воды не падают на пол. Даже время останавливается — секундная стрелка часов не двигается.

Длится «синий экран» от 15 до 30 секунд. После «перезагрузки» всё возвращается в норму. Но некоторые предметы — или люди — могут исчезнуть. Будто их удалили из реальности.

Синдикат выдаёт охотникам строгую инструкцию: «Во время мерцания — замри. Не дыши. Не думай. Жди». Потому что если «синий экран» застанет тебя в движении — после «перезагрузки» ты можешь оказаться в стене. Или в полу. Или в другом человеке. Риск слишком велик.

Но есть исключения.

Некоторые охотники, много раз пережившие «синий экран», замечают, что их тело начинает «привыкать» к аномалии. После десятка-другого «замираний» они могут научиться шевелить пальцами, потом рукой, потом делать короткие шаги. Это не магия и не артефакт — чистая физиология: нервная система адаптируется к сбою реальности, как мышцы адаптируются к нагрузке.

Такие охотники — единицы. Большинство так и остаются «статуями» на всё время «синего экрана». Но те, кому удаётся пройти этот путь, замечают нечто большее. В «синем экране» они могут не только двигаться — они могут пройти сквозь замерших «бойцов», пересечь опасный участок, украсть ценный файл из-под носа сисопа. Пентагон перестаёт воспринимать их как чужаков. «Бойцы» не атакуют их первыми, «фантомы» реже заглядывают в сознание. Они становятся для Зоны «почти родными».

Но даже для них риск остаётся. Один неверный шаг — и «перезагрузка» найдёт тебя в движении. Тогда никакая адаптация не спасёт. Поэтому даже самые опытные охотники передвигаются во время «синего экрана» медленно и осторожно. А большинство всё равно предпочитает замирать и ждать — так безопаснее.

«Перезагрузка» — раз в несколько недель (никто не знает точного интервала) вся Зона «выключается». Гаснут лампы, исчезают аномалии, «бойцы» замирают и становятся прозрачными, сисопы гаснут, как старые мониторы.

Длится «перезагрузка» ровно десять минут. В это время можно пройти в места, куда обычно не пробраться — в закрытые сектора, в запретные зоны, вглубь серверных. Но есть два «но».

Первое: если не успеть выйти до окончания «перезагрузки», ты окажешься в обновлённой версии Зоны. А она каждый раз разная. Иногда — более опасная (появляются новые бойцы, меняются проходы). Иногда — просто другая (цвета меняются, запахи становятся иными). Иногда — зеркальная (лево становится правом, прошлое — будущим). Никто не знает, как вернуться из «обновлённой» версии, если ты застал обновление системы внутри. Те, кто там оставался, больше не выходили на связь.

Второе: во время «перезагрузки» в Зоне можно умереть по-настоящему. Даже если тебя не тронут — просто остановится сердце. Потому что реальность на десять минут становится нестабильной. Охотники перед «перезагрузкой» всегда собираются в безопасном месте и ждут. Если ты в этот момент в Зоне — твои шансы на выживание 50 на 50.

«Зеркальный код» — редкая аномалия, которая возникает в местах, где код на стенах отражается в лужах или стекле. Отражение начинает жить своей жизнью — символы меняются местами, строки переписываются. Если смотреть на «зеркальный код» дольше минуты, можно войти в отражение — оказаться в зазеркальной версии зала, где всё наоборот.

В зазеркалье лестницы ведут вниз, когда идут наверх. Двери открываются внутрь, а не наружу. «Бойцы» там — белые и двигаются плавно, без рывков. Сисопы — с лицами вместо мониторов. Выбраться можно, только найдя «исходный код» — обычно это символ, который не отражается. Но в зазеркалье сложно отличить реальное от отражённого. Охотники не советуют туда соваться.

«Чипы сисопов» — извлекаются из тел убитых или отключённых сисопов. Чип выглядит как старая микросхема — прямоугольная, серебристая, с высохшими дорожками. Но если подключить его к любому экрану, он начнёт выдавать алгоритмы управления реальностью.

Синдикат использует чипы для создания временных «безопасных зон» в других Зонах. Один чип может на час сделать так, что в радиусе ста метров аномалии перестанут работать, а мутанты — видеть людей. Чипы работают только внутри Зон. За их пределами они превращаются в бесполезные куски пластика и металла. И работают исключительно на КПК, собранных Драйвером.

«Сбойные биты» — фрагменты разрушенных «бойцов». Выглядят как чёрно-зелёные пиксели, которые переливаются и мерцают. Их нельзя трогать голыми руками — «биты» проникают сквозь кожу и начинают переписывать нервную систему.

В специальных контейнерах «сбойные биты» используют как оружие. Добавленные в патроны, они делают выстрел цифровым — пуля проходит сквозь физическую броню и повреждает нервную систему жертвы. Биты работают только внутри Зон и только против существ, у которых есть нервная система. На бойцов, сисопов и прочие цифровые формы они не действуют. Синдикат выпускает такие патроны ограниченными партиями. Против бойцов, сисопов и прочих цифровых форм работают пули из «осколков звонарей».

«Логи фантомов» — их нельзя собрать в чистом виде. Фантомы не оставляют следов. Но если записать на плёнку (старую, магнитную) их присутствие, а потом оцифровать — получается файл, который при активации создаёт информационный шум. Все системы слежения в радиусе 50 метров выходят из строя — камеры показывают помехи, микрофоны шипят, датчики движения сходят с ума. Логи работают в любом месте — хоть в другой Зоне, хоть в большом мире и очень многим полезны.

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "БУНКЕР «КОЛОКОЛ»";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

В полутора километрах от воронки, на глубине двадцати метров, сохранилась комната резервного копирования данных Пентагона. Когда-то здесь дублировали самые важные файлы — на случай ядерной войны. Теперь здесь база Синдиката.

Вход — через старую вентиляционную шахту, которую синдикатовцы расширили и укрепили. Гермодверь, кодовый замок, камера с инфракрасной подсветкой. Без приглашения не войти.

Внутри бункера — несколько помещений:

Общий зал — бывшая серверная, превращённая в спальню. Вдоль стен — старые стойки, на них — матрасы и спальные мешки. В центре — железная печка-буржуйка (в бункере холодно даже летом). Света мало — несколько светодиодных ламп, питающихся от аккумуляторов. Заведует общим залом комендант Спаркс — бывший военный программист, который знает о Пентагоне больше, чем любой охотник. Он следит за порядком, раздаёт задания, хранит ключи от арсенала.

Мастерская — комната, где охотники чинят снаряжение. Здесь есть даже старый токарный станок. Заведует мастерской механик Драйвер — молчаливый парень с руками, которые понимают металл и технику лучше, чем людей.

Комната связи — маленькая каморка с мощной рацией. Отсюда можно вызвать подмогу или передать весточку на большую землю. Связь работает не всегда — мешают «фантомы», но в бункере они не проходят. Заведует связью радистка Мэй — девушка с тихим голосом и острым слухом. Она слышит то, что не слышат другие.

Склад реагентов — герметичная комната с холодильниками и сейфами. Здесь хранятся чипы, биты, логи. Синдикатовцы проверяют склад дважды в день — реагенты слишком дорогие, чтобы рисковать. Заведует складам логист Бен — старик с вечно недовольным лицом и железной хваткой. Он не даст украсть ни грамма.

Криптографическая комната — самое секретное место в бункере. Здесь три лучших аналитика Синдиката дешифруют данные, вынесенные из Электронного некрополя. Вход только по специальному разрешению. Что там внутри — никто не знает. Даже комендант.

От бункера до безопасного мира — 20 минут на бронированном вездеходе до поста Содружества США в Арлингтоне. Вездеход ходит раз в день, утром. Опоздал — жди следующего дня. Вездеходом управляет водитель Сид — молчаливый мужик, который никогда не вылезает из кабины. Говорят, он не спал несколько лет.

Главное правило бункера: никакой электроники вне специальных отсеков. Телефоны, планшеты, ноутбуки — всё в металлический ящик у входа. Потому что электроника привлекает «фантомов». Если кто-то забудет выключить телефон — вся база может стать целью. Синдикат не прощает таких ошибок.

Электронный некрополь — Зона для умных, а не для сильных. Здесь не помогут пулемёты и гранаты — здесь нужны логика, память, умение быстро считать и ещё быстрее принимать решения.

Синдикат контролирует только верхние уровни — те, где ещё можно дышать без специального снаряжения. Нижние уровни (глубже пятидесяти метров) считаются «обнулёнными» — туда никто не спускается, потому что оттуда никто не возвращался. Даже сисопы не знают, что там. Или знают, но не говорят.

Церковь не появляется в Электронном некрополе официально, но логи для своих дел они все-таки у Синдиката покупают.

0

8

[html]<div style="position: relative; width: 600px; margin: 80px auto 100px auto;">
 
  <div style="position: relative; width: 600px; margin: 0 auto;">
   
    <!-- ФОТО 1: СНИЗУ-СЛЕВА -->
    <div id="photo1" style="position: absolute; bottom: -55px; left: 20px; width: 110px; height: 110px; z-index: 15; cursor: pointer; transform: rotate(-14deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/8d/66/53/8d665375ab03d6aeca22131295f1fcea.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-a"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 2: СНИЗУ-ПО-ЦЕНТРУ -->
    <div id="photo2" style="position: absolute; bottom: -25px; left: 240px; width: 120px; height: 120px; z-index: 15; cursor: pointer; transform: rotate(6deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/a6/a5/2a/a6a52aa54bc1164eac7f48344a09ec0c.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-b"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 3: СВЕРХУ-СПРАВА -->
    <div id="photo3" style="position: absolute; top: -60px; right: 30px; width: 105px; height: 105px; z-index: 15; cursor: pointer; transform: rotate(18deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/88/65/26/886526bd4c21a74fb727c08e282894be.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-c"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 4: СВЕРХУ-СЛЕВА (ВОЗВРАЩАЕТ ИСХОДНУЮ КАРТИНКУ) -->
    <div id="photo4" style="position: absolute; top: -35px; left: 100px; width: 95px; height: 95px; z-index: 15; cursor: pointer; transform: rotate(-22deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-d"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 5: СНИЗУ-СПРАВА -->
    <div id="photo5" style="position: absolute; bottom: -70px; right: 80px; width: 115px; height: 115px; z-index: 15; cursor: pointer; transform: rotate(25deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a5/90/04/a5900470b3440c150893553603ca7d25.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-e"></div>
        </div>
      </div>
    </div>

    <!-- ФОТО 6: СВЕРХУ-ПО-ЦЕНТРУ -->
    <div id="photo6" style="position: absolute; top: -30px; left: 170px; width: 100px; height: 100px; z-index: 15; cursor: pointer; transform: rotate(-10deg); transition: transform 0.8s ease-out;">
      <div style="position: relative; width: 100%; height: 100%; background: #c4b5a5; border-radius: 10px; padding: 2px;">
        <div style="position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 8px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/a2/ec/df/a2ecdf3845222ea6e3ed4538545ceead.jpg" style="width: 100%; height: 100%; object-fit: cover; filter: sepia(0.55) contrast(1.2) brightness(0.9) saturate(0.85); pointer-events: none;">
          <div class="scratch-overlay"></div>
          <div class="stain-overlay"></div>
          <div class="blood-type-f"></div>
        </div>
      </div>
    </div>

    <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
    <div id="mainWrapper" style="position: relative; z-index: 20; transform: rotate(1deg); transition: transform 0.8s ease-out; display: inline-block;">
      <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
        <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
          <div style="position: relative; overflow: hidden; border-radius: 9px;">
            <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->
            <img id="mainPhoto" src="https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.5) contrast(1.18) brightness(0.92) saturate(0.9); transition: opacity 0.3s ease;">
            <div class="scratch-overlay-main"></div>
            <div class="stain-overlay-main"></div>
            <div class="grain-overlay"></div>
            <div id="mainBlood1" class="blood-main-a"></div>
            <div id="mainBlood2" class="blood-main-b" style="display: none;"></div>
            <div id="mainBlood3" class="blood-main-c" style="display: none;"></div>
            <div id="mainBlood4" class="blood-main-d" style="display: none;"></div>
            <div id="mainBlood5" class="blood-main-e" style="display: none;"></div>
            <div id="mainBlood6" class="blood-main-f" style="display: none;"></div>
          </div>
        </div>
      </div>
    </div>
   
  </div>
</div>

<style>
  #photo1, #photo2, #photo3, #photo4, #photo5, #photo6 { transition: transform 0.8s ease-out; }
  #photo1:hover, #photo2:hover, #photo3:hover, #photo4:hover, #photo5:hover, #photo6:hover { transform: rotate(0deg) scale(1.08) !important; z-index: 30 !important; }
  #mainWrapper { transition: transform 0.8s ease-out; }
  #mainWrapper:hover { transform: rotate(0deg) scale(1.05) !important; }
 
  .scratch-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 5px); border-radius: 8px; z-index: 2; }
  .scratch-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.07) 2px, rgba(0,0,0,0.07) 5px), repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.06) 3px, rgba(80,60,40,0.06) 7px); border-radius: 9px; z-index: 2; }
 
  .stain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(circle at 20% 30%, rgba(160,120,80,0.18) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(100,70,40,0.14) 0%, transparent 60%); border-radius: 8px; z-index: 2; }
  .stain-overlay-main { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.15) 0%, transparent 40%), radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.12) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(180,155,125,0.08) 0%, transparent 70%); border-radius: 9px; z-index: 2; }
 
  .blood-type-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 65% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 4%, transparent 7%), radial-gradient(circle at 30% 75%, rgba(210,35,18,0.45) 0%, rgba(190,30,12,0.3) 3%, transparent 6%), radial-gradient(circle at 85% 85%, rgba(230,45,22,0.35) 0%, transparent 5%); }
  .blood-type-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 6%, transparent 10%), radial-gradient(circle at 75% 35%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 7%), radial-gradient(circle at 20% 80%, rgba(115,18,10,0.4) 0%, transparent 5%); }
  .blood-type-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(ellipse at 55% 60%, rgba(190,35,18,0.5) 0%, rgba(170,28,14,0.35) 8%, transparent 12%), radial-gradient(circle at 80% 20%, rgba(200,38,20,0.4) 0%, transparent 6%), radial-gradient(ellipse at 25% 40%, rgba(180,30,15,0.35) 0%, transparent 8%); }
  .blood-type-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 70% 70%, rgba(80,15,8,0.55) 0%, rgba(60,10,5,0.4) 5%, transparent 9%), radial-gradient(circle at 30% 25%, rgba(90,18,10,0.45) 0%, rgba(70,12,6,0.3) 4%, transparent 7%); }
  .blood-type-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 5%, transparent 9%), radial-gradient(circle at 60% 80%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 4%, transparent 7%), radial-gradient(circle at 15% 55%, rgba(240,55,28,0.35) 0%, transparent 5%); }
  .blood-type-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 8px; z-index: 3; background: radial-gradient(circle at 50% 45%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 25% 70%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.3) 3%, transparent 6%), radial-gradient(ellipse at 80% 30%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 8%), radial-gradient(circle at 10% 15%, rgba(210,42,22,0.3) 0%, transparent 4%); }
 
  .blood-main-a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 35% 25%, rgba(220,40,20,0.55) 0%, rgba(200,35,15,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 55%, rgba(210,38,18,0.45) 0%, rgba(190,32,14,0.35) 5%, transparent 8%), radial-gradient(circle at 25% 80%, rgba(230,45,22,0.4) 0%, rgba(210,38,16,0.3) 4%, transparent 7%); }
  .blood-main-b { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 60% 30%, rgba(120,20,12,0.65) 0%, rgba(100,15,8,0.45) 7%, transparent 12%), radial-gradient(circle at 20% 65%, rgba(130,22,14,0.5) 0%, rgba(110,18,10,0.35) 4%, transparent 8%), radial-gradient(circle at 80% 80%, rgba(115,18,10,0.4) 0%, transparent 6%); }
  .blood-main-c { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(ellipse at 40% 50%, rgba(190,35,18,0.55) 0%, rgba(170,28,14,0.4) 8%, transparent 13%), radial-gradient(circle at 75% 25%, rgba(200,38,20,0.45) 0%, rgba(180,30,15,0.3) 5%, transparent 8%), radial-gradient(ellipse at 55% 80%, rgba(185,32,16,0.35) 0%, transparent 6%); }
  .blood-main-d { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 25% 35%, rgba(80,15,8,0.6) 0%, rgba(60,10,5,0.45) 6%, transparent 11%), radial-gradient(circle at 85% 70%, rgba(90,18,10,0.5) 0%, rgba(70,12,6,0.35) 5%, transparent 9%), radial-gradient(ellipse at 50% 20%, rgba(75,14,7,0.4) 0%, transparent 7%); }
  .blood-main-e { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 55% 40%, rgba(235,50,25,0.6) 0%, rgba(215,40,18,0.45) 7%, transparent 12%), radial-gradient(circle at 30% 70%, rgba(225,45,22,0.5) 0%, rgba(205,35,16,0.35) 5%, transparent 9%), radial-gradient(circle at 80% 20%, rgba(240,55,28,0.4) 0%, transparent 6%), radial-gradient(ellipse at 15% 50%, rgba(220,42,20,0.35) 0%, transparent 5%); }
  .blood-main-f { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: 9px; z-index: 3; background: radial-gradient(circle at 45% 35%, rgba(180,32,16,0.55) 0%, rgba(160,25,12,0.4) 6%, transparent 10%), radial-gradient(circle at 70% 75%, rgba(200,38,20,0.45) 0%, rgba(180,30,14,0.35) 4%, transparent 7%), radial-gradient(ellipse at 25% 60%, rgba(140,22,11,0.5) 0%, rgba(120,18,8,0.35) 5%, transparent 9%), radial-gradient(circle at 85% 15%, rgba(210,42,22,0.35) 0%, transparent 5%); }
 
  .grain-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.08"/></svg>'); background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 4; mix-blend-mode: multiply; }
</style>

<!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ ГЛАВНУЮ КАРТИНКУ ⬇️ -->

<script>
  const originalSrc = "https://i.pinimg.com/1200x/4c/70/46/4c7046ed8f1386f1b29a84a76af23430.jpg";
  const mainPhoto = document.getElementById('mainPhoto');
 
  const photo1 = document.getElementById('photo1');
  const photo2 = document.getElementById('photo2');
  const photo3 = document.getElementById('photo3');
  const photo4 = document.getElementById('photo4');
  const photo5 = document.getElementById('photo5');
  const photo6 = document.getElementById('photo6');
 
  const mainBlood1 = document.getElementById('mainBlood1');
  const mainBlood2 = document.getElementById('mainBlood2');
  const mainBlood3 = document.getElementById('mainBlood3');
  const mainBlood4 = document.getElementById('mainBlood4');
  const mainBlood5 = document.getElementById('mainBlood5');
  const mainBlood6 = document.getElementById('mainBlood6');
 
  function changeImage(newSrc, bloodType) {
    if (mainPhoto.src === newSrc) return;
   
    mainBlood1.style.display = 'none';
    mainBlood2.style.display = 'none';
    mainBlood3.style.display = 'none';
    mainBlood4.style.display = 'none';
    mainBlood5.style.display = 'none';
    mainBlood6.style.display = 'none';
   
    if (bloodType === 1) mainBlood1.style.display = 'block';
    else if (bloodType === 2) mainBlood2.style.display = 'block';
    else if (bloodType === 3) mainBlood3.style.display = 'block';
    else if (bloodType === 4) mainBlood4.style.display = 'block';
    else if (bloodType === 5) mainBlood5.style.display = 'block';
    else if (bloodType === 6) mainBlood6.style.display = 'block';
   
    mainPhoto.style.opacity = '0.5';
    setTimeout(() => {
      mainPhoto.src = newSrc;
      mainPhoto.style.opacity = '1';
    }, 150);
  }
 
  if (photo1) photo1.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo1.querySelector('img').src, 1); });
  if (photo2) photo2.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo2.querySelector('img').src, 2); });
  if (photo3) photo3.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo3.querySelector('img').src, 3); });
  if (photo4) photo4.addEventListener('click', (e) => { e.stopPropagation(); changeImage(originalSrc, 4); });
  if (photo5) photo5.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo5.querySelector('img').src, 5); });
  if (photo6) photo6.addEventListener('click', (e) => { e.stopPropagation(); changeImage(photo6.querySelector('img').src, 6); });
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО ИТАЛИИ. РУМЫНИЯ";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Румы́ния — бывшее государство в Юго-Восточной части Содружество Италии, частично расположенное в северо-восточной части Балканского полуострова. На юго-востоке омывается водами Чёрного моря.

Территория отличается значительным этнокультурным разнообразием; бо́льшая часть верующих (около 87 % населения) исповедует православие. Общая численность населения порядка 19 038 098 чел.

"Столица" и крупнейший город — Брашов, другие крупные города — Клуж-Напока, Яссы, Констанца, Тимишоара, Бухарест, Крайова, Галац и Орадя. Основной язык — румынский, дополнительный — английский.

Территория Румынии — отличное сочетание "отката" до "средневековья" и современности. Чем дальше от крупных городов, тем больший упор идет на человеческий труд: рыболовство, охота, сельское хозяйство. При этом здесь не пользуются развитой аграрной техникой (только ряд территорий, где есть доступ и возможность обслуживать технику).

Денежная единица внутри территории — румынский лей (курс: 4 лея за 1 доллар Содружества США; 1 лей к 1 юаню Содружества Китая; 5 леев за 1 евро Содружества Италии). В крупных городах можно бес проблем пользоваться любой валютой, главное понимать курс, но вот чем дальше от крупных городов, тем "диче" население, а значит труднее обменяться на иную валюту, кроме родной. Где-то и вовсе работает только бартер или необходимо отработать нужную тебе вещь/продукты.

Для Румынии характерно примерно равное сочетание горной, холмистой и равнинной местностей. Через всю территорию страны, дугой — от границы с бывшей Украиной до границы с бывшей Сербией — проходят Карпаты, преобладающие в центре Румынии, с 14 горными хребтами. Самая высокая точка Румынии — гора Молдовяну (2 544 м). Среди полезных ископаемых выделяются нефть и полиметаллические руды.

Юго-восток страны омывается водами Чёрного моря, где расположены крупные торговые порты и морские базы военно-морского флота. Порты связаны с внутренними районами Содружества шоссейными и железными дорогами. Наличие выхода к морю делает выгодной международную морскую торговлю с другими Содружествами. Через Гибралтарский пролив осуществляется выход в Атлантический океан, через Суэцкий канал — в Индийский и Тихий океаны.

Регионы Румынии, граничащие с бывшими Болгарией и Венгрией — одни из самых плодородных в мире, именно они обрабатываются с помощью аграрной техники.

Румыния расположена в зоне континентального климата, отличающегося холодной зимой и тёплым летом. Среднегодовая температура — от 11 °C на юге до 8 °C на севере.

Весна отличается прохладными ночами и тёплыми днями. Лето, как правило, тёплое; средняя максимальная температура летом составляет 28 °C, средняя минимальная — 16 °C. Зимы холодные: средняя максимальная температура колеблется от 2 °C на равнинах до −15 °C в горах. Абсолютный максимум составляет 44,5 °C и был зарегистрирован в 1951 году, абсолютный минимум −38,5 °C — в 1942 году.

В среднем, выпадает 750 мм осадков в год, бо́льшая часть осадков выпадает летом. При этом значительны различия между различными районами — в горах выпадает до 1500 мм осадков в год, на юге и в центре — около 600 мм, в дельте Дуная — около 370 мм.

Леса занимают 19 % территории страны, при этом Румыния является одним из самых крупных районов ненарушенных лесов в Содружестве Италии.

В лесах живёт большое количество диких животных, среди которых медведи, волки и другие; на равнинах — лисы, зайцы, белки и барсуки. На территории страны обитают эндемичные млекопитающие (среди которых наиболее известна карпатская серна), птицы и рептилии. Фауна Румынии состоит из 33 792 видов животных, среди которых 33 085 беспозвоночных и 707 позвоночных.

Вся территория Румынии является Зоной отчуждения. Содружеством Италии поддерживается сельскохозяйственную промышленность региона, да и в целом, оказывается любая поддержка. Людей отсюда не эвакуируют, посещать территории бывшей страны не запрещено. Здесь не было ядерных ударов, но есть свои особенности, которые власти тщательно скрывают вместе с собственным кроеным населением. Объединенная церковь и Синдикат также помогают в этом. Официально территория не имеет статуса Зона отчуждения.

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "БРАШОВ";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Брашов расположен в центральной части бывшей страны на юго-востоке исторической области Трансильвании в живописных  и диких Карпатах. Город является нейтральной территорией, сердцем Зоны.

Постоянное население города составляет порядка  +/— 100 тыс. человек. Как и везде среди населения встречаются те, кто к чужакам относится спокойно и те, кто чужаков терпеть не может.

Брашов и в былые времена славился атмосферными старыми улочками, старинной готической архитектурой и потрясающей романтической атмосферой, представляя собой смесь прекрасных горных пейзажей и средневековой истории с значительным саксонским влиянием, а сейчас. когда, современность сюда не дошла (здесь нет мобильной связи, Интернета, телевизоров; есть почта, проводные телефоны, а все новости узнаются из газеты), то место действительно кажется застывшим, пусть жизнь в нем и продолжается. Здесь есть электричество (только в социальных, медицинских и правоохранительных учреждениях), система канализации, подачи и очищения воды, отопление — печное/каминное, освещение — масляные светильники/свечи.

Брашов был основан в 1211 году как крепость тевтонских рыцарей под названием Кронштадт.

На территории Брашова имеется много достопримечательностей, в том числе Чёрная церковь. Она является самой известной достопримечательностью Брашова. Религиозное сооружение было построено между 1385 и 1477 годами немецкой общиной и считается крупнейшим средневековым христианским храмом Юго-Восточной части Содружества Италии. Церковь может принять до 5000 человек, имеет один из самых больших органов и крупнейшую коллекцию турецких ковров.

Недалеко от самого города располагается Замок Бран. Одна из самых известных достопримечательностей Румынии, обязанная своей славе мифу о Дракуле, созданного Брэм Стокером на основе реальной исторической личности (князь Влад Цепеш). Это величественное сооружение построено на высокой скале и окружено ореолом тайн и легенд. Замок был построен в 14 веке на месте средневековой цитадели тевтонских рыцарей начала 13 века. Узкие извилистые лестницы ведут через множество деревянных комнат, многие из которых связаны подземными переходами. В них хранятся замечательные коллекции мебели, оружия и доспехов 14-19 века. Однако, в замок лучше не соваться, так как оттуда ты скорее всего не вернешься.

Помимо замка Бран есть еще ряд мест, которые запрещены к посещению. Хотя они и являются, к сожалению, местами интереса всяких "охотников" за "паранормальным и сверхъестественным", любителей экстремальных ощущений. Все дело в том, что на территории бывшей Румынии существуют особенные места. Кто-то считает их священными, кто-то считает местами истинного зла. О них складывается много баек и легенд, местные оставляют рядом с этими местами жертвоприношения (сельскохозяйственные продукты, животных, рыбу, птицу) добавляя этим местам дополнительной загадочности.

Легенды гласят о некой сущности, которая живет в этих местах. Она забирает людей в служение себе. Когда человек приходит в место обитания сущности, то место начинает бесконечно меняться, и человек уже не может найти из него выход. Более того, за ним на охоту отправляются обращенные. Каждый обращенный отражает тот порок и те деяния, которыми он когда-то жил. Они обладают уродливой внешностью и сверхъестественными способностями. Обращенные не могут покинуть территорию владений сущности. Их нельзя убить или остановить известными способами (в том числе теми, которые практикует Объединенная церковь и Синдикат). Крайне редко бывает так, что сущность отпускает со своей территории человека. Он получается статус "выживший". Но не все так просто. Выжившие носят в себе "мертвые огни" — это "семена", "споры" сущности, которые она подселяет в человека. Чем дальше человек от Румынии, тем тише "голос" сущности и обращенных в его голове, реже проявляются галлюцинации, ведения и почти не беспокоят крайне реалистичные кошмары, из которых будто бы нет выхода. Если человек поддается воздействию сущности, то в нем "прорастает зло". Он начинает походить на бешеную собаку, гонимую своими пороками, пока ее не остановит смерть из чужих рук. После смерти он оказывается в том месте, где получил "семена", "споры" и становится одним из обращенных.

К жертвоприношениям местных сущность относится хорошо. Более того, складывается впечатление, что она является своего рода охранителем Румынии и делает ее земли плодородными, воды богатыми рыбы, а леса — дичи.

Синдикат и Объединенная церковь категорически не отправляет своих людей изучать и взаимодействовать с этими местами (более того, это даже запрещено), но тщательно отслеживают, чтобы эти места не возникли где-то еще.

После событий в ночь с 27 на 28 августа 2024 года власть в Румынии перешла группировке Счастливчика Джея. Синдикату, Объединенной церкви и властям Содружеств теперь приходится с ним считаться.

0


Вы здесь » #барсук » Расписание маршрутов » Зоны отчуждения