мистика — расы — вуду — nc-18
новый орлеан — осень 2025
«Оставшись в одиночестве посреди только что снятой квартиры в Гарден-Дистрикт, Селена поняла: она забыла, что такое отдых. Пожалуй, если бы не ключи, ощущавшиеся в руке приятной тяжестью, произошедшее за последние несколько дней вполне могло показаться сном. Покупка билетов, поиск жилья, перелёт…так странно. Странно было вернуться в город, откуда ты так старательно бежала, забираясь в самые дальние уголки земли, и ещё более странно было чувствовать из-за этого радость».

наш телеграм канал

testsmth

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

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


Вы здесь » testsmth » Verbum vincit omnia » оформления


оформления

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

1

[html]
<center><div class="field"><div class="menulinks">
                    <a class="menulink " href="https://unholymess.rusff.me/viewtopic.php?id=51#p88">сюжет</a>
          <a class="menulink " href="https://unholymess.rusff.me/viewtopic.php?id=57">faq</a>
          <a class="menulink " href="https://unholymess.rusff.me/viewtopic.php?id=49">расы</a>
          <a class="menulink " href="https://unholymess.rusff.me/viewtopic.php?id=47#p76">о городе</a>
          <a class="menulink " href="https://unholymess.rusff.me/viewtopic.php?id=56">розыск</a>
          <a class="menulink " href="https://unholymess.rusff.me/viewtopic.php?id=54">внешности</a>
        </div>
<div class="inf"> <div class="about1">  </div>
</div>

<div class="text">
Вы в Новом Орлеане, наполненном атмосферой анархии. Однако в гостевой анархии нет, поэтому приглашаем вас вопрошать и придерживаться по всем порядкам!<br> <br>
❖ Позиции придерживаются за гостями на 4 дня, за игроками - на 2 недели [далее - платно, оплата в <a href="https://unholymess.rusff.me/viewtopic.php?id=39#p66">магазине</a>]. <br>
❖ Дубли возможны лишь с согласия их обладателя, перед придерживанием сверьтесь со списком <a href="https://unholymess.rusff.me/viewtopic.php?id=54#p91">внешностей и имён</a>.
<br>
❖ АМС к вашим услугам: <a href="https://unholymess.rusff.me/profile.php?id=6">Эшли</a> ❖ <a href="https://unholymess.rusff.me/profile.php?id=9">Саша</a> ❖ <a href="https://unholymess.rusff.me/profile.php?id=10">Раф</a> ❖ <a href="https://unholymess.rusff.me/profile.php?id=8">Паркер</a> ❖ <a href="https://unholymess.rusff.me/profile.php?id=57">Эшер</a>.
<br>

</div>

<div class="gif1">
<img src="https://upforme.ru/uploads/001c/a9/d3/2/460472.gif">

</div>
<div class="gif2">
<img src="https://upforme.ru/uploads/001c/a9/d3/2/727819.gif">
</div>

<div class="gif3">
<img src="https://upforme.ru/uploads/001c/a9/d3/2/605441.gif">

</div>

<div class="vnehi"><center>❖ За игроками ❖</center><br>

<br>
<center>❖ За АМС ❖</center>
<a href="https://unholymess.rusff.me/profile.php?id=6">conor leslie</a><br>
<a href="https://unholymess.rusff.me/profile.php?id=9">priscilla quintana</a><br>
<a href="https://unholymess.rusff.me/profile.php?id=9">Eiza González</a><br>
<a href="https://unholymess.rusff.me/profile.php?id=10">madchen amick</a><br>
<a href="https://unholymess.rusff.me/profile.php?id=10">dacre montgomery</a><br>
<a href="https://unholymess.rusff.me/profile.php?id=9">Kira [f] Bennett</a><br>
<br>

</div>

<style>
.field {
    width: 689px;
    height: 639px;
    background: url(https://upforme.ru/uploads/001c/a9/d3/2/359977.png);

margin-left: -10px;

}
.about1 {
font-family: 'Druzhok';
font-size: 18px;
/* font-style: italic; */
text-align: center;
font-weight: 500;
text-transform: uppercase;
color: #ba4009;
padding-bottom: 10px;
letter-spacing: .04em;
text-shadow: 0px 0px 6px #cc4d1c;
}

.ssili {margin-top:10px!important;}

.about2 {
        position: absolute;
    overflow: auto;
    margin-top: 38px;
    width: 334px;
    margin-left: 286px;
    height: 20px;
    font-family: alice;
    font-size: 9px;
    text-align: center;
    font-weight: 500;
    color: #87736b;
}

.gif1 {
position: absolute;
overflow: hidden;
margin-top: 159px;
margin-left: 73px;
width: 263px;
height: 128px;
}
.gif2 {
position: absolute;
overflow: hidden;
margin-top: 158px;
margin-left: 355px;
width: 266px;
height: 131px;
}
.gif3 {
position: absolute;
overflow: hidden;
margin-top: 475px;
margin-left: 283px;
width: 135px;
height: 152px;
}
.inf {
position: absolute;
overflow: auto;
margin-top: 99px;
width: 650px;
/* height: 110px; */
/* margin-left: 190px; */
/* text-indent: 10px !important; */
text-align: justify;
padding: 3px 13px 3px 15px;
line-height: 140%;
text-indent: 12px;
font-size: 11px;
font-family: alice;
font-weight: normal;
}

.text {
         position: absolute;
    overflow: auto;
    margin-top: 356px;
    width: 288px;
    height: 220px;
    margin-left: 17px;
    /* text-indent: 10px !important; */
    text-align: justify;
    padding: 3px 13px 3px 15px;
    line-height: 140%;
    text-indent: 12px;
    font-size: 12px;
    font-family: el messiri;
    font-weight: normal;
    color: #80857a;}
.menulink {     
font-size: 9px;
color: #e65155 !important;
text-align: center !important;
text-shadow: 0px 0px 5px #e65155;
line-height: 19px;
text-transform: uppercase;
font-weight: bold;
background: #000000;
border-radius: 3px;
padding: 1px 15px;
}
a.menulink:hover {
    color: #b9a77f!important;
}

.menulinks { padding: 1px 0px 4px 0px;
    text-align: center;
    position: absolute;
    width: 690px;
    font: 600 12px philosopher;
    margin-top: 135px;
}

.textm {                  position: absolute;
    overflow: auto !important;
    margin-top: 285px;
    width: 625px;
    height: 40px !important;position: absolute;
    overflow: auto !important;
    margin-top: 285px;
    width: 625px;
    height: 40px !important;
    margin-left: 8px;
    /* text-align: justify; */
    text-transform: uppercase;
    text-shadow: 0px 0px 10px #000;
    padding: 3px 0px 2px 5px;
    /* text-indent: 12px; */
    font-family: 'Philosopher';
    font-size: 11px !important;
    font-weight: bold !important;
    font-weight: normal;
    color: #624b40;
}

.vnehi {
overflow: auto;
    font-family: 'el messiri';
    margin-top: 352px;
    width: 275px;
    line-height: 16px;
    height: 215px;
    margin-left: 380px;
    font-size: 12px;
    padding: 5px;
    position: absolute;
    text-transform: lowercase;
    text-align: left;
    font-weight: normal;
    color: #80857a !important;
}

   
.vnehi a {
/* color: #45624f !important; */

}

.vnehi a:hover {
/* color: #45624f !important; */

}
</style>[/html]

Шаблон для участника:

Код:
<a href="ссылка на профиль">внешность на англ.</a><br>

Шаблон для гостя:

Код:
<b>внешность на англ./имя/роль</b> for ваш ник <br>

[icon]https://upforme.ru/uploads/001c/a9/d3/2/256665.png[/icon][nick]Voodoo Queen[/nick]

0

2

F.A.Q.

❖ вопросы, ответы на которые вы действительно хотите знать

І. Что? Где? Когда?

❖ Мир магии и мистики в Новом Орлеане, Луизина, США. Город джаза, карнавалов, вуду и мертвых. Мистика, окутывающая улицы Нового Орлеана, – привлекает толпы туристов. Но магия не ограничивается одним городом. Разнообразные существа из верований и легенд населяют нашу планету тысячи лет. Они подпитываются источниками силы, что находятся глубоко в земле, образовывают свои кланы, ковены и стаи, либо держатся одиночками. Люди в большинстве своём о сверхъестественном не знают. Отправная точка сюжета — лето 2025.

ІІ. Кто?

❖ Для регистрации доступны представители наиболее многочисленных рас: маги, вампиры, оборотни и валькирии. Также суккубы, филоморты и камбионы. Но этим мы не ограничиваемся. За исключением рас, перечисленных в списке НПС, вы можете предложить собственную расу, для чего нужно предварительно обратиться к администрации с кратким описанием (имя расы, происхождение, способности, слабости). Мы не одобряем всемогущих персонажей, зато к регистрации доступны представители рас с немного другим набором способностей. Например, если хотите человека, который общается с духами, или обращаться в дельфина, то вероятнее всего вам в раздел ведьм и оборотней (соответственно). Предупредите заранее о наборе способностей, а после спокойно засыпайте под живое исполнение Love Me Tender и впечатляйте окружающих своим интеллектом.
❖ Регистрация персонажей на должности мэра, главы полиции, главного эпископа и иных по аналогии, а также лидеров ковенов/кланов и стай не допустима.

ІІІ. Где ещё?

❖ Наш мир достаточно открытый, единственное, просим быть осторожными со скачками в прошлое и будущее. Также в наличии иное измерение, которое, в зависимости от верований носит разное название: это и мир мёртвых (где находятся духи вуду и призраки), и вальхалла (здесь находят пристанище павшие в бою воины и обитают валькирии между перерождениями и после смерти), и ад, и рай. Данное измерение, пускай и едино, но содержит в себе абсолютно все представления о загробной жизни. Здесь можно оказаться либо после смерти, либо с помощью портала.

ІV. Как?

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

V. Что мне будет?

❖ Атата (бан, изгнание, осуждение, пока-прощай) за розжиг межнациональной розни, пропаганду расизма и насилия, прямое или косвенное оскорбление участников. Похвала за традиционные и нетрадиционные отношения, как в игровых темах, так и вне их. Ник должен содержать имя и фамилию персонажа на английском. Брать в качестве ника комбо из имени и фамилии персонажей поп-культуры и реальных известных личностей не допустимо. Ура-так-держать за посты любых размеров и форм. Ура-так-держать-2 за посты в сюжетные квесты не более 3000 символов с использованием жирного (bold) текста для прямой речи, написанные в срок до 3 дней. УТД-3 за создание второго и третьего персонажей за абсолютно бесплатно, если отписано хотя бы по 1 посту за предыдущих. УТД-4 получить немного сложнее: перед созданием четвёртого и больше персонажа, необходимо, чтобы от каждого предыдущего было отписано не менее 10 постов. Атата (попадание в чистку) получите за отсутствие вашего профиля (как основного, так и твинка) на форуме более недели (без предупреждения) или если от профиля не было в течении недели ни одного сообщения. Также вы можете не попасть в чистку, но если не были на форуме или не было сообщений в течении недели, то любой желающий сможет отколдовать вашу внешность/имя/собаку. Шутка! Собаку мы не отдадим. Будет вам счастье, ибо мы придерживаем всё на четыре дня; после регистрации на написание анкеты также даётся четыре дня, по истечению срока вы можете попасть под чистку. Остальные атата и УТД (вы же поняли, что это аббревиатура для Ура-Так-Держать?) будут получены в зависимости от здравого смысла и настроения администрации.

0

3

Build-a-Character

❖ Акция ❖ Собери своего персонажа

Используя стрелочки вправо и влево , вы сможете собрать своего идеального персонажа из нашей акции. Несложные манипуляции подберут имя, внешность, расу, профессию, факт из жизни, одну из черт характера и уникальный артефакт, за который даже не придётся расплачиваться.
[indent] За успешное использование конструктора (регистрацию на форуме) вы получаете: 50₲, плашку из текущей коллекции, артефакт, предоставленный в описании, и, само собой, удовольствие от игры крутым персонажем.

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

[html]<div class="constructor-section">
  <div class="carousel" id="name-carousel">
    <span class="arrow left" onclick="prevItem('name')">←</span>
    <span class="carousel-item" id="name-item">Charlie Holloway</span>
    <span class="arrow right" onclick="nextItem('name')">→</span>
  </div>
</div>
<div class="constructor-section">
  <div class="carousel" id="face-carousel">
    <span class="arrow left" onclick="prevItem('face')">←</span>
    <div class="carousel-item" id="face-item">
      <img id="face-image" src="https://forumstatic.ru/files/001c/75/3f/37956.gif" alt="Внешность" />
      <div id="face-name">rachelle lefèvre</div>
    </div>
    <span class="arrow right" onclick="nextItem('face')">→</span>
  </div>
</div>

<div class="constructor-section">
  <div class="carousel" id="race-carousel">
    <span class="arrow left" onclick="prevItem('race')">←</span>
    <span class="carousel-item" id="race-item">Оборотень</span>
    <span class="arrow right" onclick="nextItem('race')">→</span>
  </div>
</div>

<div class="constructor-section">
  <div class="carousel" id="job-carousel">
    <span class="arrow left" onclick="prevItem('job')">←</span>
    <span class="carousel-item" id="job-item">Водитель ночного такси (половина клиентов — люди, половина — не совсем. Однажды его/её машина уехала без водителя).
</span>
    <span class="arrow right" onclick="nextItem('job')">→</span>
  </div>
</div>

<div class="constructor-section">
  <div class="carousel" id="bio-carousel">
    <span class="arrow left" onclick="prevItem('bio')">←</span>
    <span class="carousel-item" id="bio-item">Регулярно получает сообщения от своей бабушки. Всё бы ничего, если бы она не умерла в 2017-м, а в телефоне не было SIM-карты.</span>
    <span class="arrow right" onclick="nextItem('bio')">→</span>
  </div>
</div>

<div class="constructor-section">
  <div class="carousel" id="trait-carousel">
    <span class="arrow left" onclick="prevItem('trait')">←</span>
    <span class="carousel-item" id="trait-item">Вечно в поиске: истины, любви, новых магических формул или идеального латте.
</span>
    <span class="arrow right" onclick="nextItem('trait')">→</span>
  </div>
</div>
<div class="constructor-section">
  <div class="carousel" id="artifact-carousel">
    <span class="arrow left" onclick="prevItem('artifact')">←</span>
    <span class="carousel-item" id="artifact-item">Сандалии Ходока Грез - дают возможность идти по чужим снам так же, как по дороге (требует перезарядки).</span>
    <span class="arrow right" onclick="nextItem('artifact')">→</span>
  </div>
</div>
<!-- скрипт конструктора персонажа Unholy Mess -->
<script>
const data = {
  name: ["Charlie Holloway", "Avery Cross", "Riley Bennett", "Blair Rousseau", "René Hartley", "Dominique Armstrong"],
  face: [
    { image: "https://forumstatic.ru/files/001c/75/3f/37956.gif", name: "rachelle lefèvre" },
    { image: "https://forumstatic.ru/files/001c/75/3f/48237.gif", name: "glen powell" },
    { image: "https://forumstatic.ru/files/001c/75/3f/21417.gif", name: "camila mendes" },
    { image: "https://upforme.ru/uploads/001c/75/3f/7/328125.gif", name: "pedro pascal" },
    { image: "https://upforme.ru/uploads/001c/75/3f/7/277655.gif", name: "lana parrilla" },
    { image: "https://upforme.ru/uploads/001c/75/3f/7/986558.gif", name: "emilia clarke" },
    { image: "https://upforme.ru/uploads/001c/75/3f/7/201245.gif", name: "idris elba" } ],
  race: ["Оборотень", "Вампир", "Валькирия", "Суккуб", "Филоморт", "Ведьма/Колдун", "Камбион", "Человек"],
  job: ["Водитель ночного такси (половина клиентов — люди, половина — не совсем. Однажды его/её машина уехала без водителя).", "Библиотекарь (найдет любую книгу или рукопись, даже если её нет в базе данных библиотеки", "Флорист (составит композицию из цветов и других растений, но не факт, что они не откусят руки получателю)", "Кондитер (поговаривают, что его печенья предсказывают будущее, и предсказания частенько сбываются)", "Владелец сувенирной лавки (двери его магазина могут пустить или не пустить посетителя по собственному желанию)", "Коллекционер (некоторые из его экспонатов оживают ночью и кошмарят своего владельца)"],
  bio: ["Не спросив цену заранее, персонаж купил зелье «на всякий случай». Теперь должен деньги лавке магических артефактов... или её владельцу, который предпочитает необычные формы расчёта.", "Каждый первый понедельник месяца видит сны о человеке, которого никогда в жизни не видел.", "Однажды в драке получил ножевое ранение и теперь по шраму может определить погоду на завтра.", "Персонаж купил дом по смешной цене и теперь каждый вечер слышит пение из слива в ванной, хотя живет один.", "По глупости не помог старушке перейти дорогу и теперь персонажа ждет сто дней неудачи.", "Вернувшись с работы, обнаружил дома кота, а в квартире — игрушки, корм и лоток, хотя еще утром никакого кота у персонажа и в помине не было.", "Регулярно получает сообщения от своей бабушки. Всё бы ничего, если бы она не умерла в 2017-м, а в телефоне не было SIM-карты."],
  artifact: ["Шкатулка Шепотов - хранит один секрет, который можно отдать другому человеку.", "Перо Забытого Писца - записывает мысли владельца ещё до того, как они сформулированы.", "Сандалии Ходока Грез - дают возможность идти по чужим снам так же, как по дороге (требует перезарядки).", "Тетрадь Сомнений (выглядит как древний потрепанный блокнот в переплете из крокодильей кожи) — если владелец разрывается между двумя вариантами, то нужно записать оба в блокнот и наутро та версия, что принесет ему меньше выгоды, будет зачеркнута.", "Кольцо Возврата (кольцо с синим камнем, при активации меняет цвет на красный) — в случае совершения серьезной ошибки, владелец артефакта может прожить день еще раз и исправить свое положение в обмен на год своей жизни.", "Сердце Лунного Эха — небольшая черная сфера с синим туманом внутри, превращает тревогу и страх в лёгкость и уверенность.", "Перо Забвения — фиолетовое перо с железным наконечником, способно стирать и изменять воспоминания, если записать их на коже.", "Чашка Вечной Игривости — изящная фарфоровая чашка перламутрового розового цвета, любой напиток, налитый в неё, заставляет говорить правду."],
  trait: ["Вечно в поиске: истины, любви, новых магических формул или идеального латте.", "Частенько говорит сам с собой, окружающие шепчутся между собой, что персонаж разговаривает с призраками.", "По четвергам пьет кофе с корицей в надежде, что это привлечет финансовое благополучие.", "Никогда не допивает чай до конца. Последний глоток оставляет: на удачу или на прощание.", "Перед тем как принять решение, считает обязанностью досчитать до десяти, так сказать, дать себе время подумать.", "Хороший психолог со стороны, но не чувствует манипуляций, когда дело касается самого персонажа."]
};

const indexes = {
  name: 0,
  face: 0,
race: 0,
  job: 0,
  bio: 0,
  artifact: 0,
  trait: 0
};

function updateItem(type) {
  const item = document.getElementById(type + '-item');

  item.style.opacity = 0;
  item.style.transform = 'translateX(-20px)';

  setTimeout(() => {
    if (type === 'face') {
      document.getElementById('face-image').src = data[type][indexes[type]].image;
      document.getElementById('face-name').textContent = data[type][indexes[type]].name;
    } else {
      item.textContent = data[type][indexes[type]];
    }
    item.style.opacity = 1;
    item.style.transform = 'translateX(0)';
  }, 200);
}
function prevItem(type) {
  indexes[type] = (indexes[type] - 1 + data[type].length) % data[type].length;
  updateItem(type);
}

function nextItem(type) {
  indexes[type] = (indexes[type] + 1) % data[type].length;
  updateItem(type);
}
</script>
<style>
/* Общий стиль для всего конструктора */
.constructor-section {
    margin: 2px;
    background: #a9a79e;
    text-align: center;
    font-family: el messiri;
    border-radius: 10px;
    font-size: 11px;
}

h2 {
    color: #6b3836;
    text-transform: uppercase;
    letter-spacing: 1px;
    width: 30%;
    display: inline-flex;

}

/* Оформление каруселей */
.carousel {
    display: inline-flex;
    justify-content: center;
    display: inline-block;
    width: 100%;
    margin: 0 auto;
    border-radius: 10px;
    padding: 2px 0px 2px 0px;
    /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);

}

/* Оформление стрелок */
.arrow {
font-size: 18px !important;
        color: #6b3836;
        /* background: #a5a19f; */
        text-shadow: 0px 0px 3px #bebebe;
        cursor: pointer;
     
        display: inline-block;
        border-radius: 100%;
        padding: 0px 5px;
        transition: color 0.3s, transform 0.3s;
}

.arrow:hover {
  color: #bfbfbf;
}

.arrow:active {
  color: #e65155; /* Более тёмный оранжевый нажатия */
}

/* Оформление элементов */
.carousel-item {
    font-size: 20px;
    color: #6b3836;
    font-weight: 600;
    width: 75%;
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
  opacity: 1;
  transform: translateX(0);
    padding: 0 20px;
    user-select: none;
    text-align: center;
}

#face-image {
        height: auto;
        border-radius: 8px;
        object-fit: cover !important;
        transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
        opacity: 1;
        transform: translateX(0);
        max-width: 120px;
        margin: 5px;
        height: 120px;
        border-radius: 100%;
        /* padding: 2px; */
        /* border: solid 1px #a6a6a600 !important; */
        object-fit: cover;
        box-shadow: 0px 0px 15px #292929;
}

.carousel-item:hover {
  color: #995a5a;
  cursor: pointer;
}

#name-item {
        font-family: El Messiri;
        text-transform: uppercase;
        font-size: 19px;
        text-shadow: 0 0 4px #988c84;
        display: inline-block;
    }
#face-item {
        font-size: 15px;
        font-family: el messiri;
        /* text-transform: uppercase; */
        /* font-weight: 100; */
        background:url(https://forumstatic.ru/files/001c/75/3f/13080.jpg);
        color: #6b3836;
display: flex;
    flex-direction: column;
    align-items: center;

        border-radius: 10px;
        border: solid 1px #917373;
        display: inline-block;
    }
#face-name {
        margin-top: -36px;
        margin-left: 103px;
        display: block !important;
        font-size: 12px !important;
        color: #a5a19f;
        text-shadow: 0 0 13px #ffffff;
        font-family: el messiri;
        background: #2d2d2d;
        border-radius: 10px;
        /* border: solid 1px #656565; */
        font-size: 18px;
        padding: 0px 10px;
        position: absolute !important;
    }

#race-item {
        font-size: 15px;
        font-family: el messiri;
        text-transform: uppercase;
        /* font-weight: 100; */
        display: inline-block;
        color: #6b3836;
    }
#job-item {
        font-size: 11px;
        font-family: tahoma;
        line-height: 17px !important;
        height: auto;
        font-weight: 100;
        color: #000;
        display: inline-block;
        /* width: 200px !important; */
        text-align: justify;
    }
#job-item:before {          content: "❖ Профессия:";
        font-size: 10px;
        font-family: tahoma;
        line-height: 17px !important;
        text-transform: uppercase;
        padding: 0px 5px;
        /* margin-left: 5px; */
        /* background: #b4ada9; */
        height: auto;
        font-weight: 100;
        font-weight: bold;
        color: #6f4b4a;
    }
#bio-item {
        font-size: 11px;
        font-family: tahoma;
        line-height: 17px !important;
        height: auto;
        font-weight: 100;
        color: #000;
        display: inline-block;
        /* width: 200px !important; */
        text-align: justify;
    }

#bio-item:before {          content: "❖ Факт из жизни:";
        font-size: 10px;
        font-family: tahoma;
        line-height: 17px !important;
        text-transform: uppercase;
        padding: 0px 5px;
        /* margin-left: 5px; */
        /* background: #b4ada9; */
        height: auto;
        font-weight: 100;
        font-weight: bold;
        color: #6f4b4a;
    }

#trait-item {
        font-size: 11px;
        font-family: tahoma;
        line-height: 17px !important;
        height: auto;
        font-weight: 100;
        color: #000;
        display: inline-block;
        /* width: 200px !important; */
        text-align: justify;
    }
#trait-item:before {          content: "❖ Черта характера:";
        font-size: 10px;
        font-family: tahoma;
        line-height: 17px !important;
        text-transform: uppercase;
        padding: 0px 5px;
        /* margin-left: 5px; */
        /* background: #b4ada9; */
        height: auto;
        font-weight: 100;
        font-weight: bold;
        color: #6f4b4a;
    }

#artifact-item {
        font-size: 11px;
        font-family: tahoma;
        line-height: 17px !important;
        height: auto;
        font-weight: 100;
        color: #000;
        display: inline-block;
        /* width: 200px !important; */
        text-align: justify;
    }
#artifact-item:before {          content: "❖ Артефакт:";
        font-size: 10px;
        font-family: tahoma;
        line-height: 17px !important;
        text-transform: uppercase;
        padding: 0px 5px;
        /* margin-left: 5px; */
        /* background: #b4ada9; */
        height: auto;
        font-weight: 100;
        font-weight: bold;
        color: #6f4b4a;
    }

/* Мобильный адаптив */
@media screen and (max-width: 768px) {
  .carousel {
    width: 80%;
  }

  h2 {
    font-size: 20px;
  }

  .arrow {
    font-size: 25px;
  }

  .carousel-item {
    font-size: 18px;
  }
}
</style>
<!--конец  скрипта конструктора персонажа Unholy Mess -->
[/html]

upd!
имя и внешность персонажа можно придумать самостоятельно, в таком случае персонаж всё равно будет считаться акционным;
также можно взять 1-2 части из предложенных в акций, но в этом случае персонаж не будет считаться акционным, а следовательно никаких плюшек к нему прилагаться не будет.

0

4

Faces

❖ Занятые внешности и имена

За одним персонажем может быть закреплена только одна внешность, одно имя и одна фамилия. Регистрация дублей возможна только с согласия игрока, занимающего позицию.
Для быстрого поиска имени/внешности воспользуйтесь комбинацией клавиш ctrl+f.

Код:
<!--HTML--><div id="spiritworkroom">
<div class="spiritsecond">
<div class="tabsi">
    <input id="tab1" type="radio" name="tabsi" checked>
    <label for="tab1">❖ ВНЕШНОСТИ</label>
 
    <input id="tab2" type="radio" name="tabsi">
    <label for="tab2">❖ ИМЕНА И ФАМИЛИИ</label>
 
    <section id="content-tab1">
        <p>
<table td="" width="100%"><tbody><tr><td width="50%">
<b>❖ ЖЕНСКИЕ ВНЕШНОСТИ</b>
</td><td td="" width="50%">
<b>❖ МУЖСКИЕ ВНЕШНОСТИ</b>
</td></tr>
<tr> 
<td>A — B — C</td>
<td>A — B — C</td>
</tr><tr><td>
abigail cowen — <a href="https://unholymess.rusff.me/profile.php?id=23">stefanie scaletta</a><br>
adria arjona — <a href="https://unholymess.rusff.me/profile.php?id=144">bobbie baldwin</a><br>
alexandra daddario — <a href="https://unholymess.rusff.me/profile.php?id=7">Ryan Haller</a><br>
alyssa jirrels — <a href="https://unholymess.rusff.me/profile.php?id=264">grace guerro</a><br>
amanda seyfried — <a href="https://unholymess.rusff.me/profile.php?id=77">sage carter</a><br>
amy jackson — <a href="https://unholymess.rusff.me/profile.php?id=4">ayah archer</a><br>
ana de armas — <a href="https://unholymess.ru/profile.php?id=108">rhiannon crowne</a><br>
aubrey plaza — <a href="https://unholymess.ru/profile.php?id=96">lenora stewart</a><br>
bridgette reagan — <a href="https://unholymess.rusff.me/profile.php?id=125">ilaria reynolds</a><br>
</td><td>
aaron taylor-johnson — <a href="https://unholymess.rusff.me/profile.php?id=263">ace fisher</a><br>
ben barnes — <a href="https://unholymess.rusff.me/profile.php?id=195">gabriel yelverton</a><br>
bill skarsgard — <a href="https://unholymess.rusff.me/profile.php?id=66">tyrone gill</a><br>
boyd holbrook— <a href="https://unholymess.rusff.me/profile.php?id=95">seth maddox</a><br>
Brett Dalton — <a href="https://unholymess.rusff.me/profile.php?id=227">Tommy Fellini</a><br>
can yaman — <a href="https://unholymess.ru/profile.php?id=212">odith veer</a><br>
cha eun-woo — <a href="https://unholymess.rusff.me/profile.php?id=245">hwan dae-hyun</a><br>
chad michael murray — <a href="https://unholymess.ru/profile.php?id=249">Joe Edgar</a><br>
сody fern — <a href="https://unholymess.rusff.me/profile.php?id=11">xavier arden</a><br>
colin farrell — <a href="https://unholymess.rusff.me/profile.php?id=228">dante fellini </a><br>
</td></tr><tr>
<td>D — E — F</td>
<td>D — E — F</td>
</tr><tr><td>
demet ozdemir — <a href="https://unholymess.rusff.me/profile.php?id=8">parker daniels</a><br>
danielle rose russell — <a href="https://unholymess.ru/profile.php?id=234">yana hades</a><br>
derya pinar ak — <a href="https://unholymess.ru/profile.php?id=160">luna blackthorn</a><br>
deva cassel — <a href="https://unholymess.rusff.me/profile.php?id=184">alessia salvatore</a><br>
elle fanning — <a href="https://unholymess.rusff.me/profile.php?id=186">tori layton</a><br>
ester exposito — <a href="https://unholymess.rusff.me/profile.php?id=162">Clem Hughes</a><br>
florence pugh — <a href="https://unholymess.rusff.me/profile.php?id=75">valentina harding</a><br>
florence welch — <a href="https://unholymess.ru/profile.php?id=123"> Hecate Harlow</a><br>
florence welch — <a href="https://unholymess.rusff.me/profile.php?id=259">selena harlow</a><br>
</td><td>
danny griffin — <a href="https://unholymess.rusff.me/profile.php?id=90">lucas gilmore</a><br>
dan stevens — <a href=https://unholymess.rusff.me/profile.php?id=102>leslie graves</a><br>
dane dehaan — <a href="https://unholymess.rusff.me/profile.php?id=258">Julian Dubois</a><br>
dominic richard harrison — <a href="https://unholymess.rusff.me/profile.php?id=236">henrik norden</a><br>
dylan o'brien — <a href="https://unholymess.rusff.me/profile.php?id=158">cass harwood</a><br>
</td></tr><tr>
<td>G — H — I</td>
<td>G — H — I</td>
</tr><tr><td>
hande ercel — <a href="https://unholymess.rusff.me/profile.php?id=9">alexandra hicks</a><br>
Hailee Steinfeld — <a href="https://unholymess.rusff.me/profile.php?id=115">Andrea Hawke</a><br>
India Eisley — <a href="https://unholymess.rusff.me/profile.php?id=159">Evangeline Dubois</a><br>
</td><td>
Hunter Parrish — <a href="https://unholymess.rusff.me/profile.php?id=215">Devon Wignac</a><br>
hwang hyunjin — <a href="https://unholymess.rusff.me/profile.php?id=203">wren cipher</a><br>
ivan yankovsky — <a href="https://unholymess.rusff.me/profile.php?id=201">kir kravitz</a><br>
</td></tr><tr>
<td>J — K — L</td>
<td>J — K — L</td>
</tr><tr><td>
jenna coleman — <a href="https://unholymess.ru/profile.php?id=164">syrena crowne</a><br>
jodie comer — <a href="https://unholymess.ru/profile.php?id=99">jayne bates</a><br>
katherine mcnamara — <a href="https://unholymess.rusff.me/profile.php?id=18">nikky black</a><br>
lily-rose depp — <a href="https://unholymess.rusff.me/profile.php?id=10">rafaella darling</a><br>
</td><td>
jacob elordi — <a href="https://unholymess.rusff.me/profile.php?id=12">john sinclair</a><br>
Jared Padalecki — <a href="https://unholymess.ru/profile.php?id=233">Nickolas Noir</a><br>
jensen ackles — <a href="https://unholymess.ru/profile.php?id=6">Ashley Nixon</a><br>
jensen ackles — <a href="https://unholymess.ru/profile.php?id=235">Reagan Styles</a><br>
jesse lee soffer — <a href="https://unholymess.ru/profile.php?id=57">asher mairi</a><br>
joe keery — <a href="https://unholymess.rusff.me/profile.php?id=103">desmond crosby</a><br>
jon bernthal — <a href="https://unholymess.rusff.me/profile.php?id=238">ori bearclaw</a><br>
Josh Heuston — <a href="https://unholymess.rusff.me/profile.php?id=101">Wolfgang Waltz</a><br>
joshua orpin — <a href="https://unholymess.rusff.me/profile.php?id=260">benno de rosa</a><br>
lee felix — <a href="https://unholymess.rusff.me/profile.php?id=211">go hyun tak</a><br>
louis partridge — <a href="https://unholymess.rusff.me/profile.php?id=185">matteo salvatore</a><br>
luo yunxi — <a href="https://unholymess.rusff.me/profile.php?id=246">chang tao</a><br>
</td></tr><tr>
<td>M — N — O</td>
<td>M — N — O</td>
</tr><tr><td>
madelaine petsch — <a href="https://unholymess.rusff.me/profile.php?id=62">alex jackson</a><br>
madelyn cline — <a href="https://unholymess.rusff.me/profile.php?id=126">estelle foster</a><br>
minka kelly — <a href="https://unholymess.rusff.me/profile.php?id=13">morgan ransom</a><br>
monica barbaro — <a href="https://unholymess.ru/profile.php?id=240">olivia graycastle</a><br>
natalia dyer — <a href="https://unholymess.ru/profile.php?id=100">sol riorson</a><br>
natasha o'keeffe — <a href="https://unholymess.rusff.me/profile.php?id=257">cody vargas</a><br>
</td><td>
matt smith — <a href="https://unholymess.ru/profile.php?id=105">kael aetos</a><br>
michael b. jordan — <a href="https://unholymess.ru/profile.php?id=139">reese young</a><br>
michele morrone — <a href="https://unholymess.rusff.me/profile.php?id=51">enzo de rosa</a><br>
</td></tr>
<tr><td>P — Q — R</td>
<td>P — Q — R</td>
</tr><tr><td>
phoebe tonkin — <a href="https://unholymess.rusff.me/profile.php?id=78">kristin clarke</a><br>
quintessa swindell — <a href="https://unholymess.rusff.me/profile.php?id=53">bernadette duparc</a><br>
</td><td>
paul mescal — <a href="https://unholymess.rusff.me/profile.php?id=190">Dean Richards</a><br>
rudy pankow — <a href="https://unholymess.rusff.me/profile.php?id=127">mark foster</a><br>
</td></tr>
<tr><td>S — T — U</td>
<td>S — T — U</td>
</tr><tr><td> 
sadie sink — <a href="https://unholymess.rusff.me/profile.php?id=239">lethe greyson</a><br>
samara weaving — <a href="https://unholymess.rusff.me/profile.php?id=208">louisiana shaw</a><br>
sofia carson — <a href="https://unholymess.rusff.me/profile.php?id=122">harper shane</a><br>
sol rodriguez — <a href="https://unholymess.rusff.me/profile.php?id=247">agatha dante</a><br>
</td><td>
sebastian stan — <a href="https://unholymess.ru/profile.php?id=89">jens legrand</a><br>
Thomas Doherty — <a href="https://unholymess.rusff.me/profile.php?id=189">Teo Moretti</a><br>
</td></tr>
<tr><td>V — W — X</td>
<td>V — W — X</td>
</tr><tr><td>
name surname — <a href="https://unholymess.rusff.me/">name surname</a><br>
name surname — <a href="https://unholymess.rusff.me/">name surname</a><br>
</td><td>
name surname — <a href="https://unholymess.rusff.me/">name surname</a><br>
name surname — <a href="https://unholymess.rusff.me/">name surname</a><br>
</td></tr>
<tr><td>Y — Z</td>
<td>Y — Z</td>
</tr><tr><td>
zoe blue — <a href="https://unholymess.ru/profile.php?id=252">lavinia enescu</a><br>
zoe kravitz — <a href="https://unholymess.ru/profile.php?id=145">сersei mairi</a><br>
</td><td>
yang jeongin — <a href="https://unholymess.rusff.me/profile.php?id=204">ayen lee</a><br>
name surname — <a href="https://unholymess.rusff.me/">name surname</a><br>
</td></tr>
</tbody></table>
        </p>
</blockquote>
</figure>
    </section>  
    <section id="content-tab2">
        <p>
<figure class="quote">
  <blockquote>
<table td="" width="100%"><tbody><tr><td width="50%">
<b>❖ ИМЕНА</b>
</td><td td="" width="50%">
<b>❖ ФАМИЛИИ</b>
</td></tr>
<tr> 
<td>A — B — C</td>
<td>A — B — C</td>
</tr><tr><td>
ace [m] — <a href="https://unholymess.rusff.me/profile.php?id=263">эйс</a><br>
agatha [f] — <a href="https://unholymess.rusff.me/profile.php?id=247">агата</a><br>
alex [f] — <a href="https://unholymess.rusff.me/profile.php?id=62">алекс</a><br>
alexandra [f] — <a href="https://unholymess.rusff.me/profile.php?id=9">александра</a><br>
alessia [f] — <a href="https://unholymess.rusff.me/profile.php?id=184">алессия</a><br>
andrea [f] — <a href="https://unholymess.rusff.me/profile.php?id=115">андреа</a><br>
ash [m] — <a href="https://unholymess.ru/profile.php?id=57">эш</a><br>
asher [m] — <a href="https://unholymess.ru/profile.php?id=57">эшер</a><br>
Ashley [m] — <a href="https://unholymess.ru/profile.php?id=6">эшли</a><br>
ayah [f]— <a href="https://unholymess.rusff.me/profile.php?id=4">айа</a><br>
ayen [m] — <a href="https://unholymess.rusff.me/profile.php?id=204">айен</a><br>
bobbie [f] — <a href="https://unholymess.rusff.me/profile.php?id=144">бобби</a><br>
benno [m] — <a href="https://unholymess.rusff.me/profile.php?id=260">бенно</a><br>
bernadette [f] — <a href="https://unholymess.rusff.me/profile.php?id=53">бернадетт</a><br>
cass [m] — <a href="https://unholymess.ru/profile.php?id=158">кас</a><br>
cassian [m] — <a href="https://unholymess.ru/profile.php?id=158">кассиан</a><br>
сersei [f] — <a href="https://unholymess.ru/profile.php?id=145">серсея</a><br>
Clem [f] — <a href="https://unholymess.rusff.me/profile.php?id=162">клем</a><br>
cody [f] — <a href="https://unholymess.rusff.me/profile.php?id=257">коди</a><br>
</td><td>
aetos — <a href="https://unholymess.ru/profile.php?id=105">аэтос</a><br>
archer — <a href="https://unholymess.rusff.me/profile.php?id=4">арчер</a><br>
baldwin— <a href="https://unholymess.rusff.me/profile.php?id=144">болдуин</a><br>
bates — <a href="https://unholymess.ru/profile.php?id=99">бейтс</a><br>
bearclaw— <a href="https://unholymess.rusff.me/profile.php?id=238">берклоу</a><br>
black — <a href="https://unholymess.rusff.me/profile.php?id=18">блэк</a><br>
blackthorn — <a href="https://unholymess.ru/profile.php?id=160">блэкторн</a><br>
carter — <a href="https://unholymess.rusff.me/profile.php?id=77">картер</a><br>
cipher — <a href="https://unholymess.rusff.me/profile.php?id=203">сайфер</a><br>
chang — <a href="https://unholymess.rusff.me/profile.php?id=246">чан</a><br>
clarke — <a href="https://unholymess.rusff.me/profile.php?id=78">кларк</a><br>
conley — <a href="https://unholymess.rusff.me/profile.php?id=224">конли</a><br>
crosby — <a href="https://unholymess.rusff.me/profile.php?id=103">кросби</a><br>
crowne — <a href="https://unholymess.ru/profile.php?id=108">краун</a><br>
</td></tr><tr>
<td>D — E — F</td>
<td>D — E — F</td>
</tr><tr><td>
dae-hyun [m] — <a href="https://unholymess.rusff.me/profile.php?id=245">дэхён</a><br>
dante [m] — <a href="https://unholymess.rusff.me/profile.php?id=228">данте</a><br>
dean [m] — <a href="https://unholymess.rusff.me/profile.php?id=190">дин</a><br>
desmond [m] — <a href="https://unholymess.rusff.me/profile.php?id=103">дезмонд</a><br>
Devon [m] — <a href="https://unholymess.rusff.me/profile.php?id=215">Девон</a><br>
enzo [m] — <a href="https://unholymess.rusff.me/profile.php?id=51">энзо</a><br>
estelle [f] — <a href="https://unholymess.rusff.me/profile.php?id=126">эстель</a><br>
evangeline [f] — <a href="https://unholymess.rusff.me/profile.php?id=159">эванджелина</a><br>
</td><td>
daniels — <a href="https://unholymess.rusff.me/profile.php?id=8">дэниэлс</a><br>
dante — <a href="https://unholymess.rusff.me/profile.php?id=247">данте</a><br>
darling — <a href="https://unholymess.rusff.me/profile.php?id=10">дарлинг</a><br>
de rosa — <a href="https://unholymess.rusff.me/profile.php?id=51">де'роса</a><br>
de rosa — <a href="https://unholymess.rusff.me/profile.php?id=260">де роса</a><br>
Dubois — <a href="https://unholymess.rusff.me/profile.php?id=159">Дюбуа</a><br>
duparc — <a href="https://unholymess.rusff.me/profile.php?id=53">дюпарк</a><br>
Edgar — <a href="https://unholymess.ru/profile.php?id=249">эдгар</a><br>
enescu — <a href="https://unholymess.ru/profile.php?id=252">энеску</a><br>
Fellini — <a href="https://unholymess.rusff.me/profile.php?id=227">Феллини</a><br>
fisher — <a href="https://unholymess.rusff.me/profile.php?id=263">фишер</a><br>
foster — <a href="https://unholymess.rusff.me/profile.php?id=127">фостер</a><br>
</td></tr><tr>
<td>G — H — I</td>
<td>G — H — I</td>
</tr><tr><td>
gabriel [m] — <a href="https://unholymess.rusff.me/profile.php?id=195">габриэль</a><br>
grace [f] — <a href="https://unholymess.rusff.me/profile.php?id=264">грэйс</a><br>
harper [f] — <a href="https://unholymess.rusff.me/profile.php?id=122">харпер</a><br>
Hecate [f] — <a href="https://unholymess.ru/profile.php?id=123">Геката</a><br>
Henrik [m] — <a href="https://unholymess.rusff.me/profile.php?id=236">Хенрик</a><br>
hyun tak [m] — <a href="https://unholymess.rusff.me/profile.php?id=211">хён так</a><br>
ilaria [f] — <a href="https://unholymess.rusff.me/profile.php?id=125">илария</a><br>
</td><td>
gill — <a href="https://unholymess.rusff.me/profile.php?id=66">гилл</a><br>
gilmore — <a href="https://unholymess.rusff.me/profile.php?id=90">гилмор</a><br>
go — <a href="https://unholymess.rusff.me/profile.php?id=211">го</a><br>
graves — <a href=https://unholymess.rusff.me/profile.php?id=102>грейвс</a><br>
graycastle — <a href="https://unholymess.ru/profile.php?id=240">грейкасл</a><br>
greyson — <a href="https://unholymess.rusff.me/profile.php?id=239">грейсон</a><br>
guerro — <a href="https://unholymess.rusff.me/profile.php?id=264">гуэрро</a><br>
hades — <a href="https://unholymess.ru/profile.php?id=234">хейдс</a><br>
Haller — <a href="https://unholymess.rusff.me/profile.php?id=7">холлер</a><br>
harding — <a href="https://unholymess.rusff.me/profile.php?id=75">хардинг</a><br>
Harlow — <a href="https://unholymess.ru/profile.php?id=123">Харлоу</a><br>
harwood — <a href="https://unholymess.rusff.me/profile.php?id=158">харвуд</a><br>
hicks — <a href="https://unholymess.rusff.me/profile.php?id=9">хикс</a><br>
hwan — <a href="https://unholymess.rusff.me/profile.php?id=245">хван</a><br>
</td></tr><tr>
<td>J — K — L</td>
<td>J — K — L</td>
</tr><tr><td>
jayne [f] — <a href="https://unholymess.ru/profile.php?id=99">джейн</a><br>
jens [m] — <a href="https://unholymess.ru/profile.php?id=89">йенс</a><br>
Joe [m] — <a href="https://unholymess.ru/profile.php?id=249">джо</a><br>
john [m] — <a href="https://unholymess.rusff.me/profile.php?id=12">джон</a><br>
Joseph [m] — <a href="https://unholymess.ru/profile.php?id=249">джозеф</a><br>
Julian [m] — <a href="https://unholymess.rusff.me/profile.php?id=258">Джулиан</a><br>
kael [m] — <a href="https://unholymess.ru/profile.php?id=105">каэль</a><br>
kir [m] — <a href="https://unholymess.rusff.me/profile.php?id=201">кир</a><br>
kristin [f] — <a href="https://unholymess.rusff.me/profile.php?id=78">кристин</a><br>
lara [f] — <a href="https://unholymess.rusff.me/profile.php?id=125">лара</a><br>
lavinia [f] — <a href="https://unholymess.ru/profile.php?id=252">лавиния</a><br>
lenora [f] — <a href="https://unholymess.ru/profile.php?id=96">ленора</a><br>
leslie [m] — <a href=https://unholymess.rusff.me/profile.php?id=102>лесли</a><br>
lessa [f] — <a href="https://unholymess.rusff.me/profile.php?id=184">леccа</a><br>
lethe [f] — <a href="https://unholymess.rusff.me/profile.php?id=239">лета</a><br>
louisiana [f] — <a href="https://unholymess.rusff.me/profile.php?id=208">луи</a><br>
lucas [m] — <a href="https://unholymess.rusff.me/profile.php?id=90">лукас</a><br>
luna [f] — <a href="https://unholymess.ru/profile.php?id=160">луна</a><br>
</td><td>
jackson — <a href="https://unholymess.rusff.me/profile.php?id=62">джексон</a>, <a href="https://unholymess.rusff.me/profile.php?id=120">джексон</a><br>
kravitz — <a href="https://unholymess.rusff.me/profile.php?id=201">кравиц</a><br>
layton — <a href="https://unholymess.rusff.me/profile.php?id=186">лейтон</a><br>
lee — <a href="https://unholymess.rusff.me/profile.php?id=204">ли</a><br>
legrand — <a href="https://unholymess.ru/profile.php?id=89">легран</a><br>
<br>
</td></tr><tr>
<td>M — N — O</td>
<td>M — N — O</td>
</tr><tr><td>
mark [m] — <a href="https://unholymess.rusff.me/profile.php?id=127">марк</a><br>
matteo [m] — <a href="https://unholymess.rusff.me/profile.php?id=185">маттео</a><br>
matthew [m] — <a href="https://unholymess.rusff.me/profile.php?id=224">мэттью </a><br>
morgan [f] — <a href="https://unholymess.rusff.me/profile.php?id=13">морган</a><br>
nikky [f] — <a href="https://unholymess.rusff.me/profile.php?id=18">никки</a><br>
odith [m] — <a href="https://unholymess.ru/profile.php?id=212">одит </a><br>
olivia [f] — <a href="https://unholymess.ru/profile.php?id=240">оливия</a><br>
ori [m] — <a href="https://unholymess.rusff.me/profile.php?id=238">ори</a><br>
</td><td>
maddox — <a href="https://unholymess.rusff.me/profile.php?id=95">мэддокс</a><br>
mairi — <a href="https://unholymess.ru/profile.php?id=57">майри</a><br>
moretti — <a href="https://unholymess.rusff.me/profile.php?id=189">Моретти</a><br>
Nixon — <a href="https://unholymess.ru/profile.php?id=6">никсон</a><br>
Norden — <a href="https://unholymess.rusff.me/profile.php?id=236">Норден</a><br>
</td></tr>
<tr><td>P — Q — R</td>
<td>P — Q — R</td>
</tr><tr><td>
parker [f] — <a href="https://unholymess.rusff.me/profile.php?id=8">паркер</a><br>
rafaella [f] — <a href="https://unholymess.rusff.me/profile.php?id=10">рафаэлла</a><br>
reagan [m] — <a href="https://unholymess.rusff.me/profile.php?id=235">рейган</a><br>
reese [m] — <a href="https://unholymess.ru/profile.php?id=139">риз</a><br>
rhiannon [f] — <a href="https://unholymess.ru/profile.php?id=108">рианнон</a><br>
Ryan [f] — <a href="https://unholymess.rusff.me/profile.php?id=7">райан</a><br>
</td><td>
ransom — <a href="https://unholymess.rusff.me/profile.php?id=13">рэнсом</a><br>
reynolds — <a href="https://unholymess.rusff.me/profile.php?id=125">рейнольдс</a><br>
richards — <a href="https://unholymess.rusff.me/profile.php?id=190">ричардс</a><br>
riorson— <a href="https://unholymess.ru/profile.php?id=100">риорсон</a><br>
</td></tr>
<tr><td>S — T — U</td>
<td>S — T — U</td>
</tr><tr><td>
sage [f] — <a href="https://unholymess.rusff.me/profile.php?id=77">сейдж</a><br>
sasha [f] — <a href="https://unholymess.rusff.me/profile.php?id=9">саша</a><br>
selena [f] — <a href="https://unholymess.rusff.me/profile.php?id=259">селена</a><br>
sersi [f] — <a href="https://unholymess.ru/profile.php?id=145">серси</a><br>
seth [m] — <a href="https://unholymess.rusff.me/profile.php?id=95">сет</a><br>
sol [f] — <a href="https://unholymess.ru/profile.php?id=100">сол</a><br>
stefanie [f] — <a href="https://unholymess.rusff.me/profile.php?id=23">стефани</a><br>
syrena [f] — <a href="https://unholymess.ru/profile.php?id=164">сирена</a><br>
tao [m] — <a href="https://unholymess.rusff.me/profile.php?id=246">тао</a><br>
Teo [m] — <a href="https://unholymess.rusff.me/profile.php?id=189">Тео</a><br>
Tommy [m] — <a href="https://unholymess.rusff.me/profile.php?id=227">Томми</a><br>
tori [f] — <a href="https://unholymess.rusff.me/profile.php?id=186">тори</a><br>
tyrone [m] — <a href="https://unholymess.rusff.me/profile.php?id=66">тайрон</a><br>
</td><td>
salvatore — <a href="https://unholymess.rusff.me/profile.php?id=184">сальваторе</a><br>
scaletta  — <a href="https://unholymess.rusff.me/profile.php?id=23">скалетта</a><br>
sinclair — <a href="https://unholymess.rusff.me/profile.php?id=12">синклер</a><br>
shane — <a href="https://unholymess.rusff.me/profile.php?id=122">шейн</a><br>
shaw — <a href="https://unholymess.rusff.me/profile.php?id=208">шоу</a><br>
sloan — <a href="https://unholymess.rusff.me/profile.php?id=5">слоан</a><br>
stewart — <a href="https://unholymess.ru/profile.php?id=96">стюарт</a><br>
styles — <a href="https://unholymess.rusff.me/profile.php?id=235">стайлз</a><br>
</td></tr>
<tr><td>V — W — X</td>
<td>V — W — X</td>
</tr><tr><td>
valentina [f] — <a href="https://unholymess.rusff.me/profile.php?id=75">валентина</a><br>
Wolfgang [m] — <a href="https://unholymess.rusff.me/profile.php?id=101">Вольфганг</a><br>
wren [m] — <a href="https://unholymess.rusff.me/profile.php?id=203">рен</a><br>
xavier [m] — <a href="https://unholymess.rusff.me/profile.php?id=11">ксавье</a><br>
</td><td>
vargas — <a href="https://unholymess.rusff.me/profile.php?id=257">vargas</a><br>
veer — <a href="https://unholymess.ru/profile.php?id=212">вир</a><br>
Waltz — <a href="https://unholymess.rusff.me/profile.php?id=101">Вальц</a><br>
Wignac — <a href="https://unholymess.rusff.me/profile.php?id=215">Виньяк</a><br>
</bwayne></td></tr>
<tr><td>Y — Z</td>
<td>Y — Z</td>
</tr><tr><td>
yana [f]  — <a href="https://unholymess.ru/profile.php?id=234">яна</a><br>
</td><td>
yelverton — <a href="https://unholymess.rusff.me/profile.php?id=195">йелвертон</a><br>
</td></tr>
</tbody></table>
        </p>
    </section> 
</div>
  </div>
</div>
<div class="clearer"></div>
<style>/* код от вещего духа */
@import url('https://fonts.googleapis.com/css?family=Playfair+Display:400,700,900|Prata&subset=cyrillic');
@import url('https://fonts.googleapis.com/css?family=Amatic+SC:400,700|Old+Standard+TT:400,700|Oranienbaum|Oswald:300,400,700|PT+Sans:400,700|Roboto+Condensed:300,400,700|Roboto:300,400,700');

#spiritworkroom {width: 640px;
height: 700px;
margin:auto;}

.spiritfirst {float: left;
  margin: 10px;
width: 190px;
height: 490px;
box-shadow: 0 0 0 1px rgba(0,0,0,.2);
overflow: hidden;
position: relative;
border: 5px solid #fefefe}

.spiritfirstpic {margin:auto;
width: 190px;
height: 490px;}

.spiritfirsttitle {font-family: playfair display;
font-weight: 900;
width: 190px;
color: #dfdfdf;
text-shadow: 1px 1px 0px #000;
font-size: 18px;
height: 73px;
margin: -80px 0 0 0px;
z-index: 10;
position: relative;
padding-left: 10px;
background: rgba(0,0,0,.65);
transition: all .7s cubic-bezier(0.25, 0.1, 0.25, 1) .15s}

.spiritfirsttitle subtitle {box-shadow: 0 -2px 0 0 rgba(255,255,255,.1);
  font-family: pt sans;
font-weight: normal;
color: #cecece;
text-shadow: 1px 1px 0px #333;
font-size: 9px;
display: block;
text-align: right;
letter-spacing: 1px;
margin-top:4px;
margin-right: 20px}

.spiritfirsttitle:before {background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.65));
content: "";
display: block;
position: absolute; 
width: 100%;
height: 50px;
top: -50px;
margin-left: -10px}

.spiritfirsttext {
z-index:8;
position: relative;
background: rgba(0,0,0,.65);
width: 190px;
margin: 0px 0 0 0px;
font-family: pt sans;
font-size: 10px;
text-align: justify;
padding: 1px 0px;
  color: #efefef;}

.spiritfirsttext about {margin: 10px 15px;
display: block;
box-shadow: 0 -2px 0 0 rgba(255,255,255,.1);
padding-top:10px}
.spiritfirsttext:after {background:linear-gradient(to bottom, rgba(0,0,0,.65), rgba(0,0,0,0));
content: "";
display: block;
position: absolute; 
width: 100%;
height: 100px;
bottom: -100px;
margin-left: 0px}
.spiritfirsttext subtitle {
  text-align: center;
  display: block;
  width: 190px;
  font-size: 9px;
  font-family: pt sans;
  color: #999;
  opacity: 0;
  transform: translate(0,400px);
  transition: all 1s cubic-bezier(0.25, 0.1, 0.25, 1) .15s
}

.spiritfirst:hover .spiritfirsttitle {margin-top: -530px;
}
.spiritfirst:hover subtitle {opacity:1;
  transform: translate(0,0px)} 

.spiritsecond {    background: #b2b0a8;
    width: 645px;
    margin: 0px;
    height: 680px;
    border-radius: 10px;
    /* box-shadow: 0px 1px 5px 1px; */
    border: solid 1px #5c615866;
    margin-top: 9px;
    position: absolute;
}


.tabsi {
	padding: 0px;
	margin: 0 auto;
}

.tabsi>section {
display: none;
    padding: 15px 15px 15px 60px;
    height: 570px;
    overflow-y: auto;
    text-transform: lowercase;
    margin-right: 3px;
    color: #000000;
    text-align: left;
}
.tabsi>section>p {
	margin: 0 0 5px;
	line-height: 1.5;
	color: #383838;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
}

 
@keyframes fadeIn {
	from {
    transform: translate(-400px,0);
    transform-origin: 50% 0%;
	}
	to {
    transform: translate(0px,0);
	}
}

.tabsi>input {
	display: none;
	position: absolute;
}

.tabsi>label:first-of-type {box-shadow: none}

.tabsi>label {display: inline-grid
;
    margin: 0 -3px -10px;
    padding: 17px 0px;
    font-weight: 600;
    text-align: center;
    color: #000;
    /* border-bottom: solid 1px #3c2d2d; */
    width: 320px;
    left: 6px;
    top: 0px;
    position: relative;
    /* background: #000; */
    cursor: pointer;
    font-family: philosopher;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: lighter;
}
.tabsi>label:after {content: "";
display: block;
  transition: all .3s cubic-bezier(0.25, 0.1, 0.25, 1) 0s}

.tabsi>label:hover:after {transform: scaleX(1);}
.tabsi>label:hover {
	color:  #000000;
	cursor: pointer;
  transition: all .3s cubic-bezier(0.25, 0.1, 0.25, 1) 0s
}

.tabsi>input:checked+label {
    color: #801010;
}
.tabsi>input:checked+label:after {content: "";
display: block;
position:absolute;
  transition: all .3s cubic-bezier(0.25, 0.1, 0.25, 1) 0s}

#tab1:checked~#content-tab1, #tab2:checked~#content-tab2, #tab3:checked~#content-tab3 {
	display: block;
}
#tab1:checked~#content-tab1, #tab2:checked~#content-tab2, #tab3:checked~#content-tab3 {
	display: block;
}


</style>

0

5

full english name

полное имя на рус., возраст (валькирии указывают возраст внешнего вида персонажа; остальные - реальный возраст персонажа) ✥ имя внешности на англ.

https://upforme.ru/uploads/001c/75/3f/6/113901.png https://upforme.ru/uploads/001c/75/3f/6/113901.png

раса на англ.

принадлежность к ковену/клану/стае/одиночка - только для рас, убрать для людей

работа, должность

Ник основного профиля

родственники, связи, контакты - необходимо также указать расу.

[indent] описание персонажа

особенные способности и навыки расы, уровень владения способностями. для валькирий указать, сколько раз перерождались. люди также создания способные, не забудьте отметиться, если водите машину;
укажите артефакты/амулеты, которыми владеете.
ЕСЛИ ВЫ БЕРЁТЕ СВОЮ РАСУ, в свободной форме укажите имя расы, происхождение, способности, слабости.


дополнительно, что пожелаете - от таланта держать ложку на носу до наличия домашней обезьянки.

0

6

[html]<!doctype html>
<html lang="ru">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Календарь</title>
  <style>
    :root{
      --bg: #343732;
      --text: #000000;
      --ring: 0 0 0 2px rgba(230,81,85,.45), 0 0 30px rgba(230,81,85,.15); /* #e65155 glow */
      --radius: 16px;
    }

    html,body{
      height:100%;
      margin:0;
      font: 16px/1.5 'El Messiri' !important;
      color: var(--text);
      background: radial-gradient(1200px 800px at 10% 0%, #172c0a 0%, var(--bg) 60%);
      display:flex; align-items:center; justify-content:center; padding:24px;
    }

    .wrap{width:min(1100px, 95vw);}
    h1{font-size:clamp(22px, 3vw, 28px); margin:0 0 14px; font-weight:700; letter-spacing:.2px;}
    .sub{color:#000000; margin:0 0 18px;}

    .calendar{
      position: relative;
      background: transparent; /* фон календаря прозрачный */
      border: 1px solid rgba(0,0,0,.06);
      border-radius: var(--radius);
      box-shadow: 0 10px 40px rgba(0,0,0,.08), inset 0 0 0 1px rgba(0,0,0,.04);
      overflow: hidden;
    }

    .months{ display:flex; gap:2px; }
    .month{
      flex:1; min-width: 460px;
      background: transparent; /* прозрачный фон месяца */
      border-radius: calc(var(--radius) - 2px);
      padding: 12px 12px 16px;
      border: 1px solid rgba(0,0,0,.06);
    }
    .month h2{ margin: 4px 6px 10px; font-family: 'Playfair Display SC' !important;
    font-size: 30px;
    font-style: italic;
    text-shadow: 0 0 5px #6b3836; }

    table{ width:100%; border-collapse: collapse; table-layout: fixed;}
    thead th{
      font-size:12px; color: #000000; font-weight:600; text-transform: uppercase; letter-spacing:.08em; padding:8px 4px 10px; border-bottom:1px solid rgba(0,0,0,.06);
    }
    td{
      vertical-align: top; height: 92px; padding:8px;
      border: 1px solid rgba(0,0,0,.06); /* как у .month */
      position: relative; background: rgba(145,142,131); /* 5c6158 @ 50% */
    }
    td.is-out{ opacity: .35; }

    .day-number{ font-size: 12px; color:#000000; font-weight:600; }

    .event{
      margin-top:6px; display:inline-flex; align-items:center; gap:6px; padding:6px 8px; border-radius:10px;
      background: rgba(230,81,85,.12);
      border: 1px dashed rgba(230,81,85,.40);
      color:#000000; cursor: pointer;
      user-select:none; outline: none; white-space: nowrap; max-width: 100%; overflow:hidden; text-overflow: ellipsis;
      transition: box-shadow .2s ease, transform .2s ease;
    }
    .event:hover{ box-shadow: var(--ring); }
    .event:focus-visible{ outline: none; box-shadow: var(--ring); }
    .event .dot{ width:8px; height:8px; border-radius:50%; background: #6b3836; flex:0 0 8px; }

    /* === Панель подробностей по принципу «мироописание от духа» === */
    .info-panel{
      position:absolute; z-index:5;
      /* Центр по ширине без translate — строгие поля дают 80% ширины */
      left:10%; right:10%; width:auto; /* 80% ширины контейнера */
      /* Высота не более 50% контейнера */
      max-height:50%; top:25px;

      background:#918e83; color:#111;
      box-shadow: 0 0 0 5px #918e83 inset, 0 0 0 10px rgba(0,0,0,.1) inset;
      border-radius: 14px; padding:25px; text-align:left;
      overflow:hidden;
      /* Анимация появления/сворачивания */
      opacity:0; transform: translateY(-8px) scale(.98); transition: opacity .22s ease, transform .24s ease;
      visibility: hidden; pointer-events:none;
    }
    .info-panel.is-open{ opacity:1; transform: translateY(0) scale(1); visibility: visible; pointer-events:auto; }
    .info-panel > .info-panel__content{ overflow-y:auto; height: calc(100% - 35px); padding-right:5px; }
    .info-panel h5{ font: 700 20px 'El Messiri', sans-serif; margin:20px 0 10px; position:relative; padding-left:45px; }
    .info-panel h5:before{ content:""; height:2px; width:30px; background: rgba(0,0,0,.7); position:absolute; left:0; top:50%; transform: translateY(-50%); }
    .info-panel em{ font: 400 italic 11px 'El Messiri', sans-serif; display:block; border-right:5px solid rgba(0,0,0,.1); padding-right:10px; text-align:right; margin:10px 0; }
    .close-btn{ background: rgba(0,0,0,.04); border:1px solid rgba(0,0,0,.06); height:15px; text-transform:uppercase; font: 600 10px/15px 'El Messiri', sans-serif; text-align:center; margin-bottom:20px; cursor:pointer; letter-spacing:2px; }

    /* Адаптив */
    @media (max-width: 980px){
      .months{ flex-direction: column; }
      .month{ min-width: unset; }
      td{ height: 80px; }
      /* На мобилках делаем шире и чуть выше */
      .info-panel{ left:4%; right:4%; max-height:60%; top:12px; padding:18px; }
    }
  </style>
</head>
<body>
  <div class="wrap">
 
    <div class="calendar" id="calendar">
      <div class="months">
        <!-- Сентябрь 2025 -->
        <section class="month" aria-label="Сентябрь 2025">
          <h2>2025, Sept</h2>
          <table role="grid" aria-labelledby="m-sep">
            <thead>
              <tr><th>Пн</th><th>Вт</th><th>Ср</th><th>Чт</th><th>Пт</th><th>Сб</th><th>Вс</th></tr>
            </thead>
            <tbody>
              <tr>
                <td><span class="day-number">1</span>
      <button class="event" data-title="ООО КровьДляВсех" data-when="01 сентября, 12:00" data-where="последний дом на Бурбон-стрит" data-text="Как дети в школу, вампиры решили пойти подкрепиться. Но немного переборщили с масштабами. В подвале последнего дома на Бурбон-стрит начала работу фабрика по извлечению крови из живых (и очень сопротивляющихся) людей." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> ООО КровьДляВсех
                  </button></td>
                <td><span class="day-number">2</span></td>
                <td><span class="day-number">3</span></td>
                <td><span class="day-number">4</span></td>
                <td><span class="day-number">5</span></td>
                <td><span class="day-number">6</span></td>
                <td><span class="day-number">7</span></td>
              </tr>
              <tr>
                <td><span class="day-number">8</span></td>
                <td><span class="day-number">9</span></td>
                <td><span class="day-number">10</span>
      <button class="event" data-title="Censured" data-when="10 сентября, 21:00" data-where="район Ривер Ридж" data-text="Обнаружение старинного артефакта усиливает способности пары суккубов, что проводит к аномальной вспышке сексуального желания у окружающих." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> Censured
                  </button></td>
                <td><span class="day-number">11</span></td>
                <td><span class="day-number">12</span></td>
                <td><span class="day-number">13</span></td>
                <td><span class="day-number">14</span></td>
              </tr>
              <tr>
                <td><span class="day-number">15</span></td>
                <td><span class="day-number">16</span>
      <button class="event" data-title="Съезд СМС" data-when="16 сентября, 10:00-18:00" data-where="отель Four Seasons, Канал-Стрит 2" data-text="Обмен опытом, наработками и общение стражей со всего мира происходит в Новом Орлеане. Несомненно у организации хватает недоброжелателей, чтобы испортить им мероприятие. Когда в отеле раздаётся первый взрыв, даже обычные люди начинают догадываться, что дело вовсе не в утечке газа." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> Съезд СМС
                  </button></td>
                <td><span class="day-number">17</span></td>
                <td><span class="day-number">18</span></td>
                <td><span class="day-number">19</span></td>
                <td><span class="day-number">20</span>
                  <button class="event" data-title="Турнир по волейболу: вампиры против оборотней" data-when="20 сентября, 22:00–04:00" data-where="Сангрилла Секретный пляж" data-text="Командный турнир 6×6. Стоило Новому Орлеану освободиться от власти ковена Собо, магические представители города отказались от всего былого... кроме любимого события: шестёрка лучших оборотней встречается с шестью наиболее способными вампирами, чтобы в жестоком бою доказать, кто из них лучший - в волейболе. Настоящий песок у бассейна элитного комплекса и искусственное солнце, что не вредит упырям. Получить приглашение на это мероприятие - уже честь. Здесь лучшие угощения, а шоу в перерывах не уступает Half-Time Супер Боула. Здесь налаживают контакты и просто хорошо проводят время. Будет ли и в этот раз так радужно или кому-то турнир всё-таки не угодил?" aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> Турнир по волейболу
                  </button>
                </td>
                <td><span class="day-number">21</span></td>
              </tr>
              <tr>
                <td><span class="day-number">22</span></td>
                <td><span class="day-number">23</span></td>
                <td><span class="day-number">24</span></td>
                <td><span class="day-number">25</span>
      <button class="event" data-title="Крик баньши" data-when="25 - 27 сентября" data-where="Новый Орлеан" data-text="Возросшее количество смертей и затяжная пасмурная погода повысили концентрацию баньши в городе. Покоя от их крика нет ни простым смертным, ни магическим существам." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> Крик баньши
                  </button></td>
                <td><span class="day-number">26</span>
      <button class="event" data-title="Крик баньши" data-when="25 - 27 сентября" data-where="Новый Орлеан" data-text="Возросшее количество смертей и затяжная пасмурная погода повысили концентрацию баньши в городе. Покоя от их крика нет ни простым смертным, ни магическим существам." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span>
                  </button></td>
                <td><span class="day-number">27</span>
      <button class="event" data-title="Крик баньши" data-when="25 - 27 сентября" data-where="Новый Орлеан" data-text="Возросшее количество смертей и затяжная пасмурная погода повысили концентрацию баньши в городе. Покоя от их крика нет ни простым смертным, ни магическим существам." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span>
                  </button></td>
                <td><span class="day-number">28</span></td>
              </tr>
              <tr>
                <td><span class="day-number">29</span></td>
                <td><span class="day-number">30</span>
      <button class="event" data-title="Восстание мертвецов" data-when="30 сентября, 00:00–06:00" data-where="кладбище Сент-Луи" data-text="После снятия запрета на некроматию ведьмы города зачастили на кладбище Сент-Луи. Заигрывание с мистическими силами идёт не по плану, когда один за другим воскресают духи каждого, кто был захоронен здесь. И, если этого недостаточно, за духами выбираются их разной степени разложившиеся тела. Пока призраки завершают свои земные дела и проведывают родственников, на кладбище разворачивается через чур реалистичный эпизод сериала Walking Dead." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> Восстание мертвецов
                  </button></td>
                <td class="is-out"></td>
                <td class="is-out"></td>
                <td class="is-out"></td>
                <td class="is-out"></td>
                <td class="is-out"></td>
              </tr>
            </tbody>
          </table>
        </section>
      </div>

      <!-- мироописание от духа -->
      <div class="info-panel" id="infoPanel" aria-live="polite" aria-atomic="true" role="dialog" aria-modal="false">
        <div class="close-btn" id="panelClose">— закрыть —</div>
        <div class="info-panel__content">
          <h5 id="panelTitle">Заголовок</h5>
          <em id="panelMeta">Когда и где</em>
          <div id="panelBody">Текст</div>
        </div>
      </div>
    </div>
  </div>

  <script>
    (function(){
      // === ЭЛЕМЕНТЫ ===
      const calendar = document.getElementById('calendar');
      const panel = document.getElementById('infoPanel');
      const panelClose = document.getElementById('panelClose');
      const pTitle = document.getElementById('panelTitle');
      const pMeta = document.getElementById('panelMeta');
      const pBody = document.getElementById('panelBody');

      let currentTrigger = null;

      // === ОТКРЫТИЕ ПАНЕЛИ ===
      function openFromTrigger(btn){
        currentTrigger = btn;
        pTitle.textContent = btn.dataset.title || btn.textContent.trim();
        const whenTxt = btn.dataset.when ? btn.dataset.when : '';
        const whereTxt = btn.dataset.where ? (whenTxt ? ' · ' : '') + btn.dataset.where : '';
        pMeta.textContent = (whenTxt + whereTxt).trim();
        pBody.textContent = btn.dataset.text || '';
        panel.classList.add('is-open');
        panel.setAttribute('aria-modal','true');
        panelClose.focus();
      }

      // === ЗАКРЫТИЕ ПАНЕЛИ ===
      function closePopover(){
        panel.classList.remove('is-open');
        panel.setAttribute('aria-modal','false');
        if (currentTrigger) currentTrigger.focus();
      }

      // === СЛУШАТЕЛИ ===
      calendar.addEventListener('click', (e)=>{
        const btn = e.target.closest('.event');
        if (!btn) return;
        openFromTrigger(btn);
      });

      panelClose.addEventListener('click', closePopover);
      document.addEventListener('keydown', (e)=>{ if (e.key === 'Escape') closePopover(); });

      // Быстрое копирование по двойному клику по заголовку
      pTitle.addEventListener('dblclick', async ()=>{
        const text = `${pTitle.textContent}\n${pMeta.textContent}\n\n${pBody.textContent}`.trim();
        try { await navigator.clipboard.writeText(text); } catch(e){}
      });

      // === Самопроверка/"тесты" в консоли ===
      (function selfTest(){
        const results = [];
        const reqIds = ['calendar','infoPanel','panelClose','panelTitle','panelMeta','panelBody'];
        const missing = reqIds.filter(id => !document.getElementById(id));
        results.push(['IDs exist', missing.length===0, missing.length ? ('missing: '+missing.join(', ')) : 'ok']);
        const eventsCount = document.querySelectorAll('.event').length;
        results.push(['Events present', eventsCount>0, 'count='+eventsCount]);
        console.groupCollapsed('%cCalendar self-test','background:#0f1630;color:#cfe0ff;padding:2px 6px;border-radius:6px');
        results.forEach(([name, ok, msg])=> console[ok?'log':'warn'](`${name}: ${ok?'OK':'FAIL'} (${msg})`));
        console.groupEnd();
        if (location.hash === '#test' && eventsCount){
          const first = document.querySelector('.event');
          openFromTrigger(first);
          setTimeout(closePopover, 1200);
        }
      })();
    })();
  </script>
</body>
</html>
[/html]
[html]<!doctype html>
<html lang="ru">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Календарь</title>
  <style>
    :root{
      --bg: #343732;
      --text: #000000;
      --ring: 0 0 0 2px rgba(230,81,85,.45), 0 0 30px rgba(230,81,85,.15); /* #e65155 glow */
      --radius: 16px;
    }

    html,body{
      height:100%;
      margin:0;
      font: 16px/1.5 'El Messiri' !important;
      color: var(--text);
      background: radial-gradient(1200px 800px at 10% 0%, #172c0a 0%, var(--bg) 60%);
      display:flex; align-items:center; justify-content:center; padding:24px;
    }

    .wrap{width:min(1100px, 95vw);}
    h1{font-size:clamp(22px, 3vw, 28px); margin:0 0 14px; font-weight:700; letter-spacing:.2px;}
    .sub{color:#000000; margin:0 0 18px;}

    .calendar{
      position: relative;
      background: transparent; /* фон календаря прозрачный */
      border: 1px solid rgba(0,0,0,.06);
      border-radius: var(--radius);
      box-shadow: 0 10px 40px rgba(0,0,0,.08), inset 0 0 0 1px rgba(0,0,0,.04);
      overflow: hidden;
    }

    .months{ display:flex; gap:2px; }
    .month{
      flex:1; min-width: 460px;
      background: transparent; /* прозрачный фон месяца */
      border-radius: calc(var(--radius) - 2px);
      padding: 12px 12px 16px;
      border: 1px solid rgba(0,0,0,.06);
    }
    .month h2{ margin: 4px 6px 10px; font-family: 'Playfair Display SC' !important;
    font-size: 30px;
    font-style: italic;
    text-shadow: 0 0 5px #6b3836; }

    table{ width:100%; border-collapse: collapse; table-layout: fixed;}
    thead th{
      font-size:12px; color: #000000; font-weight:600; text-transform: uppercase; letter-spacing:.08em; padding:8px 4px 10px; border-bottom:1px solid rgba(0,0,0,.06);
    }
    td{
      vertical-align: top; height: 92px; padding:8px;
      border: 1px solid rgba(0,0,0,.06); /* как у .month */
      position: relative; background: rgba(145,142,131); /* 5c6158 @ 50% */
    }
    td.is-out{ opacity: .35; }

    .day-number{ font-size: 12px; color:#000000; font-weight:600; }

    .event{
      margin-top:6px; display:inline-flex; align-items:center; gap:6px; padding:6px 8px; border-radius:10px;
      background: rgba(230,81,85,.12);
      border: 1px dashed rgba(230,81,85,.40);
      color:#000000; cursor: pointer;
      user-select:none; outline: none; white-space: nowrap; max-width: 100%; overflow:hidden; text-overflow: ellipsis;
      transition: box-shadow .2s ease, transform .2s ease;
    }
    .event:hover{ box-shadow: var(--ring); }
    .event:focus-visible{ outline: none; box-shadow: var(--ring); }
    .event .dot{ width:8px; height:8px; border-radius:50%; background: #6b3836; flex:0 0 8px; }

    /* === Панель подробностей по принципу «мироописание от духа» === */
    .info-panel{
      position:absolute; z-index:5;
      /* Центр по ширине без translate — строгие поля дают 80% ширины */
      left:10%; right:10%; width:auto; /* 80% ширины контейнера */
      /* Высота не более 50% контейнера */
      max-height:50%; top:25px;

      background:#918e83; color:#111;
      box-shadow: 0 0 0 5px #918e83 inset, 0 0 0 10px rgba(0,0,0,.1) inset;
      border-radius: 14px; padding:25px; text-align:left;
      overflow:hidden;
      /* Анимация появления/сворачивания */
      opacity:0; transform: translateY(-8px) scale(.98); transition: opacity .22s ease, transform .24s ease;
      visibility: hidden; pointer-events:none;
    }
    .info-panel.is-open{ opacity:1; transform: translateY(0) scale(1); visibility: visible; pointer-events:auto; }
    .info-panel > .info-panel__content{ overflow-y:auto; height: calc(100% - 35px); padding-right:5px; }
    .info-panel h5{ font: 700 20px 'El Messiri', sans-serif; margin:20px 0 10px; position:relative; padding-left:45px; }
    .info-panel h5:before{ content:""; height:2px; width:30px; background: rgba(0,0,0,.7); position:absolute; left:0; top:50%; transform: translateY(-50%); }
    .info-panel em{ font: 400 italic 11px 'El Messiri', sans-serif; display:block; border-right:5px solid rgba(0,0,0,.1); padding-right:10px; text-align:right; margin:10px 0; }
    .close-btn{ background: rgba(0,0,0,.04); border:1px solid rgba(0,0,0,.06); height:15px; text-transform:uppercase; font: 600 10px/15px 'El Messiri', sans-serif; text-align:center; margin-bottom:20px; cursor:pointer; letter-spacing:2px; }

    /* Адаптив */
    @media (max-width: 980px){
      .months{ flex-direction: column; }
      .month{ min-width: unset; }
      td{ height: 80px; }
      /* На мобилках делаем шире и чуть выше */
      .info-panel{ left:4%; right:4%; max-height:60%; top:12px; padding:18px; }
    }
  </style>
</head>
<body>
  <div class="wrap">
 
    <div class="calendar" id="calendar">
      <div class="months">
              <!-- Октябрь 2025 -->
        <section class="month" aria-label="Октябрь 2025">
          <h2>2025, Oct</h2>
          <table role="grid">
            <thead>
              <tr><th>Пн</th><th>Вт</th><th>Ср</th><th>Чт</th><th>Пт</th><th>Сб</th><th>Вс</th></tr>
            </thead>
            <tbody>
              <tr>
                <td class="is-out"></td>
                <td class="is-out"></td>
                <td><span class="day-number">1</span></td>
                <td><span class="day-number">2</span></td>
                <td><span class="day-number">3</span></td>
                <td><span class="day-number">4</span>
      <button class="event" data-title="Задержка рейсов" data-when="04 октября, 09:00–23:00" data-where="аэропорт им. Луи Армстронга" data-text="Колдун, опаздывающий на свой самолёт, - горе в семье. А ещё - в целом городе. Сверхплотный туман заволакивает городской аэропорт, создавая транспортный коллапс. НЕестественное явление не позволяет покинуть здание, а стоит туману пробраться внутрь, как становится ясно, что монстры скрываются не только во тьме, но и в мельчайших частицах воды, которые скопились в воздухе." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> Задержка рейсов
                  </button></td>
                <td><span class="day-number">5</span></td>
              </tr>
              <tr>
                <td><span class="day-number">6</span></td>
                <td><span class="day-number">7</span>
      <button class="event" data-title="La Maison de papier" data-when="07 октября, 13:00–19:00" data-where="магический рынок" data-text="Ещё один вторник на магическом рынке (скрытые от туристов ряды с волшебными товарами, а также отдельные магазины) становится совсем не скучным. Банда грабителей в результате неудачного стечения обстоятельств берёт в заложники персонал и посетителей самого дорого магазина. Успеют ли СМС вмещаться до того, как прольётся первая кровь? (Нет)." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> La Maison de papier
                  </button></td>
                <td><span class="day-number">8</span></td>
                <td><span class="day-number">9</span></td>
                <td><span class="day-number">10</span></td>
                <td><span class="day-number">11</span></td>
                <td><span class="day-number">12</span></td>
              </tr>
              <tr>
                <td><span class="day-number">13</span></td>
                <td><span class="day-number">14</span></td>
                <td><span class="day-number">15</span></td>
                <td><span class="day-number">16</span>
                  <button class="event" data-title="Неделя террора" data-when="16 - 23 октября" data-where="болота Манчак" data-text="День, когда на болотах было обнаружено первое растерзанное тело. Ругару терроризует болота в течении недели. Кемпинг и туристические экскурсии следовало бы отложить, но остались смельчаки, что не склонны менять планы." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> Неделя террора
                  </button>
                </td>
                <td><span class="day-number">17</span>
                  <button class="event" data-title="Неделя террора" data-when="16 - 23 октября" data-where="болота Манчак" data-text="День, когда на болотах было обнаружено первое растерзанное тело. Ругару терроризует болота в течении недели. Кемпинг и туристические экскурсии следовало бы отложить, но остались смельчаки, что не склонны менять планы." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span>
                  </button></td>
                <td><span class="day-number">18</span>
                  <button class="event" data-title="Неделя террора" data-when="16 - 23 октября" data-where="болота Манчак" data-text="День, когда на болотах было обнаружено первое растерзанное тело. Ругару терроризует болота в течении недели. Кемпинг и туристические экскурсии следовало бы отложить, но остались смельчаки, что не склонны менять планы." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span>
                  </button></td>
                <td><span class="day-number">19</span>
                  <button class="event" data-title="Неделя террора" data-when="16 - 23 октября" data-where="болота Манчак" data-text="День, когда на болотах было обнаружено первое растерзанное тело. Ругару терроризует болота в течении недели. Кемпинг и туристические экскурсии следовало бы отложить, но остались смельчаки, что не склонны менять планы." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span>
                  </button></td>
              </tr>
              <tr>
                <td><span class="day-number">20</span>
                  <button class="event" data-title="Неделя террора" data-when="16 - 23 октября" data-where="болота Манчак" data-text="День, когда на болотах было обнаружено первое растерзанное тело. Ругару терроризует болота в течении недели. Кемпинг и туристические экскурсии следовало бы отложить, но остались смельчаки, что не склонны менять планы." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span>
                  </button></td>
                <td><span class="day-number">21</span>
                  <button class="event" data-title="Неделя террора" data-when="16 - 23 октября" data-where="болота Манчак" data-text="День, когда на болотах было обнаружено первое растерзанное тело. Ругару терроризует болота в течении недели. Кемпинг и туристические экскурсии следовало бы отложить, но остались смельчаки, что не склонны менять планы." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span>
                  </button></td>
                <td><span class="day-number">22</span>
                  <button class="event" data-title="Неделя террора" data-when="16 - 23 октября" data-where="болота Манчак" data-text="День, когда на болотах было обнаружено первое растерзанное тело. Ругару терроризует болота в течении недели. Кемпинг и туристические экскурсии следовало бы отложить, но остались смельчаки, что не склонны менять планы." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span>
                  </button></td>
                <td><span class="day-number">23</span>
                  <button class="event" data-title="Неделя террора" data-when="16 - 23 октября" data-where="болота Манчак" data-text="День, когда на болотах было обнаружено первое растерзанное тело. Ругару терроризует болота в течении недели. Кемпинг и туристические экскурсии следовало бы отложить, но остались смельчаки, что не склонны менять планы." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span>
                  </button></td>
                <td><span class="day-number">24</span></td>
                <td><span class="day-number">25</span></td>
                <td><span class="day-number">26</span></td>
              </tr>
              <tr>
                <td><span class="day-number">27</span></td>
                <td><span class="day-number">28</span></td>
                <td><span class="day-number">29</span></td>
                <td><span class="day-number">30</span></td>
                <td><span class="day-number">31</span>
                  <button class="event" data-title="Krewe of BOO!" data-when="31 октября, ночь" data-where="улицы Нового Орлеана" data-text="Хэллоуин в Новом Орлеане всегда был особенным, но 2025-й обещает переписать правила игры. Krewe of BOO! выходит на улицы города: мистические платформы, колдовской джаз и маски, за которыми может скрываться кто угодно: сосед с Мариньи, древний дух с Миссисипи или существо, которое ещё вчера боялось показать клыки." aria-haspopup="dialog">
                    <span class="dot" aria-hidden="true"></span> Krewe of BOO!
                  </button>
                </td>
                <td class="is-out"></td>
                <td class="is-out"></td>
              </tr>
            </tbody>
          </table>
        </section>
      </div>

      <!-- мироописание от духа -->
      <div class="info-panel" id="infoPanel" aria-live="polite" aria-atomic="true" role="dialog" aria-modal="false">
        <div class="close-btn" id="panelClose">— закрыть —</div>
        <div class="info-panel__content">
          <h5 id="panelTitle">Заголовок</h5>
          <em id="panelMeta">Когда и где</em>
          <div id="panelBody">Текст</div>
        </div>
      </div>
    </div>
  </div>

  <script>
    (function(){
      // === ЭЛЕМЕНТЫ ===
      const calendar = document.getElementById('calendar');
      const panel = document.getElementById('infoPanel');
      const panelClose = document.getElementById('panelClose');
      const pTitle = document.getElementById('panelTitle');
      const pMeta = document.getElementById('panelMeta');
      const pBody = document.getElementById('panelBody');

      let currentTrigger = null;

      // === ОТКРЫТИЕ ПАНЕЛИ ===
      function openFromTrigger(btn){
        currentTrigger = btn;
        pTitle.textContent = btn.dataset.title || btn.textContent.trim();
        const whenTxt = btn.dataset.when ? btn.dataset.when : '';
        const whereTxt = btn.dataset.where ? (whenTxt ? ' · ' : '') + btn.dataset.where : '';
        pMeta.textContent = (whenTxt + whereTxt).trim();
        pBody.textContent = btn.dataset.text || '';
        panel.classList.add('is-open');
        panel.setAttribute('aria-modal','true');
        panelClose.focus();
      }

      // === ЗАКРЫТИЕ ПАНЕЛИ ===
      function closePopover(){
        panel.classList.remove('is-open');
        panel.setAttribute('aria-modal','false');
        if (currentTrigger) currentTrigger.focus();
      }

      // === СЛУШАТЕЛИ ===
      calendar.addEventListener('click', (e)=>{
        const btn = e.target.closest('.event');
        if (!btn) return;
        openFromTrigger(btn);
      });

      panelClose.addEventListener('click', closePopover);
      document.addEventListener('keydown', (e)=>{ if (e.key === 'Escape') closePopover(); });

      // Быстрое копирование по двойному клику по заголовку
      pTitle.addEventListener('dblclick', async ()=>{
        const text = `${pTitle.textContent}\n${pMeta.textContent}\n\n${pBody.textContent}`.trim();
        try { await navigator.clipboard.writeText(text); } catch(e){}
      });

      // === Самопроверка/"тесты" в консоли ===
      (function selfTest(){
        const results = [];
        const reqIds = ['calendar','infoPanel','panelClose','panelTitle','panelMeta','panelBody'];
        const missing = reqIds.filter(id => !document.getElementById(id));
        results.push(['IDs exist', missing.length===0, missing.length ? ('missing: '+missing.join(', ')) : 'ok']);
        const eventsCount = document.querySelectorAll('.event').length;
        results.push(['Events present', eventsCount>0, 'count='+eventsCount]);
        console.groupCollapsed('%cCalendar self-test','background:#0f1630;color:#cfe0ff;padding:2px 6px;border-radius:6px');
        results.forEach(([name, ok, msg])=> console[ok?'log':'warn'](`${name}: ${ok?'OK':'FAIL'} (${msg})`));
        console.groupEnd();
        if (location.hash === '#test' && eventsCount){
          const first = document.querySelector('.event');
          openFromTrigger(first);
          setTimeout(closePopover, 1200);
        }
      })();
    })();
  </script>
</body>
</html>
[/html]
Все описанные выше события можно использовать для личных отыгрышей.

0


Вы здесь » testsmth » Verbum vincit omnia » оформления


Рейтинг форумов | Создать форум бесплатно