Не подглядывайте, ёпта!

тёмный лорд одержал победу во второй магической войне, установив тоталитарный режим. волшебное общество оказалось разделено на касты по чистоте крови, границы закрыты, а репрессии и дискриминация стали нормой. надежда на перемены теперь связана с сопротивлением, которое по масштабу превзошло сам орден феникса.
malleus maleficarum
hp: dark au
2nd gen, 2008
best post
harry potter: К сожалению, ни один праздник не мог гарантировать, что ничего плохого вновь не случится. Однако кое-что он проявлял наверняка: люди знали обо всех возможных последствиях, и все равно приходили. И впервые за много лет Гарри вдруг подумал, что тридцать первое июля все же может быть днем, когда не обязательно прятаться.
выберись из неё
итоги экспедиции
выберись из неё
новый расклад
сыграй в маджонг

Squirrel test

Объявление

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

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


    Вы здесь » Squirrel test » — мироустройство » лето 2026


    лето 2026

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

    1

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

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

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

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

    0

    2

    [html]
    <style>
    :root {
      --monster-img: url('https://forumstatic.ru/files/0014/d2/5e/23060.png');
      --shit-img: url('https://forumstatic.ru/files/0014/d2/5e/77318.png');
      --hat-img: url('https://forumstatic.ru/files/0014/d2/5e/46467.png');
    }

    .dark {
      --shit-img: url('https://forumstatic.ru/files/0014/d2/5e/34632.png');
      --hat-img: url('https://forumstatic.ru/files/0014/d2/5e/41096.png');
    }

    .guestbook-main {
      width: 100%;
      box-sizing: border-box;
      background: var(--footer);
      border-radius: 20px;
      min-height: 400px;
      padding: 20px;
    position: relative;
    overflow: visible;
    }

    .inner {background: rgba(214, 214, 214, 0.7);
    padding: 20px;
      border-radius: 20px;
    position: relative;
    z-index: 2;}

    .guestbook-decor {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
    overflow: visible;
    }

    .monster,
    .shit,
    .hat {
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
    }

    .monster { background-image: var(--monster-img);
    position: absolute;
      bottom: 0;
      left: -15px;
      width: 109px;
      height: 185px;
      z-index: 3;
      top: -36px;
      background-image: var(--monster-img);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
    .shit   {  position: absolute;
      top: -7px;
      left: 297px;
      width: 52px;
      height: 31px;
      z-index: 1;
      background-image: var(--shit-img);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;}
    .hat    {  position: absolute;
      top: 32px;
      right: 4px;
      width: 60px;
      height: 53px;
      z-index: 2;
      background-image: var(--hat-img);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }

    .tooltip {
      position: relative;
      display: inline-block;
      cursor: pointer;
    }

    .tooltip .tooltiptext {
      visibility: hidden;
      height: auto;
      background-color: var(--sec-bg);
      color: var(--textcolor);
      text-align: center;
      border-radius: 6px;
      position: absolute;
      z-index: 999;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.5s;
      font-size: 9px;
      box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.7);
      line-height: 1.4;
      overflow: hidden;
      top: 10px;
      padding: 5px;
      min-width: 100px;
    }

    .tooltip:hover .tooltiptext {
      visibility: visible;
      opacity: 1;
    }

    .guest-header {
    font-family: var(--news-font);
        font-size: 120px;
        line-height: 100%;
        color: var(--dark-accent);
        margin-top: -53px;
        z-index: 2;
        text-align: center;
        text-transform: uppercase;
        position: relative;
    }

    .guest-about {
      position: relative;
      width: 100%;       
      box-sizing: border-box;
      background: var(--light-accent);
      color: var(--textcolor);
      border-radius: 3px;
      text-align: center;
      padding: 3px;
      margin-bottom: 10px;
    }

    .deadlist {
      position: relative; 
      width: 100%;   
      box-sizing: border-box;
      font-style: normal;
      font-weight: 400;
      font-size: 10px;
      line-height: 1.4;   
      text-transform: lowercase;
      margin-top: 10px;
      text-align: left;
    }

    .guest-table {
      display: flex;
      flex-direction: row;
      gap: 10px;
    margin-top: -10px;
    }

    .column1 {
    flex: 4;
        font-style: normal;
        font-weight: 400;
        font-size: 10px;
        line-height: 100%;
        text-align: justify;
        text-transform: lowercase;
        box-sizing: border-box;
        z-index: 10;
        min-width: 25%;
    }

    .column1 span {
      display: block;
      font-style: normal;
      font-weight: 700;
      font-size: 11px;
      line-height: 11px;
      text-align: center;
      text-transform: lowercase;
      color: var(--profilelight);
      box-sizing: border-box;
      background: var(--body-bg);
      border-radius: 3px;
      padding: 2px;
      margin-bottom: 5px;
    color: var(--white)
    }

    .column1 a {
      color: var(--white);
    }

    .dark .column1 span {color: var(--textcolor);
    background: var(--sec-bg)}
    .dark .column1 span a {color: var(--textcolor);}
    .dark .column1 span a:hover {color: var(--footer);}

    .dark .guest-links a {color: var(--textcolor);
    background: var(--link-hover)}

    .column1 a:hover {
      color: var(--link);
    }

    .dark .guest-links a:hover {
      color: var(--footer);
    }

    .dark .guidelines {background: var(--sec-bg);
    color: var(--textcolor)}
    .dark .guest-about {background: var(--link-hover)}

    .column2 {
      width: 54%;
      box-sizing: border-box;
    }

    .column3 {
      box-sizing: border-box;
      text-align: center;
      display: flex;
      flex-direction: column;
      width: 240px;   
      flex-shrink: 0; 
    }

    .faces-roles-container {
      display: flex;
      flex-direction: row;
      gap: 5px;
    }

    .faces, .roles {
      flex: 1;
    }

    .faces-title, .roles-title {
      font-family: var(--extra-font);
      color: var(--link);
      text-align: center;
      font-size: 18px;
      line-height: 88%;
    }

    .faces-body, .roles-body {
    border-radius: 5px;
        padding: 5px;
        margin-top: 10px;
        background: var(--guest-overlay);
        color: var(--sec-bg);
        text-align: center;
        min-height: 300px;
        text-transform: lowercase;
    }

    .faces-body a, .roles-body a {
      position: relative;
      z-index: 10;
      color: var(--textcolor);
    }

    .faces-body a:hover, .roles-body a:hover {
      color: var(--link);
    }

    .guidelines {
      width: 100%;
      padding: 3px;
      font-weight: 400;
      font-size: 10px;
      line-height: 88%;
      text-align: center;
      text-transform: lowercase;
      color: var(--white);
      background: var(--body-bg);
      border-radius: 3px;
      margin-bottom: 10px;
      box-sizing: border-box;
    font-weight: bold;
    }

    .guest-links {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      z-index: 10;
      padding-top: 10px;
      justify-content: center;
    }

    .guest-links a:hover {
      background: var(--dark-accent);
    }

    .guest-links a {
      color: var(--footer);
      background: var(--light-accent);
      padding: 2px 5px;
      border-radius: 3px;
    }

    .guest-links a:hover {background: var(--body-bg);}

    .guest-ams {
      display: grid;
      grid-template-columns: repeat(3, 65px);
      gap: 5px;
      justify-content: center;
      margin: 0 auto;
    }

    .guest-ams .tooltip:nth-child(4) {
      grid-column: 2 / 3;
    }

    .guest-ams img {
      width: 65px;
      height: 30px;
      background: var(--light-accent);
      object-fit: cover;
      object-position: top center;
      border-radius: 5px;
      position: relative;
    }

    .ams-2 {display: flex;
        align-items: center;
        justify-content: center;
        margin-left: 100px;
        gap: 5px;}

    .image-container {
      position: relative;
      width: 65px;
      height: 30px;
      border-radius: 5px;
      overflow: hidden;
    }

    .image-container img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
      background: var(--light-accent);
      border-radius: inherit;
    }

    .overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: var(--topic-overlay);
      border-radius: inherit;
      pointer-events: none;
    }

    </style>

    <div class="guestbook-main">
    <div class="inner">
    <div class="guestbook-decor">
      <div class="monster"></div>
      <div class="shit"></div>
      <div class="hat"></div>
    </div>

    <div class="guest-header">Malleus Maleficarum</div>

      <div class="guest-table">
        <div class="column1">
          <span><a href="https://mmaleficarum.rusff.me/viewtopic.php?id=5#p5">faq</a> ✦ <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=10">правила</a> ✦ <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=20#p1679">сюжет и хронология</a></span>
          <div class="guest-links">
            <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=33#p4607">внешности</a>
            <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=64#p5558">должности</a>
            <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=844#p101443">сюжетные персонажи</a>
            <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=3">нужные</a>
            <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=9#p9">шаблон анкеты</a>
            <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=4">хочу к вам</a>
          </div>
          <p>победа тёмного лорда во второй магической войне погрузила великобританию в мрак и хаос. внезапной силой, давшей решительный отпор, стали магглы в кооперации с остатками оф. инициация тайного протокола «молот ведьм» («malleus maleficarum») привела к разрушениям и гибели самого волдеморта. но успех оказался временным. вскоре волшебный мир ждало новое возвращение тёмного лорда, на этот раз — долгосрочное. за минувшие годы магическое общество великобритании в полной мере ощутило на себе тоталитаризм нового режима, репрессии и дискриминацию. население разделено на касты по чистоте крови, а границы закрыты. вся надежды на сопротивление — мятежную сеть, масштабу которой позавидовал бы сам орден феникса.</p>
        </div>

        <div class="column2">
          <div class="guidelines">внешности и роли за гостями придерживаем на сутки; <br>для зарегистрированного профиля - на три дня с возможностью продления до трёх раз</div>
          <div class="faces-roles-container">
            <div class="faces">
              <div class="faces-title">внешности</div>
              <div class="faces-body">
                <b>3.03</b><br>
                Oscar isaac - <a href="https://mmaleficarum.rusff.me/profile.php?id=350">richard avery</a><br>
                <b>30.03</b><br>
                margot robbie - <a href="https://mmaleficarum.rusff.me/profile.php?id=215">ronald weasley</a><br>
                jacob elordi - <a href="https://mmaleficarum.rusff.me/profile.php?id=215">ronald weasley</a>
              </div>
            </div>
            <div class="roles">
              <div class="roles-title">роли</div>
              <div class="roles-body">
                <b>3.03</b><br>
                richard avery - <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=3&p=2#p115402">richard avery</a><br>
                <b>30.03</b><br>
                gwenog jones - <a href="https://mmaleficarum.rusff.me/profile.php?id=215">ronald weasley</a><br>
                ernie macmillan - <a href="https://mmaleficarum.rusff.me/profile.php?id=215">ronald weasley</a><br>
              </div>
            </div>
          </div>
        </div>

        <div class="column3">
          <div class="guest-about"><b>hp: dark au // 2nd generation — 2008 рейтинг: NC-21 // мастеринг: смешанный</b><br>
          победа темного лорда, антиутопия, кастовое общество, конфликт с магглами и активное сопротивление</div>

          <div class="guest-ams">
            <div class="tooltip">
              <a href="https://mmaleficarum.rusff.me/profile.php?id=5">
                <div class="image-container">
                  <img src="https://upforme.ru/uploads/001c/3b/dd/226/593755.gif">
                  <div class="overlay"></div>
                </div>
              </a>
              <span class="tooltiptext">куратор сопротивления и наших сердечек, сюжетник</span>
            </div>

            <div class="tooltip">
              <a href="https://mmaleficarum.rusff.me/profile.php?id=27">
                <div class="image-container">
                  <img src="https://upforme.ru/uploads/001c/3b/dd/226/445813.gif">
                  <div class="overlay"></div>
                </div>
              </a>
              <span class="tooltiptext">куратор мунго и подрывник наших мозгов</span>
            </div>

            <div class="tooltip">
              <a href="https://mmaleficarum.rusff.me/profile.php?id=161">
                <div class="image-container">
                  <img src="https://upforme.ru/uploads/001c/3b/dd/226/43499.gif">
                  <div class="overlay"></div>
                </div>
              </a>
              <span class="tooltiptext">куратор пожирателей и азартный мотиватор</span>
            </div>

          <div class="ams-2">  <div class="tooltip">
              <a href="https://mmaleficarum.rusff.me/profile.php?id=215">
                <div class="image-container">
                  <img src="https://upforme.ru/uploads/001c/3b/dd/226/274665.gif">
                  <div class="overlay"></div>
                </div>
              </a>
              <span class="tooltiptext">куратор домп и нашего чувства прекрасного</span>
            </div>

        <div class="tooltip">
              <a href="https://mmaleficarum.rusff.me/profile.php?id=215">
                <div class="image-container">
                  <img src="https://upforme.ru/uploads/001c/3b/dd/226/274665.gif">
                  <div class="overlay"></div>
                </div>
              </a>
              <span class="tooltiptext">куратор домп и нашего чувства прекрасного</span>
            </div>
          </div></div>

          <div class="deadlist"><b>список убитых:</b> remus lupin, sirius black, arthur weasley, molly weasley, minerva mcgonagall, rubeus hagrid, bellatrix lestrange, dean thomas, xenophilius lovegood, rodolphus lestrange, arabella figg, vernon dursley, emmeline vance, lucius malfoy, nott sr., corban yaxley, augustus rookwood, walden mcnair, pyrites, travers sr., antonin dolohov, amycus carrow, jugson, avery sr., rosier sr., wilkesj, ludo bagman, sky parkin, cormac mclaggen, orion amari, jasper nottley, maura kettleback, alias gampthorn, corvin thisleby, basil horton, garold dingle, alban filch, verena hope, henry tonks, alastor moody, tbc.</div>
        </div>
      </div>
    </div>
    </div>
    [/html]
    занять роль и/или внешность

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

    [hideprofile]

    0

    3

    [html]
    <div class="news-main">
      <div class="news-zagolovok">BREAKING NEWS</div>

      <div class="news-podlozhka">
        <div class="news-date">01/02/2026</div>

    <p>
      <span class="news-author-inline">
        <img src="https://64.media.tumblr.com/cd87a8914c1ac6d6c81537d9506e40f4/b52989049bb715e4-f6/s540x810/3c6969cad1db438a2f0fd9188aa860f174cfc133.gif">
      </span>
    Халлоу эгейн, я захватил новостную темку и больше никого сюда не пущу, муахаха.
    </p>

    <p>А бокал на гифке поднимаю в честь главной новости: сегодня родилась та, без кого мы все тут бы не собрались, создательница малефики и наша идейная вдохновительница, замечательная Джинни-какая-то-там-куча-лишних-фамилий-Уизли. срочно бегите <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=182&p=4">поздравлять</a>, если вы ещё не. Ну или просто ловите именинницу в любом удобном месте и обнимайте, я сегодня даже ревновать не буду <s>но это не точно</s>. </p>

    <p>Ну да, ну да, я немного увлёкся, сами понимаете, сердечки в глазах мешают нажимать на тормоза... но вообще-то на дворе февраль, так что сам Мерлин велел. Или это был не он, а Валентин? Ай, главное, что love is in the air и вот это вот всё. Мы ещё к вам вернёмся с дополнительным розовым безумием, а пока что к нам залетел первый шальной Купидончик и принёс <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=998#p116508">валентиновское бинго</a>. Причём был так добр, что разрешил заполнять карточку со всех профилей разом. И вы это, не бойтесь, даже если ненавидите праздник всеми фибрами души, или просто ещё не отыскали свою половинку, четвертинку или квадратный корень, вам всё равно найдётся, чем разнообразить посты, узнать получше собственных персонажей и, конечно же, пополнить копилочку баллов противостояния за любимую команду.</p>

    <p>Ну а если это всё вот прям совсем мимо кассы, то спрятаться от вездесущей романтики можно в <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=999#p116509">бункере</a>, записывайтесь, это весело, а ещё надеюсь будет в хорошем смысле трэшово!</p>

        <p>Отдохнули и с новыми (вот прям совсем новыми) силами готовы бросаться в игру? Тогда для вас наша новая постоянная акция - <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=997#p116507">wanted: alive</a>. В этой теме мы будем объявлять месячник персонажей, за регистрацию которых полагаются дополнительные плюшки. И в феврале очень ждём... <s>щас, подождите, на меня наложат Империо, чтоб я мог продолжить</s> всех скользких друзей мне-цензура-запрещает-писать-кого, Пожирателей Смерти то бишь!</p>

    <p>Но, наверное, мы неправильно расставили приоритеты, и февраль надо было объявлять месяцем рыжих. Ведь они потихоньку захватывают мир, а начали с нашей шапки. Поздравляем звёздочек этих двух недель, которые радовали нас постами, скакали на скакалочках , рассказывали увлекательные истории и флудили напропалую: <a href="https://mmaleficarum.rusff.me/profile.php?id=5">Джинни</a>, <a href="https://mmaleficarum.rusff.me/profile.php?id=199">Перси</a>, <a href="https://mmaleficarum.rusff.me/profile.php?id=153">Сьюзен</a>, гордимся вами и хотим быть как вы!</p>
    <p>Хотя есть у нас и другие ролевые модели. Участники квеста <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=828&p=2#p99144">Trumpets before Jericho</a>, например, умеют и отдохнуть, и подраться, и вообще на вторую страницу темы перевалили. Бегите скорее читать и делать ставки, переживёт ли яхта господина Веларде такой накал страстей.</p>
    <p>А я ведь говорил, да, что любовь разлита в воздухе? И мы на самом деле знаем, почему так рано. Просто очаровательная <a href="https://mmaleficarum.rusff.me/profile.php?id=260">Лавандушка</a> очень ответственно начала готовиться к грядущему празднику заранее и <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=983#p115718">окунула</a> нас в ностальгию по первой детской влюблённости, даже моё циничное сердечко проняло.</p>

    <p>Пойду тоже чего-нибудь напишу, и вам того же желаю. <i>Зажжём</i> в феврале, а?.</p>
    <p></p>
      </div>
    </div>
    [/html]
    [hideprofile]

    0

    4

    [html]
    <div class="news-main">
        <div class="news-zagolovok">OUR DARLINGS</div>

      <div class="news-podlozhka">
      <div class="news-date">15/12/2025</div>   <p>Гутен таг, мейне либен фрокенбок! С вами Рональд Уизли и уроки занимательного немецкого. Просто спешу напомнить, что малефика не только замечательная, чудесная и игровая, но еще и образовательная! А поскольку остальные админы так и не планируют доверять мне что-то опаснее зубочистки и сложнее определения, где право, а где лево, давайте же перейдем к тому, что приятно и мне и вам (и нет, это не немецкий).</p>
    <p>Лучшим эпизодом минувших двух недель становится эпизод <a href='https://mmaleficarum.rusff.me/profile.php?id=329'>Альбы</a> и <a href='https://mmaleficarum.rusff.me/profile.php?id=327'>Аларика</a>, в котором наши юные будущие молодожены выясняют, что станет фундаментом их приближающегося союза (спойлер - это не "Пацанки" по вечерам и гамбургеры, так что в такую любовь я не верю). Привычно восхититься слогом и скоростью можно по ссылке:
    <div class="news-episode"><a href='https://mmaleficarum.rusff.me/viewtopic.php?id=912'>fallen star</a></div>
    <p>Властью, данной мне мной (шучу, на самом деле, Джинни, конечно) лучшим постом нарекаю <a href='https://mmaleficarum.rusff.me/viewtopic.php?id=941#p111408'>пост</a> господина красивого, который целует одну, а думает о другой. Я был бы не я, если бы не обратил внимания на душевные терзания <a href="https://mmaleficarum.rusff.me/profile.php?id=265">Райли</a>, и вы не отставайте - бегите читать скорее!<br> <div class="news-quote"> Целуя Лексу, Райли думал о другой женщине, и его безразличие не осталось незамеченным. Тогда он отмахнулся, сказал, что просто устал, ведь не так давно его знатно отметелили в клубе настолько, что пришлось обращаться в госпиталь, и на тот вечер такого оправдания оказалось достаточно. Его хватило ещё на пару дней, а потом... Потом Донован между делом заявил, что уезжает на задание, сроков окончания которого не знает.
    Но когда завершилась одна миссия, тут же началась следующая - и по просьбе самого Райли, квартировали его как можно дальше от магического Лондона. Туда, где ему не придётся встречаться взглядом с той, кому он задолжал много объяснений.</center></div>
    <p>Что дальше, спросите вы? А дальше наши активисты, отличившиеся или постами, или флудом, или обложкой магического журнальчика под названиям "Самые сладкие магвочки и маги" (нет, я не перепутал фандом). Итак, мистером "шелковистые лобковые волосы" становится <a href="https://mmaleficarum.rusff.me/profile.php?id=337">Гилдерой</a>, чьего возвращения мы все с трепетом ждали и знали, что этот златокудрый обаяшка нас не бросит и не подведет! Компанию в таблице ему составил <a href="https://mmaleficarum.rusff.me/profile.php?id=97">Джон</a>, у которого вторым именем является "суровость", а третьим "невозмутимость". И наконец, <a href="https://mmaleficarum.rusff.me/profile.php?id=151">Норман</a>, который устроил истерику и сказал, что порежет себе вены скальпелем, если я его не отмечу. Ну а я человек подневольный, как вы все знаете. Сказали отметить - я отметил, и сделал это с большой любовью и восхищением, между прочим!</p><br>
    <div class="news-activists"><div class="img-wrap"><img src="https://forumstatic.ru/files/0019/84/0e/31326.webp"></div><div class="img-wrap"><img src="https://forumstatic.ru/files/0019/84/0e/85528.webp"></div><div class="img-wrap"><img src="https://64.media.tumblr.com/2ce9529a1b40c056d31387e1f112ad89/tumblr_oljm8ij3YG1ui45hlo1_400.gif"></div></div>
      </div>
    </div>
    [/html]

    0

    5

    [html]
    <div id="malefica-tetris">
    <style>
    #malefica-tetris{
      --dark:#343232;--gray:#838382;--light:#c8c8c8;--white:#eeeeee;
      --powder:#ead5d2;--rose:#d0a1a6;--deep:#ad656d;--coral:#ff737e;
      max-width:520px;margin:20px auto;padding:18px;
      color:var(--white);font-family:Georgia,"Times New Roman",serif;
      border:2px solid var(--gray);box-sizing:border-box;
      touch-action:manipulation;
      overscroll-behavior:contain;
      background:
        linear-gradient(rgba(52,50,50,.10),rgba(52,50,50,.10)),
        url('https://upforme.ru/uploads/001c/3b/dd/5/766741.jpg');
      background-size:cover;
      background-position:center center;
      background-repeat:no-repeat;
    }

    #malefica-tetris *{
      box-sizing:border-box;
      user-select:none;
      -webkit-user-select:none;
      -webkit-tap-highlight-color:transparent;
    }

    .mt-title{
      text-align:center;
      font-size:28px;
      letter-spacing:4px;
      color:var(--powder);
      margin-bottom:14px;
      text-transform:uppercase;
      font-family:"Alter Biom", Courier, monospace;
      font-weight:bold;
    }

    .mt-subtitle{
      text-align:center;
      margin-top:-12px;
      margin-bottom:14px;
      color:var(--powder);
      font-size:12px;
      font-family:"Lucida Console","Courier New",monospace;
      letter-spacing:1px;
      opacity:.9;
    }

    .mt-wrap{display:flex;gap:14px;justify-content:center;align-items:flex-start}

    #mt-board{
      background:#1d1c1c;
      border:3px solid var(--light);
      width:250px;
      height:500px;
      min-width:250px;
      max-width:250px;
      min-height:500px;
      max-height:500px;
      flex:0 0 250px;
      display:block;
      touch-action:none;
    }

    .mt-panel{
      width:170px;
      min-width:170px;
      max-width:170px;
      background:rgba(63,61,61,.88);
      border:1px solid var(--gray);
      padding:12px;
    }

    .mt-stat{
      display:flex;
      justify-content:space-between;
      padding:6px 0;
      border-bottom:1px solid rgba(238,238,238,.18);
      font-size:15px;
    }

    .mt-next-title{
      margin:14px 0 8px;
      text-align:center;
      color:var(--rose);
      font-size:15px;
      text-transform:uppercase;
    }

    #mt-next{
      display:block;
      margin:0 auto 12px;
      width:100px;
      height:100px;
      background:#252424;
      border:1px solid var(--gray);
    }

    .mt-status{
      height:42px;
      min-height:42px;
      max-height:42px;
      overflow:hidden;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:var(--coral);
      font-size:15px;
    }

    .mt-controls{
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:8px;
    }

    .mt-controls button,
    .mt-wide-buttons button{
      min-height:56px;
      border:1px solid var(--deep);
      background:var(--rose);
      color:#261f20;
      font-family:Georgia,"Times New Roman",serif;
      font-size:18px;
      cursor:pointer;
      font-weight:bold;
      touch-action:manipulation;
    }

    .mt-controls button:active,
    .mt-wide-buttons button:active{
      background:var(--coral);
      transform:translateY(1px);
    }

    .mt-down{grid-column:1/4}

    .mt-wide-buttons{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
      margin-top:8px;
    }

    .mt-wide-buttons button{
      font-size:14px;
      text-transform:uppercase;
    }

    .mt-help{
      font-size:12px;
      line-height:1.45;
      color:var(--powder);
      margin-top:10px;
      text-align:center;
    }

    @media(max-width:560px){
      #malefica-tetris{
        width:100%;
        max-width:100%;
        margin:0 auto;
        padding:10px;
      }

      .mt-title{
        font-size:22px;
        letter-spacing:2px;
        margin-bottom:10px;
      }

      .mt-subtitle{
        font-size:10px;
        margin-top:-8px;
        margin-bottom:10px;
      }

      .mt-wrap{
        flex-direction:column;
        align-items:center;
        gap:10px;
      }

      #mt-board{
        width:220px;
        height:440px;
        min-width:220px;
        max-width:220px;
        min-height:440px;
        max-height:440px;
        flex:0 0 220px;
      }

      .mt-panel{
        width:220px;
        min-width:220px;
        max-width:220px;
        padding:10px;
      }

      .mt-stat{
        font-size:14px;
        padding:4px 0;
      }

      .mt-next-title{
        margin:10px 0 6px;
        font-size:13px;
      }

      #mt-next{
        width:80px;
        height:80px;
        margin-bottom:8px;
      }

      .mt-status{
        height:34px;
        min-height:34px;
        max-height:34px;
        font-size:13px;
      }

      .mt-controls{
        position:sticky;
        bottom:0;
        background:rgba(52,50,50,.96);
        padding-top:8px;
        padding-bottom:6px;
        z-index:5;
      }

      .mt-controls button,
      .mt-wide-buttons button{
        min-height:54px;
        font-size:18px;
      }

      .mt-wide-buttons button{
        font-size:12px;
      }

      .mt-help{
        display:none;
      }
    }
    </style>

    <div class="mt-title">маггловский артефакт</div>
    <div class="mt-subtitle">(из ящика Тонкса)</div>

    <div class="mt-wrap">
      <canvas id="mt-board" width="250" height="500"></canvas>

      <div class="mt-panel">
        <div class="mt-stat"><span>Время</span><b id="mt-time">00:00</b></div>
        <div class="mt-stat"><span>Очки</span><b id="mt-score">0</b></div>
        <div class="mt-stat"><span>Линии</span><b id="mt-lines">0</b></div>
        <div class="mt-stat"><span>Уровень</span><b id="mt-level">1</b></div>

        <div class="mt-next-title">Следующая</div>
        <canvas id="mt-next" width="100" height="100"></canvas>

        <div class="mt-status" id="mt-status">Нажмите стрелку, чтобы начать</div>

        <div class="mt-controls">
          <button id="mt-left" type="button">←</button>
          <button id="mt-rotate" type="button">⟳</button>
          <button id="mt-right" type="button">→</button>
          <button id="mt-down" class="mt-down" type="button">↓ быстрее</button>
        </div>

        <div class="mt-wide-buttons">
          <button id="mt-pause" type="button">Пауза</button>
          <button id="mt-new" type="button">Новый раунд</button>
        </div>

        <div class="mt-help">
          ← → движение<br>
          ↑ переворот<br>
          ↓ быстрее<br>
          пробел — пауза
        </div>
      </div>
    </div>

    <script>
    (function(){
      var canvas=document.getElementById("mt-board");
      var ctx=canvas.getContext("2d");
      var nextCanvas=document.getElementById("mt-next");
      var nextCtx=nextCanvas.getContext("2d");

      var scoreEl=document.getElementById("mt-score");
      var linesEl=document.getElementById("mt-lines");
      var levelEl=document.getElementById("mt-level");
      var timeEl=document.getElementById("mt-time");
      var statusEl=document.getElementById("mt-status");

      var COLS=10, ROWS=20, BLOCK=25;
      var board=[], current=null, nextPiece=null;
      var score=0, lines=0, level=1, seconds=0;
      var paused=false, over=false, started=false;
      var dropTimer=null, clockTimer=null;
      var bag=[];

      var colors={I:"#64c7d0",O:"#e4c95d",T:"#a884c9",S:"#83bd75",Z:"#df6f7b",J:"#6f8fcf",L:"#e0a15d"};

      var shapes={
        I:[[1,1,1,1]],
        O:[[1,1],[1,1]],
        T:[[0,1,0],[1,1,1]],
        S:[[0,1,1],[1,1,0]],
        Z:[[1,1,0],[0,1,1]],
        J:[[1,0,0],[1,1,1]],
        L:[[0,0,1],[1,1,1]]
      };

      function resizeCanvases(){
        if(window.innerWidth<=560){
          canvas.width=220;
          canvas.height=440;
          BLOCK=22;
          nextCanvas.width=80;
          nextCanvas.height=80;
        } else {
          canvas.width=250;
          canvas.height=500;
          BLOCK=25;
          nextCanvas.width=100;
          nextCanvas.height=100;
        }
        draw();
        drawNext();
      }

      function refillBag(){
        bag=["I","O","T","S","Z","J","L"];
        for(var i=bag.length-1;i>0;i--){
          var j=Math.floor(Math.random()*(i+1));
          var t=bag[i];
          bag[i]=bag[j];
          bag[j]=t;
        }
      }

      function getFromBag(){
        if(bag.length===0) refillBag();
        return bag.pop();
      }

      function makeBoard(){
        board=[];
        for(var y=0;y<ROWS;y++){
          board[y]=[];
          for(var x=0;x<COLS;x++) board[y][x]="";
        }
      }

      function copyShape(shape){
        return shape.map(function(row){return row.slice();});
      }

      function randomPiece(){
        var type=getFromBag();
        return {
          type:type,
          shape:copyShape(shapes[type]),
          color:colors[type],
          x:3,
          y:0
        };
      }

      function startIfNeeded(){
        if(started || over) return;
        started=true;
        paused=false;
        statusEl.innerHTML="Игра идет";
        restartDropTimer();
        clockTimer=setInterval(updateTime,1000);
      }

      function collide(piece,dx,dy,shape){
        shape=shape||piece.shape;

        for(var y=0;y<shape.length;y++){
          for(var x=0;x<shape[y].length;x++){
            if(!shape[y][x]) continue;

            var nx=piece.x+x+dx;
            var ny=piece.y+y+dy;

            if(nx<0 || nx>=COLS || ny>=ROWS) return true;
            if(ny>=0 && board[ny][nx]) return true;
          }
        }

        return false;
      }

      function merge(){
        for(var y=0;y<current.shape.length;y++){
          for(var x=0;x<current.shape[y].length;x++){
            if(current.shape[y][x] && board[current.y+y]){
              board[current.y+y][current.x+x]=current.color;
            }
          }
        }
      }

      function clearLines(){
        var count=0;
        var oldLevel=level;

        for(var y=ROWS-1;y>=0;y--){
          var full=true;

          for(var x=0;x<COLS;x++){
            if(!board[y][x]){
              full=false;
              break;
            }
          }

          if(full){
            board.splice(y,1);
            board.unshift(Array(COLS).fill(""));
            count++;
            y++;
          }
        }

        if(count){
          score+=[0,100,300,500,800][count]*level;
          lines+=count;
          level=Math.floor(lines/10)+1;
          updateInfo();
          restartDropTimer();

          if(level>oldLevel){
            statusEl.innerHTML="Уровень "+level;
          } else {
            if(count===1) statusEl.innerHTML="Линия стерта";
            if(count===2) statusEl.innerHTML="Бонус: две линии";
            if(count===3) statusEl.innerHTML="Бонус: три линии";
            if(count===4) statusEl.innerHTML="Тетрис!";
          }
        }
      }

      function spawn(){
        current=nextPiece||randomPiece();
        nextPiece=randomPiece();

        current.x=Math.floor(COLS/2)-Math.ceil(current.shape[0].length/2);
        current.y=0;

        if(collide(current,0,0)){
          over=true;
          statusEl.innerHTML="Конец игры";
          stopTimers();
        }

        drawNext();
      }

      function rotateShape(shape){
        var result=[];
        var h=shape.length;
        var w=shape[0].length;

        for(var x=0;x<w;x++){
          result[x]=[];
          for(var y=h-1;y>=0;y--){
            result[x].push(shape[y][x]);
          }
        }

        return result;
      }

      function rotate(){
        startIfNeeded();
        if(paused || over) return;

        var rotated=rotateShape(current.shape);

        if(!collide(current,0,0,rotated)){
          current.shape=rotated;
        } else if(!collide(current,-1,0,rotated)){
          current.x--;
          current.shape=rotated;
        } else if(!collide(current,1,0,rotated)){
          current.x++;
          current.shape=rotated;
        } else if(!collide(current,-2,0,rotated)){
          current.x-=2;
          current.shape=rotated;
        } else if(!collide(current,2,0,rotated)){
          current.x+=2;
          current.shape=rotated;
        }

        draw();
      }

      function move(dx){
        startIfNeeded();
        if(paused || over) return;

        if(!collide(current,dx,0)){
          current.x+=dx;
          draw();
        }
      }

      function drop(){
        if(paused || over || !started) return;

        if(!collide(current,0,1)){
          current.y++;
        } else {
          merge();
          clearLines();
          spawn();
        }

        draw();
      }

      function softDrop(){
        startIfNeeded();
        if(paused || over) return;

        if(!collide(current,0,1)){
          score++;
          current.y++;
          updateInfo();
        } else {
          merge();
          clearLines();
          spawn();
        }

        draw();
      }

      function drawBlock(context,x,y,color,size){
        context.fillStyle=color;
        context.fillRect(x*size,y*size,size,size);

        context.strokeStyle="rgba(255,255,255,.28)";
        context.strokeRect(x*size+1,y*size+1,size-2,size-2);

        context.strokeStyle="rgba(0,0,0,.38)";
        context.strokeRect(x*size,y*size,size,size);
      }

      function drawGrid(){
        ctx.strokeStyle="rgba(238,238,238,.07)";

        for(var x=0;x<=COLS;x++){
          ctx.beginPath();
          ctx.moveTo(x*BLOCK,0);
          ctx.lineTo(x*BLOCK,ROWS*BLOCK);
          ctx.stroke();
        }

        for(var y=0;y<=ROWS;y++){
          ctx.beginPath();
          ctx.moveTo(0,y*BLOCK);
          ctx.lineTo(COLS*BLOCK,y*BLOCK);
          ctx.stroke();
        }
      }

      function draw(){
        if(!ctx) return;

        ctx.clearRect(0,0,canvas.width,canvas.height);
        ctx.fillStyle="#1d1c1c";
        ctx.fillRect(0,0,canvas.width,canvas.height);

        drawGrid();

        for(var y=0;y<ROWS;y++){
          for(var x=0;x<COLS;x++){
            if(board[y] && board[y][x]){
              drawBlock(ctx,x,y,board[y][x],BLOCK);
            }
          }
        }

        if(current){
          for(var py=0;py<current.shape.length;py++){
            for(var px=0;px<current.shape[py].length;px++){
              if(current.shape[py][px]){
                drawBlock(ctx,current.x+px,current.y+py,current.color,BLOCK);
              }
            }
          }
        }
      }

      function drawNext(){
        if(!nextCtx || !nextPiece) return;

        var nextSize=nextCanvas.width;
        nextCtx.clearRect(0,0,nextSize,nextSize);
        nextCtx.fillStyle="#252424";
        nextCtx.fillRect(0,0,nextSize,nextSize);

        var size=nextSize===80 ? 16 : 20;
        var shape=nextPiece.shape;
        var ox=Math.floor((5-shape[0].length)/2);
        var oy=Math.floor((5-shape.length)/2);

        for(var y=0;y<shape.length;y++){
          for(var x=0;x<shape[y].length;x++){
            if(shape[y][x]){
              drawBlock(nextCtx,x+ox,y+oy,nextPiece.color,size);
            }
          }
        }
      }

      function updateInfo(){
        scoreEl.innerHTML=score;
        linesEl.innerHTML=lines;
        levelEl.innerHTML=level;
      }

      function updateTime(){
        if(paused || over || !started) return;

        seconds++;

        var m=Math.floor(seconds/60);
        var s=seconds%60;

        timeEl.innerHTML=(m<10?"0"+m:m)+":"+(s<10?"0"+s:s);
      }

      function speed(){
        if(level===1) return 800;
        if(level===2) return 680;
        if(level===3) return 560;
        if(level===4) return 430;
        if(level===5) return 300;

        return Math.max(120,300-((level-5)*30));
      }

      function restartDropTimer(){
        if(dropTimer) clearInterval(dropTimer);

        if(started && !over){
          dropTimer=setInterval(drop,speed());
        }
      }

      function stopTimers(){
        if(dropTimer) clearInterval(dropTimer);
        if(clockTimer) clearInterval(clockTimer);

        dropTimer=null;
        clockTimer=null;
      }

      function togglePause(){
        if(over) return;

        if(!started){
          startIfNeeded();
        }

        paused=!paused;
        statusEl.innerHTML=paused ? "Пауза" : "Игра идет";
      }

      function newGame(){
        stopTimers();

        bag=[];
        refillBag();
        makeBoard();

        score=0;
        lines=0;
        level=1;
        seconds=0;

        paused=false;
        over=false;
        started=false;

        timeEl.innerHTML="00:00";
        statusEl.innerHTML="Нажмите стрелку, чтобы начать";

        nextPiece=randomPiece();
        spawn();

        updateInfo();
        resizeCanvases();
        draw();
      }

      function bindTap(id,fn){
        var el=document.getElementById(id);
        if(!el) return;

        var touched=false;

        el.addEventListener("touchstart",function(e){
          touched=true;
          e.preventDefault();
          fn();

          setTimeout(function(){
            touched=false;
          },400);
        },{passive:false});

        el.onclick=function(e){
          if(e) e.preventDefault();

          if(touched) return false;

          fn();
          return false;
        };
      }

      bindTap("mt-left",function(){move(-1);});
      bindTap("mt-right",function(){move(1);});
      bindTap("mt-rotate",rotate);
      bindTap("mt-down",softDrop);
      bindTap("mt-pause",togglePause);
      bindTap("mt-new",newGame);

      document.addEventListener("keydown",function(e){
        var key=e.key || e.keyCode;

        if(key==="ArrowLeft" || key==="ArrowRight" || key==="ArrowDown" || key==="ArrowUp" || key===" "){
          e.preventDefault();
        }

        if(key==="ArrowLeft" || key===37) move(-1);
        if(key==="ArrowRight" || key===39) move(1);
        if(key==="ArrowDown" || key===40) softDrop();
        if(key==="ArrowUp" || key===38) rotate();
        if(key===" " || key===32) togglePause();
      });

      window.addEventListener("resize",function(){
        resizeCanvases();
      });

      newGame();
    })();
    </script>
    </div>
    [/html]

    0

    6

    Код:
    <!-- HTML в постах с допуском по группам © Alex_63 -->
    <script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/52361.js"></script>
    <script type="text/javascript">
    HTMLinPost.groups = [1,2, 3, 4, 8]; // Группы, допущенные к вставке HTML в посты
    HTMLinPost.noAccess = ['user','newTst2']; // Пользователи с запретом вставки HTML в посты
    HTMLinPost.parseHTMLinPosts()
    </script>

    0

    7

    неактуально

    [html]<style>
       
        * {
            box-sizing: border-box;
            text-transform: lowercase;
        }
       
        .generator-box {
            background: var(--sec-bg);
            border-radius: 16px;
            padding: 20px;
            max-width: 1200px;
            margin: 0 auto;
            font-family: 'Segoe UI', Arial, sans-serif;
        }
       
        .generator-box h2 {
            color: var(--textcolor);
            margin: 0 0 20px 0;
            font-size: 22px;
            padding-left: 15px;
        }
       
        .tab-buttons {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
            flex-wrap: wrap;
        }
       
        .tab-btn {
            background: var(--post-bg);
            border: none;
            padding: 8px 20px;
            border-radius: 20px;
            cursor: pointer;
            font-weight: bold;
        }
       
        .tab-btn.active {
            background: var(--textcolor);
            color: var(--white);
        }
       
        .tab-content {
            display: none;
        }
       
        .tab-content.active {
            display: block;
        }
       
        .gen-row {
            display: flex;
            gap: 40px;
            flex-wrap: wrap;
            margin-bottom: 20px;
        }
       
        .gen-col {
            flex: 1;
            max-width: 380px;
        }
       
        .gen-form-group {
            margin-bottom: 15px;
        }
       
        .gen-form-group label {
            display: block;
            font-weight: bold;
            margin-bottom: 5px;
            color: var(--textcolor);
        }
       
        .gen-form-group input,
        .gen-form-group textarea {
            width: 100%;
            padding: 8px 12px;
            border: 1px solid var(--textcolor) !important;
            border-radius: 8px;
            background: var(--post-bg) !important;
            font-family: inherit;
        }
       
        .gen-form-group textarea {
            resize: vertical;
            min-height: 80px;
        }
       
        .gen-btn {
            background: var(--link);
            color: white;
            border: none;
            padding: 8px 16px;
            border-radius: 8px;
            cursor: pointer;
            margin-right: 10px;
            margin-bottom: 10px;
            font-size: 14px;
            transition: all 0.2s;
        }
       
        .gen-btn:hover {
            opacity: 0.85;
            transform: scale(0.98);
        }
       
        .gen-btn-green {
            background: var(--link);
        }
       
        .gen-btn-blue {
            background: var(--body-bg);
        }
       
        .gen-btn-red {
            background: var(--link-hover);
        }
       
        .gen-btn-copied {
            background: var(--body-bg) !important;
        }
       
        .twink-item,
        .coupon-item {
            background: var(--post-bg);
            padding: 10px;
            margin-bottom: 10px;
            border-radius: 8px;
            border-left: 4px solid var(--textcolor);
        }
       
        .inline-row {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-bottom: 8px;
        }
       
        .inline-row input {
            flex: 1;
        }
       
        .remove-btn {
            background: #aa3e1c;
            color: white;
            border: none;
            padding: 6px 12px;
            border-radius: 6px;
            cursor: pointer;
        }
       
        .gen-note,
        .note {
            font-size: 12px;
            background: var(--post-bg);
            padding: 10px;
            border-radius: 8px;
            margin-top: 10px;
            margin-bottom: 10px;
            color: var(--textcolor);
        }
       
        .gen-output,
        .output {
            background: var(--textcolor);
            border-radius: 16px;
            padding: 20px;
            margin-top: 20px;
        }
       
        .gen-output h3,
        .output h3 {
            color: var(--sec-bg);
            margin: 0 0 10px 0;
            font-size: 16px;
        }
       
        .gen-code-block,
        .code-block {
            background: var(--post-bg);
            color: var(--textcolor);
            font-family: 'Courier New', monospace;
            padding: 12px;
            border-radius: 8px;
            font-size: 12px;
            overflow-x: auto;
            white-space: pre-wrap;
            word-break: break-all;
            max-height: 300px;
        }
       
        .badge {
            background: var(--textcolor);
            color: white;
            font-size: 11px;
            padding: 2px 8px;
            border-radius: 20px;
            margin-left: 8px;
        }
       
        .button-group {
            text-align: center;
            margin: 20px 0;
        }
       
        .tab-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            margin-bottom: 15px;
        }
       
        .tab-header h3 {
            margin: 0;
            color: var(--textcolor);
        }
    </style>

    <div class="generator-box">
        <h2>Генератор страницы персонажа</h2>
       
        <div class="tab-buttons">
            <button class="tab-btn active" data-tab="main">Основное</button>
            <button class="tab-btn" data-tab="twinks">Твинки</button>
            <button class="tab-btn" data-tab="coupons">Купоны</button>
            <button class="tab-btn" data-tab="gallery">Галереи</button>
        </div>
       
        <!-- ========== ВКЛАДКА 1: ОСНОВНОЕ ========== -->
        <div id="tab-main" class="tab-content active">
            <div class="tab-header">
                <h3>Основная информация</h3>
                <div>
                    <button class="gen-btn gen-btn-green" id="generateMainBtn">Сгенерировать код</button>
                    <button class="gen-btn gen-btn-blue" id="copyMainBtn">Копировать</button>
                </div>
            </div>
            <div class="gen-row">
                <div class="gen-col">
                    <div class="gen-form-group">
                        <label>URL гифки/аватара</label>
                        <input type="text" id="g_avatar" placeholder="https://example.com/avatar.gif">
                    </div>
                    <div class="gen-form-group">
                        <label>Имя персонажа</label>
                        <input type="text" id="g_name" placeholder="Имя персонажа">
                    </div>
                </div>
                <div class="gen-col">
                    <div class="gen-form-group">
                        <label>Фракция, для сопротивленцев ячейка (если известна) и позывной</label>
                        <input type="text" id="g_fraction" placeholder="Фракция | позывной">
                    </div>
                    <div class="gen-form-group">
                        <label>Род занятий</label>
                        <textarea id="g_occupation" rows="4" placeholder="Род занятий"></textarea>
                    </div>
                </div>
            </div>
            <div class="gen-output">
                <h3>Код блока .general (внутренность левой колонки)</h3>
                <div class="gen-code-block" id="mainCode">Заполните данные и нажмите "Сгенерировать код"</div>
            </div>
        </div>
       
        <!-- ========== ВКЛАДКА 2: ТВИНКИ ========== -->
        <div id="tab-twinks" class="tab-content">
            <div class="tab-header">
                <h3>Твинки <span class="badge">можно добавлять</span></h3>
                <div>
                    <button class="gen-btn gen-btn-green" id="generateTwinksBtn">Сгенерировать код</button>
                    <button class="gen-btn gen-btn-blue" id="copyTwinksBtn">Копировать</button>
                </div>
            </div>
            <div id="g_twinks_container"></div>
            <button class="gen-btn" id="g_add_twink">+ Добавить твинка</button>
            <button class="gen-btn gen-btn-red" id="g_clear_twinks">🗑 Очистить все</button>
            <div class="gen-output" style="margin-top: 15px;">
                <h3>Код только для блока твинков (внутренность #sm1)</h3>
                <div class="gen-code-block" id="twinksCode">Добавьте твинков и нажмите "Сгенерировать код"</div>
            </div>
        </div>
       
        <!-- ========== ВКЛАДКА 3: КУПОНЫ ========== -->
        <div id="tab-coupons" class="tab-content">
            <div class="tab-header">
                <h3>Купоны <span class="badge">можно добавлять</span></h3>
                <div>
                    <button class="gen-btn gen-btn-green" id="generateCouponsBtn">Сгенерировать код</button>
                    <button class="gen-btn gen-btn-blue" id="copyCouponsBtn">Копировать</button>
                </div>
            </div>
            <div id="g_coupons_container"></div>
            <button class="gen-btn" id="g_add_coupon">+ Добавить купон</button>
            <button class="gen-btn gen-btn-red" id="g_clear_coupons">🗑 Очистить все</button>
            <div class="gen-output" style="margin-top: 15px;">
                <h3>Код только для купонов (внутренность .coupon-list)</h3>
                <div class="gen-code-block" id="couponsCode">Добавьте купоны и нажмите "Сгенерировать код"</div>
            </div>
        </div>
       
        <!-- ========== ВКЛАДКА 4: ГАЛЕРЕИ ========== -->
        <div id="tab-gallery" class="tab-content">
            <div class="tab-header">
                <h3>Галереи</h3>
                <div>
                    <button class="gen-btn gen-btn-green" id="generateGalleryBtn">Сгенерировать код</button>
                    <button class="gen-btn gen-btn-blue" id="copyGalleryBtn">Копировать</button>
                </div>
            </div>
            <div class="gen-form-group">
                <label>Текст для плашки</label>
                <input type="text" id="g_fonText" placeholder="Текст на плашке">
            </div>
            <div class="gen-form-group">
                <label>Плашки (URL, каждый с новой строки)</label>
                <textarea id="g_plashki" rows="4" placeholder="https://example.com/plashka1.gif
    https://example.com/plashka2.png"& … xtarea>
            </div>
            <div class="gen-form-group">
                <label>Фоны (URL, каждый с новой строки)</label>
                <textarea id="g_foni" rows="4" placeholder="https://example.com/fon1.png
    https://example.com/fon2.png"></textarea>
            </div>
            <div class="gen-form-group">
                <label>Иконки (URL, каждый с новой строки)</label>
                <textarea id="g_icons" rows="4" placeholder="https://example.com/icon1.png
    https://example.com/icon2.png"> … xtarea>
            </div>
            <div class="gen-output" style="margin-top: 15px;">
                <h3>Код для галерей (с подсказками)</h3>
                <div class="gen-code-block" id="galleryCode">Введите данные и нажмите "Сгенерировать код"</div>
            </div>
        </div>
       
        <div class="button-group">
            <button class="gen-btn gen-btn-green" id="g_full_page_btn">Собрать ВСЁ и скопировать полную страницу</button>
            <button class="gen-btn gen-btn-red" id="g_clear_btn">🗑 Очистить всё</button>
        </div>
       
        <div class="gen-note" style="text-align: center;">
            💡 Каждая вкладка генерирует ТОЛЬКО внутреннее наполнение своего блока.<br>
            Кнопка внизу собирает всё вместе в готовую страницу pages/
        </div>
    </div>

    <script>
    (function() {
        let twinks = [];
        let coupons = [];
       
        const tabs = document.querySelectorAll('.tab-btn');
        const contents = document.querySelectorAll('.tab-content');
       
        tabs.forEach(tab => {
            tab.addEventListener('click', function() {
                const tabId = this.getAttribute('data-tab');
                tabs.forEach(t => t.classList.remove('active'));
                contents.forEach(c => c.classList.remove('active'));
                this.classList.add('active');
                document.getElementById(`tab-${tabId}`).classList.add('active');
            });
        });
       
        function escapeHtml(str) {
            if (!str) return '';
            return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
        }
       
        function copyToClipboard(text, btn, successMsg = 'Скопировано!') {
            const ta = document.createElement('textarea');
            ta.value = text;
            ta.style.cssText = 'position:fixed;top:-9999px;left:-9999px';
            document.body.appendChild(ta);
            ta.select();
            let ok = false;
            try { ok = document.execCommand('copy'); } catch(e) { ok = false; }
            document.body.removeChild(ta);
           
            if (ok) {
                const orig = btn.innerHTML;
                btn.innerHTML = successMsg;
                btn.classList.add('gen-btn-copied');
                setTimeout(() => { btn.innerHTML = orig; btn.classList.remove('gen-btn-copied'); }, 2000);
            } else {
                btn.innerHTML = 'Ошибка!';
                setTimeout(() => btn.innerHTML = btn.getAttribute('data-original') || 'Копировать', 2000);
            }
        }
       
        // ========== ОСНОВНОЕ ==========
        function generateMainHTML() {
            const avatar = document.getElementById('g_avatar').value;
            const name = document.getElementById('g_name').value;
            const fraction = document.getElementById('g_fraction').value;
            const occupation = document.getElementById('g_occupation').value;
           
            return `<div class="general"><img src="${avatar}" />
    <h2>${escapeHtml(name)}</h2>
    <div class="fraction">${escapeHtml(fraction)}</div>
    <div class="occupation">${escapeHtml(occupation).replace(/\n/g, '<br />')}</div>
    </div>`;
        }
       
        function generateMainAndDisplay() {
            const html = generateMainHTML();
            const escaped = html.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
            document.getElementById('mainCode').innerHTML = escaped;
            return html;
        }
       
        function copyMain() {
            const html = generateMainHTML();
            const btn = document.getElementById('copyMainBtn');
            copyToClipboard(html, btn);
        }
       
        // ========== ТВИНКИ ==========
        function generateTwinksHTML() {
            let html = '';
            for (let t of twinks) {
                html += `<!-- начало твинка -->
    <div class="twink"><div class="twink-text">`;
                if (t.link && t.link.trim()) {
                    html += `<a href="${t.link}"><strong>${escapeHtml(t.name) || 'ссылка на профиль'}</strong></a><br />${escapeHtml(t.description)}`;
                } else {
                    html += `<strong>${escapeHtml(t.name) || '—'}</strong><br />${escapeHtml(t.description)}`;
                }
                html += `</div>
    </div>
    <!-- конец твинка -->
    `;
            }
            return html;
        }
       
        function generateTwinksAndDisplay() {
            const html = generateTwinksHTML();
            const escaped = html.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
            document.getElementById('twinksCode').innerHTML = escaped;
            return html;
        }
       
        function copyTwinks() {
            const html = generateTwinksHTML();
            const btn = document.getElementById('copyTwinksBtn');
            copyToClipboard(html, btn);
        }
       
        // ========== КУПОНЫ ==========
        function generateCouponsHTML() {
            let html = '';
            for (let c of coupons) {
                html += `<!-- начало купона -->
    <div class="coupon">
        <div class="coupon-img"><img src="${c.img}" alt="" /></div>
        <div class="coupon-content">
            <div class="coupon-title">${escapeHtml(c.title)}</div>
            <div class="coupon-desc">${escapeHtml(c.desc)}</div>
            <div class="coupon-meta">${escapeHtml(c.meta)}</div>
        </div>
    </div>
    <!-- конец купона -->
    `;
            }
            return html;
        }
       
        function generateCouponsAndDisplay() {
            const html = generateCouponsHTML();
            const escaped = html.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
            document.getElementById('couponsCode').innerHTML = escaped;
            return html;
        }
       
        function copyCoupons() {
            const html = generateCouponsHTML();
            const btn = document.getElementById('copyCouponsBtn');
            copyToClipboard(html, btn);
        }
       
        // ========== ГАЛЕРЕИ ==========
        function generateGalleryHTML() {
            const fonText = document.getElementById('g_fonText').value;
            let plashki = document.getElementById('g_plashki').value.split('\n').filter(u => u.trim());
            let foni = document.getElementById('g_foni').value.split('\n').filter(u => u.trim());
            let icons = document.getElementById('g_icons').value.split('\n').filter(u => u.trim());
           
            let result = '';
           
            // Плашки
            if (plashki.length > 0) {
                result += `<!-- начало плашки -->
    <div class="plashki-container">
    `;
                for (let url of plashki) {
                    result += `    <div class="plashka-item">
            <img src="${url}" />
            <div class="fon-text">${escapeHtml(fonText)}</div>
        </div>
    `;
                }
                result += `</div>
    <!-- конец плашки -->
    `;
            }
           
            // Фоны
            if (foni.length > 0) {
                result += `<!-- начало фонов -->
    <div class="foni-container">
    ${foni.map(url => `<img src="${url}" />`).join(' ')}
    </div>
    <!-- конец фонов -->
    `;
            }
           
            // Иконки
            if (icons.length > 0) {
                result += `<!-- начало иконок -->
    <div class="icons-container">
    ${icons.map(url => `<img src="${url}" />`).join(' ')}
    </div>
    <!-- конец иконок -->`;
            }
           
            if (!result) {
                result = '<!-- нет галерей -->';
            }
           
            return result.trim();
        }
       
        function generateGalleryAndDisplay() {
            const html = generateGalleryHTML();
            const escaped = html.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
            document.getElementById('galleryCode').innerHTML = escaped;
            return html;
        }
       
        function copyGallery() {
            const html = generateGalleryHTML();
            const btn = document.getElementById('copyGalleryBtn');
            copyToClipboard(html, btn);
        }
       
        // ========== ПОЛНАЯ СТРАНИЦА ==========
        function generateFullPageHTML() {
            const avatar = document.getElementById('g_avatar').value;
            const name = document.getElementById('g_name').value;
            const fraction = document.getElementById('g_fraction').value;
            const occupation = document.getElementById('g_occupation').value;
            const fonText = document.getElementById('g_fonText').value;
           
            let plashki = document.getElementById('g_plashki').value.split('\n').filter(u => u.trim());
            let foni = document.getElementById('g_foni').value.split('\n').filter(u => u.trim());
            let icons = document.getElementById('g_icons').value.split('\n').filter(u => u.trim());
           
            // Твинки с подсказками
            let twinksHtml = '';
            for (let t of twinks) {
                twinksHtml += `<!-- начало твинка -->
    <div class="twink"><div class="twink-text">`;
                if (t.link && t.link.trim()) {
                    twinksHtml += `<a href="${t.link}"><strong>${escapeHtml(t.name) || 'ссылка на профиль'}</strong></a><br />${escapeHtml(t.description)}`;
                } else {
                    twinksHtml += `<strong>${escapeHtml(t.name) || '—'}</strong><br />${escapeHtml(t.description)}`;
                }
                twinksHtml += `</div>
    </div>
    <!-- конец твинка -->
    `;
            }
           
            // Купоны с подсказками
            let couponsHtml = '';
            for (let c of coupons) {
                couponsHtml += `<!-- начало купона -->
    <div class="coupon">
        <div class="coupon-img"><img src="${c.img}" alt="" /></div>
        <div class="coupon-content">
            <div class="coupon-title">${escapeHtml(c.title)}</div>
            <div class="coupon-desc">${escapeHtml(c.desc)}</div>
            <div class="coupon-meta">${escapeHtml(c.meta)}</div>
        </div>
    </div>
    <!-- конец купона -->
    `;
            }
           
            // Галереи
            let profileContent = '';
           
            if (plashki.length > 0) {
                profileContent += `<!-- начало плашки -->
    <div class="plashki-gallery">
    <div class="gallery-title">плашки</div>
    <div class="plashki-container">
    `;
                for (let url of plashki) {
                    profileContent += `    <div class="plashka-item">
            <img src="${url}" />
            <div class="fon-text">${escapeHtml(fonText)}</div>
        </div>
    `;
                }
                profileContent += `</div>
    </div>
    <!-- конец плашки -->
    `;
            }
           
            if (foni.length > 0) {
                profileContent += `<!-- начало фонов -->
    <div class="phoni-gallery">
    <div class="gallery-title">фоны</div>
    ${foni.map(url => `<img src="${url}" />`).join(' ')}
    </div>
    <!-- конец фонов -->
    `;
            }
           
            if (icons.length > 0) {
                profileContent += `<!-- начало иконок -->
    <div class="icons-gallery">
    <div class="gallery-title">иконки</div>
    ${icons.map(url => `<img src="${url}" />`).join(' ')}
    </div>
    <!-- конец иконок -->
    `;
            }
           
            if (!profileContent) {
                profileContent = '<div class="gallery-title">нет данных</div>';
            }
           
            return `<div class="character">
    <div class="modal-content">
    <div class="left-column">
    <div class="general"><img src="${avatar}" />
    <h2>${escapeHtml(name)}</h2>
    <div class="fraction">${escapeHtml(fraction)}</div>
    <div class="occupation">${escapeHtml(occupation).replace(/\n/g, '<br />')}</div>
    </div>
    </div>
    <div class="right-column">
    <div class="menu">
    <div class="menu-links"> <span alt="#sm1" onclick='showTab(this);'>твинки</span> <span alt="#sm2" onclick='showTab(this);'>купоны</span> <span alt="#sm3" onclick='showTab(this);'>профиль</span>
    </div>
    <div id="submenu">
    <div id="sm1" class="submenutext">
    <!-- твинки-->
    ${twinksHtml || ' '}
    </div>
    <div id="sm2" class="submenutext" style="display:none;">
    <div class="coupon-list">
    <!-- купоны-->
    ${couponsHtml || '<div class="coupon">нет купонов</div>'}
    </div>
    </div>
    <div id="sm3" class="submenutext" style="display:none;">
    ${profileContent}
    </div>
    </div>
    <a class="close-reveal-modal">&times;</a>
    </div>
    </div>
    </div>`;
        }
       
        function copyFullPage() {
            const html = generateFullPageHTML();
            const btn = document.getElementById('g_full_page_btn');
            copyToClipboard(html, btn, 'Всё скопировано!');
        }
       
        // Очистка всего
        function clearAll() {
            document.getElementById('g_avatar').value = '';
            document.getElementById('g_name').value = '';
            document.getElementById('g_fraction').value = '';
            document.getElementById('g_occupation').value = '';
            document.getElementById('g_fonText').value = '';
            document.getElementById('g_plashki').value = '';
            document.getElementById('g_foni').value = '';
            document.getElementById('g_icons').value = '';
            twinks = [];
            coupons = [];
            renderTwinks();
            renderCoupons();
            document.getElementById('mainCode').innerHTML = 'Форма очищена';
            document.getElementById('twinksCode').innerHTML = 'Форма очищена';
            document.getElementById('couponsCode').innerHTML = 'Форма очищена';
            document.getElementById('galleryCode').innerHTML = 'Форма очищена';
        }
       
        // Твинки
        function renderTwinks() {
            const container = document.getElementById('g_twinks_container');
            if (!container) return;
            if (twinks.length === 0) {
                container.innerHTML = '<div class="gen-note">Нет твинков. Нажмите "+ Добавить твинка"</div>';
                return;
            }
            container.innerHTML = twinks.map((t, idx) => `
                <div class="twink-item">
                    <div class="inline-row">
                        <input type="text" placeholder="Имя" value="${escapeHtml(t.name)}" onchange="window.updateTwink(${idx}, 'name', this.value)">
                        <input type="text" placeholder="URL ссылки на профиль" value="${escapeHtml(t.link)}" onchange="window.updateTwink(${idx}, 'link', this.value)">
                        <button class="remove-btn" onclick="window.removeTwink(${idx})">✕</button>
                    </div>
                    <input type="text" placeholder="чистота крови, фракция, занятость" value="${escapeHtml(t.description)}" onchange="window.updateTwink(${idx}, 'description', this.value)" style="width:100%; margin-top:5px;">
                </div>
            `).join('');
        }
       
        function addTwink() { twinks.push({ name: "", link: "", description: "" }); renderTwinks(); }
        function removeTwink(i) { twinks.splice(i, 1); renderTwinks(); }
        function updateTwink(i, f, v) { if (twinks[i]) twinks[i][f] = v; }
        function clearTwinks() { twinks = []; renderTwinks(); generateTwinksAndDisplay(); }
       
        // Купоны
        function renderCoupons() {
            const container = document.getElementById('g_coupons_container');
            if (!container) return;
            if (coupons.length === 0) {
                container.innerHTML = '<div class="gen-note">Нет купонов. Нажмите "+ Добавить купон"</div>';
                return;
            }
            container.innerHTML = coupons.map((c, idx) => `
                <div class="coupon-item">
                    <div class="inline-row">
                        <input type="text" placeholder="URL картинки" value="${escapeHtml(c.img)}" onchange="window.updateCoupon(${idx}, 'img', this.value)">
                        <input type="text" placeholder="Заголовок" value="${escapeHtml(c.title)}" onchange="window.updateCoupon(${idx}, 'title', this.value)">
                        <button class="remove-btn" onclick="window.removeCoupon(${idx})">✕</button>
                    </div>
                    <div class="inline-row" style="margin-top:5px;">
                        <input type="text" placeholder="Описание" value="${escapeHtml(c.desc)}" onchange="window.updateCoupon(${idx}, 'desc', this.value)" style="flex:2;">
                        <input type="text" placeholder="Действует до" value="${escapeHtml(c.meta)}" onchange="window.updateCoupon(${idx}, 'meta', this.value)" style="flex:1;">
                    </div>
                </div>
            `).join('');
        }
       
        function addCoupon() { coupons.push({ img: "", title: "", desc: "", meta: "" }); renderCoupons(); }
        function removeCoupon(i) { coupons.splice(i, 1); renderCoupons(); }
        function updateCoupon(i, f, v) { if (coupons[i]) coupons[i][f] = v; }
        function clearCoupons() { coupons = []; renderCoupons(); generateCouponsAndDisplay(); }
       
        window.updateTwink = updateTwink;
        window.removeTwink = removeTwink;
        window.updateCoupon = updateCoupon;
        window.removeCoupon = removeCoupon;
       
        document.getElementById('generateMainBtn').onclick = generateMainAndDisplay;
        document.getElementById('copyMainBtn').onclick = copyMain;
        document.getElementById('generateTwinksBtn').onclick = generateTwinksAndDisplay;
        document.getElementById('copyTwinksBtn').onclick = copyTwinks;
        document.getElementById('generateCouponsBtn').onclick = generateCouponsAndDisplay;
        document.getElementById('copyCouponsBtn').onclick = copyCoupons;
        document.getElementById('generateGalleryBtn').onclick = generateGalleryAndDisplay;
        document.getElementById('copyGalleryBtn').onclick = copyGallery;
        document.getElementById('g_full_page_btn').onclick = copyFullPage;
        document.getElementById('g_clear_btn').onclick = clearAll;
        document.getElementById('g_add_twink').onclick = addTwink;
        document.getElementById('g_clear_twinks').onclick = clearTwinks;
        document.getElementById('g_add_coupon').onclick = addCoupon;
        document.getElementById('g_clear_coupons').onclick = clearCoupons;
       
        renderTwinks();
        renderCoupons();
    })();
    </script>[/html]

    0

    8

    неактуально

    [html]    <style>
            * {
                box-sizing: border-box;
            }

            .card {
                background: var(--sec-bg);
                border-radius: 16px;
                padding: 25px;
                margin-bottom: 25px;
                border-left: 8px solid var(--textcolor);
            }
            .card h2 {
                margin: 0 0 20px 0;
                font-size: 22px;
            }
            .row {
                display: flex;
                gap: 20px;
                flex-wrap: wrap;
            }
            .col {
                flex: 1;
                min-width: 280px;
            }
            .form-group {
                margin-bottom: 15px;
            }
            label {
                display: block;
                font-weight: bold;
                margin-bottom: 5px;
                color: var(--textcolor);
            }
            input, textarea {
                width: 100%;
                padding: 8px 12px;
                border: 1px solid var(--textcolor)!important;
                border-radius: 8px;
                background: var(--post-bg)!important;
                font-family: inherit;
            }
            textarea {
                resize: vertical;
                min-height: 80px;
            }
            .btn {
                background: var(--link);
                color: white;
                border: none;
                padding: 10px 20px;
                border-radius: 8px;
                cursor: pointer;
                margin-right: 10px;
                margin-bottom: 10px;
                font-size: 14px;
                transition: all 0.2s;
            }
            .btn:hover {
                opacity: 0.85;
                transform: scale(0.98);
            }
            .btn-green {
                background: var(--link);
            }
            .btn-blue {
                background: var(--body-bg);
            }
            .btn-red {
                background: var(--link-hover);
            }
            .btn-copied {
                background: var(--body-bg)!important;
            }
            .twink-item {
                background: white;
                padding: 12px;
                margin-bottom: 10px;
                border-radius: 8px;
                border-left: 4px solid var(--textcolor);
            }
            .inline-row {
                display: flex;
                gap: 10px;
                flex-wrap: wrap;
                margin-bottom: 8px;
            }
            .inline-row input {
                flex: 1;
            }
            .remove-btn {
                background: #aa3e1c;
                color: white;
                border: none;
                padding: 6px 12px;
                border-radius: 6px;
                cursor: pointer;
            }
            .note {
                font-size: 12px;
                           background: var(--post-bg);
                padding: 10px;
                border-radius: 8px;
                margin-top: 10px;
    margin-bottom: 10px;
            }
            .output {
                background: var(--textcolor);
                border-radius: 16px;
                padding: 20px;
            }
            .output h3 {
                color: var(--sec-bg);
                margin-top: 0;
                margin-bottom: 15px;
            }
            .code-block {
                background: var(--post-bg);
                color: var(--textcolor);
                font-family: 'Courier New', monospace;
                padding: 15px;
                border-radius: 8px;
                font-size: 12px;
                overflow-x: auto;
                white-space: pre-wrap;
                word-break: break-all;
                max-height: 500px;
            }
            .badge {
                display: inline-block;
                background: #8b5a2b;
                color: white;
                font-size: 12px;
                padding: 4px 10px;
                border-radius: 20px;
                margin-left: 10px;
            }
            .button-group {
                text-align: center;
                margin-bottom: 25px;
            }
        </style>
    </head>
    <body>

    <h1 style="font-weight: bold; text-align: center;">Личная страница персонажа</h1>
    <p style="text-align: center; margin-bottom: 25px;">
        Заполните данные — получите готовый код страницы. Не забудьте вставить его в тег code
    </p>

    <!-- ОСНОВНАЯ ИНФОРМАЦИЯ -->
    <div class="card">
        <h2> Основная информация</h2>
        <div class="row">
            <div class="col">
                <div class="form-group">
                    <label>URL картинки</label>
                    <input type="text" id="avatarUrl" placeholder="https://example.com/avatar.gif">
                </div>
                <div class="form-group">
                    <label> Имя персонажа</label>
                    <input type="text" id="charName" placeholder="Имя персонажа">
                </div>
            </div>
            <div class="col">
                <div class="form-group">
                    <label> Фракция + для сопротивленцев ячейка (если есть) и позывной</label>
                    <input type="text" id="fraction" placeholder="Фракция | позывной">
                </div>
                <div class="form-group">
                    <label>Род занятий</label>
                    <textarea id="occupation" rows="3" placeholder="Род занятий"></textarea>
                </div>
            </div>
        </div>
    </div>

    <!-- ТВИНКИ -->
    <div class="card">
        <h2> Твинки</h2>
        <div id="twinksContainer"></div>
        <button class="btn" onclick="addTwink()">добавить твинка</button>
        <button class="btn btn-red" onclick="clearAllTwinks()">очистить все</button>
    </div>

    <!-- КНОПКИ ДЕЙСТВИЙ -->
    <div class="button-group">
        <button class="btn btn-green" id="generateBtn">cгенерировать и скопировать</button>
        <button class="btn btn-red" id="clearBtn">очистить всё</button>
    </div>

    <!-- РЕЗУЛЬТАТ -->
    <div class="output">
        <h3>Готовый код</h3>
        <div class="code-block" id="codeBlock">
            Заполните данные и нажмите "Сгенерировать"
        </div>
    </div>

    <script>
        // Данные
        let twinks = [];

        function escapeHtml(str) {
            if (!str) return '';
            return str.replace(/&/g, '&amp;')
                      .replace(/</g, '&lt;')
                      .replace(/>/g, '&gt;')
                      .replace(/"/g, '&quot;');
        }

        // Генерация полного HTML
        function generateFullHTML() {
            const avatar = document.getElementById('avatarUrl').value;
            const charName = document.getElementById('charName').value;
            const fraction = document.getElementById('fraction').value;
            const occupation = document.getElementById('occupation').value;

            // Твинки
            let twinksHtml = '';
            for (let t of twinks) {
                if (t.name || t.link || t.description) {
                    if (t.link && t.link.trim()) {
                        twinksHtml += `<div class="twink"><div class="twink-text"><a href="${t.link}"><strong>${escapeHtml(t.name) || 'ссылка на профиль'}</strong></a><br />${escapeHtml(t.description)}</div></div>`;
                    } else {
                        twinksHtml += `<div class="twink"><div class="twink-text"><strong>${escapeHtml(t.name) || '—'}</strong><br />${escapeHtml(t.description)}</div></div>`;
                    }
                }
            }
            if (!twinksHtml) twinksHtml = '<div class="twink"><div class="twink-text">Нет данных</div></div>';

            // Пустые блоки
            const emptyPlashki = '—';
            const emptyFoni = '—';
            const emptyIcons = '—';
            const emptyCoupons = '<div class="coupon">Нет купонов</div>';
            const emptyFonText = '';

            return `<div class="character">
    <div class="modal-content">
    <div class="left-column">
    <div class="general"><img src="${avatar}" />
    <h2>${escapeHtml(charName)}</h2>
    <div class="fraction">${escapeHtml(fraction)}</div>
    <div class="occupation">${escapeHtml(occupation).replace(/\n/g, '<br />')}</div>
    </div>
    </div>
    <div class="right-column">
    <div class="menu">
    <div class="menu-links"> <span alt="#sm1" onclick='showTab(this);'>твинки</span> <span alt="#sm2" onclick='showTab(this);'>купоны</span> <span alt="#sm3" onclick='showTab(this);'>профиль</span>
    </div>
    <div id="submenu">
    <div id="sm1" class="submenutext"><!-- твинки-->
    ${twinksHtml}
    </div>
    <div id="sm2" class="submenutext" style="display:none;">
    <div class="coupon-list"><!-- купоны-->
    ${emptyCoupons}
    </div>
    </div>
    <div id="sm3" class="submenutext" style="display:none;">
    <div class="profile-grid">
    <div class="profile-left">
    <div class="plashki-gallery">
    <div class="gallery-title">плашки</div>
    ${emptyPlashki}
    </div>
    </div>
    <div class="profile-right">
    <div class="phoni-gallery">
    <div class="gallery-title">фоны</div>
    ${emptyFoni}
    </div>
    <div class="icons-gallery">
    <div class="gallery-title">иконки</div>
    ${emptyIcons}
    </div>
    </div>
    </div>
    </div>
    </div>
    <a class="close-reveal-modal">&times;</a>
    </div>
    </div>
    </div>`;
        }

        // Функция копирования в буфер (рабочий способ)
        function copyToClipboard(text, btn) {
            // Создаём временное текстовое поле
            const textarea = document.createElement('textarea');
            textarea.value = text;
            textarea.style.position = 'fixed';
            textarea.style.top = '-9999px';
            textarea.style.left = '-9999px';
            document.body.appendChild(textarea);
           
            // Выделяем и копируем
            textarea.select();
            textarea.setSelectionRange(0, text.length);
           
            let success = false;
            try {
                success = document.execCommand('copy');
            } catch (err) {
                success = false;
            }
           
            // Удаляем временное поле
            document.body.removeChild(textarea);
           
            // Визуальная обратная связь
            if (success) {
                const originalText = btn.innerHTML;
                btn.innerHTML = 'Скопировано!';
                btn.classList.add('btn-copied');
                setTimeout(() => {
                    btn.innerHTML = originalText;
                    btn.classList.remove('btn-copied');
                }, 2000);
            } else {
                btn.innerHTML = ' Ошибка!';
                setTimeout(() => {
                    btn.innerHTML = 'Сгенерировать и скопировать';
                    btn.classList.remove('btn-copied');
                }, 2000);
            }
           
            return success;
        }

        // Функция для отображения кода в блоке
        function displayCode() {
            const html = generateFullHTML();
            const escaped = html.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
            document.getElementById('codeBlock').innerHTML = escaped;
            return html;
        }

        // Генерация и копирование
        function generateAndCopy() {
            const html = displayCode();
            const btn = document.getElementById('generateBtn');
            copyToClipboard(html, btn);
        }

       
        // Очистка всего
        function clearAllForm() {
            document.getElementById('avatarUrl').value = '';
            document.getElementById('charName').value = '';
            document.getElementById('fraction').value = '';
            document.getElementById('occupation').value = '';
            clearAllTwinks();
            document.getElementById('codeBlock').innerHTML = 'Форма очищена. Введите новые данные.';
        }

        // ========== УПРАВЛЕНИЕ ТВИНКАМИ ==========
        function addTwink() {
            twinks.push({ name: "", link: "", description: "" });
            renderTwinks();
        }

        function removeTwink(index) {
            twinks.splice(index, 1);
            renderTwinks();
        }

        function clearAllTwinks() {
            twinks = [];
            renderTwinks();
        }

        function updateTwink(index, field, value) {
            twinks[index][field] = value;
        }

        function renderTwinks() {
            const container = document.getElementById('twinksContainer');
            if (twinks.length === 0) {
                container.innerHTML = '<div class="note">Нет твинков. Нажмите "Добавить твинка"</div>';
                return;
            }
            container.innerHTML = twinks.map((t, idx) => `
                <div class="twink-item">
                    <div class="inline-row">
                        <input type="text" placeholder="Имя" value="${escapeHtml(t.name)}"
                               onchange="updateTwink(${idx}, 'name', this.value)">
                        <input type="text" placeholder="URL ссылки на профиль" value="${escapeHtml(t.link)}"
                               onchange="updateTwink(${idx}, 'link', this.value)">
                        <button class="remove-btn" onclick="removeTwink(${idx})">✕</button>
                    </div>
                    <input type="text" placeholder="чистота крови, фракция, занятость" value="${escapeHtml(t.description)}"
                           onchange="updateTwink(${idx}, 'description', this.value)" style="width:100%; margin-top:5px;">
                </div>
            `).join('');
        }

        // Привязываем обработчики к кнопкам
        document.getElementById('generateBtn').onclick = generateAndCopy;
        document.getElementById('clearBtn').onclick = clearAllForm;

        // Инициализация
        renderTwinks();
    </script>
    [/html]

    0

    9

    варианты фонов

    https://upforme.ru/uploads/0014/d2/5e/14/137161.png https://upforme.ru/uploads/0014/d2/5e/14/708576.png
    https://upforme.ru/uploads/0014/d2/5e/14/881601.png https://upforme.ru/uploads/0014/d2/5e/14/853816.png
    https://upforme.ru/uploads/0014/d2/5e/14/538796.png https://upforme.ru/uploads/0014/d2/5e/14/151242.png
    https://upforme.ru/uploads/0014/d2/5e/14/156677.png https://upforme.ru/uploads/0014/d2/5e/14/39243.png
    https://upforme.ru/uploads/0014/d2/5e/14/824530.png https://upforme.ru/uploads/0014/d2/5e/14/126156.png
    https://upforme.ru/uploads/0014/d2/5e/14/223367.png https://upforme.ru/uploads/0014/d2/5e/14/256641.png
    https://upforme.ru/uploads/0014/d2/5e/14/93502.png https://upforme.ru/uploads/0014/d2/5e/14/747981.png
    https://upforme.ru/uploads/0014/d2/5e/14/636749.png https://upforme.ru/uploads/0014/d2/5e/14/194896.png
    https://upforme.ru/uploads/0014/d2/5e/14/714512.png https://upforme.ru/uploads/0014/d2/5e/14/965457.png
    https://upforme.ru/uploads/0014/d2/5e/14/684364.png https://upforme.ru/uploads/0014/d2/5e/14/367383.png
    https://upforme.ru/uploads/0014/d2/5e/14/725814.png https://upforme.ru/uploads/0014/d2/5e/14/263506.png
    https://upforme.ru/uploads/0014/d2/5e/14/954004.png https://upforme.ru/uploads/0014/d2/5e/14/548507.png
    https://upforme.ru/uploads/0014/d2/5e/14/819273.png https://upforme.ru/uploads/0014/d2/5e/14/901545.png
    https://upforme.ru/uploads/0014/d2/5e/14/126949.png

    0

    10

    https://forumstatic.ru/files/0014/d2/5e/30793.png https://forumstatic.ru/files/0014/d2/5e/57456.png https://forumstatic.ru/files/0014/d2/5e/53594.png
    https://forumstatic.ru/files/0014/d2/5e/62348.png
    https://forumstatic.ru/files/0014/d2/5e/74173.png
    https://forumstatic.ru/files/0014/d2/5e/80140.png

    0

    11

    https://forumstatic.ru/files/0014/d2/5e/14321.png https://forumstatic.ru/files/0014/d2/5e/45043.png https://forumstatic.ru/files/0014/d2/5e/62865.png https://forumstatic.ru/files/0014/d2/5e/86679.png

    0

    12

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

    прайс-лист
    - плашка (картинка + надпись) из готового набора - 100 галеонов
    - фон профиля из готового набора - 100 галеонов
    - плашка (картинка + надпись) на заказ - 200 галеонов
    - смена фразы в плашке - бесплатно!
    - фон профиля на заказ - 200 галеонов
    - эмодзи из готового набора - 25 галеонов за штуку (максимум 2 для профиля)
    - эмодзи по своему выбору - 50 галеонов

    ЛЕТНЯЯ КОЛЛЕКЦИЯ

    фразы для плашек:

    это просто летний дождь

    волны шепчут твое имя

    вино, жара и никаких сов

    мозг плавится, и я вместе с ним

    таю как мороженое
    иди оближи

    загадки солнца
    на твоей коже

    ветер шепчет
    ты слышишь?

    талия растворилась
    вместе со снегом


    иконки в профиль:

    https://upforme.ru/uploads/0014/d2/5e/14/687699.png https://upforme.ru/uploads/0014/d2/5e/14/128446.png https://upforme.ru/uploads/0014/d2/5e/14/327680.png https://upforme.ru/uploads/0014/d2/5e/14/402725.png https://upforme.ru/uploads/0014/d2/5e/14/380625.png https://upforme.ru/uploads/0014/d2/5e/14/515177.png https://upforme.ru/uploads/0014/d2/5e/14/837872.png  https://upforme.ru/uploads/0014/d2/5e/14/307145.png https://upforme.ru/uploads/0014/d2/5e/14/956370.png

    плашки

    https://upforme.ru/uploads/0014/d2/5e/14/251629.png

    https://upforme.ru/uploads/0014/d2/5e/14/794836.png

    https://upforme.ru/uploads/0014/d2/5e/14/119708.png

    https://upforme.ru/uploads/0014/d2/5e/14/203491.png

    https://upforme.ru/uploads/0014/d2/5e/14/988358.png

    https://upforme.ru/uploads/0014/d2/5e/14/16670.png

    фоны

    https://upforme.ru/uploads/0014/d2/5e/14/137161.png

    https://upforme.ru/uploads/0014/d2/5e/14/708576.png

    https://upforme.ru/uploads/0014/d2/5e/14/881601.png

    https://upforme.ru/uploads/0014/d2/5e/14/853816.png

    https://upforme.ru/uploads/0014/d2/5e/14/538796.png

    https://upforme.ru/uploads/0014/d2/5e/14/151242.png

    https://upforme.ru/uploads/0014/d2/5e/14/156677.png

    https://upforme.ru/uploads/0014/d2/5e/14/126949.png

    https://upforme.ru/uploads/0014/d2/5e/14/824530.png

    https://upforme.ru/uploads/0014/d2/5e/14/126156.png

    https://upforme.ru/uploads/0014/d2/5e/14/223367.png

    https://upforme.ru/uploads/0014/d2/5e/14/256641.png

    https://upforme.ru/uploads/0014/d2/5e/14/93502.png

    https://upforme.ru/uploads/0014/d2/5e/14/747981.png

    https://upforme.ru/uploads/0014/d2/5e/14/636749.png

    https://upforme.ru/uploads/0014/d2/5e/14/194896.png

    https://upforme.ru/uploads/0014/d2/5e/14/714512.png

    https://upforme.ru/uploads/0014/d2/5e/14/965457.png

    https://upforme.ru/uploads/0014/d2/5e/14/263506.png

    https://upforme.ru/uploads/0014/d2/5e/14/954004.png

    https://upforme.ru/uploads/0014/d2/5e/14/548507.png

    https://upforme.ru/uploads/0014/d2/5e/14/725814.png

    https://upforme.ru/uploads/0014/d2/5e/14/684364.png

    https://upforme.ru/uploads/0014/d2/5e/14/367383.png

    весенняя коллекция

    фразы для плашек:

    да гори оно все
    драконьим пламенем

    да, потеплело.
    нет, я не стану добрее.

    открываю сезон
    прикрытых глаз

    весной хочется жить
    или поджечь что-нибудь

    почки распустились
    я — тоже

    хотел романтики
    получил повестку

    весной даже совесть
    снимает мантию

    дракон не спит
    и я тоже


    иконки в профиль:

    https://upforme.ru/uploads/0014/d2/5e/14/278962.png https://upforme.ru/uploads/0014/d2/5e/14/926957.png https://upforme.ru/uploads/0014/d2/5e/14/671863.png https://upforme.ru/uploads/0014/d2/5e/14/432999.png https://upforme.ru/uploads/0014/d2/5e/14/161584.png https://upforme.ru/uploads/0014/d2/5e/14/578266.png

    плашки

    https://upforme.ru/uploads/001c/3b/dd/161/222786.png

    https://upforme.ru/uploads/001c/3b/dd/161/41964.png

    https://upforme.ru/uploads/001c/3b/dd/161/799538.png

    https://upforme.ru/uploads/001c/3b/dd/161/950123.gif

    https://upforme.ru/uploads/001c/3b/dd/161/349743.gif

    https://upforme.ru/uploads/001c/3b/dd/161/81954.gif

    фоны

    https://upforme.ru/uploads/001b/d8/2e/2/343127.png

    https://upforme.ru/uploads/001b/d8/2e/2/262826.png

    https://upforme.ru/uploads/001b/d8/2e/2/551295.png

    https://upforme.ru/uploads/001b/d8/2e/2/902185.png

    https://upforme.ru/uploads/001b/d8/2e/2/202667.png

    https://upforme.ru/uploads/001b/d8/2e/2/746796.png

    https://upforme.ru/uploads/001b/d8/2e/2/350079.png

    https://upforme.ru/uploads/001b/d8/2e/2/347542.png

    зимняя коллекция

    [html]<style>
    .gallery {
        display: flex;
        gap: 20px;
    }

    /* две колонки */
    .col {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .col:nth-child(3) {
        width: 250px;
        word-wrap: break-word;
    }

    .fon-light, .fon-dark {
        position: relative;
        display: inline-block;
    }

    .fon-light img, .fon-dark img {
        display: block;
        width: 250px; 
        height: auto;
    }

    /* LIGHT */
    .fon-light::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            rgba(152, 171, 177, 0.5) 10%,
            #AEBCBF 100%
        );
        pointer-events: none;
    }

    /* DARK */
    .fon-dark::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            rgba(146, 141, 138, 0.5) 10%,
            #A09895 100%
        );
        pointer-events: none;
    }

    .emoji img{width: 34px;
    heith: 34px}
    </style>

    <div class="gallery">

        <!-- левая колонка -->
        <div class="col">
            <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/627593.png"></div>
            <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/311256.png"></div>
            <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/439232.png"></div>
            <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/964389.png"></div>
            <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/469935.png"></div>
            <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/509345.png"></div>
        </div>

        <!-- правая колонка -->
        <div class="col">
            <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/627593.png"></div>
            <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/311256.png"></div>
            <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/439232.png"></div>
            <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/964389.png"></div>
            <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/469935.png"></div>
            <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/509345.png"></div>
        </div>

        <div class="col"><b>фразы для плашек <br>(можно выбрать любую или заказать свою)</b>
    министерским указом<br>
    уют разрешен
    <br><br>
    теплые зелья<br>
    в холодных руках
    <br><br>
    хочу мандаринов<br>
    жую мандрагору
    <br><br>
    сопротивление спряталось так,<br>
    что праздник его не нашел
    <br><br>
    это не праздничный террор<br>
    это корпоратив в министерстве
    <br><br>
    подвожу итоги года<br>
    стараюсь не заплакать
    <br><br>
    планы на зиму: выжить<br>
    и красиво смотреться под ёлочкой
    <br><br>
    маг декоративный:<br>
    максимум чар, минимум пользы
    <br><br>
    я не подарок,<br>
    но красиво упакован
    <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/720260.gif"></div>
    <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/720260.gif"></div>
    <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/312259.gif"></div>
    <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/312259.gif"></div>
    <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/152050.gif"></div>
    <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/152050.gif"></div>
    <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/387641.gif"></div>
    <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/387641.gif"></div>
    <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/10479.gif"></div>
    <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/10479.gif"></div>
    <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/921236.gif"></div>
    <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/921236.gif"></div>
    <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/611461.gif"></div>
    <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/611461.gif"></div>
    <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/902512.gif"></div>
    <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/902512.gif"></div>
    <div class="fon-light"><img src="https://upforme.ru/uploads/0014/d2/5e/14/217440.gif"></div>
    <div class="fon-dark"><img src="https://upforme.ru/uploads/0014/d2/5e/14/217440.gif"></div>
    <b>эмодзи внизу профиля <br>(можно выбрать одну или две - для светлой и тёмной темы)</b>
    <div class="emoji"><img src="https://img.icons8.com/?size=100&id=O8qZGG8hWatE&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=mPImfkDBTQn1&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=bHYIhAtlIzqD&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=wgC4n5niQXU_&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=jmk54CulFVxP&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=AHWkIE_i5sGn&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=PLB1KgUEZ7e7&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=lpwIPuQcu1fD&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=i8it7UTnefS1&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=vAKWxxEbQ6Fq&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=v4AIFGxhL1lB&format=png&color=000000">
    <img src="https://img.icons8.com/?size=100&id=bWSF9BaSORCP&format=png&color=000000">
    </div>
    </div></div>

    </div>

    [/html]

    шаблон заказа:

    Код:
    [b]— позиция из прайс листа:[/b] фон/плашка/эмодзи из набора/своя
    [b]— ссылка на картинку: [/b] из каталога или ваша, можно не указывать, тогда амс подберут сами
    [b]— сумма траты:[/b] общая сумма по всем операциям 
    [b]— общая сумма в профиле:[/b] итоговая сумма с учетом всех операций

    [hideprofile]

    0

    13

    https://forumstatic.ru/files/0014/d2/5e/45043.png


    MILLICENT BULSTRODE
    28 лет ♦ трейсер службы границ и безопасности ♦ феминистка ♦ martina carridi

    Миллс поняла слишком рано: в мире чистокровных недостаточно просто родиться в "правильной" семье. Если ты женщина, то еще должна быть красивой, удобной, молчаливой и желательно не слишком умной. И поскорее стать приложением к мужчине, род которого нужно сохранить. Миллисента смотрела на список привилегий “сильного пола” и злилась. Оказалось, можно любить систему, но ненавидеть ее патриархальные установки.

    Она карабкалась вверх, пока остальная Британия захлебывалась войной. Исполнительная, жесткая, амбициозная — Миллс справлялась быстрее и лучше многих мужчин, став идеальным винтиком министерской машины. Но когда дело доходило до дележа настоящей власти — ей всегда предпочитали парней. Она была готова на все, чтобы пробиться. Охотно приняла метку, а увидев статью о трейсере, получившем признание за поимку Поттера, сразу же подала заявление в отдел контроля границ. Сейчас Миллисента лучшая в своей группе, но это не мешает начальству отклонить ее прошение стать руководителем этой группы. Должность отдают мужчине, и Миллс кипит от бешенства. Она болеет за "Гарпий", завидует Каллисто Эйвери, получившей место в кабинете министра, даже придумывает название для своего — исключительно женского — трейсерского отряда. У нее есть амбиции — магглолюбец Уизли, предатель крови, стал начальником сектора в 30 лет. И она мечтает его превзойти, доказав, что способна.

    Но ее идею сделать женскую команду в службе границ все время откладывают. А когда она в минуту смелости подает заявление на вакантное место советника министра по административным вопросам, то получает в ответ кое-что похуже, чем вежливый отказ — ей предлагают унизительную должность секретарши в кабинете министра. "Унизительным" это предложение выглядит лишь для Миллисенты, явно способной на большее. И ей не хочется слушать тех, кто говорит, что это прекрасная возможность подобраться ближе к "монарху", первой получать всю важную информацию, найти способ вновь себя проявить. Потому что это тоже отчасти правда. Новое место подошло бы для Миллс — пробивной, готовой лезть куда не просят и вмешиваться во все обсуждения. Или все же лучше настоять на своем и собрать элитный женский отряд из лучших трейсеров, чтобы держать в страхе ублюдков сопротивления, развязавших эту войну и пролившую реки крови?

    Миллс не знает, как поступить. Но чем больше ей пытаются навязать чужое мнение и напомнить о "женском предназначении", тем сильнее Миллисента упирается и мечтает о своей собственной революции с девичьим лицом. Масла в огонь подливает ее старший брат Арчибальд Булстроуд — продюсер звезд магической эстрады и один из людей, помогающих режиму формировать красивую картинку для общества. Миллисента слишком хорошо видит, как именно Министерство использует женские лица в пропаганде: как легко превращает ведьм в символы, плакаты и украшения системы, не собираясь воспринимать их всерьез. И если Арчи считает подобные компромиссы нормальной частью игры, то Миллисента — нет. Даже если сама остается частью этой системы.


    GARETH FAWLEY
    27 лет ♦ аврор ♦ отчаявшийся ♦ damian hardung

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

    Гарет никогда не был человеком, склонным к драмам. И, возможно, именно поэтому он так долго верил, что однажды все как-нибудь сложится само собой. Что Церера заметит его чувства, и их семьи договорятся. Что у них еще будет шанс. Он ведь любил ее всегда: и когда от нее отворачивались, как от дочери преступника, и когда ее превозносили, как дочь Министра магии. А потом ее помолвили со стариком Кэрроу, потому что так было выгодно.

    Он пережил это молча, как и положено человеку его круга. Не устраивал сцен, не спорил с решениями старших, не пытался разрушить чужую помолвку. Но впервые по-настоящему понял, насколько мало в этом мире значат личные желания, особенно если ты привык быть "удобным". А потом Цереру убило сопротивление.

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

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

    https://forumstatic.ru/files/0014/d2/5e/14321.png

    https://forumstatic.ru/files/0014/d2/5e/62865.png


    SYBILLA BLACK
    35-45 лет ♦ артефактолог службы границ и безопасности ♦ жаждет мести ♦ hande ercel

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

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

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

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


    KYLE MACFUSTY
    39 лет ♦ драконолог ♦ готов на всё ♦ matt smith

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

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

    Он завел семью, потому что должен был, даже время от времени покидал Шотландию, посещая приемы и встречи ради привлечения финансирования. Он откликался на зов Лорда без раздумий и колебаний, если где-то требовалось его участие, однако его истинной страстью всегда оставались драконы. Он мечтал однажды совершить революцию в мире драконологии и заткнуть всех, кто сомневался в полезности этого дела.
    Впрочем после прихода Волдеморта к власти финансирование внезапно увеличилось, будто революция уже свершилась. Клан был в восторге, но Кайл понимал, что это совсем не то, чем кажется. Просто в какой-то момент в драконах увидели ресурс, который мог быть крайне полезен в возможной войне. Макфасти был против. Он даже хотел бросить все и уйти, лишь бы его не заставили превращать драконов в машины для убийств. Но потом к нему пришло осознание: его уход ничего не изменит. Драконов все равно будут использовать, их пустят на убой при любом раскладе, вопрос лишь в том, скольким из них придется погибнуть не в своей войне.

    И он остался. И продолжает свою работу в надежде, что когда придет время, он сможет что-то изменить. Когда кто-то из сотрудников называет драконов “живым оружием”, он морщится, спорит, злится… а потом все равно продолжает работу. Потому что никто, кроме него, не сделает ее правильно. Потому что если этим займутся чиновники или военные, драконов начнут калечить и ломать без понимания, как с ними обращаться. Потому что он слишком долго ждал возможности заниматься любимым делом, чтобы теперь отказаться от нее из-за чужой политики. Иногда ему кажется, что любить драконов куда проще, чем людей..

    https://forumstatic.ru/files/0014/d2/5e/86679.png

    0

    14

    https://upforme.ru/uploads/0014/d2/5e/2/547512.png
    имя, добро пожаловать в реальный мир.
    не забудь прихватить с собой волшебную палочку, стратегический запас огненного виски и немного безоара. заполни коды ниже для завершения регистрации в системе и начинай свою историю. но помни: «когда-то нам придётся решать, на чьей мы стороне» (с) а. дамблдор

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

    #1 список персонажей. укажи касту - pb (чистокровный), hb (полукровный), mb (магглорождённый), ph (получеловек), sq (сквиб), ol (вне закона), mg (маггл); лояльность - rs (resistance — сопротивление), de (death eaters — пс), nt (neutral — нейтрал). обратите внимание - сначала идёт фамилия, через запятую имя.

    Код:
    [url=ссылка на профиль][b]фамилия, имя (англ)[/b][/url] [sup]год рождения[/sup] - каста, лояльность.

    #2 внешность.

    Код:
    имя актрисы/актера (англ) - [url=ссылка на профиль]имя персонажа (англ)[/url]

    #3 занятость.
    указать отдельно от кода организацию и должность или вид деятельности

    Код:
    [url=ссылка на профиль]имя персонажа[/url]

    #4 личное звание.

    Код:
    имя фамилия, возраст цифрой
    Код:
    ссылка на анкету
    Код:
    свободное описание с указанием <a href="ССЫЛКА НА ПАРУ">пары</a>, ну если есть.

    каста:

    Код:
    pure-blood / half-blood / muggle-blood / outlaw / part-human (оставить нужное)

    #5 плашка
    просто копируем и вставляем без изменений

    Код:
    <div class="plashka">
      <img alt="">
    <a class="modal-link" id="ИМЯ СТРАНИЦЫ" data-reveal-id="character" href="ССЫЛКА НА СТРАНИЦУ"> 
        <span>maleficas et earum haeresim</span>
      </a>
    </div>
    

    #6 личная страница

    Код:
    ссылки на твинов, если есть
    (опционально) другая информация

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

    0

    15

    [html]
    <div class="news-main">
      <div class="news-zagolovok">BREAKING NEWS</div>

      <div class="news-podlozhka">
        <div class="news-date">01/06/2026</div>

    <p>
      <span class="news-author-inline">
        <img src="https://64.media.tumblr.com/0725f750c8ab2eb67f2043fa8744fbec/ad09b9c8aac26aaa-c4/s540x810/13c84985f0dffc79a5661bbcbb15ad2a329882af.gif">
      </span>
    Ребята, на связи Кассик, и я пришел сюда сегодня в первую очередь для того, чтобы сказать вам, как я вами всеми горжусь! Вы сделали это, вы дожили до лета, вы писали посты, вы активничали где только могли, вы помогли нам закрыть еще одну увлекательную сюжетную арку, и это невероятно ценно как для меня лично, так и для всего нашего админ-состава в целом! Вы большие умнички, спасибо вам что вы у нас есть :3 а сейчас усаживайтесь поудобнее, потому что новостей в этот раз будет оооочень много, но не стоит волноваться, ведь все они максимально приятные и положительные! <s>прямо как я хд</s>
    </p>

    <p>Начнем, пожалуй, с события самого грандиозного - завершения третьей сюжетной арки! Это было непросто, иногда волнительно, иногда почти невозможно, и все-таки мы с вами это сделали! Все сюжеты подошли к своему логичекому концу, а это значит, что и командная гонка наконец завершилась, и мы можем <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=812#p133251">смело объявить итоги!</a> На этот раз, как вы возможно догадались, увидев здесь мою довольную рожу, победа достается <b>ПОЖИРАТЕЛЯМ СМЕРТИ!</b> Безмерно горжусь, от всей души поздравляю, вы огромные молодцы, надеюсь что в следующих гонках отрыв будет еще внушительнее, и мы наконец покажем этим грязнулькам из Сопротивления, где их место! На этом заканчиваю свои радостные крики, а то меня выгонят из админки, и перехожу к другим важностям! Естественно, мы не можем не выделить тех ребят, которые принесли своим командам наибольшее количество баллов! В этот раз лидерами стали <a href="https://mmaleficarum.rusff.me/profile.php?id=267">Драко Малфой</a> и <a href="https://mmaleficarum.rusff.me/profile.php?id=27">Шеймус Финниган</a>, и их старания не останутся незамеченными! В награду каждый из них получит возможость повлиять на сюжет в грядущей сюжетной арке, о чем подробнее мы расскажем, когда ребята определятся со своими пожеланиями.</p>

    <p>Ну а пока я с радостью объявляю каникулы! Мы прекрасно понимаем, что летом у многих совсем нет времени активно просиживать штанишки на форумах, да и давайте откровенно, после такой насыщенной арки всем хочется немного передохнуть! Потому со следующей аркой и набором игроков в сюжет мы вернемся к вам позже, а пока, если кто-то не хочет отказывать себе в удовольствии потрогать сюжет даже в этот период, мы подготовили для вас несколько фоновых событий, которые можно будет использовать в своей игре. Тему с ними мы совсем скоро выложим на форум, там же вы сможете ознакомиться с итогами прошедшей арки и глобальными последствиями, которые неизбежны после произошедшего в ней. Возможно, что-то коснется непосредственно вас или ваших близких? </p>

    <p>На этом с сюжетом закончим, и перейдем к слону, что стоит прямо посреди комнаты - новому дизайну! Он классный, правда?!?! Мы уже поцеловали в пупочки наших неизменных графистов и кодеров Ронни и Финни, но вы в любое время можете к нам присоединиться, они будут только рады! Несколько важных моментов: <b>во 1-ых</b>, мы в этот раз убрали кастомизацию профиля, однако оставили возможность переключаться между светлой и темной темой, потому надеемся, что каждый сможет выбрать для себя то, что ему по вкусу! <b>Во 2-ых</b>, в шапке снова появилось место для нужных, которое можно будет выиграть в активностях или просто купить в банке, а это отличная возможность заняться поиском тех, кто вам жизненно необходим! <b>В 3-их</b>, мы заменили название подфорумов на более интуитивно понятные, <s>ну, нам так кажется хд</s> надеемся, что вы с нами согласитесь, и вам тоже понравится. а если не понравится, то вы привыкните хд а если не понравится и не привыкните - дайте нам знать, мы что-нибудь обязательно придумаем!</p>

    <p><b>В 4-ых</b>, у нас появилась <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1118#p133248">примерочная фонов и плашек,</a> с возможностью не только примерить имеющиеся варианты, но и самостоятельно загружать понравившиеся картинки и настраивать профиль полностью под свой вкус! А самое приятное в этом то, что механизм сам посчитает вам стоимость вашего заказа и заполнит код, который вам останется просто вставить в форму ответа. Ну не шикарно ли? Ну и <b>в 5-ых</b>, по многочисленным просьбам (и благодаря нашему с Эрни нытью) наша кодовая фея Финниган замутила для нас личную страницу! Теперь все ваши твинки, фоны и плашки, а вместе с ними и полученные во всяких ивентах награды, будут храниться в одном месте, и вы точно ничего не забудете и не потеряете. Естественно, заставлять вас что-то заполнять мы не будем, и все сделаем сами, однако если есть среди вас те, кто хочет <s>выбрать себе красивую гифочку</s> помочь амс и заполнить свою страничку - милости просим <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1119#p133250">в генератор,</a> там все максимально просто и понятно! А в долгу мы, конечно же, не останемся, и всем, кто заполнит свою страничку, будет автоматически загружен купон на одноразовое спасение от чистки!</p>

        <p>Фуууух, ну и новостей набралось! Кажется, половину перешагнули. Но мы ведь с вами не ссыкло, и идем дальше, правда? Следущий пункт на повестке дня - <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=844">новые акционные заявки!</a> Да, их не много, но мы решили брать не количеством, а качеством! На этот раз привлекаем ребят, на которых максимально влияют события нашего сюжета, готовых активно ввязаться в любую потасовку без лишних вопросов! Так что если вы давно думаете о твинке <s>и у вас их еще не 85, как у нас с Ронни</s>, или у вас есть знакомые, которых вы давно хотели позвать, но не знали, в какой роли - вот вам отличная возможность! Мы будем несказанно рады видеть этих шикарных ребят!</p>

      <p>А пока вы пускаете слюнки на наших сюжетных звездочек, я расскажу вам о развлекушка. Тех, что уже были и тех, что только будут! Лот номер один - полюбившийся всем нам <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1092">переполох на факультетах</a> подошел к концу! Итоги будут подведены в ближайшее время, полученные баллы пойдут уже в новое противостояние (в старом они бы ничего не изменили, так что нет причин для волнения!). Но если вы думали, что на этом с мини-играми покончено, то вы сильно ошибались! Потому что наша Джинничка подготовила для вас лот номер два - <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1116#p133243">тетрис!</a> Не ожидали, правда? А никто не ожидал. Но я уверен, что вам понравится! А тем временем лот номер три - <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1117#p133245">Чемпионат Малефики по квиддичу!</a> Давайте признаем, в магическом мире квиддич так или иначе касается каждого! Потому не стесняемся, записываемся, участвуем и веселимся, а если участвовать не хочется, всегда можно просто посмотреть и поболеть за любимый факультет! Но помните: квиддич - игра командная, и побеждает здесь тот, кто знает разницу между "я" и "мы". Ну и лот номер четыре, для полного релакса - <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1115#p133242">летняя угадайка.</a> Три этапа разного уровня сложности и упоротости, 2 недели на выполнение заданий, понятные и приятные награды, одним словом никакого напряга, как и положено в начале июня. </p>

    <p>Ну и конечно же, ласт бат нот зе лист, наши достигаторы! Активные по всем фронтам мужчины <a href="https://mmaleficarum.rusff.me/profile.php?id=350">Риччи</a>, <a href="https://mmaleficarum.rusff.me/profile.php?id=378">Аларик</a> и <a href="https://mmaleficarum.rusff.me/profile.php?id=372">Кайрос</a>, мы гордимся вами почти так же сильно, как Каллисто! Продолжайте в том же духе, мы с удовольствием читаем вас и во флуде, и в игре!</p>
    <p>Тем временем у сопротивленцев все стабильно. Эпизод с говорящим названием <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1071">does Potter really stink?</a> рекомендуется к прочтению всем, кто уже давно задается тем же вопросом, но не решается озвучить его. А если серьезно, флешбеки из 1994, когда школьники Хогвартса собираются за сливочным пивом, чтобы обсудить предстоящий турнир, читаются очень приятно, и погружают в атмосферу того самого уюта, ради которого многие из нас каждый год раз за разом пересматривают все части Гарри Поттера под новый год! И хотя на улице уже совсем не снег и не метель, не отказывайте себе в удовольствии почитать эти очаровательные посиделки.  </p>
    <p>Что же до поста, признаюсь, мне очень приятно, что в нашей шапке будет висеть именно он. Прекрасная <a href="https://mmaleficarum.rusff.me/profile.php?id=202">Рианнон</a> во время своего медового месяца с тем самым рыжим из <s>Иванушек </s>Уизли, который копил целый год, чтобы <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=986#p132398">отвезти малую на море</a>, выглядит просто безупречно! Непременно сходите и полюбуйтесь!</p>

    <p>Ну а на этом пока все, наслаждайтесь летом, отдыхайте, развлекайтесь с нами и без нас, и возвращайтесь, чтобы дальше радовать нас своими постами! Всех люблю-целую-обнимаю, ваш Кассик ♥ </p>
    <p></p>
      </div>
    </div>
    [/html]
    [hideprofile]

    0

    16

    стиль верх

    Код:
    @import url(style_cs.css);
    
    /* шрифты бланш */
    @import url(https://forumstatic.ru/files/001a/28/10/55678.css); 
    
    /* Иконический шрифт */
    @import url('https://fonts.googleapis.com/css2?family=Material+Icons+Outlined');
    
    /* Font Awesome */
    @import url('https://kit-pro.fontawesome.com/releases/v6.6.0/css/pro.min.css');
    
    @import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&display=swap');
    
    @font-face {
      font-family: 'Murderer';
      src: url('https://forumstatic.ru/files/0014/d2/5e/85154.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;
    }
    
    @font-face {
      font-family: 'Cormorant';
      src: url('https://forumstatic.ru/files/0014/d2/5e/77122.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;
    }
    
    
    /****************************************
    Чистый стиль by Alex Kolmar (бродяга)
    ****************************************/
    
    /* Полезные сервисные настройки
    -------------------------------------------------------------*/
    
    .acchide,
    #pun-index #pun-main h1,
    #pun-navlinks h2,
    #pun-pagelinks h2,
    #pun-status h2,
    #pun-ulinks h2,
    .punbb .forum h2,
    .punbb .multipage .topic h2,
    .punbb dl.post-sig dt span,
    .punbb p.crumbs strong,
    .punbb .divider hr,
    .punbb .required label em,
    .punbb .formsubmit label,
    .punbb .submitfield label,
    .punbb .modmenu label,
    #pun-userlist .main h2 {
      font-size: 0;
      height: 0;
      width: 0;
      line-height: 0.0;
      position: absolute;
      left: -9999px;
      overflow: hidden;
    }
    
    #pun:after,
    .punbb .container:after,
    .punbb .post-links ul:after,
    .punbb .main div.inline:after,
    .punbb .post-box:after,
    .punbb .linksb:after {
      clear: both;
      content: ".";
      display: block;
      height: 0;
      visibility: hidden;
      overflow: hidden;
      line-height: 0.0;
      font-size: 0;
    }
    
    
    /* Основные переменные
    ------------------------------------------*/
    
    :root {
        --body-bg-img: url(https://forumstatic.ru/files/0014/d2/5e/96307.jpg);
      --shapka-img: url(https://forumstatic.ru/files/0014/d2/5e/99770.png);
      --need-fon-img: url(https://forumstatic.ru/files/0014/d2/5e/77186.png);
    --body-bg: #D3A6A9;
      --pun-bg: #CCCCCC;
      --footer: #7E7E7E;
      --podforum: #D4CFB2;
      --sec-bg: #E0E0E0;
    --sec-bg-op: rgba(244, 244, 244, 0.5);
      --light-accent: #EBD6D3;
      --dark-accent: #FF818A;
      --link: #B16C71;
      --link-hover: #2C2D2A;
      --white: #F4F4F4;
        --profile-overlay: rgba(204, 204, 204, 0.5);
    --topic-overlay: rgba(235, 214, 211, 0.5);
    --need-overlay: rgba(255, 129, 138, 0.2);
    --guest-overlay: rgba(126, 126, 126, 0.3);
    --post-bg: #d6d6d6;
    --news-bg: rgba(188, 188, 188, 0.5);
      --textcolor: #3F3E3E;
         --profile-light: #D6D6D6;
    --profilebg: #3F3E3E;
      --profile-light-accent: rgba(0, 0, 0, 0);
     --profilelinkhover: #FF818A;
     --profilelink: #7E7E7E;
      --profiletext: #CCCCCC;
    --profileplashka: #AAAAAA;
    --plashka-img: url(https://forumstatic.ru/files/0014/d2/5e/21523.png);
    --profile-bg-img: url(https://forumstatic.ru/files/0014/d2/5e/52159.png);
    --posts: url("https://forumstatic.ru/files/0014/d2/5e/60541.png?v=1");
    --messages: url("https://forumstatic.ru/files/0014/d2/5e/35835.png?v=1");
    --likes: url("https://forumstatic.ru/files/0014/d2/5e/29570.png?v=1");
    --money: url("https://forumstatic.ru/files/0014/d2/5e/90559.png?v=1");
    --emoji: url("https://forumstatic.ru/files/0014/d2/5e/17628.png");
      --pwidth: 220px;
      --pad1: 10px 20px;
      --pad2: 5px 20px;
      --pad3: 5px 10px;
      --main-font: "Arial", sans-serif;
      --extra-font: "Cormorant", sans-serif;
    --add-font: "Bodoni Moda", sans-serif;
    --news-font: "Murderer", sans-serif;
    --dres-img: url(https://forumstatic.ru/files/0014/d2/5e/79312.png);
    --spell-img: url(https://forumstatic.ru/files/0014/d2/5e/54109.png);
        --cat-admins-img: url('https://forumstatic.ru/files/0014/d2/5e/70283.png');
        --cat-sun-img: url('https://forumstatic.ru/files/0014/d2/5e/93033.png');
        --cat-sins-img: url('https://forumstatic.ru/files/0014/d2/5e/26745.png');
        --cat-darkness-img: url('https://forumstatic.ru/files/0014/d2/5e/11332.png');
        --cat-washed-img: url('https://forumstatic.ru/files/0014/d2/5e/24744.png');
        --cat-blood-img: url('https://forumstatic.ru/files/0014/d2/5e/74482.png');
        --cat-reasons-img: url('https://forumstatic.ru/files/0014/d2/5e/25525.png');
        --spell-img: url('https://forumstatic.ru/files/001c/3b/dd/61848.png?v=1');
    }
     
    
    /* Темная тема */
    
    .dark {
    --posts: url("https://forumstatic.ru/files/0014/d2/5e/56606.png");
    --messages: url("https://forumstatic.ru/files/0014/d2/5e/25100.png");
    --likes: url("https://forumstatic.ru/files/0014/d2/5e/54974.png");
    --money: url("https://forumstatic.ru/files/0014/d2/5e/53068.png");
    --emoji: url("https://forumstatic.ru/files/0014/d2/5e/87603.png");
      --body-bg-img: url(https://forumstatic.ru/files/0014/d2/5e/59900.jpg);
      --shapka-img: url(https://forumstatic.ru/files/001c/3b/dd/79293.png?v=1);
      --need-fon-img: url(https://forumstatic.ru/files/0014/d2/5e/55443.png);
    --dres-img: url(https://forumstatic.ru/files/0014/d2/5e/32845.png);
    --spell-img: url(https://forumstatic.ru/files/0014/d2/5e/20393.png);
    --body-bg: #FFEF93;
    --link-hover: #FFEF93;
    --link: #2C2D2A;
      --pun-bg: #7E7E7E;
      --light-accent: #CCCCCC;
      --dark-accent: #FFD900;
    --topic-overlay: rgba(255, 239, 147, 0.5);
    --need-overlay: rgba(255, 239, 147, 0.5);
     --profilelinkhover: #FFD900;
    --profileplashka: #9D9D9D;
    --post-bg: #afafaf;
        --cat-admins-img: url('https://forumstatic.ru/files/0014/d2/5e/94840.png');
        --cat-sun-img: url('https://forumstatic.ru/files/0014/d2/5e/64711.png');
        --cat-sins-img: url('https://forumstatic.ru/files/0014/d2/5e/87629.png');
        --cat-darkness-img: url('https://forumstatic.ru/files/0014/d2/5e/96439.png');
        --cat-washed-img: url('https://forumstatic.ru/files/0014/d2/5e/61181.png');
        --cat-blood-img: url('https://forumstatic.ru/files/0014/d2/5e/86562.png');
        --cat-reasons-img: url('https://forumstatic.ru/files/0014/d2/5e/95432.png');
        --spell-img: url('https://forumstatic.ru/files/001c/3b/dd/11642.png?v=1');
    }
    
    .dark .b-post-title {color: var(--light-accent);
        top: -46px;
        left: 21px;}
    .dark .about {background: var(--light-accent);}
    .dark .nav_button_quests, .dark .nav_button {background: var(--link-hover);
    color: var(--textcolor)}
    .dark .nav_button:hover, dark .nav_button_quests: hover {color: var(--link-hover);}
    .dark .b-episode-link {background: var(--light-accent)}
    .dark .b-episode-link:hover {color: var(--link);}
    .dark #pun-navlinks a {color: var(--link);}
    .dark #pun-navlinks a:hover  {color: var(--link-hover);}
    .dark .news-block {background: var(--textcolor);}
    .dark .podforum {color: var(--textcolor)!important;}
    .dark .podforum a {color: var(--textcolor)!important;}
    .dark #theme_switcher li input#light::before {color: var(--textcolor)}
    .dark #theme_switcher li input#dark::before {color: var(--link-hover)}
    .dark .lastpost-link, .dark .lastpost {color: var(--textcolor)}
    .dark #pun-index div.icon {background: var(--light-accent);}
    .dark #pun-stats li.item1, .dark #pun-stats li.item2, .dark #pun-stats li.item3, .dark #pun-stats li.item4, .dark #pun-stats li.item4 a {background: var(--textcolor);
        color: var(--light-accent);}
    .dark #pun-stats li.item4 a:hover {color: var(--link-hover)}
    .dark #html-footer {background: var(--textcolor);}
    .dark .tcl h3 a {color: var(--textcolor)}
    .dark .tcl h3 a:hover {color: var(--link);}
    .dark .tcl a, .dark .tcr a {color: var(--textcolor)!important}
    .dark .tcl a:hover, .dark .tcr a:hover {color: var(--link-hover)!important}
    .dark #pun-viewforum div.icon, .dark #pun-viewtopic div.icon {background: var(--news-bg)}
    .dark .lz-about a {color: var(--profilelink);}
    .dark .lz-about a:hover {color: var(--link);}
    .dark .quote-box cite {color: var(--textcolor);
    background: var(--link-hover);}
    .dark .punbb div.post-vote p, .dark post-rating {background: transparent!important}
    .dark #plng, .dark input[type="text"], .dark input[type="password"], .dark textarea, .dark select {border: 1px solid var(--link)!important;
    background: var(--news-bg);}
    .dark #viewprofile td#profile-left, .dark #profile-right li{background: var(--post-bg);}
    .dark .news-podlozhka p  a {color: var(--link)!important}
    .dark .news-podlozhka p  a:hover {color: var(--link-hover)!important} 
    .dark .news-date {background: var(--link-hover)}
    .dark .news-episode, .dark .news-quote {background: var(--topic-overlay);
    color: var(--textcolor);}
    .dark .news-episode a {color: var(--link)}
    .dark .news-episode a:hover {color: var(--link-hover)}
    .dark input.button,
    .dark #pun-admain input.button,
    .dark #sub4,
    .dark input[type="button"],
    .dark input[type="submit"] {
        background: var(--footer);
            color: var(--link-hover);
        border: 1px solid var(--textcolor);}
    .dark .news-title a:hover, .dark .b-episode-link a:hover {color: var(--link-hover)!important}
    .dark #character {background: var(--link)}
    .dark .general {color: var(--post-bg)}
    .dark .gallery-title, .dark .twink-text {color: var(--textcolor)}
    .dark #pun-ulinks a:hover {color: var(--profile-light)}
    .dark .plashka a {color: var(--link-hover);}
    .quote-box cite a  {color: var(--textcolor)!important}
    .dark .podforum a:hover {color: var(--footer)!important}
    .dark tr.inew div.icon {background: var(--link-hover)!important}
    .dark #pun-stats .container a:hover {color: var(--link-hover)!important}
    .dark .indOnline {background: var(--link-hover)!important}
    .indOffline {
      background-color: var(--post-bg)!important;
    }
    .dark tr.iclosed div.icon {
      background: var(--link) url() no-repeat top center;
    }
    .dark div.icon {background: var(--light-accent);}
    .dark .acts {    left: 957px; }
    
    /* Global
    ------------------------------------------*/
    
    /* Применяется ко всем элементам */
    
    * {
      margin: 0;
      padding: 0;
      border: none;
      text-size-adjust: 100%;
      -moz-text-size-adjust: 100%;
      -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
      scrollbar-width: thin;
      scrollbar-color: var(--footer) var(--sec-bg);
    }
    
    /* прокрутка хром etc */
    
    *::-webkit-scrollbar {
      width: 7px;
      height: 7px;
    }
    
    *::-webkit-scrollbar-track {
      background-color: var(--sec-bg);
    }
    
    *::-webkit-scrollbar-thumb {
      background-color: var(--link);
    }
    
    *::-webkit-scrollbar-thumb:active {
      background: var(--link-hover);
    }
    
    /* выделение текста */
    
    ::selection {
      background: var(--link);
      color: var(--pun-bg);
    }
    
    :focus {
      outline: none;
    }
    
    
    del {
        opacity: 0.7;
        filter: blur(2px);
        text-decoration: none;
        transition: all .3s linear 0s;
    }
    
    del:hover {
        opacity: 1;
        filter: none;
        text-decoration: none;
    }
    
    /* все ссылки */
    
    a,
    .punbb #pun-admain a {
      text-decoration: none;
      color: var(--link);
    font-weight: bold;
      transition: all .2s linear 0s;
    }
    
    a:hover,
    .punbb #pun-admain a:hover {
      color: var(--link-hover);
    }
    
    /* все заголовки */
    
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    blockquote,
    pre {
      margin: 0;
    }
    
    h1,
    h2 {
      padding: 10px 20px;
      font-weight: normal;
      text-align: center;
    }
    
    
    .multipage h1, .multipage h2 {
       display: none;
    }
    
    
    ul,
    dl,
    li,
    dd,
    dt {
      list-style: none;
    }
    
    address,
    em {
      font-style: normal;
    }
    
    /* выключить список модераторов, отредактировано etc */
    
    .modlist,
    .lastedit,
    .punbb div#pun-live-rusff,
    .punbb .topic a.sharelink {
      display: none;
    }
    
    /* модальные окна, репутация, закладки etc */
    
    #tags .container,
    .post_report,
    .post_reputation,
    #MyBookmarks,
    .inner.popup_graffiti,
    .pun-modal .modal-inner,
    .punbb-admin #pun-admin-award-form .inner {
      background: var(--sec-bg);
        border-radius: 5px;
        border: 1px solid var(--link);
    }
    
    /* Формы
    ------------------------------------------- */
    
    /* ОФОРМЛЕНИЕ КНОПОК */
    
    input.button,
    #pun-admain input.button,
    #sub4,
    input[type="button"],
    input[type="submit"] {
      padding: 2px 10px;
      cursor: pointer;
      transition: all .2s linear 0s;
    background: var(--sec-bg);
    border-radius: 5px;
    font-size: 10px;
    text-transform: lowercase;
    color: var(--textcolor);
    border: 1px solid var(--footer);
    font-weight: bold;
    }
    
    input.button:hover,
    #pun-admain input.button:hover,
    #sub4:hover,
    input[type="button"]:hover,
    input[type="submit"]:hover {background: var(--pun-bg);
    color: var(--textcolor);
    border: 1px solid var(--body-bg);
    }
    
    /* ОФОРМЛЕНИЕ ПОЛЕЙ ВВОДА */
    
    input[type="text"],
    input[type="password"],
    textarea,
    select {
      padding: 2px 5px;
      border: 1px solid var(--body-bg);
    background: var(--sec-bg);
    border-radius: 5px;
    font-family: var(--main-font);
    }
    
    textarea,
    input,
    select,
    optgroup {
      font-size: 11px;
    }
    
    optgroup {
      font-weight: bold;
    }
    
    /* флажки и чекбоксы */
    
    .checkfield input[type="checkbox"],
    .radiofield input[type="radio"] {
      margin: 0 3px;
    }
    
    p[class="checkfield"] *,
    div[class="checkfield"] *,
    fieldset[class="radiofield"] * {
      height: 20px;
      vertical-align: middle;
    }
    
    .formal .container {
      padding: var(--pad1);
    }
    
    .formsubmit {
      padding: 0;
      margin: -10px 0 0 0;
    }
    
    .formsubmit input,
    .formsubmit a,
    .formsubmit span {
      margin: 0 6px 0 0;
        z-index: 10;
        position: relative;
    }
    
    fieldset {
      border: none;
    }
    
    fieldset legend {
    text-transform: lowercase;
    padding: 10px 10px 0px;
    }
    
    fieldset fieldset {
      border: none;
      margin: 0;
      padding: 0 0 8px 0
    }
    
    .fs-box {
      padding: 15px 0;
    }
    
    .fs-box p,
    .fs-box fieldset {
      padding: 0 0 8px 0;
    }
    
    .fs-box .post .container {    margin: -10px 20px !important;}
    .fs-box .post-links {padding: 5px 10px;}
    
    .fs-box .post h3 {margin-bottom: 10px}
    
    .inline .inputfield,
    .inline .selectfield,
    .inline .passfield {
      float: left;
      margin-right: 10px;
    }
    
    .inline .infofield {
      clear: both
    }
    
    .datafield br {
      display: none
    }
    
    .required label,
    .datafield span.input {
      font-size: 10px;
    }
    
    textarea,
    .longinput input {
      width: 64%;
      margin: 0;
    }
    
    .hashelp {
      position: relative;
    }
    
    
    /* Админка
    ------------------------------------------*/
    
    .punbb-admin .adcontainer,
    .punbb-admin .adformal {
      border: none;
    }
    
    
    /* Тело форума
    ------------------------------------------*/
    
    /* фон */
    
    html {
      background: var(--body-bg) url() no-repeat top center;
    }
    
    /* заплатка для фиксированного фона */
    
    body::before {
      content: "";
      display: block;
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      min-width: 100vw;
      min-height: 100vh;
      z-index: -10;
      background: var(--body-bg-img)  no-repeat top center/cover;
    }
    
    /* тело */
    
    #pun {
      margin: 40px auto;
      width: 1000px;
      background: var(--pun-bg);
    border-radius: 30px;
    margin-top: 441px;!important;
    overflow: visible;
    }
    
    /* внутреннее тело */
    
    .punbb {
      font: 11px Arial;
    color: var(--textcolor);
    }
    
    /* настройки внутренних блоков */
    
    .punbb > div .container {
      padding: var(--pad1);
    }
    
    /* Навигационные ссылки */
    
    #pun-navlinks {}
    
    #pun-navlinks a {color: var(--footer);
    font-weight: 400;}
    #pun-navlinks a:hover {color: var(--link);
    font-weight: 400;}
    
    #pun-navlinks .container {
    font-family: var(--extra-font);
        font-style: normal;
        font-weight: 400;
        font-size: 15px;
        line-height: 16px;
        text-align: center;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        position: relative;
        z-index: 5;
        height: 28px;
    }
    
    #pun-navlinks li {
      padding: 0 5px;
      display: inline;
    }
    
    /* Пользовательские ссылки */
    
    #pun-ulinks a {color: var(--textcolor);
    font-weight: 400;}
    #pun-ulinks a:hover {color: var(--link);
    font-weight: 400;}
    
    #pun-ulinks .container {
      text-align: center;
    font-family: var(--main-font);
    font-style: normal;
    font-weight: 400;
    font-size: 10px;
    line-height: 11px;
    text-align: center;
    letter-spacing: 0.1em;
    text-transform: lowercase;
    margin-top: -25px;
    position: relative;
    z-index: 5;
    }
    
    #pun-ulinks li {
      padding: 0 5px;
      display: inline;
    }
    
    /* Статус */
    
    #pun-status {}
    
    #pun-status span {
      white-space: nowrap;
      margin-right: 5px;
    }
    
    /* Хлебные крошки */
    
    .crumbs.container {}
    #pun-crumbs2 p.container {font-weight: 700;
        font-size: 11px;}
    
    /* Копирайт */
    
    #pun-about {}
    
    #pun-about .container {
      text-align: center;
    }
    
    
    /* Главная форумная таблица
    ------------------------------------------*/
    
    .main table {
    table-layout: fixed;
        width: 100%;
        letter-spacing: 0.01em;
        z-index: 2;
        position: relative;
    }
    
    #pun-index .main table {    color: var(--pun-bg);}
    
    .main th {
      padding: 5px 10px;
    display: none;
    }
    
    .main td {
      padding: 10px;
    }
    
    
    td.tc2, td.tc3 {
        font-weight: normal !important;
        font-size: 1em !important;
    text-align: center;
        padding-right: 100px !important;
    }
    
    #pun-index td.tc2, #pun-index td.tc3 {    color: transparent;}
    
    .tcl {
      width: 66%;
    }
    
    
    
    .tcl h3 a {
    font-family: var(--extra-font);
        font-style: normal;
        font-size: 18px;
        font-weight: 400;
        text-align: center;
        color: var(--link);
    text-transform: uppercase;
    }
    
    .tcl h3 a:hover {color: var(--link-hover);}
    
    .tc2,
    .tc3,
    .tcmod {
      text-align: right;
      width: 6%;
    }
    
    #pun-index .tc2,
    #pun-index .tc3,
    #pun-index .tcmod {
      text-align: right;
      width: 0%;
    }
    
    .tcr {
    width: 35%;
        text-align: right;
    }
    
    #pun-searchtopics .tcl,
    #pun-modviewforum .tcl {
      width: 40%
    }
    
    #pun-searchtopics .tc2 {
      text-align: left;
      width: 10%;
    }
    
    #pun-debug table .tcl {
      width: 15%;
    }
    
    #pun-debug .tcr {
      width: 90%;
    }
    
    
    #pun-index  .hasicon tr{     background: var(--sec-bg-op) !important;
        border-radius: 15px !important;
        display: block;
    color: var(--footer);
    margin-bottom: 15px;
    }
    
    .hasicon tr:last-child {margin-bottom: 0px!important}
    
    #pun-index .tcmod {
      visibility: hidden;
    }
    
    /* аватар */
    
    .punbb td .user-avatar, #pun-index td .user-avatar {
    
    }
    
    .punbb td .user-avatar .avatar-image {
       filter: grayscale(100%);
    }
    
    .lastpost-link, .lastpost {
              text-align: right;
        color: var(--footer);
    text-transform: lowercase;
    }
    
    .lastpost-link {
       font-size: 12px;
       font-weight: 700;
             text-align: right;
        color: var(--footer);
    }
    
    .lastpost-link a:hover {color: var(--link-hover);}
    
    /* Иконки */
    
    .intd {
        display: flex; /* включаем flex */
        align-items: center; /* вертикальное центрирование */
    }
    
    
    #pun-index div.icon {
        margin-left: 570px;
       }
    
    div.icon {
      position: absolute;
      width: 19px;
      height: 19px;
      border-radius: 50%;
      background: var(--guest-overlay) url() no-repeat top center;
    margin-left: 465px;
    }
    
    tr.inew div.icon {
      background: var(--body-bg) url() no-repeat top center;
    }
    
    tr.isticky div.icon {
      background: var(--body-bg) url() no-repeat top center;
    }
    
    tr.iclosed div.icon {
      background: var(--footer) url() no-repeat top center;
    }
    
    
    /* Пагинация (Переключаемые страницы, Новая тема + Опрос, Подписка)
    --------------------------------------------------------------------------------------------------- */
    
    .multipage {
      margin-top: 10px;
    }
    
    .linkst {
      position: relative;
      padding: var(--pad2);
      display: flex;
      justify-content: space-between;
    }
    
    .linkst .pagelink {}
    
    .linkst .postlink {
      text-align: right;
    }
    
    .linksb {
      position: relative;
      padding: var(--pad2);
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }
    
    .linksb .pagelink {
      order: -1;
    }
    
    .subscribelink {
      width: 100%;
      text-align: right;
    }
    
    .linksb noindex {
      order: 1;
    }
    
    .linksb .postlink {
      margin-left: auto;
      text-align: right;
    }
    
    /* Модераторское меню, RSS, Atom */
    
    .modmenu .container {
      padding: var(--pad3);
      text-align: right;
    }
    
    .modmenu .container strong {
      float: left;
    }
    
    .modmenu input {
      margin-left: 10px;
    text-transform: lowercase
    }
    
    
    select#mod-options
    {font-size: 10px}
    /* Главная
    ------------------------------------------*/
    
    /* скрыть "форум, тем, сообщений" */
    
    #pun-index thead {
      display: none;
    }
    
    /* категория */
    
    /* Общий стиль для картинок категорий */
    #pun-index .category {
        position: relative;
        overflow: hidden; /* Чтобы картинка не вылезала */
    }
    
    #pun-index .category::after {
        content: '';
        position: absolute;
        left: 50%;
    top: 50%;
        transform: translate(-50%, -50%);
        right: 10px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        pointer-events: none;
        max-width: 285px;
        max-height: 22px;
    }
    
    /* Картинка для каждой категории */
    .cat-admins::after {
        background-image: var(--cat-admins-img);
     width: 134px !important;
        height: 23px !important;
    top: 23% !important;
    }
    
    .cat-sun::after {
        background-image: var(--cat-sun-img);
    width: 285px !important;
        height: 20px !important;
        top: 5% !important;
    }
    
    .cat-sins::after {
        background-image: var(--cat-sins-img);
    width: 137px !important;
        height: 21px !important;
        top: 15% !important;
    }
    
    .cat-darkness::after {
        background-image: var(--cat-darkness-img);
    width: 210px !important;
        height: 22px !important;
        top: 6% !important;
    }
    
    .cat-washed::after {
        background-image: var(--cat-washed-img);
    width: 116px !important;
        height: 22px !important;
        top: 12% !important;
    }
    
    .cat-blood::after {
        background-image: var(--cat-blood-img);
    width: 274px !important;
        height: 22px !important;
        top: 18% !important;
    }
    
    .cat-reasons::after {
        background-image: var(--cat-reasons-img);
        width: 214px !important;
        height: 22px !important;
        top: 13% !important
    }
    
    .category h2 span
     {
        visibility: hidden !important;}
    
    /* Статистика */
    
    #pun-stats {}
    
    #pun-stats .container {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
        font-size: 10px;
    color: var(--dark-accent);
    text-transform: lowercase;
    letter-spacing: 0.1em;
    }
    
    .online-list {
        font-size: 10px;
        color: var(--textcolor);
    text-transform: lowercase;
    }
    
    #pun-stats .container a {    color: var(--textcolor);
    font-weight: 400;}
    #pun-stats .container a:hover {color: var(--link)} 
    
    /* заголовок статистики */
    
    #pun-stats h2 {
       display: none;
    }
    
    /* всего тем, всего сообщений */
    
    #pun-stats li.item1,
    #pun-stats li.item2 {
      clear: both;
        background: var(--footer);
        padding: 5px 25px;
        border-radius: 3px;
    color: var(--pun-bg);
    text-transform: lowercase;
    }
    
    
    /* зарегистрированных, последний зарегистрировавшийся */
    
    #pun-stats li.item3,
    #pun-stats li.item4 {
        background: var(--footer);
        padding: 5px 25px;
        border-radius: 3px;
    color: var(--pun-bg);
    text-transform: lowercase;
    }
    
    #pun-stats li.item4 a {color: var(--pun-bg);
    font-weight: 400;}
    #pun-stats li.item4 a:hover {color: var(--link)}
    
    /* активны, посетили за сутки */
    
    li#onlinelist {
      margin-top: 10px;
      text-align: justify;
        flex-grow: 1;
        width: 100%;
        color: var(--textcolor);
    }
    
    /* Шапка
    ------------------------------------------*/
    
    #pun-title {}
    
    /* скрыть заголовок в шапке */
    
    #pun-title .title-logo {
      display: none;
    }
    
    /* содержимое шапки в html-верх */
    
    .tablica {
    width: 1000px;
        height: 441px;
        position: absolute !important;
        margin-top: -441px;
    }
    
    .tablica::before{
    content: "";
        position: absolute;
        inset: 0;
        background: var(--shapka-img);
        background-size: contain;
        background-repeat: no-repeat;
        z-index: -1;
    }
    
    
    .about {width: 345px;
        font-family: var(--main-font);
        font-size: 10px;
        font-weight: 400;
        text-align: justify;
        text-transform: lowercase;
        color: var(--textcolor);
        margin-left: 315px;
        margin-top: 360px;
        position: absolute;
        background: var(--pun-bg);
        border-radius: 10px;
        padding: 8px;
    }
    
    .b-episode {font-family: var(--main-font);
        position: absolute;
        z-index: 2;
        top: 139px;
        right: 722px;
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-end;
    }
    
    
    .b-episode-link { text-transform: lowercase;
        font-size: 9px;
        text-align: right;
        background: var(--body-bg);
        padding: 2px 20px 3px 20px;
        height: 9px;
        border-radius: 7px;
        display: inline-block;
    margin-right: 10px;
    }
    
    .b-episode-link a {font-weight: bold;
    color: var(--textcolor)}
    
    .b-episode-link a:hover {font-weight: bold;
    color: var(--white)}
    
    .b-episode-title {font-family: var(--extra-font);
        font-size: 16px;
        letter-spacing: 0.05em;
        color: var(--white);
        top: -29px;
        position: absolute;
        width: 81px;
        text-transform: uppercase;
        line-height: 15px;
    }
    
    .b-post { position: absolute;
        width: 345px;
        height: 60px;
        top: 63px;
        left: 602px;
        display: flex;
        flex-direction: column-reverse;
        z-index: 5;
    }
    
    .bestpost-txt {
    font-family: var(--main-font);
        font-style: normal;
        font-weight: 400;
        font-size: 10px;
        line-height: 11px;
        text-align: justify;
        text-transform: lowercase;
        color: var(--white);
        height: 60px;
        padding: 10px;
    }
    
    .bestpost-txt a {color: var(--white)}
    .bestpost-txt a:hover {color: var(--link-hover)}
    
    .b-post-inner { 
        background: var(--footer);
        border-radius: 10px;
        width: 300px;
        padding: 5px;}
    
    .b-post-title {      position: absolute;
        font-family: var(--extra-font);
        font-style: normal;
        font-size: 16px;
        text-align: center;
        text-transform: uppercase;
        padding-bottom: 3px;
        padding-top: 4px;
        color: var(--textcolor);
        border-radius: 3px;
        letter-spacing: 0.05em;
        top: -44px;
        left: 267px;
        line-height: 15px;
        width: 45px;
    }
    
    .gen-info {
        font-family: var(--main-font);
        font-style: normal;
        font-weight: bold;
        font-size: 11px;
        text-align: center;
        text-transform: lowercase;
        color: var(--link);
        margin-top: 377px;
        margin-left: 544px;
        position: absolute;
    }
    
    .forum-name {     font-family: var(--extra-font);
        font-style: normal;
        font-size: 30px;
        line-height: 29px;
        text-align: left;
        text-transform: uppercase;
        color: var(--dark-accent);
        margin-left: 544px;
        padding-top: 322px;
        position: absolute;
    }
    
    .dres {position: absolute;
        z-index: 9;
        content: '';
        background: var(--dres-img) no-repeat;
        background-size: contain;
        width: 105px;
        height: 135px;
        top: 5px;
        left: 24px;
    transform: rotate(-30.42deg);}
    
    .res {    position: absolute;
        background: url() no-repeat center center;
        background-size: contain;
        width: 38px;
        height: 70px;
        z-index: 10;
        display: flex;
        justify-content: center;
        top: 128px;
        left: 105px;
    }
    
    .res-points {    color: var(--textcolor);
        font-size: 10px;
        height: fit-content;
        width: 52px;
        padding: 3px 10px;
        z-index: 12;
        background: var(--white);
        border-radius: 5px;
        margin-top: -93px;
        margin-left: 55px;
        font-weight: bold !important;
        position: relative;
        left: -19px;}
    
    .res a {color: var(--textcolor);
    font-weight: bold;
    z-index: 12;}
    .res a:hover {color: var(--pun-bg);}
    
    .de {position: absolute;
        background: url("")no-repeat center center;
        background-size: contain;
        width: 41px;
        height: 70px;
        z-index: 10;
        display: flex;
        justify-content: center;
    top: 170px;
        left: 50px;
    }
    
    .de-points {    color: var(--textcolor);
        font-size: 10px;
        height: fit-content;
        width: 52px;
        padding: 3px 10px;
        z-index: 12;
        background: var(--white);
        border-radius: 5px;
        margin-top: -72px;
        margin-right: 84px;
        font-weight: bold !important;}
    
    .de a {color: var(--textcolor);
    font-weight: bold;
    z-index: 12;}
    .de a:hover {color: var(--pun-bg);}
    
    .acts  {
        display: flex;
        position: absolute;
        gap: 10px;
    top: 190px;
        left: 947px;
        flex-direction: column;
    }
    
    .acts a {
    width: 44px;
        height: 44px;
        display: block;
        outline-offset: 2px;
        border-radius: 50%;
        transition: all .5s ease-in-out 0s;
    position: relative;
    }
    
    .acts a:hover {
    opacity: 1} 
    
    
    .acts a::before {
        content: '';
        width: 44px;
        height: 44px;
        position: absolute;
        border-radius: 50%;
        background: var(--topic-overlay);
        z-index: 2;
    }
    
    .acts a:hover:before {
        opacity: 0;
            border-radius: 50%;
      background: var(--textcolor);
    opacity: 0
    }
    
    .acts img {
        width: 44px;
        height: 44px;
        object-fit: cover;
        object-position: top center;
            border-radius: 50%;
    filter: grayscale(1);
            }
    
    .need-wrap {
    position: relative;
        display: inline-block;
        width: 241px;
        height: 234px;
        left: 420px;
        top: -26px;
    }
    
    
    .need-fon {
    position: absolute;
        top: 0;
        left: 0;
        width: 200px;
        height: 234px;
        background-image: var(--need-fon-img);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 3;
        pointer-events: none;
    }
    
    .need-wrap .need-img {
        display: block;
        position: relative;
        z-index: 1;
        left: 93px;
        top: 73px;
        object-fit: contain;
        transform: rotate(18.17deg);
    filter: grayscale(1);
        width: 90px;
        height: 90px;
    }
    
    .need-wrap::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 90px;
      height: 90px;
      background-color: var(--need-overlay);
      z-index: 2;
      pointer-events: none;
        transform: rotate(18.17deg);
        left: 93px;
        top: 73px;
    }
    
    
    #controtator {
      position: relative;
      width: 241px;
      height: 234px;
      margin: 0;
      padding: 0;
    }
    
    #controtator p {
      display: none;  /* скрываем все параграфы изначально */
      margin: 0;
      padding: 0;
    }
    
    
    /* Гарантируем, что ссылки внутри p ведут себя правильно */
    #controtator p a {
      display: block;
      width: 100%;
      height: 100%;
      text-decoration: none;
    }
    
    
    
    /* Объявление
    ------------------------------------------*/
    
    #pun-announcement {}
    
    /* скрываем слово "объявление" */
    
    #pun-announcement h2 {
      display: none;
    }
    
    
    /* Футер
    ------------------------------------------*/
    
    #html-footer {background: var(--footer);
    height: 90px;
        border-bottom-left-radius: 30px;
        border-bottom-right-radius: 30px;}
    
    #html-footer .container {padding-bottom: 10px;
        width: 98%;
    margin-left: -10px;}
    
    /* баннеры */
    
    .banners {
        padding: var(--pad1);
        height: 31px;
        overflow-y: auto;
        overflow-x: hidden;
    }
    
    .banners a {
      opacity: .7;
    }
    
    .banners a:hover {
      opacity: 1;
    }
    
    .banners img {
    border-radius: 7px;
    opacity: 0.5
    }
    
    .banners img:hover {opacity: 1}
    
    /* Топик
    ------------------------------------------*/
    
    .post {
      margin-top: 10px;
    }
    
    .toppost,
    .topicpost {
      margin-top: 0;
    }
    
    /* контейнер поста */
    
    .post .container {
        display: flex;
        flex-wrap: wrap;
        align-items: start;
        background: var(--post-bg);
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
        margin: 0px 20px;
    }
    }
    
    .punbb .post td {
      border: 0px transparent !important;
    }
    .post-content td {border: 0px transparent !important;}
    
    /* дата и номер поста */
    
    .post h3 {
        color: var(--textcolor);
        font-size: 11px;
        margin: 0 20px;
    border-top-right-radius: 10px;
        border-top-left-radius: 10px;
    background: var(--post-bg);}
    
    .post h3 a {      color: var(--textcolor);;
    font-weight: normal;
    }
    
    .post h3 span {
      padding: var(--pad2);
      display: block;
    }
    
    /* номер поста */
    
    .post h3 strong {
      float: right;
      text-align: right;
      font-weight: normal;
        font-size: 11px;
    }
    
    /* Автор */
    
    .post-author {
    width: 220px;
    height: fit-content;
        padding-bottom: 20px;
        text-align: center;
        box-sizing: border-box;
    background-size: contain;
        margin-bottom: 20px;
        position: relative;
        border-radius: 5px;
    filter: drop-shadow(0px 4px 4px rgba(63, 61, 62, 0.2));
    background: var(--footer);
    }
    
    
    .post-author ul {
        background-color: var(--profilebg);
        border-radius: 5px;
        width: 200px;
        height: fit-content;
        margin-left: 10px;
        margin-top: 30px;
    min-height: 150px;
    }
    
    .pa-author {font-family: var(--extra-font);
        color: var(--profilelink);
        font-size: 18px;
        text-align: center;
        margin-top: 40px;
        margin-bottom: -3px;
        width: 200px;
            text-transform: lowercase;
    }
    
    .pa-author a {color: var(--profilelinkhover);
    font-weight: normal;
            text-transform: lowercase;}
    .pa-author a:hover {color: var(--profilelink)}
    
    .pa-title {    font-size: 8px;
        font-family: var(--main-font);
        text-transform: lowercase;
    padding-bottom: 3px;
        letter-spacing: 0.1em;
        width: 200px;
        text-align: center;
    color: var(--profiletext);
    }
    
    .pa-avatar img {border: 1px solid var(--profilelink);
    max-width: 180px;
    max-height: 180px;}
    
    .pa-online,
    .pa-last-visit {}
    
    
    .pa-online, .pa-last-visit {
        display:none!important;
    }
    
    
    
    .pa-posts .fld-name {content: var(--messages); 
    width: 100%;
      height: auto;
    }
    
    .pa-fld3 .fld-name {content: var(--money);
    width: 10px;
    height: 10px;
    }
    
    .pa-fld6 .fld-name {content: var(--posts);
    width: 10px;
    height: 10px;
    }
    
    .pa-fld2 {font-family: var(--main-font);
        font-size: 9px;
        letter-spacing: 0.1em;
        text-align: justify;
    padding-left: 5px;
        padding-right: 4px;
    color: var(--profiletext);}
    
    .lz {display: flex;
    flex-direction: column;
        gap: 4px;}
    
    .lz-caste {    background: var(--profileplashka);
        height: 10px;
        width: 105px;
        display: block;
        text-align: center;
        margin: 0 auto;
        font-size: 8px;
        border-radius: 2px;
        letter-spacing: 0.1em;
        color: var(--profilebg);
        font-weight: bold;
        margin-top: 4px;
        margin-bottom: 0px;}
    
    .lz-name {color: var(--dark-accent);
        font-family: var(--main-font);
        font-size: 12px;
        font-weight: 700;
    margin-top: 4px;
    text-transform: lowercase;
    text-align: center;
    }
    
    .lz-name a {color: var(--profilelink)}
    .lz-name a:hover {color: var(--profile-light)}
    
    .lz-about {
        align-self: center;
    }
    
    
    .pa-fld4 {
        height: 26px;
        color: var(--sec-bg);
        font-size: 8px;
        letter-spacing: 0.1em;
        text-align: center;
        text-transform: lowercase;
    }
    
    
    
    .plashka {
        position: relative;
        width: 220px;
        height: 26px;
        margin-left: -10px;
    }
    
    .plashka img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }
    
    .plashka img[src=""],
    .plashka img:not([src]) {
        content: var(--plashka-img);
    }
    
    .pa-fld5 img[src=""],
    .pa-fld5 img:not([src]) {
        content: var(--emoji);
    }
    
    .pa-fld1 {
        width: 100%;
        height: 100%;
        /* padding-bottom: 20px; */
        text-align: center;
        box-sizing: border-box;
        margin-bottom: 20px;
        position: absolute;
        border-radius: 5px;
        filter: drop-shadow(0px 4px 4px rgba(63, 61, 62, 0.2));
        z-index: -1;
        inset: 0;
    }
    
    .pa-fld1 img[src=""],
    .pa-fld1 img:not([src]) {
        content: var(--profile-bg-img);
    }
    
    .pa-fld1 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 5px;
    }
    
    .plashka a {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;    
        justify-content: center; 
        text-align: center;
        padding: 0 10px;    
        word-break: break-word;     
    color: var(--dark-accent);
    }
    
    .pa-fld4 img {width: 200px;
    height: 26px;
    object-fit: cover}
    
    .pa-fld4 a:hover {color: var(--profilehover)}
    
    .pa-fld5 {
        content: '';
        position: absolute;
        width: 34px;
        height: 34px;
        left: 50%;
        transform: translateX(-50%);
        bottom: -16px; 
        z-index: 3;
    }
    
    .pa-fld5 img {width: 34px;
    height: 34px;
    object-fit: contain}
    
    .pa-posts, .pa-fld3, .pa-fld6 {
    display: inline-flex;
        flex-direction: column;
        align-items: center;
        color: var(--profilelink);
        font-size: 8px;
        margin: 8px 13px;
    width: 10px;
    height: 10px;
    }
    
    .pa-posts span:last-child,
    .pa-fld3 span:last-child,
    .pa-fld6 span:last-child {
        color: var(--profilelink);
    width: 10px;
    height: 10px;
    display: flex;
        justify-content: center;
    }
    
    /* Тело поста */
    
    .post-body {
      width: calc(100% - var(--pwidth));
    }
    
    .post-box {
      padding: 10px;
        padding-left: 25px;
    }
    
    .post-links {
      margin-left: var(--pwidth);
      width: 100%;
    margin-top: 5px;
    }
    
    .post-links ul {
      padding: 0;
      margin-left: calc(var(--pwidth) * -1);
      text-align: right;
    }
    
    .post-links li {
      display: inline;
    }
    
    .post-links li:not(:first-of-type) {
      padding-left: 10px;
    }
    
    .pl-email,
    .pl-website {
      float: left;
    }
    
    .clearer {
      clear: both;
      height: 0;
      font-size: 0;
    }
    
    
    /* Контент поста - цитата, спойлер, таблицы и т.п. */
    
    .punbb .post td {
      border: 0px transparent !important;
    }
    
    pre {
      font: 12px/140% monaco, "bitstream vera sans mono", "courier new", courier, monospace;
    }
    
    .post-content em {
      font-style: italic;
    }
    
    .post .post-content td {
      border-width: 0px !important;
    }
    
    .post-content em.bbuline {
      font-style: normal;
      text-decoration: underline;
    }
    
    .post-content p {
        margin: 0.8em 0;
      padding: 2px;
      line-height: 150%;
      text-align: justify;
    }
    
    .post-content img {
      vertical-align: middle;
    }
    
    .scrollbox {
      width: 100%;
      overflow: auto;
      max-height: 200px;
    }
    
    /* Контейнер спойлера */
    .punbb .post-content .spoiler-box > div {
        position: relative;
        display: inline-block; 
        padding-left: 20px; 
        cursor: pointer; 
        color: var(--textcolor); 
        font-size: 12px;
        font-weight: 400;
        background: transparent;
    }
    
    /* Кружочек (добавляем через ::before) */
    .punbb .post-content .spoiler-box > div::before {
        content: ''; 
        position: absolute;
        left: 0; 
        top: 50%;
        transform: translateY(-50%);
        width: 10px;
        height: 10px;
        background: var(--body-bg);
        border-radius: 50%;
        cursor: pointer;
    }
    
    /* Для раскрытого состояния (класс visible) */
    .punbb .post-content .spoiler-box > div.visible::before {
        background: var(--guest-overlay) url();
    
    }
    .post-content .spoiler-box > div.visible {
        content: none !important;
        background: none !important;
    
    }
    
    /* цитата и код */
    
    .quote-box,
    .code-box {
      margin: 14px 0px 15px;
      padding: 5px;
      border-left: 4px solid var(--body-bg);
      background: var(--profileplashka);
    border-radius: 5px;
    }
    
    .quote-box cite {
    display: block;
        padding: 5px;
        font-weight: bold;
        font-style: normal;
        text-transform: lowercase;
    background: var(--link);
        width: fit-content;
        border-radius: 3px;
        color: var(--sec-bg);
        margin-top: -15px;
    }
    
    .quote-box cite a {color: var(--sec-bg);}
    
    .code-box strong.legend {
      display: block;
      padding-bottom: 5px;
      font-weight: bold;
      font-style: normal;
    }
    
    .post-sig dt {    display: block;
        background: linear-gradient(90deg, rgba(135, 122, 98, 0) 0%, var(--link) 15%, var(--link) 85%, rgba(135, 122, 98, 0) 100%);
        height: 1px;
        width: 550px;
        margin: 5px auto;
        position: relative;
        margin-top: 10px;
        margin-bottom: 5px;
    }
    
    /* Форма ответа */
    
    #main-reply {
      box-sizing: border-box;
    padding: 5px;
    }
    
    #tags {
      position: relative;
        margin-bottom: 15px;
    }
    
    #tags .container {
      padding: var(--pad3) !important;
      top: 0 !important;
      max-height: 300px;
      overflow: auto;
    }
    
    
    /* Профиль + ЛС
    ------------------------------------------*/
    
    #profile {
       padding: var(--pad1);
    }
    
    #viewprofile tr { 
        display: flex;
        gap: 40px;
    }
    
    #pun-profile h1 {
      display: none;
    }
    
    #profile .container {
      padding-left: 200px;
      min-height: 100px;
    }
    
    #profilenav {
      float: left;
      margin-left: -180px;
    }
    
    #viewprofile h2,
    #profilenav h2 {
       text-align: center;
        font-weight: 400;
        font-size: 12px;
        margin-bottom: 10px;
        background: var(--topic-overlay);
        color: var(--paletext);
        padding: 2px 3px;
        border-radius: 10px;
    }
    
    #profilenav li {
      padding: 0 0 5px;
    }
    
    #viewprofile li {
      padding: 5px 0;
    }
    
    #viewprofile td#profile-left {
        display: flex;
        flex-wrap: wrap;
        width: auto;
        flex-direction: column;
        align-items: center;
        flex-shrink: 0;
        background: var(--topic-overlay);
        padding: 10px 15px;
        border-radius: 10px;
    }
    
    #profile-name {
        font-size: 16px;
            letter-spacing: 0.1em;
    font-weight: 700;
        text-align: center;
    color: var(--link);
        text-transform: lowercase;
    }
    
    #viewprofile td#profile-right {
        display: flex;
        flex-flow: column;
        flex-wrap: wrap;
        box-sizing: border-box;
        gap: 10px;
        flex-direction: row;
    }
    
    
    #profile-right li {
       display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        flex-grow: 1;
        justify-content: center;
        gap: 10px;
        text-align: center;
        background: var(--topic-overlay);
        padding: 0 5px;
        border-radius: 10px;
    }
    
    
    #profile-right li span {
        flex-shrink: 1;
        text-align: center;
    }
    
    
    
    #profile-left li strong, #profile-right li strong {
      font-weight: normal !important;
      padding-left: 0 !important;
    text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1px;
    }
    
    #profile-left #profile-name {font-family: var(--extra-font);
        margin-bottom: -5px;}
    
    img.avatardemo {
      float: right;
      margin: 0 0 8px 18px;
    }
    
    #pun-messages .clearer {
      display: none;
    }
    
    /* Прочие страницы
    ------------------------------------------*/
    
    /* Список пользователей */
    
    #pun-userlist .formal,
    #pun-userlist .formal .container {
      margin-bottom: 0;
    }
    
    #pun-userlist .tc2 {
      text-align: left;
      width: 20%;
    }
    
    #pun-userlist .tcl {
      width: 40%
    }
    
    .usertable .container {}
    
    /* Собщения об ошибках */
    
    .info .container {
      padding: var(--pad3);
    }
    
    .info .container .backlink {
      padding-top: 8px;
    }
    
    /* Регистрация */
    
    .info-box {
      margin: 0 0 10px 0;
    }
    
    .info-box * {
      padding: 0 0 5px 0;
    }
    
    .info-box .legend {
      font-weight: bold;
    }
    
    .jGrowl-notification .jGrowl-close {
      position: relative;
      right: 6px;
    }
    
    .tipsy #respect figcaption {
      margin-top: 0;
    }
    
    
    /* Кнопки вверх-вниз
    -------------------------------------------------------*/
    
    .go-up,
    .go-down {
      cursor: pointer;
      z-index: 999;
      position: fixed;
    width: 14px;
    height: 48px;
    border-radius: 7px;
      margin-left: 1010px !important;
      box-sizing: border-box;
      transition: all .3s linear 0s;
    }
    
    .go-up {
      top: 260px;
    background: var(--body-bg);
    }
    
    
    .go-down {
      top: 320px;
    background: var(--footer);
    }
    
    #plng {
        border: 1px solid var(--body-bg) !important;
        padding: 5px 5px 5px 8px !important;
        margin: 0 20px 0 5px!important;
        border-radius: 10px;
    }
    
    

    0

    17

    стиль низ

    Код:
    /* Form Buttons © max, the murderer!
    ----------------------------------------------------------------------- */
    
    /* General */
    
    #form-buttons table {
        width: 100% !important;
    background: transparent;
    }
    
    #form-buttons table tr {
        display: flex;
        justify-content: space-between; 
        gap: 4px;
        margin-bottom: 4px;
    }
    
    #form-buttons td {
        position: relative;
        background: none !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px; 
        height: 24px; 
        margin-bottom: 4px;
    }
    
    #form-buttons td::before {
        font-family: 'Font Awesome 6 Pro';
        font-size: 13px; 
        font-weight: 400; 
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        pointer-events: none;
        z-index: 1;
    }
    
    #form-buttons td:hover::before {
        color: var(--textcolor); 
    }
    
    
    /* Icons */
    
    #button-font::before {
        content: '\f031';
    }
    
    #button-size::before {
        content: '\f894';
    }
    
    #button-bold::before {
        content: '\f032';
    }
    
    #button-italic::before {
        content: '\f033';
    }
    
    #button-underline::before {
        content: '\f0cd';
    }
    
    #button-strike::before {
        content: '\f0cc';
    }
    
    #button-indent::before {
        content: '\f03c';
    }
    
    #button-left::before {
        content: '\f036';
    }
    
    #button-right::before {
        content: '\f038';
    }
    
    #button-center::before {
        content: '\f037';
    }
    
    #button-link::before {
        content: '\f0c1';
    }
    
    #button-spoiler::before {
        content: '\f518';
    }
    
    #button-image::before {
        content: '\f302';
    }
    
    #button-video::before {
        content: '\f144';
    }
    
    #button-hide::before {
        content: '\f30d';
    }
    
    #button-quote::before {
        content: '\f27a';
    }
    
    #button-code::before {
        content: '\f121';
    }
    
    #button-color::before {
        content: '\f53f';
    }
    
    #button-table::before {
        content: '\f009';
    }
    
    #button-smile::before {
        content: '\f118';
    }
    
    #button-keyboard::before {
        content: '\f11c';
    }
    
    #button-addition::before {
        content: '\f0d7';
    }
    
    
    /* Icons */
    
    #button-font::before {
        content: '\f031';
    }
    
    #button-ChangeCase::before {
        content: '\e099';
    }
    
    #button-size::before {
        content: '\f894';
    }
    
    #button-bold::before {
        content: '\f032';
    }
    
    #button-italic::before {
        content: '\f033';
    }
    
    #button-underline::before {
        content: '\f0cd';
    }
    
    #button-strike::before {
        content: '\f0cc';
    }
    
    #button-indent::before {
        content: '\f878';
    }
    
    #button-left::before {
        content: '\f036';
    }
    
    #button-right::before {
        content: '\f038';
    }
    
    #button-center::before {
        content: '\f037';
    }
    
    #button-justify::before {
        content: '\f039';
    }
    
    #button-link::before {
        content: '\f0c1';
    }
    
    #button-spoiler::before {
        content: '\f518';
    }
    
    #button-image::before {
        content: '\f302';
    }
    
    #form-buttons #button-image ~ #button-image::before {
        content: '\f03e' !important;
    }
    
    #button-video::before {
        content: '\f144';
    }
    
    #button-hide::before {
        content: '\f30d';
    }
    
    #button-quote::before {
        content: '\f27a';
    }
    
    #button-code::before {
        content: '\f121';
    }
    
    #button-color::before {
        content: '\f53f';
    }
    
    #button-table::before {
        content: '\f009';
    }
    
    #button-smile::before {
        content: '\f118';
    }
    
    #button-sticker::before {
        content: '\f6fe';
    }
    
    #button-keyboard::before {
        content: '\f11c';
    }
    
    #button-addition::before {
        content: '\f0d7';
    }
    
    #button-files_rusff::before {
        content: '\f15b';
    }
    
    #button-graffiti_rusff::before {
        content: '\f5a9';
    }
    
    #button-mask::before {
        content: '\f630';
    }
    
    #button-dice::before {
        content: '\f522';
    }
    
    
    
    /* Оформление всплывающей  подсказки © Домовой */
    #tooltip {
        position: absolute;
        background-color: var(--sec-bg); 
        z-index: 9999;
        max-width: 200px;
        -moz-border-radius: 4px;
        -khtml-border-radius: 4px;
        -webkit-border-radius: 4px;
        border-radius: 4px;
        font-family: var(--main-font);
        font-size: 12px; 
        display: none;
        color: var(--textcolor); 
        text-align: center;
        padding: 4px;
        text-transform: lowercase;
        box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.7);
    }
    
    /*ссылки в подфорумах*/
    .podforum {
        text-align: center;
        font-size: 10px!important;
        font-weight: 700;
        margin: 5px 0 7px 0 !important;
        padding: 2px;
        border-radius: 3px;
        background: var(--body-bg);
    color: var(--light-accent)!important;
    }
    
    .podforum a {color: var(--light-accent)!important;
        font-weight: 700;
            font-size: 10px!important;
    }
    
    .podforum a:hover {color: var(--textcolor)!important}
    
    .hvStickerPackModalTabs {background-color: var(--sec-bg)!important}
    
    /* Announcements
    ------------------------------------------------------------------ */
    
    .announcement {display: flex;
        position: relative;
        justify-content: center;
    gap: 10px;
        flex-wrap: wrap;
    }
    
    .news-block {
        width: fit-content;
        min-width: 155px;
        height: 20px;
        background: var(--footer);
        border-radius: 7px;
        padding: 5px;
    }
    
    .news-title {
    font-size: 10px;
        color: var(--white);
        text-align: center;
    font-weight: bold;
        letter-spacing: 0.1em;
    }
    
    .news-title a {text-decoration: none;
    color: var(--white);}
    .news-title a:hover {text-decoration: none;
    color: var(--sec-bg-op);}
    
    
    .news-comment {font-size: 8px;
      text-align: center;
        letter-spacing: 0.1em;
    color: var(--pun-bg);
    }
    
    /* Theme switcher © max, the murderer! */
    
    
    #theme_switcher {
    margin-top: -86px;
        display: flex;
        margin-left: 909px;
        position: absolute;
        z-index: 999;
    }
    
    #theme_switcher li {
        display: inline-block;
    }
    
    #theme_switcher li label {
        display: none;
    }
    
    #theme_switcher li input {
        -webkit-appearance: none;
        margin: 0;
        padding: 0;
        background: none;
        border: none;
    }
    
    #theme_switcher li input::before {
        font: 400 16px/100% 'Font Awesome 6 Pro';
        margin-right: 4px;
    }
    
    #theme_switcher li input#light::before {
        content: '\f111';
        font-weight: 600;
    color: var(--body-bg);
    }
    
    #theme_switcher li input#dark::before {
        content: '\f111';
        font-weight: 600;
    color: var(--footer);
    }
    
    #theme_switcher li input:hover::before,
    #theme_switcher li input[type="radio"]:checked {
        color: rgb(var(--accent400));
    }
    
    
    /*навигация от духа */
       .spirit_nav-wrap {position: absolute;
        z-index: 9;
        margin-left: 71px;
        margin-top: 20px !important;
    }
    
    .nav_button {
    border-radius: 5px;
        text-align: center;
        text-transform: lowercase;
        cursor: pointer;
        transition: all .4s linear 0s;
        color: var(--link);
        width: 95px;
        font-size: 12px;
        font-weight: bold;
        height: fit-content;
        padding: 3px 0;
    background: var(--light-accent);
    }
    
    .nav_button:hover {background: var(--pun-bg)}
    .nav_button.i_active {
    background: var(--pun-bg);
    }
    
    .nav_block {
    background: var(--textcolor);
        position: absolute;
        top: calc(100% + 5px);
        border-radius: 10px;
        width: 200px;
        margin-left: -56px;
    display: none;
    }
    
    .nav_block .link {
        padding: 10px;
        display: flex;
        flex-direction: column;
        text-align: center;
        text-transform: lowercase;
        gap: 5px;
        letter-spacing: 0.05em;
    }
    
    .nav_block .link a {
        color:  var(--link) !important;
        background: var(--sec-bg);
        border-radius: 8px;
        padding: 5px 10px;
        letter-spacing: 0.05em;
    }
    
    .nav_block .link a:hover {
      background: var(--link);
      color: var(--sec-bg)  !important;
    }
    
    .spirit_nav-wrap_quests {
    position: absolute;
        margin: auto;
        width: 95px;
        z-index: 9;
    top: 251px;
        left: 725px;
    z-index: 9999;
    }
    .nav_button_quests:hover {
        background-color: var(--pun-bg);
    }
    
    
    .nav_button_quests {
        background: var(--light-accent);
        border-radius: 3px;
        text-align: center;
        text-transform: lowercase;
        cursor: pointer;
        transition: all .4s linear 0s;
        color: var(--link);
        width: 90px;
        font-size: 12px;
        font-weight: bold;
        height: fit-content;
        padding-bottom: 3px;
        margin-left: 70px;
    }
    
    .nav_block_quests {
        background: var(--textcolor);
        position: absolute;
        top: calc(100% + 5px);
        border-radius: 10px;
        width: 200px;
        display: none;
        margin-left: 14px;
    }
    
    /*реакции*/
    .reactions-container {
        display: flex;
        gap: 4px;
        margin-left: 20px;
            margin-top: 5px;
        background: transparent!important;
    }
    .reactions-root button, .reactions-root [type=button], .reactions-root [type=reset], .reactions-root [type=submit] {
        -webkit-appearance: button;
            border: none !important;
        background-color: var(--sec-bg) !important;
    }
    
    
    .reactions-root {
        padding: 0 5px;
    margin-top: -55px;
    }
    
    .reaction-chip.reaction-chip--clicked {
        border: none !important;
        background-color: var(--sec-bg)!important;
    }
    
    .reactions-root .emoji-mart-category-label span {background: transparent!important}
    .reactions-root .emoji-mart {background: var(--sec-bg-op)!important;
       border: 1px solid var(--textcolor)!important;
    }
    .reactions-root .emoji-mart-search input, .reactions-root .emoji-mart-search input::-webkit-search-decoration, .reactions-root .emoji-mart-search input::-webkit-search-cancel-button, .reactions-root .emoji-mart-search input::-webkit-search-results-button, .reactions-root .emoji-mart-search input::-webkit-search-results-decoration {background: var(--sec-bg-op)!important}
    
    .reactions-root .emoji-mart, .reactions-root .emoji-mart {background: var(--sec-bg)!important}
    
    .hvStickerPackModalTabs {background: var(--pun-bg)!important}
    
    
    .f_links {background: var(--light-accent);
        border-radius: 3px;
        color: var(--pun-bg);
        letter-spacing: 0.05em;
        padding: 2px 3px;
        margin-top: 5px;
        margin-bottom: 5px;
        font-size: 10px;}
    
    .f_links a {
    color: var(--light-accent);
    }
    
    .f_links a:hover {
    color: var(--textcolor);
    }
    
    .podforum2 {
        flex: 0 0 auto;
        display: flex
    ;
        flex-wrap: wrap;
        flex-direction: row;
        gap: 2px;
        width: 100% ;}
    
    
    
    /* -------------- смена аккаунтов ---------------*/
    #navprofiles {
      position: relative;
      z-index: 9999;
    }
    
    #pun-navlinks.section .multiacc-profilemenu {
      position: absolute;
      top: 28px!important;
      right: 0px;
      width: max-content;
      height: auto;
      background: var(--pun-bg)!important;
      border-radius: 20px;
      border-inline: 1px solid var(--pale-bg)!important;
      color: var(--textcolor)!important;
      z-index: 9999;
    }
    
    .multiacc-profilemenu li {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 6px 12px;
      gap: 10px;
      width: 100%;
      z-index: 9999;}
    
    .multiacc-profilemenu li a {
      display: block;
      flex-grow: 1;
      text-align: left;
      padding-left: 20px;
      position: relative;
      z-index: 9999;
    color: var(--link)!important;
    }
    
    .multiacc-profilemenu li:first-child {
      background-color: var(--pun-bg)!important;
      font-weight: 700;
      z-index: 9999;
    }
    
    #pun-navlinks.section .multiacc-profilemenu li {
      position: relative;
      display: flex;
      justify-content: space-evenly;
      align-items: flex-end;
      font-size: 0.8rem;
      padding: 6px 16px 10px;
      border-bottom: 1px solid var(--pale-bg)!important;
      top: 0;
      z-index: 9999;
    }
    
    #pun-navlinks.section .multiacc-profilemenu li:last-child {
      border-bottom: 0;
    }
    
    #pun-navlinks.section .multiacc-profilemenu li:hover {
      box-shadow: inset 0px 0px 30px 3px rgba(43, 67, 62, 0.2);
    }
    
    #pun-navlinks.section .multiacc-profilemenu li a {
      color: var(--link);
    }
    
    #pun-navlinks.section .multiacc-profilemenu li a:hover {
      color: #888;
    }
    
    .multiacc-delete-btn {
      background: none;
      border: none;
      cursor: pointer;
      flex-shrink: 0;
      margin-left: auto;
    }
    
    .multiacc-dialog {
      z-index: 9999;
      padding: 10px;
      font-size: 0.8rem;
      background: var(--pun-bg) !important;
      border: 1px solid var(--pale-bg);
      color: var(--textcolor);
    }
    
    .multiacc-dialog > form {
      border: 1px solid #ccc;
      padding: 10px 10px 2px;
    }
    
    .multiacc-dialog input {
      padding: 4px 10px;
      border: 1px solid #b9bfb0;
    }
    
    .multiacc-dialog div {
      display: flex;
      justify-content: center;
    }
    
    .multiacc-dialog div:not(.multiacc-dialog div:last-child) {
      flex-direction: column;
    }
    
    /*новости*/
    .news-post {
      position: relative;
      background: url('https://forumstatic.ru/files/0014/d2/5e/84128.jpg') no-repeat center center;
      background-size: cover;
      padding: 30px;
      border-radius: 15px;
      overflow: hidden;
      color: white;
      max-width: 700px;
      margin: 20px auto;
    }
    
    .news-overlay {
      background: rgba(54, 51, 45, 0.7);
      padding: 20px;
      border-radius: 10px;
    color: var(--sec-bg);
        font-family: var(--font-family);
    }
    
    .news-overlay a {color: #BBB7AF; 
    font-weight: 600;}
    .news-overlay a:hover {color: #b0aba7;
    font-weight: 600;}
    
    .news-overlay h3 {
      margin-top: 0;
      font-size: 28px;
      text-transform: uppercase;
      padding-bottom: 5px;
    font-family: var(--second-family);
    background: transparent;
    text-align: center;
    }
    
    .news-overlay p {
      line-height: 1.6;
      margin-bottom: 1em;
    }
    
    .news-img {
      float: left;
      margin: 0 15px 15px 0;
      width: 150px;
      height: auto;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0,0,0,0.5);
    filter: grayscale(100%);
      border: 1px solid #7A7067;
    }
    
    
    .act {  margin: 0 15px 15px 0;
      width: 80px;
      height: 80px;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0,0,0,0.5);
    filter: grayscale(100%);
      border: 1px solid #7A7067;}
    
    
    
    /* старые новости */
    .texttable {
    width: 100%; 
        padding: 10px;
        margin: auto;
        background: #d6d6d6;
    border-radius: 10px 10px 10px 10px;    
    border-top: 6px solid #9997ff;
    }
    .ttable {width: 100%;background: #000000b3;color:#e0e0e0;border-radius: 0px 10px 0px 10px;padding: 10px;margin: auto;text-align: center;}
    
    
    .textact {
    width: 100%;
        padding: 10px;
        margin: auto;
        background: #d6d6d6;
        border-radius: 10px 10px 10px 10px;
        border: 1px solid #bdbdbd;
    }
    
    .hst{
    /*width: 100%;*/
        padding: 25px;
        margin: auto;
     background: #6b8f69; 
     background-image: url("https://i.pinimg.com/originals/1e/f1/f1/1ef1f16a698da88566bd88135daaed67.jpg");
        opacity: 0.8;
        border-radius: 10px 10px 10px 10px;
        border-top: 6px solid #6b8f69;
     
    }
    
    .hsttext {
    width: 100%;
    background: #f6f6f6;
    color: #1c1b1d;
    border-radius: 0px 10px 0px 10px;
    padding: 15px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    }
    
    .unread-notifications #notifications-wrap table {color: var(--textcolor)!important;}
    
    .pa-gifts {display: none}
    
    
    .punbb .user-avatar .isonline {    width: 8px;
        height: 8px;
        border-radius: 50%;
        display: block;
        position: absolute;
        top: 2px;
        right: 0px;
        animation: blinkColor .9s linear infinite;
        -moz-animation: blinkColor .9s linear infinite;
        -webkit-animation: blinkColor .9s linear infinite;
        background: var(--link)!important;
        z-index: 10!important;}
    
    /*новости последняя версия*/
    .news-main {
      position: relative;
      background: var(--footer);
      background-size: cover;
      border-radius: 20px;
      overflow: hidden;
    padding: 20px;
    }
    
    
    .news-podlozhka {
    background: var(--news-bg);
        border-radius: 15px;
        color: var(--textcolor);
        text-align: justify;
      position: relative;
      padding: 5px;
    }
    
    .news-date {
    position: relative;
        top: -12px!important;
        left: 50%;
        transform: translateX(-50%);
        width: 100px;
        text-align: center;
        font-weight: 400;
        font-size: 13px;
        text-transform: uppercase;
        background: var(--post-bg);
        font-weight: bold;
        color: var(--footer);
        padding: 3px;
        border-radius: 7px;
    }
    
    
    .news-zagolovok {
    margin-top: 0;
    margin-bottom: 5px;
        font-size: 40px;
        text-transform: uppercase;
        font-family: var(--news-font);
        background: transparent;
        text-align: center;
        color: var(--white);
    position: relative;}
    
    .news-podlozhka p {
      padding-left: 15px;
      padding-right: 15px;
    padding-bottom: 0px;
    padding-top: 10px
    }
    
    .news-podlozhka p  a {color: var(--link-hover)!important;
    font-weight: 600;
      text-decoration: none;
    }
    .news-podlozhka p  a:hover {color: var(--link)!important;
    }
    .news-activists {
      display: flex;
      justify-content: center;
    }
    
    .news-activists img {  margin: 0 15px 15px 0;
      width: 65px;
      height: 75px;
      border-radius: 10px;
        filter: grayscale(100%);
      }
    
    .img-wrap {
      position: relative;
      width: 65px;
      height: 75px;
      border-radius: 5px;
      overflow: hidden;
      display: inline-block;
      margin: 0 15px 15px 0;
    }
    
    .img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    
    .img-wrap::after {
      content: "";
      position: absolute;
      inset: 0;
      background: var(--profile-overlay); 
    border-radius: 10px;
    }
    
    
    .news-episode {  text-align: center;
       margin: 10px auto;
      background: var(--guest-overlay);
      border-radius: 5px;
      width: fit-content;
      padding: 3px 10px;
    }
    
    .news-episode a {color: var(--post-bg);
    text-decoration: none;
      font-weight: 700;
      text-transform: lowercase;
    }
    
    .news-episode a:hover {color: var(--link-hover)}
    
    .news-quote {text-align: justify;
       margin: 10px 10px auto;
      background: var(--guest-overlay);
      border-radius: 3px;
      width: fit-content;
      padding: 12px;
    line-height: 130%;
    color: var(--white)}
    
    
    .news-episode + p {
      padding-top: 0;
      margin-top: 0;
    }
    
    .news-author-inline {
        display: inline-block;
        width: 84px;
        height: 93px;
        float: left;
        margin: 0 15px 15px 0;
        border-radius: 5px;
        position: relative;
    }
    
    .news-author-inline img {
        width: 100%;
        height: 100%;
        display: block;
        border-radius: 5px;
        object-fit: cover;
        filter: grayscale(100%);
    }
    
    .news-author-inline::after {
        content: "";
        position: absolute;
        inset: 0;
        background-color: var(--profile-overlay);
        border-radius: 5px;
    }
    
    
    /* БыстроПлюсы для Топика */
    .noNull:before {
      content: "+";
      font-size: 9px;
      display: inline-block;
      margin-left: -6px;
      margin-top: 0px;
      position: absolute;
    }
    div .post-rating p>a {
      text-align: center;
      outline: 1px solid transparent;
      font-weight: 700;
      background: url(https://forumstatic.ru/files/001b/a6/d4/26514.svg) no-repeat center;
      background-size: 38px auto;
      position: relative;
      padding-left: 1px;
      z-index: 100;
      width: 38px;
      height: 38px;
      text-align: center;
      font-size: 12px !important;
      display: inline-block;
      vertical-align: middle;
      line-height: 36px;
      letter-spacing: 2px;
       color: var(--link);
       margin-top: 20px;
    margin-right: -20px;
    }
    div.dark-style .post-rating p>a {
      color: #6BC8AF !important;
    }
    div.post-vote {
    }
    
    div.post-vote p>a {
      font-size: 0 !important;
      position: absolute;
      cursor: pointer;
      z-index: 200;
      width: 23px;
      height: 23px;
      background: url(https://forumstatic.ru/files/0012/d8/04/75043.png) no-repeat;
      display: block;
      background-size: 100%;
    margin-top: 20px;
    }
    .post.dark-style div.post-vote p>a {
      background: url(https://forumstatic.ru/files/0012/d8/04/38128.png) no-repeat;
      background-size: 100%;
    }
    
    .punbb div.post-vote p {
      padding: var(--pad1)!important;
      margin: 0!important;
    }
    
    /* личная страница */
    #character {
        width: fit-content !important;
        background: var(--sec-bg);
        z-index: 9999;
    height: auto;
    }
    
    /* заголовки галерей */
    .gallery-title {
        text-transform: uppercase;
        background: var(--footer);
        color: var(--pun-bg);
        padding: 5px;
        margin-bottom: 8px;
        border-radius: 5px;
        font-weight: bold;
    max-width: 600px;
    }
    .arcs {
        position: absolute;
        top: 88%;
    }
    
    /* модалка */
    .reveal-modal-bg {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .8);
        z-index: 100;
        display: none;
    }
    
    .reveal-modal {
        visibility: hidden;
        position: absolute;
        top: 100px;
        left: 20%;
        z-index: 101;
        padding: 30px 40px 34px;
        border-radius: 5px;
        box-shadow: 0 0 10px rgba(0, 0, 0, .4);
    height: 300px;
    }
    
    /* размеры */
    .reveal-modal.small  { width: 200px; margin-left: -140px; }
    .reveal-modal.medium { width: 400px; margin-left: -240px; }
    .reveal-modal.large  { width: 600px; margin-left: -340px; }
    .reveal-modal.xlarge { width: 800px; margin-left: -440px; }
    
    /* меню */
    .menu-links {
        display: flex;
        gap: 10px;
    }
    
    .menu span {
        display: inline-block;
        padding: 3px 11px;
        border-radius: 5px 5px 0 0;
    }
    
    #submenu {
        display: inline-block;
        padding: 7px;
        font-size: 12px;
        width: 600px;
    }
    
    #submenu,
    .menu span {
        background: var(--post-bg);
        color: var(--footer);
        font-weight: bold;
    }
    
    .menu .tabactive {
        color: var(--profilebg);
        background: var(--footer);
    }
    
    .menu span:hover {
        color: var(--profilebg);
        background: var(--body-bg);
    }
    
    .submenutext {
        display: none;
        overflow-y: auto;
        font-weight: normal;
     max-height: 300px;
    }
    
    /* layout */
    .modal-content {
        display: flex;
        gap: 20px;
        align-items: flex-start; 
    height: 300px!important;
    }
    
    /* левая фиксированная */
    .left-column {
        min-width: 200px;
        flex-shrink: 0;
    }
    
    /* правая растягивается */
    .right-column {
        flex: 1;
    }
    
    .right-column {
        min-width: 0;
    }
    
    
    /* галереи */
    .plashki-gallery img {
        max-width: 200px;
    }
    
    /* Стили для плашек с текстом поверх */
    .plashki-container {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .plashka-item {
        position: relative;
        display: inline-block;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }
    
    .fon-text {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 10px;
        z-index: 2;
        color: var(--profileplashka);
        font-size: 8px;
        letter-spacing: 0.1em;
        pointer-events: none;
        background: rgba(0, 0, 0, 0.3); 
    }
    
    .phoni-gallery {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        width: 300px;
        overflow-y: auto;
    }
    
    .gallery-title {
        flex-basis: 100%;
    height: 10px;
    }
    
    .phoni-gallery img {
        width: 80px;
        height: 80px;
        border-radius: 5px;
        object-fit: cover;
    }
    
    .icons-gallery {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        width: 300px;
        max-height: 350px;
        overflow-y: auto;
    }
    
    .icons-gallery-img {
        width: 34px;
        height: 34px;
    }
    
    /* фоны */
    .fon-light,
    .fon-dark {
        position: relative;
        display: inline-block;
        width: 200px;
    }
    
    .fon-light img,
    .fon-dark img {
        width: 100%;
    }
    
    /* градиенты */
    .fon-light::after,
    .fon-dark::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
    }
    
    .fon-light::after {
        background: linear-gradient(
            rgba(152, 171, 177, 0.5) 10%,
            #AEBCBF 100%
        );
    }
    
    .fon-dark::after {
        background: linear-gradient(
            rgba(146, 141, 138, 0.5) 10%,
            #A09895 100%
        );
    }
    
    /* профиль */
    .profile-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    
    .profile-left {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        max-height: 350px;
        overflow-y: auto;
    }
    
    .profile-right {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }
    
    /* твинки */
    .twink {
        display: flex;
        gap: 15px;
        margin-bottom: 15px;
    }
    
    .twink img {
        width: 100px;
        height: 100px;
        object-fit: cover;
        border-radius: 50%;
        flex-shrink: 0;
    }
    
    .twink-text {
        flex: 1;
    }
    
    .coupon {
        display: flex;
        gap: 10px;
        align-items: center;
        padding: 5px;
        margin-bottom: 5px;
        background: var(--topic-overlay);
        border-radius: 8px;
        position: relative;
        overflow: hidden;
        width: 250px;
    }
    
    .coupon-list {
        display: flex;
        flex-wrap: wrap; /* чтобы переносились на новую строку */
        gap: 10px;       /* расстояние между купонами */
    }
    
    /* "перфорация" */
    .coupon::before,
    .coupon::after {
        content: "";
        position: absolute;
        left: 110px; /* граница между картинкой и текстом */
        width: 10px;
        height: 10px;
        background: var(--post-bg);
        border-radius: 50%;
        transform: translateX(-50%);
    }
    
    .coupon::before {
        top: -5px;
    }
    
    .coupon::after {
        bottom: -5px;
    }
    
    /* линия перфорации */
    .coupon-content {
        position: relative;
        padding-left: 10px;
    }
    
    .coupon-content::before {
        content: "";
        position: absolute;
        left: -5px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: repeating-linear-gradient(
            to bottom,
            var(--footer),
            var(--footer) 4px,
            transparent 4px,
            transparent 8px
        );
        opacity: 0.4;
    }
    
    /* картинка */
    .coupon-img img {
        width: 40px;
        height: 40px;
        object-fit: cover;
        border-radius: 6px;
    }
    
    /* текст */
    .coupon-title {
        font-size: 13px;
        font-weight: bold;
        color: var(--link);
    }
    
    .coupon-desc {
        font-size: 11px;
        color: var(--footer);
    }
    
    .coupon-meta {
        font-size: 10px;
        opacity: 0.6;
    }
    
    
    #lp-generator {
        position: fixed;
        inset: 0;
        z-index: 99999;
    }
    
    .lp-overlay {
        position: absolute;
        inset: 0;
        background: rgba(0,0,0,.7);
    }
    
    .lp-box {
        position: relative;
        width: 500px;
        margin: 60px auto;
        background: #222;
        color: #fff;
        padding: 15px;
        border-radius: 10px;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    
    .lp-box input,
    .lp-box textarea {
        width: 100%;
        padding: 6px;
        border-radius: 5px;
        border: none;
    }
    
    #lp-output {
        height: 120px;
    }
    
    .lp-box button {
        cursor: pointer;
        padding: 6px;
    }
    
    .reveal-modal .close-reveal-modal {
        font-size: 22px;
        line-height: .5;
        position: absolute;
        top: 8px;
        right: 11px;
        color: #aaa;
        text-shadow: 0 -1px 1px rgba(0,0,0,.6);
        font-weight: bold;
        cursor: pointer;
        text-decoration: none;
    }
    
    /* Flow Around */
    
    #float {
        display: none;
        position: absolute;
        --width: 120px;
        margin-top: 32px;
        left: calc(50% - var(--width));
        text-align: center;
        background: #e5e5e5 repeat center center;
        border: 1px solid #333;
        padding: 8px 16px;
        z-index: 1;
    }
    
    #float strong {
        display: block;
        margin-bottom: 7px;
    }
    
    #float i {
        font-size: 16px;
        padding: 0 8px;
    }
    
    #float i:hover {
        opacity: .6;
    }
    
    
    /****************************************
    Примерочная by DeepSeek and Storyteller
    ****************************************/
    .dressing-room {
        background: var(--news-bg);
        border-radius: 10px;
        padding: 20px;
        margin: 20px 0;
        color: var(--textcolor);
    }
    
    /* ДВЕ КОЛОНКИ */
    .two-columns {
        display: flex;
        gap: 30px;
        flex-wrap: wrap;
    }
    
    .right-column {
        flex: 1;
        min-width: 400px;
    }
    
    .dressing-room h3 {
    color: var(--textcolor);
        margin: 20px 0 10px 0;
        font-size: 14px;
        text-transform: lowercase;
        padding: 5px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        background: var(--post-bg);
        border-radius: 5px;
    }
    
    .collection-title {
    font-size: 12px;
        color: var(--textcolor);
        padding-left: 10px;
        margin-bottom: 10px;
        border-left: 3px solid var(--textcolor);
    text-transform: lowercase;
    }
    
    .collection-badge {
        font-size: 10px;
        background: var(--post-bg);
        color: var(--profilebg);
        padding: 2px 6px;
        border-radius: 10px;
        margin-left: 8px;
        vertical-align: middle;
    }
    
    .category-controls {
        display: flex;
        gap: 15px;
        align-items: center;
        flex-wrap: wrap;
    }
    
    .clear-category-btn {
        background: var(--profilebg);
        color: var(--profiletext);
        border: 1px solid var(--profilelink);
        padding: 3px 8px;
        border-radius: 5px;
        font-size: 10px;
        cursor: pointer;
    text-transform: lowercase;
    }
    
    .clear-category-btn:hover {
        background: var(--profilelink);
        color: var(--profiletext);
    }
    
    .gift-checkbox {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: 11px;
         cursor: pointer;
    }
    
    .gift-checkbox input {
        cursor: pointer;
        width: 14px;
        height: 14px;
    }
    
    /* Блоки с картинками */
    .shop-container {
    border: 1px solid var(--post-bg);
        border-radius: 8px;
        overflow: hidden;
        margin-bottom: 10px;
    }
    
    .shop-content {
        max-height: 100px;
        overflow-y: auto;
        padding: 10px;
    }
    
    .shop-content::-webkit-scrollbar {
        width: 5px;
    }
    
    .shop-content::-webkit-scrollbar-track {
        background: var(--profilebg);
        border-radius: 5px;
    }
    
    .shop-content::-webkit-scrollbar-thumb {
        background: var(--profilelink);
        border-radius: 5px;
    }
    
    .shop-content-plashka {
        max-height: 70px;
    }
    
    .shop-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        margin-bottom: 20px;
    }
    
    .shop-grid:last-child {
        margin-bottom: 0;
    }
    
    .shop-item {
        position: relative;
        cursor: pointer;
        border-radius: 5px;
        border: 2px solid transparent;
        transition: all 0.2s ease;
        text-align: center;
    }
    
    .shop-item:hover {
        transform: scale(1.05);
        border-color: var(--profilelink);
    }
    
    .shop-item-img {
        width: 60px;
        height: 60px;
        object-fit: cover;
        border-radius: 5px;
        display: block;
    }
    
    .shop-item-plashka {
        width: 100px;
        height: 26px;
        object-fit: cover;
        border-radius: 3px;
        display: block;
    }
    
    .shop-item-emoji {
        width: 30px;
        height: 30px;
        object-fit: contain;
        border-radius: 5px;
        display: block;
    }
    
    .shop-price {
        font-size: 9px;
        color: var(--profilelink);
        background: var(--post-bg);
        padding: 2px 4px;
        border-radius: 3px;
        margin-top: 4px;
        display: inline-block;
    }
    
    .preview-label {
        text-align: center;
        margin-bottom: 20px;
        font-size: 12px;
    }
    
    .url-row {
        margin-bottom: 20px;
        padding: 10px;
        background: var(--post-bg);
        border-radius: 5px;
    }
    
    .url-row label {
        display: block;
        margin-bottom: 5px;
        color: var(--textcolor);
        font-size: 11px;
    text-transform: lowercase;
    }
    
    .url-input-group input {
        width: 100%;
        background: var(--main-bg);
        color: var(--profiletext);
        border: 1px solid var(--profilelink)!important;
        padding: 8px 12px;
        border-radius: 5px;
        font-size: 12px;
        box-sizing: border-box;
    }
    
    .url-price {
        font-size: 10px;
        color: var(--profiletext);
        margin-top: 5px;
    }
    
    .text-controls {
    margin-bottom: 20px;
        padding: 10px;
        border-radius: 5px;
        border: 1px solid var(--post-bg);
    }
    
    .text-controls label {
    display: block;
        margin-bottom: 5px;
        color: var(--textcolor);
        font-size: 11px;
    text-transform: lowercase;
    }
    
    .text-input-group input {
        width: 100%;
        background: var(--main-bg);
        color: var(--textcolor);
        border: 1px solid var(--profilelink)!important;
        padding: 8px 12px;
        border-radius: 5px;
        font-size: 12px;
        box-sizing: border-box;
    }
    
    /* Спойлер для фраз */
    .phrases-spoiler {
        margin-top: 15px;
    }
    
    .phrases-spoiler summary {
        cursor: pointer;
        color: var(--profilelink);
        font-size: 11px;
        padding: 5px;
        display: inline-block;
        border: 1px solid var(--profilelink);
        border-radius: 10px;
    margin-bottom: 5px;
    }
    
    .phrases-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 10px;
        max-height: 120px;
        overflow-y: auto;
        padding: 5px;
    }
    
    .phrases-grid::-webkit-scrollbar {
        width: 3px;
    }
    
    .phrase-item {
        background: var(--main-bg);
        color: var(--textcolor);
        border: 1px solid var(--profilelink);
        padding: 4px 8px;
        border-radius: 5px;
        font-size: 10px;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .phrase-item:hover {
        background: var(--profilelink);
        color: var(--profilebg);
    }
    
    .color-controls {
        display: flex;
        gap: 10px;
        align-items: center;
        flex-wrap: wrap;
        margin-top: 10px;
    }
    
    .color-controls label {
        font-size: 11px;
        color: var(--textcolor);
    }
    
    .color-picker {
        width: 15px;
        height: 15px;
        padding: 0;
        border: none;
        border-radius: 50%;
        cursor: pointer;
        background: var(--dark-accent);
        overflow: hidden;
        box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    }
    
    .color-picker::-webkit-color-swatch-wrapper {
        padding: 0;
    }
    
    .color-picker::-webkit-color-swatch {
        border: none;
        border-radius: 50%;
    }
    
    .color-picker::-moz-color-swatch {
        border: none;
        border-radius: 50%;
    }
    
    .color-picker:focus {
        outline: none;
    }
    
    .grayscale-controls {
        display: flex;
        gap: 10px;
        margin-top: 10px;
        flex-wrap: wrap;
    text-transform: lowercase;
    }
    
    .grayscale-btn {
    background: var(--post-bg);
        border: 1px solid var(--profilelink);
        padding: 5px 10px;
        border-radius: 10px;
        font-size: 11px;
        cursor: pointer;
        color: var(--footer);
    }
    
    .grayscale-btn:hover {
        background: var(--profilelink);
        color: var(--post-bg);
    }
    
    .reset-btn {
    background: var(--post-bg);
        border: 1px solid var(--profilebg);
        margin-top: 10px;
        width: 100%;
        padding: 10px;
        cursor: pointer;
        text-transform: lowercase;
        border-radius: 10px;
    }
    
    .hint {
        font-size: 10px;
        opacity: 0.7;
        margin-top: 5px;
    }
    
    /* Блок с итоговой стоимостью и генерацией */
    .result-block {
        margin-top: 20px;
        padding: 15px;
        border-radius: 5px;
        border: 1px solid var(--profilelink);
    }
    
    .total-cost-block {
        padding: 12px;
        background: var(--post-bg);
        border-radius: 5px;
        text-align: center;
        margin-bottom: 15px;
    }
    
    .total-cost-block span {
        font-size: 18px;
        font-weight: bold;
        color: var(--profilebg);
    }
    
    .total-cost-label {
        font-size: 12px;
        color: var(--profilebg);
        opacity: 0.9;
    }
    
    /* Исправление для левой колонки */
    .left-column-shop {
        flex: 0 0 320px; /* фиксированная ширина */
        min-width: 250px;
        max-width: 400px;
    }
    
    /* Исправление для блока результата */
    .result-block {
        margin-top: 20px;
        padding: 15px;
        border-radius: 5px;
        border: 1px solid var(--profilelink);
        width: 100%;
        box-sizing: border-box;
    }
    
    /* Исправление для контейнера с кодом */
    .code-container {
        background: var(--main-bg);
        padding: 12px;
        border-radius: 5px;
        font-family: monospace;
        font-size: 11px;
        word-break: break-all;
        margin-bottom: 10px;
        max-height: 200px;
        overflow: auto;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    /* Исправление для генератора и других блоков в левой колонке */
    .total-cost-block,
    .balance-block,
    .code-container,
    .generate-btn {
        max-width: 100%;
        box-sizing: border-box;
    }
    
    
    
    .generate-btn {
    background: var(--footer);
        border: none;
        padding: 12px;
        border-radius: 5px;
        font-weight: bold;
        cursor: pointer;
        width: 100%;
        font-size: 14px;
        transition: 0.3s;
        text-transform: lowercase;
        color: var(--post-bg);
    }
    
    .generate-btn.copied {
        background: var(--post-bg);
    color: var(--textcolor);
    }
    
    /* Стили для профиля-образца */
    .demo-profile {
        margin-bottom: 20px;
        display: flex;
        justify-content: center;
    }
    
    .demo-profile .post-author {
        pointer-events: none;
        margin-bottom: 0;
        width: 220px;
    }
    
    .post-author .plashka {
        position: relative;
        width: 200px;
        height: 26px;
        margin-left: 0px;
    }
    
    .post-author .plashka img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    .post-author .plashka a {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 0 10px;
        word-break: break-word;
        color: var(--dark-accent);
        font-family: var(--main-font);
        font-size: 9px;
        font-weight: bold;
        text-transform: none;
        letter-spacing: 0.1em;
    }
    
    .pa-fld5 {
        content: '';
        position: absolute;
        width: 34px;
        height: 34px;
        left: 50%;
        transform: translateX(-50%);
        bottom: -16px;
        z-index: 3;
    }
    
    .pa-fld5 img {
        width: 34px;
        height: 34px;
        object-fit: contain;
    }
    
    .pa-posts, .pa-respect, .pa-fld3, .pa-fld6 {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        color: var(--profilelink);
        font-size: 8px;
        margin: 8px 13px;
        width: 10px;
        height: 10px;
    }
    
    .pa-posts span:last-child,
    .pa-respect span:last-child,
    .pa-fld3 span:last-child,
    .pa-fld6 span:last-child {
        color: var(--profilelink);
        width: 10px;
        height: 10px;
        display: flex;
        justify-content: center;
    }
    
    .post-author .pa-respect a:before {
        content: "";
        height: 10px;
        width: 11px;
        background-image: var(--likes);
        background-repeat: no-repeat;
        background-size: contain;
        vertical-align: middle;
        display: block;
        margin-top: -10px;
    }
    
    .pa-respect .fld-name {font-size: 0px}
    
    
    .pa-posts .fld-name {
        content: var(--messages);
        width: 100%;
        height: auto;
    }
    
    .pa-fld3 .fld-name {
        content: var(--money);
        width: 10px;
        height: 10px;
    }
    
    .pa-fld6 .fld-name {
        content: var(--posts);
        width: 10px;
        height: 10px;
    }
    
    .demo-profile .lz-about {
        color: var(--profiletext);
        font-size: 10px;
        text-align: center;
    }
    
    
    /* общий блок - исправленный */
    .general {
        display: flex;
        flex-direction: column;
        color: var(--footer);
        max-width: 300px;
    }
    
    .general img {
        width: 150px;
        height: 150px;
        object-fit: cover;
        border-radius: 5px;
        border: 1px solid var(--footer);
        margin: 0 auto;
    }
    
    .general h2 {
        font-weight: normal;
        text-align: center;
        color: var(--dark-accent);
        font-family: var(--extra-font);
        font-size: 25px;
        margin: 0;
    }
    
    .fraction {
        background: var(--body-bg);
        color: var(--profilebg);
        border-radius: 5px;
        padding: 5px 8px;
        text-align: center;
        font-size: 12px;
        width: 100%;
        box-sizing: border-box;
    }
    
    .occupation {
        font-size: 12px;
        text-align: center;
        padding: 0 5px;
        line-height: 1.4;
    }
    
    .plashka-item {
        position: relative;
        display: inline-block;
        max-width: 200px;
        width: 100%;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
        overflow: hidden;
    }
    
    .plashka-item img {
        width: 100%;
        height: 22px;
        display: block;
    object-fit: cover;}
    
    
    .plashka-item img {
        display: block;
        max-width: 200px!important;
        height: 22px!important;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }
    
    
    .fon-text {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 10px;
        z-index: 2;
        color: var(--profileplashka, #ffffff);
        font-size: 8px;
        letter-spacing: 0.1em;
        pointer-events: none;
        background: rgba(0, 0, 0, 0.3);
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }
    
    .icons-gallery img {
        width: 34px !important;
        height: 34px !important;
        object-fit: cover;
        border-radius: 5px;
    }
    
    
    .modal-content {
    height: auto !important;
        min-height: auto !important;
        display: flex;
        align-items: flex-start;
        gap: 20px;
    }
    
    .spell {background: var(--spell-img) no-repeat;
        background-size: contain;
        width: 118px;
        height: 86px;
        position: absolute;
        left: 629px;
        top: 281px;}
    
    .bg-filters {
        margin-top: 20px;
        padding: 10px;
        background: var(--profilebg);
        border-radius: 5px;
    }
    
    .bg-filters h3 {
        margin-top: 0 !important;
    }
    
    .overlay-controls {
        margin-top: 15px;
        padding-top: 10px;
        border-top: 1px solid var(--profilelink);
    }
    
    .balance-block {
        background: var(--profilebg);
        border-radius: 8px;
        padding: 12px;
        margin-top: 15px;
    }
    
    .balance-block label {
        display: block;
        font-size: 11px;
        color: var(--profiletext);
        margin-bottom: 5px;
    }
    
    .balance-input {
        width: 100%;
        padding: 8px;
        background: var(--main-bg);
        border: 1px solid var(--profilelink);
        border-radius: 5px;
        color: var(--profiletext);
        font-size: 14px;
        font-weight: bold;
        box-sizing: border-box;
    }
    
    .remaining-block {
        margin-top: 10px;
        padding-top: 8px;
        border-top: 1px solid var(--profilelink);
        text-align: center;
    }
    
    .remaining-label {
        font-size: 11px;
        color: var(--profiletext);
    }
    
    .remaining-value {
        font-size: 18px;
        font-weight: bold;
        color: var(--profilebg);
        background: var(--profilelink);
        padding: 2px 8px;
        border-radius: 5px;
        margin: 0 5px;
    }
    
    .remaining-currency {
        font-size: 10px;
        color: var(--profiletext);
    }
    
    .pa-respect a[href*="/relation.php"] {
        display: none;
    }
    
    /*ачивки*/
      .achievement-label {
        width: 455px;
        border-bottom: 1px dashed var(--link);
        color: var(--textcolor);
        font-weight: bold;
        margin: 10px 0px;
      }
    
      .achievement-item {
        display: flex;
        align-items: center;
        gap: 25px;
        padding: 5px 10px;
        background: rgba(255, 255, 255, 0.05);
        border-radius: 12px;
        transition: background 0.2s;
    width: fit-content;
    overflow: visible;
      }
    
      .achievement-small {
        display: flex;
        flex-wrap: nowrap;
        gap: 5px;
        width: 350px;
        flex-shrink: 0;
        align-items: center;
        padding: 5px 0;
    overflow: visible;
      }
    
      .achievement-big {
        flex-shrink: 0;
        display: flex;
        align-items: center;
      }
    
      /* ===== ИКОНКИ ===== */
      .achievement-icon {
        width: 64px;
        height: 64px;
        object-fit: contain;
        transition: transform 0.2s, filter 0.2s;
        position: relative;
      }
    
      .achievement-icon:hover {
        transform: scale(1.1);
      }
    
      .achievement-icon.locked {
        opacity: 0.5;
        filter: grayscale(0.4);
      }
    
      .achievement-big .achievement-icon {
        width: 70px;
        height: 70px;
      }
    
      /* ===== КАСТОМНЫЙ ТУЛТИП ===== */
      .tooltip-container {
        position: relative;
        display: inline-flex;
    z-index: 99;
      }
    
      .tooltip-container .tooltip-text {
        visibility: hidden;
        opacity: 0;
        width: max-content;
        max-width: 260px;
        background: var(--sec-bg);
    border: 1px solid var(--link-hover);
        color: var(--textcolor);
        text-align: center;
        padding: 6px;
        border-radius: 10px;
        letter-spacing: 0.3px;
        position: absolute;
        bottom: calc(100% + 2px);
        left: 50%;
    margin-left: 30px;
        transform: translateX(-50%) scale(0.85);
        z-index: 1000;
        transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        pointer-events: none;
        white-space: wrap;
    font-size: 10px;
      }
    
    
      .tooltip-container:hover .tooltip-text {
        visibility: visible;
        opacity: 1;
        transform: translateX(-50%) scale(1);
      }

    0

    18

    хтмл-верх

    Код:
    <!-- Cчётчик Игровых постов -->
    <script type="text/javascript">
    /*delete localStorage.alertsAMS_onCountCode;*/
    /***************************
            Настройки!
    ***************************/
    FORUM._NUMpa_fld = 6;    // Номер.Доп.поля,
    FORUM._color_fld = "inherit";	// Цвет шрифта,
    FORUM.includeFirstPost = 0;	// 0 - не учитывать,1 - учитывать Первопост автора в игровых темах,
    FORUM.AddOrSlash = 0;    //0 - Поле отдельно, 1 - через слешь c общ. числом сообщений,
    FORUM.Number_winners = [7,[1]];	// Начальное Число отображаемых юзеров в таблице и список форумов показа;
    FORUM.Subscription_Code = "f87f9524f52b3f15cd458b2bf2a95a906ca5a960";	//Код подписки!!;
    /**** НАСТРОЙКА Игровых локаций ****/
    function ad_ (){/*!~!FORUM.ForArrAy = {
    //Форум  //Темы (включаемые, или исключаемые)
    
    f14	:-[0],  //— bring it on
    f12	:-[0],  //— catch me if you can
    f13	:-[0],  //— oh, bless my heart
    f17	:-[0],  //— soak up the sun
    f21	:-[0]	//— a kiss before dying //Последний элемент без запятой!
    }
    !~!*/}ad_ = ad_.toString().split('!~!')[1];//alert(ad_);
    </script>
    <script type="text/javascript" src="https://forumstatic.ru/files/0013/44/56/77707.js"></script>
    <style>.Form-Table{}.punbb .table_GamePosts tbody th{text-align: center;color:#fff}
    #pre_placement>a {top:3px;right:2px;}.punbb .GamePst{padding:0!important;}
    .punbb #profile-right li#pa-fld6 strong.GamePst2 {}</style>
    <!--//END Cчётчик Игровых постов © Deff-->
    
    <!---------------------— Красивая профилактика © Deff, мод. max, the murderer! ---------------------->
    <div id="pircs2"><link rel="stylesheet" type="text/css" href="/files/001b/a8/40/30530.css" /><div id="LogIn_Window" style="height: auto"><center>Ушли обновляться. Вскоре вернёмся! с:</center><br></div></div><!-— --><script type="text/javascript">
    
    var ON_button=1; // Cвитч включения: 1 — включено; 0 — выключено
    var  moderDostyp_ON=0; // Модер-доступ включён: 1 — включён; 0 — выключен
    
    if(ON_button!=1||GroupID ==1||moderDostyp_ON*GroupID==2){
    $("style.#style_st,div.#pircs2").replaceWith("");}
      else {$("#msg-n2").replaceWith("");
    if(GroupID ==3) {$("#LogIn_Window").show();if(document.URL.indexOf("/login.php")==-1){
    document.location.href = "../login.php"}else {
    $(document).ready(function(){$("form#login").appendTo("#LogIn_Window");
    $("#LogIn_Window").find("p.formsubmit a[href*='register.php']").text("");
    var v=$("#LogIn_Window").find("p.formsubmit a[href*='action=forget']");
    v.replaceWith("<span>Вход только для администраторов</span>");});};}
    else {document.location.href = "../login.php?action=out&id="+UserID};}
    </script>
    
    <!-- Мгновенные уведомления © Alex_63, 2024 -->
    <link rel="stylesheet" type="text/css" href="//forumstatic.ru/f/ru/bestbb/notifications.css" />
    <script type="text/javascript" src="//forumstatic.ru/f/ru/bestbb/notifications.js"></script>
    
    <!-- Мгновенные уведомления: упоминания © Alex_63, 2020 -->
    <script>notifications.load('mentions');</script>
    
    <!-- Мгновенные уведомления: репутация для Rusff © Alex_63, 2019 -->
    <script>notifications.load('reputation');</script>
    
    <!-- Мгновенные уведомления: подписки на форум/тему © Alex_63, 2019 -->
    <script>notifications.load('subscriptions');</script>
    
    <!-- Мгновенные уведомления: новые посты из важных тем © Alex_63, 2019 -->
    <script type="text/javascript">
    notifications.load('common', {});
    notifications.load('important', {topics: [101, 97, 109]}); // ID важных тем (через запятую)
    </script>
    
    
    
    
    <!-- Скрипт быстрой смены аккаунтов от Feathertail -->
    <script src="https://forumstatic.ru/files/0014/d2/5e/64597.js?v=2"></script>
    <link rel="stylesheet" href="https://forumstatic.ru/files/001c/0a/76/34585.css?v=2" />
    
    <!-- Скрытие профиля в теме тегом © Alex_63 -->
    <style type="text/css">.hideprofile .post-author,.hideprofile .pl-email,.hideprofile .pl-website{display:none!important}
    .hideprofile .post-body,.hideprofile .post-links,.hideprofile .post-links ul,.post.hideprofile h3>span{margin-left:0!important; width: 100%; box-sizing: border-box;}</style>
    <script>
    FORUM.set('editor.addition.tags.hideprofile',{name:'Скрыть минипрофиль',onclick:function(){insert('[hideprofile]');}});
    $().pun_mainReady(function(){$('.post:contains("[hideprofile]")').addClass('hideprofile').html(function(){return $(this).html().replace(/\[hideprofile\]/gim,'')})});
    </script>
    
    <!-- Быстроплюсы v.2 by Deff -->
    <script type="text/javascript" src="https://forumstatic.ru/files/0012/d8/04/58219.js" addComment="1"></script>
    
    <!--------------------- Выделение кода в блоке "Код" © Alex_63 --------------------->
    <script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/26102.js"></script>
    <script>eval(select_text.toString().replace(/\}$/,'try{document.execCommand("copy")}catch(e){}}'))</script>
    <script type="text/javascript">select_text.linkText = 'выделить код [копируется сразу]'</script>
    
    <!--- Скрыть rss-atom --->
    <style type="text/css">
    .punbb .modmenu .container span {display: none;}
    </style>
    <!--- конец --->
    
    <!-- первое соо без профиля -->
    <style>
    #p367 .post-author, #p367 .post-sig, #p367 .pl-email, #p367 .post-author, #p367 .post-sig, #p367 .pl-email, #p367 .post-author, #p367 .post-sig, #p367 .pl-email {display:none;}
    #p367 .post-body, #p367 .post-body, #p367 .post-body  {margin-left:0!important;}</style>
    <!-- конец -->
    
    <!--Выделение кода в блоке "Код" с перемещение в буфер обмена // © Damassk, версия 2019г. --> 
    <script type="text/javascript" src="https://forumstatic.ru/files/0016/4a/bf/98029.js"></script>
    <script>eval(select_text.toString().replace(/\}$/,'try{document.execCommand("copy")}catch(e){}}'))</script>
    <script type="text/javascript">select_text.linkText = 'выделить [копируется сразу]' //текст ссылки</script>
    <!-- конец -->
     <style>
    @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Display&display=swap');
    font-family: 'Noto Serif Display', serif;
    </style>
    
    <!-------------------------- СМЕНА АВАТАРА ПРЯМО В ТЕМЕ © Deff, Alex_63 ---------------------------->
    <script>var NoChangeAvatar = ["Б.А.Б.К.А."]; /* Имя Ника для Пиар Аккаунта(дабы не менял)*/;</script>
    <script type="text/javascript" src="https://forumstatic.ru/files/0014/cc/0a/82168.js"></script>
    <style type="text/css">
    .pa-avatar.item2 img.allow_change:hover {
    outline-color: transparent;}
    
    .pa-avatar.item2 img.allow_change {
       
        transition: outline-color .2s ease;
        cursor: pointer;
        float: none!important;
    }
    
    .pun-modal.change_avatar_theme .modal-inner {
        background: #cecdcd;
        width: 702px;
    max-height: 300px!important;
        max-width: 701px!important;
        padding: 0;
        border-radius: 0;
        border: none!important;
        overflow: hidden;
        box-shadow: none;
    }
    
    .pun-modal.change_avatar_theme .modal-inner h2 {
    background: #3C3C3C!important;
        color: #D6D6D6!important;
        text-transform: uppercase;
        text-align: center!important;
        height: 23px!important;
        padding: 0!important;
        width: auto!important;
        font-weight: bold;
        font-family: var(--font-title);
        font-size: 16px;
        padding-top: 8px!important;
        padding-bottom: 3px!important;
        border-radius: 0!important;
        margin: 0!important;
        }
    #pun-main > div.pun-modal.change_avatar_theme > div.modal-inner.section > div {
        border: 1px solid black;
        border-top: none;
    }
    
    .punbb .pun-modal.change_avatar_theme .modal-inner h2>span {
        margin-top: -10px!important;
    }</style>
    
    
    <!-- Dice (c) Spiritus Tergi, ч1 в хтмл-верх -->
    <script type="text/javascript" src="https://forumstatic.ru/files/000f/3e/d5/42785.js" charset="UTF-8"></script>
    
    <style>
    /* Оформление к Dice Roller (c) Spiritus Tergi, ч3 */
    
    .hidden {
    display: none !important;
    }
    
    #button-dice {
    	background: url("/files/000f/3e/d5/81483.png") center;
    }
    
    form#dice-form {
        display: inline-flex;
        gap: 23px;
        width: 340px;
        padding: 6px;
        text-align: right;
        position: absolute;
        top: 38px;
        right: 0px;
        background: rgb(172 175 176);
        border: 1px solid #6c6b6b;
        border-radius: 2px;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    
    form#dice-form input {
    width: 22px;
    }
    
    #dice-form label {
    display: block;
    margin: 3px;
    vertical-align: top;
    }
    
    #dice-form span {
    font-weight: bold;
    width: 100px;
    text-align: right;
    display: inline-block;
    vertical-align: top;
    }
    
    #dice-form label > span::after {
    content: ":"
    }
    
    #dice-form textarea {
    width: 130px !important;
    height: 69px !important;
    }
    
    #dice-form > div {
        /* width: 160px; */
        /* display: inline-block; */
        vertical-align: top;
    }
    
    #dice-form > label {
    display: inline-block;
    }
    
    #dice-form > div:nth-child(2) {
        margin-top: -18px;
        margin-right: 37px;
    }
    
    .roll-dice::before, .roll-value::before, .roll-reason::before, .roll-result::before {
      font-weight: bold;
    }
    
    .roll-dice::before {
        content: "Бросок: ";
    }
    
    .roll-dice::after {
      content: " (бонус)";
      margin-right: -5px;
    }
    
    .roll-value::before {
        content: " , с результатом: ";
    }
    
    .roll-reason::before {
      content: "Действие: "
    }
    
    #pun .roll-result {
      padding-bottom: 0px;
    }</style>
    
    <!--- шапка --->
    <div class="tablica">
      <div class="about">тёмный лорд одержал победу во второй магической войне, установив тоталитарный режим. волшебное общество оказалось разделено на касты по чистоте крови, границы закрыты, а репрессии и дискриминация стали нормой. надежда на перемены теперь связана с сопротивлением, которое по масштабу превзошло сам орден феникса.</div>
    <div class="spell"></div>
    
      <!--- нужные --->
      <div class="need-wrap">
        <div class="need-fon"></div>
       <div class="need-img-wrapper" id="controtator">
    
    
         <p>       <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=844" title="жаждет мести">
            <img class="need-img" src="https://forumstatic.ru/files/0014/d2/5e/62766.gif">
          </a></p>
        
         <p>       <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=844" title="феминистка на службе режима">
            <img class="need-img" src="https://64.media.tumblr.com/0ae753c48183796506e9d887a2cbb13d/5e640fe6f6e4aae0-76/s400x600/8f8ebc3884fb6926a7786ee3ec85a4f31fa192d7.gif">
          </a></p>
    
         <p>       <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=844" title="отчаявшийся аврор">
            <img class="need-img" src="https://64.media.tumblr.com/1c716692683e7ddd84250eadda2efe68/2762c647babea804-f2/s540x810/1540a1230a9d8f6d163c36acc7d1c07225252d0e.gif">
          </a></p>
    
         <p>       <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=844" title="любит драконов, а не людей">
            <img class="need-img" src="https://64.media.tumblr.com/29287d8751f08d72136fd5399685c76e/921d8a6dac5242df-e4/s540x810/3c43f684771426cd8c95870dc0951b86e4bb8335.gif">
          </a></p>
    
       </div>
      </div>
    
    
    <!--- эпизод--->
    <div class="b-episode"><div class="b-episode-title" >best episode</div><div class="b-episode-link" title="by john & silas"><a href="https://mmaleficarum.rusff.me/viewtopic.php?id=476#p60820" >sweet revenge</a></div></div>
    <!--- пост--->
      <div class="b-post"><div class="b-post-title">best post</div><div class="bestpost-txt"><div class="b-post-inner"><a href="https://mmaleficarum.rusff.me/viewtopic.php?id=925#p142544">theodora pomfrey:</a> - Я не жду, что ты сразу скажешь "ничего страшного". Потому что это не "ничего страшного". Я просто хочу, чтобы ты знал правду целиком, а не только самую отвратительную ее часть.</div></div></div>
    <!--- активисты--->
    <div class="acts"><a href="https://mmaleficarum.rusff.me/profile.php?id=399" title="луна"><img src="https://upforme.ru/uploads/001c/3b/dd/351/968258.webp"></a><a href="https://mmaleficarum.rusff.me/profile.php?id=97" title="джон"><img src="https://upforme.ru/uploads/001c/3b/dd/351/817274.jpg"></a><a href="https://mmaleficarum.rusff.me/profile.php?id=79" title="сайлас"><img src="https://upforme.ru/uploads/001c/3b/dd/351/177663.jpg"></a></div>
    
    <!--- противостояние--->
    <div class="dres"><img alt=""></div>
    <div class="de"><div class="de-points"><a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1120" title="сопротивление">2499</a></div></div>
    <div class="res"><div class="res-points"><a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1120" title="пожиратели смерти">1850</a></div></div>
    
    <div class="spirit_nav-wrap">
    <div class="nav_button">навигация</div>
    <div class="nav_block">
      <div class="link">
    <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=5#p5">f.a.q</a>
                   <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=20#p1679">хронология и сюжет</a>
                   <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=21#p1680">градация (касты)</a>
                   <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=310#p38042">ДОМП</a>
                   <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=813#p98614">пожиратели смерти</a>
                   <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=25#p3561">сопротивление</a>
                   <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=814#p98615">колдомедицина и мунго</a>
                   <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=333#p42817">лютный переулок</a>
    </div>
    </div>
    </div>
    
    
    <!-- квесты -->
    <div class="spirit_nav-wrap_quests">
      <div class="nav_button nav_button_quests"><span>квесты</span></div>
      <div class="nav_block nav_block_quests">
        <div class="link link_quests">
    <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=1184#p141960">идёт запись</a> 
            </div>
      </div>
    </div>
    
    
    <!-- конец шапки -->
    
    <script>
    window.CONFIG = {
      allowGroupMultiacc: [1, 4, 8] //
    };
    </script>
    
    
    
    <!-- Запрет редактирования постов в определенных форумах © Alex_63 -->
    <script type="text/javascript">
    /* Запрет редактирования первого поста */
    var FirstPost_NoEdit = {
    //ID форума  //Группы с запретом
      11:    []  //!Последний элемент без запятой
    }
    var DisallowOnlyFirst = 0 ; // Запрет редактирования: 0 - всех постов, 1 - только первых постов
    </script><style id="HideEdit1">.post .pl-edit,#pun-edit #post{display:none!important}</style>
    <script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/81542.js"></script>
    
    
    <!-- Всплывающее окно с информацией ч.1 © sadhaka -->
    <script src="https://forumstatic.ru/files/0011/e9/e1/56920.js" type="text/javascript"></script>
    
    <script type="text/javascript">
        $(document).ready(function() {
            var Nrout = $("#controtator p").length;
            var randomIndex = Math.floor(Math.random() * Nrout);
            
            $("#controtator p").hide();
            $("#controtator p").eq(randomIndex).show();
        });
    </script>

    0

    19

    хтмл-низ

    Код:
    <! -- скрипт навигации от духа --> 
    <script type="text/javascript" src="https://forumstatic.ru/files/0014/d2/5e/54897.js"></script>
    
    <!-- Анти-в-строчку для Сообщений и Репутации © deff -->
    <script type="text/javascript">
    function changeS(sc,ch,st){$(sc).parent().each(function(){$(this).html($(this).html().replace(ch,st));});}
       changeS('.pa-posts','Сообщений:','mess.<br>');
       changeS('.pa-respect','Уважение</a>:','rep.</a><br>');
       changeS('.pa-respect','Уважение:','rep.<br>');
       changeS('.pa-fld2','cash:','cash<br>');
    </script>
    
    
    
    <!-- репутация на лайки -->
    <script type="text/javascript"> 
    var nWRD="rep."; 
    function setRespecNew(){ 
    $(".pa-respect a[href^='/respect.php?']").each(function (){ 
    $(this).html(nWRD);});} 
    function TestRespect(){ 
    if($(".pa-respect:contains('Репутация')").length){setRespecNew();return; 
    }else {timerID = setTimeout("TestRespect()",110);return;} 
    }TestRespect() 
    </script>
    
    <!-- Индикатор активности пользователя © Alex_63, мод. max, the murderer! -->
    <style>
    .indOnline, .indOffline {
      position: absolute;
      display: inline-block;
      margin-bottom: 1px;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      right: 10px;
      top: 26px;
    }
    
    .indOnline {
      background-color: var(--sec-bg);
    }
    
    .indOnline:hover {
      background-color: var(--pun-bg);
    }
    
    .indOffline {
      background-color: var(--body-bg);
    }
    </style>
    <script type="text/javascript">
    $('.post-author:not(.online)').find('.pa-author>a').addClass('offline');
    $('.post-author.online').find('.pa-author>a').addClass('online');
    $('.post').each(function(){
      var lastVisit = $(this).find('.pa-last-visit').text().split('Последний визит:')[1];
      var activeTime = $(this).find('.pa-online').text().split('Активен')[1];
      $(this).find('.pa-author>a.online').after('<span class="indOnline" title="Онлайн '+activeTime+'"></span>');
      $(this).find('.pa-author>a.offline').after('<span class="indOffline" title="Был(а) онлайн '+lastVisit+'"></span>');
    });
    </script>
    
    <! -- скрипт навигации от духа --> 
    <script type="text/javascript" src="https://forumstatic.ru/files/001a/08/74/57494.js"></script>
    
    
    <!--Кнопки вверх вниз-->
    <div class="go-up" id='ToTop'><div class="custom-button"></div>
    </div>
    <div class="go-down" id='OnBottom'><div class="custom-button"></div></div>
    <script type="text/javascript">
     $(function () {
      if ($(window).scrollTop() >= "250") $("#ToTop").fadeIn("slow")
      $(window).scroll(function () {
       if ($(window).scrollTop() <= "250") $("#ToTop").fadeOut("slow")
       else $("#ToTop").fadeIn("slow")
      });
      if ($(window).scrollTop() <= $(document).height() - "999") $("#OnBottom").fadeIn("slow")
      $(window).scroll(function () {
       if ($(window).scrollTop() >= $(document).height() - "999") $("#OnBottom").fadeOut("slow")
       else $("#OnBottom").fadeIn("slow")
      });
      $("#ToTop").click(function () { $("html,body").animate({ scrollTop: 0 }, "slow") })
      $("#OnBottom").click(function () { $("html,body").animate({ scrollTop: $(document).height() }, "slow") })
     });
    </script>
    
    
    
    <!-- ТЕГ абзаца - [indent] © Deff -->
    <style>#button-indent {background:url(http://s7.uploads.ru/t/mnkgq.png)no-repeat center 6px!important;}</style>
    <script type="text/javascript">(function(){ var b = '[indent]';
    $("#button-strike").after('<td id="button-indent" title="Отступы"><img src="/i/blank.gif"  onclick="smile(\''+b+'\')"></td>');
    var indent = '<span style="display:inline-block;margin:1em 2.1em;"></span>'; /*удвоенные Отступы сверху и слево*/
    $('.post-content p:contains("'+b+'")').each(function(){ $(this).html( $(this).html().replace(/\[indent\]/gm,indent));});}());
    </script>
    
    <!-- скрипт всплывающей подсказки © Домовой -->
    <script type="text/javascript" src="https://forumstatic.ru//files/001b/95/a1/53719.js"></script>
    
    <!-- Исключение из "Цитировать" подписи и "отредактировано" © Deff -->
    <script type="text/javascript"> (function(){    var p =[];
      $('.post').find('.pl-quote').click(function(){
        p[0] = $(this).parents('.post').find('.lastedit');
        p[1] = $(this).parents('.post').find('.post-sig');
        p[2] = p[0].html();p[3] = p[1].html();
        p[0].html('');p[1].html('');
        setTimeout(function(){p[0].html(p[2]);p[1].html(p[3])},600);});
    }());
    </script>
    
    <!-- Счётчик символов в форме ответа © Deff + WYSIWYG mod. Alex_63 -->
    <script>(function(){var a,L,epl=$("#main-reply"),epl2=$('#wysi-reply'),str='<small id="plng">Написано символов: <b>00</b></small>';epl.parents("fieldset").find("legend").prepend(str);function epl3(){a=(window.WYSI&&WYSI.isActive()?WYSI.getText():epl.val()).length;if(a>9){L=''}else{L='0'};$("#plng b").text(L+a)};epl3();$(".pl-quote").click(function (){setTimeout(epl3,100)});epl.on('mouseout mousemove keydown keypress keyup focus blur',epl3);$(document).on('WYSI_insert',function(){setTimeout(epl3,0)});epl2.on('mouseout mousemove keyup input focus blur',epl3)})()</script>
    
    <!-- Мгновенный предпросмотр сообщения © Alex_63 -->
    <script type="text/javascript">
    var PPREV = {};
    PPREV.position = 0; //Положение окна Предпросмотра: 0 - над полем ввода, 1 - под полем ввода, 2 - справа
    PPREV.quote_cite = 'написал(а):'; //Надпись в окне цитаты
    </script>
    <script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/10524.js"></script>
    
    <!-- Дополнение: мгновенный предпросмотр в ЛС -->
    <script type="text/javascript">if($('#pun-messages').length){var pprevcont='<fieldset id="post-preview"><legend><span>предпросмотр</span></legend><div class="fs-box"><div class="post-box"><div class="post-content"></div></div></div></fieldset>';if(document.URL.indexOf('&p')!=-1){if(PPREV.position==0 || PPREV.position==2) {$('#post').prepend(pprevcont);}if(PPREV.position==1){$('#post').append(pprevcont);}}else if(document.URL.indexOf('?action=new')!=-1){if(PPREV.position==0 || PPREV.position==2){$('#profile fieldset:first').before(pprevcont);}if(PPREV.position==1){$('#profile fieldset:first').after(pprevcont);}}if($('#post-preview').text().length<1){$('#post-preview').hide();}else{$('#post-preview').show();ParseContent();}var sTim;$('#main-reply:first').live('input',function(){ParseContent();});$('#form-buttons img,div[id$="-area"] *').click(function(){sTim=setTimeout(function(){clearTimeout(sTim);ParseContent();},40);});}</script>
    
    <!-- Дополнение: кнопка отключения мгновенного предпросмотра -->
    <style>#togglePreview{float:right;margin-top:-14px;}</style>
    <script type="text/javascript">(function (){
      var a='предпросмотр on';
      var b='предпросмотр off';
      var d='_PreviewToggle';
      setCookiePPrev=function(a,b,c){if(c){var d=new Date();d.setTime(d.getTime()+c);}if(a && b)document.cookie=a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
      getCookiePPrev=function(a){var b=new RegExp(a+'=([^;]){1,}');var c=b.exec(document.cookie);if(c)c=c[0].split('=');else return false;return c[1] ? c[1] : false;}
      $('<small id="togglePreview"><input type="button" class="button" value="'+ b +'" onclick="togglePreview(this)"/></small>').insertAfter('#post fieldset:last legend');
      var x = ParseContent;
      window.togglePreview = function(sel){//alert(sel.value);
        if(sel.value==a){sel.value=b;setCookiePPrev(d,'0',-1000);ParseContent=x;ParseContent();$('#post-preview').show(); return}
        if(sel.value==b){sel.value=a;setCookiePPrev(d,'OFF',30*3600*24*30*1000);if($('#pun-viewtopic').length){$('#post-preview').hide()}ParseContent=function(){return};return}
      }; if(getCookiePPrev(d)=='OFF'){$('#togglePreview>.button').click()};
    }())
    </script>
    
    <!-- баннеры -->
    <div class="banners"><div class="container">
       <a href="https://imagiart.ru/" target="_blank"> <img src="https://i.imgur.com/poQI688.gif" title="photoshop: Renaissance" border="0" alt="photoshop: Renaissance"></a> 
       <a href="https://mayak.f-rpg.me/?utm_medium=banner88forum"><img src="https://forumstatic.ru/files/001b/ff/2a/15151.gif" title="Маяк. Сообщество ролевиков и дизайнеров" alt="Маяк. Сообщество ролевиков и дизайнеров"></a>  
     <a href="http://worldofgoliath.ru" target="_blank"> <img src="https://forumstatic.ru/files/001c/52/36/97696.gif" title="GOLIATH. WORLDS COLLIDE"></a>
       <a href="https://hpbreakthewall.rusff.me" target=_blank><img src="https://upforme.ru/uploads/001c/6a/ec/5/708844.png" style="max-width:88px;" title="гп, 3 поколение, отмена Статута"></a>
    <a href="https://btwn.rusff.me/" target="_blank"><img src="https://upforme.ru/uploads/001c/74/49/14/354570.png" width="88" height="31"></a>
    <a href="https://hpexile.rusff.me/" target="_blank"><img src="https://forumstatic.ru/files/001c/bf/03/61568.gif" title="HP: Exile. ГП 2 поколение, 1997-1998. Школа и не только. Активная игра"></a>
    <a href="https://thehaze.rusff.me/" target="_blank"><img src='https://upforme.ru/uploads/001b/03/46/4/126303.png' title="городская мистика в эврика-спрингс" /></a>
    <a href="https://faceinless.ru" target=_blank><img src="https://upforme.ru/uploads/001b/dc/dc/130/192899.png" title="TVD: FACELESS"></a></a>
      <a href="https://prophecy.rolbb.me"><IMG alt=" Magic War. Prophecy" src="https://upforme.ru/uploads/001b/e6/91/6/23255.png" border ></a>
       <a href="https://morsmordremortis.rusff.me" target="_blank"> <img src="https://upforme.ru/uploads/001b/b9/c5/99/786898.gif" title="MORSMORDRE: MORTIS REQUIEM" border="0" alt="MORSMORDRE: MORTIS REQUIEM"></a>
       <a href="https://sinistrum.f-rpg.me" target="_blank"><img src="https://forumstatic.ru/files/001b/ea/09/12797.png" alt="sinistrum"></a>
       <a href="https://wolveslife.bbok.ru" target="_blank"><img src="https://forumstatic.ru/files/0001/bf/9c/79365.gif" title="Волки. Инстинкт зовет!"></a> 
    <a href="https://notacross.ru/" target="_blank"> <img src="https://notafiles.ru/nota/ui/02/nota.gif" title="notacross" border="0" alt="notacross"></a> 
       <a href="https://miamiclub.ru" target="_blank"> <img src="https://forumstatic.ru/files/001b/c7/a6/71089.gif" title="MIAMI CLUB" border="0" alt="MIAMI CLUB"></a> 
    <a href='https://supremumvale.rusff.me/' target='_blank' title='перси джексон ♥ мифология'><img src='https://upforme.ru/uploads/001c/86/a4/2/844650.png' border='0' width='88' height='31'></a>
       <a href="https://drinkbutterbeer.rusff.me" target="_blank"><img src="https://forumstatic.ru/files/001a/2e/af/91806.png" title="у нас наливают"></a>
       <a href="https://bostoncrazzy.rusff.me/" target="blank"><img src="https://i.imgur.com/MW1p42w.gif"  title="BOSTON"></a>
       <a href="https://oddinar.rusff.me/" target="_blank"><img src="https://upforme.ru/uploads/001c/38/af/3/919889.png" title="oddinary" border="0" alt="oddinary"></a>
    <a href="https://tempusmagicae.rusff.me/" title="Tempus Magicae" target=_blank><img src="https://upforme.ru/uploads/001c/64/37/6/890694.png"></a>
    <a href="https://obscura.rusff.me/"><img src="https://forumstatic.ru/files/001c/7d/10/19371.png"></a>
    <a href="https://marauderschoice.rusff.me" title="Marauders: Your Choice" target="_blank"><img src="https://forumstatic.ru/files/001c/85/8d/59661.gif"></a>
    <a href="https://separation.rusff.me/" target="_blank"> <img src="https://i.imgur.com/54H0VBr.png" title="separation: hp, 3d generation"></a>
    <a href="https://fflops.ru/" target="_blank"> <img src="https://upforme.ru/uploads/001c/8b/a8/346/640702.gif" title="FLIP FLOPS" border="0" alt="FLIP FLOPS"></a>
    <a href="https://cursedhallows.rusff.me" target="_blank" title="cursed hallows"><img src="https://forumstatic.ru/files/001c/9c/5d/64010.jpg" border="0" width="88" height="31"></a>
    <a href="https://dragonfall.ru/" target="_blank"><img src="https://forumstatic.ru/files/001c/af/b5/52238.jpg" title="антуражное фэнтези" width="88" height="31"></a>
    <a href="https://veilfire.rusff.me/" target="_blank"> <img src="https://upforme.ru/uploads/001c/ad/71/2/944219.png" title="VEILFIRE" border="0" alt="VEILFIRE"></a>
    <a href="https://imperiofatum.f-rpg.me/" target="_blank"><img src="https://forumstatic.ru/files/001c/9d/fc/89966.png" title="Imperio Fatum//мародеры, 1980, dark au" /></a>
    <a href="https://regnumreversum.rusff.me" target="_blank"><img src="https://forumstatic.ru/files/001c/b6/64/35945.webp" width="88" height="31"></a>
    <a href="https://tenebria.ru/" target=_blank> <img src="https://upforme.ru/uploads/001c/77/b6/18/790340.gif" border="0" alt="Tenebria. Legacy of Ashes " width="88" height="31"/></a>
    <a href="https://safespace.rusff.me"><img src="https://forumstatic.ru/files/001c/83/e0/56607.jpg"title="Marauders: safe space. ГП 1 поколение, магия крови, 21+"></a>
    <a href="https://lilymists.rusff.me" target="_blank"><img src="https://upforme.ru/uploads/001c/ba/0d/2/548957.png" width="88px" height="31px"></a>
    <a href="https://arc.f-rpg.me/"><img src="https://upforme.ru/uploads/0015/28/00/2/633348.gif" title=" Avatar: Republic City"></a>
    </div></div>
    
       <!--Переключение регистра выделенного текста -->
       <style>#button-ChangeCase{background:url(https://forumstatic.ru/files/0013/44/56/93417.png);background-size:16px auto;}</style>
       <script type="text/javascript">(function(){var S='<img src="http://forum.mybb.ru/i/blank.gif" title="Смена регистра" \
       onclick="bbcode(\'[Upper-Lower]\',\'[/Upper-Lower]\');UpperLower();"/>';
       $("#button-font").after('<td id=button-ChangeCase>'+S+'</td>');var ChangeСase='upper';
       UpperLower=function (){if(ChangeСase=='upper'){ChangeСase='lower'}else{ChangeСase='upper'};
       function transF(p){if(ChangeСase=='upper')return p.toLowerCase();else ;return p.toUpperCase();}
       var L=$('#main-reply').val();L=L.replace(/\[Upper-Lower\]([\s\S]*)\[\/Upper-Lower\]/mg,
       function(a,b,c){return transF(b);});$('#main-reply').val(L);}}());
       </script>
    
    <!--смена имиджа-->
    <script src="https://forumstatic.ru/files/0017/95/29/89289.js"></script>
    <script>
    hvScriptSet.addMask({
        guestAccess: ['— современная история магии', '— частные хроники', '— оракул снов', '— архив подшивок "Пророка"', '— омут памяти', '— Паб "Три метлы"', '— всевозможные волшебные вредилки', '— выручай-комната', '— комната времени', '— зал несбывшихся пророчеств', '— картотека отдела тайн'],
        forumAccessExtended: {
            '— современная история магии': ['our babies', 'newcomers'],
            '— частные хроники': ['our babies', 'newcomers'],
            '— оракул снов': ['our babies', 'newcomers'],
            '— архив подшивок "Пророка"': ['our babies', 'newcomers'],
            '— омут памяти': ['our babies', 'newcomers'],
            '— Паб "Три метлы"': ['our babies', 'newcomers'],
            '— всевозможные волшебные вредилки': ['our babies', 'newcomers'],
            '— выручай-комната': ['our babies', 'newcomers'],
            '— комната времени': ['our babies', 'newcomers'],
            '— зал несбывшихся пророчеств': ['our babies', 'newcomers'],
            '— картотека отдела тайн': ['our babies', 'newcomers']
        },
        changeList: {
            'pafld2': {
                title: 'lz',
                description: '',
                tag: 'ank',
                class: 'pa-fld2',
                defaultCode: '<div class="lz"> <div class="lz-name"><a href="ссылка на анкету">имя фамилия, возраст цифрой</a></div> <div class="lz-about">свободное описание с указанием <a href="ССЫЛКА НА ПАРУ">пары</a>, ну если есть.</div><div class="lz-caste">pure-blood / half-blood / muggle-blood / outlaw / part-human (оставить нужное)</div></div>', 
                type: 'html'
            }
        },
        userFields: ['pa-author', 'pa-title', 'pa-avatar', 'pa-fld1', 'pa-fld2', 'pa-fld5', 'pa-fld6', 'pa-posts', 'pa-respect', 'pa-fld3', 'pa-fld4', 'pa-online']
    });
    </script>
    
          <!-- запятая после ника -->
       <script type="text/javascript">
       function to(username)
       {insert('[b]' + username + '[/b]' + ', ');}
       </script>
       <!--конец-->
    
    
    <!--Отключить функцию "Поделиться"-->
       <script type="text/javascript">
       RusffCore.sets.share = false;
       </script>
    
       
       <!-- Кликабельность ника в постах Гостя -->
       <script>$(".post[data-group-id=3]").find(".pa-author").html(function(){return this.innerHTML.replace(/(<.+>)(.+)$/,'$1<a href="javascript:to(\'$2\')">$2</a>')});</script>
       <!-- Конец -->
    
    <!-- Аватар по умолчанию / Deff, Alex_63 -->
    <script type="text/javascript">
    var DefAvtr = 'https://forumstatic.ru/files/0014/d2/5e/30793.png'; //Ссылка на аватар по умолчанию
    var GuestAvtr = 'https://forumstatic.ru/files/0014/d2/5e/30793.png'; //Ссылка на аватар для Гостя
    
    $('#pun-viewtopic,#pun-messages').find('.pa-title').each(function(){
      var b = DefAvtr;if($(this).text()=='Гость'){b = GuestAvtr;}
      var s='<li class="pa-avatar item2"><img class="defavtr" src="'+b+'" alt="Аватар"/></li>';
      if($(this).parent().find('.pa-avatar').html()==null)$(this).after(s);
    });$('#profile-left strong:contains("Нет аватара")')
    .parent().html('<div><img src="'+DefAvtr+'"/></div>');
    </script>
    
    <script type="text/javascript">
    $('div.post-author ul').find('li[class^="pa-fld4"]').map(function(){ 
    var Dop=$(this).html();
    if(Dop=='undefined'||Dop==null){return false;};
    var Virez=Dop.slice(Dop.indexOf(":")+1);
    $(this).html(Virez);
    });
    </script>
    
    <script type="text/javascript">
    $('div.post-author ul').find('li[class^="pa-fld2"]').map(function(){ 
    var Dop=$(this).html();
    if(Dop=='undefined'||Dop==null){return false;};
    var Virez=Dop.slice(Dop.indexOf(":")+1);
    $(this).html(Virez);
    });
    </script>
    
    
    
    
    
    
    <script>
    <!--
    greet="Приветствуем, "
    str = document.getElementById("pun-status").innerHTML
    pos = str.indexOf("Привет")
    document.getElementById("pun-status").innerHTML=str.substring(0,pos)+greet+str.substring(pos+8,str.length-1) 
    
    visit="Ты прибыл: "
    str = document.getElementById("pun-status").innerHTML
    if( (pos=str.indexOf("Ваш последний визит")) != -1 )
       document.getElementById("pun-status").innerHTML=str.substring(0,pos)+visit+str.substring(pos+21,str.length-1)
    -->
    </script>
    
    
    <script><!--Универсальный скрипт замены. -->
      function UniverСhange(selektor,changed,substitute){
      $(selektor).each(function(){if ($(this).parent().html()!=null){if($(this).parent().html().indexOf(changed)!=-1){
      $(this).parent().html($(this).parent().html().replace(changed,substitute));};};});}
    
        UniverСhange("li#navindex","Форум","forum");
        UniverСhange("li#navuserlist","Участники","people");
        UniverСhange("li#navsearch","Поиск","search");
        UniverСhange("li#navprofile","Профиль","profile");
        UniverСhange("li#navpm","Сообщения","messages");
        UniverСhange("li#navadmin","Администрирование","admins");
        UniverСhange("li#navlogout","Выход","logout");
        UniverСhange("li#navlogin","Войти","login");
        UniverСhange("li#navregister","Регистрация","registration");
    
    </script>
    
    
    <!--// Разделение ников пользователей в теме запятой © Alex_63 //-->
    <script>$('#topic-users-in a').prev('a').after(',');</script>
    
    
    
    <!--// Введение новых тегов //-->
     <script>
        function addMod(str,from,internal){
        var pos=0,pos2=0,newpos=0
        if((pos=str.indexOf("[mod]",from))==-1) return str;
        if((pos2=str.indexOf("[/mod]"),pos+5)==-1) return str;
        newpos=str.indexOf("[mod]",pos+5)
        if(newpos<pos2 && newpos!=-1) str=addMod(str,pos+5,true)
        if((pos2=str.indexOf("[/mod]",pos+5))==-1) return str;
        str=str.substring(0,pos)+makeMod(str.substring(pos+5,pos2))+str.substring(pos2+6,str.length)
        if( str.indexOf("[mod]")!=-1 && internal==false) str=addMod(str,0,false)
        return str}
         
        function makeMod(txt){
        txt="<div id=\"form-post\">"+txt+"</div>"
        return txt}
         
         
        if(document.URL.indexOf("viewtopic.php")!=-1){
        elm=document.getElementById("pun-main").getElementsByTagName("div")
        for(x in elm) if(elm[x].className=="post-content"){
        var post=elm[x]
        post.innerHTML=addMod(post.innerHTML,0,false)}}
        </script>
    
        <script>
        function addEx(str,from,internal){
        var pos=0,pos2=0,newpos=0
        if((pos=str.indexOf("[ex]",from))==-1) return str;
        if((pos2=str.indexOf("[/ex]"),pos+4)==-1) return str;
        newpos=str.indexOf("[ex]",pos+4)
        if(newpos<pos2 && newpos!=-1) str=addEx(str,pos+4,true)
        if((pos2=str.indexOf("[/ex]",pos+4))==-1) return str;
        str=str.substring(0,pos)+makeEx(str.substring(pos+4,pos2))+str.substring(pos2+5,str.length)
        if( str.indexOf("[ex]")!=-1 && internal==false) str=addEx(str,0,false)
        return str}
         
        function makeEx(txt){
        txt="<div id=\"form-box\">"+txt+"</div>"
        return txt}
         
         
        if(document.URL.indexOf("viewtopic.php")!=-1){
        elm=document.getElementById("pun-main").getElementsByTagName("div")
        for(x in elm) if(elm[x].className=="post-content"){
        var post=elm[x]
        post.innerHTML=addEx(post.innerHTML,0,false)}}
        </script>
    
    
    <!--Вставка картинки как раньше -->
    <script>
    var oldIMG="<td id=\"button-image\" title=\"Быстрая вставка картинки\"><img onclick=\"bbcode('[img]','[/img]')\" src=\"/i/blank.gif\"/><b><p style=\"z-index:20;position:absolute;height14px;margin:-15px 0 0 22px;\">2</p></b></td>"
    $("#button-image").after(oldIMG);
    </script>
    
    
    <!--Отключение кнопки Жалоба в сообщениях -->
    <script type="text/javascript">
    RusffCore.sets.show_reportBtn = 0;
    </script>
    <!--Отключить функцию "Поделиться" -->
    <script type="text/javascript">
    RusffCore.sets.share = false;
    </script>
    <!--Отключить функцию "Это интересно" -->
    <script type="text/javascript">
    rusffLive.enable = false;
    </script>
    
    
    <!--ФОРМА ОТВЕТА ВЫРАВНИВАНИЕ ТЕКСТА ПО ШИРИНЕ-->
    <style>
    #button-mybb {background-image:url('http://icons.iconarchive.com/icons/famfamfam/silk/16/text-align-justify-icon.png'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%}
    </style>
    <script type="text/javascript">
    if(form=document.getElementById("form-buttons"))
    form.getElementsByTagName("tr")[0].insertCell(8).innerHTML="<img src='/i/blank.gif' id='button-mybb' onclick=\"bbcode('[align=justify]', '[/align]');\"/>"
    </script>
    
    
    <script type="text/javascript">
    function show_new() { if(GroupID == 3) return;
    $('#pun-ulinks ul').prepend('<li class="item1"><a href="/search.php?action=show_new">Новые сообщения</a></li>');} show_new();
    </script>
    
    
    
    <!-- СОКРЫТИЕ МОДЕРАТОРОВ 
    <style>
    .intd .tclcon .modlist{
    display: none;
    }
    </style> -->
    
    <!-- Регулировка размера шрифта в постах © Alex_63 -->
    <style>
    .FNTslider {
        border-radius: 10px;
        position: relative;
        z-index: 1000;
        background: var(--pun-bg);
        width: 110px;
        height: 5px;
        margin: 3px 5px;
        border: solid 0px;
        float: right;
        margin-top: 4px;
        margin-right: 7%;
    }
    
    .FNTslider .before  {
        height: 6px;
        border: solid 1px var(--icon-old);
        border-right: none 0;
        border-radius: 10px 0px 0px 10px;
        position: absolute;
        background: var(--link);
        margin-top: -1px;
    }
    
    .FNTslider .thumb {
        width: 10px;
        height: 10px;
        border: 1px solid var(--pun-bg);
        border-radius: 10px;
        position: relative;
        top: -4px;
        background: var(--link-hover);
        cursor: pointer;
    }
    </style>
    <script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/31001.js"></script>
    <!-- Конец -->
    
    
    
    
    
    <!-- Правка глюка Репы при  отсутствии скриптов  руссфф  v2-->
    <script> if($('#pun-viewtopic').length)$(window).load(function () {
    if(!$('#pun-reputation').length)FORUM.PartnerVote = function() { return true; };
    });
    </script>
    
    <!-- шрифты от бланш-->
    <script type="text/javascript"> 
    if ($('#pun-viewtopic,#pun-post,#pun-edit,#pun-poll,#pun-messages').length) {
    var ft; var i; var ft_f; var j = ""; 
    ft = document.getElementById("font-area"); 
    var ft_f = new Array(); 
    ft_f.push(''); ft_f.push(''); ft_f.push(''); ft_f.push(''); 
    ft_f.push('— л а т и н и ц а —');
    ft_f.push(''); ft_f.push(''); ft_f.push(''); ft_f.push(''); ft_f.push(''); ft_f.push(''); ft_f.push(''); 
    ft_f.push('Abril Fatface'); 
    ft_f.push('Agoka Family'); 
    ft_f.push('Allegate'); 
    ft_f.push('Amanda'); 
    ft_f.push('Angelic Bonques'); 
    ft_f.push('Antifont'); 
    ft_f.push('Antosan'); 
    ft_f.push('Argue'); 
    ft_f.push('Ariel Script'); 
    ft_f.push('Arthead'); 
    ft_f.push('Avriella'); 
    ft_f.push('Baskerville Old Face'); 
    ft_f.push('Baysoir'); 
    ft_f.push('Baysoir Sans'); 
    ft_f.push('Beatrix Signature'); 
    ft_f.push('Bigilla'); 
    ft_f.push('Bitter Mind'); 
    ft_f.push('Birch'); 
    ft_f.push('Bleinheim Signature'); 
    ft_f.push('Bloc Kursiv'); 
    ft_f.push('Bodonian Script'); 
    ft_f.push('Botaky'); 
    ft_f.push('Breital'); 
    ft_f.push('Brilliant Signature'); 
    ft_f.push('Brioche');
    ft_f.push('Broadway'); 
    ft_f.push('Brooke Smith Script'); 
    ft_f.push('Bw Vivant'); 
    ft_f.push('Caities'); 
    ft_f.push('Caledo'); 
    ft_f.push('Californian'); 
    ft_f.push('Cantique'); 
    ft_f.push('Chequers'); 
    ft_f.push('Clovvo'); 
    ft_f.push('Coastine Font'); 
    ft_f.push('Crystal Vibes'); 
    ft_f.push('Cyrano'); 
    ft_f.push('Elegant Dragon'); 
    ft_f.push('Enough'); 
    ft_f.push('Erotique Alternate'); 
    ft_f.push('Fashionable'); 
    ft_f.push('Finches'); 
    ft_f.push('Fright Night'); 
    ft_f.push('Gravity'); 
    ft_f.push('Hello Paris');
    ft_f.push('Hello Paris Script'); 
    ft_f.push('Hermes'); 
    ft_f.push('Hullist'); 
    ft_f.push('Katulamp'); 
    ft_f.push('Laginchy'); 
    ft_f.push('Liquido'); 
    ft_f.push('Madegra'); 
    ft_f.push('Masquerouge'); 
    ft_f.push('Old English'); 
    ft_f.push('Parchment'); 
    ft_f.push('Peter Jhons'); 
    ft_f.push('Pink Script'); 
    ft_f.push('Pistilli'); 
    ft_f.push('Prestige Signature'); 
    ft_f.push('Quake Love'); 
    ft_f.push('Recorda Script'); 
    ft_f.push('Renith'); 
    ft_f.push('Rhesmanisa'); 
    ft_f.push('Rise'); 
    ft_f.push('Rosgart'); 
    ft_f.push('Rotherland'); 
    ft_f.push('Sage'); 
    ft_f.push('Sail'); 
    ft_f.push('Salty Feathers'); 
    ft_f.push('Salve Script'); 
    ft_f.push('Saonara'); 
    ft_f.push('Shutter Stone'); 
    ft_f.push('Signerica');  
    ft_f.push('Smooth Stone');  
    ft_f.push('Soothing');  
    ft_f.push('Specials');  
    ft_f.push('Stay Classy');  
    ft_f.push('Swash Line');  
    ft_f.push('Tamira');  
    ft_f.push('The Monse');  
    ft_f.push('Tiffany Script');  
    ft_f.push('Valkyrie');  
    ft_f.push('Vanity');  
    ft_f.push('Verona Lotte');  
    ft_f.push('Wata');  
    ft_f.push('Port Vintage');
    ft_f.push('PortVintage');
    ft_f.push('Valky');
    ft_f.push(''); ft_f.push(''); ft_f.push(''); ft_f.push('');
    ft_f.push('— к и р и л л и ц а —');
    ft_f.push(''); ft_f.push(''); ft_f.push(''); ft_f.push(''); ft_f.push('');  ft_f.push(''); ft_f.push('');
    ft_f.push('Alegreya Sans SC'); 
    ft_f.push('Alter Biom');   
    ft_f.push('Baron Neue'); 
    ft_f.push('Basis'); 
    ft_f.push('Borntod'); 
    ft_f.push('Bradobrei'); 
    ft_f.push('Calama'); 
    ft_f.push('Calypso'); 
    ft_f.push('Cheque'); 
    ft_f.push('Code Pro'); 
    ft_f.push('Cyrillic Goth');
    ft_f.push('Cuprum');
    ft_f.push('Curator');
    ft_f.push('Dita Sweet');
    ft_f.push('Doppelganger'); 
    ft_f.push('Galatea Gothic');
    ft_f.push('Gunny Rewritten');
    ft_f.push('Helvetica Neue'); 
    ft_f.push('Journalism');
    ft_f.push('Lighthaus'); 
    ft_f.push('Mak Light'); 
    ft_f.push('Shlapak Script'); 
    ft_f.push('The Artist Script'); 
    ft_f.push('Yeseva One'); 
    for (i in ft_f) { 
    j = "<div><span style='font-family:" + ft_f[i] + ";'>" + ft_f[i] + "</span><img src='/i/blank.gif' onclick=\"bbcode('["; 
    j += "font=" + ft_f[i]; 
    j += "]','[/font]')\" /></div>"; 
    ft.innerHTML += j; 
    }} 
    </script>
    
    <!-- Восстановление последнего поста при утере by Человек-Шаман -->
    <script>
    $(document).ready(function() {
      $('#addition-area').append(function() {
        return $('<div>Восстановить последний пост</div>').click(restoreLastPost);
      });
      function restoreLastPost() {
        $('#main-reply').val(localStorage.ReservePost);
      };
    });
    </script>
    <!--конец-->
    
    
    
    <!-- КНОПКА ПИАРА -->
    <script type="text/javascript">
        PiarNik="postman"; 
        PiarPas="1111";
        var L="<div id=\"PR_loginDiv\" style=\"display:none;\">\
        <form id=\"form_login\" name=\"login\" method=\"post\" action=\"login.php?action=in\" onsubmit=\"return check_form()\">\
        <fieldset>\
        <input type=\"hidden\" name=\"form_sent\" value=\"1\"/>\
        <input type=\"text\" id=\"fld1\" name=\"req_username\" size=\"21\" maxlength=\"25\"/>\
        <input type=\"text\" id=\"fld2\" name=\"req_password\" size=\"7\" maxlength=\"16\"/>\
        <input type=\"submit\" class=\"button\" name=\"login\"/>\
        </fieldset>\
        </form>\
        </div>\
        <li id=\"navpiar\"><a onclick=\"PiarIn()\"><span style=\"cursor:pointer\">   PR-Master</span></a></li>";
        if($("#navlogin").html()!=null){
        $("#navlogin").append(L); //navlogin
        function PiarIn () { $("#PR_loginDiv #fld1").val(PiarNik);$("#PR_loginDiv #fld2").val(PiarPas);$("#PR_loginDiv input[type='submit']").click();}
        }
        </script>
    
    <div class="container"><script type="text/javascript">
    var nWRD="<b>rsp</b>";
    function setRespecNew(){
    $(".post .pa-respect a[href^='/respect.php?']").each(function (){
     $(this).html(nWRD);});}
    function TestRespect(){
    if($(".post .pa-respect:contains('Репутация')").length){setRespecNew();return;
    }else {timerID = setTimeout("TestRespect()",110);return;}
    }TestRespect()
    </script>
    
    
    <script type="text/javascript">
    li=document.getElementsByTagName("li")
    f=0
    while(li[++f]){
    s=li[f].innerHTML
    if((p=s.indexOf("Сообщений")) != -1) li[f].innerHTML=s.substring(0,p)+"msg"+s.substring(p+9)}
    </script>
    
      <!-- Dice Roller BEGIN (c) Spiritus Tergi, ч2 в хтмл-низ -->
       <template id="dice-box-template">
       <div class="dice-box">
           <p>
           <span class="roll-dice"></span>
           <span class="roll-value"></span>
           </p>
           <p class="roll-reason"></p>
           <p class="roll-result"></p>
       </div>
       </template>
       
       <script src="//cdnjs.cloudflare.com/ajax/libs/seedrandom/2.4.4/seedrandom.min.js"></script>
       <script>
           diceResults = [
       ]
    
       isTagged = (document.querySelector('#pun').innerHTML.indexOf('[dice]') >= 0)
       
       if (isTagged) {
           diceRoller = new DiceRoller(diceResults)
           diceRoller.initDiceBoxes()
       }
       </script>
       <!-- Dice Roller END -->
       
       
       <!-- Dice Roller Form BEGIN -->
       <form id="dice-form" class="hidden" autocomplete="off">
       <div>
           <label><span>#Кубиков</span> <input type="text" name="count" maxlength="3" value="1"></label>
           <label><span>#Граней</span>    <input type="text" name="sides" maxlength="3" value="100"></label>
           <label><span>Бонус</span>    <input type="text" name="bonus" maxlength="3" value="0"></label>
       </div>
       <div>
           <label><span>Действие</span>    <textarea name="reason" cols="10" rows="5"></textarea></label>
       </div>
       <button type="submit">Вставить</button>
       </form>
       
       <script>
       replyForm = document.getElementById('post')
       diceForm = document.getElementById('dice-form')
       diceButtonString = '<td id="button-dice" title="Форма Кубиков" class="hidden"><img src="/i/blank.gif"></td>'
       
       function handleDiceFormSubmit(event) {
           event.preventDefault()
           let tagArguments = []
       
           for(let control of event.target.elements)
           if (control.tagName != 'BUTTON')
               tagArguments.push(control.name + ' = ' + control.value)
       
           replyForm['main-reply'].value += '\n[dice]' + tagArguments.join(' | ') + '[/dice]'
       }
       
       function handleDiceButtonClick(event) {
           diceForm.classList.toggle('hidden')
       }
       
       if (replyForm != null) {
           replyForm.querySelector('.fs-box.hashelp').insertAdjacentElement('beforeend', diceForm)
           diceForm.addEventListener('submit', handleDiceFormSubmit)
       
           let row = replyForm.querySelector('#form-buttons tr')
           row.innerHTML += diceButtonString
       
           let diceButton = document.getElementById('button-dice')
           diceButton.classList.remove('hidden')
           diceButton.addEventListener('click', handleDiceButtonClick)
       }
       </script>
       <!-- Dice Roller Form END --></div>
       
       <!-- Снять автоматическую галочку удаления всех сообщений © Duka -->
    <script type="text/javascript">
    if (document.getElementById('pun-deleteuser')) {
        document.querySelector('input[name=delete_posts]').checked = false;
    }
    </script>
    
    <!-- Ссылка на авторский пост в цитате // v.3 © Alex_63, мод. max, the murderer! -->
    <script type="text/javascript">
    $('.quote-box>cite:contains("#")').each(function() {
      var cntq = $(this).text(), pid = cntq.split(',')[0], lnkq = '<a class="qc-post-link" href="';
      if($('.post'+pid).length){$(this).html(lnkq+pid+'">'+cntq.match(/([^,]*),(.*)/)[2]+'</a>');}
      else{$(this).html(lnkq+'/viewtopic.php?pid='+pid.split('#p')[1]+pid+'">'+cntq.match(/([^,]*),(.*)/)[2]+'</a>');}
    });$('#pun-viewtopic .pl-quote>a').each(function() {
      $(this).attr('href',$(this).attr('href').replace('(\'','(\'#'+$(this).parents('.post').attr('id')+','));
    });
    </script>
    
    <script>
    document.addEventListener("DOMContentLoaded", () => {
      document.querySelectorAll('.seal-avatar').forEach(avatar => {
        avatar.addEventListener('mouseenter', () => {
          avatar.src = avatar.dataset.gif;
        });
        avatar.addEventListener('mouseleave', () => {
          avatar.src = avatar.dataset.static;
        });
      });
    });
    </script>
    
    <!----- кнопка "игровые посты", legume  ----->
    <script>
    (function () {
      if (!location.pathname.includes("profile.php")) return;
    
      // === ID игровых разделов ===
      const GAME_FORUMS = [14, 12, 13, 17, 23, 21]; // <-- замени на свои айди игровых форумов
    
      const postsBlock = document.querySelector("#pa-posts strong");
      if (!postsBlock) return;
    
      const nameEl = document.querySelector("#profile-name strong");
      const username = (nameEl?.textContent || "").trim();
      if (!username) return;
    
      const searchUrl =
        `/search.php?action=search`
        + `&keywords=`
        + `&author=${encodeURIComponent(username)}`
        + `&forums=${encodeURIComponent(GAME_FORUMS.join(","))}`
        + `&search_in=posts`
        + `&sort_by=0`
        + `&sort_dir=DESC`
        + `&show_as=posts`;
    
      const separator = document.createTextNode(" | ");
      const link = document.createElement("a");
      link.href = searchUrl;
      link.textContent = "Игровые посты";
      link.id = "user-game-posts";
    
      postsBlock.appendChild(separator);
      postsBlock.appendChild(link);
    })();
    </script>
    
    <!--- input to textarea by legume © 2026 ----------------------------->
    <script>
    (function () {
      const url = new URL(window.location.href);
    
      if (
        !url.pathname.endsWith('/profile.php') ||
        url.searchParams.get('section') !== 'fields'
      ) {
        return;
      }
    
      // список нужных полей
      const fieldIds = ['fld2', 'fld4', 'fld1', 'fld5'];
    
      fieldIds.forEach(id => {
        const input = document.getElementById(id);
        if (!input) return;
    
        const textarea = document.createElement('textarea');
    
        textarea.id = input.id;
        textarea.name = input.name;
        textarea.value = input.value;
        textarea.className = input.className;
        textarea.maxLength = input.maxLength || 999;
    
        textarea.rows = 4;
        textarea.style.width = '100%';
        textarea.style.resize = 'vertical';
        textarea.style.fontFamily = 'inherit';
    
        input.parentNode.replaceChild(textarea, input);
      });
    })();
    </script>
    
    <!----- пермалинк, амбассадор кринжа ----->
    <script type="text/javascript" src="https://forumstatic.ru/files/0015/e5/b7/10126.js?v=10"></script>
    
    <!-- Всплывающее окно с информацией ч.2 © sadhaka -->
    <div id="character" class="reveal-modal xlarge main container">
    <div class='modal_wrap'></div>
    <a class="close-reveal-modal">×</a>
    </div>
    
    <script type="text/javascript">
    function showTab(elem){
        $(".menu span").removeClass("tabactive");
        $(elem).addClass("tabactive");
        $("div.submenutext").hide();
        var activeDiv = $(elem).attr("alt");
        $("div."+activeDiv).fadeIn();
        return false;
    }
    $(".modal-link").click(function() {
            var modId = $(this).attr('id');
    $('.modal_wrap').html('');
    $.get('pages/'+modId, function (data){
        $('.modal_wrap').html($(data).find('.character').html());
    });
    $(".submenutext").hide();
    $(".submenutext:first").show();
    });
    </script>
    
    <!------------- Обтекание изображения 2.4.4 © Romych, мод. max, the murderer! ------------->
    <div id="float"><strong>Направление обтекания</strong><span class="vibor" title="Слева" onclick="bbcode('[float=left]', '[/float]')"><i class="fa-solid fa-indent"></i></span><span class="vibor" title="Справа" onclick="bbcode('[float=right]', '[/float]')"><i style="transform: scaleX(-1)" class="fa-solid fa-indent"></i></span></div>
    <script language="javascript">
    $(function(){
    $('td#button-link').before('<td id="button-float" title="Обтекание"><i class="fa-solid fa-indent"></i></td>');
    $('#button-float, .vibor').click(function(){
    $('div#float').toggle();});
      });
    elm=document.getElementsByTagName("div")
    for(x in elm) if(elm[x].className=="post-content") 
    {
    post = elm[x].innerHTML;
    if(post.indexOf("[/float]") != -1) {
    floats = /\[float=(.*?)\]([^\[]{1,11000})\[\/float\]/gi
    elm[x].innerHTML = elm[x].innerHTML.replace(floats, "<span style='float: $1; margin: 15px; text-align: $1;'>$2</span>")
    }};
    $('#float').insertBefore('#button-link');
    </script>
    
    <script type="text/javascript">
    $(document).ready(function(){
        // Назначаем классы категориям по их названиям
        var categories = {
            "admins are fabulous": "cat-admins",
            "I climbed to the sun and fell in a concrete jungl": "cat-sun",
            "wash me of my sins": "cat-sins",
            "and in the darkness, hearts aglow": "cat-darkness",
            "WASHED OUT DAYS": "cat-washed",
            "I gave my blood, sweat, and tears for this": "cat-blood",
            "We're running out of reasons": "cat-reasons"
        };
        
        for(var name in categories) {
            $("#pun-index .category h2 span").filter(function() {
                return $(this).text().trim() == name;
            }).each(function() {
                $(this).closest('.category').addClass(categories[name]);
            });
        }
    });
    </script>

    0

    20

    хтмл-низ тестовый

    Код:
    <!-- Шаблоны для доп. полей © max, the murderer! и ChatGPT --><script>
    (function () {
    
      const url = new URL(window.location.href);
    
      if (
        !url.pathname.endsWith('/profile.php') ||
        url.searchParams.get('section') !== 'fields'
      ) return;
    
      const fieldIds = ['fld1', 'fld2', 'fld4', 'fld5'];
    
      // =========================================================
      // 1. INPUT → TEXTAREA
      // =========================================================
      fieldIds.forEach(id => {
        const input = document.getElementById(id);
        if (!input) return;
    
        if (input.tagName.toLowerCase() === 'textarea') return;
    
        const textarea = document.createElement('textarea');
    
        textarea.id = input.id;
        textarea.name = input.name;
        textarea.value = input.value;
        textarea.className = input.className;
        textarea.maxLength = input.maxLength || 999;
    
        textarea.rows = 4;
        textarea.style.width = '100%';
        textarea.style.resize = 'vertical';
        textarea.style.fontFamily = 'inherit';
    
        input.parentNode.replaceChild(textarea, input);
      });
    
      // =========================================================
      // 2. ШАБЛОНЫ
      // =========================================================
      function addTemplates(fld, templates) {
        const field = document.querySelector('[name="form[fld' + fld + ']"]');
        if (!field) return;
    
        const box = field.closest('.fs-box');
        if (!box) return;
    
        let wrap = box.querySelector('.infofield.buttons');
        if (!wrap) {
          wrap = document.createElement('p');
          wrap.className = 'infofield.buttons';
          box.appendChild(wrap);
        }
    
        templates.forEach(tpl => {
          const btn = document.createElement('input');
          btn.type = 'button';
          btn.className = 'button fldTemplateCopy';
          btn.value = tpl.name;
          btn.dataset.template = tpl.template;
          btn.dataset.target = 'fld' + fld;
    
          btn.style.cursor = 'pointer';
          btn.style.marginRight = '8px';
    
          wrap.appendChild(btn);
        });
      }
    
      // =========================================================
      // 3. LZ ГЕНЕРАТОР
      // =========================================================
      function addLzGenerator() {
        const field = document.querySelector('[name="form[fld2]"]');
        if (!field) return;
    
        const box = field.closest('.fs-box');
        if (!box) return;
    
        let wrap = box.querySelector('.infofield.buttons');
        if (!wrap) {
          wrap = document.createElement('p');
          wrap.className = 'infofield.buttons';
          box.appendChild(wrap);
        }
    
        const gen = document.createElement('div');
        gen.style.display = 'flex';
        gen.style.flexDirection = 'column';
        gen.style.gap = '6px';
        gen.style.marginBottom = '10px';
    
        const name = document.createElement('input');
        name.placeholder = 'имя фамилия, возраст';
        name.className = 'gen-input gen-lz-name';
    
        const link = document.createElement('input');
        link.placeholder = 'ссылка на анкету';
        link.className = 'gen-input gen-lz-link';
    
        const desc = document.createElement('textarea');
        desc.placeholder = 'описание';
        desc.className = 'gen-textarea gen-lz-desc';
    
        const caste = document.createElement('select');
        caste.className = 'gen-select gen-lz-caste';
    
        ['pure-blood','half-blood','muggle-blood','outlaw','part-human']
          .forEach(v => {
            const o = document.createElement('option');
            o.value = v;
            o.textContent = v;
            if (v === 'pure-blood') {
              o.selected = true; // pure-blood выбран по умолчанию
            }
            caste.appendChild(o);
          });
    
        const status = document.createElement('div');
        status.style.fontSize = '11px';
        status.style.color = 'var(--textcolor)';
        status.style.opacity = '0.5';
        status.style.marginTop = '4px';
        status.textContent = 'каста';
    
        gen.append(name, link, desc, caste, status);
        wrap.prepend(gen);
    
        function getLzField() {
          return document.getElementById('fld2');
        }
    
        function updateLzName() {
          const lzField = getLzField();
          if (!lzField || !lzField.value) return;
          let newName = name.value.trim();
          if (newName === '') newName = '-';
          lzField.value = lzField.value.replace(
            /(<a href="[^"]*">)([^<]*)(<\/a>)/,
            '$1' + newName + '$3'
          );
        }
    
        function updateLzLink() {
          const lzField = getLzField();
          if (!lzField || !lzField.value) return;
          let newLink = link.value.trim();
          if (newLink === '') newLink = '#';
          lzField.value = lzField.value.replace(
            /(<a href=")([^"]*)(">)/,
            '$1' + newLink + '$3'
          );
        }
    
        function updateLzDesc() {
          const lzField = getLzField();
          if (!lzField || !lzField.value) return;
          let newDesc = desc.value;
          if (newDesc === '') newDesc = '-';
          lzField.value = lzField.value.replace(
            /(<div class="lz-about">)([\s\S]*?)(<\/div>)/,
            '$1' + newDesc + '$3'
          );
        }
    
        function updateLzCaste() {
          const lzField = getLzField();
          if (!lzField || !lzField.value) return;
          let newCaste = caste.value;
          if (newCaste === '') newCaste = '-';
          lzField.value = lzField.value.replace(
            /(<div class="lz-caste">)([^<]*)(<\/div>)/,
            '$1' + newCaste + '$3'
          );
        }
    
        function ensureLzStructure() {
          const lzField = getLzField();
          if (!lzField) return;
          if (!lzField.value || !lzField.value.includes('class="lz"')) {
            lzField.value = `<div class="lz">
      <div class="lz-name">
        <a href="#">-</a>
      </div>
      <div class="lz-about">
        -
      </div>
      <div class="lz-caste">pure-blood</div>
    </div>`;
          }
        }
    
        function syncInputsFromLz() {
          const lzField = getLzField();
          if (!lzField || !lzField.value) return;
          
          const value = lzField.value;
          
          const nameMatch = value.match(/<a href="[^"]*">([^<]*)<\/a>/);
          if (nameMatch && nameMatch[1] && nameMatch[1] !== '-') {
            name.value = nameMatch[1];
          }
          
          const linkMatch = value.match(/<a href="([^"]*)">/);
          if (linkMatch && linkMatch[1] && linkMatch[1] !== '#') {
            link.value = linkMatch[1];
          }
          
          const descMatch = value.match(/<div class="lz-about">([\s\S]*?)<\/div>/);
          if (descMatch && descMatch[1] && descMatch[1].trim() !== '-') {
            desc.value = descMatch[1].trim();
          }
          
          const casteMatch = value.match(/<div class="lz-caste">([^<]*)<\/div>/);
          if (casteMatch && casteMatch[1] && casteMatch[1] !== '-') {
            // Устанавливаем значение в select, если оно есть в списке
            const options = caste.querySelectorAll('option');
            let found = false;
            options.forEach(opt => {
              if (opt.value === casteMatch[1]) {
                opt.selected = true;
                found = true;
              }
            });
            if (!found) {
              // Если значение не найдено, выбираем pure-blood
              options.forEach(opt => {
                if (opt.value === 'pure-blood') {
                  opt.selected = true;
                }
              });
            }
          }
        }
    
        name.addEventListener('input', function() { ensureLzStructure(); updateLzName(); });
        link.addEventListener('input', function() { ensureLzStructure(); updateLzLink(); });
        desc.addEventListener('input', function() { ensureLzStructure(); updateLzDesc(); });
        caste.addEventListener('change', function() { ensureLzStructure(); updateLzCaste(); });
        
        setTimeout(function() {
          ensureLzStructure();
          syncInputsFromLz();
        }, 100);
      }
    
      // =========================================================
      // 4. ПЛАШКА ГЕНЕРАТОР
      // =========================================================
      function addPlashkaGenerator() {
        const field = document.querySelector('[name="form[fld4]"]');
        if (!field) return;
    
        const box = field.closest('.fs-box');
        if (!box) return;
    
        let wrap = box.querySelector('.infofield.buttons');
        if (!wrap) {
          wrap = document.createElement('p');
          wrap.className = 'infofield.buttons';
          box.appendChild(wrap);
        }
    
        const gen = document.createElement('div');
        gen.style.display = 'flex';
        gen.style.flexDirection = 'column';
        gen.style.gap = '6px';
        gen.style.marginBottom = '10px';
    
        const img = document.createElement('input');
        img.placeholder = 'ссылка на картинку';
        img.className = 'gen-input gen-plash-img';
    
        const link = document.createElement('input');
        link.placeholder = 'ссылка на страницу';
        link.className = 'gen-input gen-plash-link';
    
        const text = document.createElement('input');
        text.placeholder = 'текст';
        text.className = 'gen-input gen-plash-text';
    
        const id = document.createElement('input');
        id.placeholder = 'имя страницы (для modal-link)';
        id.className = 'gen-input gen-plash-id';
    
        const status = document.createElement('div');
        status.style.fontSize = '11px';
        status.style.color = 'var(--textcolor)';
        status.style.opacity = '0.5';
        status.style.marginTop = '4px';
        status.textContent = 'обновляется само при заполнении';
    
        gen.append(img, link, text, id, status);
        wrap.prepend(gen);
    
        function getPlashkaField() {
          return document.getElementById('fld4');
        }
    
        // Полностью пересобираем плашку заново
        function rebuildPlashka() {
          const plashkaField = getPlashkaField();
          if (!plashkaField) return;
          
          let imgSrc = img.value || '';
          let linkHref = link.value || '#';
          let spanText = text.value;
          if (spanText === '') spanText = 'maleficas et earum haeresim';
          let pageId = id.value || 'ИМЯ_СТРАНИЦЫ';
          
          let result = `<div class="plashka">
      <img src="${imgSrc}">
      <a class="modal-link" id="${pageId}" data-reveal-id="character" href="${linkHref}">  
        <span>${spanText}</span>
      </a>
    </div>`;
          
          plashkaField.value = result;
        }
    
        function syncInputsFromPlashka() {
          const plashkaField = getPlashkaField();
          if (!plashkaField || !plashkaField.value) return;
          
          const value = plashkaField.value;
          
          const imgMatch = value.match(/<img\s+src="([^"]*)"/);
          if (imgMatch && imgMatch[1] !== undefined) {
            img.value = imgMatch[1];
          }
          
          const linkMatch = value.match(/<a\s+[^>]*href="([^"]*)"/);
          if (linkMatch && linkMatch[1] && linkMatch[1] !== '#') {
            link.value = linkMatch[1];
          }
          
          const textMatch = value.match(/<span>([^<]*)<\/span>/);
          if (textMatch && textMatch[1] !== undefined) {
            let existingText = textMatch[1];
            if (existingText !== 'maleficas et earum haeresim') {
              text.value = existingText;
            }
          }
          
          const idMatch = value.match(/<a\s+class="modal-link"\s+id="([^"]*)"/);
          if (idMatch && idMatch[1] !== undefined && idMatch[1] !== 'ИМЯ_СТРАНИЦЫ') {
            id.value = idMatch[1];
          }
        }
    
        img.addEventListener('input', function() { rebuildPlashka(); });
        link.addEventListener('input', function() { rebuildPlashka(); });
        text.addEventListener('input', function() { rebuildPlashka(); });
        id.addEventListener('input', function() { rebuildPlashka(); });
        
        setTimeout(function() {
          if (!getPlashkaField().value) {
            rebuildPlashka();
          }
          syncInputsFromPlashka();
        }, 100);
      }
    
      // =========================================================
      // 5. ШАБЛОНЫ
      // =========================================================
      addTemplates(1, [
        { name: 'дефолт', template: `<img alt="">` },
        { name: 'свой фон', template: `<img src="ССЫЛКА">` }
      ]);
    
      addTemplates(5, [
        { name: 'дефолт', template: `<img alt="">` },
        { name: 'своя иконка', template: `<img src="ССЫЛКА">` }
      ]);
    
      addTemplates(4, [
        {
          name: 'дефолт',
          template: `<div class="plashka">
      <img alt="">
      <a class="modal-link" id="ИМЯ_СТРАНИЦЫ" data-reveal-id="character" href="ССЫЛКА НА СТРАНИЦУ">  
        <span>maleficas et earum haeresim</span>
      </a>
    </div>`
        },
        {
          name: 'своя плашка',
          template: `<div class="plashka">
      <img src="ССЫЛКА НА КАРТИНКУ">
      <a class="modal-link" id="ИМЯ_СТРАНИЦЫ" data-reveal-id="character" href="ССЫЛКА НА СТРАНИЦУ">  
        <span>ТЕКСТ ПЛАШКИ</span>
      </a>
    </div>`
        }
      ]);
    
      // =========================================================
      // 6. ИНИЦИАЛИЗАЦИЯ
      // =========================================================
      addLzGenerator();
      addPlashkaGenerator();
    
      // =========================================================
      // 7. ОБРАБОТЧИКИ ДЛЯ ШАБЛОНОВ
      // =========================================================
      document.addEventListener('click', function (e) {
        if (e.target.classList.contains('fldTemplateCopy')) {
          const id = e.target.dataset.target;
          const field = document.getElementById(id);
          if (!field) return;
          field.value = e.target.dataset.template;
          
          // Обновляем поля ввода для плашки
          if (id === 'fld4') {
            setTimeout(function() {
              const imgInput = document.querySelector('.gen-plash-img');
              const linkInput = document.querySelector('.gen-plash-link');
              const textInput = document.querySelector('.gen-plash-text');
              const idInput = document.querySelector('.gen-plash-id');
              const value = field.value;
              
              const imgMatch = value.match(/<img\s+src="([^"]*)"/);
              const linkMatch = value.match(/<a\s+[^>]*href="([^"]*)"/);
              const textMatch = value.match(/<span>([^<]*)<\/span>/);
              const idMatch = value.match(/<a\s+class="modal-link"\s+id="([^"]*)"/);
              
              if (imgMatch && imgInput) imgInput.value = imgMatch[1];
              if (linkMatch && linkInput) linkInput.value = linkMatch[1];
              if (textMatch && textInput) textInput.value = textMatch[1];
              if (idMatch && idInput) idInput.value = idMatch[1];
            }, 50);
          }
          
          // Обновляем поля ввода для LZ
          if (id === 'fld2') {
            setTimeout(function() {
              const nameInput = document.querySelector('.gen-lz-name');
              const linkInput = document.querySelector('.gen-lz-link');
              const descInput = document.querySelector('.gen-lz-desc');
              const casteSelect = document.querySelector('.gen-lz-caste');
              const value = field.value;
              
              const nameMatch = value.match(/<a href="[^"]*">([^<]*)<\/a>/);
              const linkMatch = value.match(/<a href="([^"]*)">/);
              const descMatch = value.match(/<div class="lz-about">([\s\S]*?)<\/div>/);
              const casteMatch = value.match(/<div class="lz-caste">([^<]*)<\/div>/);
              
              if (nameMatch && nameInput) nameInput.value = nameMatch[1];
              if (linkMatch && linkInput) linkInput.value = linkMatch[1];
              if (descMatch && descInput) descInput.value = descMatch[1].trim();
              if (casteMatch && casteSelect) {
                // Устанавливаем значение в select
                const options = casteSelect.querySelectorAll('option');
                let found = false;
                options.forEach(opt => {
                  if (opt.value === casteMatch[1]) {
                    opt.selected = true;
                    found = true;
                  }
                });
                if (!found) {
                  options.forEach(opt => {
                    if (opt.value === 'pure-blood') {
                      opt.selected = true;
                    }
                  });
                }
              }
            }, 50);
          }
        }
      });
    
    })();
    </script>
    
    <style>
    .gen-input,
    .gen-textarea,
    .gen-select {
      background: var(--sec-bg);
      color: var(--textcolor);
      border: 1px solid var(--sec-bg);
      padding: 6px;
      font-family: inherit;
    }
    
    .gen-input::placeholder,
    .gen-textarea::placeholder {
      color: var(--textcolor);
      opacity: 0.6;
    }
    
    .gen-input,
    .gen-textarea,
    .gen-select {
      margin-bottom: 4px;
    }
    </style>
    
    
    <!-- Кнопка редактирования лз для админов © hagalnaud&nothingale -->
     <script type="text/javascript">
    var posts = $(".post");
    posts.each(function() {
      var senderId = $(this).data("user-id");
      var editLink = $("<a>").attr("href", "/profile.php?section=fields&id=" + senderId).attr("rel", "nofollow").text("Редактировать лз");
      var editLi = $("<li>").addClass("editpole").append(editLink);
      $(this).find(".pl-email.pm").after(editLi);
    });</script>
    <!-- Конец -->

    0

    21

    объявление

    Код:
    <!-- НИКОГДА НЕ ОТКЛЮЧАЕМ ПОКАЗ ОБЪЯВЛЕНИЯ-->
    
    <!-- Плашки -->
    <div class="announcement">
    
    <div class="news-block" style="height: fit-content"><div class="news-title" style="font-size: 24px;">ПРОФИЛАКТИКА СЕГОДНЯ В 15:00 ПО КИЕВУ/МОСКВЕ</a></div>
    </div>
    
          </div>
    
    
    
    <!-- Смена стиля v1.0 © max, the murderer! -->
    <ul id="theme_switcher"></ul>
    <script type="text/javascript">
    // Задаём темы
    var array = [
        { class: 'light',
          title: 'будуар сереночки' },
          
        { class: 'dark',
          title: 'гостиная хаффлпаффа' } // Последняя тема без запятой
    ];
    
    // Задаём радио
    var switchers = '';
    $.each(array, function(index, value) {
        switchers += '<li title="'+value.title+'"><span class="radio"><input type="radio" name="switcher" id="'+value.class+'" value="'+value.class+'"><label for="'+value.class+'">'+value.title+'</label></span></li>';
    });
    $('#theme_switcher').append(switchers);
    
    // Отслеживаем нажатие на радио
    $('#theme_switcher input').on('click', function () {
        // Получаем значение нажатого радио
        var selectedTheme = $(this).val();
        // Очищаем html от предыдущих тем и устанавливаем новую в моменте
        $('html').removeClass().addClass(selectedTheme);
        // Запоминаем
        localStorage.setItem('selectedTheme', selectedTheme);
    });
    // Проверяем выбирались ли ранее темы
    if (localStorage.getItem('selectedTheme') !== null) {
        // Получаем выбранную тему
        var currentTheme = localStorage.getItem('selectedTheme');
        // Устанавливаем выбранную тему
        $('html').addClass(currentTheme);
        // Включаем радио выбранной темы
        $('#theme_switcher input[value="' + currentTheme + '"').prop('checked', true);
    } 
    // Если не выбирались
    else {
        // Добавляем дефолтную тему
        $('html').addClass('light');
        // Включаем радио дефолтной темы
        $('#theme_switcher input[value="light"]').prop('checked', true);
    };
    
    
    </script>

    0

    22

    форма ответа

    Код:
    <!------Дополнительные наборы смайлов в отдельном окне------><script src="https://forumstatic.ru/files/001c/86/a4/44493.js"></script>
    <script>
    $(document).ready(function() {
      hvStickerPack.init("https://forumstatic.ru/files/0012/c3/0c/92888.txt");
    });
    </script>
    <style>
    .post-content img[alt="smile"] {
        max-width: 80px!important;
    }
    .hvStickerPackModal {
    background: var(--pun-bg);
        border: 1px solid var(--pale-bg);
        border-radius: 10px;
    }
    .hvStickerPackModalContent img {
    background: transparent;
    }
    </style>
    <!--конец-->
    
    <!-- Взаимная реклама © max, the murderer! 24.09.2024 -->
    <script>
    if ((GroupID <= 1 || GroupID == 2 || GroupID == 5 || GroupID == 8) && (FORUM.get('topic.subject') && FORUM.get('topic.subject').match("postman #"))) $(document).on('pun_main_ready pun_post', function() {
        $('.post').each(function() {        
            if ($(this).find('.pl-mutualPR').length) return;
            var link = $(this).find('h3 span > a.permalink').attr('href');
            link = '\n\n[url='+link+']Взаимная реклама[/url]';
            
            // Задаём шаблоны
            var template = [
                
                '[align=center][url=https://mmaleficarum.rusff.me/][img]https://forumstatic.ru/files/0014/d2/5e/62348.png[/img][/url][/align]', '[align=center][url=https://mmaleficarum.rusff.me/][img]https://forumstatic.ru/files/0014/d2/5e/74173.png[/img][/url][/align]', '[align=center][url=https://mmaleficarum.rusff.me/][img]https://forumstatic.ru/files/0014/d2/5e/80140.png[/img][/url][/align]' // последний элемент БЕЗ запятой
            ];
            
            template = template[Math.floor(Math.random() * template.length)];
            $(this).find('.post-links ul').append('<li class="pl-mutualPR"><a href="javascript://">Взаимная реклама</a></li>');
            $(this).find('.pl-mutualPR a').click(function() {
                var temp = $('<textarea>');
                $('body').append(temp);
                $(temp).val(template + link).select();
                document.execCommand('copy');
                $(temp).remove();
                $.jGrowl("Наш шаблон и ссылка на взаимную рекламу скопированы!");
            });
        });
    });
    </script>

    0

    Быстрый ответ

    Напишите ваше сообщение и нажмите «Отправить»



    Вы здесь » Squirrel test » — мироустройство » лето 2026


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