[html]<style>
#artifact-wrap {
  text-align: center;
  margin: 34px 0 20px 0;
  font-family: Cheque, serif;
}
/* --- Анимация парения --- */
@keyframes featherFloatY {
  0% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
  100% { transform: translateY(0); }
}
#artifact-wrap img {
  max-width: 210px;
  border: none;
  background: none;
  cursor: pointer;
  display: inline-block;
  animation: featherFloatY 4s ease-in-out infinite;
}

.artifact-desc {
  display: inline-block;
  margin-top: 17px;
  font-family: Journalism, serif;
  font-weight: bold;
  color: #3b4630;
  background: rgba(190,170,130,0.13);
  border-radius: 10px;
  padding: 8px 20px;
  font-size: 20px;
  letter-spacing: 0.02em;
  border: 1px solid #bfae8b;
}

.magic-popup-overlay {
    position: fixed;
    inset: 0; /* top:0; left:0; right:0; bottom:0 */
    z-index: 11001;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fadeIn .25s linear;
}

.magic-popup {
    background: url('https://watsonyourmindharrypotter.wordpress.com/wp-content/uploads/2014/12/thehearing.jpeg') center/cover no-repeat #222;
    border-radius: 16px;
    color: #364a2a;
    font-family: Georgia, serif;
    max-width: 600px;
    min-width: 300px;
    width: 95vw;
    max-height: 110vh;
    position: relative;
    animation: popupAppear .28s cubic-bezier(.25,.9,.71,.98);
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.magic-popup-content {
    background: rgba(250,248,227,0.91);
    border-radius: 0px;
    padding: 10px 20px 15px 20px;
    margin: 38px 18px 38px 18px;
    box-shadow: 0 6px 34px #0000001a;
    width: auto;
    max-height: 100vh;
    overflow-y: auto;
    font-size: 12px;
}
.magic-popup-title {
    font-size: 21px;
    font-family: 'Journalism', serif;
    font-weight: bold;
    margin: 0 0 8px 0;
    text-shadow: 0 1px 0 #eee;
    text-align: center;
}
.magic-popup-text {
    font-size: 10px;
    margin-bottom: 12px;
    color: #433d25;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.5;
    text-align: center;
}
.magic-punishment {
    font-size: 10px;
    margin: -10px 0 14px 0;
    background: rgba(255,255,255,.73);
    padding: 13px 12px 13px 12px;
    border-radius: 10px;
    font-weight: bold;
    text-align: center;
    border: 1px solid #d6c697;
    box-shadow: 0 2px 11px #d1d3a963;
}
/* ТОЛЬКО обычные кнопки внутри popup */
.magic-popup button {
    background: #bfae8b;
    border: none;
    padding: 7px 13px;
    border-radius: 8px;
    cursor: pointer;
    font-family: Journalism, serif;
    font-size: 15px;
    margin: -8px 8px 0 8px;
    transition: .16s;
    box-shadow: 0 1px 4px #e7e4d2;
    text-align: center;
}
.magic-popup button:hover {
    background: #144753;
    color: #fff;
}

/* ТОЛЬКО крестик-закрытие */
.magic-popup .magic-close {
    background: #bfae8b;
    border: none;
    cursor: pointer;
    font-family: Journalism, serif;
    font-size: 14px;
    border-radius: 8px;
    position: absolute;
    right: 35px;
    top: 42px;
    padding: 3px 11px;
    margin: 0; /* убираем margin, иначе "прыгает" */
    transition: .16s;
    box-shadow: 0 1px 4px #e7e4d2;
    text-align: center;
}
.magic-popup .magic-close:hover {
    background: #144753;
    color: #fff;
}
@keyframes popupAppear { from { transform: scale(.76); opacity: .7;} to { transform: scale(1); opacity: 1;}}
@keyframes fadeIn {from{opacity:0;}to{opacity:1;}}
</style>

<div id="artifact-wrap">
  <img
    src="https://upforme.ru/uploads/0014/d2/5e/14/91054.png"
    id="magic-artifact"
    alt="Магический артефакт!"
    title="да, да, вот его НЕЛЬЗЯ ТРОГАТЬ"
  /><br>
  <span class="artifact-desc">
    Собственность Министерства магии.<br>
    Не трогать ни при каких обстоятельствах!
  </span>
</div>

<script>
const punishments = [
  "Сырный сомелье: В следующих 3 постах посвяти минимум 3 предложения тому, как твой персонаж обожает сыр (сорта, запах, дырочки).",
  "Голос из прошлого: В последующем посте твой персонаж должен хотя бы раз процитировать одного из своих родителей, причем цитата должна быть максимально неуместной в текущей ситуации.",
  "Эстет: Следующий игровой пост должен содержать упоминание о красоте ногтей Аргуса Филча.",
  "Тяга к земле: В ближайшем посте персонаж должен минимум один раз случайно упасть или споткнуться на ровном месте.",
  "Оды врагу: В следующем посте персонаж должен мысленно или вслух похвалить своего главного врага (за прическу, манеры или выбор туфель).",
  "Забывчивость: Весь следующий пост персонаж не может вспомнить имя своего собеседника и называет его «Эй, ты» или «Любезный».",
  "Магия жестов: Персонаж временно теряет голос. В следующем посте — только жесты, мимика и выразительные взгляды.",
  "Цветовая слепота: В следующем посте персонаж должен трижды прокомментировать чей-то наряд, но перепутать все цвета (синий назвать красным и т.д.).",
  "Страх пуговиц: Весь следующий пост персонажа преследует иррациональный страх перед пуговицами на одежде окружающих.",
  "Эхо: В следующем посту персонаж должен повторять последнюю фразу своего собеседника вслух, прежде чем ответить.",
  "Подозрительность: Весь пост персонаж уверен, что за ним следит невидимый садовый гном.",
  "Комплимент интерьеру: Нужно описать потолок или пол в текущей локации на 500 символов.",
  "Сон на ходу: В середине следующего поста персонаж должен на мгновение уснуть и увидеть странный сон про гиппогрифа.",
  "Мания величия: Персонаж должен хотя бы раз в посте упомянуть, что он — истинный наследник Мерлина (даже если он магл).",
  "Вежливость до тошноты: Использовать слова «премного благодарен» и «милостивый государь» по отношению к каждому встречному в посте.",
  "Зов природы: Персонаж в следующем посте должен трижды сравнить себя с каким-либо животным.",
  "Хрупкие вещи: Персонаж обязан случайно разбить или сломать любой предмет в следующем посту.",
  "Тайный детектив: Весь пост персонаж должен вести себя так, будто он на секретном задании (говорить шепотом, озираться).",
  "Погода — это важно: Начни и закончи следующий пост подробным описанием влажности воздуха.",
  "Заклятие правды: в следующем посте ваш персонаж может говорить только правду и ничего кроме правды.",
"Анти-фокусник: Ближайшие 3 дня начинать каждое свое сообщение на форуме фразой «Опять эти ваши фокусы...» (оставить как минимум 15 сообщений).",
  "Метод Снейпа: 3 дня отвечать на любые сообщения так, как это сделал бы Северус Снейп (саркастично, холодно, снимая баллы), оставить как минимум 15 сообщений.",
  "Громовещатель: 3 дня писать во всех разделах (кроме игровых) только КАПСОМ (оставить хотя бы 15 сообщений).",
  "Музыкальный критик: Выложить в плейлист самую нелепую песню и расхвалить её на 5 предложений, доказывая, что это шедевр.",
  "Анонимный обожатель: Написать 10 случайным игрокам во флуде по одному странному комплименту (например: «У твоего персонажа отлично растут брови»).",
  "Рекламная пауза: Запостить во флуде 10 «рекламы» товаров из лавки Фреда и Джорджа, которых не существует.",
  "Минутка поэзии: Отвечать во флуде только стихами хотя бы 10 раз.",
  "Обет молчания: Не использовать букву «А» в сообщениях на форуме в течение 3 дней, при этом оставив хотя бы 20 сообщений.",
  "Эстетический детокс: Штраф за красивую аватарку — поставить на аву нечто противное/нелепое минимум на 3 дня.",
  "Розовый террор: Весь профиль должен быть оформлен в стиле Долорес Амбридж минимум на 3 дня.",
  "Сладкая подстава: Ближайшие 20 сообщений пиши так, будто у тебя во рту застряла гигантская ириска (заменяй буквы «с», «ш», «ч» на «ф»).",
  "Свободу попугаям: Собери 10 подписей за освобождение садовых гномов: убеди десять человек согласиться подписать твою петицию.",
  "Проклятие рифмы: Ближайшие 20 сообщений во флуде должны быть строго в рифму к предыдущему сообщению собеседника.",
  "Смена имиджа: Поставить в статус цитату из песни, которая тебе ужасно не нравится, минимум на 3 дня.",
  "Фрейдистский сбой: В статусе написать самое постыдное желание твоего персонажа, которое он обычно скрывает, минимум на 3 дня.",
  "Завещание: В подписи составить список из 5 персонажей, которым твой персонаж оставляет свои \"богатства\" — долги, дырявые трусы и «ту самую неприличную колдографию из шкафа». Носить минимум 3 дня.",
"Муха на контроле: В следующем посте обязательно вставь 3 случайных факта о мухах и/или других летающих насекомых.",
"Петушиный гонец: В каждом флудовом сообщении используй слова 'петух' или 'кукареку', оставь минимум 20 сообщений.",
"Тёмный меценат: Придумай 7 случайным игрокам форума(отметь их, чтобы они тоже оценили) текст для плашки, будто их сочинял сам Темный Лорд, драматично и оооочень пафосно.",
"Рассеянный колдомедик: Давай случайным пользователям во флуде советы (хотя бы 15 штук) по магическим болезням (только не по делу).",
"Пир волшебника: Весь следующий пост герой должен говорить о еде, сравнивать с закусками, даже если сцена не связана с кухней."
];

function openMagicPopup(punishment) {
  document.querySelectorAll('.magic-popup-overlay').forEach(e=>e.remove());
  const overlay = document.createElement('div');
  overlay.className = 'magic-popup-overlay';
  overlay.innerHTML = `
    <div class="magic-popup">
      <button class="magic-close" title="Закрыть">&times;</button>
      <div class="magic-popup-content">
        <div class="magic-popup-title">ТРЕВОГА!</div>
        <div class="magic-popup-text">
          <b>Ты ослушался приказа, и твоё любопытство не осталось незамеченным!</b><br>
          Всевидящее око Министерства не дремлет, и за свою оплошность тебе придётся заплатить.<br>
          Скопируй свое наказание в форму ответа и отправь сообщение, ведь именно сюда тебе предстоит нести подтверждение о выполнении задания. На то, чтобы оплатить свой штраф, тебе дается <b>15 дней</b>. Если артефакт успеют спрятать подальше от любопытных глаз и потных ладошек, а ты так и не выполнишь задание, тебе придется выплатить штраф в размере <b>200 галлеонов</b>. Если же ты справишься, получишь поощрение от Отдела Тайн в размере <b>300 галлеонов.</b><br>
          Трогай артефакт столько раз, сколько хочешь, но получить новое наказание можно лишь <b>после выполнения</b> старого. Ах да, и <b>не повторяй</b> чужие задания, ведь это так скучно. <br><br>
          <b>Твоё наказание:</b>
        </div>
        <div class="magic-punishment" id="current-punishment">${punishment}</div>
        <button id="magic-copy">Скопировать</button>
      </div>
    </div>
  `;
  document.body.appendChild(overlay);
  overlay.querySelector('.magic-close').onclick = () => overlay.remove();
  overlay.onclick = (e) => { if(e.target===overlay) overlay.remove(); }
 
  // Новый обработчик для копирования!
  overlay.querySelector('#magic-copy').onclick = function() {
    const t = document.getElementById('current-punishment').innerText;
    if (navigator.clipboard && window.isSecureContext) {
      navigator.clipboard.writeText(t).then(
        () => { alert("Скопировано!"); },
        () => { fallbackCopy(t); }
      );
    } else {
      fallbackCopy(t);
    }
  };
  function fallbackCopy(text) {
    const tmp = document.createElement('textarea');
    tmp.value = text;
    document.body.appendChild(tmp);
    tmp.select();
    try {
      document.execCommand('copy');
      alert("Скопировано!");
    } catch (err) {
      alert("Не удалось скопировать");
    }
    document.body.removeChild(tmp);
  }
}

document.getElementById('magic-artifact').onclick = function() {
  const idx = Math.floor(Math.random()*punishments.length);
  openMagicPopup(punishments[idx]);
};
</script>[/html]
[hideprofile]